/* Dark mode toggled via data-theme="dark" on html */
:root[data-theme="dark"] {
	--dd-bg: #0f172a;
	--dd-surface: #0b1220;
	--dd-text: #e5e7eb;
	--dd-muted: #94a3b8;
	--dd-border: #1f2a44;
	color-scheme: dark;
	--bs-body-bg: var(--dd-bg);
	--bs-body-color: var(--dd-text);
	--bs-secondary-color: var(--dd-muted);
	--bs-border-color: var(--dd-border);
	--bs-heading-color: var(--dd-text);
	--bs-link-color: #7cc4ff;
	--bs-link-hover-color: #a7d6ff;
	--bs-secondary-bg: #0b1220;
	--bs-tertiary-bg: #0f1a2e;
}
:root[data-theme="dark"] .dd-topbar { background: var(--dd-surface); border-color: var(--dd-border); }
:root[data-theme="dark"] .dd-card { background: var(--dd-surface); border-color: var(--dd-border); }
:root[data-theme="dark"] .table { color: var(--dd-text); }
:root[data-theme="dark"] .table thead { background: #0f1a2e; }
:root[data-theme="dark"] .dd-sidebar { box-shadow: none; background: var(--dd-sidebar-bg); }
:root[data-theme="dark"] .dd-sidebar { background: linear-gradient(180deg, #171b2a 0%, #0f1422 100%); border-right: 1px solid #1f2a44; }
:root[data-theme="dark"] body { background: var(--dd-bg); color: var(--dd-text); }
:root[data-theme="dark"] .text-muted { color: var(--dd-muted) !important; }
:root[data-theme="dark"] .text-dark,
:root[data-theme="dark"] .link-dark { color: var(--dd-text) !important; }

:root[data-theme="dark"] .card { background: var(--dd-surface); border-color: var(--dd-border); color: var(--dd-text); }
:root[data-theme="dark"] .card-header,
:root[data-theme="dark"] .card-footer { border-color: var(--dd-border); }

:root[data-theme="dark"] .table { border-color: var(--dd-border); }
:root[data-theme="dark"] .table {
	--bs-table-color: var(--dd-text);
	--bs-table-bg: transparent;
	--bs-table-striped-color: var(--dd-text);
	--bs-table-hover-color: var(--dd-text);
	--bs-table-active-color: var(--dd-text);
}
:root[data-theme="dark"] .table > :not(caption) > * > * {
	background-color: transparent;
	border-color: var(--dd-border);
	color: var(--dd-text);
}
:root[data-theme="dark"] .table-light { background: #0f1a2e !important; color: var(--dd-text); }
:root[data-theme="dark"] .table-striped > tbody > tr:nth-of-type(odd) > * { background-color: rgba(255,255,255,.02); }
:root[data-theme="dark"] .table-hover > tbody > tr:hover > * { background-color: rgba(255,255,255,.04); }

:root[data-theme="dark"] .form-control,
:root[data-theme="dark"] .form-select,
:root[data-theme="dark"] .form-check-input,
:root[data-theme="dark"] .input-group-text {
	background: #0f1a2e;
	color: var(--dd-text);
	border-color: var(--dd-border);
}
:root[data-theme="dark"] .form-control::placeholder { color: #8ea3c0; }
:root[data-theme="dark"] .form-control:focus,
:root[data-theme="dark"] .form-select:focus {
	border-color: #395a92;
	box-shadow: 0 0 0 .2rem rgba(59,130,246,.15);
}
:root[data-theme="dark"] .form-check-input:checked {
	background-color: var(--dd-primary);
	border-color: var(--dd-primary);
}

:root[data-theme="dark"] .dropdown-menu {
	background: #0f1a2e;
	border-color: var(--dd-border);
	color: var(--dd-text);
}
:root[data-theme="dark"] .dropdown-item { color: var(--dd-text); }
:root[data-theme="dark"] .dropdown-item:hover,
:root[data-theme="dark"] .dropdown-item:focus { background: #16223a; color: var(--dd-text); }

:root[data-theme="dark"] .list-group-item {
	background: var(--dd-surface);
	color: var(--dd-text);
	border-color: var(--dd-border);
}
:root[data-theme="dark"] .list-group-item-action:hover { background: #16223a; color: var(--dd-text); }

:root[data-theme="dark"] .modal-content,
:root[data-theme="dark"] .offcanvas,
:root[data-theme="dark"] .popover {
	background: var(--dd-surface);
	color: var(--dd-text);
	border-color: var(--dd-border);
}

:root[data-theme="dark"] .bg-light,
:root[data-theme="dark"] .bg-white {
	background: #0f1a2e !important;
	color: var(--dd-text);
}
:root[data-theme="dark"] .badge.bg-light,
:root[data-theme="dark"] .badge.text-dark { color: var(--dd-text) !important; }
:root[data-theme="dark"] .badge.bg-light { background: #1a2640 !important; }

:root[data-theme="dark"] .btn-outline-secondary {
	color: var(--dd-text);
	border-color: var(--dd-border);
}
:root[data-theme="dark"] .btn-outline-secondary:hover {
	background: #1a2640;
	border-color: #2a3a5d;
	color: var(--dd-text);
}

:root[data-theme="dark"] .breadcrumb-item,
:root[data-theme="dark"] .breadcrumb-item a { color: var(--dd-muted); }
:root[data-theme="dark"] .breadcrumb-item.active { color: var(--dd-text); }
:root[data-theme="dark"] .breadcrumb-item + .breadcrumb-item::before { color: var(--dd-muted); }

:root[data-theme="dark"] .dd-mobile-nav { background: var(--dd-surface); border-color: var(--dd-border); }
:root[data-theme="dark"] .dd-sidebar-overlay { background: rgba(2,6,23,.6); }
:root[data-theme="dark"] .dd-map-toggles { background: #0f1a2e; border-color: var(--dd-border); }
:root[data-theme="dark"] .dd-map-footer { background: #0f1a2e; }
:root[data-theme="dark"] .dd-map-pill { background: #0b1220; border-color: var(--dd-border); color: var(--dd-text); }

:root[data-theme="dark"] .dd-theme-btn {
	background: radial-gradient(120% 120% at 30% 20%, #1f2d4d 0%, #1a2a4a 35%, #15233e 60%, #101a2f 100%);
	color: #dbeafe;
	border-color: #2a3a5d;
	box-shadow: 0 6px 14px rgba(59,130,246,.25), inset 0 1px 0 rgba(255,255,255,.08);
}
:root[data-theme="dark"] .dd-theme-btn::after {
	background: radial-gradient(60% 60% at 70% 25%, rgba(96,165,250,.35), rgba(255,255,255,0) 65%);
	opacity: .9;
}
:root[data-theme="dark"] .dd-theme-btn:focus-visible { box-shadow: 0 0 0 .2rem rgba(96,165,250,.25); }

:root[data-theme="dark"] .dd-icon-btn {
	border-color: #23324f;
	box-shadow: 0 2px 8px rgba(2,6,23,.5), inset 0 1px 0 rgba(255,255,255,.06);
}
:root[data-theme="dark"] .dd-icon-lang {
	background: linear-gradient(135deg, #0b2a3e 0%, #0e3b55 100%);
	color: #c7f1ff;
}
:root[data-theme="dark"] .dd-icon-lang::before { display: none; }
:root[data-theme="dark"] .dd-icon-notif {
	background: linear-gradient(135deg, #2c1b11 0%, #5a2b12 100%);
	color: #ffe7d4;
}
:root[data-theme="dark"] .dd-icon-notif .badge { border-color: #0b1220; }
:root[data-theme="dark"] .dd-icon-lang:hover { background: linear-gradient(135deg, #0d334b 0%, #114664 100%); }
:root[data-theme="dark"] .dd-icon-notif:hover { background: linear-gradient(135deg, #3a2113 0%, #6a2f12 100%); }
