/* Phase 1 theme entry point.
   Keep the existing asset-based theme as source of truth while pages move to /theme/. */
@import url("../assets/global-theme.css");

:root {
    /* Shared semantic aliases for the upcoming theme migration. */
    --theme-page-max-width: 1280px;
    --theme-content-gutter: clamp(16px, 2vw, 28px);
    --theme-overlay: rgba(15, 23, 42, 0.58);
    --theme-modal-shadow: 0 24px 80px rgba(0, 0, 0, 0.24);
    --theme-focus-ring: 0 0 0 3px var(--brand-primary-ring);
    --theme-chip-bg: rgba(255, 255, 255, 0.08);
    --theme-chip-text: var(--sidebar-text, #94A3B8);
    --theme-backdrop-blur: blur(4px);

    /* Admin dashboard shell */
    --theme-admin-body-base: var(--bg-body, #F1F5F9);
    --theme-admin-body-accent-primary: rgba(var(--brand-primary-rgb, 17, 34, 51), 0.16);
    --theme-admin-body-accent-secondary: rgba(var(--brand-secondary-rgb, 56, 189, 248), 0.12);
    --theme-admin-body-accent-tertiary: var(--status-info-bg, rgba(17, 34, 51, 0.1));
    --theme-admin-body-overlay-top: rgba(255, 255, 255, 0.06);
    --theme-admin-body-overlay-spot: rgba(255, 255, 255, 0.08);
    --theme-admin-sidebar-surface: linear-gradient(180deg, rgba(8, 15, 30, 0.98), rgba(6, 11, 22, 0.99));
    --theme-admin-sidebar-divider: var(--border-primary, rgba(148, 163, 184, 0.12));
    --theme-admin-sidebar-glow-primary: rgba(var(--brand-primary-rgb, 17, 34, 51), 0.16);
    --theme-admin-sidebar-glow-secondary: rgba(var(--brand-secondary-rgb, 56, 189, 248), 0.08);
    --theme-admin-sidebar-shadow: 10px 0 36px rgba(15, 23, 42, 0.08), inset -1px 0 0 rgba(255, 255, 255, 0.04), inset 0 1px 0 rgba(255, 255, 255, 0.03);
    --theme-admin-sidebar-title: var(--sidebar-header-text, #F1F5F9);
    --theme-admin-nav-item-highlight: inset 0 1px 0 rgba(0, 0, 0, 0.02);
    --theme-admin-nav-active-shadow: 0 10px 24px rgba(var(--brand-primary-rgb, 17, 34, 51), 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.05);
    --theme-admin-nav-group-label: var(--sidebar-group-label, #B0BEC9);
    --theme-admin-nav-group-label-hover: var(--sidebar-text-hover, #F1F5F9);
    --theme-admin-nav-text: var(--sidebar-text, #CBD5E1);
    --theme-admin-nav-hover-text: var(--sidebar-text-hover, #F8FAFC);
    --theme-admin-nav-hover-bg: var(--sidebar-item-hover, rgba(255, 255, 255, 0.06));
    --theme-admin-nav-hover-border: var(--border-secondary, rgba(148, 163, 184, 0.16));
    --theme-admin-nav-active-bg: linear-gradient(135deg, var(--sidebar-item-active, rgba(17, 34, 51, 0.2)), rgba(var(--brand-secondary-rgb, 56, 189, 248), 0.12));
    --theme-admin-nav-active-text: var(--sidebar-text-hover, #F8FAFC);
    --theme-admin-page-header-surface: linear-gradient(180deg, rgba(15, 23, 42, 0.9), rgba(15, 23, 42, 0.96));
    --theme-admin-page-header-border: var(--brand-primary-ring, rgba(96, 165, 250, 0.16));
    --theme-admin-page-header-shadow: 0 24px 55px rgba(15, 23, 42, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.04);
    /* Header surface is always dark, so lock title/copy to light colours in both themes */
    --theme-admin-page-header-title: #F8FAFC;
    --theme-admin-page-header-copy: #93C5FD;
    --theme-admin-page-header-glow-primary: rgba(var(--brand-primary-rgb, 17, 34, 51), 0.2);
    --theme-admin-page-header-glow-secondary: rgba(var(--brand-secondary-rgb, 56, 189, 248), 0.16);
    --theme-admin-surface-elevated: var(--bg-card, #FFFFFF);
    --theme-admin-border-subtle: var(--border-secondary, #CBD5E1);
    --theme-admin-text-muted: var(--text-secondary, #475569);
    --theme-admin-row-hover: var(--bg-hover, #F8FAFC);
    --theme-admin-card-surface: linear-gradient(180deg, var(--bg-card, #FFFFFF), var(--bg-card-nested, #F8FAFC));
    --theme-admin-card-border: var(--border-secondary, #CBD5E1);
    --theme-admin-card-shadow: 0 24px 55px rgba(15, 23, 42, 0.08), inset 0 1px 0 rgba(255,255,255,0.52);
    --theme-admin-card-glow-primary: rgba(var(--brand-primary-rgb, 17, 34, 51), 0.12);
    --theme-admin-card-glow-secondary: rgba(var(--brand-secondary-rgb, 56, 189, 248), 0.1);
    --theme-admin-banner-surface: var(--brand-gradient, linear-gradient(135deg, #112233, #38BDF8));
    --theme-admin-banner-border: var(--brand-primary-ring, rgba(191, 219, 254, 0.2));
    --theme-admin-banner-shadow: 0 28px 64px rgba(var(--brand-primary-rgb, 17, 34, 51), 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.08);
    --theme-admin-banner-text: var(--text-inverse, #FFFFFF);
    --theme-admin-banner-muted: rgba(255, 255, 255, 0.78);
    --theme-admin-banner-muted-strong: rgba(255, 255, 255, 0.82);
    --theme-admin-banner-divider: rgba(255, 255, 255, 0.18);
    --theme-admin-banner-glow-primary: rgba(255, 255, 255, 0.14);
    --theme-admin-banner-glow-secondary: rgba(var(--brand-primary-rgb, 17, 34, 51), 0.16);
    --theme-admin-summary-overlay-primary: rgba(255, 255, 255, 0.12);
    --theme-admin-summary-overlay-secondary: rgba(var(--brand-primary-rgb, 17, 34, 51), 0.14);
    --theme-admin-stat-accent-purple: var(--brand-secondary, #38BDF8);
    --theme-admin-stat-accent-success: var(--status-success, #059669);
    --theme-admin-stat-accent-indigo: var(--brand-accent-text, var(--brand-secondary, #38BDF8));
    --theme-admin-stat-accent-danger: var(--status-danger, #DC2626);
    --theme-admin-stat-accent-warning: var(--status-warning, #D97706);
    --theme-admin-stat-accent-cyan: #0891B2;
    --theme-admin-stat-accent-pink: #DB2777;
    --theme-admin-stat-icon-surface: rgba(255, 255, 255, 0.58);
    --theme-admin-stat-icon-border: var(--border-primary, rgba(148, 163, 184, 0.14));
    --theme-admin-stat-icon-highlight: inset 0 1px 0 rgba(255, 255, 255, 0.4);
    --theme-admin-stat-progress-track: var(--border-primary, #E5E7EB);
    --theme-admin-stat-card-surface: linear-gradient(180deg, var(--bg-card, #FFFFFF), var(--bg-card-nested, #F8FAFC));
    --theme-admin-stat-card-border: var(--border-secondary, #CBD5E1);
    --theme-admin-stat-card-shadow: 0 20px 44px rgba(15, 23, 42, 0.08), inset 0 1px 0 rgba(255,255,255,0.5);
    --theme-admin-stat-card-hover-shadow: 0 28px 58px rgba(15, 23, 42, 0.12), inset 0 1px 0 rgba(255,255,255,0.52);
    --theme-admin-browser-theme-color: #F1F5F9;
    --theme-admin-attention-title: var(--text-primary, #111827);
    --theme-admin-attention-subtitle: var(--text-secondary, #475569);
    --theme-admin-attention-shell-surface: linear-gradient(180deg, var(--bg-card, #FFFFFF), var(--bg-card-nested, #F8FAFC));
    --theme-admin-attention-shell-border: var(--border-secondary, #CBD5E1);
    --theme-admin-attention-shell-shadow: 0 28px 52px rgba(15, 23, 42, 0.08), inset 0 1px 0 rgba(255,255,255,0.03);
    --theme-admin-attention-card-surface: linear-gradient(180deg, var(--bg-card, #FFFFFF), var(--bg-card-nested, #F8FAFC));
    --theme-admin-attention-card-border: var(--border-secondary, #CBD5E1);
    --theme-admin-attention-card-shadow: 0 18px 36px rgba(15, 23, 42, 0.08);
    --theme-admin-attention-card-critical-surface: linear-gradient(180deg, var(--status-danger-bg, rgba(220, 38, 38, 0.1)), var(--bg-card, #FFFFFF));
    --theme-admin-attention-card-warning-surface: linear-gradient(180deg, var(--status-warning-bg, rgba(217, 119, 6, 0.1)), var(--bg-card, #FFFFFF));
    --theme-admin-attention-card-success-surface: linear-gradient(180deg, var(--status-success-bg, rgba(5, 150, 105, 0.1)), var(--bg-card, #FFFFFF));
    --theme-admin-attention-card-info-surface: linear-gradient(180deg, var(--status-info-bg, rgba(17, 34, 51, 0.1)), var(--bg-card, #FFFFFF));
    --theme-admin-attention-value-shadow: 0 1px 0 rgba(255,255,255,0.55);
    --theme-admin-attention-action-secondary-surface: linear-gradient(180deg, var(--bg-card, rgba(255,255,255,0.96)), var(--bg-card-nested, rgba(241,245,249,0.92)));
    --theme-admin-attention-action-secondary-text: var(--text-primary, #1E293B);
    --theme-admin-attention-action-secondary-border: var(--border-primary, rgba(148, 163, 184, 0.24));
    --theme-admin-attention-action-secondary-shadow: 0 12px 24px rgba(15, 23, 42, 0.08), inset 0 1px 0 rgba(255,255,255,0.6);
    --theme-admin-attention-action-secondary-hover-surface: linear-gradient(135deg, var(--bg-card, rgba(239,246,255,0.96)), var(--brand-primary-light, rgba(224,242,254,0.9)));
    --theme-admin-attention-action-secondary-hover-text: var(--brand-primary, #1D4ED8);
    --theme-admin-attention-action-secondary-hover-border: var(--brand-primary-ring, rgba(96, 165, 250, 0.3));
    --theme-admin-attention-action-primary-shadow: 0 14px 28px rgba(17, 34, 51, 0.22), inset 0 1px 0 rgba(255,255,255,0.18);
    --theme-admin-status-chip-success-surface: var(--status-success-bg, rgba(5, 150, 105, 0.1));
    --theme-admin-status-chip-success-text: var(--status-success-strong, #047857);
    --theme-admin-status-chip-success-border: var(--status-success, #059669);
    --theme-admin-status-chip-warning-surface: var(--status-warning-bg, rgba(217, 119, 6, 0.1));
    --theme-admin-status-chip-warning-text: var(--status-warning-strong, #B45309);
    --theme-admin-status-chip-warning-border: var(--status-warning, #D97706);
    --theme-admin-status-chip-danger-surface: var(--status-danger-bg, rgba(220, 38, 38, 0.1));
    --theme-admin-status-chip-danger-text: var(--status-danger, #DC2626);
    --theme-admin-status-chip-danger-border: var(--status-danger, #DC2626);
    --theme-admin-status-chip-info-surface: var(--status-info-bg, rgba(17, 34, 51, 0.1));
    --theme-admin-status-chip-info-text: var(--status-info-strong, #112233);
    --theme-admin-status-chip-info-border: var(--status-info, #112233);
    --theme-admin-quick-action-surface: linear-gradient(180deg, var(--bg-card, rgba(255,255,255,0.96)), var(--bg-card-nested, rgba(241,245,249,0.92)));
    --theme-admin-quick-action-text: var(--text-primary, #1E293B);
    --theme-admin-quick-action-border: var(--border-primary, rgba(148, 163, 184, 0.24));
    --theme-admin-quick-action-shadow: 0 14px 30px rgba(15, 23, 42, 0.10), inset 0 1px 0 rgba(255,255,255,0.58);
    --theme-admin-quick-action-hover-surface: linear-gradient(135deg, var(--bg-card, rgba(239,246,255,0.98)), var(--brand-primary-light, rgba(224,242,254,0.92)));
    --theme-admin-quick-action-hover-text: var(--brand-primary, #2563EB);
    --theme-admin-quick-action-hover-border: var(--brand-primary-ring, rgba(96, 165, 250, 0.28));
    --theme-admin-quick-action-hover-shadow: 0 18px 36px rgba(var(--brand-primary-rgb, 17, 34, 51), 0.14), inset 0 1px 0 rgba(255,255,255,0.62);
    --theme-admin-quick-action-primary-surface: linear-gradient(135deg, var(--brand-primary-light, rgba(37,99,235,0.22)), rgba(var(--brand-secondary-rgb, 56, 189, 248), 0.14));
    --theme-admin-quick-action-primary-text: var(--brand-primary, #1D4ED8);
    --theme-admin-quick-action-primary-border: var(--brand-primary-ring, rgba(59,130,246,0.34));
    --theme-admin-quick-action-primary-shadow: 0 18px 36px rgba(var(--brand-primary-rgb, 17, 34, 51), 0.16), inset 0 1px 0 rgba(255,255,255,0.56);
    --theme-admin-audit-shell-surface: linear-gradient(135deg, rgba(248,250,252,0.96), rgba(255,255,255,0.98));
    --theme-admin-audit-shell-border: var(--border-primary, #E5E7EB);
    --theme-admin-audit-tip-surface: var(--bg-hover, #F1F5F9);
    --theme-admin-audit-tip-text: var(--text-secondary, #475569);
    --theme-admin-audit-item-surface: var(--bg-card, #FFFFFF);
    --theme-admin-audit-item-border: var(--border-primary, #E5E7EB);
    --theme-admin-audit-accent-ring: rgba(148,163,184,0.18);
    --theme-admin-activity-badge-scan-surface: rgba(var(--brand-secondary-rgb, 56, 189, 248), 0.1);
    --theme-admin-activity-badge-scan-text: var(--brand-secondary, #38BDF8);
    --theme-admin-activity-badge-transfer-surface: var(--status-danger-bg, rgba(220, 38, 38, 0.1));
    --theme-admin-activity-badge-transfer-text: var(--status-danger, #DC2626);
    --theme-admin-activity-badge-batch-surface: var(--status-warning-bg, rgba(217, 119, 6, 0.1));
    --theme-admin-activity-badge-batch-text: var(--status-warning, #D97706);
    --theme-admin-leaderboard-rank-first-surface: var(--status-warning-bg, rgba(217, 119, 6, 0.1));
    --theme-admin-leaderboard-rank-first-text: var(--status-warning, #D97706);
    --theme-admin-leaderboard-rank-second-surface: var(--bg-hover, #E5E7EB);
    --theme-admin-leaderboard-rank-second-text: var(--text-tertiary, #6B7280);
    --theme-admin-leaderboard-rank-third-surface: var(--status-warning-bg, rgba(217, 119, 6, 0.1));
    --theme-admin-leaderboard-rank-third-text: var(--status-warning-strong, #B45309);
    --theme-admin-leaderboard-rank-other-surface: var(--bg-secondary, #F3F4F6);
    --theme-admin-leaderboard-rank-other-text: var(--text-muted, #9CA3AF);
    --theme-admin-leaderboard-filter-border: var(--pillow-border, 1px solid rgba(0,0,0,0.08));
    --theme-admin-leaderboard-filter-surface: var(--bg-card, #FFF);
    --theme-admin-leaderboard-filter-text: var(--text-secondary, #6B7280);
    --theme-admin-leaderboard-filter-shadow: var(--pillow-shadow-sm, 3px 3px 7px rgba(0,0,0,0.08), -2px -2px 5px rgba(0,0,0,0.02)), var(--pillow-inset, inset 0 2px 1px rgba(255,255,255,0.12), inset 0 -2px 1px rgba(0,0,0,0.06));
    --theme-admin-leaderboard-filter-hover-border: var(--brand-primary, #112233);
    --theme-admin-leaderboard-filter-hover-text: var(--brand-primary, #112233);
    --theme-admin-leaderboard-filter-hover-shadow: var(--pillow-hover, 5px 5px 14px rgba(0,0,0,0.13), -3px -3px 8px rgba(0,0,0,0.04));
    --theme-admin-leaderboard-filter-active-surface: var(--brand-primary, #112233);
    --theme-admin-leaderboard-filter-active-text: #FFF;
    --theme-admin-leaderboard-filter-active-border: var(--brand-primary, #112233);
    --theme-admin-leaderboard-filter-active-shadow: 0 2px 8px rgba(79,70,229,0.2), inset 0 1px 0 rgba(255,255,255,0.08);
    --theme-admin-activity-row-divider: var(--bg-hover, #F3F4F6);
    --theme-admin-activity-row-hover-surface: var(--bg-card-nested, #FAFAFA);
    --theme-admin-insight-list-divider: var(--bg-hover, #F3F4F6);
    --theme-admin-pill-surface: var(--bg-hover, #F3F4F6);
    --theme-admin-pill-text: var(--text-secondary, #374151);
    --theme-admin-insight-surface: var(--bg-card, linear-gradient(145deg, #FFFFFF 0%, #F9FAFB 100%));
    --theme-admin-insight-border: var(--pillow-border, 1px solid rgba(0,0,0,0.08));
    --theme-admin-insight-shadow: var(--pillow-shadow, 4px 4px 10px rgba(0,0,0,0.10), -2px -2px 6px rgba(0,0,0,0.03)), var(--pillow-inset, inset 0 2px 1px rgba(255,255,255,0.12), inset 0 -2px 1px rgba(0,0,0,0.06));
    --theme-admin-settings-launcher-surface: var(--bg-card-nested, #F9FAFB);
    --theme-admin-settings-launcher-border: var(--pillow-border, 1px solid rgba(0,0,0,0.08));
    --theme-admin-settings-launcher-shadow: var(--pillow-shadow, 4px 4px 10px rgba(0,0,0,0.10), -2px -2px 6px rgba(0,0,0,0.03)), var(--pillow-inset, inset 0 2px 1px rgba(255,255,255,0.12), inset 0 -2px 1px rgba(0,0,0,0.06));
    --theme-admin-settings-launcher-hover-surface: var(--bg-hover, #F3F4F6);
    --theme-admin-settings-launcher-hover-border: var(--brand-primary, #112233);
    --theme-admin-settings-launcher-hover-shadow: var(--pillow-hover, 5px 5px 14px rgba(0,0,0,0.13), -3px -3px 8px rgba(0,0,0,0.04)), var(--pillow-inset);
    --theme-admin-settings-profile-surface: linear-gradient(135deg, var(--brand-primary, #112233) 0%, var(--brand-secondary, #38BDF8) 100%);
    --theme-admin-settings-profile-icon-surface: rgba(255,255,255,0.18);
    --theme-admin-settings-profile-icon-shadow: 0 2px 8px rgba(0,0,0,0.15);
    --theme-admin-settings-profile-title: #FFFFFF;
    --theme-admin-settings-profile-copy: rgba(255,255,255,0.7);
    --theme-admin-settings-profile-button-surface: rgba(255,255,255,0.15);
    --theme-admin-settings-profile-button-text: #FFFFFF;
    --theme-admin-settings-profile-button-border: rgba(255,255,255,0.2);
    --theme-admin-settings-profile-button-danger-surface: rgba(220,38,38,0.2);
    --theme-admin-settings-profile-button-danger-text: #FCA5A5;
    --theme-admin-settings-profile-button-danger-border: rgba(220,38,38,0.3);
    --theme-admin-settings-profile-badge-surface: rgba(255,255,255,0.18);
    --theme-admin-settings-profile-badge-text: #FFFFFF;
    --theme-admin-settings-profile-badge-muted-surface: rgba(255,255,255,0.1);
    --theme-admin-settings-profile-badge-muted-text: rgba(255,255,255,0.7);
    --theme-admin-install-banner-surface: linear-gradient(135deg, rgba(var(--brand-primary-rgb, 17, 34, 51), 0.96), rgba(var(--brand-secondary-rgb, 56, 189, 248), 0.9));
    --theme-admin-install-banner-shadow: 0 8px 28px rgba(0,0,0,.3);
    --theme-admin-button-border: var(--pillow-border, 1px solid rgba(0,0,0,0.08));
    --theme-admin-button-shadow: var(--pillow-shadow-sm, 3px 3px 7px rgba(0,0,0,0.08), -2px -2px 5px rgba(0,0,0,0.02)), var(--pillow-inset, inset 0 2px 1px rgba(255,255,255,0.12), inset 0 -2px 1px rgba(0,0,0,0.06));
    --theme-admin-button-primary-surface: var(--brand-primary, #112233);
    --theme-admin-button-primary-text: #FFFFFF;
    --theme-admin-button-primary-shadow: 3px 3px 8px rgba(79,70,229,0.25), -2px -2px 5px rgba(0,0,0,0.03), inset 0 2px 1px rgba(255,255,255,0.12), inset 0 -2px 1px rgba(0,0,0,0.15);
    --theme-admin-button-primary-hover-surface: var(--brand-primary-hover, #4338CA);
    --theme-admin-button-primary-hover-shadow: 4px 4px 12px rgba(79,70,229,0.3), -3px -3px 7px rgba(0,0,0,0.04), inset 0 2px 1px rgba(255,255,255,0.15);
    --theme-admin-button-secondary-surface: var(--bg-hover, #F3F4F6);
    --theme-admin-button-secondary-text: var(--text-secondary, #374151);
    --theme-admin-button-secondary-border: var(--pillow-border, 1px solid rgba(0,0,0,0.08));
    --theme-admin-button-secondary-hover-surface: var(--border-primary, #E5E7EB);
    --theme-admin-button-danger-surface: var(--status-danger-bg);
    --theme-admin-button-danger-text: var(--status-danger);
    --theme-admin-button-danger-hover-surface: rgba(220, 38, 38, 0.18);
    --theme-admin-button-action-border: 1px solid rgba(0,0,0,0.08);
    --theme-admin-button-action-shadow: 3px 3px 7px rgba(0,0,0,0.12), -2px -2px 5px rgba(0,0,0,0.03), inset 0 2px 1px rgba(255,255,255,0.12), inset 0 -2px 1px rgba(0,0,0,0.12);
    --theme-admin-button-action-edit-surface: linear-gradient(135deg, #2563EB, #818CF8);
    --theme-admin-button-action-edit-text: #FFFFFF;
    --theme-admin-button-action-edit-hover-surface: linear-gradient(135deg, #112233, #2563EB);
    --theme-admin-button-action-edit-hover-shadow: 4px 4px 10px rgba(99,102,241,0.25), -2px -2px 5px rgba(0,0,0,0.03), inset 0 2px 1px rgba(255,255,255,0.12);
    --theme-admin-button-action-delete-surface: linear-gradient(135deg, #EF4444, #F87171);
    --theme-admin-button-action-delete-text: #FFFFFF;
    --theme-admin-button-action-delete-hover-surface: linear-gradient(135deg, #DC2626, #EF4444);
    --theme-admin-button-action-delete-hover-shadow: 4px 4px 10px rgba(239,68,68,0.25), -2px -2px 5px rgba(0,0,0,0.03), inset 0 2px 1px rgba(255,255,255,0.12);

    --theme-release-header-bg: var(--brand-gradient, linear-gradient(135deg, #112233, #38BDF8));
    --theme-release-header-text: var(--text-inverse, #FFFFFF);
    --theme-release-action-bg: var(--brand-gradient, linear-gradient(135deg, #112233, #38BDF8));
    --theme-release-action-text: var(--text-inverse, #FFFFFF);
    --theme-release-accent: var(--brand-primary, #112233);
    --theme-release-cloud-bg: #DBEAFE;
    --theme-release-cloud-text: #1D4ED8;
    --theme-release-ui-bg: rgba(56, 189, 248, 0.16);
    --theme-release-ui-text: var(--brand-accent-text, #0C4A6E);
    --theme-release-performance-bg: rgba(17, 34, 51, 0.1);
    --theme-release-performance-text: var(--brand-primary, #112233);
    --theme-release-setup-bg: #D1FAE5;
    --theme-release-setup-text: #065F46;

    /* Admin toast notifications */
    --theme-admin-toast-shadow: 0 14px 40px rgba(15, 23, 42, 0.16);
    --theme-admin-toast-success-bg: rgba(16, 185, 129, 0.94);
    --theme-admin-toast-success-text: #FFFFFF;
    --theme-admin-toast-success-border: rgba(5, 150, 105, 0.45);
    --theme-admin-toast-error-bg: rgba(239, 68, 68, 0.94);
    --theme-admin-toast-error-text: #FFFFFF;
    --theme-admin-toast-error-border: rgba(220, 38, 38, 0.45);
    --theme-admin-toast-info-bg: rgba(99, 102, 241, 0.94);
    --theme-admin-toast-info-text: #FFFFFF;
    --theme-admin-toast-info-border: rgba(17, 34, 51, 0.45);
    --theme-admin-toast-warning-bg: rgba(245, 158, 11, 0.94);
    --theme-admin-toast-warning-text: #FFFFFF;
    --theme-admin-toast-warning-border: rgba(217, 119, 6, 0.45);

    /* Auth flows */
    --theme-auth-card-compact-max-width: 440px;
    --theme-auth-card-header-padding-compact: 32px 28px 24px;
    --theme-auth-card-body-padding-compact: 28px 28px 12px;
    --theme-auth-card-footer-padding-compact: 0 28px 24px;
    --theme-auth-submit-margin-top: 4px;
    --theme-auth-message-margin-top: 12px;
    --theme-auth-links-margin-top: 8px;
    --theme-auth-link-muted: #94A3B8;
    --theme-auth-remember-text: var(--text-secondary, #6B7280);
    --theme-auth-checkbox-accent: var(--brand-primary, #112233);
    --theme-auth-shell-max-width: 1100px;
    --theme-auth-shell-gap: clamp(24px, 4vw, 40px);
    --theme-auth-page-bg: linear-gradient(180deg, #F8FBFF 0%, #EEF4FB 46%, #E6EEF8 100%);
    --theme-auth-page-overlay: linear-gradient(135deg, rgba(17, 34, 51, 0.08) 0%, rgba(14, 165, 233, 0.05) 52%, rgba(16, 185, 129, 0.04) 100%);
    --theme-auth-card-bg: rgba(255, 255, 255, 0.94);
    --theme-auth-card-border: rgba(255, 255, 255, 0.72);
    --theme-auth-card-shadow: 0 28px 80px rgba(15, 23, 42, 0.14), 0 8px 24px rgba(15, 23, 42, 0.08);
    --theme-auth-card-backdrop: blur(18px);
    --theme-auth-spotlight-surface: linear-gradient(160deg, rgba(var(--brand-primary-rgb, 17, 34, 51), 0.96), rgba(var(--brand-secondary-rgb, 56, 189, 248), 0.9) 58%, rgba(14, 165, 233, 0.82) 100%);
    --theme-auth-spotlight-border: rgba(255, 255, 255, 0.16);
    --theme-auth-spotlight-shadow: 0 32px 80px rgba(15, 23, 42, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.16);
    --theme-auth-spotlight-text: #FFFFFF;
    --theme-auth-spotlight-muted: rgba(255, 255, 255, 0.78);
    --theme-auth-spotlight-badge-bg: rgba(15, 23, 42, 0.18);
    --theme-auth-spotlight-badge-border: rgba(255, 255, 255, 0.14);
    --theme-auth-spotlight-card-bg: rgba(255, 255, 255, 0.12);
    --theme-auth-spotlight-card-border: rgba(255, 255, 255, 0.16);
    --theme-auth-spotlight-list-marker: rgba(255, 255, 255, 0.92);
    --theme-auth-input-bg: rgba(255, 255, 255, 0.92);
    --theme-auth-input-border: rgba(148, 163, 184, 0.28);
    --theme-auth-input-icon: var(--text-muted, #94A3B8);
    --theme-auth-strength-empty: #E5E7EB;
    --theme-auth-strength-weak: #EF4444;
    --theme-auth-strength-fair: #F59E0B;
    --theme-auth-strength-strong: #10B981;
    --theme-auth-strength-very-strong: #059669;
    --theme-auth-strength-text: var(--text-secondary, #6B7280);
    --theme-auth-2fa-bg: linear-gradient(135deg, #F5F3FF, #EDE9FE);
    --theme-auth-2fa-border: #C4B5FD;
    --theme-auth-2fa-title: #5B21B6;
    --theme-auth-2fa-text: #38BDF8;
    --theme-auth-2fa-icon: #38BDF8;
    --theme-auth-error-bg: rgba(239, 68, 68, 0.06);
    --theme-auth-error-border: #EF4444;
    --theme-auth-error-text: #EF4444;
    --theme-auth-back-link: var(--text-muted, #6B7280);

    /* Setup wizard */
    --theme-setup-orb-brand: linear-gradient(135deg, #112233, #38BDF8);
    --theme-setup-orb-rose: linear-gradient(135deg, #EC4899, #F43F5E);
    --theme-setup-orb-success: linear-gradient(135deg, #059669, #10B981);
    --theme-setup-orb-warning: linear-gradient(135deg, #F59E0B, #EAB308);
    --theme-setup-orb-indigo: linear-gradient(135deg, #2563EB, #818CF8);
    --theme-setup-card-border: rgba(255, 255, 255, 0.5);
    --theme-setup-card-border-dark: rgba(255, 255, 255, 0.08);
    --theme-setup-card-shadow: 10px 10px 24px rgba(0, 0, 0, 0.10), -8px -8px 20px rgba(255, 255, 255, 0.70), inset 0 1px 0 rgba(255, 255, 255, 0.80), inset 0 -1px 0 rgba(0, 0, 0, 0.04);
    --theme-setup-card-shadow-dark: 10px 10px 24px rgba(0, 0, 0, 0.35), -8px -8px 20px rgba(255, 255, 255, 0.03), inset 0 1px 0 rgba(255, 255, 255, 0.06), inset 0 -1px 0 rgba(0, 0, 0, 0.15);
    --theme-setup-soft-shadow: 4px 4px 10px rgba(0, 0, 0, 0.06), -3px -3px 8px rgba(255, 255, 255, 0.80), inset 0 1px 0 rgba(255, 255, 255, 0.70), inset 0 -1px 0 rgba(0, 0, 0, 0.04);
    --theme-setup-soft-shadow-hover: 8px 8px 18px rgba(0, 0, 0, 0.09), -5px -5px 14px rgba(255, 255, 255, 0.90), inset 0 1px 0 rgba(255, 255, 255, 0.70);
    --theme-setup-brand-shadow: 6px 6px 14px rgba(17, 34, 51, 0.20), -4px -4px 12px rgba(255, 255, 255, 0.70), inset 0 1px 0 rgba(255, 255, 255, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.10);
    --theme-setup-brand-shadow-hover: 8px 8px 18px rgba(17, 34, 51, 0.25), -5px -5px 14px rgba(255, 255, 255, 0.80), inset 0 1px 0 rgba(255, 255, 255, 0.30);
    --theme-setup-brand-shadow-active: inset 3px 3px 8px rgba(0, 0, 0, 0.15), inset -2px -2px 6px rgba(255, 255, 255, 0.20);
    --theme-setup-step-text-muted: var(--text-muted, #94A3B8);
    --theme-setup-step-dot-bg: var(--bg-card-nested, #F3F4F6);
    --theme-setup-step-dot-border: var(--border-primary, #E2E8F0);
    --theme-setup-step-active-text: var(--text-primary, #1F2937);
    --theme-setup-step-done-text: var(--status-success, #059669);
    --theme-setup-step-active-shadow: 0 4px 12px rgba(17, 34, 51, 0.30);
    --theme-setup-step-connector: var(--border-primary, #E2E8F0);
    --theme-setup-step-connector-done: linear-gradient(90deg, var(--status-success, #059669), #10B981);
    --theme-setup-progress-track: var(--border-primary, #E5E7EB);
    --theme-setup-progress-fill: linear-gradient(90deg, var(--brand-primary, #112233), var(--brand-secondary, #38BDF8), #EC4899);
    --theme-setup-progress-shimmer: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);
    --theme-setup-heading-text: var(--text-primary, #1F2937);
    --theme-setup-copy-text: var(--text-secondary, #6B7280);
    --theme-setup-field-label: var(--text-secondary, #374151);
    --theme-setup-input-text: var(--text-primary, #0F172A);
    --theme-setup-muted-text: var(--text-muted, #9CA3AF);
    --theme-setup-input-border: rgba(255, 255, 255, 0.6);
    --theme-setup-input-focus-border: var(--brand-primary, #112233);
    --theme-setup-input-focus-ring: 0 0 0 3px rgba(17, 34, 51, 0.10);
    --theme-setup-logo-zone-bg: rgba(249, 250, 251, 0.5);
    --theme-setup-logo-zone-hover-bg: rgba(56, 189, 248, 0.04);
    --theme-setup-logo-zone-hover-border: #38BDF8;
    --theme-setup-accent-text: #38BDF8;
    --theme-setup-upload-icon: #9CA3AF;
    --theme-setup-danger: #EF4444;
    --theme-setup-danger-bg: #FEF2F2;
    --theme-setup-danger-border: #FECACA;
    --theme-setup-danger-text: #DC2626;
    --theme-setup-danger-bg-dark: rgba(239, 68, 68, 0.10);
    --theme-setup-danger-border-dark: rgba(239, 68, 68, 0.30);
    --theme-setup-danger-text-dark: #FCA5A5;
    --theme-setup-summary-border: rgba(255, 255, 255, 0.5);
    --theme-setup-summary-shadow: 6px 6px 14px rgba(0, 0, 0, 0.07), -4px -4px 12px rgba(255, 255, 255, 0.85), inset 0 1px 0 rgba(255, 255, 255, 0.70), inset 0 -1px 0 rgba(0, 0, 0, 0.04);
    --theme-setup-success-badge: linear-gradient(135deg, #059669, #10B981);
    --theme-setup-panel-bg-dark: rgba(26, 35, 50, 0.6);
    --theme-setup-zone-bg-dark: rgba(30, 41, 59, 0.5);
    --theme-setup-zone-bg-dark-hover: rgba(56, 189, 248, 0.08);
    --theme-setup-footer-bg: var(--bg-card-nested, rgba(249, 250, 251, 0.5));
    --theme-setup-btn-border: rgba(255, 255, 255, 0.5);
    --theme-setup-secondary-bg: var(--bg-hover, #F3F4F6);
    --theme-setup-secondary-text: var(--text-primary, #374151);
    --theme-setup-secondary-bg-hover: var(--border-primary, #E5E7EB);
    --theme-setup-secondary-active-shadow: inset 3px 3px 8px rgba(0, 0, 0, 0.08), inset -2px -2px 6px rgba(255, 255, 255, 0.6);
    --theme-setup-summary-bg: var(--bg-card-nested, #F9FAFB);
    --theme-setup-summary-divider: var(--border-primary, #E5E7EB);
    --theme-setup-summary-label: var(--text-tertiary, #6B7280);
    --theme-setup-list-text: var(--text-secondary, #334155);
    --theme-setup-list-accent: var(--brand-primary, #112233);
    --theme-setup-success-text: #FFFFFF;
    --theme-setup-summary-border-dark: var(--border-secondary, #2D3A4E);

    --theme-share-qr-dark: #1F2937;
    --theme-share-qr-light: #FFFFFF;
    --theme-share-copy-success: #059669;

    /* Mobile scanner surfaces and states */
    --theme-mobile-bg-glass: rgba(255, 255, 255, 0.74);
    --theme-mobile-bg-glass-hover: rgba(255, 255, 255, 0.86);
    --theme-mobile-surface-shell: linear-gradient(180deg, rgba(255, 255, 255, 0.88), rgba(248, 250, 252, 0.72));
    --theme-mobile-surface-shell-strong: linear-gradient(180deg, rgba(15, 23, 42, 0.94), rgba(15, 23, 42, 0.98));
    --theme-mobile-surface-border: rgba(148, 163, 184, 0.16);
    --theme-mobile-surface-shadow: 0 22px 48px rgba(15, 23, 42, 0.10);
    --theme-mobile-shadow-neon-cyan: 0 4px 14px rgba(8, 145, 178, 0.15);
    --theme-mobile-shadow-neon-magenta: 0 4px 14px rgba(192, 38, 211, 0.15);
    --theme-mobile-shadow-neon-purple: 0 4px 14px rgba(56, 189, 248, 0.15);
    --theme-mobile-shadow-xl: 0 4px 16px rgba(0, 0, 0, 0.1);
    --theme-mobile-shadow-colored: rgba(0, 0, 0, 0.08);
    --theme-mobile-neon-cyan: #0891B2;
    --theme-mobile-neon-magenta: #C026D3;
    --theme-mobile-neon-pink: #DB2777;
    --theme-mobile-green-success: #047857;
    --theme-mobile-green-light: #10B981;
    --theme-mobile-green-lighter: rgba(5, 150, 105, 0.08);
    --theme-mobile-orange-primary: #EA580C;
    --theme-mobile-orange-dark: #C2410C;
    --theme-mobile-notification-border: rgba(148, 163, 184, 0.18);
    --theme-mobile-notification-bg: rgba(15, 23, 42, 0.92);
    --theme-mobile-notification-text: #F8FAFC;
    --theme-mobile-notification-shadow: 0 18px 44px rgba(15, 23, 42, 0.24);
    --theme-mobile-surface-panel: rgba(249, 250, 251, 0.86);
    --theme-mobile-surface-strong: linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(248, 250, 252, 0.88));
    --theme-mobile-surface-soft: rgba(241, 245, 249, 0.82);
    --theme-mobile-surface-highlight: rgba(17, 34, 51, 0.08);
    --theme-mobile-numpad-accent-text: #FFFFFF;
    --theme-mobile-numpad-danger-bg: linear-gradient(180deg, rgba(254, 242, 242, 0.92), rgba(255, 255, 255, 0.72));
    --theme-mobile-numpad-danger-text: #DC2626;
    --theme-mobile-numpad-danger-bg-active: rgba(220, 38, 38, 0.2);
    --theme-mobile-confirm-bg: linear-gradient(135deg, rgba(16, 185, 129, 0.08), rgba(14, 165, 233, 0.05));
    --theme-mobile-confirm-border: rgba(16, 185, 129, 0.22);
    --theme-mobile-confirm-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.24);
    --theme-mobile-option-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.32);
    --theme-mobile-option-selected-border: rgba(59, 130, 246, 0.24);
    --theme-mobile-option-selected-bg: linear-gradient(135deg, rgba(37, 99, 235, 0.08), rgba(16, 185, 129, 0.06));
    --theme-mobile-transfer-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.28);
    --theme-mobile-transfer-icon-bg: rgba(239, 68, 68, 0.08);
    --theme-mobile-dropdown-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
    --theme-mobile-dropdown-item-active: rgba(16, 185, 129, 0.08);
    --theme-mobile-queue-danger: #DC2626;
    --theme-mobile-reader-bg: #000000;
    --theme-mobile-viewfinder-border: rgba(255, 255, 255, 0.85);
    --theme-mobile-viewfinder-mask: rgba(0, 0, 0, 0.45);
    --theme-mobile-viewfinder-corner: #00E676;
    --theme-mobile-viewfinder-label-text: #FFFFFF;
    --theme-mobile-viewfinder-label-bg: rgba(0, 0, 0, 0.45);
    --theme-mobile-viewfinder-label-shadow: 0 1px 6px rgba(0, 0, 0, 0.8);
    --theme-mobile-viewfinder-line: linear-gradient(90deg, transparent 0%, #00E676 30%, #00E676 70%, transparent 100%);
    --theme-mobile-viewfinder-line-shadow: 0 0 8px #00E676;
    --theme-mobile-login-2fa-bg: rgba(17, 34, 51, 0.06);
    --theme-mobile-login-2fa-title: var(--text-primary, #1F2937);
    --theme-mobile-login-2fa-copy: var(--text-muted, #6B7280);
    /* Scanner main menu — one distinct accent per tile (icon + left stripe + title) */
    --theme-mobile-menu-search: #059669;
    --theme-mobile-menu-search-soft: rgba(5, 150, 105, 0.12);
    --theme-mobile-menu-bin: #6366F1;
    --theme-mobile-menu-bin-soft: rgba(99, 102, 241, 0.12);
    --theme-mobile-menu-stock: #0EA5E9;
    --theme-mobile-menu-stock-soft: rgba(14, 165, 233, 0.12);
    --theme-mobile-menu-spot: #14B8A6;
    --theme-mobile-menu-spot-soft: rgba(20, 184, 166, 0.12);
    --theme-mobile-menu-transfer: #DB2777;
    --theme-mobile-menu-transfer-soft: rgba(219, 39, 119, 0.12);
    --theme-mobile-menu-batch: #D97706;
    --theme-mobile-menu-batch-soft: rgba(217, 119, 6, 0.12);
    --theme-mobile-menu-batch-rebuild: #2563EB;
    --theme-mobile-menu-batch-rebuild-soft: rgba(37, 99, 235, 0.12);
    --theme-mobile-menu-damage: #DC2626;
    --theme-mobile-menu-damage-soft: rgba(220, 38, 38, 0.12);
    --theme-mobile-menu-grv: #0284C7;
    --theme-mobile-menu-grv-soft: rgba(2, 132, 199, 0.12);
    --theme-mobile-menu-wholesale: #7C3AED;
    --theme-mobile-menu-wholesale-soft: rgba(124, 58, 237, 0.12);
    --theme-mobile-menu-stock-request: #F97316;
    --theme-mobile-menu-stock-request-soft: rgba(249, 115, 22, 0.12);
    --theme-mobile-menu-pick-requests: #22C55E;
    --theme-mobile-menu-pick-requests-soft: rgba(34, 197, 94, 0.12);
    --theme-mobile-menu-arrow: #9CA3AF;
    --theme-mobile-note-warning-bg: rgba(251, 191, 36, 0.1);
    --theme-mobile-note-warning-border: var(--neon-yellow, #D97706);
    --theme-mobile-preview-badge: var(--neon-green, #10B981);
    --theme-mobile-button-success-bg: var(--status-success, #059669);
    --theme-mobile-button-success-bg-hover: var(--status-success-strong, #047857);
    --theme-mobile-button-warning-bg: var(--status-warning, #D97706);
    --theme-mobile-button-warning-bg-hover: var(--status-warning-strong, #B45309);
    --theme-mobile-button-danger-bg: var(--status-danger, #DC2626);
    --theme-mobile-button-danger-bg-hover: var(--status-danger-strong, #B91C1C);
    --theme-mobile-button-danger-soft-bg: linear-gradient(180deg, rgba(220, 38, 38, 0.28), rgba(185, 28, 28, 0.38));
    --theme-mobile-surface-border: var(--border-primary, #E2E8F0);
    --theme-mobile-input-placeholder: var(--text-muted, #9CA3AF);
    --theme-mobile-login-input-text: #1F2937;
    --theme-mobile-status-success-bg: var(--status-success-bg, rgba(5, 150, 105, 0.1));
    --theme-mobile-status-success-text: var(--status-success-strong, #047857);
    --theme-mobile-status-success-border: var(--status-success, #059669);
    --theme-mobile-status-warning-bg: var(--status-warning-bg, rgba(217, 119, 6, 0.1));
    --theme-mobile-status-warning-text: var(--status-warning-strong, #B45309);
    --theme-mobile-status-warning-border: var(--status-warning, #D97706);
    --theme-mobile-status-error-bg: var(--status-danger-bg, rgba(220, 38, 38, 0.1));
    --theme-mobile-status-error-text: var(--status-danger-strong, #B91C1C);
    --theme-mobile-status-error-border: var(--status-danger, #DC2626);
    --theme-mobile-status-info-bg: var(--status-info-bg, rgba(17, 34, 51, 0.1));
    --theme-mobile-status-info-text: var(--brand-accent-text, var(--status-info-strong, #0C4A6E));
    --theme-mobile-status-info-border: var(--status-info, #112233);
    --theme-mobile-product-title: var(--status-success, #059669);

    /* Mobile glow / decorative tokens */
    --theme-mobile-glow-blue: rgba(59, 130, 246, 0.14);
    --theme-mobile-glow-cyan: rgba(34, 211, 238, 0.10);
    --theme-mobile-card-inset: inset 0 1px 0 rgba(255, 255, 255, 0.46);
    --theme-mobile-card-hover-shadow: 0 26px 52px rgba(15, 23, 42, 0.12);
    --theme-mobile-gallery-bg: #111111;
    --theme-mobile-install-bg: #1F2937;
    --theme-mobile-install-text-secondary: #D1D5DB;
    --theme-mobile-login-subtitle: rgba(255, 255, 255, 0.75);
    --theme-mobile-login-btn-from: #93C5FD;
    --theme-mobile-login-btn-to: #2563EB;
    --theme-mobile-login-btn-border: rgba(191, 219, 254, 0.28);
    --theme-mobile-login-btn-shadow: 0 18px 32px rgba(37, 99, 235, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.2);

    /* Mobile body background glow / overlay tokens (light) */
    --theme-mobile-body-glow-top-left: rgba(17, 34, 51, 0.06);
    --theme-mobile-body-glow-top-right: rgba(14, 165, 233, 0.05);
    --theme-mobile-body-glow-bottom: rgba(16, 185, 129, 0.04);
    --theme-mobile-body-overlay-top: rgba(255, 255, 255, 0.32);
    --theme-mobile-body-overlay-spot: rgba(17, 34, 51, 0.04);
    --theme-mobile-header-inset: inset 0 -1px 0 rgba(0, 0, 0, 0.04);

    /* Shared color lists for scripted effects */
    --theme-confetti-1: #112233;
    --theme-confetti-2: #38BDF8;
    --theme-confetti-3: #EC4899;
    --theme-confetti-4: #F59E0B;
    --theme-confetti-5: #10B981;
    --theme-confetti-6: #3B82F6;
    --theme-confetti-7: #EF4444;
}

body.dark-mode {
    --theme-overlay: rgba(2, 6, 23, 0.72);
    --theme-modal-shadow: 0 30px 90px rgba(0, 0, 0, 0.42);
    --theme-chip-bg: rgba(255, 255, 255, 0.12);
    --theme-release-cloud-bg: rgba(29, 78, 216, 0.18);
    --theme-release-cloud-text: #93C5FD;
    --theme-release-ui-bg: rgba(var(--brand-secondary-rgb, 56, 189, 248), 0.18);
    --theme-release-ui-text: #7DD3FC;
    --theme-release-performance-bg: rgba(var(--brand-primary-rgb, 17, 34, 51), 0.28);
    --theme-release-performance-text: #93C5FD;
    --theme-release-setup-bg: rgba(6, 95, 70, 0.2);
    --theme-release-setup-text: #A7F3D0;

    --theme-admin-toast-shadow: 0 18px 48px rgba(0, 0, 0, 0.42);
    --theme-admin-toast-success-bg: rgba(6, 78, 59, 0.94);
    --theme-admin-toast-success-text: #D1FAE5;
    --theme-admin-toast-success-border: rgba(52, 211, 153, 0.42);
    --theme-admin-toast-error-bg: rgba(127, 29, 29, 0.94);
    --theme-admin-toast-error-text: #FECACA;
    --theme-admin-toast-error-border: rgba(248, 113, 113, 0.4);
    --theme-admin-toast-info-bg: rgba(49, 46, 129, 0.94);
    --theme-admin-toast-info-text: #E0E7FF;
    --theme-admin-toast-info-border: rgba(129, 140, 248, 0.42);
    --theme-admin-toast-warning-bg: rgba(120, 53, 15, 0.94);
    --theme-admin-toast-warning-text: #FDE68A;
    --theme-admin-toast-warning-border: rgba(251, 191, 36, 0.42);

    --theme-auth-link-muted: #9BB0C7;
    --theme-auth-remember-text: #D7E3F2;
    --theme-auth-page-bg:
        radial-gradient(ellipse 90% 55% at 12% -10%, rgba(34, 211, 238, 0.12), transparent 46%),
        radial-gradient(ellipse 70% 45% at 92% 0%, rgba(37, 99, 235, 0.12), transparent 42%),
        linear-gradient(180deg, #01060f 0%, #06101c 48%, #0a1524 100%);
    --theme-auth-page-overlay: linear-gradient(135deg, rgba(34, 211, 238, 0.1) 0%, rgba(37, 99, 235, 0.08) 48%, rgba(16, 185, 129, 0.05) 100%);
    --theme-auth-card-bg: linear-gradient(165deg, rgba(18, 30, 48, 0.88) 0%, rgba(8, 14, 26, 0.96) 100%);
    --theme-auth-card-border: rgba(125, 211, 252, 0.14);
    --theme-auth-card-shadow:
        0 0 0 1px rgba(125, 211, 252, 0.06),
        0 28px 80px rgba(0, 0, 0, 0.48),
        inset 0 1px 0 rgba(255, 255, 255, 0.06);
    --theme-auth-spotlight-surface: linear-gradient(160deg, rgba(8, 18, 32, 0.96), rgba(14, 165, 233, 0.35) 58%, rgba(34, 211, 238, 0.28) 100%);
    --theme-auth-spotlight-border: rgba(125, 211, 252, 0.16);
    --theme-auth-spotlight-shadow: 0 34px 90px rgba(0, 0, 0, 0.42), inset 0 1px 0 rgba(255, 255, 255, 0.06);
    --theme-auth-spotlight-muted: rgba(215, 227, 242, 0.78);
    --theme-auth-spotlight-badge-bg: rgba(8, 18, 32, 0.4);
    --theme-auth-spotlight-badge-border: rgba(125, 211, 252, 0.18);
    --theme-auth-spotlight-card-bg: rgba(14, 24, 40, 0.45);
    --theme-auth-spotlight-card-border: rgba(125, 211, 252, 0.12);
    --theme-auth-spotlight-list-marker: #67E8F9;
    --theme-auth-input-bg: rgba(8, 18, 32, 0.72);
    --theme-auth-input-border: rgba(125, 211, 252, 0.2);
    --theme-auth-input-icon: #9BB0C7;
    --theme-admin-body-base:
        radial-gradient(ellipse 90% 55% at 12% -10%, rgba(34, 211, 238, 0.1), transparent 46%),
        radial-gradient(ellipse 70% 45% at 92% 0%, rgba(37, 99, 235, 0.1), transparent 42%),
        linear-gradient(180deg, #01060f 0%, #06101c 48%, #0a1524 100%);
    --theme-admin-body-accent-primary: rgba(34, 211, 238, 0.1);
    --theme-admin-body-accent-secondary: rgba(37, 99, 235, 0.1);
    --theme-admin-body-accent-tertiary: rgba(16, 185, 129, 0.06);
    --theme-admin-body-overlay-top: rgba(34, 211, 238, 0.04);
    --theme-admin-body-overlay-spot: rgba(34, 211, 238, 0.07);
    --theme-admin-card-surface: linear-gradient(165deg, rgba(18, 30, 48, 0.78) 0%, rgba(8, 14, 26, 0.92) 100%);
    --theme-admin-card-border: rgba(125, 211, 252, 0.12);
    --theme-admin-card-shadow:
        0 0 0 1px rgba(125, 211, 252, 0.06),
        0 18px 50px rgba(0, 0, 0, 0.36),
        inset 0 1px 0 rgba(255, 255, 255, 0.06);
    --theme-admin-stat-card-surface: linear-gradient(165deg, rgba(18, 30, 48, 0.78) 0%, rgba(8, 14, 26, 0.92) 100%);
    --theme-admin-stat-card-border: rgba(125, 211, 252, 0.12);
    --theme-admin-stat-card-shadow:
        0 0 0 1px rgba(125, 211, 252, 0.06),
        0 18px 50px rgba(0, 0, 0, 0.36),
        inset 0 1px 0 rgba(255, 255, 255, 0.06);
    --theme-admin-sidebar-surface:
        radial-gradient(ellipse 120% 70% at 0% 0%, rgba(34, 211, 238, 0.12), transparent 52%),
        radial-gradient(ellipse 90% 60% at 100% 18%, rgba(37, 99, 235, 0.1), transparent 48%),
        linear-gradient(180deg, rgba(1, 6, 15, 0.98) 0%, rgba(6, 16, 28, 0.97) 48%, rgba(8, 18, 32, 0.98) 100%);
    --theme-admin-sidebar-divider: rgba(125, 211, 252, 0.12);
    --theme-admin-sidebar-glow-primary: rgba(34, 211, 238, 0.16);
    --theme-admin-sidebar-glow-secondary: rgba(37, 99, 235, 0.12);
    --theme-admin-sidebar-shadow:
        12px 0 40px rgba(0, 0, 0, 0.4),
        inset -1px 0 0 rgba(125, 211, 252, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.04);
    --theme-admin-sidebar-title: #F8FBFF;
    --theme-admin-nav-item-highlight: inset 0 1px 0 rgba(255, 255, 255, 0.03);
    --theme-admin-nav-active-shadow:
        0 0 24px rgba(34, 211, 238, 0.16),
        0 10px 24px rgba(0, 0, 0, 0.28),
        inset 0 1px 0 rgba(255, 255, 255, 0.06);
    --theme-admin-nav-group-label: #6B7F97;
    --theme-admin-nav-group-label-hover: #E0F2FE;
    --theme-admin-nav-text: #9BB0C7;
    --theme-admin-nav-hover-text: #E0F2FE;
    --theme-admin-nav-hover-bg: rgba(125, 211, 252, 0.08);
    --theme-admin-nav-hover-border: rgba(125, 211, 252, 0.18);
    --theme-admin-nav-active-bg: linear-gradient(135deg, rgba(14, 165, 233, 0.24), rgba(37, 99, 235, 0.16));
    --theme-admin-nav-active-text: #E0F2FE;
    --theme-admin-page-header-title: #F8FAFC;
    --theme-admin-page-header-shadow: 0 24px 55px rgba(2, 6, 23, 0.26), inset 0 1px 0 rgba(255, 255, 255, 0.04);
    --theme-admin-page-header-copy: #93C5FD;
    --theme-admin-page-header-surface: linear-gradient(180deg, rgba(15, 23, 42, 0.92), rgba(22, 32, 51, 0.96));
    --theme-admin-surface-elevated: var(--bg-card, #0F172A);
    --theme-admin-border-subtle: var(--border-primary, rgba(148, 163, 184, 0.18));
    --theme-admin-text-muted: var(--text-secondary, #C8D4E0);
    --theme-admin-row-hover: rgba(125, 211, 252, 0.08);
    --theme-admin-card-glow-primary: rgba(34, 211, 238, 0.14);
    --theme-admin-card-glow-secondary: rgba(37, 99, 235, 0.12);
    --theme-admin-banner-muted: rgba(255, 255, 255, 0.76);
    --theme-admin-banner-shadow: 0 28px 64px rgba(var(--brand-primary-rgb, 17, 34, 51), 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.06);
    --theme-admin-banner-muted-strong: rgba(255, 255, 255, 0.82);
    --theme-admin-banner-divider: rgba(255, 255, 255, 0.18);
    --theme-admin-banner-glow-primary: rgba(255, 255, 255, 0.1);
    --theme-admin-banner-glow-secondary: rgba(var(--brand-primary-rgb, 17, 34, 51), 0.18);
    --theme-admin-summary-overlay-primary: rgba(255, 255, 255, 0.1);
    --theme-admin-summary-overlay-secondary: rgba(var(--brand-primary-rgb, 17, 34, 51), 0.16);
    --theme-admin-stat-accent-cyan: #67E8F9;
    --theme-admin-stat-accent-pink: #F9A8D4;
    --theme-admin-stat-icon-surface: rgba(255, 255, 255, 0.08);
    --theme-admin-stat-icon-border: rgba(148, 163, 184, 0.18);
    --theme-admin-stat-icon-highlight: inset 0 1px 0 rgba(255, 255, 255, 0.08);
    --theme-admin-stat-progress-track: rgba(148, 163, 184, 0.18);
    --theme-admin-stat-card-surface: linear-gradient(180deg, rgba(15, 23, 42, 0.88), rgba(22, 32, 51, 0.94));
    --theme-admin-stat-card-border: rgba(148, 163, 184, 0.18);
    --theme-admin-stat-card-shadow: 0 20px 44px rgba(2, 6, 23, 0.24), inset 0 1px 0 rgba(255,255,255,0.05);
    --theme-admin-stat-card-hover-shadow: 0 28px 58px rgba(2, 6, 23, 0.3), inset 0 1px 0 rgba(255,255,255,0.06);
    --theme-admin-browser-theme-color: #020817;
    --theme-admin-attention-title: var(--text-primary, #F8FAFC);
    --theme-admin-attention-subtitle: var(--text-muted, #94A3B8);
    --theme-admin-attention-shell-surface: linear-gradient(180deg, var(--bg-card, #151D2E), var(--bg-card-nested, #162033));
    --theme-admin-attention-shell-border: var(--border-primary, rgba(71, 85, 105, 0.55));
    --theme-admin-attention-shell-shadow: 0 28px 52px rgba(2, 6, 23, 0.28), inset 0 1px 0 rgba(255,255,255,0.03);
    --theme-admin-attention-card-surface: linear-gradient(180deg, var(--bg-card, #151D2E), var(--bg-card-nested, #162033));
    --theme-admin-attention-card-border: var(--border-primary, rgba(71, 85, 105, 0.48));
    --theme-admin-attention-card-shadow: 0 16px 28px rgba(2, 6, 23, 0.24);
    --theme-admin-attention-card-critical-surface: linear-gradient(180deg, var(--status-danger-bg, rgba(220, 38, 38, 0.16)), var(--bg-card, #151D2E));
    --theme-admin-attention-card-warning-surface: linear-gradient(180deg, var(--status-warning-bg, rgba(217, 119, 6, 0.16)), var(--bg-card, #151D2E));
    --theme-admin-attention-card-success-surface: linear-gradient(180deg, var(--status-success-bg, rgba(5, 150, 105, 0.16)), var(--bg-card, #151D2E));
    --theme-admin-attention-card-info-surface: linear-gradient(180deg, var(--status-info-bg, rgba(17, 34, 51, 0.18)), var(--bg-card, #151D2E));
    --theme-admin-attention-value-shadow: none;
    --theme-admin-attention-action-secondary-surface: linear-gradient(180deg, rgba(30, 41, 59, 0.92), rgba(15, 23, 42, 0.96));
    --theme-admin-attention-action-secondary-text: #E2E8F0;
    --theme-admin-attention-action-secondary-border: rgba(148, 163, 184, 0.18);
    --theme-admin-attention-action-secondary-shadow: 0 16px 30px rgba(2, 6, 23, 0.24), inset 0 1px 0 rgba(255,255,255,0.04);
    --theme-admin-attention-action-secondary-hover-surface: linear-gradient(135deg, rgba(37, 99, 235, 0.22), rgba(6, 182, 212, 0.16));
    --theme-admin-attention-action-secondary-hover-text: #DBEAFE;
    --theme-admin-attention-action-secondary-hover-border: rgba(96, 165, 250, 0.32);
    --theme-admin-attention-action-primary-shadow: 0 18px 34px rgba(17, 34, 51, 0.3), inset 0 1px 0 rgba(255,255,255,0.08);
    --theme-admin-status-chip-success-surface: var(--status-success-bg, rgba(5, 150, 105, 0.16));
    --theme-admin-status-chip-success-text: var(--status-success-strong, #6EE7B7);
    --theme-admin-status-chip-success-border: var(--status-success, #059669);
    --theme-admin-status-chip-warning-surface: var(--status-warning-bg, rgba(217, 119, 6, 0.16));
    --theme-admin-status-chip-warning-text: var(--status-warning-strong, #FCD34D);
    --theme-admin-status-chip-warning-border: var(--status-warning, #D97706);
    --theme-admin-status-chip-danger-surface: var(--status-danger-bg, rgba(220, 38, 38, 0.16));
    --theme-admin-status-chip-danger-text: var(--status-danger-strong, #FCA5A5);
    --theme-admin-status-chip-danger-border: var(--status-danger, #DC2626);
    --theme-admin-status-chip-info-surface: var(--status-info-bg, rgba(17, 34, 51, 0.18));
    --theme-admin-status-chip-info-text: var(--status-info-strong, #C7D2FE);
    --theme-admin-status-chip-info-border: var(--status-info, #112233);
    --theme-admin-quick-action-surface: linear-gradient(180deg, rgba(30, 41, 59, 0.92), rgba(15, 23, 42, 0.96));
    --theme-admin-quick-action-text: #E2E8F0;
    --theme-admin-quick-action-border: rgba(148, 163, 184, 0.18);
    --theme-admin-quick-action-shadow: 0 16px 30px rgba(2, 6, 23, 0.24), inset 0 1px 0 rgba(255,255,255,0.04);
    --theme-admin-quick-action-hover-surface: linear-gradient(135deg, var(--brand-primary-light, rgba(37, 99, 235, 0.22)), rgba(var(--brand-secondary-rgb, 56, 189, 248), 0.16));
    --theme-admin-quick-action-hover-text: var(--text-primary, #DBEAFE);
    --theme-admin-quick-action-hover-border: var(--brand-primary-ring, rgba(96, 165, 250, 0.32));
    --theme-admin-quick-action-hover-shadow: 0 18px 36px rgba(var(--brand-primary-rgb, 17, 34, 51), 0.18), inset 0 1px 0 rgba(255,255,255,0.08);
    --theme-admin-quick-action-primary-surface: linear-gradient(135deg, rgba(var(--brand-primary-rgb, 17, 34, 51), 0.42), rgba(var(--brand-secondary-rgb, 56, 189, 248), 0.34));
    --theme-admin-quick-action-primary-text: #EFF6FF;
    --theme-admin-quick-action-primary-border: var(--brand-primary-ring, rgba(96, 165, 250, 0.38));
    --theme-admin-quick-action-primary-shadow: 0 20px 36px rgba(var(--brand-primary-rgb, 17, 34, 51), 0.26), inset 0 1px 0 rgba(255,255,255,0.08);
    --theme-admin-audit-shell-surface: linear-gradient(135deg, rgba(15,23,42,0.92), rgba(30,41,59,0.94));
    --theme-admin-audit-shell-border: rgba(148,163,184,0.18);
    --theme-admin-audit-tip-surface: rgba(15,23,42,0.84);
    --theme-admin-audit-tip-text: var(--text-muted, #94A3B8);
    --theme-admin-audit-item-surface: rgba(15,23,42,0.84);
    --theme-admin-audit-item-border: rgba(148,163,184,0.18);
    --theme-admin-audit-accent-ring: rgba(148,163,184,0.22);
    --theme-admin-activity-badge-scan-surface: rgba(var(--brand-secondary-rgb, 56, 189, 248), 0.18);
    --theme-admin-activity-badge-scan-text: #C4B5FD;
    --theme-admin-activity-badge-transfer-surface: var(--status-danger-bg, rgba(220, 38, 38, 0.18));
    --theme-admin-activity-badge-transfer-text: var(--status-danger-strong, #FCA5A5);
    --theme-admin-activity-badge-batch-surface: var(--status-warning-bg, rgba(217, 119, 6, 0.18));
    --theme-admin-activity-badge-batch-text: var(--status-warning-strong, #FCD34D);
    --theme-admin-leaderboard-rank-first-surface: var(--status-warning-bg, rgba(217, 119, 6, 0.18));
    --theme-admin-leaderboard-rank-first-text: var(--status-warning-strong, #FCD34D);
    --theme-admin-leaderboard-rank-second-surface: rgba(148, 163, 184, 0.14);
    --theme-admin-leaderboard-rank-second-text: var(--text-secondary, #CBD5E1);
    --theme-admin-leaderboard-rank-third-surface: rgba(180, 83, 9, 0.18);
    --theme-admin-leaderboard-rank-third-text: #FDE68A;
    --theme-admin-leaderboard-rank-other-surface: rgba(148, 163, 184, 0.1);
    --theme-admin-leaderboard-rank-other-text: var(--text-muted, #94A3B8);
    --theme-admin-leaderboard-filter-border: rgba(148, 163, 184, 0.18);
    --theme-admin-leaderboard-filter-surface: rgba(15, 23, 42, 0.84);
    --theme-admin-leaderboard-filter-text: var(--text-secondary, #CBD5E1);
    --theme-admin-leaderboard-filter-shadow: 0 12px 24px rgba(2, 6, 23, 0.24), inset 0 1px 0 rgba(255,255,255,0.04);
    --theme-admin-leaderboard-filter-hover-border: var(--brand-primary-ring, rgba(96, 165, 250, 0.32));
    --theme-admin-leaderboard-filter-hover-text: var(--text-primary, #DBEAFE);
    --theme-admin-leaderboard-filter-hover-shadow: 0 16px 28px rgba(var(--brand-primary-rgb, 17, 34, 51), 0.18), inset 0 1px 0 rgba(255,255,255,0.06);
    --theme-admin-leaderboard-filter-active-surface: linear-gradient(135deg, rgba(var(--brand-primary-rgb, 17, 34, 51), 0.42), rgba(var(--brand-secondary-rgb, 56, 189, 248), 0.34));
    --theme-admin-leaderboard-filter-active-text: #EFF6FF;
    --theme-admin-leaderboard-filter-active-border: var(--brand-primary-ring, rgba(96, 165, 250, 0.38));
    --theme-admin-leaderboard-filter-active-shadow: 0 16px 28px rgba(var(--brand-primary-rgb, 17, 34, 51), 0.24), inset 0 1px 0 rgba(255,255,255,0.08);
    --theme-admin-activity-row-divider: rgba(148, 163, 184, 0.12);
    --theme-admin-activity-row-hover-surface: rgba(15, 23, 42, 0.84);
    --theme-admin-insight-list-divider: rgba(148, 163, 184, 0.12);
    --theme-admin-pill-surface: rgba(15, 23, 42, 0.84);
    --theme-admin-pill-text: var(--text-secondary, #CBD5E1);
    --theme-admin-insight-surface: linear-gradient(180deg, rgba(15, 23, 42, 0.9), rgba(22, 32, 51, 0.94));
    --theme-admin-insight-border: rgba(148, 163, 184, 0.18);
    --theme-admin-insight-shadow: 0 18px 30px rgba(2, 6, 23, 0.22), inset 0 1px 0 rgba(255,255,255,0.04);
    --theme-admin-settings-launcher-surface: rgba(15, 23, 42, 0.84);
    --theme-admin-settings-launcher-border: rgba(148, 163, 184, 0.18);
    --theme-admin-settings-launcher-shadow: 0 16px 28px rgba(2, 6, 23, 0.22), inset 0 1px 0 rgba(255,255,255,0.04);
    --theme-admin-settings-launcher-hover-surface: rgba(22, 32, 51, 0.92);
    --theme-admin-settings-launcher-hover-border: var(--brand-primary-ring, rgba(96, 165, 250, 0.32));
    --theme-admin-settings-launcher-hover-shadow: 0 20px 34px rgba(var(--brand-primary-rgb, 17, 34, 51), 0.16), inset 0 1px 0 rgba(255,255,255,0.05);
    --theme-admin-settings-profile-surface: linear-gradient(135deg, rgba(var(--brand-primary-rgb, 17, 34, 51), 0.82), rgba(var(--brand-secondary-rgb, 56, 189, 248), 0.72));
    --theme-admin-settings-profile-icon-surface: rgba(255,255,255,0.12);
    --theme-admin-settings-profile-icon-shadow: 0 8px 20px rgba(2, 6, 23, 0.24);
    --theme-admin-settings-profile-title: #FFFFFF;
    --theme-admin-settings-profile-copy: rgba(255,255,255,0.78);
    --theme-admin-settings-profile-button-surface: rgba(255,255,255,0.12);
    --theme-admin-settings-profile-button-text: #FFFFFF;
    --theme-admin-settings-profile-button-border: rgba(255,255,255,0.18);
    --theme-admin-settings-profile-button-danger-surface: rgba(220,38,38,0.22);
    --theme-admin-settings-profile-button-danger-text: #FECACA;
    --theme-admin-settings-profile-button-danger-border: rgba(248,113,113,0.32);
    --theme-admin-settings-profile-badge-surface: rgba(255,255,255,0.12);
    --theme-admin-settings-profile-badge-text: #FFFFFF;
    --theme-admin-settings-profile-badge-muted-surface: rgba(255,255,255,0.08);
    --theme-admin-settings-profile-badge-muted-text: rgba(255,255,255,0.72);
    --theme-admin-install-banner-surface: linear-gradient(135deg, rgba(var(--brand-primary-rgb, 17, 34, 51), 0.98), rgba(var(--brand-secondary-rgb, 56, 189, 248), 0.94));
    --theme-admin-install-banner-shadow: 0 14px 34px rgba(2, 6, 23, 0.42);
    --theme-admin-button-border: rgba(148, 163, 184, 0.18);
    --theme-admin-button-shadow: 0 12px 24px rgba(2, 6, 23, 0.24), inset 0 1px 0 rgba(255,255,255,0.04);
    --theme-admin-button-primary-surface: linear-gradient(135deg, rgba(var(--brand-primary-rgb, 17, 34, 51), 0.88), rgba(var(--brand-secondary-rgb, 56, 189, 248), 0.72));
    --theme-admin-button-primary-text: #EFF6FF;
    --theme-admin-button-primary-shadow: 0 16px 28px rgba(var(--brand-primary-rgb, 17, 34, 51), 0.26), inset 0 1px 0 rgba(255,255,255,0.08);
    --theme-admin-button-primary-hover-surface: linear-gradient(135deg, rgba(var(--brand-primary-rgb, 17, 34, 51), 0.96), rgba(var(--brand-secondary-rgb, 56, 189, 248), 0.78));
    --theme-admin-button-primary-hover-shadow: 0 18px 32px rgba(var(--brand-primary-rgb, 17, 34, 51), 0.3), inset 0 1px 0 rgba(255,255,255,0.1);
    --theme-admin-button-secondary-surface: rgba(15, 23, 42, 0.84);
    --theme-admin-button-secondary-text: var(--text-secondary, #CBD5E1);
    --theme-admin-button-secondary-border: rgba(148, 163, 184, 0.18);
    --theme-admin-button-secondary-hover-surface: rgba(22, 32, 51, 0.92);
    --theme-admin-button-danger-surface: rgba(127, 29, 29, 0.22);
    --theme-admin-button-danger-text: var(--status-danger-strong, #FCA5A5);
    --theme-admin-button-danger-hover-surface: rgba(220, 38, 38, 0.24);
    --theme-admin-button-action-border: 1px solid rgba(148, 163, 184, 0.18);
    --theme-admin-button-action-shadow: 0 12px 24px rgba(2, 6, 23, 0.24), inset 0 1px 0 rgba(255,255,255,0.05);
    --theme-admin-button-action-edit-surface: linear-gradient(135deg, rgba(99, 102, 241, 0.9), rgba(129, 140, 248, 0.78));
    --theme-admin-button-action-edit-text: #EFF6FF;
    --theme-admin-button-action-edit-hover-surface: linear-gradient(135deg, rgba(17, 34, 51, 0.96), rgba(99, 102, 241, 0.86));
    --theme-admin-button-action-edit-hover-shadow: 0 16px 28px rgba(99,102,241,0.26), inset 0 1px 0 rgba(255,255,255,0.08);
    --theme-admin-button-action-delete-surface: linear-gradient(135deg, rgba(239, 68, 68, 0.92), rgba(248, 113, 113, 0.78));
    --theme-admin-button-action-delete-text: #FFF5F5;
    --theme-admin-button-action-delete-hover-surface: linear-gradient(135deg, rgba(220, 38, 38, 0.96), rgba(239, 68, 68, 0.84));
    --theme-admin-button-action-delete-hover-shadow: 0 16px 28px rgba(239,68,68,0.24), inset 0 1px 0 rgba(255,255,255,0.08);
    --theme-mobile-bg-glass: linear-gradient(165deg, rgba(18, 30, 48, 0.82) 0%, rgba(8, 14, 26, 0.94) 100%);
    --theme-mobile-bg-glass-hover: linear-gradient(165deg, rgba(22, 36, 56, 0.9) 0%, rgba(10, 18, 32, 0.96) 100%);
    --theme-mobile-surface-shell: linear-gradient(180deg, rgba(6, 16, 28, 0.96) 0%, rgba(10, 22, 38, 0.94) 100%);
    --theme-mobile-surface-shell-strong: linear-gradient(180deg, rgba(1, 6, 15, 0.98) 0%, rgba(6, 16, 28, 0.96) 100%);
    --theme-mobile-surface-border: rgba(125, 211, 252, 0.14);
    --theme-mobile-surface-shadow:
        0 0 0 1px rgba(125, 211, 252, 0.06),
        0 22px 56px rgba(0, 0, 0, 0.42),
        inset 0 1px 0 rgba(255, 255, 255, 0.05);
    --theme-mobile-shadow-neon-cyan: 0 0 18px rgba(34, 211, 238, 0.28);
    --theme-mobile-shadow-neon-magenta: 0 4px 16px rgba(192, 38, 211, 0.28);
    --theme-mobile-shadow-neon-purple: 0 0 16px rgba(34, 211, 238, 0.22);
    --theme-mobile-shadow-xl: 0 8px 24px rgba(0, 0, 0, 0.42);
    --theme-mobile-shadow-colored: rgba(1, 6, 15, 0.42);
    --theme-mobile-green-success: #10B981;
    --theme-mobile-green-lighter: rgba(16, 185, 129, 0.14);
    --theme-mobile-green-light: #6EE7B7;
    --theme-mobile-orange-primary: #FB923C;
    --theme-mobile-orange-dark: #EA580C;
    --theme-mobile-notification-bg: rgba(4, 10, 24, 0.96);
    --theme-mobile-notification-border: rgba(96, 165, 250, 0.2);
    --theme-mobile-notification-shadow: 0 24px 54px rgba(2, 6, 23, 0.46);
    --theme-mobile-text-secondary: rgba(226, 232, 240, 0.8);
    --theme-mobile-text-tertiary: rgba(176, 190, 210, 0.78);
    --theme-mobile-accent-primary: #38BDF8;
    --theme-mobile-accent-secondary: #2563EB;
    --theme-mobile-option-selected-border: rgba(96, 165, 250, 0.42);
    --theme-mobile-option-selected-bg: linear-gradient(135deg, rgba(30, 64, 175, 0.34), rgba(6, 95, 70, 0.2));
    --theme-mobile-transfer-icon-bg: rgba(248, 113, 113, 0.14);
    --theme-mobile-menu-search: #34D399;
    --theme-mobile-menu-search-soft: rgba(52, 211, 153, 0.2);
    --theme-mobile-menu-bin: #818CF8;
    --theme-mobile-menu-bin-soft: rgba(129, 140, 248, 0.22);
    --theme-mobile-menu-stock: #38BDF8;
    --theme-mobile-menu-stock-soft: rgba(56, 189, 248, 0.2);
    --theme-mobile-menu-spot: #2DD4BF;
    --theme-mobile-menu-spot-soft: rgba(45, 212, 191, 0.2);
    --theme-mobile-menu-transfer: #F472B6;
    --theme-mobile-menu-transfer-soft: rgba(244, 114, 182, 0.2);
    --theme-mobile-menu-batch: #FBBF24;
    --theme-mobile-menu-batch-soft: rgba(251, 191, 36, 0.2);
    --theme-mobile-menu-batch-rebuild: #60A5FA;
    --theme-mobile-menu-batch-rebuild-soft: rgba(96, 165, 250, 0.22);
    --theme-mobile-menu-damage: #F87171;
    --theme-mobile-menu-damage-soft: rgba(248, 113, 113, 0.2);
    --theme-mobile-menu-grv: #7DD3FC;
    --theme-mobile-menu-grv-soft: rgba(125, 211, 252, 0.22);
    --theme-mobile-menu-wholesale: #C4B5FD;
    --theme-mobile-menu-wholesale-soft: rgba(196, 181, 253, 0.22);
    --theme-mobile-menu-stock-request: #FB923C;
    --theme-mobile-menu-stock-request-soft: rgba(251, 146, 60, 0.22);
    --theme-mobile-menu-pick-requests: #4ADE80;
    --theme-mobile-menu-pick-requests-soft: rgba(74, 222, 128, 0.2);
    --theme-mobile-menu-arrow: #CBD5E1;

    /* Dark mode glow / decorative tokens */
    --theme-mobile-glow-blue: rgba(59, 130, 246, 0.18);
    --theme-mobile-glow-cyan: rgba(34, 211, 238, 0.14);
    --theme-mobile-card-inset: inset 0 1px 0 rgba(255, 255, 255, 0.06);
    --theme-mobile-card-hover-shadow: 0 26px 52px rgba(2, 6, 23, 0.38);
    --theme-mobile-gallery-bg: #0A0A0A;
    --theme-mobile-install-bg: rgba(4, 10, 24, 0.96);
    --theme-mobile-install-text-secondary: rgba(226, 232, 240, 0.7);
    /* .login-card input { color: … !important } — must track dark login field surfaces */
    --theme-mobile-login-input-text: var(--text-primary, #F8FAFC);
    --theme-mobile-login-subtitle: rgba(226, 232, 240, 0.65);
    --theme-mobile-login-btn-from: #60A5FA;
    --theme-mobile-login-btn-to: #3B82F6;
    --theme-mobile-login-btn-border: rgba(96, 165, 250, 0.22);
    --theme-mobile-login-btn-shadow: 0 18px 32px rgba(2, 6, 23, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.08);

    --theme-setup-card-border-dark: rgba(96, 165, 250, 0.12);
    --theme-setup-copy-text: #D9E4F1;
    --theme-setup-field-label: #E2E8F0;
    --theme-setup-input-text: #F8FAFC;
    --theme-setup-muted-text: #9FB0C7;
    --theme-setup-input-border: rgba(91, 107, 132, 0.58);
    --theme-setup-input-focus-ring: 0 0 0 3px rgba(56, 189, 248, 0.16);
    --theme-setup-logo-zone-bg: rgba(15, 23, 42, 0.7);
    --theme-setup-logo-zone-hover-bg: rgba(56, 189, 248, 0.08);
    --theme-setup-accent-text: #93C5FD;
    --theme-setup-upload-icon: #9FB0C7;
    --theme-setup-summary-border: rgba(96, 165, 250, 0.12);
    --theme-setup-summary-bg: rgba(15, 23, 42, 0.72);
    --theme-setup-summary-label: #9FB0C7;
    --theme-setup-list-text: #D9E4F1;
    --theme-setup-list-accent: #93C5FD;

    /* Mobile body background glow / overlay tokens (dark) */
    --theme-mobile-body-glow-top-left: rgba(34, 211, 238, 0.12);
    --theme-mobile-body-glow-top-right: rgba(37, 99, 235, 0.1);
    --theme-mobile-body-glow-bottom: rgba(16, 185, 129, 0.06);
    --theme-mobile-body-overlay-top: rgba(1, 6, 15, 0.2);
    --theme-mobile-body-overlay-spot: rgba(34, 211, 238, 0.08);
    --theme-mobile-header-inset: inset 0 -1px 0 rgba(125, 211, 252, 0.08);
}

@import url("../assets/app-report-surfaces.css?v=1.0.0");
