/* Paleta pizarra: los colores propios de las cuatro tarjetas se conservan. */
.cuenta-superior { gap:14px; }
/* Interruptor discreto: sol/luna, accesible por teclado y lector de pantalla. */
.selector-tema { display:inline-grid; place-items:center; flex:0 0 34px; width:34px; height:34px; margin:0; padding:0; border:0; background:transparent; cursor:pointer; border-radius:8px; color:var(--texto-secundario); }
.selector-tema > i { font-size:1rem; pointer-events:none; }
.selector-tema:hover { color:var(--azul-estructura); background:var(--azul-estructura-suave); }
.selector-tema:focus-visible { outline:2px solid var(--azul-estructura); outline-offset:2px; }
.cuenta-superior .salida-portal { padding:6px 10px; }
.tema-invitado { display:flex; justify-content:flex-end; padding:12px 20px; background:var(--panel); }
@media (max-width:640px) {
    .cuenta-superior { display:grid; grid-template-columns:auto minmax(0,1fr); width:100%; }
    .cuenta-superior .identidad-usuario { grid-column:1 / -1; }
    .cuenta-superior > form { justify-self:end; }
    .selector-tema { width:44px; height:44px; }
}
@media (pointer:coarse) { .selector-tema { width:44px; height:44px; flex-basis:44px; } }
@media screen {
    [data-bs-theme="dark"] .login-referencia::before, [data-bs-theme="dark"] .login-referencia::after { opacity:.4; }
    :root[data-bs-theme="dark"] {
        color-scheme:dark;
        --fondo-pagina:#111827;
        --fondo-sutil:#243349;
        --fondo-suave:#243349;
        --panel:#1b2535;
        --texto-principal:#e5edf7;
        --texto-secundario:#b0bdce;
        --borde-suave:#344155;
        --acento:#6bc7cc;
        --acento-oscuro:#8bdee0;
        --acento-suave:#193b40;
        --borde-acento:#345b63;
        --azul-estructura:#9dbfff;
        --azul-estructura-suave:#243954;
        --azul-estructura-borde:#3b526f;
        --cabecera-tabla-fondo:#243349;
        --bs-body-bg:#1b2535;
        --bs-body-bg-rgb:27,37,53;
        --bs-body-color:#e5edf7;
        --bs-body-color-rgb:229,237,247;
        --bs-secondary-color:#b0bdce;
        --bs-secondary-color-rgb:176,189,206;
        --bs-secondary-rgb:176,189,206;
        --bs-secondary-bg:#243349;
        --bs-tertiary-bg:#243349;
        --bs-border-color:#344155;
        --bs-link-color:#6bc7cc;
        --bs-link-color-rgb:107,199,204;
        --bs-link-hover-color:#8bdee0;
        --bs-link-hover-color-rgb:139,222,224;
    }
    [data-bs-theme="dark"] :is(.barra-superior, .panel-directorio, .login-card, .colaborador-boleta, .tablero-dona > div) { background:var(--panel); }
    [data-bs-theme="dark"] :is(.contenido-portal:has(.tablero-boletas), .auth-page.login-referencia) { background:var(--fondo-pagina); }
    [data-bs-theme="dark"] .candidato-contrato { background:var(--panel); }
    [data-bs-theme="dark"] .candidato-contrato:has(input:checked) { background:var(--acento-suave); }
    [data-bs-theme="dark"] .pasos-contratos li:not(.paso-actual) > span { background:var(--panel); }
    [data-bs-theme="dark"] .pasos-contratos .paso-actual > span { color:#092d30; }
    [data-bs-theme="dark"] .tablero-columna-area { background:repeating-linear-gradient(to top,transparent 0,transparent 49px,var(--borde-suave) 49px,var(--borde-suave) 50px); }
    [data-bs-theme="dark"] .portal-page :is(.form-control, .form-select) { background-color:#141e2d; color:var(--texto-principal); border-color:var(--borde-suave); }
    [data-bs-theme="dark"] .portal-page :is(.form-control, .form-select):disabled { background-color:var(--fondo-sutil); color:var(--texto-secundario); }
    [data-bs-theme="dark"] .portal-page .form-control::placeholder { color:var(--texto-secundario); opacity:1; }
    [data-bs-theme="dark"] .portal-page :is(.form-control, .form-select):focus { border-color:var(--acento); box-shadow:0 0 0 .2rem rgb(107 199 204 / .2); }
    [data-bs-theme="dark"] .login-referencia .form-label { color:var(--texto-principal); }
    [data-bs-theme="dark"] .login-referencia .login-brand p { color:var(--texto-secundario); }
    [data-bs-theme="dark"] .portal-page .accion-catalogo { background:var(--panel); color:var(--texto-secundario); }
    [data-bs-theme="dark"] .portal-page .accion-catalogo:hover { background:var(--acento-suave); color:var(--acento); }
    [data-bs-theme="dark"] .portal-page .recepcion-compacta .accion-catalogo { background:transparent; }
    [data-bs-theme="dark"] .portal-page .btn-primary {
        --bs-btn-color:#092d30; --bs-btn-hover-color:#092d30; --bs-btn-active-color:#092d30; --bs-btn-disabled-color:#092d30;
        color:#092d30;
    }
    [data-bs-theme="dark"] .portal-page .btn-outline-primary { --bs-btn-hover-color:#092d30; --bs-btn-active-color:#092d30; }
    [data-bs-theme="dark"] .portal-page .pagination { --bs-pagination-bg:var(--panel); --bs-pagination-hover-bg:var(--fondo-sutil); --bs-pagination-active-color:#092d30; --bs-pagination-focus-bg:var(--fondo-sutil); }
    [data-bs-theme="dark"] .salto-contenido:focus { background:var(--panel); color:var(--texto-principal); }
    [data-bs-theme="dark"] dialog { color:var(--texto-principal); }
}
/* Las constancias impresas conservan papel blanco, incluso desde el modo oscuro. */
@media print {
    .selector-tema, .tema-invitado { display:none !important; }
    :root[data-bs-theme="dark"] { color-scheme:light; --bs-body-bg:#fff; --bs-body-color:#212529; --bs-body-color-rgb:33,37,41; --bs-secondary-color:#647078; --bs-secondary-rgb:100,112,120; --bs-emphasis-color:#212529; --bs-heading-color:#212529; --bs-border-color:#e0e7e7; }
    [data-bs-theme="dark"] .documento-constancia { color:#212529; background:#fff; }
}
/* Documentos personales: conservar contraste del contenido en el tema oscuro. */
[data-bs-theme="dark"] .inicio-colaborador :is(.colaborador-recientes,.colaborador-accesos){background:var(--panel);border-color:var(--borde-suave)}
[data-bs-theme="dark"] .inicio-colaborador .colaborador-boleta{background:var(--fondo-sutil);border-color:var(--borde-suave)}
[data-bs-theme="dark"] .inicio-colaborador :is(.colaborador-boleta h3,.colaborador-acceso strong,.colaborador-consejo h3){color:var(--texto-principal)}
[data-bs-theme="dark"] .inicio-colaborador :is(.boleta-tipo,.colaborador-boleta p,.colaborador-accesos>p,.colaborador-acceso small,.colaborador-consejo p){color:var(--texto-secundario)}
[data-bs-theme="dark"] .inicio-colaborador .colaborador-consejo{background:var(--fondo-sutil)}
