/* Loaded after page-specific CSS: a complete dark theme, not a light-theme tint. */
html[data-selvik-theme="dark"] {
  color-scheme: dark;
  --bs-body-bg: #0d1624;
  --bs-body-color: #edf3fc;
  --bs-emphasis-color: #f1f6ff;
  --bs-secondary-color: #c2cede;
  --bs-secondary-bg: #1b2a3d;
  --bs-tertiary-bg: #162232;
  --bs-border-color: #30435b;
  --bs-link-color: #9ac1ff;
  --color-bg: #0d1624;
  --color-surface: #162232;
  --color-surface-alt: #1b2a3d;
  --color-border: #30435b;
  --color-border-subtle: #26394f;
  --text-primary: #edf3fc;
  --text-secondary: #c2cede;
  --text-muted: #9aaac0;
  --success: #54c77f;
  --success-soft: #173d2b;
  --warning: #f0bb58;
  --warning-soft: #46361a;
  --danger: #ff858e;
  --danger-soft: #4a2029;
  --bg-card: var(--color-surface);
  --border-color: var(--color-border);
  --score-low: #ff858e;
  --score-mid: #f0bb58;
  --score-high: #65d990;
  scrollbar-color: #5c6f88 #101a28;
}

html[data-selvik-theme="dark"] body.selvik-body,
html[data-selvik-theme="dark"] .main-content,
html[data-selvik-theme="dark"] .app-shell { background: var(--color-bg) !important; color: var(--text-primary); }
html[data-selvik-theme="dark"] .topbar.navbar,
html[data-selvik-theme="dark"] .sidebar { background: #162232 !important; border-color: var(--color-border-subtle) !important; }
html[data-selvik-theme="dark"] .sidebar .nav-link { color: #aebdd0 !important; }
html[data-selvik-theme="dark"] .sidebar .nav-link:hover { color: #eef5ff !important; background: #20334b !important; }
html[data-selvik-theme="dark"] .sidebar-nav .nav-link.active,
html[data-selvik-theme="dark"] .sidebar .nav-link.active { color: #e9f2ff !important; background: #294a79 !important; border-left-color: #69a2ff !important; box-shadow: inset 3px 0 #69a2ff; }

html[data-selvik-theme="dark"] .card,
html[data-selvik-theme="dark"] .metric-card,
html[data-selvik-theme="dark"] .board-card,
html[data-selvik-theme="dark"] .notes-card,
html[data-selvik-theme="dark"] .tasks-card,
html[data-selvik-theme="dark"] .activities-card,
html[data-selvik-theme="dark"] .product-module-card,
html[data-selvik-theme="dark"] .quote-cart-panel,
html[data-selvik-theme="dark"] .modal-content,
html[data-selvik-theme="dark"] .search-modal-content { background: var(--color-surface) !important; color: var(--text-primary) !important; border-color: var(--color-border) !important; }
html[data-selvik-theme="dark"] .quote-cart-header,
html[data-selvik-theme="dark"] .quote-cart-footer { background: var(--color-surface) !important; color: var(--text-primary) !important; border-color: var(--color-border) !important; }
html[data-selvik-theme="dark"] .btn-close-cart { background: #26384e; color: var(--text-secondary); }
html[data-selvik-theme="dark"] .btn-close-cart:hover { background: #334963; color: var(--text-primary); }
html[data-selvik-theme="dark"] .product-qty-modal-content { background: var(--color-surface) !important; color: var(--text-primary) !important; border: 1px solid var(--color-border); }
html[data-selvik-theme="dark"] .card-header,
html[data-selvik-theme="dark"] .metric-card__badge,
html[data-selvik-theme="dark"] .note-item,
html[data-selvik-theme="dark"] .quote-cart-client,
html[data-selvik-theme="dark"] .quote-cart-item,
html[data-selvik-theme="dark"] .quote-cart-notes { background: var(--color-surface-alt) !important; border-color: var(--color-border) !important; }

html[data-selvik-theme="dark"] .skeleton,
html[data-selvik-theme="dark"] [data-loading-placeholder] { background: linear-gradient(90deg, #26384e 25%, #334963 50%, #26384e 75%) !important; background-size: 200% 100% !important; }
html[data-selvik-theme="dark"] .metric-card__icon { background: #213650 !important; color: #7eafff !important; }
html[data-selvik-theme="dark"] .metric-card--inventory .metric-card__icon,
html[data-selvik-theme="dark"] .metric-card--success .metric-card__icon { background: #173d2b !important; color: #65d990 !important; }
html[data-selvik-theme="dark"] .metric-card--warning .metric-card__icon,
html[data-selvik-theme="dark"] .metric-card--catalog .metric-card__icon { background: #46361a !important; color: #f6c766 !important; }
html[data-selvik-theme="dark"] .metric-card--tasks .metric-card__icon,
html[data-selvik-theme="dark"] .metric-card--priority .metric-card__icon { background: #4a2029 !important; color: #ff9ea5 !important; }

html[data-selvik-theme="dark"] .form-control,
html[data-selvik-theme="dark"] .form-select,
html[data-selvik-theme="dark"] .form-check-input { color: var(--text-primary) !important; background-color: #101b2a !important; border-color: #435a74 !important; }
html[data-selvik-theme="dark"] .form-control::placeholder { color: #8193aa !important; }
html[data-selvik-theme="dark"] option { background: #162232; color: #edf3fc; }
/* Búsqueda global: una sola píldora, también en el tema oscuro. */
html[data-selvik-theme="dark"] .topbar-search,
html[data-selvik-theme="dark"] .topbar-search:focus-within {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
html[data-selvik-theme="dark"] .topbar-search .form-control {
  background: #1b2a3d !important;
  border-color: #466487 !important;
  color: #f1f5f9 !important;
  box-shadow: none !important;
}
html[data-selvik-theme="dark"] .topbar-search:focus-within .form-control {
  background: #202f44 !important;
  border-color: #78a6ff !important;
  box-shadow: 0 0 0 3px rgba(120, 166, 255, .18) !important;
}
html[data-selvik-theme="dark"] .btn-icon { color: #c4d2e4 !important; background: #20324a !important; border-color: #3b526e !important; }
html[data-selvik-theme="dark"] .btn-light,
html[data-selvik-theme="dark"] .bg-light,
html[data-selvik-theme="dark"] .bg-white { color: var(--text-primary) !important; background-color: #203047 !important; }
html[data-selvik-theme="dark"] .text-dark,
html[data-selvik-theme="dark"] .text-body { color: var(--text-primary) !important; }

html[data-selvik-theme="dark"] .table,
html[data-selvik-theme="dark"] .table > :not(caption) > * > * { --bs-table-bg: transparent; --bs-table-color: var(--text-primary); --bs-table-border-color: var(--color-border); color: var(--text-primary) !important; }
html[data-selvik-theme="dark"] .table thead,
html[data-selvik-theme="dark"] .table thead th { background: #1b2a3d !important; color: #c8d4e4 !important; }
html[data-selvik-theme="dark"] .table-striped > tbody > tr:nth-of-type(odd) > * { --bs-table-accent-bg: rgba(130, 157, 190, .08); }
html[data-selvik-theme="dark"] .table-hover > tbody > tr:hover > * { --bs-table-accent-bg: rgba(88, 150, 255, .13); }
html[data-selvik-theme="dark"] .list-group-item,
html[data-selvik-theme="dark"] .list-group-item-dark,
html[data-selvik-theme="dark"] .dropdown-menu { color: var(--text-primary) !important; background: var(--color-surface) !important; border-color: var(--color-border) !important; }
html[data-selvik-theme="dark"] .list-group-item-action:hover { background: #20334b !important; }
html[data-selvik-theme="dark"] .nav-tabs,
html[data-selvik-theme="dark"] .nav-tabs .nav-link,
html[data-selvik-theme="dark"] .modal-header,
html[data-selvik-theme="dark"] .modal-footer { border-color: var(--color-border) !important; }
html[data-selvik-theme="dark"] .nav-tabs .nav-link { color: #bdcbe0; }
html[data-selvik-theme="dark"] .nav-tabs .nav-link.active { color: #f1f6ff; background: #203047; }
html[data-selvik-theme="dark"] .pagination .page-link { color: #aecdff; background: #1b2a3d; border-color: #435a74; }
html[data-selvik-theme="dark"] .btn-close { filter: invert(1) grayscale(1); }
html[data-selvik-theme="dark"] .empty-state,
html[data-selvik-theme="dark"] .quote-cart-empty { color: var(--text-secondary); background: #1a2a3e !important; border-color: #435a74 !important; }

/* Native dialogs and management panels must follow the page palette. */
html[data-selvik-theme="dark"] .control-dialog,
html[data-selvik-theme="dark"] .audit-dialog,
html[data-selvik-theme="dark"] .control-panel,
html[data-selvik-theme="dark"] .control-card,
html[data-selvik-theme="dark"] .control-task,
html[data-selvik-theme="dark"] .control-filters,
html[data-selvik-theme="dark"] .control-actions-popover,
html[data-selvik-theme="dark"] .audit-card,
html[data-selvik-theme="dark"] .audit-panel {
  background: var(--color-surface);
  color: var(--text-primary);
  border-color: var(--color-border);
}
html[data-selvik-theme="dark"] .control-tabs,
html[data-selvik-theme="dark"] .audit-quality,
html[data-selvik-theme="dark"] .audit-evidence,
html[data-selvik-theme="dark"] .audit-map {
  background: var(--color-surface-alt);
  color: var(--text-primary);
}
html[data-selvik-theme="dark"] .control-tab-link:hover,
html[data-selvik-theme="dark"] .control-tab-link.active,
html[data-selvik-theme="dark"] .audit-case:hover { background: #263c57; color: #f1f6ff; }
html[data-selvik-theme="dark"] .control-dialog-head,
html[data-selvik-theme="dark"] .control-dialog-foot,
html[data-selvik-theme="dark"] .audit-dialog-head,
html[data-selvik-theme="dark"] .audit-dialog-foot,
html[data-selvik-theme="dark"] .audit-panel-head { border-color: var(--color-border); }

/* Product quantity modal, including product detail and price lists. */
html[data-selvik-theme="dark"] .product-qty-modal-content,
html[data-selvik-theme="dark"] .modal-price-lists {
  background: var(--color-surface) !important;
  color: var(--text-primary);
  border-color: var(--color-border) !important;
}
html[data-selvik-theme="dark"] .modal-product-info,
html[data-selvik-theme="dark"] .modal-price-label,
html[data-selvik-theme="dark"] #modalPriceListsContent .price-list-heading { color: var(--text-secondary) !important; }
html[data-selvik-theme="dark"] .btn-close-modal,
html[data-selvik-theme="dark"] .btn-modal-qty,
html[data-selvik-theme="dark"] .modal-qty-input,
html[data-selvik-theme="dark"] .modal-discount-input {
  background: var(--color-surface-alt) !important;
  color: var(--text-primary) !important;
  border-color: var(--color-border) !important;
}
html[data-selvik-theme="dark"] .btn-modal-qty:hover { background: #294a79 !important; }

/* Route visits table uses its own light palette, outside Bootstrap tables. */
html[data-selvik-theme="dark"] .visitas-table th,
html[data-selvik-theme="dark"] .visitas-table .header-row {
  background: #20334b;
  color: #edf3fc;
  border-color: var(--color-border);
}
html[data-selvik-theme="dark"] .visitas-table td,
html[data-selvik-theme="dark"] .table-wrapper { border-color: var(--color-border); }
html[data-selvik-theme="dark"] .visitas-table tbody tr:hover,
html[data-selvik-theme="dark"] .filter-section { background: var(--color-surface-alt); }
html[data-selvik-theme="dark"] .visitas-table .date-cell { background: #42351f; color: #ffe1a3; }
html[data-selvik-theme="dark"] .visitas-table .time-cell { background: #382b4c; color: #e6ceff; }
html[data-selvik-theme="dark"] .visitas-table .status-yes { background: #173d2b; color: #82e0a0; }
html[data-selvik-theme="dark"] .visitas-table .status-no { background: #4a2029; color: #ffabb2; }

/* Map controls and popups belong to the interface; the map tiles stay intact. */
html[data-selvik-theme="dark"] .leaflet-popup-content-wrapper,
html[data-selvik-theme="dark"] .leaflet-popup-tip,
html[data-selvik-theme="dark"] .leaflet-control-zoom a,
html[data-selvik-theme="dark"] .leaflet-control-rotate a,
html[data-selvik-theme="dark"] .map-locate-control button {
  background: var(--color-surface);
  color: var(--text-primary);
  border-color: var(--color-border);
}
html[data-selvik-theme="dark"] .leaflet-container a.leaflet-popup-close-button { color: #b8c6da; }
html[data-selvik-theme="dark"] .map-popup-close,
html[data-selvik-theme="dark"] .visit-popup-close { background: #29405a; color: #edf3fc; }

/* General text and status colors on surfaces. */
html[data-selvik-theme="dark"] .text-muted { color: var(--text-muted) !important; }
html[data-selvik-theme="dark"] .text-secondary { color: var(--text-secondary) !important; }
html[data-selvik-theme="dark"] .text-info,
html[data-selvik-theme="dark"] .products-table code { color: #80cfff !important; }
html[data-selvik-theme="dark"] .bg-warning.text-dark { color: #1b2230 !important; }
html[data-selvik-theme="dark"] .productivity-criterion [style*="color: #374151"] { color: var(--text-primary) !important; }
html[data-selvik-theme="dark"] .productivity-criterion [style*="color: #6b7280"],
html[data-selvik-theme="dark"] .productivity-criterion [style*="color: #9ca3af"] { color: var(--text-secondary) !important; }
html[data-selvik-theme="dark"] .productivity-score-badge { color: #102035 !important; }

html[data-selvik-theme="dark"] .price-list-value { color: #8ab8ff; }
html[data-selvik-theme="dark"] .row-bogota > * { background: #173d2b !important; }
html[data-selvik-theme="dark"] .gps-ok { background: #173d2b; color: #82e0a0; }
html[data-selvik-theme="dark"] .gps-wait { background: #46361a; color: #f6c766; }
html[data-selvik-theme="dark"] .gps-err { background: #4a2029; color: #ffabb2; }
html[data-selvik-theme="dark"] .search-results .item:hover { background: #263c57; }
html[data-selvik-theme="dark"] .badge.bg-warning { color: #1b2230 !important; }
html[data-selvik-theme="dark"] .input-group-text,
html[data-selvik-theme="dark"] .accordion-item,
html[data-selvik-theme="dark"] .accordion-button,
html[data-selvik-theme="dark"] .offcanvas,
html[data-selvik-theme="dark"] .popover,
html[data-selvik-theme="dark"] .toast {
  background: var(--color-surface);
  color: var(--text-primary);
  border-color: var(--color-border);
}
html[data-selvik-theme="dark"] .alert-success { background: #173d2b; color: #a2ebba; border-color: #327952; }
html[data-selvik-theme="dark"] .alert-warning { background: #46361a; color: #ffdc9a; border-color: #906f32; }
html[data-selvik-theme="dark"] .alert-danger { background: #4a2029; color: #ffc1c6; border-color: #97505d; }
html[data-selvik-theme="dark"] .alert-info { background: #173349; color: #b2e5f7; border-color: #397391; }
html[data-selvik-theme="dark"] .coverage-negative,
html[data-selvik-theme="dark"] .stat-critico .stat-value { color: #ff858e; }
html[data-selvik-theme="dark"] .coverage-low,
html[data-selvik-theme="dark"] .stat-urgente .stat-value { color: #f0bb58; }
html[data-selvik-theme="dark"] .coverage-ok { color: #65d990; }
html[data-selvik-theme="dark"] .audit-timeline { border-color: var(--color-border); }
html[data-selvik-theme="dark"] .leaflet-control-layers,
html[data-selvik-theme="dark"] .leaflet-control-attribution {
  background: var(--color-surface);
  color: var(--text-primary);
  border-color: var(--color-border);
}
html[data-selvik-theme="dark"] .settings-header__icon {
  background: #213650;
  color: #9ac1ff;
}
html[data-selvik-theme="dark"] .settings-save-notice {
  background: #173d2b;
  color: #a2ebba;
  border-color: #327952;
}
html[data-selvik-theme="dark"] .client-trend-track { background: #29405a; }
html[data-selvik-theme="dark"] .client-opportunity,
html[data-selvik-theme="dark"] .client-insights-tabs .nav-link.active {
  background: var(--color-surface-alt);
  color: var(--text-primary);
  border-color: var(--color-border);
}
html[data-selvik-theme="dark"] .client-opportunity:hover { background: #263c57; color: #f1f6ff; }
html[data-selvik-theme="dark"] body .btn-add-cart-detail {
  background: #203a5d;
  color: #b4d0ff;
  border-color: #527ab8;
}
html[data-selvik-theme="dark"] body .btn-add-cart-detail:hover {
  background: #294a79;
  color: #fff;
  border-color: #78a6ff;
}
html[data-selvik-theme="dark"] body .btn-add-cart-detail.in-cart {
  background: #20673e;
  color: #fff;
  border-color: #38995f;
}
html[data-selvik-theme="dark"] .quote-cart-badge { box-shadow: 0 0 0 2px var(--color-surface); }
