/* Midnight Volt — ink surfaces, electric lime, restrained glass. */
.theme-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .65rem;
    width: 100%;
    min-height: 40px;
    font-size: .8rem;
}
.theme-toggle:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: 3px;
}
[data-theme="midnight"] {
    color-scheme: dark;
    --bg-body: #0b1017;
    --bg-card: #141c27;
    --bg-card-header: #18222f;
    --bg-surface-elevated: #202c3b;
    --bg-surface-subtle: rgba(193, 244, 100, .055);
    --text-main: #edf3fa;
    --text-muted: #a4b2c5;
    --text-dim: #8a9bb1;
    --border-color: #2c3a4b;
    --border-color-subtle: #243141;
    --border-color-hover: rgba(193, 244, 100, .42);
    --primary: #c1f464;
    --primary-hover: #d2ff85;
    --on-primary: #142008;
    --primary-light: rgba(193, 244, 100, .10);
    --primary-glow: 0 0 22px -8px rgba(193, 244, 100, .24);
    --accent-cyan: #65d9ee;
    --accent-cyan-light: rgba(101, 217, 238, .12);
    --accent-amber: #ffc078;
    --accent-amber-light: rgba(255, 192, 120, .12);
    --accent-amber-glow: 0 0 18px -6px rgba(255, 192, 120, .22);
    --success: #6de0b0;
    --success-light: rgba(109, 224, 176, .12);
    --warning: #ffc078;
    --warning-light: rgba(255, 192, 120, .12);
    --danger: #ff8c9f;
    --danger-light: rgba(255, 140, 159, .12);
    --card-shadow: 0 16px 40px -16px rgba(0, 0, 0, .55), inset 0 1px 0 rgba(255, 255, 255, .025);
    --bs-body-bg: var(--bg-body);
    --bs-body-color: var(--text-main);
    --bs-emphasis-color: var(--text-main);
    --bs-secondary-color: var(--text-muted);
    --bs-tertiary-color: var(--text-dim);
    --bs-secondary-bg: var(--bg-card);
    --bs-tertiary-bg: var(--bg-surface-elevated);
    --bs-border-color: var(--border-color);
    --bs-border-color-translucent: var(--border-color);
    --bs-primary: var(--primary);
    --bs-primary-rgb: 193, 244, 100;
    --bs-success-rgb: 109, 224, 176;
    --bs-danger-rgb: 255, 140, 159;
    --bs-warning-rgb: 255, 192, 120;
    --bs-info-rgb: 101, 217, 238;
    --bs-link-color: var(--primary);
    --bs-link-color-rgb: 193, 244, 100;
    --bs-link-hover-color: var(--primary-hover);
    --bs-link-hover-color-rgb: 210, 255, 133;
    --bs-primary-bg-subtle: var(--primary-light);
    --bs-primary-text-emphasis: var(--primary);
    --bs-primary-border-subtle: var(--border-color-hover);
}
[data-theme="midnight"] .crm-app-layout,
[data-theme="midnight"] .login-page {
    background-image: radial-gradient(ellipse at 85% 0%, rgba(101, 217, 238, .065), transparent 45%),
        radial-gradient(ellipse at 20% 100%, rgba(193, 244, 100, .035), transparent 45%);
    background-attachment: fixed;
}
[data-theme="midnight"] .crm-sidebar { background: #101720; box-shadow: 8px 0 40px rgba(0, 0, 0, .15); }
[data-theme="midnight"] .sidebar-footer { background: #131c27; }

/* A slim, quiet scrollbar that blends into the sidebar. */
[data-theme="midnight"] .sidebar-nav-container {
    scrollbar-width: thin;
    scrollbar-color: #405267 transparent;
}
[data-theme="midnight"] .sidebar-nav-container:hover,
[data-theme="midnight"] .sidebar-nav-container:focus-within {
    scrollbar-color: #647d49 transparent;
}
[data-theme="midnight"] .sidebar-nav-container::-webkit-scrollbar { width: 6px; }
[data-theme="midnight"] .sidebar-nav-container::-webkit-scrollbar-track { background: transparent; }
[data-theme="midnight"] .sidebar-nav-container::-webkit-scrollbar-thumb {
    background: #405267;
    border-radius: 999px;
}
[data-theme="midnight"] .sidebar-nav-container:hover::-webkit-scrollbar-thumb,
[data-theme="midnight"] .sidebar-nav-container:focus-within::-webkit-scrollbar-thumb { background: #647d49; }
[data-theme="midnight"] .sidebar-nav-container::-webkit-scrollbar-button { display: none; }
@media (forced-colors: active) {
    [data-theme="midnight"] .sidebar-nav-container { scrollbar-color: auto; }
}

[data-theme="midnight"] .crm-topbar,
[data-theme="midnight"] .form-actions-sticky { background: #111a25; box-shadow: 0 6px 28px rgba(0, 0, 0, .16); }
@supports ((backdrop-filter: blur(16px)) or (-webkit-backdrop-filter: blur(16px))) {
    [data-theme="midnight"] .crm-topbar,
    [data-theme="midnight"] .form-actions-sticky {
        background: rgba(17, 26, 37, .86);
        backdrop-filter: blur(16px);
        -webkit-backdrop-filter: blur(16px);
    }
    [data-theme="midnight"] .stat-card,
    [data-theme="midnight"] .login-card {
        background: rgba(20, 28, 39, .88);
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
    }
}
[data-theme="midnight"] .brand-icon { background: var(--primary); color: var(--on-primary); }
[data-theme="midnight"] .sidebar-nav-link.active {
    background: linear-gradient(100deg, rgba(193, 244, 100, .14), rgba(193, 244, 100, .035));
    box-shadow: inset 3px 0 0 var(--primary);
}
[data-theme="midnight"] .stat-icon { border: 1px solid currentColor; }
[data-theme="midnight"] .btn-primary {
    --bs-btn-active-bg: var(--primary-hover);
    --bs-btn-active-border-color: var(--primary-hover);
    --bs-btn-active-color: var(--on-primary);
    --bs-btn-disabled-bg: var(--primary);
    --bs-btn-disabled-border-color: var(--primary);
    --bs-btn-disabled-color: var(--on-primary);
    background: var(--primary);
    border-color: var(--primary);
    color: var(--on-primary);
    box-shadow: var(--primary-glow);
}
[data-theme="midnight"] .btn-primary:hover,
[data-theme="midnight"] .btn-primary:focus {
    background: var(--primary-hover);
    border-color: var(--primary-hover);
    color: var(--on-primary);
    box-shadow: 0 0 24px -6px rgba(193, 244, 100, .35);
}
[data-theme="midnight"] .btn-back:hover,
[data-theme="midnight"] .btn-outline-primary:hover,
[data-theme="midnight"] .btn-outline-primary:active {
    background: var(--primary);
    color: var(--on-primary);
    border-color: var(--primary);
}
[data-theme="midnight"] .btn-light {
    --bs-btn-color: var(--text-main);
    --bs-btn-bg: var(--bg-surface-elevated);
    --bs-btn-border-color: var(--border-color);
    --bs-btn-hover-color: var(--text-main);
    --bs-btn-hover-bg: var(--bg-card-header);
    --bs-btn-hover-border-color: var(--border-color-hover);
    --bs-btn-active-color: var(--text-main);
    --bs-btn-active-bg: var(--bg-card-header);
}
[data-theme="midnight"] .btn-close { filter: invert(1) grayscale(100%) brightness(200%); opacity: .7; }
[data-theme="midnight"] .form-check-input:checked[type="checkbox"] {
    --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23142008' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
}
[data-theme="midnight"] .form-check-input:checked[type="radio"] {
    --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23142008'/%3e%3c/svg%3e");
}
[data-theme="midnight"] .form-control:disabled,
[data-theme="midnight"] .form-select:disabled { background: var(--bg-surface-elevated); color: var(--text-muted); }
[data-theme="midnight"] .input-group-text { background: var(--bg-surface-elevated); color: var(--text-muted); border-color: var(--border-color); }
[data-theme="midnight"] .dropdown-item.active,
[data-theme="midnight"] .dropdown-item:active { background: var(--primary-light); color: var(--primary); }
[data-theme="midnight"] .modal-content,
[data-theme="midnight"] .dropdown-menu { box-shadow: 0 24px 60px rgba(0, 0, 0, .5); }
[data-theme="midnight"] .table { --bs-table-color: var(--text-main); --bs-table-hover-color: var(--text-main); --bs-table-striped-color: var(--text-main); --bs-table-hover-bg: rgba(193, 244, 100, .045); }
[data-theme="midnight"] .badge-status-inaktiv,
[data-theme="midnight"] .badge-priority-alacsony { color: var(--text-muted); }
[data-theme="midnight"] .badge-status-aktiv,
[data-theme="midnight"] .exp-ok { color: var(--success); }
[data-theme="midnight"] .badge-status-ajanlat { color: var(--accent-cyan); }
[data-theme="midnight"] .badge-status-elvesztett,
[data-theme="midnight"] .badge-priority-surgos,
[data-theme="midnight"] .exp-danger { color: var(--danger); }
[data-theme="midnight"] .badge-status-lead,
[data-theme="midnight"] .badge-priority-magas,
[data-theme="midnight"] .exp-warning { background: var(--warning-light) !important; color: var(--warning) !important; border-color: rgba(255, 192, 120, .3) !important; }
[data-theme="midnight"] .alert-warning strong,
[data-theme="midnight"] .alert-warning b,
[data-theme="midnight"] .alert-warning i,
[data-theme="midnight"] .alert-warning .bi { color: var(--warning) !important; }
[data-theme="midnight"] .page-link { background: var(--bg-card); color: var(--text-muted); border-color: var(--border-color); }
[data-theme="midnight"] .page-link:hover { background: var(--bg-surface-elevated); color: var(--primary); }
[data-theme="midnight"] .active > .page-link { background: var(--primary); color: var(--on-primary); border-color: var(--primary); }
[data-theme="midnight"] .nav-tabs { --bs-nav-tabs-border-color: var(--border-color); --bs-nav-tabs-link-active-bg: var(--bg-card); --bs-nav-tabs-link-active-color: var(--primary); --bs-nav-tabs-link-active-border-color: var(--border-color); }
[data-theme="midnight"] .nav-pills { --bs-nav-pills-link-active-bg: var(--primary); --bs-nav-pills-link-active-color: var(--on-primary); }
[data-theme="midnight"] ::selection { background: var(--primary); color: var(--on-primary); }
[data-theme="midnight"] { scrollbar-color: #405267 var(--bg-body); }

[data-theme="midnight"] .text-success,
[data-theme="midnight"] .text-success-emphasis { color: var(--success) !important; }
[data-theme="midnight"] .bg-success-subtle,
[data-theme="midnight"] .bg-success-light,
[data-theme="midnight"] .alert-success { background-color: var(--success-light) !important; color: var(--success) !important; border-color: rgba(109, 224, 176, .3) !important; }
[data-theme="midnight"] .border-success,
[data-theme="midnight"] .border-success-subtle { border-color: rgba(109, 224, 176, .35) !important; }
[data-theme="midnight"] .table-success { --bs-table-bg: var(--success-light); --bs-table-color: var(--text-main); --bs-table-striped-bg: rgba(109, 224, 176, .08); --bs-table-striped-color: var(--text-main); --bs-table-hover-bg: rgba(109, 224, 176, .15); --bs-table-hover-color: var(--text-main); }
[data-theme="midnight"] .table-success,
[data-theme="midnight"] .table-success > td,
[data-theme="midnight"] .table-success > th { background-color: var(--success-light) !important; color: var(--text-main) !important; }
[data-theme="midnight"] .btn-success,
[data-theme="midnight"] .btn-outline-success:hover,
[data-theme="midnight"] .btn-outline-success:active { background: var(--success) !important; border-color: var(--success) !important; color: #101720 !important; box-shadow: none !important; }
[data-theme="midnight"] .btn-success:hover,
[data-theme="midnight"] .btn-success:focus { background: var(--success) !important; border-color: var(--success) !important; color: #101720 !important; box-shadow: 0 0 0 3px var(--success-light) !important; }
[data-theme="midnight"] .btn-outline-success { color: var(--success) !important; border-color: rgba(109, 224, 176, .5) !important; }

[data-theme="midnight"] .text-danger,
[data-theme="midnight"] .text-danger-emphasis { color: var(--danger) !important; }
[data-theme="midnight"] .bg-danger-subtle,
[data-theme="midnight"] .bg-danger-light,
[data-theme="midnight"] .alert-danger { background-color: var(--danger-light) !important; color: var(--danger) !important; border-color: rgba(255, 140, 159, .3) !important; }
[data-theme="midnight"] .border-danger,
[data-theme="midnight"] .border-danger-subtle { border-color: rgba(255, 140, 159, .35) !important; }
[data-theme="midnight"] .table-danger { --bs-table-bg: var(--danger-light); --bs-table-color: var(--text-main); --bs-table-striped-bg: rgba(255, 140, 159, .08); --bs-table-striped-color: var(--text-main); --bs-table-hover-bg: rgba(255, 140, 159, .15); --bs-table-hover-color: var(--text-main); }
[data-theme="midnight"] .table-danger,
[data-theme="midnight"] .table-danger > td,
[data-theme="midnight"] .table-danger > th { background-color: var(--danger-light) !important; color: var(--text-main) !important; }
[data-theme="midnight"] .btn-danger,
[data-theme="midnight"] .btn-outline-danger:hover,
[data-theme="midnight"] .btn-outline-danger:active { background: var(--danger) !important; border-color: var(--danger) !important; color: #101720 !important; box-shadow: none !important; }
[data-theme="midnight"] .btn-danger:hover,
[data-theme="midnight"] .btn-danger:focus { background: var(--danger) !important; border-color: var(--danger) !important; color: #101720 !important; box-shadow: 0 0 0 3px var(--danger-light) !important; }
[data-theme="midnight"] .btn-outline-danger { color: var(--danger) !important; border-color: rgba(255, 140, 159, .5) !important; }

[data-theme="midnight"] .text-warning,
[data-theme="midnight"] .text-warning-emphasis { color: var(--warning) !important; }
[data-theme="midnight"] .bg-warning-subtle,
[data-theme="midnight"] .bg-warning-light,
[data-theme="midnight"] .alert-warning { background-color: var(--warning-light) !important; color: var(--warning) !important; border-color: rgba(255, 192, 120, .3) !important; }
[data-theme="midnight"] .border-warning,
[data-theme="midnight"] .border-warning-subtle { border-color: rgba(255, 192, 120, .35) !important; }
[data-theme="midnight"] .table-warning { --bs-table-bg: var(--warning-light); --bs-table-color: var(--text-main); --bs-table-striped-bg: rgba(255, 192, 120, .08); --bs-table-striped-color: var(--text-main); --bs-table-hover-bg: rgba(255, 192, 120, .15); --bs-table-hover-color: var(--text-main); }
[data-theme="midnight"] .table-warning,
[data-theme="midnight"] .table-warning > td,
[data-theme="midnight"] .table-warning > th { background-color: var(--warning-light) !important; color: var(--text-main) !important; }
[data-theme="midnight"] .btn-warning,
[data-theme="midnight"] .btn-outline-warning:hover,
[data-theme="midnight"] .btn-outline-warning:active { background: var(--warning) !important; border-color: var(--warning) !important; color: #101720 !important; box-shadow: none !important; }
[data-theme="midnight"] .btn-warning:hover,
[data-theme="midnight"] .btn-warning:focus { background: var(--warning) !important; border-color: var(--warning) !important; color: #101720 !important; box-shadow: 0 0 0 3px var(--warning-light) !important; }
[data-theme="midnight"] .btn-outline-warning { color: var(--warning) !important; border-color: rgba(255, 192, 120, .5) !important; }

[data-theme="midnight"] .text-info,
[data-theme="midnight"] .text-info-emphasis { color: var(--accent-cyan) !important; }
[data-theme="midnight"] .bg-info-subtle,
[data-theme="midnight"] .bg-info-light,
[data-theme="midnight"] .alert-info { background-color: var(--accent-cyan-light) !important; color: var(--accent-cyan) !important; border-color: rgba(101, 217, 238, .3) !important; }
[data-theme="midnight"] .border-info,
[data-theme="midnight"] .border-info-subtle { border-color: rgba(101, 217, 238, .35) !important; }
[data-theme="midnight"] .table-info { --bs-table-bg: var(--accent-cyan-light); --bs-table-color: var(--text-main); --bs-table-striped-bg: rgba(101, 217, 238, .08); --bs-table-striped-color: var(--text-main); --bs-table-hover-bg: rgba(101, 217, 238, .15); --bs-table-hover-color: var(--text-main); }
[data-theme="midnight"] .table-info,
[data-theme="midnight"] .table-info > td,
[data-theme="midnight"] .table-info > th { background-color: var(--accent-cyan-light) !important; color: var(--text-main) !important; }
[data-theme="midnight"] .btn-info,
[data-theme="midnight"] .btn-outline-info:hover,
[data-theme="midnight"] .btn-outline-info:active { background: var(--accent-cyan) !important; border-color: var(--accent-cyan) !important; color: #101720 !important; box-shadow: none !important; }
[data-theme="midnight"] .btn-info:hover,
[data-theme="midnight"] .btn-info:focus { background: var(--accent-cyan) !important; border-color: var(--accent-cyan) !important; color: #101720 !important; box-shadow: 0 0 0 3px var(--accent-cyan-light) !important; }
[data-theme="midnight"] .btn-outline-info { color: var(--accent-cyan) !important; border-color: rgba(101, 217, 238, .5) !important; }

/* Solid badges keep dark text even when legacy markup asks for text-white. */
[data-theme="midnight"] :is(.bg-primary, .bg-success, .bg-danger, .bg-warning, .bg-info):not(.bg-opacity-10):not(.bg-opacity-25):not(.bg-opacity-50):not(.bg-opacity-75) { color: #101720 !important; }
[data-theme="midnight"] :is(.btn-primary, .btn-success, .btn-danger, .btn-warning, .btn-info) :is(.text-dark, .text-white) { color: #101720 !important; }
@media (prefers-reduced-motion: reduce) {
    [data-theme="midnight"] *, [data-theme="midnight"] *::before, [data-theme="midnight"] *::after { transition: none !important; animation: none !important; }
}

[data-theme="midnight"] {
    --bs-body-bg-rgb: 11, 16, 23;
    --bs-body-color-rgb: 237, 243, 250;
    --bs-emphasis-color-rgb: 237, 243, 250;
    --couples-badge-bg: var(--danger-light);
}
[data-theme="midnight"] .table-light {
    --bs-table-bg: var(--bg-card-header);
    --bs-table-color: var(--text-main);
    --bs-table-striped-bg: var(--bg-surface-elevated);
    --bs-table-striped-color: var(--text-main);
    --bs-table-hover-bg: var(--bg-surface-elevated);
    --bs-table-hover-color: var(--text-main);
    --bs-table-border-color: var(--border-color);
}
[data-theme="midnight"] .btn-outline-dark { color: var(--text-main); border-color: var(--border-color); }
[data-theme="midnight"] .btn-outline-dark:hover { background: var(--bg-surface-elevated); border-color: var(--text-muted); }
[data-theme="midnight"] :is(button, a):focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; }
