:root {
    --brand-purple: #6A1B9A;
    --brand-purple-dark: #4527A0;
    --brand-accent: #FFD600;
}

#map {
    height: 450px;
    border-radius: 1.5rem;
    z-index: 1;
    border: 4px solid #f3f4f6;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}

[v-cloak] { display: none; }

.bg-brand {
    background: linear-gradient(135deg, var(--brand-purple), var(--brand-purple-dark));
}

.text-brand { color: var(--brand-purple); }
.border-brand { border-color: var(--brand-purple); }

.tab-active {
    border-bottom: 4px solid var(--brand-accent);
    color: var(--brand-accent) !important;
    font-weight: 900;
}

.merchant-locked {
    filter: grayscale(1) opacity(0.5);
    pointer-events: none;
}

.pulse-online {
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(76, 175, 80, 0.7); }
    70% { transform: scale(1); box-shadow: 0 0 0 10px rgba(76, 175, 80, 0); }
    100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(76, 175, 80, 0); }
}

/* Custom scrollbar */
::-webkit-scrollbar {
    width: 8px;
}
::-webkit-scrollbar-track {
    background: #f1f1f1;
}
::-webkit-scrollbar-thumb {
    background: var(--brand-purple);
    border-radius: 10px;
}
::-webkit-scrollbar-thumb:hover {
    background: var(--brand-purple-dark);
}

.broadcast-card {
    background: white;
    border-radius: 2rem;
    padding: 2rem;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
    border: 1px solid #f3f4f6;
}
