/* Corporación TCT: tokens de color y tema. Claro por defecto; oscuro con data-theme="dark" o, si no hay preferencia guardada, según el sistema. */
:root {
    color-scheme: light;
    /* Marca de la instalación: el layout la sobrescribe con un <style> inline tras este archivo. */
    --marca-primario: #0b3a66;
    --marca-acento: #f5b324;
    --azul: #0b3a66;
    --azul: var(--marca-primario);
    --ambar: #f5b324;
    --ambar: var(--marca-acento);
    --oliva: #5a5a46;
    --acento: #0b3a66;
    --acento: var(--marca-primario);
    --acento-hover: #0a3158;
    --acento-hover: color-mix(in srgb, var(--marca-primario) 85%, black);
    --enlace: #0b3a66;
    --enlace: var(--marca-primario);
    --enlace-hover: #072a4b;
    --enlace-hover: color-mix(in srgb, var(--marca-primario) 70%, black);
    --acento-suave: #e8eff7;
    --fondo: #f3f5f8;
    --superficie: #ffffff;
    --superficie-2: #f7f9fc;
    --borde: #cfd7e2;
    --borde-suave: #e4e9f0;
    --campo-borde: #7a879c;
    --encabezado-tabla: #e9eef5;
    --fila-par: #f6f8fb;
    --texto: #17212e;
    --texto-suave: #4a5668;
    --titulo: #0b3a66;
    --titulo: var(--marca-primario);
    --ok: #14612c;
    --ok-fondo: #e3f4e8;
    --ok-borde: #b5dcc0;
    --error: #9b1c1c;
    --error-fondo: #fdeaea;
    --error-borde: #f0bcbc;
    --aviso: #7a4a00;
    --aviso-fondo: #fff3d6;
    --aviso-borde: #ecd49a;
    --info: #0b3a66;
    --info: var(--marca-primario);
    --info-fondo: #e8eff7;
    --info-borde: #b9d3ee;
    --ingreso: #5c3d00;
    --ingreso-fondo: #fdebb8;
    --ingreso-borde: #f5b324;
    --ingreso-borde: var(--marca-acento);
    --barra-fondo: #ffffff;
    --barra-borde: #0b3a66;
    --barra-borde: var(--marca-primario);
    --barra-texto: #0b3a66;
    --barra-texto: var(--marca-primario);
    --barra-suave: #4a5668;
    --logo-fondo: transparent;
    --logo-relleno: 0;
    --foco: #f5b324;
    --foco: var(--marca-acento);
    --foco-linea: #0b3a66;
    --foco-linea: var(--marca-primario);
    --sombra: 0 1px 2px rgba(11, 58, 102, .08);
    --radio: 6px;
    --fuente: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

:root[data-theme="dark"] {
    color-scheme: dark;
    --acento: #2f73b5;
    --acento: color-mix(in srgb, var(--marca-primario) 75%, white);
    --acento-hover: #285f96;
    --acento-hover: color-mix(in srgb, var(--marca-primario) 85%, white);
    --enlace: #8cc0f2;
    --enlace: color-mix(in srgb, var(--marca-primario) 55%, white);
    --enlace-hover: #b4d6f7;
    --enlace-hover: color-mix(in srgb, var(--marca-primario) 35%, white);
    --acento-suave: #16304f;
    --fondo: #0a1524;
    --superficie: #11233a;
    --superficie-2: #0e1d33;
    --borde: #2c4263;
    --borde-suave: #1f3250;
    --campo-borde: #7a93b5;
    --encabezado-tabla: #172b46;
    --fila-par: #0f2037;
    --texto: #e8eef6;
    --texto-suave: #a8b7cb;
    --titulo: #cfe2f6;
    --titulo: color-mix(in srgb, var(--marca-primario) 20%, white);
    --oliva: #8b8b72;
    --ok: #86dba0;
    --ok-fondo: #11301d;
    --ok-borde: #25573a;
    --error: #ffa3a3;
    --error-fondo: #3a1517;
    --error-borde: #6e2b2e;
    --aviso: #f5c76a;
    --aviso-fondo: #3a2c0c;
    --aviso-borde: #6b5218;
    --info: #9cc8f2;
    --info: color-mix(in srgb, var(--marca-primario) 55%, white);
    --info-fondo: #12304f;
    --info-borde: #2c5686;
    --ingreso: #f8cf6a;
    --ingreso-fondo: #3d2f0a;
    --ingreso-borde: #f5b324;
    --ingreso-borde: var(--marca-acento);
    --barra-fondo: #0a1c33;
    --barra-borde: #f5b324;
    --barra-borde: var(--marca-acento);
    --barra-texto: #e8eef6;
    --barra-suave: #a8b7cb;
    --logo-fondo: #ffffff;
    --logo-relleno: 3px 8px;
    --foco-linea: #ffffff;
    --sombra: 0 1px 2px rgba(0, 0, 0, .4);
}

@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) {
        color-scheme: dark;
        --acento: #2f73b5;
        --acento: color-mix(in srgb, var(--marca-primario) 75%, white);
        --acento-hover: #285f96;
        --acento-hover: color-mix(in srgb, var(--marca-primario) 85%, white);
        --enlace: #8cc0f2;
        --enlace: color-mix(in srgb, var(--marca-primario) 55%, white);
        --enlace-hover: #b4d6f7;
        --enlace-hover: color-mix(in srgb, var(--marca-primario) 35%, white);
        --acento-suave: #16304f;
        --fondo: #0a1524;
        --superficie: #11233a;
        --superficie-2: #0e1d33;
        --borde: #2c4263;
        --borde-suave: #1f3250;
        --campo-borde: #7a93b5;
        --encabezado-tabla: #172b46;
        --fila-par: #0f2037;
        --texto: #e8eef6;
        --texto-suave: #a8b7cb;
        --titulo: #cfe2f6;
        --titulo: color-mix(in srgb, var(--marca-primario) 20%, white);
        --oliva: #8b8b72;
        --ok: #86dba0;
        --ok-fondo: #11301d;
        --ok-borde: #25573a;
        --error: #ffa3a3;
        --error-fondo: #3a1517;
        --error-borde: #6e2b2e;
        --aviso: #f5c76a;
        --aviso-fondo: #3a2c0c;
        --aviso-borde: #6b5218;
        --info: #9cc8f2;
        --info: color-mix(in srgb, var(--marca-primario) 55%, white);
        --info-fondo: #12304f;
        --info-borde: #2c5686;
        --ingreso: #f8cf6a;
        --ingreso-fondo: #3d2f0a;
        --ingreso-borde: #f5b324;
        --ingreso-borde: var(--marca-acento);
        --barra-fondo: #0a1c33;
        --barra-borde: #f5b324;
        --barra-borde: var(--marca-acento);
        --barra-texto: #e8eef6;
        --barra-suave: #a8b7cb;
        --logo-fondo: #ffffff;
        --logo-relleno: 3px 8px;
        --foco-linea: #ffffff;
        --sombra: 0 1px 2px rgba(0, 0, 0, .4);
    }
}

/* Selector de tema (barra superior y página pública) */
.selector-tema { display: inline-flex; align-items: center; gap: .35rem; margin: 0; font-weight: 400; color: var(--barra-suave); }
.selector-tema svg { flex: none; }
.selector-tema select {
    width: auto; padding: .25rem 1.6rem .25rem .5rem; font-size: .875rem; color: var(--barra-texto);
    background-color: transparent; border: 1px solid var(--campo-borde); border-radius: var(--radio);
}
.selector-tema select option { color: #17212e; background: #fff; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .selector-tema select option { color: #e8eef6; background: #11233a; } }
:root[data-theme="dark"] .selector-tema select option { color: #e8eef6; background: #11233a; }
.oculto { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
