/* =============================================================
   Modo oscuro — activo solo con data-bs-theme="dark" en <html>
   Cargado condicionalmente cuando SHOW_DARK_MODE=true
   ============================================================= */

[data-bs-theme="dark"] {
    color-scheme: dark;

    --primary-color: #6b8aeb;
    --secondary-color: #9aa0b4;
    --light-color: #12141c;
    --dark-color: #e8eaef;
    --gray-600: #9aa0b4;
    --gray-400: #4a5168;

    --sidebar-bg: #161922;
    --sidebar-border: #2a3042;
    --sidebar-ink: #e8eaef;
    --sidebar-muted: #9aa0b4;
    --sidebar-section: #7c9bff;
    --sidebar-hover-bg: rgba(107, 138, 235, 0.12);
    --sidebar-active-bg: rgba(107, 138, 235, 0.18);
    --sidebar-active-border: #6b8aeb;

    --login-brand: #6b8aeb;
    --login-brand-dark: #4e73df;
    --login-ink: #e8eaef;
    --login-muted: #9aa0b4;
    --login-border: #2d3348;
}

/* ---------------------------------------- Shell (layouts app) -- */

html[data-bs-theme="dark"],
html[data-bs-theme="dark"] body,
html[data-bs-theme="dark"] .main-content {
    background-color: var(--light-color);
}

@media (prefers-reduced-motion: no-preference) {
    html[data-bs-theme],
    html[data-bs-theme] body,
    html[data-bs-theme] .main-content,
    html[data-bs-theme] .app-sidebar,
    html[data-bs-theme] .app-sidebar__brand,
    html[data-bs-theme] .app-desktop-topbar,
    html[data-bs-theme] .navbar,
    html[data-bs-theme] .navbar-mobile-container,
    html[data-bs-theme] .app-topbar__user-btn,
    html[data-bs-theme] .login-shell,
    html[data-bs-theme] .login-card {
        transition:
            background-color 0.45s ease,
            color 0.35s ease,
            border-color 0.45s ease,
            box-shadow 0.45s ease;
    }
}

[data-bs-theme="dark"] body {
    color: var(--bs-body-color);
}

[data-bs-theme="dark"] .navbar {
    background-color: var(--sidebar-bg) !important;
}

[data-bs-theme="dark"] .navbar-light .navbar-brand,
[data-bs-theme="dark"] .navbar-light .nav-link {
    color: var(--sidebar-ink);
}

[data-bs-theme="dark"] .navbar-mobile-container {
    background-color: var(--sidebar-bg);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.35);
}

[data-bs-theme="dark"] #mobileNavbar {
    background-color: var(--sidebar-bg) !important;
    border-top-color: var(--sidebar-border);
}

[data-bs-theme="dark"] .navbar-mobile-container > .navbar {
    background-color: var(--sidebar-bg) !important;
}

[data-bs-theme="dark"] .mobile-nav-link {
    color: var(--sidebar-ink) !important;
    border-bottom-color: rgba(255, 255, 255, 0.06);
}

[data-bs-theme="dark"] .mobile-nav-link:hover,
[data-bs-theme="dark"] #mobileNavbar .app-mobile-nav .nav-link:hover,
[data-bs-theme="dark"] #mobileNavbar .mobile-nav-link:hover {
    background-color: var(--sidebar-hover-bg);
    color: var(--sidebar-ink) !important;
}

html[data-bs-theme="dark"] .app-hamburger {
    background: #1e2230;
    border-color: var(--sidebar-border);
}

html[data-bs-theme="dark"] .app-hamburger__line {
    background: var(--sidebar-ink);
}

[data-bs-theme="dark"] .app-desktop-topbar,
[data-bs-theme="dark"] .app-sidebar__brand {
    background: var(--sidebar-bg) !important;
    border-color: var(--sidebar-border) !important;
}

[data-bs-theme="dark"] .app-topbar__user-btn {
    background: #1e2230;
    border-color: var(--sidebar-border);
    color: var(--sidebar-ink);
}

[data-bs-theme="dark"] .app-topbar__user-btn:hover,
[data-bs-theme="dark"] .app-topbar__user-btn:focus-visible,
[data-bs-theme="dark"] .app-topbar__user-btn[aria-expanded="true"] {
    background: #252a3a;
}

[data-bs-theme="dark"] .dropdown-menu {
    box-shadow: 0 0.5rem 1.25rem rgba(0, 0, 0, 0.45);
}

[data-bs-theme="dark"] .table-light {
    --bs-table-bg: #1e2230;
    --bs-table-color: var(--sidebar-ink);
    --bs-table-border-color: var(--sidebar-border);
}

[data-bs-theme="dark"] .shadow-sm {
    box-shadow: 0 0.125rem 0.35rem rgba(0, 0, 0, 0.35) !important;
}

[data-bs-theme="dark"] .card {
    border-color: var(--sidebar-border);
}

[data-bs-theme="dark"] .border,
[data-bs-theme="dark"] .border-top,
[data-bs-theme="dark"] .border-bottom {
    border-color: var(--sidebar-border) !important;
}

/* ---------------------------------------- Tokens ucrud / operativo -- */

[data-bs-theme="dark"] .ucrud {
    --ucrud-primary: var(--primary-color);
    --ucrud-primary-rgb: 107, 138, 235;
    --ucrud-primary-dark: #4e73df;
    --ucrud-surface: #1a1e2b;
    --ucrud-ink: #e8eaef;
    --ucrud-muted: #9aa0b4;
    --ucrud-border: #2d3348;
    --ucrud-line: #252a3a;
    --ucrud-shadow: 0 1px 2px rgba(0, 0, 0, 0.35), 0 10px 28px rgba(0, 0, 0, 0.25);
    --ucrud-stat-surface: #252a3a;
    --ucrud-readonly-bg: #252a3a;
    --ucrud-readonly-color: #b8bfd0;
    --ucrud-chip-extra-bg: #252a3a;
    --ucrud-chip-extra-color: #c5cad8;
    --ucrud-permisos-box-bg: #252a3a;
}

[data-bs-theme="dark"] .ucrud-operativo {
    --op-success: #3dd68c;
    --op-success-bg: rgba(29, 155, 95, 0.18);
    --op-warning: #f5c542;
    --op-warning-bg: rgba(150, 101, 11, 0.22);
    --op-danger: #f87171;
    --op-danger-bg: rgba(181, 53, 44, 0.2);
    --op-info: #5ec8db;
    --op-info-bg: rgba(15, 127, 146, 0.2);
    --op-muted: #9aa0b4;
}

/* Formularios — Bootstrap deja fondo claro si no se fuerza en cascada operativa */

html[data-bs-theme="dark"] .form-control,
html[data-bs-theme="dark"] .form-select,
html[data-bs-theme="dark"] textarea.form-control {
    background-color: #12141c !important;
    border-color: #2d3348 !important;
    color: #e8eaef !important;
}

html[data-bs-theme="dark"] .form-control::placeholder,
html[data-bs-theme="dark"] textarea.form-control::placeholder {
    color: #6b7085;
    opacity: 1;
}

html[data-bs-theme="dark"] .form-control:focus,
html[data-bs-theme="dark"] .form-select:focus,
html[data-bs-theme="dark"] textarea.form-control:focus {
    background-color: #12141c !important;
    border-color: rgba(107, 138, 235, 0.55) !important;
    color: #e8eaef !important;
    box-shadow: 0 0 0 0.2rem rgba(107, 138, 235, 0.2);
}

html[data-bs-theme="dark"] .form-control:disabled,
html[data-bs-theme="dark"] .form-select:disabled {
    background-color: #252a3a !important;
    color: #b8bfd0 !important;
}

html[data-bs-theme="dark"] .form-control[readonly]:not(.op-coord-obs-readonly__field),
html[data-bs-theme="dark"] textarea.form-control[readonly]:not(.op-coord-obs-readonly__field) {
    background-color: #252a3a !important;
    color: #b8bfd0 !important;
}

html[data-bs-theme="dark"] .input-group-text {
    background-color: #252a3a !important;
    border-color: #2d3348 !important;
    color: #9aa0b4 !important;
}

html[data-bs-theme="dark"] .form-control:-webkit-autofill,
html[data-bs-theme="dark"] .form-control:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0 1000px #12141c inset !important;
    box-shadow: 0 0 0 1000px #12141c inset !important;
    -webkit-text-fill-color: #e8eaef !important;
    caret-color: #e8eaef;
}

html[data-bs-theme="dark"] .form-label {
    color: #e8eaef;
}

html[data-bs-theme="dark"] .modal-content {
    background-color: #1a1e2b;
    border-color: #2d3348;
    color: #e8eaef;
}

html[data-bs-theme="dark"] .modal-header,
html[data-bs-theme="dark"] .modal-footer {
    border-color: #2d3348;
}

[data-bs-theme="dark"] .ucrud-view-switch {
    background: #252a3a;
    border-color: var(--ucrud-border, #2d3348);
}

[data-bs-theme="dark"] .ucrud-view-switch__btn.is-active,
[data-bs-theme="dark"] .ucrud-view-switch__btn:hover {
    background: var(--ucrud-surface, #1a1e2b);
}

/* ---------------------------------------- Select2 (bootstrap-5) -- */

[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-selection {
    background-color: var(--bs-body-bg);
    border-color: var(--bs-border-color);
    color: var(--bs-body-color);
}

[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-dropdown {
    background-color: #1a1e2b;
    border-color: var(--sidebar-border);
}

[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-results__option--highlighted {
    background-color: rgba(107, 138, 235, 0.25);
    color: #fff;
}

[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-selection__choice {
    background-color: #252a3a;
    border-color: var(--sidebar-border);
    color: var(--sidebar-ink);
}

/* ---------------------------------------- FullCalendar (v5) -- */

[data-bs-theme="dark"] .fc {
    --fc-border-color: #2d3348;
    --fc-page-bg-color: #1a1e2b;
    --fc-neutral-bg-color: #161922;
    --fc-list-event-hover-bg-color: rgba(107, 138, 235, 0.12);
}

[data-bs-theme="dark"] .fc .fc-col-header-cell-cushion,
[data-bs-theme="dark"] .fc .fc-daygrid-day-number {
    color: var(--sidebar-ink);
}

/* ---------------------------------------- Cotización / tabs inline -- */

[data-bs-theme="dark"] .nav-tabs-custom {
    background-color: #161922;
    border-bottom-color: var(--sidebar-border);
}

[data-bs-theme="dark"] .nav-tabs-custom .nav-link {
    color: var(--sidebar-muted);
}

[data-bs-theme="dark"] .nav-tabs-custom .nav-link:hover {
    background-color: #252a3a;
}

[data-bs-theme="dark"] .nav-tabs-custom .nav-link.active {
    background-color: var(--bs-body-bg);
    color: #8eb0ff;
}

[data-bs-theme="dark"] .bg-light {
    background-color: #1e2230 !important;
}

/* ---------------------------------------- Loader escáner global -- */

[data-bs-theme="dark"] #global-scan-loader > div {
    background: rgba(18, 20, 28, 0.92) !important;
}

[data-bs-theme="dark"] #global-scan-loader h2 {
    color: #e8eaef !important;
}

[data-bs-theme="dark"] #global-scan-loader p {
    color: #9aa0b4 !important;
}

/* ---------------------------------------- Login -- */

[data-bs-theme="dark"] .login-shell {
    background-color: #0f1117;
}

[data-bs-theme="dark"] .login-shell__bg {
    opacity: 0.35;
    filter: saturate(0.6) brightness(0.55);
}

[data-bs-theme="dark"] .login-card {
    background: #1a1e2b;
    border-color: var(--login-border);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.45);
}

[data-bs-theme="dark"] .login-card__title,
[data-bs-theme="dark"] .login-hero__title {
    color: var(--login-ink);
}

[data-bs-theme="dark"] .login-card__eyebrow,
[data-bs-theme="dark"] .login-hero__subtitle {
    color: var(--login-muted);
}

html[data-bs-theme="dark"] .login-hero__feature {
    color: #dce1ec;
    background: rgba(37, 42, 58, 0.92);
    border-color: rgba(107, 138, 235, 0.35);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
}

html[data-bs-theme="dark"] .login-hero__feature svg {
    color: #8eb0ff;
    stroke: #8eb0ff;
}

[data-bs-theme="dark"] .login-field label {
    color: var(--login-ink);
}

html[data-bs-theme="dark"] .login-input-wrap input {
    background-color: #12141c !important;
    border-color: var(--login-border) !important;
    color: var(--login-ink) !important;
}

html[data-bs-theme="dark"] .login-input-wrap input::placeholder {
    color: #6b7085;
    opacity: 1;
}

html[data-bs-theme="dark"] .login-input-wrap input:focus {
    border-color: #6b8aeb !important;
    box-shadow: 0 0 0 3px rgba(107, 138, 235, 0.2) !important;
}

html[data-bs-theme="dark"] .login-input-wrap input:-webkit-autofill,
html[data-bs-theme="dark"] .login-input-wrap input:-webkit-autofill:hover,
html[data-bs-theme="dark"] .login-input-wrap input:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0 1000px #12141c inset !important;
    box-shadow: 0 0 0 1000px #12141c inset !important;
    -webkit-text-fill-color: var(--login-ink) !important;
    caret-color: var(--login-ink);
    border-color: var(--login-border) !important;
}

html[data-bs-theme="dark"] .login-toggle-password:hover {
    background: rgba(107, 138, 235, 0.12);
    color: #8eb0ff;
}

/* Legacy selector (inputs usan .login-input-wrap input) */
[data-bs-theme="dark"] .login-field__input {
    background-color: #12141c !important;
    border-color: var(--login-border);
    color: var(--login-ink);
}

/* =============================================================
   Sidebar — fondo fijo en sidebar.css (#f8f9fc)
   ============================================================= */

[data-bs-theme="dark"] .app-sidebar,
[data-bs-theme="dark"] .sidebar.app-sidebar {
    background: var(--sidebar-bg);
    border-right-color: var(--sidebar-border);
}

[data-bs-theme="dark"] .app-sidebar__scroll {
    background: #12141c !important;
}

[data-bs-theme="dark"] .app-sidebar .nav-link {
    color: var(--sidebar-ink);
}

[data-bs-theme="dark"] .app-sidebar .nav-link:hover,
[data-bs-theme="dark"] .app-sidebar .nav-link:focus {
    color: #fff;
}

[data-bs-theme="dark"] .app-sidebar .nav-link.active {
    color: #fff;
    background: var(--sidebar-active-bg);
}

[data-bs-theme="dark"] .app-sidebar .accordion-button.nav-group-title,
[data-bs-theme="dark"] .app-sidebar .nav-group-title.accordion-button {
    color: var(--sidebar-muted) !important;
}

[data-bs-theme="dark"] .app-sidebar .accordion-button:not(.collapsed) {
    color: var(--sidebar-muted) !important;
}

[data-bs-theme="dark"] .app-sidebar .accordion-button::after {
    filter: invert(0.85);
}

html[data-bs-theme="dark"] .app-sidebar .accordion-body {
    background: transparent !important;
}

html[data-bs-theme="dark"] .app-sidebar .accordion-collapse {
    background: transparent;
}

/* Utilidades Bootstrap que fuerzan blanco en modo oscuro */

[data-bs-theme="dark"] .card-header.bg-white,
[data-bs-theme="dark"] .bg-white.card-header {
    background-color: var(--bs-tertiary-bg) !important;
    color: var(--bs-body-color);
    border-bottom-color: var(--sidebar-border) !important;
}

[data-bs-theme="dark"] .text-muted {
    color: var(--bs-secondary-color) !important;
}

/* =============================================================
   ucrud — tablas, chips, acordeón, botones ghost
   ============================================================= */

[data-bs-theme="dark"] .ucrud-table thead th {
    background: #252a3a;
    color: var(--sidebar-muted);
    border-bottom-color: var(--ucrud-border);
}

[data-bs-theme="dark"] .ucrud-table--sticky-actions thead th:last-child {
    background: #252a3a;
}

[data-bs-theme="dark"] .ucrud-table--sticky-actions tbody td:last-child {
    background: var(--ucrud-surface);
}

[data-bs-theme="dark"] .ucrud-table tbody tr:hover,
[data-bs-theme="dark"] .ucrud-table--sticky-actions tbody tr:hover td:last-child {
    background: rgba(107, 138, 235, 0.1);
}

[data-bs-theme="dark"] .ucrud-table tbody td {
    border-bottom-color: var(--ucrud-line);
}

[data-bs-theme="dark"] .ucrud-code {
    background: #252a3a;
    color: #c5cad8;
}

[data-bs-theme="dark"] .ucrud-dim {
    color: #6b7085;
}

[data-bs-theme="dark"] .ucrud-btn--ghost:hover {
    background: #252a3a;
    border-color: var(--ucrud-border);
}

[data-bs-theme="dark"] .ucrud-accordion__header,
[data-bs-theme="dark"] .ucrud-subpanel,
[data-bs-theme="dark"] .ucrud-subpanel__header {
    background: #252a3a !important;
}

[data-bs-theme="dark"] .ucrud-chip--blue   { color: #a8c4ff; background: rgba(78, 115, 223, 0.2); border-color: rgba(107, 138, 235, 0.35); }
[data-bs-theme="dark"] .ucrud-chip--green  { color: #6ee7b7; background: rgba(16, 128, 90, 0.2); border-color: rgba(61, 214, 140, 0.3); }
[data-bs-theme="dark"] .ucrud-chip--amber  { color: #fcd34d; background: rgba(150, 101, 11, 0.22); border-color: rgba(246, 194, 62, 0.35); }
[data-bs-theme="dark"] .ucrud-chip--violet { color: #c4b5fd; background: rgba(107, 65, 201, 0.22); border-color: rgba(167, 139, 250, 0.35); }
[data-bs-theme="dark"] .ucrud-chip--rose   { color: #fda4af; background: rgba(188, 58, 92, 0.2); border-color: rgba(251, 113, 133, 0.35); }
[data-bs-theme="dark"] .ucrud-chip--cyan   { color: #67e8f9; background: rgba(15, 127, 146, 0.22); border-color: rgba(94, 200, 219, 0.35); }
[data-bs-theme="dark"] .ucrud-chip--slate  { color: #c5cad8; background: rgba(90, 97, 120, 0.25); border-color: var(--ucrud-border); }
[data-bs-theme="dark"] .ucrud-chip--muted  { color: #9aa0b4; background: #252a3a; border-color: var(--ucrud-border); }

[data-bs-theme="dark"] .ucrud-operativo .ucrud-table tbody tr.table-danger,
[data-bs-theme="dark"] .ucrud-operativo .ucrud-table tbody tr.op-row--suspension {
    background: rgba(181, 53, 44, 0.14) !important;
}

[data-bs-theme="dark"] .ucrud-operativo .ucrud-table tbody tr.table-warning,
[data-bs-theme="dark"] .ucrud-operativo .ucrud-table tbody tr.op-row--priority {
    background: rgba(230, 168, 23, 0.12) !important;
}

[data-bs-theme="dark"] .ucrud-operativo .ucrud-table tbody tr.table-info,
[data-bs-theme="dark"] .ucrud-operativo .ucrud-table tbody tr.op-row--cuotas {
    background: rgba(13, 202, 240, 0.1) !important;
}

[data-bs-theme="dark"] .ucrud-operativo .ucrud-table tbody td.estado-otro {
    background: #252a3a;
}

[data-bs-theme="dark"] .ucrud-operativo .op-progress__bar {
    background: #252a3a;
}

[data-bs-theme="dark"] .ucrud-operativo .collapse-row .bg-light {
    background: #1e2230 !important;
}

[data-bs-theme="dark"] .ucrud-operativo .collapse .table-sm thead th {
    background: #252a3a;
}

[data-bs-theme="dark"] .ucrud-operativo .op-mobile-card.border-danger,
[data-bs-theme="dark"] .ucrud-operativo .documento-card.border-danger {
    background: rgba(181, 53, 44, 0.08) !important;
}

[data-bs-theme="dark"] .ucrud-operativo .op-mobile-card.border-warning,
[data-bs-theme="dark"] .ucrud-operativo .documento-card.border-warning {
    background: rgba(230, 168, 23, 0.08) !important;
}

[data-bs-theme="dark"] .ucrud-operativo .op-mobile-card.border-info,
[data-bs-theme="dark"] .ucrud-operativo .documento-card.border-info {
    background: rgba(13, 202, 240, 0.08) !important;
}

[data-bs-theme="dark"] .ucrud-operativo .op-documento-card > .card-header,
[data-bs-theme="dark"] .ucrud-operativo .documento-card > .card-header {
    background: #252a3a;
}

[data-bs-theme="dark"] .ucrud-operativo .op-documento .progress {
    background: #252a3a;
}

/* =============================================================
   Dashboard /dashboard, /dashboard/analisis, /dashboard/muestreo
   ============================================================= */

[data-bs-theme="dark"] .dash-home__hero-title,
[data-bs-theme="dark"] .dash-panel__title,
[data-bs-theme="dark"] .dash-chart-card__title,
[data-bs-theme="dark"] .dash-pipeline__name,
[data-bs-theme="dark"] .dash-chart-stats__label,
[data-bs-theme="dark"] .dash-chart-stats__value,
[data-bs-theme="dark"] .dash-coti-list__client,
[data-bs-theme="dark"] .dash-pipeline__legend li {
    color: var(--ucrud-ink);
}

[data-bs-theme="dark"] .dash-panel__head {
    background: #252a3a;
    border-bottom-color: var(--ucrud-line);
}

[data-bs-theme="dark"] .dash-chart-card {
    background: linear-gradient(180deg, #1e2230 0%, #1a1e2b 100%);
    border-color: var(--ucrud-border);
}

[data-bs-theme="dark"] .dash-chart-meta {
    background: #252a3a;
    border-color: var(--ucrud-border);
    color: var(--ucrud-muted);
}

[data-bs-theme="dark"] .dash-chart-stats li:hover,
[data-bs-theme="dark"] .dash-chart-stats li.is-active {
    background: rgba(107, 138, 235, 0.12);
    border-color: rgba(107, 138, 235, 0.28);
}

[data-bs-theme="dark"] .dash-pipeline__bar {
    background: #252a3a;
}

[data-bs-theme="dark"] .dash-coti-list__link:hover,
[data-bs-theme="dark"] .dash-home .ucrud-table tbody tr:hover {
    background: rgba(107, 138, 235, 0.08);
}

[data-bs-theme="dark"] .dash-alert-inline {
    background: rgba(150, 101, 11, 0.15);
    border-color: rgba(246, 194, 62, 0.35);
    color: #fcd34d;
}

[data-bs-theme="dark"] .dash-kpi--muestreo .dash-kpi__icon {
    background: rgba(15, 127, 146, 0.22);
    color: #5ec8db;
}

[data-bs-theme="dark"] .dash-kpi--analisis .dash-kpi__icon {
    background: rgba(16, 128, 90, 0.22);
    color: #3dd68c;
}

[data-bs-theme="dark"] .dash-kpi--informes .dash-kpi__icon {
    background: rgba(150, 101, 11, 0.22);
    color: #f5c542;
}

[data-bs-theme="dark"] .dashboard-apps-launcher {
    --apps-light: #12141c;
    --apps-surface: #1a1e2b;
    --apps-border: #2d3348;
    --apps-dark: #e8eaef;
    --apps-gray: #9aa0b4;
}

[data-bs-theme="dark"] .dashboard-apps-tile:hover {
    background: rgba(107, 138, 235, 0.1);
}

[data-bs-theme="dark"] .dashboard-apps-tile__label {
    color: var(--apps-dark);
}

/* =============================================================
   Informes / Mediciones (informes-index.css)
   ============================================================= */

[data-bs-theme="dark"] .informes-page {
    --inf-ink: #e8eaef;
    --inf-muted: #9aa0b4;
    --inf-border: #2d3348;
    --inf-shadow: 0 2px 12px rgba(0, 0, 0, 0.35);
}

[data-bs-theme="dark"] .inf-segmented {
    background: #1a1e2b;
    border-color: var(--inf-border);
}

[data-bs-theme="dark"] .inf-segmented__btn {
    color: var(--inf-muted);
}

[data-bs-theme="dark"] .inf-segmented__btn:hover {
    background: #252a3a;
    color: var(--inf-ink);
}

[data-bs-theme="dark"] .inf-view-switch {
    background: #1a1e2b;
    border-color: var(--inf-border);
}

[data-bs-theme="dark"] .inf-view-switch__btn:hover {
    background: #252a3a;
    color: var(--inf-ink);
}

[data-bs-theme="dark"] .inf-coti-card {
    background: #1a1e2b;
    border-color: var(--inf-border);
}

[data-bs-theme="dark"] .inf-coti-card__header,
[data-bs-theme="dark"] .inf-coti-card__muestras {
    background: #252a3a;
    border-color: var(--inf-border);
}

[data-bs-theme="dark"] .inf-coti-card__badge {
    background: rgba(107, 138, 235, 0.2);
    color: #a8c4ff;
}

[data-bs-theme="dark"] .inf-muestra-row {
    border-bottom-color: var(--inf-border);
}

[data-bs-theme="dark"] .dash-resource__icon {
    background: #252a3a;
}

[data-bs-theme="dark"] .dash-sidebar-list__item,
[data-bs-theme="dark"] .dash-resource {
    border-bottom-color: var(--ucrud-line);
}

[data-bs-theme="dark"] .dash-stat-extra strong {
    color: var(--ucrud-ink);
}

[data-bs-theme="dark"] .mediciones-page .card.border-0.shadow-sm {
    border: 1px solid var(--inf-border) !important;
}

/* =============================================================
   Tablas ucrud — encabezados ordenables, sticky, paginación
   ============================================================= */

[data-bs-theme="dark"] .ucrud-table thead th {
    background: #252a3a !important;
    color: #b8bfd0 !important;
    border-bottom-color: var(--ucrud-border) !important;
}

[data-bs-theme="dark"] .ucrud-table thead th a,
[data-bs-theme="dark"] .ucrud-table thead th a.text-dark {
    color: #c5cad8 !important;
}

[data-bs-theme="dark"] .ucrud-table thead th a .text-primary {
    color: #8eb0ff !important;
}

[data-bs-theme="dark"] .ucrud-table thead th a .text-muted {
    color: #6b7085 !important;
}

[data-bs-theme="dark"] .ucrud-table--sticky-actions thead th:last-child {
    background: #252a3a !important;
}

[data-bs-theme="dark"] .ucrud-table--sticky-actions tbody td:last-child {
    background: var(--ucrud-surface) !important;
}

[data-bs-theme="dark"] .ucrud-table--sticky-actions tbody tr:hover td:last-child {
    background: #222838 !important;
}

[data-bs-theme="dark"] .ucrud-table tbody tr.table-info {
    --bs-table-bg: rgba(13, 202, 240, 0.12);
    --bs-table-color: #e8eaef;
    --bs-table-hover-bg: rgba(13, 202, 240, 0.18);
}

[data-bs-theme="dark"] .ucrud-table tbody tr.table-warning {
    --bs-table-bg: rgba(255, 193, 7, 0.1);
    --bs-table-color: #e8eaef;
}

[data-bs-theme="dark"] .ucrud-table tbody tr.table-danger {
    --bs-table-bg: rgba(220, 53, 69, 0.12);
    --bs-table-color: #e8eaef;
}

[data-bs-theme="dark"] .ucrud-pagination-bar {
    background: var(--ucrud-surface) !important;
    border-top-color: var(--ucrud-line) !important;
}

[data-bs-theme="dark"] .ucrud-pagination {
    background: var(--ucrud-surface) !important;
    border-top-color: var(--ucrud-line) !important;
}

[data-bs-theme="dark"] .ucrud-pagination .page-link:hover {
    background: #252a3a;
    color: var(--ucrud-ink);
}

[data-bs-theme="dark"] .ucrud-empty__icon {
    background: #252a3a;
}

[data-bs-theme="dark"] .ucrud-empty__title {
    color: var(--ucrud-ink);
}

[data-bs-theme="dark"] .ucrud-tablewrap {
    scrollbar-color: #4a5168 #1a1e2b;
}

[data-bs-theme="dark"] .ucrud-tablewrap::-webkit-scrollbar {
    height: 10px;
}

[data-bs-theme="dark"] .ucrud-tablewrap::-webkit-scrollbar-track {
    background: #1a1e2b;
}

[data-bs-theme="dark"] .ucrud-tablewrap::-webkit-scrollbar-thumb {
    background: #4a5168;
    border-radius: 999px;
}

/* =============================================================
   Detalle muestra/OT — tarea-categoria-page
   ============================================================= */

[data-bs-theme="dark"] .tarea-categoria-page .op-section-card__header {
    background: #252a3a !important;
    border-bottom-color: var(--ucrud-border) !important;
}

[data-bs-theme="dark"] .tarea-categoria-page .op-section-card__title {
    color: var(--ucrud-ink) !important;
}

[data-bs-theme="dark"] .tarea-categoria-page .op-section-card__header .text-muted,
[data-bs-theme="dark"] .tarea-categoria-page .op-section-card__header small {
    color: var(--ucrud-muted) !important;
}

[data-bs-theme="dark"] .tarea-categoria-page .card-header:hover {
    background-color: inherit !important;
}

[data-bs-theme="dark"] .tarea-categoria-page .card-header.bg-primary:hover {
    filter: brightness(1.05);
}

[data-bs-theme="dark"] .tarea-categoria-page .tarea-detalle-dato-label {
    color: var(--ucrud-muted);
}

[data-bs-theme="dark"] .tarea-categoria-page .tarea-detalle-dato-value {
    color: var(--ucrud-ink);
}

[data-bs-theme="dark"] .fecha-roja {
    background-color: rgba(220, 53, 69, 0.22) !important;
    color: #fca5a5 !important;
    border-radius: 0.25rem;
    padding: 0.1rem 0.35rem;
}

[data-bs-theme="dark"] .fecha-verde {
    background-color: rgba(25, 135, 84, 0.2) !important;
    color: #6ee7b7 !important;
    border-radius: 0.25rem;
    padding: 0.1rem 0.35rem;
}

[data-bs-theme="dark"] .tarea-categoria-page .tarea-detalle-hero .op-header-tag,
[data-bs-theme="dark"] .tarea-categoria-page .tarea-detalle-hero .op-header-tag--warning {
    background: rgba(255, 255, 255, 0.92) !important;
    color: #96650b !important;
    border: 1px solid rgba(255, 255, 255, 0.55) !important;
}

[data-bs-theme="dark"] .tarea-categoria-page .tarea-detalle-hero .op-header-tag--info {
    color: #0b5ed7 !important;
}

[data-bs-theme="dark"] .tarea-categoria-page .tarea-detalle-hero .op-header-tag--success {
    color: #157347 !important;
}

[data-bs-theme="dark"] .tarea-categoria-page .op-analisis-card {
    background: var(--ucrud-surface);
}

[data-bs-theme="dark"] .tarea-categoria-page .op-analisis-card__head {
    background: linear-gradient(135deg, #2a3548 0%, #1e2838 100%) !important;
    border-bottom-color: var(--ucrud-border) !important;
}

[data-bs-theme="dark"] .tarea-categoria-page .op-analisis-card__head .card-title {
    color: var(--ucrud-ink);
}

[data-bs-theme="dark"] .ucrud-alert--info {
    background: rgba(54, 185, 204, 0.12);
    border-color: rgba(94, 200, 219, 0.35);
    color: #7dd3fc;
}

[data-bs-theme="dark"] .ucrud-alert--success {
    background: rgba(28, 200, 138, 0.12);
    border-color: rgba(61, 214, 140, 0.3);
    color: #6ee7b7;
}

[data-bs-theme="dark"] .ucrud-alert--warning {
    background: rgba(246, 194, 62, 0.12);
    border-color: rgba(246, 194, 62, 0.35);
    color: #fcd34d;
}

[data-bs-theme="dark"] .ucrud-alert--danger {
    background: rgba(231, 74, 59, 0.15);
    border-color: rgba(248, 113, 113, 0.35);
    color: #fca5a5;
}

/* =============================================================
   Informes — estado vacío
   ============================================================= */

[data-bs-theme="dark"] .inf-empty-state {
    background: var(--ucrud-surface, #1a1e2b);
    border-color: var(--inf-border, #2d3348);
    color: var(--inf-ink, #e8eaef);
}

[data-bs-theme="dark"] .inf-empty-state__icon {
    color: var(--inf-muted, #9aa0b4);
}

[data-bs-theme="dark"] .inf-empty-state p,
[data-bs-theme="dark"] .inf-empty-state .text-muted {
    color: var(--inf-muted) !important;
}

[data-bs-theme="dark"] .bg-light.text-dark,
[data-bs-theme="dark"] .fecha-fin.bg-light {
    background-color: #252a3a !important;
    color: var(--ucrud-ink, #e8eaef) !important;
}

[data-bs-theme="dark"] .tarea-categoria-page .card.shadow-sm.mb-4 > .card-body {
    background: var(--ucrud-surface);
    color: var(--ucrud-ink);
}

[data-bs-theme="dark"] .tarea-categoria-page .card.shadow-sm.mb-4 {
    background: var(--ucrud-surface);
    border-color: var(--ucrud-border);
}

/* =============================================================
   OT / muestras — detalle categoría (ordenes + muestras)
   ============================================================= */

html[data-bs-theme="dark"] .tarea-categoria-page {
    --op-text: #e8eaef;
    --op-border: #2d3348;
    --op-muted: #9aa0b4;
}

html[data-bs-theme="dark"] .tarea-categoria-page .ucrud-panel-title {
    color: var(--ucrud-ink, #e8eaef);
}

html[data-bs-theme="dark"] .tarea-categoria-page .op-analisis-card__body {
    background: var(--ucrud-surface);
    color: var(--ucrud-ink);
}

html[data-bs-theme="dark"] .tarea-categoria-page .op-analisis-card__body .badge.bg-secondary {
    background-color: #3d4456 !important;
    color: #e8eaef !important;
}

html[data-bs-theme="dark"] .tarea-categoria-page .op-analisis-card__body .badge.bg-info.text-dark {
    background-color: rgba(13, 202, 240, 0.25) !important;
    color: #a5f3fc !important;
}

html[data-bs-theme="dark"] .tarea-categoria-page .op-analisis-card__body footer p {
    background-color: #252a3a !important;
    color: #8eb0ff !important;
}

html[data-bs-theme="dark"] .tarea-categoria-page .op-analisis-card__body footer p span[style*="0d6efd"] {
    color: #a8c4ff !important;
}

html[data-bs-theme="dark"] .tarea-categoria-page .op-analisis-card__body footer p .text-muted {
    color: #9aa0b4 !important;
}

html[data-bs-theme="dark"] .tarea-categoria-page .accordion-button {
    background-color: #252a3a;
    color: var(--ucrud-ink);
    box-shadow: inset 0 -1px 0 var(--ucrud-border);
}

html[data-bs-theme="dark"] .tarea-categoria-page .accordion-button:not(.collapsed) {
    background-color: #2a3042;
    color: var(--ucrud-ink);
}

html[data-bs-theme="dark"] .tarea-categoria-page .accordion-button::after {
    filter: invert(0.85);
}

html[data-bs-theme="dark"] .tarea-categoria-page .accordion-item {
    background: var(--ucrud-surface);
    border-color: var(--ucrud-border);
}

html[data-bs-theme="dark"] .tarea-categoria-page .op-analisis-card .accordion-body {
    background: var(--ucrud-surface, #1a1e2b) !important;
}

html[data-bs-theme="dark"] .tarea-categoria-page .resultados-form .border.rounded {
    background-color: #252a3a !important;
    border-color: #2d3348 !important;
    box-shadow: none;
}

/* ---------------------------------------- Select2 (tema default, p. ej. items/create) -- */

html[data-bs-theme="dark"] .select2-container--default .select2-selection--single,
html[data-bs-theme="dark"] .select2-container--default .select2-selection--multiple {
    background-color: var(--ucrud-surface, #1a1e2b) !important;
    border-color: var(--ucrud-border, #2d3348) !important;
    color: var(--ucrud-ink, #e8eaef);
}

html[data-bs-theme="dark"] .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--ucrud-ink, #e8eaef);
}

html[data-bs-theme="dark"] .select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: var(--ucrud-muted, #9aa0b4);
}

html[data-bs-theme="dark"] .select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: #252a3a;
    border-color: var(--ucrud-border, #2d3348);
    color: var(--ucrud-ink, #e8eaef);
}

html[data-bs-theme="dark"] .select2-container--default .select2-dropdown {
    background-color: #1a1e2b;
    border-color: var(--ucrud-border, #2d3348);
}

html[data-bs-theme="dark"] .select2-container--default .select2-results__option {
    color: var(--ucrud-ink, #e8eaef);
}

html[data-bs-theme="dark"] .select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
    background-color: rgba(107, 138, 235, 0.25);
    color: #fff;
}

html[data-bs-theme="dark"] .select2-container--default .select2-search--dropdown .select2-search__field {
    background-color: #252a3a;
    border-color: var(--ucrud-border, #2d3348);
    color: var(--ucrud-ink, #e8eaef);
}

html[data-bs-theme="dark"] .select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: #9aa0b4 transparent transparent transparent;
}

/* ---------------------------------------- SweetAlert2 + informe preliminar (OT) -- */

html[data-bs-theme="dark"] .swal2-popup {
    background: #1a1e2b;
    color: #e8eaef;
}

html[data-bs-theme="dark"] .swal2-title,
html[data-bs-theme="dark"] .swal2-html-container {
    color: #e8eaef;
}

html[data-bs-theme="dark"] .swal2-close {
    color: #9aa0b4;
}

html[data-bs-theme="dark"] .swal2-html-container .informe-preliminar,
html[data-bs-theme="dark"] .swal2-html-container .informe-preliminar p,
html[data-bs-theme="dark"] .swal2-html-container .informe-preliminar strong {
    color: #e8eaef;
}

html[data-bs-theme="dark"] .swal2-html-container .informe-preliminar .text-primary {
    color: #8eb0ff !important;
}

html[data-bs-theme="dark"] .swal2-html-container .informe-preliminar .text-secondary {
    color: #9aa0b4 !important;
}

html[data-bs-theme="dark"] .swal2-html-container .informe-preliminar .text-muted {
    color: #9aa0b4 !important;
}

html[data-bs-theme="dark"] .swal2-html-container .informe-preliminar .bg-light,
html[data-bs-theme="dark"] .swal2-html-container .informe-preliminar .card-header.bg-light {
    background-color: #252a3a !important;
    color: #e8eaef;
}

html[data-bs-theme="dark"] .swal2-html-container .informe-preliminar .card {
    background-color: #1a1e2b;
    border-color: #2d3348;
    color: #e8eaef;
}

html[data-bs-theme="dark"] .swal2-html-container .informe-preliminar .card-body {
    background-color: #1a1e2b;
}

html[data-bs-theme="dark"] .swal2-html-container .informe-preliminar .table {
    --bs-table-color: #e8eaef;
    --bs-table-bg: transparent;
    --bs-table-border-color: #2d3348;
    color: #e8eaef;
}

html[data-bs-theme="dark"] .swal2-html-container .informe-preliminar .table-light {
    --bs-table-bg: #252a3a;
    --bs-table-color: #e8eaef;
}

html[data-bs-theme="dark"] .swal2-html-container .informe-preliminar .table-light th {
    color: #c5cad8;
}

/* ---------------------------------------- Facturación (estilos inline en index / revisión) -- */

html[data-bs-theme="dark"] .facturacion-page .fact-segmented {
    background: #1a1e2b !important;
    border-color: #2d3348 !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.35);
}

html[data-bs-theme="dark"] .facturacion-page .fact-segmented__btn {
    color: #9aa0b4;
}

html[data-bs-theme="dark"] .facturacion-page .fact-segmented__btn:hover {
    color: #e8eaef;
    background: #252a3a;
}

html[data-bs-theme="dark"] .facturacion-page .fact-segmented__btn.active {
    background: #6b8aeb !important;
    color: #fff !important;
}

html[data-bs-theme="dark"] .facturacion-page .fact-segmented__btn.active .badge {
    background: rgba(255, 255, 255, 0.22) !important;
    color: #fff !important;
}

html[data-bs-theme="dark"] .facturacion-page .fact-coti-card {
    background: #1a1e2b !important;
    border-color: #2d3348 !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.35);
}

html[data-bs-theme="dark"] .facturacion-page .fact-coti-card:hover {
    border-color: #3d445c !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
}

html[data-bs-theme="dark"] .facturacion-page .fact-coti-card__title {
    color: #e8eaef;
}

html[data-bs-theme="dark"] .facturacion-page .fact-coti-card__meta {
    color: #9aa0b4 !important;
}

html[data-bs-theme="dark"] .facturacion-page .fact-coti-card__badge {
    background: rgba(107, 138, 235, 0.2);
    color: #a8c4ff;
}

html[data-bs-theme="dark"] .facturacion-page .fact-coti-card__muestras {
    background: #252a3a !important;
    border-top-color: #2d3348 !important;
}

html[data-bs-theme="dark"] .facturacion-page .fact-muestra-row {
    border-bottom-color: #2d3348;
}

html[data-bs-theme="dark"] .facturacion-page .fact-muestra-row__id {
    color: #c5cad8;
}

html[data-bs-theme="dark"] .facturacion-page .fact-muestra-row__desc {
    color: #e8eaef !important;
}

html[data-bs-theme="dark"] .facturacion-page .fact-empty-state {
    background: #1a1e2b !important;
    border-color: #2d3348 !important;
}

html[data-bs-theme="dark"] .facturacion-page .fact-table thead th {
    background: #252a3a !important;
    color: #b8bfd4;
    border-color: #2d3348;
}

html[data-bs-theme="dark"] .facturacion-page #panelFacturas .card-body {
    background: #1a1e2b !important;
}

html[data-bs-theme="dark"] .facturacion-page #panelFacturas .card-header h5 {
    color: #e8eaef;
}

html[data-bs-theme="dark"] .facturacion-page .fact-table {
    --bs-table-bg: transparent;
    --bs-table-color: #e8eaef;
    --bs-table-hover-bg: #252a3a;
    --bs-table-hover-color: #e8eaef;
    --bs-table-border-color: #2d3348;
}

html[data-bs-theme="dark"] .facturacion-page .fact-table tbody td {
    color: #e8eaef;
    border-color: #2d3348;
}

html[data-bs-theme="dark"] .facturacion-page .fact-table tbody .text-muted {
    color: #9aa0b4 !important;
}

html[data-bs-theme="dark"] .facturacion-page .fact-table .badge.bg-primary-subtle {
    background: rgba(107, 138, 235, 0.22) !important;
    color: #a8c4ff !important;
}

html[data-bs-theme="dark"] .facturacion-page .fact-icon-btn {
    background: #2d3348 !important;
    border-color: #454c63 !important;
    color: #e8eaef !important;
}

html[data-bs-theme="dark"] .facturacion-page .fact-icon-btn:hover {
    background: #3d445c !important;
    border-color: #6b8aeb !important;
    color: #fff !important;
}

html[data-bs-theme="dark"] .facturacion-page .fact-icon-btn svg {
    color: currentColor;
}

html[data-bs-theme="dark"] .facturacion-page .fact-table-actions .btn-outline-danger {
    border-color: #e57373;
    color: #ffb4b4;
}

html[data-bs-theme="dark"] .facturacion-page .fact-table-actions .btn-outline-danger:hover {
    background: rgba(229, 115, 115, 0.15);
    color: #ffcdd2;
}

html[data-bs-theme="dark"] .facturacion-page #panelFacturas .border-top {
    border-color: #2d3348 !important;
}

html[data-bs-theme="dark"] .facturacion-facturar-page .fact-dato {
    background: #252a3a !important;
    border-color: #2d3348 !important;
}

html[data-bs-theme="dark"] .facturacion-facturar-page .fact-dato-label {
    color: #9aa0b4;
}

html[data-bs-theme="dark"] .facturacion-facturar-page .fact-dato-value {
    color: #e8eaef;
}

html[data-bs-theme="dark"] .facturacion-facturar-page .fact-panel-head {
    border-bottom-color: #2d3348;
}

html[data-bs-theme="dark"] .facturacion-facturar-page .fact-footer-bar {
    background: rgba(26, 30, 43, 0.98) !important;
    border-color: #2d3348 !important;
    box-shadow: 0 -4px 24px rgba(0, 0, 0, 0.45);
}

html[data-bs-theme="dark"] .facturacion-facturar-page .sample-header {
    background: #1a1e2b !important;
    border-color: #2d3348 !important;
}

html[data-bs-theme="dark"] .facturacion-facturar-page .sample-header:hover {
    border-color: #6b8aeb !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.35);
}

html[data-bs-theme="dark"] .facturacion-facturar-page .sample-content {
    background: #1a1e2b !important;
    border-color: #2d3348 !important;
    color: #e8eaef;
}

html[data-bs-theme="dark"] .facturacion-facturar-page .analysis-card {
    background: #252a3a !important;
    border-color: #2d3348 !important;
    color: #e8eaef;
}

html[data-bs-theme="dark"] .facturacion-facturar-page .fact-resumen-item .label {
    color: #9aa0b4;
}

html[data-bs-theme="dark"] .fact-manual-page .fact-manual-totals .fact-resumen-item {
    background: #252a3a !important;
    border-color: #2d3348 !important;
}

html[data-bs-theme="dark"] .fact-manual-page .fm-cliente-input-group {
    background: #1a1e2b !important;
    border-color: #2d3348 !important;
}

html[data-bs-theme="dark"] .fact-manual-page .fm-btn-buscar-cliente {
    border-left-color: #2d3348 !important;
}

html[data-bs-theme="dark"] .fact-manual-page .fact-manual-items-table .ucrud-table thead th {
    background: #252a3a !important;
    color: #9aa0b4;
    border-color: #2d3348 !important;
}

html[data-bs-theme="dark"] .fact-manual-page .fact-manual-modal .modal-footer {
    background: #252a3a !important;
    border-top-color: #2d3348 !important;
}

html[data-bs-theme="dark"] .fact-manual-page .fm-cliente-resultados {
    background: #1a1e2b !important;
    border-color: #2d3348 !important;
}

html[data-bs-theme="dark"] .facturacion-page .fact-coti-card__refs {
    background: #252a3a !important;
    border-top-color: #2d3348 !important;
}

html[data-bs-theme="dark"] .facturacion-page .fact-coti-card__refs .fact-ref-inline-item strong {
    color: #e8eaef;
}

html[data-bs-theme="dark"] .facturacion-page .card.border-0.shadow-sm > .card-header.bg-white {
    background-color: #252a3a !important;
}

/* ---------------------------------------- Logo (PNG con texto oscuro) -- */

.app-brand-logo--dark {
    display: none;
}

html[data-bs-theme="dark"] .app-brand-logo--light {
    display: none !important;
}

html[data-bs-theme="dark"] .app-brand-logo--dark {
    display: block !important;
}

/* Sin logo-dark.png: pastilla clara para que se lea logo.png */
html[data-bs-theme="dark"] .app-brand-logo-wrap:not(.app-brand-logo-wrap--has-dark) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #f4f6fb;
    border-radius: 0.45rem;
    padding: 0.35rem 0.55rem;
    line-height: 0;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
}

html[data-bs-theme="dark"] .app-sidebar__brand .app-brand-logo-wrap:not(.app-brand-logo-wrap--has-dark) {
    padding: 0.3rem 0.5rem;
}

html[data-bs-theme="dark"] .app-sidebar__brand .app-brand-logo-wrap:not(.app-brand-logo-wrap--has-dark) .sidebar-logo {
    width: 96px;
}

html[data-bs-theme="dark"] .login-hero__logo-wrap .app-brand-logo-wrap:not(.app-brand-logo-wrap--has-dark) {
    padding: 0.5rem 0.75rem;
}
