:root {
    --appearance-accent: #8b5cf6;
    --appearance-accent-rgb: 139, 92, 246;
    --appearance-accent-strong: #6d28d9;
    --appearance-surface: #0b1120;
    --appearance-surface-raised: #111a2e;
    --appearance-text: #f8fafc;
    --appearance-muted: #94a3b8;
    --appearance-line: rgba(148, 163, 184, .16);
}
body[data-admin-theme="graphite"] { --appearance-surface: #111318; --appearance-surface-raised: #1a1d24; }
body[data-admin-theme="light"] { --appearance-surface: #fff; --appearance-surface-raised: #f8fafc; --appearance-text: #0f172a; --appearance-muted: #526075; --appearance-line: rgba(15,23,42,.13); }
::selection { color: #fff; background: rgba(var(--appearance-accent-rgb), .72); }
:where(a,button,input,select,textarea,[tabindex]):focus-visible { outline: 2px solid var(--appearance-accent) !important; outline-offset: 2px; }

.appearance-launcher { position:fixed; right:18px; bottom:18px; z-index:8990; width:46px; height:46px; display:grid; place-items:center; border:1px solid rgba(var(--appearance-accent-rgb),.38); border-radius:14px; color:#fff; background:linear-gradient(145deg,rgba(var(--appearance-accent-rgb),.96),var(--appearance-accent-strong)); box-shadow:0 14px 34px rgba(var(--appearance-accent-rgb),.27),inset 0 1px rgba(255,255,255,.2); cursor:pointer; transition:transform .18s ease,box-shadow .18s ease; }
.appearance-launcher:hover { transform:translateY(-3px) rotate(-4deg); box-shadow:0 18px 42px rgba(var(--appearance-accent-rgb),.36); }
.appearance-launcher { touch-action:none; user-select:none; -webkit-user-select:none; }
.appearance-launcher.is-dragging { cursor:grabbing; transform:scale(.96); box-shadow:0 18px 44px rgba(var(--appearance-accent-rgb),.42); }
body:has(.sidebar) .appearance-launcher { bottom:84px; }
.appearance-shell { position:fixed; inset:0; z-index:12000; visibility:hidden; opacity:0; pointer-events:none; transition:opacity .2s ease,visibility .2s ease; }
.appearance-shell.is-open { visibility:visible; opacity:1; pointer-events:auto; }
.appearance-backdrop { position:absolute; inset:0; border:0; background:rgba(2,6,23,.68); backdrop-filter:blur(7px); cursor:default; }
.appearance-drawer { position:absolute; inset:0 0 0 auto; width:min(430px,100vw); height:100%; display:flex; flex-direction:column; color:var(--appearance-text); background:radial-gradient(circle at 85% 0,rgba(var(--appearance-accent-rgb),.14),transparent 30%),var(--appearance-surface); border-left:1px solid var(--appearance-line); box-shadow:-28px 0 80px rgba(0,0,0,.42); transform:translateX(102%); transition:transform .26s cubic-bezier(.2,.8,.2,1); }
.appearance-shell.is-open .appearance-drawer { transform:translateX(0); }
.appearance-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding:24px 22px 19px; border-bottom:1px solid var(--appearance-line); }
.appearance-eyebrow { color:var(--appearance-accent); font-size:.66rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.appearance-head h2 { margin:5px 0 0; color:var(--appearance-text); font-size:1.28rem; letter-spacing:-.025em; }
.appearance-close { width:38px; height:38px; display:grid; place-items:center; flex:0 0 auto; border:1px solid var(--appearance-line); border-radius:11px; color:var(--appearance-muted); background:rgba(148,163,184,.05); cursor:pointer; }
.appearance-close:hover { color:var(--appearance-text); border-color:rgba(var(--appearance-accent-rgb),.48); background:rgba(var(--appearance-accent-rgb),.1); }
.appearance-content { flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:0 22px; }
.appearance-section { padding:20px 0; border-bottom:1px solid var(--appearance-line); }
.appearance-section-title { margin-bottom:12px; }
.appearance-section-title strong { display:block; color:var(--appearance-text); font-size:.82rem; }
.appearance-section-title small { display:block; margin-top:3px; color:var(--appearance-muted); font-size:.68rem; }
.appearance-themes { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.appearance-theme { min-height:80px; display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between; padding:11px; border:1px solid var(--appearance-line); border-radius:13px; color:var(--appearance-muted); background:rgba(148,163,184,.035); cursor:pointer; }
.appearance-theme-preview { width:100%; height:26px; display:flex; gap:4px; padding:5px; border-radius:7px; background:#070b18; border:1px solid rgba(255,255,255,.08); }
.appearance-theme-preview::before { content:''; width:22%; border-radius:3px; background:#171f35; }
.appearance-theme-preview::after { content:''; flex:1; border-radius:3px; background:linear-gradient(90deg,var(--appearance-accent),#1e293b); opacity:.8; }
.appearance-theme[data-appearance-theme="graphite"] .appearance-theme-preview { background:#111318; }
.appearance-theme[data-appearance-theme="light"] .appearance-theme-preview { background:#f8fafc; border-color:#d8e0eb; }
.appearance-theme[data-appearance-theme="light"] .appearance-theme-preview::before { background:#e2e8f0; }
.appearance-theme span:last-child { font-size:.69rem; font-weight:800; }
.appearance-theme:hover,.appearance-theme.is-active { color:var(--appearance-text); border-color:rgba(var(--appearance-accent-rgb),.62); background:rgba(var(--appearance-accent-rgb),.1); box-shadow:inset 0 0 0 1px rgba(var(--appearance-accent-rgb),.08); }
.appearance-accents { display:flex; flex-wrap:wrap; gap:10px; }
.appearance-accent { position:relative; width:38px; height:38px; padding:0; border:4px solid var(--appearance-surface); border-radius:50%; background:var(--swatch); box-shadow:0 0 0 1px var(--appearance-line); cursor:pointer; transition:transform .15s ease,box-shadow .15s ease; }
.appearance-accent:hover { transform:scale(1.08); }
.appearance-accent.is-active { box-shadow:0 0 0 2px var(--appearance-surface),0 0 0 4px var(--swatch),0 8px 20px color-mix(in srgb,var(--swatch) 35%,transparent); }
.appearance-accent.is-active::after { content:'\2713'; position:absolute; inset:0; display:grid; place-items:center; color:#fff; font-size:.72rem; font-weight:900; text-shadow:0 1px 3px rgba(0,0,0,.5); }
.appearance-two-col { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.appearance-field { display:flex; flex-direction:column; gap:8px; padding:12px; border:1px solid var(--appearance-line); border-radius:12px; background:rgba(148,163,184,.035); }
.appearance-field span { display:flex; align-items:center; gap:7px; color:var(--appearance-text); font-size:.7rem; font-weight:800; }
.appearance-field i { color:var(--appearance-accent); }
.appearance-field select { width:100%; min-height:38px; padding:7px 9px; border:1px solid var(--appearance-line); border-radius:9px; color:var(--appearance-text); background:var(--appearance-surface-raised); font:inherit; font-size:.7rem; }
.appearance-toggle { position:relative; display:flex; align-items:center; justify-content:space-between; gap:15px; padding:16px 0; border-bottom:1px solid var(--appearance-line); cursor:pointer; }
.appearance-toggle:last-child { border-bottom:0; }
.appearance-toggle-copy strong,.appearance-toggle-copy small { display:block; }
.appearance-toggle-copy strong { color:var(--appearance-text); font-size:.76rem; }
.appearance-toggle-copy small { margin-top:4px; color:var(--appearance-muted); font-size:.65rem; }
.appearance-toggle input { position:absolute; opacity:0; }
.appearance-track { position:relative; width:44px; height:25px; flex:0 0 44px; border:1px solid var(--appearance-line); border-radius:99px; background:#263247; transition:.18s ease; }
.appearance-track::after { content:''; position:absolute; top:3px; left:3px; width:17px; height:17px; border-radius:50%; background:#cbd5e1; box-shadow:0 2px 5px rgba(0,0,0,.3); transition:transform .18s ease; }
.appearance-toggle input:checked + .appearance-track { border-color:var(--appearance-accent); background:var(--appearance-accent); }
.appearance-toggle input:checked + .appearance-track::after { transform:translateX(19px); background:#fff; }
.appearance-footer { display:flex; justify-content:space-between; gap:10px; padding:16px 22px; border-top:1px solid var(--appearance-line); background:color-mix(in srgb,var(--appearance-surface) 92%,transparent); backdrop-filter:blur(12px); }
.appearance-footer button { min-height:42px; display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:0 16px; border-radius:10px; font:inherit; font-size:.75rem; font-weight:800; cursor:pointer; }
.appearance-reset { border:1px solid var(--appearance-line); color:var(--appearance-text); background:rgba(148,163,184,.05); }
.appearance-done { border:1px solid transparent; color:#fff; background:linear-gradient(135deg,var(--appearance-accent),var(--appearance-accent-strong)); box-shadow:0 10px 24px rgba(var(--appearance-accent-rgb),.26); }
html.appearance-scroll-lock,html.appearance-scroll-lock body { overflow:hidden !important; overscroll-behavior:none; }
body.appearance-reduce-motion *,body.appearance-reduce-motion *::before,body.appearance-reduce-motion *::after { animation-duration:.001ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; transition-duration:.001ms !important; }
body[data-effects="minimal"] .blob,body[data-effects="minimal"] .bg-glow,body[data-effects="minimal"] .electric-network,body[data-effects="minimal"] .electric-ambient { display:none !important; }
body[data-effects="minimal"] * { backdrop-filter:none !important; -webkit-backdrop-filter:none !important; }
body[data-density="compact"] { --appearance-space-scale:.82; }

/* Shared dashboard theme adapter. Individual modules use different legacy
   variable names; appearance.js maps those names, while these rules cover
   the common dashboard shell and reusable card patterns. */
body:has(.sidebar) {
    background:
        radial-gradient(circle at 88% -8%, rgba(var(--appearance-accent-rgb), .18), transparent 34%),
        radial-gradient(circle at 5% 92%, rgba(var(--appearance-accent-rgb), .09), transparent 31%),
        var(--appearance-page-bg, #070b18) !important;
    color: var(--appearance-page-text, #f8fafc);
    transition: background-color .25s ease, color .2s ease;
}
body:has(.sidebar) .main-content {
    color: var(--appearance-page-text, #f8fafc);
    min-height: 100vh;
    background-color: var(--appearance-page-bg, #070b18) !important;
    background-image:
        radial-gradient(circle at 92% 2%, rgba(var(--appearance-accent-rgb), .2), transparent 30%),
        radial-gradient(circle at 12% 96%, rgba(var(--appearance-accent-rgb), .11), transparent 34%),
        linear-gradient(145deg, rgba(var(--appearance-accent-rgb), .045), transparent 48%) !important;
    background-attachment: fixed !important;
    transition: background-color .25s ease, color .2s ease;
}
body:has(.sidebar) :is(.dashboard-container,.dashboard-wrapper,.app-layout) {
    background-color: transparent !important;
}
body:has(.sidebar) :is(.panel,.glass-panel,.content-card,.settings-card,.dashboard-card,.stat-card) {
    border-color: color-mix(in srgb, var(--appearance-page-line) 72%, var(--appearance-accent) 28%);
    box-shadow: 0 16px 38px rgba(0,0,0,.16), 0 0 0 1px rgba(var(--appearance-accent-rgb),.025);
    transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}
body:has(.sidebar) :is(.panel,.glass-panel,.content-card,.settings-card,.dashboard-card,.stat-card):hover {
    border-color: rgba(var(--appearance-accent-rgb), .3);
}
body:has(.sidebar)[data-admin-theme="light"] :is(.panel,.glass-panel,.content-card,.settings-card,.dashboard-card,.stat-card) {
    border-color: var(--appearance-page-line) !important;
}
body:has(.sidebar)[data-admin-theme="light"] .main-content {
    background-image:
        radial-gradient(circle at 92% 2%, rgba(var(--appearance-accent-rgb), .14), transparent 31%),
        radial-gradient(circle at 12% 96%, rgba(var(--appearance-accent-rgb), .08), transparent 35%),
        linear-gradient(145deg, rgba(var(--appearance-accent-rgb), .035), transparent 50%) !important;
}
body:has(.sidebar)[data-admin-theme="light"] :is(input,select,textarea) {
    color: var(--appearance-page-text);
    border-color: var(--appearance-page-line);
}
body:has(.sidebar)[data-density="compact"] .main-content {
    --section-gap: .8rem;
}
body:has(.sidebar)[data-density="compact"] :is(.panel,.content-card,.settings-card,.dashboard-card) {
    --card-padding: .85rem;
}
body:has(.sidebar).admin-nav-not-sticky :is(.sticky-nav,.tabs-nav,.module-tabs,.admin-tab-nav) {
    position: relative !important;
    top: auto !important;
}
@media(max-width:620px){.appearance-launcher{right:12px;bottom:12px;width:43px;height:43px}.appearance-head{padding:20px 17px 16px}.appearance-content{padding:0 17px}.appearance-footer{padding:14px 17px}.appearance-themes{gap:6px}.appearance-theme{min-height:74px;padding:8px}}
@media print{.appearance-launcher,.appearance-shell{display:none!important}}

/* Mobile dashboard command bar */
@media (max-width: 992px) {
    body:has(.sidebar) .mobile-buttons-container {
        top: max(8px, env(safe-area-inset-top)) !important;
        left: max(8px, env(safe-area-inset-left)) !important;
        right: max(8px, env(safe-area-inset-right)) !important;
        width: auto !important;
        height: 56px !important;
        display: grid !important;
        grid-template-columns: 42px 42px minmax(0, 1fr) !important;
        align-items: center !important;
        gap: 7px !important;
        padding: 6px 50px 6px 6px !important;
        overflow: visible !important;
        border: 1px solid rgba(var(--appearance-accent-rgb), .28) !important;
        border-radius: 18px !important;
        background:
            linear-gradient(100deg, rgba(var(--appearance-accent-rgb), .17), transparent 36%),
            color-mix(in srgb, var(--appearance-page-surface, #0b1120) 91%, transparent) !important;
        box-shadow:
            0 15px 40px rgba(0, 0, 0, .32),
            inset 0 1px 0 rgba(255, 255, 255, .08),
            0 0 28px rgba(var(--appearance-accent-rgb), .08) !important;
        backdrop-filter: blur(20px) saturate(1.2) !important;
        -webkit-backdrop-filter: blur(20px) saturate(1.2) !important;
    }

    body:has(.sidebar) .mobile-buttons-container::after {
        content: '';
        position: absolute;
        left: 18px;
        right: 18px;
        bottom: -1px;
        height: 1px;
        pointer-events: none;
        background: linear-gradient(90deg, transparent, rgba(var(--appearance-accent-rgb), .72), transparent);
    }

    body:has(.sidebar) .mobile-buttons-container > .mobile-btn {
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        flex-basis: 42px !important;
        display: grid !important;
        place-items: center !important;
        padding: 0 !important;
        border: 1px solid rgba(var(--appearance-accent-rgb), .2) !important;
        border-radius: 13px !important;
        color: var(--appearance-page-text, #f8fafc) !important;
        background: rgba(var(--appearance-accent-rgb), .075) !important;
        box-shadow: inset 0 1px rgba(255, 255, 255, .06) !important;
    }

    body:has(.sidebar) .mobile-buttons-container > .mobile-btn::before {
        background: radial-gradient(circle at 35% 20%, rgba(var(--appearance-accent-rgb), .25), transparent 68%) !important;
    }

    body:has(.sidebar) .mobile-buttons-container > .mobile-btn:hover,
    body:has(.sidebar) .mobile-buttons-container > .mobile-btn:focus-visible,
    body:has(.sidebar) .mobile-buttons-container > .mobile-btn[aria-expanded="true"] {
        color: #fff !important;
        border-color: rgba(var(--appearance-accent-rgb), .62) !important;
        background: rgba(var(--appearance-accent-rgb), .22) !important;
        box-shadow: 0 8px 20px rgba(var(--appearance-accent-rgb), .18), inset 0 1px rgba(255,255,255,.12) !important;
    }

    body:has(.sidebar) .mobile-buttons-container > .dashboard-search-dock {
        position: static !important;
        inset: auto !important;
        width: 100% !important;
        height: 42px !important;
        min-width: 0 !important;
        margin: 0 !important;
        display: block !important;
        pointer-events: auto !important;
    }

    body:has(.sidebar) .dashboard-search-dock .dashboard-search-combo {
        width: 100% !important;
        height: 42px !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 38px !important;
        align-items: center !important;
        gap: 6px !important;
    }

    body:has(.sidebar) .dashboard-search-dock .sidebar-search-trigger {
        width: 100% !important;
        height: 42px !important;
        min-height: 42px !important;
        min-width: 0 !important;
        padding: 0 11px !important;
        gap: 8px !important;
        border: 1px solid rgba(var(--appearance-accent-rgb), .3) !important;
        border-radius: 13px !important;
        color: var(--appearance-page-muted, #94a3b8) !important;
        background: rgba(3, 8, 20, .4) !important;
        box-shadow: inset 0 1px 8px rgba(0,0,0,.12) !important;
    }

    body:has(.sidebar) .dashboard-search-dock .sidebar-search-trigger:focus-within {
        border-color: rgba(var(--appearance-accent-rgb), .72) !important;
        box-shadow: 0 0 0 3px rgba(var(--appearance-accent-rgb), .12), inset 0 1px 8px rgba(0,0,0,.1) !important;
    }

    body:has(.sidebar) .dashboard-search-dock .sidebar-search-trigger > i {
        color: var(--appearance-accent) !important;
        filter: drop-shadow(0 0 6px rgba(var(--appearance-accent-rgb), .38));
    }

    body:has(.sidebar) .dashboard-search-dock #dashboardGlobalSearchInput {
        min-width: 0 !important;
        color: var(--appearance-page-text, #f8fafc) !important;
        font-size: .78rem !important;
        font-weight: 600 !important;
    }

    body:has(.sidebar) .dashboard-search-dock #dashboardGlobalSearchInput::placeholder {
        color: var(--appearance-page-muted, #94a3b8) !important;
        opacity: .88;
    }

    body:has(.sidebar) .dashboard-ai-guide-trigger {
        width: 38px !important;
        min-width: 38px !important;
        height: 38px !important;
        padding: 0 !important;
        border: 1px solid rgba(var(--appearance-accent-rgb), .42) !important;
        border-radius: 12px !important;
        color: #fff !important;
        background: linear-gradient(145deg, rgba(var(--appearance-accent-rgb), .34), rgba(var(--appearance-accent-rgb), .12)) !important;
        box-shadow: 0 7px 18px rgba(var(--appearance-accent-rgb), .16), inset 0 1px rgba(255,255,255,.14) !important;
    }

    body:has(.sidebar) > .lang-switcher {
        top: calc(max(8px, env(safe-area-inset-top)) + 9px) !important;
        right: calc(max(8px, env(safe-area-inset-right)) + 7px) !important;
        width: 38px;
        height: 38px;
        display: grid;
        place-items: center;
        z-index: 10038 !important;
    }

    body:has(.sidebar) > .lang-switcher .lang-toggle {
        width: 38px !important;
        height: 38px !important;
        display: grid !important;
        place-items: center !important;
        padding: 0 !important;
        border: 1px solid rgba(var(--appearance-accent-rgb), .2) !important;
        border-radius: 12px !important;
        background: rgba(var(--appearance-accent-rgb), .075) !important;
        box-shadow: inset 0 1px rgba(255,255,255,.06) !important;
    }

    body:has(.sidebar) > .lang-switcher .lang-toggle img {
        width: 27px !important;
        height: 19px !important;
        border-radius: 4px !important;
    }

    body:has(.sidebar)[data-admin-theme="light"] .dashboard-search-dock .sidebar-search-trigger {
        background: rgba(255,255,255,.68) !important;
    }
}

@media (max-width: 480px) {
    body:has(.sidebar) .mobile-buttons-container {
        height: 52px !important;
        grid-template-columns: 38px 38px minmax(0, 1fr) !important;
        gap: 5px !important;
        padding: 5px 45px 5px 5px !important;
        border-radius: 16px !important;
    }

    body:has(.sidebar) .mobile-buttons-container > .mobile-btn {
        width: 38px !important;
        height: 38px !important;
        min-width: 38px !important;
        flex-basis: 38px !important;
        border-radius: 11px !important;
    }

    body:has(.sidebar) .mobile-buttons-container > .dashboard-search-dock,
    body:has(.sidebar) .dashboard-search-dock .dashboard-search-combo,
    body:has(.sidebar) .dashboard-search-dock .sidebar-search-trigger {
        height: 38px !important;
        min-height: 38px !important;
    }

    body:has(.sidebar) .dashboard-search-dock .dashboard-search-combo {
        grid-template-columns: minmax(0, 1fr) 34px !important;
        gap: 5px !important;
    }

    body:has(.sidebar) .dashboard-search-dock #dashboardGlobalSearchInput {
        font-size: .72rem !important;
    }

    body:has(.sidebar) .dashboard-ai-guide-trigger {
        width: 34px !important;
        min-width: 34px !important;
        height: 34px !important;
        border-radius: 10px !important;
    }

    body:has(.sidebar) > .lang-switcher {
        top: calc(max(8px, env(safe-area-inset-top)) + 7px) !important;
        right: calc(max(6px, env(safe-area-inset-right)) + 6px) !important;
        width: 36px;
        height: 36px;
    }

    body:has(.sidebar) > .lang-switcher .lang-toggle {
        width: 36px !important;
        height: 36px !important;
        border-radius: 10px !important;
    }
}
