/* Dark mode — navy glass + electric blue / violet glow. Scoped to html[data-theme="dark"]. */

html[data-theme="dark"] {
    --theme-bg: #070b14;
    --theme-bg-mid: #0b1020;
    --theme-text: #f8fafc;
    --theme-muted: #94a3b8;
    --theme-blue: #3b82f6;
    --theme-blue-bright: #60a5fa;
    --theme-cyan: #38bdf8;
    --theme-violet: #8b5cf6;
    --theme-violet-bright: #a78bfa;
    --theme-emerald: #34d399;
    --theme-glass: rgba(10, 16, 32, 0.62);
    --theme-glass-strong: rgba(8, 12, 24, 0.82);
    --theme-border: rgba(96, 165, 250, 0.28);
    --theme-border-strong: rgba(125, 211, 252, 0.42);
    --theme-glow-blue: rgba(59, 130, 246, 0.22);
    --theme-glow-violet: rgba(139, 92, 246, 0.16);
    --theme-inset: inset 0 1px 0 rgba(186, 230, 253, 0.14);
    --app-icon-gradient: linear-gradient(135deg, #0284c7 0%, #4f46e5 52%, #9333ea 100%);
    --app-icon-gradient-hover: linear-gradient(135deg, #38bdf8 0%, #6366f1 48%, #d946ef 100%);
    --dock-icon-blue-filter: brightness(0) saturate(100%) invert(32%) sepia(67%) saturate(2476%) hue-rotate(262deg) brightness(97%) contrast(91%);
    --dock-icon-blue-hover-filter: brightness(0) saturate(100%) invert(48%) sepia(78%) saturate(2100%) hue-rotate(268deg) brightness(101%) contrast(101%);
    color-scheme: dark;
}

html[data-theme="dark"],
html[data-theme="dark"] body,
html[data-theme="dark"] body.has-app-bg {
    background-color: var(--theme-bg);
    color: var(--theme-text);
}

html[data-theme="dark"] .app-bg {
    background-color: var(--theme-bg);
    background-image:
        radial-gradient(ellipse 80% 55% at 12% -8%, rgba(59, 130, 246, 0.32), transparent 58%),
        radial-gradient(ellipse 70% 50% at 92% 108%, rgba(139, 92, 246, 0.3), transparent 52%),
        radial-gradient(ellipse 45% 35% at 72% 18%, rgba(14, 165, 233, 0.14), transparent 62%),
        linear-gradient(180deg, #0b1020 0%, #070b14 48%, #090816 100%);
}

html[data-theme="dark"] .app-bg-fill,
html[data-theme="dark"] .app-bg-photo {
    opacity: 0;
    visibility: hidden;
}

html[data-theme="dark"] .app-bg-overlay {
    background:
        radial-gradient(ellipse 55% 45% at 50% 38%, rgba(59, 130, 246, 0.07), transparent 70%),
        linear-gradient(180deg, rgba(7, 11, 20, 0.18) 0%, rgba(7, 11, 20, 0.42) 100%);
}

html[data-theme="dark"] body.has-app-bg h1,
html[data-theme="dark"] body.has-app-bg h2,
html[data-theme="dark"] body.has-app-bg .h3,
html[data-theme="dark"] body.has-app-bg .lead,
html[data-theme="dark"] .app-page-title {
    color: var(--theme-text);
    text-shadow:
        0 0 18px rgba(59, 130, 246, 0.28),
        0 1px 3px rgba(0, 0, 0, 0.45);
}

html[data-theme="dark"] .app-page-subtitle,
html[data-theme="dark"] body.has-app-bg .app-page-lede,
html[data-theme="dark"] body.has-app-bg .text-muted {
    color: var(--theme-muted) !important;
}

html[data-theme="dark"] body.has-app-bg .navbar.navbar-glass {
    background: rgba(8, 12, 24, 0.78) !important;
    border-bottom: 1px solid var(--theme-border);
    box-shadow: 0 0 28px var(--theme-glow-blue);
}

html[data-theme="dark"] .navbar-welcome {
    color: rgba(226, 232, 240, 0.92);
}

html[data-theme="dark"] .navbar-settings-btn:hover,
html[data-theme="dark"] .navbar-settings-btn:focus-visible,
html[data-theme="dark"] .navbar-settings-btn.show {
    color: var(--theme-cyan);
    background: rgba(59, 130, 246, 0.16);
    box-shadow: 0 0 16px rgba(59, 130, 246, 0.28);
}

html[data-theme="dark"] .navbar-settings-menu {
    background: var(--theme-glass-strong);
    border: 1px solid var(--theme-border);
    box-shadow:
        0 0 28px var(--theme-glow-blue),
        0 18px 36px rgba(0, 0, 0, 0.4);
}

html[data-theme="dark"] .navbar-settings-menu .form-check-input:checked {
    background-color: var(--theme-blue);
    border-color: var(--theme-blue-bright);
    box-shadow: 0 0 10px var(--theme-glow-blue);
}

html[data-theme="dark"] .navbar-settings-menu .navbar-appearance-picker select,
html[data-theme="dark"] .navbar-settings-menu .navbar-voice-picker select {
    background: rgba(15, 23, 42, 0.7);
    border-color: var(--theme-border);
    color: var(--theme-text);
}

html[data-theme="dark"] .navbar-settings-menu .navbar-appearance-picker select:focus,
html[data-theme="dark"] .navbar-settings-menu .navbar-voice-picker select:focus {
    border-color: var(--theme-blue-bright);
    box-shadow: 0 0 0 0.15rem rgba(59, 130, 246, 0.28);
    outline: none;
}

html[data-theme="dark"] body.has-app-bg .card,
html[data-theme="dark"] body.has-app-bg .card.bg-dark,
html[data-theme="dark"] body.has-app-bg .table-container,
html[data-theme="dark"] .home-glass-panel,
html[data-theme="dark"] .dock-inner {
    background: var(--theme-glass) !important;
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    border: 1px solid var(--theme-border) !important;
    box-shadow:
        0 0 0 1px var(--theme-glow-violet),
        0 0 32px var(--theme-glow-blue),
        0 24px 48px rgba(0, 0, 0, 0.42),
        var(--theme-inset);
}

html[data-theme="dark"] body.has-app-bg .card-header,
html[data-theme="dark"] body.has-app-bg .card-footer {
    background: rgba(15, 23, 42, 0.45);
    border-color: rgba(96, 165, 250, 0.18);
}

html[data-theme="dark"] body.has-app-bg .table-container .table,
html[data-theme="dark"] body.has-app-bg .card .table,
html[data-theme="dark"] body.has-app-bg .table-container .table.table-dark,
html[data-theme="dark"] body.has-app-bg .card .table.table-dark {
    --bs-table-color: var(--theme-text);
    --bs-table-striped-bg: rgba(59, 130, 246, 0.06);
    --bs-table-hover-bg: rgba(59, 130, 246, 0.12);
    --bs-table-active-bg: rgba(139, 92, 246, 0.12);
    --bs-table-border-color: rgba(96, 165, 250, 0.16);
    color: var(--theme-text);
}

html[data-theme="dark"] body.has-app-bg .table-scroll thead th,
html[data-theme="dark"] body.has-app-bg .table-container .table thead th,
html[data-theme="dark"] body.has-app-bg .card .table thead th {
    background-color: rgba(37, 99, 235, 0.18) !important;
    border-color: rgba(96, 165, 250, 0.2) !important;
    color: #e0f2fe;
}

html[data-theme="dark"] body.has-app-bg .table-hover > tbody > tr:hover > * {
    --bs-table-accent-bg: rgba(59, 130, 246, 0.12);
}

html[data-theme="dark"] body.has-app-bg .table-scroll,
html[data-theme="dark"] body.has-app-bg .table-responsive {
    scrollbar-color: rgba(96, 165, 250, 0.45) rgba(15, 23, 42, 0.4);
}

html[data-theme="dark"] body.has-app-bg .table-scroll::-webkit-scrollbar-thumb,
html[data-theme="dark"] body.has-app-bg .table-responsive::-webkit-scrollbar-thumb {
    background: rgba(96, 165, 250, 0.42);
}

html[data-theme="dark"] .form-control,
html[data-theme="dark"] .form-select,
html[data-theme="dark"] body.has-app-bg .form-control,
html[data-theme="dark"] body.has-app-bg .form-select,
html[data-theme="dark"] [class*="glass-input"],
html[data-theme="dark"] .intake-search-input,
html[data-theme="dark"] .clearing-search-input {
    background-color: rgba(15, 23, 42, 0.72) !important;
    color: var(--theme-text) !important;
    border-color: var(--theme-border) !important;
    color-scheme: dark;
}

html[data-theme="dark"] .form-control:focus,
html[data-theme="dark"] .form-select:focus,
html[data-theme="dark"] body.has-app-bg .form-control:focus,
html[data-theme="dark"] body.has-app-bg .form-select:focus,
html[data-theme="dark"] [class*="glass-input"]:focus,
html[data-theme="dark"] [class*="glass-input"]:focus-visible {
    background-color: rgba(15, 23, 42, 0.88) !important;
    border-color: var(--theme-blue-bright) !important;
    box-shadow:
        0 0 0 0.2rem rgba(59, 130, 246, 0.28),
        0 0 18px rgba(59, 130, 246, 0.22) !important;
    color: var(--theme-text) !important;
}

html[data-theme="dark"] .form-control::placeholder,
html[data-theme="dark"] [class*="glass-input"]::placeholder {
    color: rgba(148, 163, 184, 0.78);
}

html[data-theme="dark"] body.has-app-bg .form-select option,
html[data-theme="dark"] body.has-app-bg .table .form-select option {
    background-color: #0f172a;
    color: var(--theme-text);
}

html[data-theme="dark"] body.has-app-bg .modal-content,
html[data-theme="dark"] body.has-app-bg .modal-content.bg-dark {
    background: var(--theme-glass-strong) !important;
    border: 1px solid var(--theme-border);
    box-shadow:
        0 0 40px var(--theme-glow-blue),
        0 24px 48px rgba(0, 0, 0, 0.5);
    color: var(--theme-text);
}

html[data-theme="dark"] .app-toast {
    background: var(--theme-glass-strong);
    border-color: var(--theme-border);
    box-shadow: 0 0 22px var(--theme-glow-blue);
}

html[data-theme="dark"] .app-toast--success {
    border-color: rgba(52, 211, 153, 0.45);
    box-shadow: 0 0 18px rgba(52, 211, 153, 0.22);
}

html[data-theme="dark"] .dock-item,
html[data-theme="dark"] .home-icon-tile {
    background: rgba(15, 23, 42, 0.45);
    border: 1px solid rgba(96, 165, 250, 0.22);
    box-shadow:
        var(--theme-inset),
        0 4px 14px rgba(0, 0, 0, 0.22);
}

html[data-theme="dark"] .dock-item:hover,
html[data-theme="dark"] .dock-item:focus-visible,
html[data-theme="dark"] .home-icon-tile:hover,
html[data-theme="dark"] .home-icon-tile:focus-visible {
    background: rgba(37, 99, 235, 0.22);
    border-color: var(--theme-border-strong);
    box-shadow:
        0 0 22px var(--theme-glow-blue),
        0 0 18px var(--theme-glow-violet),
        0 10px 24px rgba(0, 0, 0, 0.28),
        var(--theme-inset);
}

html[data-theme="dark"] .app-icon-fill {
    background-image: var(--app-icon-gradient);
    -webkit-mask-image: var(--icon-url);
    mask-image: var(--icon-url);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    mask-mode: alpha;
    filter: drop-shadow(0 0 10px rgba(147, 51, 234, 0.48));
}

html[data-theme="dark"] .app-icon-fill .dock-icon,
html[data-theme="dark"] .app-icon-fill .home-app-icon {
    opacity: 0;
    filter: none !important;
}

html[data-theme="dark"] .dock-item:hover .app-icon-fill,
html[data-theme="dark"] .dock-item:focus-visible .app-icon-fill,
html[data-theme="dark"] .home-icon-tile:hover .app-icon-fill,
html[data-theme="dark"] .home-icon-tile:focus-visible .app-icon-fill {
    background-image: var(--app-icon-gradient-hover);
    filter: drop-shadow(0 0 14px rgba(217, 70, 239, 0.58));
}

html[data-theme="dark"] .site-footer {
    color: rgba(148, 163, 184, 0.55);
    text-shadow: 0 0 12px rgba(59, 130, 246, 0.18);
}

html[data-theme="dark"] .btn-primary {
    background: linear-gradient(135deg, #2563eb 0%, #4f46e5 55%, #7c3aed 100%);
    border-color: rgba(147, 197, 253, 0.45);
    box-shadow:
        0 0 18px rgba(59, 130, 246, 0.4),
        var(--theme-inset);
}

html[data-theme="dark"] .btn-primary:hover,
html[data-theme="dark"] .btn-primary:focus {
    background: linear-gradient(135deg, #1d4ed8 0%, #4338ca 55%, #6d28d9 100%);
    border-color: rgba(191, 219, 254, 0.55);
    box-shadow: 0 0 24px rgba(59, 130, 246, 0.5);
    color: #ffffff;
}

html[data-theme="dark"] .btn-outline-light,
html[data-theme="dark"] .btn-outline-info,
html[data-theme="dark"] .btn-outline-glass {
    color: #e0f2fe;
    border-color: var(--theme-border);
    background: rgba(15, 23, 42, 0.35);
}

html[data-theme="dark"] .btn-outline-light:hover,
html[data-theme="dark"] .btn-outline-info:hover,
html[data-theme="dark"] .btn-outline-glass:hover,
html[data-theme="dark"] .btn-outline-light:focus-visible,
html[data-theme="dark"] .btn-outline-info:focus-visible,
html[data-theme="dark"] .btn-outline-glass:focus-visible {
    color: #ffffff;
    background: rgba(37, 99, 235, 0.28);
    border-color: var(--theme-blue-bright);
    box-shadow: 0 0 16px var(--theme-glow-blue);
}

html[data-theme="dark"] .calendar-page .btn-outline-light {
    color: #e0f2fe !important;
    background: rgba(15, 23, 42, 0.58) !important;
    border-color: var(--theme-border) !important;
    box-shadow:
        var(--theme-inset),
        0 0 14px rgba(59, 130, 246, 0.14);
}

html[data-theme="dark"] .calendar-page .btn-outline-light:hover,
html[data-theme="dark"] .calendar-page .btn-outline-light:focus-visible {
    color: #ffffff !important;
    background: rgba(37, 99, 235, 0.28) !important;
    border-color: var(--theme-border-strong) !important;
    box-shadow: 0 0 16px var(--theme-glow-blue);
}

html[data-theme="dark"] .calendar-page .btn-light {
    color: #f8fafc !important;
    background:
        linear-gradient(
            105deg,
            rgba(8, 12, 24, 0.92) 0%,
            rgba(37, 99, 235, 0.55) 48%,
            rgba(147, 51, 234, 0.55) 100%
        ) !important;
    border-color: rgba(167, 139, 250, 0.5) !important;
    box-shadow:
        0 0 18px rgba(59, 130, 246, 0.38),
        0 0 16px rgba(147, 51, 234, 0.28),
        var(--theme-inset);
}

html[data-theme="dark"] .calendar-page .cal-toolbar-action-btn {
    border-color: rgba(191, 219, 254, 0.5) !important;
    box-shadow:
        0 0 18px rgba(59, 130, 246, 0.4),
        var(--theme-inset);
}

html[data-theme="dark"] .dropdown-menu {
    background: var(--theme-glass-strong);
    border: 1px solid var(--theme-border);
    color: var(--theme-text);
}

html[data-theme="dark"] .dropdown-item {
    color: rgba(248, 250, 252, 0.92);
}

html[data-theme="dark"] .dropdown-item:hover,
html[data-theme="dark"] .dropdown-item:focus {
    background: rgba(59, 130, 246, 0.18);
    color: #ffffff;
}

html[data-theme="dark"] .tooltip .tooltip-inner,
html[data-theme="dark"] .popover {
    background: rgba(8, 12, 24, 0.94);
    color: var(--theme-text);
    border: 1px solid var(--theme-border);
}

html[data-theme="dark"] .list-group-item {
    background: rgba(15, 23, 42, 0.45);
    border-color: rgba(96, 165, 250, 0.16);
    color: var(--theme-text);
}

html[data-theme="dark"] .pagination .page-link {
    background: rgba(15, 23, 42, 0.6);
    border-color: var(--theme-border);
    color: #e0f2fe;
}

html[data-theme="dark"] .pagination .page-item.active .page-link {
    background: linear-gradient(135deg, #2563eb, #7c3aed);
    border-color: var(--theme-blue-bright);
    box-shadow: 0 0 14px var(--theme-glow-blue);
}

html[data-theme="dark"] .nav-tabs .nav-link {
    color: var(--theme-muted);
    border-color: transparent;
}

html[data-theme="dark"] .nav-tabs .nav-link.active {
    background: rgba(37, 99, 235, 0.2);
    color: #ffffff;
    border-color: var(--theme-border);
    box-shadow: 0 0 16px rgba(59, 130, 246, 0.22);
}

html[data-theme="dark"] .badge.bg-primary {
    background: linear-gradient(135deg, #2563eb, #7c3aed) !important;
    box-shadow: 0 0 10px rgba(59, 130, 246, 0.35);
}

html[data-theme="dark"] .progress {
    background: rgba(15, 23, 42, 0.65);
}

html[data-theme="dark"] .progress-bar {
    background: linear-gradient(90deg, #2563eb, #8b5cf6);
    box-shadow: 0 0 12px rgba(59, 130, 246, 0.4);
}

html[data-theme="dark"] .delta-voice-pill {
    background: rgba(15, 23, 42, 0.55);
    border-color: var(--theme-border);
    box-shadow:
        0 0 18px var(--theme-glow-blue),
        var(--theme-inset);
}

html[data-theme="dark"] .delta-voice-pill:hover,
html[data-theme="dark"] .delta-voice-pill:focus-visible {
    background: rgba(37, 99, 235, 0.28);
    border-color: var(--theme-border-strong);
    box-shadow: 0 0 24px rgba(59, 130, 246, 0.4);
}

html[data-theme="dark"] .delta-voice-sheet {
    background: rgba(8, 12, 24, 0.9);
    border: 1px solid var(--theme-border);
    box-shadow:
        0 0 36px var(--theme-glow-blue),
        0 24px 48px rgba(0, 0, 0, 0.45),
        var(--theme-inset);
}

html[data-theme="dark"] .delta-voice-sheet__header {
    border-bottom-color: rgba(96, 165, 250, 0.2);
}

html[data-theme="dark"] .delta-voice-collapse,
html[data-theme="dark"] .delta-voice-stop {
    background: rgba(37, 99, 235, 0.18);
    border-color: var(--theme-border);
}

html[data-theme="dark"] .calendar-page .cal-grid-card,
html[data-theme="dark"] .calendar-page .cal-task-card,
html[data-theme="dark"] .calendar-page .cal-task-slot .card {
    border-color: var(--theme-border) !important;
    box-shadow:
        0 0 24px var(--theme-glow-blue),
        var(--theme-inset);
}

html[data-theme="dark"] .calendar-page .cal-week-timed-col.is-drop-target,
html[data-theme="dark"] .calendar-page .cal-week-allday-cell.is-drop-target {
    background: rgba(59, 130, 246, 0.16);
    box-shadow: inset 0 0 18px rgba(139, 92, 246, 0.18);
}

html[data-theme="dark"] .analytics-kpi-manage-btn {
    box-shadow:
        0 0 22px rgba(59, 130, 246, 0.45),
        var(--theme-inset);
}

html[data-theme="dark"] .offcanvas,
html[data-theme="dark"] .offcanvas-lg {
    background: var(--theme-glass-strong);
    color: var(--theme-text);
    border-color: var(--theme-border);
}

html[data-theme="dark"] .accordion-item {
    background: transparent;
    border-color: rgba(96, 165, 250, 0.18);
}

html[data-theme="dark"] .accordion-button {
    background: rgba(15, 23, 42, 0.55);
    color: var(--theme-text);
}

html[data-theme="dark"] .accordion-button:not(.collapsed) {
    background: rgba(37, 99, 235, 0.22);
    color: #ffffff;
    box-shadow: 0 0 16px rgba(59, 130, 246, 0.2);
}

html[data-theme="dark"] .form-check-input:checked {
    background-color: var(--theme-blue);
    border-color: var(--theme-blue-bright);
}

html[data-theme="dark"] a {
    color: var(--theme-cyan);
}

html[data-theme="dark"] a:hover {
    color: var(--theme-blue-bright);
}

html[data-theme="dark"] .intake-search-input,
html[data-theme="dark"] .clearing-search-input,
html[data-theme="dark"] .irs-pre-filing-glass-input,
html[data-theme="dark"] .fraud-clearing-glass-input,
html[data-theme="dark"] .ack-glass-input {
    background-color: rgba(15, 23, 42, 0.72) !important;
    border-color: var(--theme-border) !important;
    box-shadow:
        var(--theme-inset),
        0 0 16px rgba(59, 130, 246, 0.12);
}

html[data-theme="dark"] .intake-add-client-btn,
html[data-theme="dark"] .intake-add-client-btn:hover,
html[data-theme="dark"] .intake-add-client-btn:focus-visible {
    border-color: var(--theme-border-strong) !important;
    box-shadow:
        0 0 18px rgba(59, 130, 246, 0.4),
        var(--theme-inset);
}
