/* El diseño claro existente sigue disponible. El oscuro es el valor inicial de la Central. */
.rail button.rail-tema {
    color: #e8f4f5;
    border-color: rgba(111, 211, 220, .2);
    background: rgba(85, 196, 213, .1);
}
.rail button.rail-tema:hover, .rail button.rail-tema:focus-visible {
    color: #fff;
    border-color: rgba(111, 211, 220, .58);
    background: rgba(85, 196, 213, .2);
}
.rail-tema .tema-icono-dia { display: none; }
html[data-tema="claro"] .rail-tema .tema-icono-dia { display: block; }
html[data-tema="claro"] .rail-tema .tema-icono-noche { display: none; }

:root[data-tema="oscuro"] {
    color-scheme: dark;
    --fondo: #0d121a;
    --panel: #17202b;
    --tarjeta: #1b2733;
    --hundido: #111a24;
    --borde: #344253;
    --borde-suave: #2b3949;
    --texto: #f0f4f8;
    --texto-2: #b2becb;
    --texto-3: #90a0b2;
    --acento: #48cad0;
    --acento-claro: #7be1e4;
    --acento-oscuro: #51cdd2;
    --acento-fondo: rgba(72, 202, 208, .15);
    --acento-borde: rgba(111, 218, 223, .42);
    --ok: #69dcb1;
    --alerta: #f6c65c;
    --peligro: #ff878d;
    --tinta: #f0f4f8;
    --sombra: 0 16px 42px -30px rgba(0, 0, 0, .8), 0 3px 12px rgba(0, 0, 0, .24);
    --sombra-elevada: 0 24px 48px -28px rgba(0, 0, 0, .85), 0 10px 24px -18px rgba(0, 0, 0, .55);
}
html[data-tema="oscuro"] body {
    color-scheme: dark;
    background-color: var(--fondo);
    background-image: radial-gradient(circle at 8% 9%, rgba(72, 202, 208, .12), transparent 22%),
                      linear-gradient(180deg, #101927, #0d121a 390px);
}
html[data-tema="oscuro"] :is(.topbar, .panel, .kpi-card, .suc-card, .modal-card, .orden-gasto-dialog,
    .pago-proveedor-dialog, .gate-card, .tabs, .det-rail, .admin-local-nav, .toast) {
    color: var(--texto);
    border-color: var(--borde);
    background: var(--panel);
}
html[data-tema="oscuro"] :is(.topbar, .tabs, .det-rail, .admin-local-nav) { background: rgba(23, 32, 43, .95); }
html[data-tema="oscuro"] :is(.marca h1, .panel-cabecera h3, .kpi-card .val, .tablero-portada h2,
    .admin-portada h2, .auditoria-total b, .categoria-rubro-cabecera strong) { color: var(--texto); }
html[data-tema="oscuro"] :is(.chip, .btn-nav, .btn-icono, .btn-sec, .btn-mini, .admin-gestion-tarjeta,
    .nombres-nav, .nombres-page, .nombres-vistas button) {
    color: var(--texto);
    border-color: var(--borde);
    background: var(--tarjeta);
}
html[data-tema="oscuro"] :is(.chip.en-linea, .chip.modo, .panel-cabecera .contador,
    .admin-local-nav button.activa, .nombres-vistas button.activo, .nombres-acceso) {
    color: var(--acento-claro);
    background: var(--acento-fondo);
    border-color: var(--acento-borde);
}
html[data-tema="oscuro"] .chip.sin-linea { color: var(--peligro); background: rgba(255, 135, 141, .12); }
html[data-tema="oscuro"] .btn { color: #092d31; }
html[data-tema="oscuro"] :is(.btn-sec, .btn-mini, .btn-nav, .btn-icono) { color: var(--texto); }
html[data-tema="oscuro"] :is(.btn-nav:hover, .btn-icono:hover, .btn-mini:hover, .tab-btn:hover,
    .nombres-vistas button:hover, .nombres-nav:hover, .nombres-page:hover:not(:disabled)) {
    color: var(--acento-claro);
    background: var(--acento-fondo);
}
html[data-tema="oscuro"] :is(.input-text, .input-fecha, .rango-barra input[type="date"],
    .admin-facturas-filtros input, .pp-select, .pp-importe, .orden-gasto-form input,
    input, select, textarea) {
    color-scheme: dark;
    color: var(--texto);
    background-color: var(--hundido);
    border-color: var(--borde);
}
html[data-tema="oscuro"] :is(input, textarea)::placeholder { color: var(--texto-3); }
html[data-tema="oscuro"] :is(.data-table th, .kpi-card .lbl) { color: var(--texto-2); }
html[data-tema="oscuro"] :is(.data-table tr:hover td, .auditoria-tabla tr:hover,
    .nombres-tabla tbody tr:hover, .tab-btn:hover) { background: #233746; }
html[data-tema="oscuro"] :is(.banda-aviso, .banda-aviso.urgente, .auditoria-aviso) {
    color: var(--texto);
    background: #3a3021;
    border-color: #74603b;
}
html[data-tema="oscuro"] :is(.admin-flujo, .tarjeta-pendiente, .admin-cuentas-grid article,
    .admin-orden, .cuenta-equipo-tarjeta, .cuenta-equipo-detalle, .flujo-total,
    .cierre-kpis > div, .pp-parte, .lista-check, .cierre-lista, .factura-foto,
    .informe-tipo, .informe-bienvenida, .informe-no-disponible, .informe-documento,
    .libro-iva-resumen, .libro-iva-detalle-dia, #filtrosInformes .rango-barra) {
    color: var(--texto);
    background: var(--tarjeta);
    border-color: var(--borde);
}
html[data-tema="oscuro"] :is(.tablero-portada, .admin-portada) {
    border-color: #435568;
    background: linear-gradient(118deg, #254655, #213445 66%, #1b2938);
}
html[data-tema="oscuro"] :is(.tablero-portada p, .admin-portada p) { color: var(--texto-2); }
html[data-tema="oscuro"] .tablero-accesos a:nth-child(2) { color: #30230a; }
html[data-tema="oscuro"] .panel-cabecera .contador { color: var(--acento-claro); }
html[data-tema="oscuro"] .kpi-icono { background: color-mix(in srgb, var(--kpi-acento) 20%, var(--panel)); }
html[data-tema="oscuro"] .kpi-alerta .kpi-icono { background: rgba(255, 135, 141, .14); border-color: #82515b; }
html[data-tema="oscuro"] .auditoria-cabecera { background: linear-gradient(135deg, #1e3542, #1b2835); }
html[data-tema="oscuro"] .auditoria-total { background: #3a3021; }
html[data-tema="oscuro"] .sin-pendientes .auditoria-total { background: #19382f; }
html[data-tema="oscuro"] .auditoria-flujo { background: var(--hundido); }
html[data-tema="oscuro"] .auditoria-flujo > div > span { color: var(--acento-claro); background: var(--acento-fondo); }
html[data-tema="oscuro"] .libro-iva-resumen .data-table tbody tr:not(.libro-iva-total):nth-child(even) { background: var(--hundido); }
html[data-tema="oscuro"] .libro-iva-resumen .data-table td { border-bottom-color: var(--borde); }
html[data-tema="oscuro"] .libro-iva-total { background: #294251; }
html[data-tema="oscuro"] .libro-iva-tabla .fila-nota-credito { background: #3a262e; }
html[data-tema="oscuro"] #gate { background: #0d121a; background-image: radial-gradient(circle at 15% 15%, rgba(72,202,208,.18) 0 110px, transparent 112px); }

/* Gestión de productos: estas tarjetas tenían colores claros propios de la página. */
html[data-tema="oscuro"] .catalogo-guia {
    color: #d4e6e9;
    background: #203b43;
    border-color: #48737b;
}
html[data-tema="oscuro"] .catalogo-guia b { color: #f0f8f9; }
html[data-tema="oscuro"] :is(.categorias-bloque, .categoria-rubro, .categoria-familia,
    .nombres-tabla tr) { color: var(--texto); border-color: var(--borde); background: var(--tarjeta); }
html[data-tema="oscuro"] :is(.categorias-bloque label, .categoria-familia, .categorias-estado,
    .nombres-motivo, .nombres-vistas button) { color: var(--texto-2); }
html[data-tema="oscuro"] .categoria-rubro:first-child { border-top-color: var(--borde); }
html[data-tema="oscuro"] .categoria-baja { color: var(--peligro); border-color: #805059; background: #38242c; }
html[data-tema="oscuro"] .categoria-baja:hover:not(:disabled) { color: #ffc0c4; background: #4c2933; }
html[data-tema="oscuro"] .categoria-sync { color: var(--ok); }
html[data-tema="oscuro"] .categoria-sync.pendiente { color: var(--alerta); }
html[data-tema="oscuro"] .nombres-motivo.conflicto { color: var(--alerta); }
html[data-tema="oscuro"] :is(.nombres-fuente a, #panelNombres .nota a) { color: var(--acento-claro); }
html[data-tema="oscuro"] :is(.nombres-aplicar, .nombres-acceso) { color: var(--acento-claro); border-color: var(--acento-borde); background: var(--acento-fondo); }
html[data-tema="oscuro"] :is(.nombres-aplicar:hover, .nombres-acceso:hover) { background: rgba(72, 202, 208, .25); }
html[data-tema="oscuro"] .nombres-modal-apply { color: #fff; background: #0d8174; }
html[data-tema="oscuro"] .nombres-tabla td[data-label]::before { color: var(--texto-2); }

@media (max-width: 720px) {
    html[data-tema="oscuro"] body { background-image: linear-gradient(180deg, #152333, #0d121a 330px); }
    .rail button.rail-tema {
        position: fixed;
        left: 12px;
        bottom: calc(84px + env(safe-area-inset-bottom));
        z-index: 1;
        width: auto;
        min-width: 142px;
        min-height: 44px;
        padding: 8px 13px;
        flex-direction: row;
        gap: 9px;
        border-radius: 13px;
        box-shadow: 0 12px 28px rgba(0, 0, 0, .3);
    }
    .rail button.rail-tema .rail-etiqueta { display: block; }
}
@media print {
    :root[data-tema="oscuro"] {
        color-scheme: light;
        --fondo: #fff;
        --panel: #fff;
        --tarjeta: #fff;
        --hundido: #f6f6f6;
        --borde: #bbb;
        --borde-suave: #ddd;
        --texto: #111;
        --texto-2: #444;
        --texto-3: #666;
        --tinta: #111;
    }
    html[data-tema="oscuro"] body { color: #111; background: #fff; }
    html[data-tema="oscuro"] :is(.panel, .kpi-card, .informe-documento, .libro-iva-resumen,
        .libro-iva-detalle-dia) { color: #111; background: #fff; box-shadow: none; }
    html[data-tema="oscuro"] .libro-iva-total { background: #eee; }
    html[data-tema="oscuro"] .libro-iva-tabla .fila-nota-credito { background: #fff5f5; }
    .rail button.rail-tema { display: none; }
}
