/* =============================================================================
   JA Moments — Dashboard shell (gold / black / ivory)
   Loaded LAST. Beats leftover Filament / baked-theme chrome without touching
   Guest mobile or public Screen TV.
   ============================================================================= */

:root,
.fi-body,
.fi-panel-admin,
.dark {
    --ja-bg: var(--jm-black, #07080A);
    --ja-panel: var(--jm-surface, #111620);
    --ja-card: var(--jm-surface-raised, #151B27);
    --ja-border: var(--jm-border, rgba(201, 164, 93, 0.18));
    --ja-text: var(--jm-text, #F7F3EC);
    --ja-muted: var(--jm-text-muted, #AFA99F);
    --ja-primary: var(--jm-gold, #C9A45D);
    --ja-primary-hover: var(--jm-gold-light, #E3C781);

    --djp-bg: var(--jm-black, #07080A);
    --djp-surface: var(--jm-surface, #111620);
    --djp-surface-2: var(--jm-surface-raised, #151B27);
    --djp-surface-3: var(--jm-surface-hover, #1A2130);
    --djp-primary: var(--jm-gold, #C9A45D);
    --djp-primary-glow: rgba(201, 164, 93, 0.45);
    --djp-secondary: var(--jm-gold-light, #E3C781);
    --djp-text: var(--jm-text, #F7F3EC);
    --djp-muted: var(--jm-text-muted, #AFA99F);

    --primary-400: #e3c781;
    --primary-500: #c9a45d;
    --primary-600: #96733a;
}

/* ——— Layout ——— */
.fi-body,
.fi-main,
.fi-main-ctn,
.fi-simple-layout {
    background: var(--jm-black, #07080A) !important;
    color: var(--jm-text, #F7F3EC);
}

.fi-sidebar {
    background:
        linear-gradient(180deg, #141A28 0%, #111620 45%, #0B0E13 100%) !important;
    border-right: 1px solid var(--jm-border, rgba(201, 164, 93, 0.18)) !important;
    box-shadow: none !important;
}

.fi-sidebar-header {
    border-bottom: 1px solid var(--jm-border, rgba(201, 164, 93, 0.18)) !important;
}

.fi-sidebar-group-label {
    color: var(--jm-gold, #C9A45D) !important;
    letter-spacing: 0.14em !important;
    font-size: 0.65rem !important;
    font-weight: 650 !important;
    text-transform: uppercase !important;
}

.fi-sidebar-item-button,
.fi-sidebar-item-btn {
    color: var(--jm-ivory, #F6F0E6) !important;
    border-radius: 12px !important;
    border: 1px solid transparent !important;
}

.fi-sidebar-item-icon,
.fi-sidebar-item-btn .fi-icon,
.fi-sidebar-item-button .fi-icon {
    color: var(--jm-gold, #C9A45D) !important;
}

.fi-sidebar-item-button:hover,
.fi-sidebar-item-btn:hover,
.fi-sidebar-item-button:focus-visible,
.fi-sidebar-item-btn:focus-visible {
    background: var(--jm-surface-hover, #1A2130) !important;
    border-color: var(--jm-border, rgba(201, 164, 93, 0.18)) !important;
}

.fi-sidebar-item-active > .fi-sidebar-item-button,
.fi-sidebar-item.fi-active > .fi-sidebar-item-btn,
.fi-sidebar-item-button[aria-current="page"],
.fi-sidebar-item.fi-active > .fi-sidebar-item-button {
    background: rgba(201, 164, 93, 0.14) !important;
    border-color: rgba(201, 164, 93, 0.35) !important;
    color: var(--jm-gold-light, #E3C781) !important;
    box-shadow: inset 3px 0 0 var(--jm-gold, #C9A45D) !important;
}

.fi-sidebar-item-active .fi-sidebar-item-icon,
.fi-sidebar-item.fi-active .fi-sidebar-item-icon,
.fi-sidebar-item-active .fi-icon,
.fi-sidebar-item.fi-active .fi-icon {
    color: var(--jm-gold-light, #E3C781) !important;
}

.fi-sidebar::-webkit-scrollbar,
.fi-sidebar-nav::-webkit-scrollbar {
    width: 6px;
}
.fi-sidebar::-webkit-scrollbar-thumb,
.fi-sidebar-nav::-webkit-scrollbar-thumb {
    background: rgba(201, 164, 93, 0.28);
    border-radius: 99px;
}

.fi-topbar {
    background: rgba(7, 8, 10, 0.94) !important;
    border-bottom: 1px solid var(--jm-border, rgba(201, 164, 93, 0.18)) !important;
    backdrop-filter: blur(12px);
}

/* ——— Primary CTA = gold ——— */
.fi-btn-color-primary,
.fi-btn.fi-color-primary {
    background: var(--jm-gold, #C9A45D) !important;
    border-color: var(--jm-gold-dark, #96733A) !important;
    color: var(--jm-black, #07080A) !important;
    font-weight: 700 !important;
}

.fi-btn-color-primary:hover,
.fi-btn.fi-color-primary:hover {
    background: var(--jm-gold-light, #E3C781) !important;
    box-shadow: var(--jm-shadow-gold, 0 0 24px rgba(201, 164, 93, 0.14)) !important;
    color: var(--jm-black, #07080A) !important;
    transform: none;
}

.fi-btn-color-gray,
.fi-btn.fi-color-gray {
    background: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid var(--jm-border, rgba(201, 164, 93, 0.18)) !important;
    color: var(--jm-ivory, #F6F0E6) !important;
}

/* ——— Sections / tables ——— */
.fi-section:not(.fi-section-not-contained),
.fi-fo-section,
.fi-in-section,
.fi-ta-ctn,
.fi-wi-widget:not(.jm-dash-widget) {
    background: var(--jm-surface-raised, #151B27) !important;
    border: 1px solid var(--jm-border, rgba(201, 164, 93, 0.18)) !important;
    border-radius: var(--jm-radius-lg, 18px) !important;
    box-shadow: var(--jm-shadow-card, 0 16px 45px rgba(0, 0, 0, 0.22)) !important;
}

.fi-ta-header-cell {
    background: var(--jm-surface, #111620) !important;
    color: var(--jm-text-muted, #AFA99F) !important;
    border-bottom-color: var(--jm-border, rgba(201, 164, 93, 0.18)) !important;
}

.fi-ta-row:hover {
    background: rgba(201, 164, 93, 0.06) !important;
}

.fi-input-wrp,
.fi-select-input,
.fi-ta-search-field .fi-input-wrp {
    background: rgba(7, 8, 10, 0.55) !important;
    border-color: var(--jm-border, rgba(201, 164, 93, 0.18)) !important;
    border-radius: var(--jm-radius-sm, 10px) !important;
}

.fi-input-wrp:focus-within {
    border-color: rgba(201, 164, 93, 0.55) !important;
    box-shadow: 0 0 0 3px rgba(201, 164, 93, 0.18) !important;
}

.fi-modal-window {
    background: var(--jm-surface, #111620) !important;
    border: 1px solid var(--jm-border, rgba(201, 164, 93, 0.18)) !important;
    border-radius: var(--jm-radius-lg, 18px) !important;
}

/* ——— Mode DJ premium remaps ——— */
.dj-premium-kpi--purple,
.dj-premium-kpi--gold {
    border-color: rgba(201, 164, 93, 0.45) !important;
}

.dj-premium-header__btn--primary,
.dj-premium-filter-chip.is-active {
    color: var(--jm-black, #07080A) !important;
    background: rgba(201, 164, 93, 0.92) !important;
    border-color: rgba(201, 164, 93, 0.7) !important;
    box-shadow: none !important;
}

.dj-premium-btn--accept {
    color: var(--jm-black, #07080A) !important;
    background: linear-gradient(180deg, #E3C781, #C9A45D) !important;
    border-color: #96733A !important;
    box-shadow: 0 4px 16px rgba(201, 164, 93, 0.28) !important;
}

.dj-premium-focus-fab {
    color: var(--jm-black, #07080A) !important;
    background: linear-gradient(135deg, #E3C781, #C9A45D) !important;
    border: 1px solid #96733A !important;
    box-shadow: 0 10px 28px rgba(201, 164, 93, 0.28) !important;
}

.dj-premium-focus-fab:hover {
    box-shadow: 0 12px 36px rgba(201, 164, 93, 0.4) !important;
}

.dj-premium-now-panel,
.dj-premium-panel--now {
    border-color: rgba(201, 164, 93, 0.28) !important;
    background: var(--jm-surface-raised, #151B27) !important;
}

.dj-premium-badge--accepted {
    color: #b7e0c8 !important;
    background: rgba(36, 180, 126, 0.16) !important;
    border: 1px solid rgba(36, 180, 126, 0.4) !important;
}

.dj-premium-empty {
    border-color: rgba(201, 164, 93, 0.28) !important;
}

/* Screen TV admin shell (dashboard page only — not public projector) */
.screen-tv-page .stv-btn--primary,
.stv .stv-btn--primary {
    background: linear-gradient(135deg, #C9A45D, #E3C781) !important;
    color: #07080A !important;
    border: none !important;
}
