/* Configuración: la acción individual conserva su función sin repetir “Guardar”. */
.tabla-tipos .editar-tipo-ingreso button[title="Guardar nombre"]{display:grid!important;width:28px;height:28px;place-items:center;border:1px solid #cfd5df!important;border-radius:7px!important;background:#fff!important;color:transparent!important;font-size:0!important;box-shadow:none!important}.tabla-tipos .editar-tipo-ingreso button[title="Guardar nombre"]:after{content:'✓';color:#c40942;font-size:15px;font-weight:800}.tabla-tipos .editar-tipo-ingreso button[title="Guardar nombre"]:hover{border-color:#c40942!important;background:#fff1f4!important}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:'Hanken Grotesk', Arial, Helvetica, sans-serif;
}

:root{
    --color-primary:#0F172A;
    --color-primary-hover:#1e293b;
    --color-secondary:#BE123C;
    --color-secondary-hover:#9f0f32;
    --color-surface:#F8FAFC;
    --color-outline:#c6c6cd;
    --color-on-surface:#191c1e;
    --color-on-surface-variant:#45464d;
    --shadow-nivel1:0 4px 12px rgba(0,0,0,.05);
    --shadow-nivel2:0 10px 25px rgba(0,0,0,.1);
    --radio-tarjeta:1rem;
    --radio-control:0.5rem;
}

/* Gestión de sectores */
.sectores-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.sector-card{background:#fff;border:1px solid #d8dde5;border-radius:14px;box-shadow:var(--shadow-nivel1);overflow:hidden}.sector-card>header{display:flex;align-items:center;gap:12px;padding:18px;background:#f3f5f8;border-bottom:1px solid #d8dde5}.sector-card h2{margin:0;font-size:19px}.sector-card header p{margin:2px 0 0;color:#697281;font-size:12px}.sector-icono{display:grid;width:38px;height:38px;place-items:center;border-radius:9px;background:#0f172a;color:#fff;font-size:20px}.sector-bloque{padding:17px 18px;border-bottom:1px solid #e7eaf0}.sector-bloque:last-child{border-bottom:0}.sector-bloque h3{margin:0 0 10px;font-size:13px;text-transform:uppercase;letter-spacing:.04em}.sector-persona{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 8px;padding:8px 10px;border:1px solid #dbe0e8;border-radius:7px;background:#f7f8fa;color:#273448;font-size:14px;font-weight:600}.sector-persona form{display:inline}.sector-persona button{border:0;background:transparent;color:#be123c;font-size:19px;line-height:1;cursor:pointer}.sector-vacio{margin:0 0 10px;color:#7c8592;font-size:14px;font-style:italic}.sector-form-inline{display:flex;gap:8px;align-items:center}.sector-form-inline select{min-width:0;flex:1;padding:8px;border:1px solid #cbd1db;border-radius:7px;background:#fff;font:inherit}.sector-form-inline button{border:0;border-radius:7px;padding:8px 10px;background:#0f172a;color:#fff;font:700 13px inherit;cursor:pointer}.sector-form-inline button:hover{background:#be123c}
@media(max-width:520px){.sector-form-inline{align-items:stretch;flex-direction:column}.sector-form-inline button{width:100%}}

/* Materiales */
.materiales-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-end}.materiales-resumen{display:flex;gap:14px;margin:18px 0}.materiales-resumen>div{min-width:160px;padding:14px 18px;background:#fff;border:1px solid #dce1e8;border-radius:10px}.materiales-resumen span{display:block;color:#667085;font-size:13px}.materiales-resumen strong{display:block;font-size:25px;color:#0f172a}.texto-alerta{color:#be123c!important}.materiales-filtros{display:flex;gap:10px;flex-wrap:wrap;padding:14px;background:#fff;border:1px solid #dce1e8;border-radius:10px}.materiales-filtros input,.materiales-filtros select{min-width:180px;flex:1;padding:9px;border:1px solid #cbd1db;border-radius:7px;font:inherit}.materiales-filtros button{border:0;border-radius:7px;padding:9px 15px;background:#0f172a;color:#fff;font:700 14px inherit;cursor:pointer}.materiales-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:17px;margin-top:20px}.material-card{overflow:hidden;background:#fff;border:1px solid #dce1e8;border-radius:12px;box-shadow:var(--shadow-nivel1)}.material-card header{display:flex;justify-content:space-between;gap:10px;align-items:start;padding:16px;border-bottom:1px solid #e6e9ee}.material-card h2{margin:0 0 4px;font-size:17px}.material-card header p{margin:0;color:#667085;font-size:13px}.material-descripcion{min-height:45px;margin:0;padding:14px 16px;color:#4b5563;font-size:14px}.material-datos{display:flex;justify-content:space-between;gap:8px;padding:11px 16px;background:#f7f8fa;color:#667085;font-size:12px}.material-datos b{color:#0f172a;font-size:15px}.material-card footer{display:flex;gap:13px;align-items:center;padding:13px 16px}.material-card footer a,.material-card footer button{border:0;background:none;color:#be123c;font:700 13px inherit;text-decoration:none;cursor:pointer}.material-card footer form{display:inline}.materiales-vacio{grid-column:1/-1;padding:44px;background:#fff;border:2px dashed #d1d6df;border-radius:12px;text-align:center;color:#687181}.materiales-vacio span{display:block;margin-top:5px;font-size:14px}.tabla-contenedor{overflow-x:auto}.ubicaciones-layout{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);gap:20px}.ubicacion-item{padding:14px 0;border-bottom:1px solid #e2e6ed}.ubicacion-item:last-child{border-bottom:0}.ubicacion-item h3{margin:0}.ubicacion-item p{margin:3px 0;color:#667085;font-size:13px}.ubicacion-item ul{margin:8px 0 12px;padding-left:18px;font-size:14px}@media(max-width:700px){.materiales-head{align-items:stretch;flex-direction:column}.materiales-resumen{display:grid;grid-template-columns:1fr 1fr}.materiales-resumen>div{min-width:0}.materiales-filtros{flex-direction:column}.materiales-filtros input,.materiales-filtros select{width:100%}.ubicaciones-layout{grid-template-columns:1fr}.material-card footer{justify-content:space-between}}

body{
    background:#F8FAFC;
    color:var(--color-on-surface);
    line-height:1.5;
}

h1{
    font-size:32px;
    font-weight:700;
    line-height:1.2;
    color:var(--color-primary);
}

h2{
    font-size:22px;
    font-weight:600;
    line-height:1.3;
    color:var(--color-primary);
}

h3{
    font-size:18px;
    font-weight:600;
    line-height:1.4;
    color:var(--color-primary);
}

.contenedor{
    display:flex;
    min-height:100vh;
}

.sidebar{
    width:260px;
    min-width:260px;
    background:#0F172A;
    color:white;
    padding:25px 20px;
    display:flex;
    flex-direction:column;
    position:sticky;
    top:0;
    height:100vh;
    overflow-y:auto;
}

.sidebar h2{
    text-align:center;
    margin-bottom:30px;
}

.contenido{
    flex:1;
    padding:30px 40px;
    min-width:0;
}

.tarjetas{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:20px;
    margin-top:30px;
}

.tarjeta{
    background:white;
    padding:20px;
    border-radius:1rem;
    box-shadow:0 4px 12px rgba(0,0,0,.05);
    text-decoration:none;
    color:inherit;
    display:block;
    transition:0.2s;
}

.tarjeta:hover{
    box-shadow:0 10px 25px rgba(0,0,0,.1);
    transform:translateY(-2px);
}

.logo{
    text-align: center;
    margin-bottom: 20px;
}

.logo img{
    width: 72px;
    height: auto;
    object-fit: contain;
    margin-bottom: 10px;
}

.logo h2{
    color: white;
    font-size: 16px;
    line-height: 1.3;
}

/* ===========================
   NAVEGACIÓN CON ÍCONOS
=========================== */

.nav-iconos{
    list-style:none;
    flex:1;
}

.nav-iconos li{
    margin:4px 0;
}

.nav-iconos li a{
    color:rgba(255,255,255,.85);
    text-decoration:none;
    display:flex;
    align-items:center;
    gap:12px;
    padding:11px 12px;
    border-radius:8px;
    font-size:14px;
    transition:0.15s;
}

.nav-iconos li a svg{
    width:19px;
    height:19px;
    flex-shrink:0;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.nav-iconos li a:hover{
    background:#BE123C;
    color:white;
}
/* ===========================
   BARRA SUPERIOR (Jefe de Servicio / Oficial / Semana)
=========================== */

.barra-superior{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
    gap:16px;
    margin-bottom:25px;
}

.dato-servicio{
    background:white;
    border-radius:1rem;
    padding:14px 18px;
    box-shadow:0 4px 12px rgba(0,0,0,.05);
}

.dato-servicio.dato-semana{
    background:#0F172A;
    color:white;
}

.dato-servicio.dato-semana .etiqueta-servicio{
    color:rgba(255,255,255,.7);
}

.etiqueta-servicio{
    display:block;
    font-size:12px;
    color:#888;
    margin-bottom:4px;
    text-transform:uppercase;
    letter-spacing:.03em;
}

/* ===========================
   BADGES DE ESTADO
=========================== */

.badge{
    display:inline-block;
    padding:5px 12px;
    border-radius:20px;
    font-size:13px;
    font-weight:bold;
}

.badge-verde{
    background:#d4edda;
    color:#155724;
}

.badge-rojo{
    background:#f8d7da;
    color:#721c24;
}

.badge-amarillo{
    background:#fff3cd;
    color:#856404;
}

.badge-azul{
    background:#d1ecf1;
    color:#0c5460;
}

.badge-gris{
    background:#e2e3e5;
    color:#41464b;
}

/* ===========================
   TABLAS
=========================== */

.tabla{
    width:100%;
    border-collapse:collapse;
    background:white;
    margin-top:25px;
    border-radius:1rem;
    overflow:hidden;
    box-shadow:0 4px 12px rgba(0,0,0,.05);
}

.tabla thead{
    background:#f2f4f6;
}

.tabla th{
    color:var(--color-on-surface-variant);
    font-size:12px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:0.04em;
}

.tabla th,
.tabla td{
    padding:14px;
    text-align:left;
    border-bottom:1px solid #eceef0;
}

.tabla tbody tr:hover{
    background:#F8FAFC;
}
.acciones{
    margin-bottom:20px;
}

.boton-principal{
    display:inline-block;
    background:white;
    color:#0F172A;
    border:1.5px solid #0F172A;
    padding:9px 18px;
    border-radius:0.5rem;
    text-decoration:none;
    font-weight:600;
    font-size:14px;
    cursor:pointer;
    transition:0.15s;
    line-height:1.4;
}

.boton-principal:hover{
    background:#eef1f6;
}

/* Botón de acción principal (CTA): fondo rojo, para las acciones
   más importantes de cada pantalla (crear, guardar, publicar). */
.boton-cta{
    background:#BE123C;
    color:white;
    border:1.5px solid #BE123C;
}

.boton-cta:hover{
    background:#9f0f32;
    border-color:#9f0f32;
}

/* Botón fantasma/de bajo énfasis: para cancelar, quitar, rechazar */
.boton-fantasma{
    background:transparent;
    border:1.5px solid #c6c6cd;
    color:#45464d;
}

.boton-fantasma:hover{
    background:#f2f4f6;
}
/* ===========================
   FORMULARIOS
=========================== */

.formulario{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:20px;
    margin-top:20px;
}

.campo{
    display:flex;
    flex-direction:column;
}

.campo label{
    font-weight:bold;
    margin-bottom:6px;
    color:#0F172A;
}

.campo input,
.campo select,
.campo textarea{
    padding:10px;
    border:1px solid #ccc;
    border-radius:8px;
    font-size:15px;
    width:100%;
    box-sizing:border-box;
}

.campo textarea{
    resize:vertical;
    min-height:90px;
}

.campo input[type="checkbox"]{
    width:auto;
    margin-top:10px;
}
/* =====================================
   DETALLE DE GUARDIAS
===================================== */

.cabecera-guardia{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:25px;
}

.estado{
    padding:10px 18px;
    border-radius:20px;
    font-weight:bold;
}

.preparacion{
    background:#fff3cd;
    color:#856404;
}

.publicado{
    background:#d4edda;
    color:#155724;
}

.tarjeta-semana{
    background:white;
    border-radius:1rem;
    padding:25px;
    box-shadow:0 4px 12px rgba(0,0,0,.05);
    display:grid;
    /* Jefe de Servicio, Oficial de Semana y Cupo por turno en una sola fila
       (si el ancho no alcanza, bajan a 2 y luego a 1 columna). */
    grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
    gap:25px;
    margin-bottom:30px;
}

.dato strong{
    color:#0F172A;
}

.dato p{
    margin-top:8px;
}

.titulo-grilla{
    margin-bottom:15px;
    color:#0F172A;
}

.grilla-guardias{
    width:100%;
    table-layout:fixed;
    border-collapse:collapse;
    background:white;
    box-shadow:0 4px 12px rgba(0,0,0,.05);
}

.grilla-guardias th{
    background:#0F172A;
    color:white;
    padding:12px;
}

.grilla-guardias td{
    border:1px solid #ddd;
    padding:12px;
    text-align:center;
    height:60px;
    overflow-wrap:anywhere;
}

.grilla-guardias td:first-child{
    text-align:left;
    font-weight:bold;
    background:#f8f9fb;
}

.encabezado-turno td{
    background:#0F172A !important;
    color:white;
    text-align:center !important;
    font-size:15px;
}

.acciones-guardia{
    margin-top:30px;
    display:flex;
    gap:15px;
}
.bombero-item{
    padding:8px 10px;
    margin-bottom:6px;
    background:#f4f4f4;
    border-radius:6px;
}

.bombero-item.persona-inactiva{
    opacity:.6;
}

.sin-personal{
    color:#777;
    font-style:italic;
    margin-bottom:10px;
}
.acciones-celda{
    margin-top:12px;
    display:flex;
    flex-direction:column;
    gap:8px;
}
/* ===========================
   AUTENTICACIÓN / LOGIN
=========================== */

.pantalla-login{
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#0F172A;
    padding:20px;
}

.tarjeta-login{
    background:white;
    border-radius:1rem;
    padding:35px 30px;
    width:100%;
    max-width:380px;
    box-shadow:0 20px 40px rgba(15,23,42,.18);
}

.logo-login{
    text-align:center;
    margin-bottom:25px;
}

.logo-login img{
    width:180px;
    height:auto;
    object-fit:contain;
    margin-bottom:12px;
}

.logo-login h2{
    color:#0F172A;
    font-size:18px;
}

.pantalla-login form .campo{
    margin-bottom:16px;
}

.boton-ancho{
    width:100%;
    text-align:center;
    cursor:pointer;
    font-size:16px;
    margin-top:10px;
}

/* ===========================
   MENSAJES (django.contrib.messages)
=========================== */

.mensajes{
    margin-bottom:20px;
}

.mensaje{
    padding:12px 16px;
    border-radius:8px;
    margin-bottom:10px;
    font-weight:bold;
}

.mensaje.success{
    background:#d4edda;
    color:#155724;
}

.mensaje.error{
    background:#f8d7da;
    color:#721c24;
}

.mensaje.warning{
    background:#fff3cd;
    color:#856404;
}

.mensaje.info{
    background:#d1ecf1;
    color:#0c5460;
}

/* ===========================
   BARRA DE USUARIO / LOGOUT
=========================== */

.usuario-actual{
    text-align:center;
    color:white;
    margin-bottom:20px;
    padding-bottom:15px;
    border-bottom:1px solid rgba(255,255,255,.2);
}

.usuario-actual small{
    opacity:.7;
}

.form-logout{
    margin-top:20px;
}

.enlace-logout{
    width:100%;
    background:transparent;
    border:1px solid rgba(255,255,255,.4);
    color:white;
    padding:10px;
    border-radius:8px;
    cursor:pointer;
    font-size:14px;
}

.enlace-logout:hover{
    background:#BE123C;
    border-color:#BE123C;
}

.form-inline{
    display:flex;
    gap:8px;
    align-items:center;
    flex-wrap:wrap;
}

/* ===========================
   COMUNICADOS: selector de destinatarios
=========================== */

.opciones-destinatario{
    display:flex;
    gap:20px;
    flex-wrap:wrap;
    margin:15px 0;
}

.opcion-radio{
    display:flex;
    align-items:center;
    gap:6px;
    font-weight:bold;
    color:#0F172A;
    cursor:pointer;
}

.bloque-destinatario{
    background:white;
    border-radius:1rem;
    padding:16px;
    margin-bottom:15px;
    box-shadow:0 4px 12px rgba(0,0,0,.05);
}

.bloque-destinatario ul{
    list-style:none;
}

.bloque-destinatario li{
    padding:4px 0;
}

/* ===========================
   MENÚ MÓVIL
=========================== */

.boton-menu-movil{
    display:none;
    width:100%;
    padding:14px;
    background:#0F172A;
    color:white;
    border:none;
    font-size:16px;
    cursor:pointer;
}

/* ===========================
   GRILLA DE GUARDIAS - TARJETAS MOBILE
   (ocultas en escritorio por defecto)
=========================== */

.tarjetas-guardias-mobile{
    display:none;
}

.tarjeta-dia-mobile{
    background:white;
    border-radius:1rem;
    box-shadow:0 4px 12px rgba(0,0,0,.05);
    margin-bottom:20px;
    overflow:hidden;
}

.fecha-dia-mobile{
    background:#0F172A;
    color:white;
    padding:12px 16px;
    text-transform:capitalize;
    font-size:16px;
}

.tarjeta-turno-mobile{
    padding:16px;
    border-top:1px solid #eee;
}

.turno-header-mobile{
    background:#0F172A;
    color:white;
    padding:8px 12px;
    border-radius:8px;
    font-weight:bold;
    text-align:center;
    margin-bottom:12px;
    font-size:14px;
}

.rol-mobile{
    margin-bottom:10px;
}

.rol-etiqueta{
    display:block;
    font-weight:bold;
    color:#0F172A;
    font-size:13px;
    margin-bottom:4px;
}

.turno-acciones-mobile{
    display:flex;
    flex-direction:column;
    gap:8px;
    margin-top:14px;
}

.horario-inline{
    display:flex;
    gap:8px;
}

.horario-inline input{
    flex:1;
    padding:8px;
    border:1px solid #ccc;
    border-radius:8px;
    font-size:14px;
}

.ayuda-horario{
    color:#888;
    font-size:12px;
}

.boton-secundario-mobile{
    background:transparent;
    color:#0F172A;
    border:1px solid #0F172A;
}

.boton-secundario-mobile:hover{
    background:#0F172A;
    color:white;
}

@media (max-width: 768px){

    .boton-menu-movil{
        display:block;
    }

    .contenedor{
        flex-direction:column;
    }

    .sidebar{
        width:100%;
        display:none;
        position:static;
        height:auto;
    }

    .sidebar.abierta{
        display:flex;
    }

    .contenido{
        padding:20px;
    }

    .formulario{
        grid-template-columns:1fr;
    }

    .tarjeta-semana{
        grid-template-columns:1fr;
    }

    .barra-superior{
        grid-template-columns:1fr;
    }

    .tabla{
        display:block;
        /* !important: una regla posterior sin media query
           (".tabla,.tabla-modulo table{overflow:hidden}", para redondear
           esquinas) tiene la misma especificidad y, por ir después en el
           archivo, le ganaba a este overflow-x:auto y dejaba la tabla
           cortada sin poder deslizarla en el celular. */
        overflow-x:auto!important;
        white-space:nowrap;
        /* Sombra en el borde derecho: indica que hay más columnas para
           deslizar, ya que en mobile el scroll horizontal no siempre se
           nota (la barra de scroll nativa es casi invisible). */
        background-image:linear-gradient(to right, rgba(15,23,42,.16), rgba(15,23,42,0));
        background-repeat:no-repeat;
        background-size:22px 100%;
        background-position:100% 0;
        -webkit-overflow-scrolling:touch;
        scrollbar-width:thin;
        scrollbar-color:#c40942 #e9edf2;
    }
    .tabla::-webkit-scrollbar{height:7px;}
    .tabla::-webkit-scrollbar-track{background:#e9edf2;}
    .tabla::-webkit-scrollbar-thumb{background:#c40942;border-radius:6px;}

    /* En mobile: ocultar la tabla ancha, mostrar tarjetas */
    .grilla-guardias{
        display:none;
    }

    .tarjetas-guardias-mobile{
        display:block;
    }
}

/* ===========================
   ENCABEZADO DE PÁGINA (título + subtítulo descriptivo)
=========================== */

.encabezado-pagina{
    margin-bottom:25px;
}

.encabezado-pagina h1{
    color:#0F172A;
    margin-bottom:6px;
}

.subtitulo-pagina{
    color:#777;
    font-size:14px;
}

/* ===========================
   AVATAR CON INICIALES
=========================== */

.avatar-iniciales{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:34px;
    height:34px;
    border-radius:50%;
    background:#0F172A;
    color:white;
    font-weight:bold;
    font-size:13px;
    flex-shrink:0;
}

.fila-persona{
    display:flex;
    align-items:center;
    gap:10px;
}

/* ===========================
   BUSCADOR DE LISTAS (client-side)
=========================== */

.buscador-lista{
    margin-bottom:20px;
}

.buscador-lista input{
    width:100%;
    max-width:400px;
    padding:11px 16px;
    border:1px solid #ddd;
    border-radius:8px;
    font-size:14px;
}

.buscador-lista input:focus{
    outline:none;
    border-color:#0F172A;
}

/* ===========================
   LAYOUT DE DOS COLUMNAS (contenido + panel de resumen)
=========================== */

.layout-dos-columnas{
    display:grid;
    grid-template-columns:1fr 300px;
    gap:25px;
    align-items:start;
}

.panel-resumen{
    background:white;
    border-radius:1rem;
    padding:20px;
    box-shadow:0 4px 12px rgba(0,0,0,.05);
}

.panel-resumen h3{
    color:#0F172A;
    font-size:15px;
    margin-bottom:15px;
}

.panel-resumen h3:not(:first-child){
    margin-top:20px;
    padding-top:16px;
    border-top:1px solid #f0f0f0;
}

.fila-resumen{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:9px 0;
    border-bottom:1px solid #f0f0f0;
    font-size:14px;
}

.fila-resumen:last-child{
    border-bottom:none;
}

.fila-resumen strong{
    color:#0F172A;
    font-size:16px;
}

@media (max-width: 900px){
    .layout-dos-columnas{
        grid-template-columns:1fr;
    }
}

/* ===========================
   DASHBOARD DE INICIO
=========================== */

.grilla-inicio{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:20px;
    margin-top:20px;
}

.tarjeta-inicio{
    background:white;
    border-radius:1rem;
    padding:22px;
    box-shadow:0 4px 12px rgba(0,0,0,.05);
}

.tarjeta-inicio h3{
    color:#0F172A;
    font-size:15px;
    margin-bottom:15px;
}

.tarjeta-proxima-guardia{
    background:#0F172A;
    color:white;
}

.tarjeta-proxima-guardia h3{
    color:white;
}

.turno-grande{
    font-size:24px;
    font-weight:bold;
    margin-bottom:4px;
}

.tarjeta-accesos{
    grid-column:1 / -1;
}

.enlace-ver-todo{
    display:inline-block;
    margin-top:12px;
    color:#0F172A;
    text-decoration:none;
    font-weight:bold;
    font-size:13px;
}

.enlace-ver-todo:hover{
    text-decoration:underline;
}

.mini-stats{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:14px;
}

.mini-stat{
    text-align:center;
    background:#F8FAFC;
    border-radius:8px;
    padding:12px 8px;
}

.mini-stat-numero{
    display:block;
    font-size:22px;
    font-weight:bold;
    color:#0F172A;
}

.mini-stat-etiqueta{
    display:block;
    font-size:12px;
    color:#777;
    margin-top:2px;
}

.item-lista-inicio{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:10px;
    padding:10px 0;
    border-bottom:1px solid #f0f0f0;
}

.item-lista-inicio:last-of-type{
    border-bottom:none;
}

.accesos-rapidos{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

@media (max-width: 900px){
    .grilla-inicio{
        grid-template-columns:1fr;
    }
}

.panel-espaciado{
    margin-top:20px;
}
.rotativo-asignado{
    color:#475569;
    font-size:12px;
    font-style:italic;
    font-weight:600;
}

/* Relevos en grillas ya publicadas */
.relevo-item{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:5px 7px;
    text-align:left;
}
.relevo-confirmado{
    color:#0f766e;
    font-size:12px;
    font-weight:700;
}
.relevo-buscando{
    color:#be123c;
    font-size:12px;
    font-weight:700;
}
.relevo-ayuda{
    color:#64748b;
    font-size:11px;
}
.form-relevo{ margin:0; }
.accion-relevo{
    border:1px solid #d3054c;
    border-radius:5px;
    background:#fff;
    color:#c90042;
    padding:3px 6px;
    font-size:11px;
    font-weight:700;
    cursor:pointer;
}
.accion-relevo:hover{ background:#fff1f5; }
.postular-relevo{ width:100%; }
.postular-relevo summary{
    color:#c90042;
    cursor:pointer;
    font-size:12px;
    font-weight:700;
}
.postular-relevo form{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:4px;
    margin-top:5px;
}
.postular-relevo label{
    color:#475569;
    font-size:10px;
}
.postular-relevo input[type="time"]{
    width:80px;
    padding:3px;
    font-size:11px;
}
.carga-relevo-directa .ga2-refuerzo-buscador{
    width:150px;
}
.carga-relevo-directa .ga2-refuerzo-buscador input[type="text"]{
    width:100%;
    min-height:0;
    padding:3px 6px;
    font-size:11px;
}
.carga-relevo-directa .ga2-refuerzo-lista{
    /* Ancho fijo en vez del left:0;right:0 (que estira la lista) de la
       base: dentro de una tarjeta angosta (celular) ese estiramiento la
       dejaba comprimida a unos pocos píxeles, con el texto partido letra
       por letra. */
    width:190px;
    right:auto;
    font-size:11px;
}
.carga-relevo-directa .ga2-refuerzo-lista li{
    padding:6px 8px;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
}
.form-inscripcion-horario{ display:flex; flex-direction:column; gap:6px; }
/* Los pasos ocultos usan el atributo [hidden]. Los botones de cada
   paso ya traen su propia clase (.boton-principal, .boton-fantasma)
   con "display" propio y la MISMA especificidad que la regla
   [hidden]{display:none} del navegador -- por orden de cascada esas
   clases la pisarían y el paso quedaría siempre visible. Esta regla,
   acotada solo a este formulario, hace que [hidden] gane siempre acá
   sin tocar esas clases en el resto del sitio. */
.form-inscripcion-horario [hidden]{ display:none!important; }
.paso-horario-pregunta{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
    margin-top:4px;
}
.paso-horario-texto{ width:100%; font-size:12px; font-weight:600; color:#64748b; }
.paso-horario-no,
.paso-horario-si{
    min-height:32px;
    padding:5px 16px;
    font-size:12px;
}
.paso-horario-campos{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
    margin-top:4px;
}
.paso-horario-campos label{ font-size:11px; color:#64748b; }
.paso-horario-campos input[type="time"]{ padding:4px; font-size:11px; }
.paso-horario-campos button[type="submit"]{ min-height:32px; padding:5px 16px; font-size:12px; }
html.modo-oscuro .paso-horario-texto{ color:#bdcbe0!important; }
html.modo-oscuro .paso-horario-no{ background:#223553!important; border-color:#587093!important; color:#f3f6fb!important; }
html.modo-oscuro .paso-horario-campos label{ color:#bdcbe0!important; }
html.modo-oscuro .paso-horario-campos input[type="time"]{ background:#101d32!important; border-color:#496183!important; color:#f5f8fd!important; }
/* La regla @media max-width:700px de .turno-acciones-mobile (más
   abajo en este archivo) agranda ".boton-principal" ahí adentro; como
   "No" usa .boton-fantasma no queda alcanzado y se ve más chico que
   "Sí". Estas reglas igualan el tamaño de los 3 botones del paso a
   paso en mobile. Se agrega el selector de elemento "button" además
   de la clase para tener más especificidad que ".turno-acciones-mobile
   .boton-principal" y así no depender del orden de las reglas en el
   archivo. */
@media(max-width:700px){
    .turno-acciones-mobile .paso-horario-pregunta button,
    .turno-acciones-mobile .paso-horario-campos button{ min-height:40px!important; font-size:13px!important; }
}
.postulacion-relevo{
    display:flex;
    align-items:center;
    gap:5px;
    width:100%;
    color:#334155;
    font-size:11px;
}
.postulacion-relevo form{ margin:0; }

.persona-movible{
    cursor:grab;
    touch-action:none;
    user-select:none;
}
.persona-movible:active{ cursor:grabbing; }
.arrastrando-persona{
    opacity:.55;
    transform:scale(1.04);
    box-shadow:0 6px 14px rgba(15,23,42,.18);
}
.destino-relevo-activo{
    background:#fff1f5 !important;
    outline:2px dashed #d3054c;
    outline-offset:-4px;
}
.agregar-personal-desde-grilla{
    margin-top:18px;
    border:1px solid #dbe3ee;
    border-radius:12px;
    background:#fff;
}
.agregar-personal-desde-grilla details{ padding:14px 18px; }
.agregar-personal-desde-grilla summary{
    color:#c90042;
    cursor:pointer;
    font-weight:800;
}
.agregar-personal-desde-grilla form{
    display:flex;
    flex-wrap:wrap;
    align-items:end;
    gap:12px;
    margin-top:16px;
}
.campo-agregar-grilla{ min-width:230px; flex:1; }
.campo-agregar-grilla label{ display:block; font-size:12px; font-weight:700; margin-bottom:5px; }
.campo-agregar-grilla select,
.campo-agregar-grilla input{ width:100%; }
.dato-servicio-asignable summary{ cursor:pointer; list-style:none; }
.dato-servicio-asignable summary::-webkit-details-marker{ display:none; }
.dato-servicio-asignable form{
    display:flex;
    gap:6px;
    margin-top:10px;
}
.dato-servicio-asignable select{ min-width:0; flex:1; padding:5px; font-size:12px; }
.dato-servicio-asignable button{
    border:0;
    border-radius:6px;
    padding:5px 8px;
    background:#d3054c;
    color:#fff;
    font-size:11px;
    font-weight:700;
    cursor:pointer;
}
.dato-responsable-semana summary{ cursor:pointer; list-style:none; }
.dato-responsable-semana summary::-webkit-details-marker{ display:none; }
.dato-responsable-semana form{
    display:flex;
    align-items:center;
    gap:7px;
    margin-top:10px;
}
.dato-responsable-semana select{ min-width:0; flex:1; padding:5px; font-size:12px; }
.form-cupo-guardias{flex-wrap:wrap;align-items:flex-end!important}
.form-cupo-guardias label{display:flex;flex-direction:column;gap:5px;flex:1;min-width:100px;font-size:11px;font-weight:800;color:var(--cmd-muted);text-transform:uppercase;letter-spacing:.03em}
.form-cupo-guardias input{width:100%;min-width:0;padding:7px 9px;border:1px solid #d5dae3;border-radius:7px;background:#fff;color:#172033;font:inherit;font-size:13px}
.form-cupo-guardias input:focus{border-color:#1f3d76;outline:3px solid rgba(31,61,118,.12)}
.form-cupo-guardias .boton-principal{flex:0 0 auto;width:auto;min-height:36px;padding:0 18px}
html.modo-oscuro .form-cupo-guardias label{color:#9aa8c2}
html.modo-oscuro .form-cupo-guardias input{background:#101d32;border-color:#496183;color:#f3f6fb}

.insumos-encabezado{display:flex;align-items:center;justify-content:space-between;gap:16px}
.insumos-pago{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:20px}
.insumos-pago h2{margin:0 0 7px;font-size:18px}.insumos-pago p{margin:0 0 4px;color:#687181}
.insumos-pago-edicion label{display:block;margin:12px 0 5px;color:#414956;font-size:12px;font-weight:800}.insumos-pago-edicion input{display:block;width:100%;max-width:460px;padding:9px}.insumos-pago-edicion input[type="file"]{padding:5px;background:#fff}.insumos-pago-edicion .boton-principal{margin-top:14px}
.alias-insumos{display:inline-block;padding:8px 11px;border-radius:8px;background:#f1f4f8;color:#172033;font-size:17px;letter-spacing:.02em}
.qr-insumos{width:128px;height:128px;padding:6px;border:1px solid #d9dfe8;border-radius:10px;object-fit:contain;background:#fff}
.formulario-insumos{max-width:620px}.formulario-insumos .campo{margin-bottom:18px}.formulario-insumos input[type="text"]{width:100%;padding:10px}.qr-insumos-edicion{display:block;margin:0 0 20px}
.fila-no-pago td:first-child{color:#c40942!important;font-weight:800}.fila-no-pago{background:#fff7f8}
.mensaje-aporte-confirmado{margin:12px 0 6px!important;padding:12px 14px;border-radius:9px;background:#e9f8ee;color:#11733d;font-weight:800}.historial-aportes-personal{margin-top:20px}.historial-aportes-personal h2{margin:0 0 14px;color:#172033;font-size:18px}
.estadisticas-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin:20px 0}.estadisticas-kpis article{padding:16px;border:1px solid #dfe4ec;border-radius:12px;background:#fff;box-shadow:0 4px 12px rgba(15,23,42,.04)}.estadisticas-kpis span{display:block;color:#69717e;font-size:11px;font-weight:800;text-transform:uppercase}.estadisticas-kpis strong{display:block;margin-top:7px;color:#172033;font-size:24px}.estadisticas-kpis .kpi-alerta strong{color:#c40942}.estadisticas-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:20px}.estadistica-panel h2{margin:0 0 17px;color:#172033;font-size:18px}.tabla-estadistica{overflow:auto}.tabla-estadistica .tabla{min-width:0}@media(max-width:1100px){.estadisticas-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.insumos-encabezado,.insumos-pago{align-items:stretch;flex-direction:column}.insumos-encabezado .boton-principal{width:100%;text-align:center}.insumos-pago{align-items:flex-start}}
@media(max-width:700px){.estadisticas-kpis,.estadisticas-grid{grid-template-columns:1fr}}

/* Estadísticas e Intervenciones + mapa de ubicación en el Parte */
.est-int-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}
/* Barra de filtros de Estadísticas: todos los controles alineados por su
   base; los desplegables abren un panel flotante que no empuja la fila. */
.est-int-filtros{align-items:flex-end}
.est-int-filtros>button{min-height:43px;padding:0 22px}
.est-int-desplegable{position:relative}
.est-int-desplegable>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:7px;min-height:43px;padding:0 32px 0 12px;border:1px solid #d4dae3;border-radius:8px;background:#fbfcfe;color:#475467;font-size:13px;font-weight:600;white-space:nowrap}
.est-int-desplegable>summary::-webkit-details-marker{display:none}
.est-int-desplegable>summary::after{content:'▾';position:absolute;right:12px;font-size:10px;color:#8b919d}
.est-int-desplegable[open]>summary{border-color:#c40942}
.est-int-desplegable[open]>summary::after{content:'▴'}
.est-int-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#c40942;color:#fff;font-size:11px;font-weight:700}
.est-int-badge.es-cero{display:none}
.est-int-desplegable-panel .est-int-check[hidden]{display:none}
.est-int-desplegable-vacio{margin:2px 0;color:#8b919d;font-size:12px}
html.modo-oscuro .est-int-desplegable-vacio{color:#8996ac}
.est-int-desplegable-panel{position:absolute;z-index:30;top:calc(100% + 5px);left:0;display:flex;flex-direction:column;gap:8px;min-width:230px;max-height:290px;overflow-y:auto;padding:12px;border:1px solid #d4dae3;border-radius:10px;background:#fff;box-shadow:0 14px 30px rgba(15,23,42,.15)}
.filtros-modulo .est-int-check,.est-int-check{display:flex;align-items:center;gap:6px;min-height:0;font-weight:500;color:#334155}
.filtros-modulo .est-int-check input{width:16px;height:16px;min-height:0;flex:0 0 16px;padding:0;border-radius:4px;accent-color:#c40942}
.est-int-mapa-panel{margin-top:20px}
.est-int-mapa-cabecera{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
.est-int-mapa-cabecera h2{margin:0;color:#172033;font-size:18px}
.est-int-toggle{display:inline-flex;border:1px solid #cbd0d8;border-radius:8px;overflow:hidden}
.est-int-toggle button{border:0;background:#fff;color:#475467;padding:8px 14px;font:700 13px inherit;cursor:pointer}
.est-int-toggle button.es-activo{background:#c40942;color:#fff}
.est-int-mapa-marco{position:relative}
.est-int-mapa{height:440px;border-radius:12px;border:1px solid #cbd0d8;overflow:hidden}
.est-int-mapa-vacio{position:absolute;z-index:500;left:50%;top:12px;transform:translateX(-50%);margin:0;max-width:calc(100% - 24px);padding:9px 16px;border-radius:8px;background:rgba(255,255,255,.95);border:1px solid #d4dae3;color:#475467;font-size:13px;font-weight:600;text-align:center;box-shadow:0 6px 16px rgba(15,23,42,.14)}
.est-int-toggle button:disabled{opacity:.45;cursor:default}
.est-int-mapa-panel .parte-ayuda{margin:14px 0 0}
html.modo-oscuro .est-int-mapa-vacio{background:rgba(24,34,53,.94);border-color:#3c5273;color:#d8e0ee}
.est-int-sin-ubicar{margin-top:20px}
.est-int-sinubi{border:1px solid #dfe4ec;border-radius:12px;background:#fff;box-shadow:0 4px 12px rgba(15,23,42,.04);overflow:hidden}
.est-int-sinubi>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:15px 18px;color:#172033;font-size:15px;font-weight:800}
.est-int-sinubi>summary::-webkit-details-marker{display:none}
.est-int-sinubi>summary::before{content:'';flex:0 0 auto;width:0;height:0;border-left:6px solid currentColor;border-top:5px solid transparent;border-bottom:5px solid transparent;transition:transform .15s;color:#8b919d}
.est-int-sinubi[open]>summary::before{transform:rotate(90deg)}
.est-int-sinubi>summary:hover{background:#f7f9fc}
.est-int-sinubi-titulo{flex:1 1 auto}
.est-int-sinubi-cuenta{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:#c40942;color:#fff;font-size:12px;font-weight:800}
.est-int-sinubi-cuenta.es-cero{background:#e3e8ef;color:#5b6472}
.est-int-sinubi-cuerpo{padding:0 18px 18px}
.est-int-sinubi-ok{margin:0;padding:12px 14px;border-radius:9px;background:#e9f8ee;color:#11733d;font-weight:700;font-size:13px}
.est-int-sinubi .tabla-contenedor{margin-top:4px}
.est-int-sinubi .tabla{margin-top:0;box-shadow:none}
.est-int-sinubi .boton-secundario{display:inline-flex;align-items:center;min-height:34px;padding:6px 13px;font-size:12.5px;white-space:nowrap;text-decoration:none}
html.modo-oscuro .est-int-sinubi{border-color:#3d5272;background:#182b4a;box-shadow:none}
html.modo-oscuro .est-int-sinubi>summary{color:#f3f6fb}
html.modo-oscuro .est-int-sinubi>summary:hover{background:#20355a}
html.modo-oscuro .est-int-sinubi-cuenta.es-cero{background:#2f4468;color:#c3cfe2}
html.modo-oscuro .est-int-sinubi-ok{background:#123a2a;color:#8fe6b4}
html.modo-oscuro .est-int-sinubi .boton-secundario{background:#223553!important;border-color:#496183!important;color:#eaf0fa!important}

/* Pantalla "Permisos" del módulo Estadísticas e Intervenciones. */
.est-int-perm{margin-top:20px;padding:20px;border:1px solid #dfe4ec;border-radius:12px;background:#fff;box-shadow:0 4px 12px rgba(15,23,42,.04)}
.est-int-perm h2{margin:0 0 4px;color:#172033;font-size:16px}
.est-int-perm-ayuda{margin:0 0 14px;color:#69717e;font-size:13px}
.est-int-perm-vacio{margin:0 0 14px;color:#8b919d;font-size:13px}
.est-int-perm-lista{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:8px}
.est-int-perm-lista li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border:1px solid #e3e8ef;border-radius:9px;background:#f8fafc;font-weight:600;color:#273043}
.est-int-perm-lista form{margin:0}
.est-int-perm-quitar{border:1px solid #e0b4c2;border-radius:7px;background:#fff;color:#b0154a;font:700 12.5px inherit;padding:6px 12px;cursor:pointer}
.est-int-perm-quitar:hover{background:#fdecf1;border-color:#c40942}
.est-int-perm-agregar{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px}
.est-int-perm-agregar .est-int-desplegable>summary{min-height:42px}
.est-int-perm-agregar .boton-principal{min-height:42px}
.est-int-perm-buscador{position:relative;max-width:420px}
.est-int-perm-buscador label{display:block;font-weight:700;color:#334155;font-size:13px;margin-bottom:5px}
.est-int-perm-buscador input{width:100%;min-height:42px;padding:9px 12px;border:1px solid #cbd1db;border-radius:9px;font:inherit}
.est-int-perm-resultados{list-style:none;position:absolute;z-index:30;left:0;right:0;margin:4px 0 0;padding:5px;border:1px solid #d4dae3;border-radius:10px;background:#fff;box-shadow:0 14px 30px rgba(15,23,42,.15);max-height:260px;overflow-y:auto}
.est-int-perm-resultados li{padding:9px 11px;border-radius:7px;font-size:13.5px;color:#273043;cursor:pointer}
.est-int-perm-resultados li:hover,.est-int-perm-resultados li:focus{background:#f1f5f9;outline:none}
.est-int-perm-resultados .est-int-perm-sin{color:#8b919d;cursor:default}
.est-int-perm-resultados .est-int-perm-sin:hover{background:none}
html.modo-oscuro .est-int-perm{border-color:#3d5272;background:#182b4a;box-shadow:none}
html.modo-oscuro .est-int-perm h2{color:#f3f6fb}
html.modo-oscuro .est-int-perm-ayuda,html.modo-oscuro .est-int-perm-vacio{color:#9fb0c9}
html.modo-oscuro .est-int-perm-lista li{border-color:#3c5273;background:#20314f;color:#e6ecf6}
html.modo-oscuro .est-int-perm-quitar{background:#3a2233;border-color:#7d3b56;color:#ffc2d5}
html.modo-oscuro .est-int-perm-quitar:hover{background:#4a2a40}
html.modo-oscuro .est-int-perm-buscador label{color:#c3cfe2}
html.modo-oscuro .est-int-perm-buscador input{background:#20314f;border-color:#3c5273;color:#f3f6fb}
html.modo-oscuro .est-int-perm-resultados{background:#1c2c47;border-color:#3c5273}
html.modo-oscuro .est-int-perm-resultados li{color:#e6ecf6}
html.modo-oscuro .est-int-perm-resultados li:hover,html.modo-oscuro .est-int-perm-resultados li:focus{background:#2a3d5f}

.mapa-ubicacion{margin-top:10px}
.mapa-ubicacion-estado{margin:0 0 8px;font-weight:800;color:#b45309}
.mapa-ubicacion-estado.es-confirmada{color:#15803d}
.mapa-ubicacion-lienzo{height:320px;border-radius:12px;border:1px solid #cbd0d8;overflow:hidden}
.mapa-ubicacion-acciones{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.mapa-ubicacion-acciones .boton-secundario{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 16px;font-size:13px;border-radius:9px;text-decoration:none;white-space:nowrap;cursor:pointer}
.mapa-ubicacion-ayuda{margin:10px 0 0;color:#69717e;font-size:12px}
html.modo-oscuro .mapa-ubicacion-estado{color:#f4b365}
html.modo-oscuro .mapa-ubicacion-estado.es-confirmada{color:#6ee7a8}
html.modo-oscuro .mapa-ubicacion-acciones .boton-secundario{background:#223553!important;border-color:#496183!important;color:#eaf0fa!important}
html.modo-oscuro .mapa-ubicacion-acciones .boton-secundario:hover{background:#2b4265!important;border-color:#6b83ad!important}
html.modo-oscuro .mapa-ubicacion-ayuda{color:#9fb0c9}
.parte-confirmar-ubicacion h2{margin:0 0 10px;color:#172033;font-size:18px}
.parte-confirmar-direccion{margin:0 0 12px;padding:12px 14px;border-radius:9px;background:#f5f6f8;font-weight:600;color:#273448}
.parte-confirmar-acciones{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.config-mapa-form{display:flex;flex-direction:column;gap:12px;margin-top:12px}
.config-mapa-zoom{display:flex;align-items:center;gap:8px;font-weight:600;color:#475467}
.config-mapa-zoom input{width:80px}
.config-mapa-lienzo{height:420px;border-radius:12px;border:1px solid #cbd0d8;overflow:hidden}
.config-mapa-acciones{display:flex;flex-wrap:wrap;gap:10px}
.config-mapa-acciones button{min-height:40px;padding:9px 15px}
.config-mapa .subtitulo-pagina,#mapa-jurisdiccion-info{margin:0;color:#667085}
.config-mapa-campo{display:flex;flex-direction:column;gap:5px;font-weight:600;color:#475467}
.config-mapa-campo input{min-height:42px;padding:9px 12px;border:1px solid #d4dae3;border-radius:8px}
/* Marcador del cuartel: el logo dentro de un círculo blanco, con un
   ícono de respaldo (🚒) por si la imagen no cargara. */
.mapa-cuartel-icono{border-radius:50%;border:2px solid #fff;background:#fff;box-shadow:0 3px 10px rgba(15,23,42,.35);overflow:hidden}
.mapa-cuartel-icono img{display:block;width:100%;height:100%;border-radius:50%;background:#fff;object-fit:contain}
.config-mapa-tipos{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;font-weight:600;color:#475467}
.config-mapa-tipos label{display:inline-flex;align-items:center;gap:6px;font-weight:600;cursor:pointer}
.config-zona-swatch{display:inline-block;width:14px;height:14px;border-radius:3px;border:1px solid rgba(0,0,0,.15)}
.config-mapa-zonas{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.config-mapa-zonas li{display:flex;align-items:center;gap:8px;font-size:13px;color:#334155}
.config-mapa-zonas button{margin-left:auto;border:1px solid #c9ced8;border-radius:6px;padding:3px 9px;background:#fff;color:#b42318;font:700 12px inherit;cursor:pointer}
html.modo-oscuro .config-mapa-lienzo{border-color:#3c5273}
html.modo-oscuro .config-mapa-tipos,html.modo-oscuro .config-mapa-zoom,html.modo-oscuro .config-mapa-campo,html.modo-oscuro .config-mapa-zonas li{color:#bdcbe0}
html.modo-oscuro .config-mapa-campo input{background:#101d32;border-color:#496183;color:#f3f6fb}
html.modo-oscuro .config-mapa .subtitulo-pagina,html.modo-oscuro #mapa-jurisdiccion-info{color:#b8c8dc}
html.modo-oscuro .config-mapa-acciones .boton-secundario{background:#223553!important;border-color:#496183!important;color:#edf3fb!important}
html.modo-oscuro .config-mapa-acciones .boton-secundario:hover{background:#2b436a!important;border-color:#5a7196!important}
html.modo-oscuro .config-mapa-zonas button{background:#182235;border-color:#3c5273;color:#ff9fb9}
.leaflet-pane,.leaflet-top,.leaflet-bottom{z-index:400}
@media(max-width:1100px){.est-int-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.est-int-kpis{grid-template-columns:1fr}}
html.modo-oscuro .est-int-grupo{border-color:#3c5273}
html.modo-oscuro .est-int-grupo legend,html.modo-oscuro .est-int-check{color:#bdcbe0}
html.modo-oscuro .est-int-desplegable>summary{border-color:#3c5273;background:#0f1a2c;color:#d8e0ee}
html.modo-oscuro .est-int-desplegable-panel{border-color:#3c5273;background:#182235}
html.modo-oscuro .est-int-toggle{border-color:#3c5273}
html.modo-oscuro .est-int-toggle button{background:#182235;color:#bdcbe0}
html.modo-oscuro .est-int-toggle button.es-activo{background:#c40942;color:#fff}
html.modo-oscuro .est-int-mapa,html.modo-oscuro .mapa-ubicacion-lienzo{border-color:#3c5273}
html.modo-oscuro .parte-confirmar-direccion{background:#182235;color:#e6ebf3}

.resumen-inscripciones-listas{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:16px;
}

.resumen-inscripciones-listas > div{
    padding:14px;
    border:1px solid #e1e6ee;
    border-radius:10px;
    background:#fafbfd;
}

.resumen-inscripciones-listas h4{
    margin:0 0 10px;
    color:#14213a;
    font-size:14px;
}

.persona-resumen{
    display:block;
    padding:5px 0;
    border-bottom:1px solid #edf0f4;
    font-size:14px;
}

.persona-resumen:last-child{ border-bottom:0; }
.persona-resumen em{ color:#8a5a00; font-style:normal; font-weight:700; }
.persona-resumen.persona-inactiva{ color:#8b919d; }
.persona-resumen.persona-inactiva em{ color:#8b919d; }
.npb-jerarquia{display:block;margin-top:1px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:#8b919d}
.npb-horario-inscripcion{display:block;margin-top:1px;font-size:11px;color:#64748b}

@media (max-width: 700px){
    .resumen-inscripciones-listas{ grid-template-columns:1fr; }
}

.item-panel-lateral{
    padding:10px 0;
    border-bottom:1px solid #f0f0f0;
}

.item-panel-lateral:last-child{
    border-bottom:none;
}

.panel-acciones{
    display:flex;
    flex-direction:column;
    gap:10px;
}

.panel-acciones .boton-principal{
    text-align:center;
}

/* ===========================
   GRILLA DE PRÓXIMOS DOMINGOS
=========================== */

.tabla-domingos{
    display:block;
    overflow-x:auto;
    white-space:nowrap;
}

.tabla-domingos th,
.tabla-domingos td{
    text-align:center;
}

.tabla-domingos td:first-child,
.tabla-domingos th:first-child{
    text-align:left;
    white-space:nowrap;
}

/* ===========================
   AVISO DE ASIGNACIÓN ADMIN (domingo diurna)
=========================== */

.aviso-asignacion-admin{
    background:#fff3cd;
    color:#856404;
    padding:8px 10px;
    border-radius:6px;
    font-size:12px;
    text-align:center;
    margin:0;
}

/* ===========================
   TABLA DE PRÓXIMOS DOMINGOS
=========================== */

.tabla-domingos{
    display:block;
    overflow-x:auto;
    white-space:nowrap;
}

.tabla-domingos th,
.tabla-domingos td{
    text-align:center;
}

.tabla-domingos td:first-child,
.tabla-domingos th:first-child{
    text-align:left;
    white-space:nowrap;
}

/* ===========================
   ROTACIÓN DE DOMINGOS: link de fecha -> turno
=========================== */

.enlace-fecha-domingo{
    display:inline-block;
    color:#BE123C;
    text-decoration:underline;
    text-underline-offset:3px;
    cursor:pointer;
    font-size:13px;
    font-weight:600;
    margin:8px 0 12px;
}

.boton-como-link{
    background:none;
    border:none;
    padding:0;
    font-family:inherit;
}

.panel-resumen:target{
    outline:2px solid #BE123C;
    outline-offset:2px;
    animation:resaltar-turno 1.5s ease-out;
}

@keyframes resaltar-turno{
    from{ background:#fdeaf0; }
    to{ background:white; }
}

/* ===========================
   GRILLA DE DOMINGOS: tarjetas (una por domingo)
=========================== */

.grilla-domingos-tarjetas{
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(240px, 1fr));
    gap:16px;
}

.tarjeta-domingo{
    background:white;
    border-radius:var(--radio-tarjeta);
    box-shadow:var(--shadow-nivel1);
    padding:16px;
}

.tarjeta-domingo-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:4px;
    text-transform:capitalize;
}

.tarjeta-domingo-header strong{
    color:#0F172A;
    font-size:14px;
}

/* ===========================
   EDICIÓN INLINE DENTRO DE LA TARJETA DE DOMINGO
=========================== */

.bombero-item-editable{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:6px 8px;
    margin-bottom:4px;
    background:#f4f4f4;
    border-radius:6px;
    font-size:13px;
}

.quitar-mini{
    background:none;
    border:none;
    color:#BE123C;
    font-size:16px;
    line-height:1;
    cursor:pointer;
    padding:0 4px;
}

.quitar-mini:hover{
    color:#9f0f32;
}

.agregar-mini{
    margin-top:4px;
}

.select-mini{
    width:100%;
    padding:6px 8px;
    border:1px dashed #c6c6cd;
    border-radius:6px;
    font-size:12px;
    color:#45464d;
    background:white;
}

.tarjeta-mis-horas h3{margin-bottom:12px}.mini-stats-horas{margin-bottom:10px}.horas-total-inicio{margin:0 0 8px;color:#475467;font-size:13px}.horas-total-inicio strong{color:#c40942;font-size:16px}

/* ===========================
   PLANIFICACIÓN DOMINICAL
=========================== */
.domingos-cabecera{
    display:flex;
    justify-content:space-between;
    gap:24px;
    align-items:flex-end;
    margin-bottom:24px;
}
.domingos-cabecera h1{ margin:0 0 6px; color:#0f172a; }
.domingos-cabecera p{ margin:0; max-width:720px; color:#475569; }
.domingos-eyebrow{ color:#be123c !important; font-size:12px; font-weight:800; letter-spacing:.1em; }
.nuevo-domingo-form{ display:flex; gap:10px; align-items:end; padding:12px; background:#fff; border:1px solid #e2e8f0; border-radius:12px; }
.nuevo-domingo-form label,.domingo-cupo-form label{ display:block; font-size:12px; font-weight:700; color:#475569; margin-bottom:4px; }
.nuevo-domingo-form input,.domingo-cupo-form input{ padding:8px; border:1px solid #cbd5e1; border-radius:7px; }
.domingos-layout{ display:grid; grid-template-columns:minmax(0,1fr) 270px; gap:24px; align-items:start; }
.domingos-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(320px,1fr)); gap:20px; }
.domingo-card{ background:#fff; border:1px solid #cbd5e1; border-radius:16px; overflow:hidden; box-shadow:0 4px 12px rgba(15,23,42,.06); }
.domingo-card-header{ display:flex; justify-content:space-between; gap:12px; padding:18px; border-bottom:1px solid #e2e8f0; }
.domingo-card-header h2{ margin:0 0 5px; font-size:19px; color:#111827; }
.domingo-card-header p{ margin:0; color:#64748b; font-size:13px; }
.domingo-badge{ align-self:start; padding:6px 10px; border-radius:999px; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; white-space:nowrap; }
.domingo-badge.publicado{ background:#dcfce7; color:#15803d; }
.domingo-badge.preparacion{ background:#fff7d6; color:#b45309; }
.domingo-cupo-form{ display:flex; gap:8px; align-items:end; padding:12px 18px 0; }
.domingo-cupo-form input{ width:62px; }
.domingo-cupo-form button{ border:0; background:none; color:#be123c; font-weight:700; cursor:pointer; padding:8px 0; }
.domingo-roles{ display:grid; grid-template-columns:1fr 1fr; gap:14px; padding:18px; }
.domingo-rol{ min-width:0; }
.domingo-rol-amplio{ grid-column:1/-1; }
.domingo-rol h3{ margin:0 0 8px; color:#334155; font-size:13px; text-transform:uppercase; }
.domingo-personas{ min-height:32px; display:flex; gap:6px; flex-wrap:wrap; align-items:center; }
.domingo-persona{ display:inline-flex; align-items:center; gap:5px; padding:7px 9px; background:#f1f5f9; border:1px solid #dbe3ef; border-radius:7px; color:#1e293b; font-size:13px; }
.domingo-persona form{ display:inline; }.domingo-persona button{ border:0; background:none; color:#64748b; font-size:18px; line-height:1; cursor:pointer; }
.domingo-vacio{ color:#94a3b8; font-size:13px; font-style:italic; }
.domingo-agregar-form select{ width:100%; margin-top:8px; padding:7px; border:1px dashed #e11d48; border-radius:7px; color:#be123c; background:#fff; font-weight:600; }
.domingo-card-footer{ padding:14px 18px; border-top:1px solid #e2e8f0; }.domingo-card-footer button{ width:100%; }
.domingo-resumen{ position:sticky; top:16px; padding:20px; border-radius:16px; background:#0f172a; color:#e2e8f0; }.domingo-resumen h2{ margin:0; color:#fff; font-size:17px; }.domingo-resumen-numero{ margin-top:18px; color:#fff; font-size:40px; font-weight:800; }.domingo-resumen p{ color:#aab7ce; line-height:1.45; }.domingo-resumen hr{ border:0; border-top:1px solid #334155; margin:18px 0; }.domingo-resumen .boton-principal{ display:block; margin-top:18px; text-align:center; background:#fff; color:#0f172a; }
.domingo-vacio-grande{ min-height:240px; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:8px; color:#64748b; background:#fff; border:2px dashed #cbd5e1; border-radius:16px; }
@media (max-width:900px){ .domingos-cabecera{ align-items:stretch; flex-direction:column; }.nuevo-domingo-form{ flex-wrap:wrap; }.domingos-layout{ grid-template-columns:1fr; }.domingo-resumen{ position:static; }.domingos-grid{ grid-template-columns:1fr; } }

/* Próximos Domingos: grilla de planificación */
.npb-domingos-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px}.npb-domingos-copy{max-width:710px}.npb-kicker{display:block;margin-bottom:8px;color:#be123c;font-size:11px;font-weight:800;letter-spacing:.12em}.npb-domingos-head h1{margin:0 0 8px;font-size:30px}.npb-domingos-head p{margin:0;color:#5e6470;font-size:16px}.npb-nuevo-domingo{position:relative;min-width:180px}.npb-nuevo-domingo summary{list-style:none;cursor:pointer;background:#111827;color:#fff;padding:13px 18px;border-radius:9px;font-weight:800;box-shadow:0 5px 14px rgba(15,23,42,.18)}.npb-nuevo-domingo summary::-webkit-details-marker{display:none}.npb-nuevo-domingo summary span{font-size:20px;vertical-align:-1px;margin-right:7px}.npb-nuevo-domingo[open] form{position:absolute;z-index:5;right:0;top:52px;width:285px;padding:16px;background:#fff;border:1px solid #d8dce3;border-radius:12px;box-shadow:0 16px 30px rgba(15,23,42,.16)}.npb-nuevo-domingo label{display:block;margin:0 0 4px;font-size:12px;font-weight:800;color:#525866}.npb-nuevo-domingo form>div{margin-bottom:10px}.npb-nuevo-domingo input{width:100%;padding:9px;border:1px solid #c6cbd4;border-radius:7px;font:inherit}.npb-nuevo-domingo-botones{display:flex;gap:8px}.npb-nuevo-domingo-botones button{flex:1;min-width:0;border-radius:7px;padding:10px;font:700 14px inherit;cursor:pointer}.npb-nuevo-domingo-botones button[type="submit"]{border:0;background:#be123c;color:#fff}.npb-nuevo-domingo-botones button[type="button"]{border:1px solid #c9ced8;background:#fff;color:#172033}.npb-bento-domingos{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}.npb-domingos-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;align-items:start}.npb-domingo-card{overflow:hidden;border:1px solid #cbd0d8;border-radius:13px;background:#fff;box-shadow:0 4px 12px rgba(15,23,42,.05);transition:box-shadow .2s,border-color .2s}.npb-domingo-card:hover{border-color:#9da4af;box-shadow:0 10px 22px rgba(15,23,42,.09)}.npb-domingo-card-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;align-items:start;padding:14px 16px 12px;background:#f5f6f8;border-bottom:1px solid #d7dbe1}.npb-domingo-card-head h2{margin:0 0 3px;color:#171a20;font-size:18px}.npb-domingo-card-head p{margin:0;color:#5c6270;font-size:12px;font-weight:700;letter-spacing:.035em;text-transform:uppercase}.npb-cupo-indicador{font-weight:800}.npb-cupo-indicador.cupo-ok{color:#15803d}.npb-cupo-indicador.cupo-alerta{color:#be123c}.npb-estado-chip{padding:6px 10px;border:1px solid;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.chip-publicado{border-color:#a9e9bd;background:#e8fff0;color:#15803d}.chip-preparacion{border-color:#f2d27a;background:#fff7dc;color:#b45309}.npb-cupo-inline{display:flex;align-items:center;gap:8px;padding:12px 18px 0}.npb-cupo-inline label{font-size:12px;font-weight:800;color:#545b66}.npb-cupo-inline input{width:56px;padding:6px;border:1px solid #cbd0d8;border-radius:6px;font:inherit}.npb-cupo-inline button{border:0;background:transparent;color:#be123c;font:800 12px inherit;cursor:pointer}.npb-roles-grid{display:flex;flex-direction:column;gap:14px;padding:16px}.npb-rol-slot h3{margin:0 0 8px;color:#3e4550;font-size:12px;font-weight:800;letter-spacing:.02em;text-transform:uppercase}.npb-personas{display:flex;flex-direction:column;gap:6px;align-items:stretch}.npb-persona-chip{display:inline-flex;align-items:center;gap:5px;padding:7px 9px;border:1px solid #d5d9e0;border-radius:7px;background:#eff1f4;color:#273448;font-size:13px;font-weight:600}.npb-persona-chip form{display:inline}.npb-persona-chip button{padding:0;border:0;background:transparent;color:#576273;font-size:18px;line-height:14px;cursor:pointer}.npb-sin-asignar{color:#8b919d;font-size:13px;font-style:italic}.npb-agregar-persona select{width:100%;margin-top:8px;padding:8px;border:2px dashed #d2d6dd;border-radius:7px;background:#fff;color:#be123c;font:700 13px inherit;cursor:pointer}.npb-agregar-persona select:focus{outline:0;border-color:#be123c}.npb-sin-asignar-domingo{margin:0 18px 14px}.npb-sin-asignar-domingo summary{cursor:pointer;padding:8px;border:2px dashed #d2d6dd;border-radius:7px;color:#525866;font:700 12px inherit;list-style:none}.npb-sin-asignar-domingo summary::-webkit-details-marker{display:none}.npb-sin-asignar-domingo[open] summary{border-color:#be123c;color:#be123c}.npb-sin-asignar-domingo .npb-checklist-personal{margin-top:8px}
.npb-agregar-dotacion{margin-top:8px}.npb-agregar-dotacion summary{cursor:pointer;padding:8px;border:2px dashed #d2d6dd;border-radius:7px;color:#525866;font:700 12px inherit;list-style:none}.npb-agregar-dotacion summary::-webkit-details-marker{display:none}.npb-agregar-dotacion[open] summary{border-color:#be123c;color:#be123c}.npb-agregar-dotacion form{margin-top:8px}.npb-agregar-dotacion button{margin-top:8px;border:0;border-radius:6px;padding:8px 14px;background:#111;color:#fff;font:700 12px inherit;cursor:pointer}.npb-checklist-personal{max-height:220px;overflow-y:auto;padding:8px;border:1px solid #d5d9e0;border-radius:7px;background:#fff}.npb-checklist-personal label{display:flex;align-items:center;gap:8px;padding:6px 4px;font-size:13px;color:#273448;cursor:pointer}.npb-checklist-personal label:hover{background:#f5f6f8}.npb-checklist-personal input[type=checkbox]{width:16px;height:16px;flex:0 0 16px}.npb-domingo-card-foot{padding:0 18px 18px}.npb-domingo-card-foot button{width:100%;border:0;border-radius:8px;padding:11px;background:#111;color:#fff;font:800 14px inherit;cursor:pointer}.npb-domingo-card-foot button:hover,.npb-nuevo-domingo summary:hover{background:#be123c}.npb-estado-ciclo{min-height:335px;padding:24px;overflow:hidden;border-radius:14px;background:#121b2f;color:#fff}.npb-sidebar-domingos{display:flex;flex-direction:column;gap:20px}.npb-sin-dominical{position:static;min-height:0}.npb-checklist-oscuro{border-color:#29354d;background:#0d1526}.npb-sin-dominical .persona-resumen{border-color:#29354d}.npb-sin-dominical .npb-checklist-personal{max-height:none;overflow:visible}.npb-asignar-persona-domingo{margin-top:8px}.npb-asignar-persona-domingo summary{cursor:pointer;list-style:none}.npb-asignar-persona-domingo summary::-webkit-details-marker{display:none}.npb-asignar-persona-domingo[open] summary{color:#fff}.npb-asignar-persona-fila{display:flex;align-items:center;gap:6px;margin:6px 0 0;padding-left:4px}.npb-asignar-persona-fila span{flex:0 0 auto;font-size:12px;color:#c1c8d7}.npb-asignar-persona-fila select{flex:1 1 auto;min-width:0;padding:5px;border-radius:6px;border:1px solid #3d5272;background:#182b4a;color:#fff;font-size:12px}.npb-asignar-persona-fila button{flex:0 0 auto;border:0;border-radius:6px;padding:5px 10px;background:#be123c;color:#fff;font:700 11px inherit;cursor:pointer}.npb-estado-icon{position:absolute;right:18px;top:7px;color:#59627a;font-size:82px;line-height:1;opacity:.38}.npb-estado-ciclo h2{position:relative;margin:0 0 5px;color:#fff;font-size:18px}.npb-estado-caption{position:relative;margin:0 0 28px;color:#9ca7bf;font-size:11px;font-weight:800;letter-spacing:.08em}.npb-progreso-meta{display:flex;justify-content:space-between;margin-bottom:9px;font-size:14px}.npb-progreso{height:8px;overflow:hidden;border-radius:20px;background:#303b52}.npb-progreso span{display:block;height:100%;border-radius:20px;background:#cf1647}.npb-estado-linea{display:flex;gap:10px;align-items:start;margin-top:22px}.npb-estado-linea b{display:grid;flex:0 0 32px;width:32px;height:32px;place-items:center;border-radius:8px;background:#29354d;color:#fff}.npb-estado-linea span{color:#c1c8d7;font-size:13px;line-height:1.3}.npb-estado-ciclo a{display:block;margin-top:26px;border:1px solid #536078;border-radius:8px;padding:10px;color:#fff;text-align:center;font-size:13px;font-weight:800;text-decoration:none}.npb-estado-ciclo a:hover{background:#fff;color:#111827}.npb-domingo-empty{display:flex;grid-column:1/-1;min-height:300px;flex-direction:column;align-items:center;justify-content:center;border:2px dashed #cbd0d8;border-radius:14px;color:#616875;text-align:center}.npb-domingo-empty>div{display:grid;width:56px;height:56px;place-items:center;border-radius:50%;background:#e8ebef;color:#626a76;font-size:30px}.npb-domingo-empty h2{margin:14px 0 4px;font-size:18px}.npb-domingo-empty p{margin:0;font-size:14px}@media(max-width:980px){.npb-bento-domingos{grid-template-columns:1fr}.npb-estado-ciclo{min-height:0}.npb-domingos-head{align-items:stretch;flex-direction:column}.npb-nuevo-domingo{align-self:flex-start}.npb-nuevo-domingo[open] form{position:fixed;z-index:50;top:50%;left:50%;right:auto;transform:translate(-50%,-50%);width:calc(100vw - 32px);max-width:360px;max-height:80vh;overflow-y:auto}}@media(min-width:521px) and (max-width:900px){.npb-domingos-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.npb-domingos-cards{grid-template-columns:1fr}.npb-domingos-head h1{font-size:26px}}
.npb-domingos-acciones{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px}.npb-publicar-todo button{border:0;border-radius:9px;padding:13px 18px;background:#15803d;color:#fff;font:800 14px inherit;cursor:pointer;box-shadow:0 5px 14px rgba(15,23,42,.18)}.npb-publicar-todo button:hover{background:#116932}
.npb-drag-handle{flex:0 0 auto;order:-1;margin-right:2px;padding:6px 8px;border:1px solid #d5d9e0;border-radius:6px;background:#fff;color:#5c6270;font-size:11px;font-weight:800;letter-spacing:.02em;cursor:grab;touch-action:none}.npb-drag-handle:active{cursor:grabbing}
.npb-domingo-card.esta-arrastrando{opacity:.55;border-color:#be123c}
/* Domingo ya pasado: se muestra "FINALIZADO" en rojo (solo visual). */
.npb-domingo-card.is-finalizado{border-color:#e7b7c2;background:#fdf6f7}
.npb-domingo-card.is-finalizado .npb-domingo-card-head{background:#fbeef1;border-bottom-color:#f0cdd5}
.npb-domingo-card.is-finalizado .npb-roles-grid,.npb-domingo-card.is-finalizado .npb-sin-asignar-domingo{opacity:.68}
.npb-estado-chip.chip-finalizado{border-color:#e19aa9;background:#fbe4e8;color:#a1102f}
.npb-persona-chip.chip-rotativo{border-style:dashed;background:#fff7dc;color:#b45309}
.npb-persona-chip.persona-inactiva{opacity:.6}
.npb-persona-chip-info{display:flex;flex-direction:column;gap:1px;min-width:0}
.npb-persona-chip.persona-movible{cursor:grab}
.npb-persona-chip.arrastrando-persona{opacity:.5;border-color:#be123c;cursor:grabbing}
.npb-agregar-relevo{margin-top:8px}.npb-agregar-relevo summary{cursor:pointer;padding:8px;border:2px dashed #d2d6dd;border-radius:7px;color:#525866;font:700 12px inherit;list-style:none}.npb-agregar-relevo summary::-webkit-details-marker{display:none}.npb-agregar-relevo[open] summary{border-color:#be123c;color:#be123c}.npb-agregar-relevo form{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.npb-agregar-relevo select,.npb-agregar-relevo input[type=time]{padding:7px;border:1px solid #cbd0d8;border-radius:6px;font:inherit}.npb-agregar-relevo select{flex:1 1 140px}.npb-agregar-relevo button{border:0;border-radius:6px;padding:7px 12px;background:#111;color:#fff;font:700 12px inherit;cursor:pointer}
.npb-btn-eliminar{width:100%;border:1px solid #f0b7b7!important;border-radius:8px;padding:10px!important;background:#fff!important;color:#b91c1c!important;font:700 13px inherit;cursor:pointer}.npb-btn-eliminar:hover{background:#fef2f2!important}
/* Guardia Actual */
.encabezado-modulo { display:flex; justify-content:space-between; gap:16px; align-items:flex-start; margin-bottom:24px; }
.encabezado-modulo h1 { margin:0 0 6px; }
.encabezado-modulo p { margin:0; color:#667085; }
.acciones-cabecera { display:flex; gap:10px; flex-wrap:wrap; }

.control-horas-cabecera .boton-secundario,
.control-horas-filtros .boton-secundario{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 16px;font-size:13px;border-radius:9px;text-decoration:none;white-space:nowrap;cursor:pointer}
html.modo-oscuro .control-horas-cabecera .boton-secundario,
html.modo-oscuro .control-horas-filtros .boton-secundario{background:#223553!important;border-color:#496183!important;color:#eaf0fa!important}
html.modo-oscuro .control-horas-cabecera .boton-secundario:hover,
html.modo-oscuro .control-horas-filtros .boton-secundario:hover{background:#2b4265!important;border-color:#6b83ad!important}
.panel-registro-presencia, .columna-presencia, .tabla-modulo { background:#fff; border:1px solid #e4e7ec; border-radius:14px; padding:20px; }
.panel-registro-presencia h2, .columna-presencia h2 { margin-top:0; }
.panel-registro-presencia p { color:#667085; }
.form-presencia, .filtros-modulo { display:flex; gap:12px; flex-wrap:wrap; align-items:end; }
.form-presencia input, .form-presencia select, .filtros-modulo input, .filtros-modulo select { min-height:42px; padding:8px 12px; border:1px solid #cfd4dc; border-radius:8px; }
.filtros-modulo label { display:grid; gap:5px; color:#475467; font-weight:600; }
.filtros-modulo label.presentismo-check { display:flex; align-items:center; gap:7px; align-self:end; min-height:42px; }
.filtros-modulo label.presentismo-check input { min-height:0; width:auto; padding:0; accent-color:#c40942; }
.columnas-presencia { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:18px; margin-top:22px; }
.columna-presencia h2 { display:flex; justify-content:space-between; font-size:1.1rem; }
.columna-presencia h2 span { background:#e9effa; color:#234b83; border-radius:999px; padding:2px 9px; font-size:.85rem; }
.tarjeta-presencia { display:flex; align-items:center; gap:12px; padding:12px 0; border-bottom:1px solid #edf0f3; }
.tarjeta-presencia:last-child { border-bottom:0; }
.tarjeta-presencia img, .avatar-presencia { width:48px; height:48px; border-radius:50%; object-fit:cover; flex:0 0 48px; }
.avatar-presencia { display:grid; place-items:center; background:#c8103d; color:#fff; font-weight:700; }
.tarjeta-presencia strong, .tarjeta-presencia span { display:block; }
.tarjeta-presencia span, .sin-registros { color:#667085; font-size:.9rem; }
.resumen-horas { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:14px; margin:22px 0; }
.resumen-horas div { padding:18px; border-radius:12px; background:#fff; border:1px solid #e4e7ec; }
.resumen-horas span, .resumen-horas strong { display:block; }
.resumen-horas span { color:#667085; }.resumen-horas strong { font-size:1.35rem; margin-top:6px; }
.tabla-modulo { margin-top:22px; overflow-x:auto; }.tabla-modulo table { width:100%; border-collapse:collapse; }.tabla-modulo th, .tabla-modulo td { text-align:left; padding:12px; border-bottom:1px solid #edf0f3; }.fila-alerta td { color:#b42318; }
@media (max-width: 850px) { .columnas-presencia { grid-template-columns:1fr; }.resumen-horas { grid-template-columns:repeat(2, minmax(0,1fr)); }.encabezado-modulo { flex-direction:column; } }
.participantes-parte ul { list-style:none; padding:0; display:grid; grid-template-columns:repeat(auto-fit, minmax(210px, 1fr)); gap:8px; }
.participantes-parte label { display:flex; align-items:center; gap:7px; font-weight:400; }
.acciones-decision { display:flex; gap:10px; flex-wrap:wrap; }.acciones-decision form { margin:0; }
.mensaje-vencido { color:#b42318; font-weight:600; }

.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* Lenguaje visual unificado: módulos nuevos */
.materiales-head,
.encabezado-modulo {
    position:relative;
    padding:24px 26px;
    margin-bottom:20px;
    overflow:hidden;
    border:1px solid #dfe4ea;
    border-radius:16px;
    background:linear-gradient(120deg,#ffffff 0%,#f7f9fc 72%,#eef2f7 100%);
    box-shadow:0 8px 22px rgba(15,23,42,.045);
}
.encabezado-pagina:not(.materiales-head) {
    position:relative;
    padding:20px 23px;
    margin-bottom:20px;
    border:1px solid #e0e5ec;
    border-radius:14px;
    background:#fff;
    box-shadow:0 5px 16px rgba(15,23,42,.035);
}
.encabezado-pagina:not(.materiales-head) h1 { margin:0 0 6px; color:#172033; font-size:25px; letter-spacing:-.03em; }
.encabezado-pagina:not(.materiales-head) .subtitulo-pagina { margin:0; color:#667085; }
.materiales-head::after,
.encabezado-modulo::after {
    content:"";
    position:absolute;
    inset:0 auto 0 0;
    width:5px;
    background:linear-gradient(#cc123f,#8d0b2a);
}
.materiales-head h1,
.encabezado-modulo h1 { color:#111827; font-size:28px; letter-spacing:-.035em; }
.materiales-head .subtitulo-pagina,
.encabezado-modulo p { max-width:630px; color:#667085; font-size:15px; line-height:1.5; }
.materiales-head .acciones { position:relative; z-index:1; }
.boton-cta { box-shadow:0 5px 12px rgba(190,18,60,.2); }

.materiales-resumen,
.resumen-horas {
    gap:16px;
    margin:20px 0;
}
.materiales-resumen > div,
.resumen-horas > div {
    position:relative;
    flex:1;
    min-height:102px;
    padding:19px 20px;
    overflow:hidden;
    border:1px solid #e0e5ec;
    border-radius:14px;
    background:#fff;
    box-shadow:0 5px 15px rgba(15,23,42,.035);
}
.materiales-resumen > div::before,
.resumen-horas > div::before {
    content:"";
    display:block;
    width:28px;
    height:4px;
    margin-bottom:13px;
    border-radius:20px;
    background:#c8103d;
}
.materiales-resumen strong,
.resumen-horas strong { font-size:27px; letter-spacing:-.04em; }
.materiales-resumen span,
.resumen-horas span { font-size:12px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }

.materiales-filtros,
.filtros-modulo {
    padding:13px;
    border-color:#e0e5ec;
    border-radius:13px;
    box-shadow:0 5px 14px rgba(15,23,42,.03);
}
.materiales-filtros input,
.materiales-filtros select,
.filtros-modulo input,
.filtros-modulo select,
.form-presencia input,
.form-presencia select {
    min-height:43px;
    border-color:#d4dae3;
    background:#fbfcfe;
}
.materiales-filtros button { min-height:43px; background:#172033; }

.material-card {
    border-color:#e0e5ec;
    border-radius:15px;
    box-shadow:0 5px 16px rgba(15,23,42,.035);
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.material-card:hover { transform:translateY(-3px); border-color:#bdc6d3; box-shadow:0 13px 26px rgba(15,23,42,.09); }
.material-card header { padding:18px; background:linear-gradient(135deg,#fff,#f7f9fc); }
.material-card h2 { color:#172033; font-size:18px; }
.material-card footer { min-height:49px; background:#fcfcfd; }
.material-card footer a:first-child { color:#9d1236; }
.badge { display:inline-flex; align-items:center; min-height:26px; padding:4px 9px; border-radius:999px; font-size:11px; font-weight:800; letter-spacing:.035em; text-transform:uppercase; }
.badge-verde { background:#e8f8ee; color:#137a3c; }.badge-rojo { background:#fff0f2; color:#b4233f; }

.panel-registro-presencia,
.tabla-modulo,
.panel-resumen,
.formulario {
    border-color:#e0e5ec;
    border-radius:15px;
    box-shadow:0 6px 18px rgba(15,23,42,.035);
}
.panel-registro-presencia { padding:23px; }
.panel-registro-presencia h2 { color:#172033; font-size:18px; }
.form-presencia { padding-top:4px; }
.form-presencia .boton-principal { min-height:43px; }
.columnas-presencia { gap:16px; }
.columna-presencia { min-height:220px; border-color:#e0e5ec; box-shadow:0 5px 14px rgba(15,23,42,.03); }
.columna-presencia h2 { padding-bottom:12px; border-bottom:1px solid #edf0f3; }
.tarjeta-presencia { padding:13px 1px; transition:background .15s ease; }.tarjeta-presencia:hover { background:#fafbfc; }
.tabla-modulo { padding:0; }.tabla-modulo h2 { padding:20px 20px 0; color:#172033; font-size:18px; }
.tabla-modulo thead { background:#f6f8fb; }.tabla-modulo th { color:#5a6473; font-size:11px; font-weight:800; letter-spacing:.055em; text-transform:uppercase; }
.tabla-modulo td { color:#344054; }.tabla-modulo tbody tr:hover { background:#fafbfd; }
.fila-alerta { background:#fff7f8; }.fila-alerta:hover { background:#fff1f3!important; }
.fila-podio { background:#fffbeb; }.fila-podio:hover { background:#fef3c7!important; }

.formulario { padding:25px; background:#fff; }.formulario .campo { margin-bottom:18px; }.formulario .campo label { color:#344054; font-size:13px; font-weight:800; }
.formulario input:not([type="checkbox"]),.formulario select,.formulario textarea { width:100%; min-height:42px; border:1px solid #d4dae3; border-radius:8px; background:#fbfcfe; }
.participantes-parte { max-height:310px; padding:13px; overflow:auto; border:1px solid #e0e5ec; border-radius:10px; background:#fafbfd; }
.participantes-parte label { padding:7px; border-radius:7px; }.participantes-parte label:hover { background:#f0f3f7; }
.acciones-decision { padding-top:7px; }.acciones-decision .boton-principal,.acciones-decision .boton-peligro { min-height:42px; }

@media (max-width:700px) {
    .materiales-head,.encabezado-modulo { padding:20px 18px 20px 22px; }
    .materiales-head h1,.encabezado-modulo h1 { font-size:24px; }
    .materiales-resumen { grid-template-columns:1fr; }
    .materiales-resumen > div { min-height:auto; }
    .resumen-horas > div { min-height:auto; }
    .formulario { padding:18px; }
}

/* Guardia Actual: tablero operativo */
.ga-hero { position:relative; min-height:264px; margin-bottom:26px; padding:36px 46px; overflow:hidden; border-radius:18px; background:linear-gradient(115deg,#10182a 0%,#131e35 62%,#0d1423 100%); box-shadow:0 12px 26px rgba(15,23,42,.16); color:#fff; }
.ga-hero::after { content:""; position:absolute; right:-76px; top:-105px; width:350px; height:350px; border:48px solid rgba(255,255,255,.025); border-radius:50%; }
.ga-hero-copy { position:relative; z-index:1; max-width:690px; }.ga-kicker { display:block; margin-bottom:10px; color:#f8b4c4; font-size:11px; font-weight:800; letter-spacing:.13em; }.ga-hero h1 { margin:0 0 9px; font-size:38px; letter-spacing:-.045em; }.ga-hero p { max-width:630px; margin:0; color:#d5d9e4; font-size:16px; line-height:1.55; }
.ga-hero-status { display:flex; gap:12px; margin-top:24px; }.ga-hero-status div { min-width:132px; padding:10px 14px; border:1px solid rgba(255,255,255,.16); border-radius:9px; background:rgba(255,255,255,.1); backdrop-filter:blur(5px); }.ga-hero-status div:first-child { background:#bd0d3f; }.ga-hero-status span,.ga-hero-status strong { display:block; }.ga-hero-status span { margin-bottom:4px; color:#e7eaf0; font-size:10px; font-weight:800; letter-spacing:.08em; }.ga-hero-status strong { font-size:16px; }.ga-shield { position:absolute; right:50px; bottom:-50px; color:rgba(255,255,255,.055); font-size:220px; line-height:1; transform:rotate(-12deg); }
.ga-layout { display:grid; grid-template-columns:310px minmax(0,1fr); gap:24px; align-items:start; }.ga-registro { position:sticky; top:20px; padding:22px; border:1px solid #d8dee8; border-radius:15px; background:#fff; box-shadow:0 7px 17px rgba(15,23,42,.05); }.ga-panel-title { display:flex; gap:10px; align-items:center; margin-bottom:20px; }.ga-panel-title>span { display:grid; width:40px; height:40px; place-items:center; border-radius:50%; background:#ffe5eb; color:#be123c; font-size:21px; }.ga-panel-title h2 { margin:0 0 2px; color:#172033; font-size:17px; }.ga-panel-title p { margin:0; color:#667085; font-size:12px; }
.ga-form { display:grid; gap:8px; }.ga-form label { color:#4b5565; font-size:12px; font-weight:800; letter-spacing:.03em; }.ga-form input,.ga-form select { width:100%; min-height:48px; padding:10px 12px; border:2px solid #cdd3de; border-radius:9px; background:#fff; color:#172033; font:600 15px 'Hanken Grotesk',sans-serif; }.ga-form input { font-size:21px; letter-spacing:.08em; text-align:center; }.ga-form input:focus,.ga-form select:focus { outline:0; border-color:#be123c; box-shadow:0 0 0 3px rgba(190,18,60,.1); }.ga-registrar { min-height:49px; margin-top:8px; border:0; border-radius:9px; background:#be123c; color:#fff; font:800 14px 'Hanken Grotesk',sans-serif; cursor:pointer; box-shadow:0 6px 12px rgba(190,18,60,.22); }.ga-registrar:hover { background:#a80e36; }.ga-registrar span { margin-left:7px; font-size:18px; }.ga-ayuda { margin:14px 0; color:#667085; font-size:12px; line-height:1.45; }.ga-links { display:grid; gap:8px; padding-top:14px; border-top:1px solid #e9edf2; }.ga-links a { color:#9d1236; font-size:13px; font-weight:800; text-decoration:none; }.ga-links a:hover { text-decoration:underline; }
.ga-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; margin-bottom:27px; }.ga-stats article { display:flex; min-height:104px; align-items:center; gap:13px; padding:17px; border:1px solid #d8dee8; border-radius:13px; background:#fff; box-shadow:0 5px 14px rgba(15,23,42,.035); }.ga-stat-icon { display:grid; flex:0 0 42px; width:42px; height:42px; place-items:center; border-radius:50%; font-size:21px; font-weight:800; }.icon-red { background:#ffe0e6; color:#c71242; }.icon-blue { background:#dce6ff; color:#285fb0; }.icon-gray { background:#e7eaee; color:#3f4855; }.icon-amber { background:#fff0ce; color:#ad6b00; }.ga-stats small,.ga-stats strong { display:block; }.ga-stats small { color:#596170; font-size:10px; font-weight:800; letter-spacing:.045em; text-transform:uppercase; }.ga-stats strong { margin-top:4px; color:#131a29; font-size:28px; line-height:1; }
.ga-section-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:15px; }.ga-section-head>div { display:flex; align-items:center; gap:9px; }.ga-section-head>div>span { color:#be123c; }.ga-section-head h2 { margin:0; color:#172033; font-size:19px; }.ga-section-head p { margin:0; color:#7b8491; font-size:12px; }.ga-grupos { display:grid; gap:22px; }.ga-grupo>header { display:flex; align-items:center; justify-content:space-between; margin-bottom:11px; }.ga-grupo h3 { margin:0; color:#3c4553; font-size:13px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }.ga-grupo>header span { min-width:25px; padding:3px 8px; border-radius:20px; color:#fff; background:#334155; font-size:11px; font-weight:800; text-align:center; }.grupo-servicio>header span { background:#285fb0; }.grupo-capacitacion>header span { background:#ad6b00; }
.ga-cards { display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:14px; }.ga-persona-card { overflow:hidden; min-height:190px; border:1px solid #d8dee8; border-radius:13px; background:#fff; box-shadow:0 5px 14px rgba(15,23,42,.035); transition:transform .18s,box-shadow .18s; }.ga-persona-card:hover { transform:translateY(-3px); box-shadow:0 12px 22px rgba(15,23,42,.1); }.ga-card-banner { height:64px; background:linear-gradient(120deg,#131d31,#1e2a42); }.ga-persona-info { position:relative; padding:0 17px 18px; }.ga-persona-info img,.ga-avatar { display:grid; width:66px; height:66px; margin-top:-33px; margin-bottom:12px; place-items:center; border:4px solid #fff; border-radius:50%; background:#dfe5ed; color:#243047; font-size:19px; font-weight:800; object-fit:cover; box-shadow:0 3px 8px rgba(15,23,42,.18); }.ga-persona-info h4 { margin:0 0 5px; color:#172033; font-size:15px; line-height:1.25; }.ga-persona-info p { margin:0; color:#bd0d3f; font-size:10px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }.ga-empty { grid-column:1/-1; margin:0; padding:18px; border:1px dashed #cdd3de; border-radius:10px; color:#78818e; font-size:13px; text-align:center; }
@media (max-width:1100px) { .ga-layout { grid-template-columns:270px minmax(0,1fr); }.ga-stats { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:820px) { .ga-hero { min-height:auto; padding:28px 25px; }.ga-hero h1 { font-size:30px; }.ga-layout { grid-template-columns:1fr; }.ga-registro { position:static; }.ga-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }.ga-shield { right:-10px; bottom:-86px; } }
@media (max-width:480px) { .ga-hero-status { flex-direction:column; }.ga-hero-status div { min-width:0; }.ga-stats { grid-template-columns:1fr 1fr; }.ga-stats article { min-height:88px; padding:12px; }.ga-stat-icon { flex-basis:34px; width:34px; height:34px; font-size:16px; }.ga-stats strong { font-size:24px; }.ga-section-head { align-items:flex-start; flex-direction:column; gap:6px; }.ga-cards { grid-template-columns:1fr 1fr; gap:10px; }.ga-persona-info { padding:0 12px 14px; }.ga-persona-info h4 { font-size:13px; }.ga-persona-info p { font-size:9px; } }

/* Guardia Actual — composición basada en la referencia de Command HQ */
.ga2-hero { width:auto; min-height:0!important; height:auto!important; margin-bottom:18px; padding:10px 22px; border-radius:12px; background:linear-gradient(115deg,#111a2d,#131c30 72%,#0f1728); box-shadow:0 6px 14px rgba(15,23,42,.12); color:#fff; }.ga2-hero-copy { max-width:none; display:flex; align-items:baseline; flex-wrap:wrap; gap:2px 14px; }.ga2-hero h1 { margin:0; font-size:18px; letter-spacing:-.02em; }.ga2-hero p { margin:0; color:#c8cedb; font-size:12.5px; font-weight:600; line-height:1.3; }.ga2-hero-badges { display:flex; gap:20px; margin-top:31px; }.ga2-hero-badges>div { min-width:170px; padding:11px 19px; border:1px solid rgba(255,255,255,.15); border-radius:8px; background:rgba(255,255,255,.12); }.ga2-badge-turno { background:#c40942!important; }.ga2-hero-badges span,.ga2-hero-badges strong { display:block; }.ga2-hero-badges span { color:#e1e4eb; font-size:11px; font-weight:800; letter-spacing:.055em; }.ga2-hero-badges strong { margin-top:4px; font-size:17px; }
.ga2-layout { display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); grid-template-rows:max-content 1fr; gap:14px 16px; align-items:start; }.ga2-layout>.ga2-acceso { grid-column:1 / span 3; grid-row:1 / span 2; align-self:stretch; }.ga2-layout>.ga2-personal-head { grid-column:4 / -1; grid-row:1; align-self:end; margin-bottom:0; }.ga2-layout>.ga2-vacio { grid-column:4 / -1; }.ga2-acceso { padding:26px; border:1px solid #c9ced8; border-radius:14px; background:#fff; box-shadow:0 4px 12px rgba(15,23,42,.05); }.ga2-acceso h2 { margin:0 0 18px; color:#171c25; font-size:19px; }.ga2-acceso>p { margin:0 0 23px; color:#667085; font-size:14px; }.ga2-acceso form { display:grid; gap:14px; }.ga2-acceso input { width:100%; height:79px; padding:12px; border:2px solid #c5cad5; border-radius:9px; color:#171c25; font:800 28px 'Hanken Grotesk',sans-serif; letter-spacing:.06em; text-align:center; }.ga2-acceso input:focus,.ga2-acceso select:focus { outline:0; border-color:#c40942; box-shadow:0 0 0 3px rgba(196,9,66,.1); }.ga2-acceso select { width:100%; height:42px; padding:0 10px; border:1px solid #c5cad5; border-radius:7px; background:#fff; color:#3d4653; font:600 14px 'Hanken Grotesk',sans-serif; }.ga2-acciones { display:grid; grid-template-columns:1fr 1fr; gap:14px; }.ga2-acciones button { height:60px; border:0; border-radius:9px; color:#fff; font:800 16px 'Hanken Grotesk',sans-serif; text-transform:uppercase; cursor:pointer; box-shadow:0 5px 10px rgba(15,23,42,.15); }.ga2-ingreso { background:#c40942; }.ga2-ingreso:hover { background:#ac0939; }.ga2-egreso { background:#050505; }.ga2-egreso:hover { background:#222; }.ga2-acceso-links { display:flex; gap:15px; margin-top:22px; padding-top:17px; border-top:1px solid #d9dde4; }.ga2-acceso-links a { color:#bd0d3f; font-size:13px; font-weight:800; text-decoration:none; }.ga2-acceso-links a:hover { text-decoration:underline; }
.ga2-stats { display:flex; flex-wrap:wrap; align-items:stretch; gap:16px; margin-bottom:20px; }.ga2-stats-grupo { flex:1 1 420px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }.ga2-stats article { display:flex; min-height:96px; align-items:center; gap:14px; padding:16px 20px; border:1px solid #c9ced8; border-radius:12px; background:#fff; box-shadow:0 3px 8px rgba(15,23,42,.035); }.ga2-stats article.ga2-reloj { flex:0 0 auto; justify-content:center; padding:16px 28px; }.ga2-reloj time { font:800 27px/1 'Hanken Grotesk',sans-serif; color:#c40942; font-variant-numeric:tabular-nums; letter-spacing:-.01em; white-space:nowrap; }.ga2-icon { display:grid; flex:0 0 48px; width:48px; height:48px; place-items:center; border-radius:50%; font-size:23px; }.ga2-icon.red { background:#ffdbe3; color:#c40942; }.ga2-icon.blue { background:#d9e3ff; color:#165db3; }.ga2-icon.gray { background:#e2e5e8; color:#171c25; }.ga2-stats small,.ga2-stats strong { display:block; }.ga2-stats small { max-width:105px; color:#50535a; font-size:12px; font-weight:800; line-height:1.05; letter-spacing:.045em; text-transform:uppercase; }.ga2-stats strong { margin-top:4px; color:#111; font-size:29px; line-height:1; }.ga2-personal-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; }.ga2-personal-head>div { display:flex; gap:11px; align-items:center; }.ga2-personal-head span { color:#c40942; font-size:24px; }.ga2-personal-head h2 { margin:0; color:#21242a; font-size:20px; }.ga2-personal-head p { margin:0; color:#737985; font-size:12px; font-weight:700; }
.ga2-persona-card { min-height:0; overflow:hidden; border:1px solid #c9ced8; border-radius:12px; background:#fff; box-shadow:0 3px 8px rgba(15,23,42,.045); transition:transform .18s,box-shadow .18s; }.ga2-persona-card:hover { transform:translateY(-3px); box-shadow:0 11px 22px rgba(15,23,42,.11); }.ga2-card-top { position:relative; z-index:2; height:0; }.ga2-card-top span { position:absolute; top:9px; right:9px; padding:4px 7px; border-radius:5px; background:#c40942; color:#fff; font-size:8.5px; font-weight:800; letter-spacing:.04em; }.ga2-card-body { position:relative; z-index:1; padding:0 13px 13px; }.ga2-card-body img,.ga2-avatar { display:grid; width:calc(100% + 26px); aspect-ratio:1/1; margin:0 -13px 9px; place-items:center; background:#dbe1ea; color:#1d2737; font-size:34px; font-weight:800; object-fit:cover; object-position:center 20%; }.ga2-card-body h3 { margin:0 0 3px; color:#181c23; font-size:13.5px; line-height:1.14; }.ga2-card-body h3 span { display:block; }.ga2-card-body p { margin:0; color:#c40942; font-size:9px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }.ga2-vacio { grid-column:1/-1; min-height:150px; display:grid; place-content:center; gap:6px; border:2px dashed #c9ced8; border-radius:14px; color:#68707e; text-align:center; }.ga2-vacio strong { color:#242934; }.ga2-vacio span { font-size:13px; }
@media (max-width:1150px) { .ga2-acceso { padding:22px; }.ga2-acceso input { font-size:22px; }.ga2-stats-grupo { flex-basis:100%; } }
@media (max-width:1599px) { .ga2-layout { grid-template-columns:repeat(6,minmax(0,1fr)); }.ga2-layout>.ga2-acceso { grid-column:1 / span 2; }.ga2-layout>.ga2-personal-head,.ga2-layout>.ga2-vacio { grid-column:3 / -1; } }
@media (max-width:1249px) { .ga2-layout { grid-template-columns:repeat(5,minmax(0,1fr)); } }
@media (max-width:999px) { .ga2-layout { grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); grid-template-rows:none; }.ga2-layout>.ga2-acceso,.ga2-layout>.ga2-personal-head,.ga2-layout>.ga2-vacio { grid-column:1 / -1; grid-row:auto; align-self:auto; }.ga2-acceso { max-width:none; } }
@media (max-width:560px) { .ga2-hero { padding:8px 16px; }.ga2-hero h1 { font-size:16px; }.ga2-hero p { font-size:11.5px; }.ga2-stats { gap:10px; }.ga2-stats-grupo { grid-template-columns:1fr; }.ga2-stats article { min-height:76px; padding:13px 16px; }.ga2-stats article.ga2-reloj { flex-basis:100%; }.ga2-stats strong { font-size:26px; }.ga2-reloj time { font-size:25px; }.ga2-acceso input { height:64px; }.ga2-personal-head { align-items:flex-start; flex-direction:column; gap:6px; } }

/* Parte digital */
.parte-presentes label{grid-template-columns:31px 1fr auto 58px}.parte-presentes .parte-clasificacion{min-height:30px;width:58px;padding:4px 6px;background:#fff;border:1px solid #d5dae3;font-size:11px}@media(max-width:560px){.parte-presentes label{grid-template-columns:31px 1fr 52px}.parte-presentes .parte-clasificacion{width:52px}.parte-presentes em{display:none}}
.parte-top{display:flex;align-items:center;justify-content:space-between;margin:-8px -8px 16px;padding:12px 14px;background:#111a2d;color:#fff}.parte-top h1{margin:0;font-size:18px}.parte-top a{color:#fff;font-size:23px;text-decoration:none}.parte-top button{border:0;border-radius:5px;padding:8px 12px;background:#c40942;color:#fff;font:800 11px 'Hanken Grotesk',sans-serif;text-transform:uppercase}.parte-formulario{max-width:760px;margin:0 auto;padding-bottom:32px}.parte-seccion{margin:13px 0;padding:18px;border-radius:10px;background:#fff;box-shadow:0 3px 11px rgba(15,23,42,.045)}.parte-seccion h2{margin:0 0 15px;color:#252a33;font-size:15px}.parte-seccion h2 span{color:#c40942;margin-right:7px}.parte-seccion h2 small{float:right;color:#7a818e;font-size:10px}.parte-seccion label{display:block;margin-bottom:5px;color:#68707e;font-size:10px;font-weight:800;letter-spacing:.045em;text-transform:uppercase}.parte-seccion input:not([type=checkbox]),.parte-seccion select,.parte-seccion textarea{width:100%;border:0;border-radius:6px;background:#f0f2f5;color:#242934;font:600 13px 'Hanken Grotesk',sans-serif}.parte-seccion input:not([type=checkbox]),.parte-seccion select{min-height:38px;padding:8px}.parte-seccion textarea{min-height:72px;padding:10px;resize:vertical}.parte-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.parte-full{grid-column:1/-1}.parte-ayuda{margin:-5px 0 12px;color:#6d7582;font-size:12px}.parte-presentes{display:grid;gap:7px}.parte-presentes label{display:grid;grid-template-columns:24px 31px 1fr auto;align-items:center;gap:8px;margin:0;padding:9px;border-radius:7px;background:#f1f3f6;color:#28303d;text-transform:none;letter-spacing:0;font-size:12px}.parte-presentes input{accent-color:#c40942}.parte-presentes b{font-size:12px}.parte-presentes em{color:#78808c;font-size:10px;font-style:normal}.parte-iniciales{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:#172033;color:#fff;font-size:9px}.parte-otro-personal{margin-top:12px}.parte-otro-personal summary{color:#bd0d3f;font-size:12px;font-weight:800;cursor:pointer}.parte-otro-personal>div{max-height:180px;margin-top:8px;padding:10px;overflow:auto;border:1px solid #e1e5eb;border-radius:6px}.parte-otro-personal ul{margin:0;padding:0;list-style:none}.parte-otro-personal li{padding:5px 0;font-size:12px}.parte-otro-personal label{display:inline;color:#4b5563;text-transform:none}@media(max-width:560px){.parte-formulario{margin:0 -5px}.parte-seccion{padding:15px}.parte-grid{grid-template-columns:1fr}.parte-full{grid-column:auto}.parte-presentes label{grid-template-columns:24px 29px 1fr}.parte-presentes em{display:none}}
.parte-presentes label{grid-template-columns:31px 1fr auto 58px}.parte-presentes .parte-clasificacion{min-height:30px;width:58px;padding:4px 6px;background:#fff;border:1px solid #d5dae3;font-size:11px}@media(max-width:560px){.parte-presentes label{grid-template-columns:31px 1fr 52px}.parte-presentes .parte-clasificacion{width:52px}.parte-presentes em{display:none}}
/* Marca "Cargado" en la lista de Partes (solo Encargados de Partes) */
.tabla-modulo .parte-cargado-toggle{display:inline-flex;align-items:center;gap:5px;min-height:34px;padding:6px 12px;border:1px solid #c9ced8;border-radius:9px;background:#fff;color:#5a6473;font:800 12px inherit;letter-spacing:.02em;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}
.tabla-modulo .parte-cargado-toggle:hover{border-color:#172033;background:#f4f6f8;color:#172033}
.tabla-modulo .parte-cargado-toggle.cargado{border-color:#b7e6c7;background:#e4f7eb;color:#147441}
.tabla-modulo .parte-cargado-toggle.cargado:hover{border-color:#8fd6a8;background:#d5f0df;color:#0f5c33}
.tabla-modulo .parte-cargado-toggle.cargado span{font-size:13px;line-height:1}

/* Damnificados e imágenes del Parte */
.parte-vehiculo .parte-eliminar{display:none!important}
.parte-damnificado{display:grid;grid-template-columns:2fr 1.2fr 1.2fr .7fr;gap:9px;padding:12px;margin-top:10px;border:1px solid #e0e4e9;border-radius:8px;background:#fafbfc}.parte-damnificado>label{margin:0;padding:9px;border-radius:6px;background:#eef1f4;color:#525b68;font-size:10px;text-transform:none}.parte-damnificado .parte-traslado input,.parte-damnificado .parte-eliminar input{vertical-align:middle;margin-right:4px}.parte-imagenes{display:grid;grid-template-columns:1fr 1fr;gap:12px}.parte-imagenes h2,.parte-imagenes p{grid-column:1/-1}.parte-imagenes input[type=file]{padding:13px;border:2px dashed #cbd1da;background:#f8f9fb}@media(max-width:560px){.parte-damnificado{grid-template-columns:1fr 1fr}.parte-imagenes{grid-template-columns:1fr}}
.parte-dependencias ul{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:0 0 14px;padding:0;list-style:none}.parte-dependencias li label{display:flex;align-items:center;gap:6px;margin:0;padding:8px;border-radius:6px;background:#f1f3f6;color:#394150;font-size:11px;text-transform:none;letter-spacing:0}.parte-dependencias input{accent-color:#c40942}.parte-vehiculo{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:12px;margin-top:10px;border:1px solid #e0e4e9;border-radius:8px;background:#fafbfc}.parte-airbag{grid-column:1/-1!important;margin:0!important;padding:9px;border-radius:6px;background:#eef1f4;color:#525b68!important;font-size:10px!important;text-transform:none!important}.parte-airbag input{vertical-align:middle;margin-right:4px}@media(max-width:560px){.parte-dependencias ul,.parte-vehiculo{grid-template-columns:1fr}}
.parte-dotaciones{display:grid;grid-template-columns:1fr 1fr;gap:12px}.parte-dotacion{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:12px;border:1px solid #d7dce4;border-radius:8px;background:#fafbfc}.parte-dotacion h3{grid-column:1/-1;margin:0 0 3px;color:#bd0d3f;font-size:12px}.parte-dotacion label{margin:0;font-size:9px}.parte-dotacion select,.parte-dotacion input{min-height:34px!important;font-size:12px!important}.parte-moviles-dependencias{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.parte-moviles-dependencias label{margin:0!important;padding:8px;border:1px dashed #cbd2dc;border-radius:6px;background:#fafbfc;color:#525b68!important;font-size:10px!important;text-transform:none!important}.parte-moviles-dependencias input{margin-top:5px!important}@media(max-width:560px){.parte-dotaciones,.parte-moviles-dependencias{grid-template-columns:1fr}.parte-dotacion{grid-template-columns:1fr}}
.parte-dependencias-completas{display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important;margin-bottom:14px}.parte-dependencias-completas>div{padding:8px;border:1px solid #e0e4e9;border-radius:7px;background:#fafbfc}.parte-dependencias-completas>div>label:first-child{display:block!important;padding:0!important;background:none!important}.parte-movil-dependencia{display:block!important;margin-top:7px!important;color:#596270!important;font-size:10px!important;text-transform:none!important}.parte-movil-dependencia input{width:100%;min-height:31px!important;margin-top:3px!important;padding:6px!important;border:1px dashed #c9d0db!important;background:#fff!important}@media(max-width:560px){.parte-dependencias-completas{grid-template-columns:1fr}}
.parte-dependencias-lista{margin-bottom:14px;border:1px solid #ccd2dc;border-radius:7px;overflow:hidden}.parte-dependencias-cabecera,.parte-dependencia-fila{display:grid;grid-template-columns:1.55fr 1.15fr .8fr;min-height:33px}.parte-dependencias-cabecera{background:#e8ebef;color:#46505e;font-size:10px;text-transform:uppercase}.parte-dependencias-cabecera b,.parte-dependencia-fila>*{padding:8px;border-right:1px solid #d6dbe3;border-bottom:1px solid #dfe3e9}.parte-dependencias-cabecera b:last-child,.parte-dependencia-fila>*:last-child{border-right:0}.parte-dependencia-fila:last-child>*{border-bottom:0}.parte-dependencia-fila label{margin:0!important;color:#303846!important;font-size:11px!important;text-transform:none!important;letter-spacing:0!important}.parte-dependencia-fila input[type=checkbox]{accent-color:#c40942}.parte-movil-inline input,.parte-medico-inline input{width:100%;min-height:18px!important;padding:1px 4px!important;border:0!important;background:transparent!important;font-size:11px!important}.parte-medico-inline{display:flex!important;align-items:center;gap:3px}@media(max-width:560px){.parte-dependencias-cabecera,.parte-dependencia-fila{grid-template-columns:1.3fr .9fr .7fr}.parte-dependencias-cabecera{font-size:8px}.parte-dependencia-fila label{font-size:9px!important}}
.parte-personal-inline{display:flex!important;align-items:center;gap:4px;padding:6px!important}.parte-personal-inline input{width:100%;min-height:23px!important;padding:3px!important;border:0!important;border-bottom:1px solid #cbd2dc!important;background:transparent!important;font-size:10px!important}
.parte-fila-same>div{display:flex!important;flex-direction:column;gap:4px}
.parte-fila-same select,.parte-fila-same input[type=text]{width:100%;min-height:24px!important;padding:3px 5px!important;border:1px solid #cbd2dc!important;border-radius:5px!important;background:#fff!important;color:#242934!important;font-size:10px!important}
.parte-fila-same-etiqueta{font-size:8px;font-weight:800;letter-spacing:.03em;color:#8a92a0;text-transform:uppercase}
.parte-fila-same-quitar{display:flex!important;align-items:center;gap:4px;margin-top:2px!important;font-size:9px!important;color:#8a92a0!important;text-transform:none!important}
.parte-agregar{margin-top:11px;border:1px dashed #c40942;border-radius:7px;padding:8px 11px;background:#fff;color:#bd0d3f;font:800 12px 'Hanken Grotesk',sans-serif;cursor:pointer}.parte-agregar:hover{background:#fff0f3}
.parte-institucion{display:flex;align-items:center;gap:12px;margin:-5px 0 0;padding:8px 14px;border:1px solid #ccd2dc;border-bottom:0;border-radius:8px 8px 0 0;background:#fff}.parte-institucion img{width:55px;height:55px;object-fit:contain}.parte-institucion strong{display:block;color:#111827;font-size:13px;letter-spacing:.01em}.parte-institucion span{display:block;margin-top:3px;color:#6b7280;font-size:10px;font-weight:700;text-transform:uppercase}.parte-top h1{display:flex;gap:10px;align-items:center}.parte-top h1 small{padding:4px 7px;border-radius:4px;background:rgba(255,255,255,.13);color:#eef1f5;font-size:10px;letter-spacing:.05em;text-transform:uppercase}@media(max-width:560px){.parte-institucion strong{font-size:10px}.parte-institucion img{width:45px;height:45px}.parte-top h1{font-size:15px}.parte-top h1 small{font-size:8px}}
.parte-imagenes-revision{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:20px}.parte-imagenes-revision img{width:100%;max-height:260px;object-fit:cover;border-radius:8px}.parte-imagenes-revision span{padding:22px;border:1px dashed #ccd2dc;border-radius:8px;color:#737b87;text-align:center;font-size:13px}@media(max-width:560px){.parte-imagenes-revision{grid-template-columns:1fr}}
.parte-firmas-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:20px}
.parte-firma-bloque{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px;text-align:center}
.parte-firma-bloque small{color:#c40942;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.parte-firma-bloque img{max-width:220px;max-height:90px;object-fit:contain;margin:6px 0;mix-blend-mode:multiply}
.parte-firma-vacia{display:flex;align-items:center;justify-content:center;width:220px;max-width:100%;height:90px;margin:6px 0;border:1px dashed #ccd2dc;border-radius:8px;color:#9aa3b0;font-size:12px}
.parte-firma-bloque strong{color:#172033;font-size:14px}
.parte-firma-bloque span{color:#6d7582;font-size:12px}
@media(max-width:560px){.parte-firmas-grid{grid-template-columns:1fr}}
html.modo-oscuro .parte-firma-bloque strong{color:#f4f7fc!important}
html.modo-oscuro .parte-firma-bloque span{color:#c9d3e2!important}
html.modo-oscuro .parte-firma-vacia{border-color:#496183!important;color:#9aa8c2!important}

/* Interfaz Command: base visual unificada para todos los módulos */
:root{--cmd-navy:#111a2d;--cmd-red:#c40942;--cmd-canvas:#f7f9fb;--cmd-card:#fff;--cmd-line:#e5e8ee;--cmd-muted:#667085;--cmd-shadow:0 5px 18px rgba(15,23,42,.055)}
body{background:var(--cmd-canvas);color:#191c1e;font-size:14px}.contenedor{min-height:100dvh}.sidebar{width:260px;min-width:260px;padding:28px 18px 18px;background:var(--cmd-navy);box-shadow:7px 0 24px rgba(15,23,42,.08)}.logo{display:flex;align-items:center;gap:11px;margin:0 10px 29px;text-align:left}.logo img{width:42px;height:auto;margin:0;border:0;object-fit:contain}.logo h2{margin:0;color:#fff;font-size:16px;letter-spacing:-.02em}.nav-iconos{display:grid;gap:3px}.nav-iconos li{margin:0}.nav-iconos li a{min-height:44px;padding:11px 13px;border-radius:10px;color:#9ea8bd;font-size:14px;font-weight:700}.nav-iconos li a:hover,.nav-iconos li a.nav-activa{background:var(--cmd-red);color:#fff;box-shadow:0 5px 12px rgba(196,9,66,.22)}.nav-iconos li a svg{width:20px;height:20px;stroke-width:2}.usuario-actual{margin:20px 10px 10px;padding:14px 0 0;border-top:1px solid rgba(255,255,255,.12)}.usuario-actual p{color:#fff;font-size:13px;font-weight:700}.usuario-actual small,.enlace-logout{color:#aab4c8}.form-logout{margin:0 10px}.enlace-logout{padding:8px 0;font-size:13px;font-weight:700}.contenido{max-width:1720px;padding:38px 42px;margin:0 auto}.encabezado-pagina,.encabezado-modulo{margin-bottom:26px}.encabezado-pagina h1,.encabezado-modulo h1{color:#111827;font-size:30px;letter-spacing:-.04em}.subtitulo-pagina,.encabezado-modulo p{color:var(--cmd-muted);font-size:15px}.barra-superior{gap:18px;margin-bottom:28px}.dato-servicio{min-height:82px;padding:17px 19px;border:1px solid var(--cmd-line);border-radius:15px;background:var(--cmd-card);box-shadow:var(--cmd-shadow)}.dato-semana{background:var(--cmd-navy);border-color:var(--cmd-navy)}.dato-semana .etiqueta-servicio,.dato-semana strong{color:#fff}.etiqueta-servicio{color:var(--cmd-muted);font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.dato-servicio strong{margin-top:5px;color:#172033;font-size:16px}.tarjeta,.tarjeta-inicio,.panel-resumen,.formulario,.tabla-modulo,.columna-presencia,.panel-registro-presencia{border:1px solid var(--cmd-line);border-radius:16px;background:var(--cmd-card);box-shadow:var(--cmd-shadow)}.tarjeta-inicio{padding:22px}.tarjeta-inicio h3{margin-bottom:15px}.grilla-inicio{gap:22px}.boton-principal,.boton-cta{border:0!important;border-radius:9px!important;background:var(--cmd-red)!important;color:#fff!important;font-weight:800!important;box-shadow:0 5px 12px rgba(196,9,66,.17)}.boton-principal:hover,.boton-cta:hover{background:#a80937!important;transform:translateY(-1px)}.boton-secundario{border:1px solid #c9ced8!important;border-radius:9px!important;background:#fff!important;color:#172033!important;font-weight:800!important}.boton-secundario:hover{border-color:#172033!important;background:#f4f6f8!important}input,select,textarea,.formulario input:not([type="checkbox"]),.formulario select,.formulario textarea{border:1px solid #d5dae3!important;border-radius:8px!important;background:#fff!important;color:#172033!important;box-shadow:none!important}input:focus,select:focus,textarea:focus{border-color:#1f3d76!important;outline:3px solid rgba(31,61,118,.12)!important}.formulario{padding:25px}.campo label{color:#525866;font-size:12px;font-weight:800}.tabla,.tabla-modulo table{overflow:hidden;border:1px solid var(--cmd-line);border-radius:14px;background-color:#fff}.tabla th,.tabla-modulo th{padding:14px 16px!important;background:#f2f4f7!important;color:#596171!important;font-size:11px!important;font-weight:800!important;letter-spacing:.045em;text-transform:uppercase}.tabla td,.tabla-modulo td{padding:14px 16px!important;border-color:#edf0f3!important}.tabla tbody tr:hover{background:#fafbfd}.badge{border-radius:999px!important;padding:5px 9px!important;font-size:10px!important;font-weight:800!important;letter-spacing:.03em}.mensajes{margin-bottom:20px}.mensaje{border-radius:10px;box-shadow:var(--cmd-shadow)}
@media(max-width:900px){.contenedor{display:block}.boton-menu-movil{position:fixed;z-index:70;top:13px;left:13px;display:flex;align-items:center;gap:6px;border:0;border-radius:9px;padding:10px 12px;background:var(--cmd-navy);color:#fff;font:800 12px 'Hanken Grotesk',sans-serif;box-shadow:0 6px 16px rgba(15,23,42,.2)}.sidebar{position:fixed;z-index:60;top:0;left:0;width:278px;height:100dvh;transform:translateX(-105%);transition:transform .24s ease}.sidebar.abierta{transform:translateX(0)}.contenido{padding:70px 16px 28px}.encabezado-pagina h1,.encabezado-modulo h1{font-size:25px}.barra-superior{grid-template-columns:1fr;gap:10px}.dato-servicio{min-height:68px}.grilla-inicio{grid-template-columns:1fr!important;gap:14px}.tarjeta-inicio,.formulario{padding:17px}.tabla{font-size:12px}.tabla th,.tabla td,.tabla-modulo th,.tabla-modulo td{padding:11px 10px!important;white-space:nowrap}.acciones,.encabezado-modulo{gap:10px}.acciones .boton-principal,.acciones .boton-secundario{width:100%;text-align:center}.materiales-head{align-items:stretch}.materiales-head>.acciones{display:grid}.materiales-cards,.sectores-grid{grid-template-columns:1fr}.parte-formulario{margin:0}.parte-seccion{border-radius:12px}}

/* Inicio compacto: mayor densidad en escritorio sin ocultar información. */
@media(min-width:1250px){.grilla-inicio{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.tarjeta-inicio{padding:15px}.tarjeta-inicio h3{margin-bottom:9px;font-size:14px}.tarjeta-inicio .subtitulo-pagina{font-size:12px;line-height:1.35}.tarjeta-proxima-guardia .turno-grande{font-size:19px}.mini-stats{gap:8px}.mini-stat-numero{font-size:19px}.mini-stat-etiqueta{font-size:10px}.item-lista-inicio{gap:7px;padding:7px 0;font-size:12px}.item-lista-inicio .boton-principal{padding:6px 9px;font-size:11px}.tarjeta-accesos{grid-column:span 2}.accesos-rapidos{gap:7px}.accesos-rapidos .boton-principal{padding:8px 10px;font-size:11px}.horas-total-inicio{margin:4px 0;font-size:12px}.horas-total-inicio strong{font-size:14px}}

/* Campanita y panel de notificaciones personales. */
.barra-utilidades{display:flex;justify-content:flex-end;min-height:0;margin:-18px 0 12px}.menu-notificaciones{position:relative}.menu-notificaciones summary{position:relative;display:grid;width:42px;height:42px;place-items:center;border:1px solid var(--cmd-line);border-radius:11px;background:#fff;color:var(--cmd-navy);cursor:pointer;box-shadow:var(--cmd-shadow);list-style:none}.menu-notificaciones summary::-webkit-details-marker{display:none}.menu-notificaciones summary:hover{border-color:var(--cmd-red);color:var(--cmd-red)}.menu-notificaciones summary svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.contador-notificaciones{position:absolute;top:-6px;right:-7px;display:grid;min-width:19px;height:19px;place-items:center;padding:0 4px;border:2px solid var(--cmd-canvas);border-radius:999px;background:var(--cmd-red);color:#fff;font-size:10px;font-weight:800}.panel-notificaciones{position:absolute;z-index:45;top:50px;right:0;width:min(390px,calc(100vw - 32px));overflow:hidden;border:1px solid var(--cmd-line);border-radius:14px;background:#fff;box-shadow:0 18px 35px rgba(15,23,42,.18)}.panel-notificaciones-cabecera{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--cmd-line)}.panel-notificaciones-cabecera strong{font-size:15px}.panel-notificaciones-cabecera span{color:var(--cmd-muted);font-size:12px}.lista-notificaciones{max-height:390px;overflow-y:auto}.notificacion-item{display:block;padding:13px 16px;border-bottom:1px solid #edf0f3;color:#1f2937;text-decoration:none}.notificacion-item:last-child{border-bottom:0}.notificacion-item:hover{background:#f7f9fb}.notificacion-item.no-leida{border-left:3px solid var(--cmd-red);background:#fff7f9}.notificacion-item strong,.notificacion-item span,.notificacion-item small{display:block}.notificacion-item strong{font-size:13px}.notificacion-item span{margin-top:3px;color:#5f6877;font-size:12px;line-height:1.35}.notificacion-item small{margin-top:6px;color:#8b94a3;font-size:10px}.notificaciones-vacias{margin:0;padding:22px 16px;color:var(--cmd-muted);text-align:center}
.panel-notificaciones-push{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:11px 16px;border-bottom:1px solid var(--cmd-line);background:#f9fafb;font-size:12px;color:#4b5563}
.panel-notificaciones-push strong{color:#172033}
.panel-notificaciones-push button{border:1px solid var(--cmd-line);border-radius:8px;padding:6px 12px;background:#fff;color:#172033;font-size:12px;font-weight:800;cursor:pointer}
.panel-notificaciones-push button:hover{border-color:var(--cmd-red);color:var(--cmd-red)}
html.modo-oscuro .panel-notificaciones-push{background:#203452!important;border-color:#496183!important;color:#c9d3e2!important}
html.modo-oscuro .panel-notificaciones-push strong{color:#f5f8fd!important}
html.modo-oscuro .panel-notificaciones-push button{background:#182b4a!important;border-color:#496183!important;color:#f3f6fb!important}
.ga2-marcar{width:100%;height:54px;border:0;border-radius:9px;background:#c40942;color:#fff;font:800 15px 'Hanken Grotesk',sans-serif;text-transform:uppercase;cursor:pointer;box-shadow:0 5px 10px rgba(15,23,42,.15)}
.ga2-marcar:hover:not(:disabled){background:#ac0939}
.ga2-marcar:disabled{background:#c9ced8;cursor:not-allowed;box-shadow:none}
.ga2-permiso-auxiliar{margin:2px 20px 14px}
.ga2-permiso-auxiliar label{display:inline-flex;align-items:center;gap:8px;color:#3d4653;font-size:13px;font-weight:700;cursor:pointer}
.ga2-permiso-auxiliar input[type=checkbox]{width:17px;height:17px;accent-color:#c40942;cursor:pointer}
html.modo-oscuro .ga2-permiso-auxiliar label{color:#c8d3e6}
.ga2-refuerzo{margin:18px 20px 20px;padding:18px;border:1px solid #e4e7ec;border-radius:12px;background:#fafbfd}
.ga2-refuerzo h3{margin:0 0 4px;color:#172033;font-size:15px}
.ga2-refuerzo>p{margin:0 0 12px;color:#667085;font-size:13px}
.ga2-refuerzo-form{display:grid;gap:12px;max-width:460px}
.ga2-refuerzo-buscador{position:relative}
.ga2-refuerzo-buscador input[type=text]{width:100%;min-height:44px;padding:10px 12px}
.ga2-refuerzo-lista{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 4px);margin:0;padding:4px;list-style:none;max-height:240px;overflow-y:auto;border:1px solid #d5dae3;border-radius:9px;background:#fff;box-shadow:0 12px 26px rgba(15,23,42,.14)}
.ga2-refuerzo-lista li{padding:10px 11px;border-radius:7px;color:#172033;font-size:13.5px;cursor:pointer}
.ga2-refuerzo-lista li:hover,.ga2-refuerzo-lista li:focus{background:#f1f3f7;outline:0}
.ga2-refuerzo-lista li.ga2-refuerzo-vacio{color:#8b94a3;cursor:default}
.ga2-refuerzo-lista li.ga2-refuerzo-vacio:hover{background:transparent}
.ga2-refuerzo .ga2-marcar{height:46px}
.ga2-refuerzo-aviso{display:block;margin:-4px 0 2px;color:#a9360f;font-size:12px;font-weight:700}
html.modo-oscuro .ga2-refuerzo-aviso{color:#ffb088!important}
html.modo-oscuro .ga2-refuerzo{background:#101d32!important;border-color:#3c5273!important}
html.modo-oscuro .ga2-refuerzo h3{color:#f3f6fb!important}
html.modo-oscuro .ga2-refuerzo>p{color:#b8c8dc!important}
html.modo-oscuro .ga2-refuerzo-lista{background:#182b4a!important;border-color:#496183!important}
html.modo-oscuro .ga2-refuerzo-lista li{color:#f3f6fb!important}
html.modo-oscuro .ga2-refuerzo-lista li:hover,html.modo-oscuro .ga2-refuerzo-lista li:focus{background:#22375a!important}
.ga2-relevo-a-cargo-hecho{margin:2px 20px 14px;padding:11px 13px;border:1px solid #cfe6d2;border-radius:10px;background:#eef6ef;color:#28613a;font-size:13px}
.ga2-relevo-a-cargo-hecho strong{color:#1f4d2e}
html.modo-oscuro .ga2-relevo-a-cargo-hecho{background:#12301e!important;border-color:#2f6b41!important;color:#bfe6c9!important}
html.modo-oscuro .ga2-relevo-a-cargo-hecho strong{color:#eafff0!important}

/* Automotores */
.automotores-formulario{margin-bottom:24px;overflow:hidden;border:1px solid var(--cmd-line);border-radius:16px;background:#fff;box-shadow:var(--cmd-shadow)}.automotores-formulario>header{display:flex;gap:12px;align-items:center;padding:18px 22px;border-bottom:1px solid var(--cmd-line)}.automotores-formulario>header span{color:var(--cmd-red);font-size:24px}.automotores-formulario h2{margin:0;font-size:19px}.automotores-formulario header p{margin:3px 0 0;color:var(--cmd-muted)}.automotores-formulario form{padding:22px}.automotores-datos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.automotores-datos label,.automotor-chofer{display:grid;gap:6px;color:#525866;font-size:12px;font-weight:800}.automotores-datos input,.automotores-datos select{width:100%;min-height:43px;padding:9px 11px}.automotor-chofer strong{display:flex;min-height:43px;align-items:center;padding:9px 11px;border:1px solid #d5dae3;border-radius:8px;background:#f5f7fa;color:#172033;font-size:14px}.automotores-items{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}.automotores-items>div{padding:15px;border:1px solid #e1e5eb;border-radius:11px;background:#f8fafc}.automotores-items strong{display:block;margin-bottom:10px;color:#172033}.automotores-items ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.automotores-items label{display:flex;align-items:center;gap:7px;color:#485161;font-size:12px;font-weight:700}.automotores-items input[type=radio]{accent-color:#c40942}.estado-ok,.estado-falla{display:inline-grid;width:27px;height:27px;place-items:center;border-radius:50%;font-size:16px;font-weight:800}.estado-ok{background:#e5f7eb;color:#16813c}.estado-falla{background:#fff0f2;color:#c40942}.automotores-historial h2{margin-top:0;font-size:18px}@media(max-width:850px){.automotores-datos,.automotores-items{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.automotores-datos,.automotores-items{grid-template-columns:1fr}.automotores-formulario form{padding:16px}}
.automotores-planilla{display:grid;gap:0;max-width:920px}.automotor-linea{display:grid;grid-template-columns:180px minmax(0,1fr);align-items:center;gap:14px;min-height:58px;padding:9px 0;border-bottom:1px solid #e7ebf0}.automotor-linea>label,.automotor-linea>span{color:#172033;font-size:14px;font-weight:800}.automotor-linea>input,.automotor-linea>select{max-width:360px;min-height:40px;padding:8px 10px}.automotor-linea>strong{font-size:14px}.automotor-chequeo{grid-template-columns:180px minmax(0,1fr)}.automotor-novedades{align-items:start}.automotor-novedades>textarea{width:100%;max-width:620px;min-height:82px;padding:10px;resize:vertical}.automotor-estado ul{display:flex;gap:11px;margin:0;padding:0;list-style:none}.automotor-estado label{display:flex;align-items:center;gap:5px;color:#4b5563;font-size:12px;font-weight:700}.automotor-estado input[type=radio]{accent-color:#c40942}.automotores-planilla .boton-principal{justify-self:start;margin-top:20px;padding:12px 22px}.automotores-historial td:last-child small{display:block;min-width:150px;margin:2px 0;color:#566070;font-size:11px}@media(max-width:650px){.automotor-linea,.automotor-chequeo{grid-template-columns:1fr;gap:7px;padding:12px 0}.automotor-linea>input,.automotor-linea>select{max-width:none}.automotor-estado ul{flex-wrap:wrap}}
.automotor-medicion{display:grid;grid-template-columns:104px 62px;gap:7px}.automotor-medicion select{width:100%;min-height:34px;padding:5px 7px;font-size:13px}

/* Automotores: fotografía del móvil de fondo, sin afectar otras pantallas. */
.automotores-pantalla{position:relative;isolation:isolate;min-height:calc(100dvh - 76px);margin:0 -42px -38px;padding:28px 42px 38px;border-radius:0;overflow:hidden;background:#101827}
.automotores-pantalla::before{position:absolute;z-index:-2;inset:0;background:url("../img/fondo-automotores-optimizado.182782348fe8.jpg") center/cover no-repeat;content:""}
.automotores-pantalla::after{position:absolute;z-index:-1;inset:0;background:linear-gradient(110deg,rgba(8,15,29,.9),rgba(11,20,37,.7) 60%,rgba(8,15,29,.78));content:""}
.vista-automotores .barra-utilidades{position:relative;z-index:50;min-height:42px;margin:-38px -42px 0;padding:12px 42px 10px;background:linear-gradient(110deg,rgba(8,15,29,.9),rgba(11,20,37,.7) 60%,rgba(8,15,29,.78)),url("../img/fondo-automotores-optimizado.182782348fe8.jpg") center 35%/cover no-repeat}
.vista-automotores .menu-notificaciones summary{background:rgba(255,255,255,.96)}
.automotores-pantalla .encabezado-modulo{max-width:none;margin:0 0 18px;padding:20px 24px;border:1px solid rgba(255,255,255,.2);border-radius:15px;background:rgba(12,21,37,.78);box-shadow:0 8px 24px rgba(0,0,0,.18);backdrop-filter:blur(4px)}
.automotores-pantalla .encabezado-modulo h1{color:#fff}
.automotores-pantalla .encabezado-modulo p{color:#e4e9f2}
.automotores-pantalla .automotores-formulario{max-width:none;margin:0;overflow:visible;border:0;background:transparent;box-shadow:none}
.automotores-pantalla .automotores-formulario>header{margin-bottom:14px;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:rgba(12,21,37,.82);color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.16);backdrop-filter:blur(4px)}
.automotores-pantalla .automotores-formulario>header h2{color:#fff}
.automotores-pantalla .automotores-formulario>header p{color:#e4e9f2}
.automotores-pantalla .automotores-planilla{max-width:none;padding:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.automotores-pantalla .automotor-linea{min-height:92px;padding:14px;grid-template-columns:1fr;align-content:center;gap:8px;border:1px solid rgba(255,255,255,.16);border-radius:12px;background:rgba(10,18,32,.76);box-shadow:0 5px 14px rgba(0,0,0,.12);backdrop-filter:blur(3px)}
.automotores-pantalla .automotor-linea>label{color:#fff;font-size:12px}
.automotores-pantalla .automotor-linea>input,.automotores-pantalla .automotor-linea>select{max-width:none}
.automotores-pantalla .automotor-novedades{grid-column:span 2;grid-template-columns:1fr;align-content:start;min-height:138px}
.automotores-pantalla .automotor-novedades>textarea{max-width:none;min-height:75px}
.automotores-pantalla .automotores-planilla>.boton-principal{grid-column:auto;align-self:stretch;margin:0;padding:12px}
.automotores-pantalla .mensaje-info{background:rgba(255,255,255,.9);backdrop-filter:blur(5px)}
@media(max-width:1050px){.automotores-pantalla .automotores-planilla{grid-template-columns:repeat(2,minmax(0,1fr))}.automotores-pantalla .automotor-novedades{grid-column:1/-1}}@media(max-width:650px){.vista-automotores .barra-utilidades{margin:-70px -16px 0;padding:13px 16px 10px}.automotores-pantalla{min-height:calc(100dvh - 92px);margin:0 -16px -28px;padding:22px 16px 28px;border-radius:0}.automotores-pantalla::before{background-position:58% center}.automotores-pantalla .encabezado-modulo{padding:17px;margin-bottom:14px}.automotores-pantalla .automotores-planilla{grid-template-columns:1fr}.automotores-pantalla .automotor-novedades{grid-column:auto}.automotores-pantalla .automotores-planilla>.boton-principal{min-height:52px}}
@media(min-width:901px) and (max-width:1249px){.grilla-inicio{gap:15px}.tarjeta-inicio{padding:17px}.tarjeta-inicio h3{margin-bottom:10px}.item-lista-inicio{padding:8px 0}}

/* Inicio: tablero rápido, sin listas extensas. */
.inicio-rapido{max-width:1280px}.inicio-rapido-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.inicio-rapido-head>div>span{display:block;margin-bottom:5px;color:#c40942;font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.inicio-rapido-head h1{margin:0;color:#111827;font-size:30px;letter-spacing:-.045em}.inicio-rapido-head p{margin:4px 0 0;color:#667085;font-size:14px}.inicio-resumen-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:16px}.inicio-resumen-grid article{display:flex;min-height:170px;flex-direction:column;padding:19px 20px;border:1px solid #e5e8ee;border-radius:15px;background:#fff;box-shadow:0 5px 18px rgba(15,23,42,.055)}.inicio-card-head{display:flex;align-items:center;gap:8px;margin-bottom:16px}.inicio-card-head span{display:grid;width:30px;height:30px;place-items:center;border-radius:8px;background:#e7edff;color:#245fae;font-size:15px}.inicio-card-head h2{margin:0;color:#283042;font-size:14px}.inicio-resumen-grid article>strong{color:#111827;font-size:20px;line-height:1.2}.inicio-resumen-grid article>p{margin:5px 0;color:#667085;font-size:13px}.inicio-resumen-grid article>a{margin-top:auto;color:#c40942;font-size:12px;font-weight:800;text-decoration:none}.inicio-turno{background:#111a2d!important;border-color:#111a2d!important}.inicio-turno .inicio-card-head h2,.inicio-turno>strong{color:#fff!important}.inicio-turno .inicio-card-head span{background:#c40942;color:#fff}.inicio-turno>p{color:#c4ccda!important}.inicio-turno>a{color:#fff!important}.inicio-horas-rapidas>strong{color:#c40942!important;font-size:28px!important}.inicio-horas-detalle{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.inicio-horas-detalle span{padding:4px 7px;border-radius:5px;background:#f2f4f7;color:#5d6571;font-size:10px}.inicio-horas-detalle b{margin-left:3px;color:#202632}.inicio-asistencia-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.inicio-asistencia-grid span{color:#69717e;font-size:9px;text-align:center}.inicio-asistencia-grid b{display:block;color:#192131;font-size:18px}.inicio-novedades{margin-top:16px;padding:19px 20px;border:1px solid #e5e8ee;border-radius:15px;background:#fff;box-shadow:0 5px 18px rgba(15,23,42,.055)}.inicio-novedades-titulo{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:14px}.inicio-novedades h2,.inicio-accesos-rapidos h2{margin:0;color:#202735;font-size:16px}.inicio-novedades-titulo p{margin:0;color:#7a828e;font-size:12px}.inicio-novedades-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.inicio-novedades-grid a{display:flex;align-items:center;gap:9px;padding:11px;border:1px solid #eaedf1;border-radius:10px;color:#1d2431;text-decoration:none}.inicio-novedades-grid a:hover{border-color:#c6cbd4;background:#fafbfd}.novedad-icono{display:grid;flex:0 0 31px;width:31px;height:31px;place-items:center;border-radius:8px;font-size:14px}.novedad-icono.azul{background:#e4ebff;color:#245fae}.novedad-icono.verde{background:#def7ea;color:#168651}.novedad-icono.rojo{background:#ffe3e8;color:#c40942}.novedad-icono.violeta{background:#eee8ff;color:#6d43c2}.inicio-novedades-grid b,.inicio-novedades-grid small{display:block}.inicio-novedades-grid b{font-size:12px}.inicio-novedades-grid small{margin-top:2px;color:#707887;font-size:10px}.inicio-novedades-grid i{margin-left:auto;color:#9aa1ac;font-size:22px;font-style:normal}.inicio-accesos-rapidos{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:16px;padding:15px 20px;border:1px solid #e5e8ee;border-radius:15px;background:#fff}.inicio-accesos-rapidos>div{display:flex;flex-wrap:wrap;gap:7px}.inicio-accesos-rapidos a{padding:7px 10px;border-radius:7px;background:#f1f3f6;color:#354052;font-size:11px;font-weight:800;text-decoration:none}.inicio-accesos-rapidos a:hover{background:#111a2d;color:#fff}@media(max-width:900px){.inicio-rapido-head{align-items:flex-start;flex-direction:column}.inicio-resumen-grid{grid-template-columns:1fr}.inicio-resumen-grid article{min-height:145px}.inicio-novedades-grid{grid-template-columns:1fr 1fr}.inicio-accesos-rapidos{align-items:flex-start;flex-direction:column}}@media(max-width:520px){.inicio-novedades-grid{grid-template-columns:1fr}.inicio-rapido-head h1{font-size:26px}.inicio-novedades-titulo{align-items:flex-start;flex-direction:column;gap:3px}}
.inicio-alertas-domingo{display:grid;gap:9px;margin:-5px 0 16px}.inicio-alertas-domingo a{display:flex;align-items:center;gap:11px;padding:12px 15px;border:1px solid #f1c5d1;border-radius:11px;background:#fff5f7;color:#263042;text-decoration:none}.inicio-alertas-domingo a>span{display:grid;flex:0 0 30px;width:30px;height:30px;place-items:center;border-radius:8px;background:#c40942;color:#fff;font-size:14px}.inicio-alertas-domingo b,.inicio-alertas-domingo small{display:block}.inicio-alertas-domingo b{font-size:13px}.inicio-alertas-domingo small{margin-top:2px;color:#69717e;font-size:11px}.inicio-alertas-domingo i{margin-left:auto;color:#c40942;font-size:11px;font-style:normal;font-weight:800}@media(max-width:520px){.inicio-alertas-domingo i{display:none}}
.inicio-frase-dia{display:flex;align-items:center;gap:13px;margin:0 0 16px;padding:13px 17px;border:1px solid #ead6a8;border-radius:13px;background:linear-gradient(100deg,#fffdf5,#fff8e7);color:#4a3b1f}.inicio-frase-dia>span{align-self:flex-start;color:#c40942;font-family:Georgia,serif;font-size:42px;line-height:.82}.inicio-frase-dia small{display:block;margin-bottom:4px;color:#9a741d;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.inicio-frase-dia p{margin:0;color:#252018;font-family:"Amatic SC","Arial Narrow",sans-serif;font-size:31px;font-style:normal;font-weight:400;letter-spacing:.035em;line-height:1.02;text-shadow:0 0 .22px currentColor}.campo-frase-dia{margin-top:12px;padding:12px;border:1px solid #ead6a8;border-radius:9px;background:#fffaf0}.campo-frase-dia label{display:flex;align-items:center;gap:8px;font-weight:800}.campo-frase-dia input{width:auto!important}.campo-frase-dia small{display:block;margin:5px 0 0 25px;color:#6f6a5c}
.frase-dia-gestion{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:14px 0;padding:13px 15px;border:1px solid #ead6a8;border-radius:11px;background:#fffaf0}.frase-dia-gestion small{color:#9a741d;font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.frase-dia-gestion p{margin:4px 0 0;color:#4a3b1f;font-size:13px;font-style:italic}.frase-dia-gestion .acciones{flex-wrap:nowrap}.frase-dia-gestion form{margin:0}.frase-dia-gestion button{cursor:pointer}@media(max-width:600px){.frase-dia-gestion{align-items:stretch;flex-direction:column}.frase-dia-gestion .acciones{flex-wrap:wrap}}
.frase-dia-gestion{align-items:stretch}.frase-dia-editor{display:flex;flex:1;align-items:center;gap:10px}.frase-dia-editor textarea{width:100%;min-height:44px;padding:10px 11px;border:1px solid #d8cba9;border-radius:8px;background:#fff;font:inherit;resize:vertical}.frase-dia-editor .boton-secundario,.frase-dia-gestion>form>.boton-secundario{white-space:nowrap}.frase-dia-gestion>form{display:flex;align-items:center}@media(max-width:600px){.frase-dia-editor{align-items:stretch;flex-direction:column}.frase-dia-gestion>form{justify-content:flex-end}}

/* Inicio: fotografía institucional como fondo, sin afectar el resto del sistema. */
.inicio-rapido{position:relative;isolation:isolate;max-width:none;min-height:calc(100dvh - 76px);margin:0 -42px -38px;padding:28px 42px 38px;border-radius:0;overflow:hidden;background:#101827}
.inicio-rapido::before{position:absolute;z-index:-2;inset:0;background:url("../img/fondo-inicio-cuartel.7323338ab556.jpg") center 43%/cover no-repeat;content:""}
.inicio-rapido::after{position:absolute;z-index:-1;inset:0;background:linear-gradient(115deg,rgba(8,15,29,.9),rgba(11,20,37,.72) 58%,rgba(8,15,29,.82));content:""}
.inicio-rapido-head{padding:3px 4px 7px}
.inicio-rapido-head>div>span{color:#ffceda}
.inicio-rapido-head h1{color:#fff}
.inicio-rapido-head p{color:#e4e9f2}
.inicio-rapido .inicio-resumen-grid article,.inicio-rapido .inicio-novedades,.inicio-rapido .inicio-accesos-rapidos{background:rgba(255,255,255,.96);backdrop-filter:blur(3px)}
.inicio-rapido .inicio-alertas-domingo a{background:rgba(255,255,255,.95)}
.inicio-rapido .inicio-frase-dia{background:rgba(255,250,238,.96)}
.vista-inicio .barra-utilidades{position:relative;z-index:50;min-height:42px;margin:-38px -42px 0;padding:12px 42px 10px;background:linear-gradient(115deg,rgba(8,15,29,.9),rgba(11,20,37,.72) 58%,rgba(8,15,29,.82)),url("../img/fondo-inicio-cuartel.7323338ab556.jpg") center 43%/cover no-repeat}
.vista-inicio .menu-notificaciones summary{background:rgba(255,255,255,.96)}
.vista-inicio .contenido{background:#101827 url("../img/fondo-inicio-cuartel.7323338ab556.jpg") center 43%/cover fixed no-repeat}
.vista-inicio .barra-superior{margin:0 -42px;padding:0 42px 20px;background:rgba(8,15,29,.74)}
.vista-inicio .dato-servicio{background:rgba(255,255,255,.94);backdrop-filter:blur(4px)}
.vista-inicio .dato-semana{border-color:#111a2d;background:#111a2d!important;box-shadow:0 8px 20px rgba(0,0,0,.28)}
.vista-inicio .dato-semana .etiqueta-servicio{color:#d9e1ef!important}
.vista-inicio .dato-semana strong{color:#fff!important;font-size:18px}
.roperia-categorias{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 20px}.roperia-categorias a{display:flex;min-height:118px;flex-direction:column;justify-content:center;padding:17px;border:1px solid #e1e6ed;border-radius:15px;background:#fff;color:#1b2434;text-decoration:none;box-shadow:var(--cmd-shadow);transition:.18s ease}.roperia-categorias a:hover,.roperia-categorias a.activa{border-color:#c40942;background:#fff6f8;transform:translateY(-2px)}.roperia-categorias span{margin-bottom:8px;font-size:27px}.roperia-categorias strong{font-size:15px}.roperia-categorias small{margin-top:4px;color:#727b89;font-size:11px}@media(max-width:800px){.roperia-categorias{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:450px){.roperia-categorias{grid-template-columns:1fr}.roperia-categorias a{min-height:86px}}
.roperia-operaciones{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:20px}.roperia-operaciones .formulario{margin:0}.roperia-operaciones h2{margin-top:0;font-size:18px}@media(max-width:800px){.roperia-operaciones{grid-template-columns:1fr}}
.roperia-agregar-prenda{margin:20px 0;overflow:hidden;border:1px solid var(--cmd-line);border-radius:14px;background:#fff;box-shadow:var(--cmd-shadow)}.roperia-agregar-prenda>summary{padding:16px 18px;color:#172033;font-size:16px;font-weight:800;cursor:pointer;list-style:none}.roperia-agregar-prenda>summary::-webkit-details-marker,.roperia-talles-desplegable>summary::-webkit-details-marker{display:none}.roperia-agregar-prenda>summary:before{margin-right:9px;color:var(--cmd-red);content:'+'}.roperia-agregar-prenda[open]>summary{border-bottom:1px solid var(--cmd-line);background:#fff6f8}.roperia-agregar-prenda[open]>summary:before{content:'−'}.roperia-agregar-prenda .formulario{margin:0;border:0;border-radius:0;box-shadow:none}.roperia-talles-desplegable{margin:18px 0;border:1px solid #e1e5eb;border-radius:10px}.roperia-talles-desplegable>summary{padding:12px 14px;color:#263042;font-weight:800;cursor:pointer;list-style:none}.roperia-talles-desplegable>summary:after{float:right;color:var(--cmd-red);content:'+';font-size:18px}.roperia-talles-desplegable[open]>summary{border-bottom:1px solid #e1e5eb;background:#f8fafc}.roperia-talles-desplegable[open]>summary:after{content:'−'}.roperia-talles-desplegable p{margin:13px 14px 8px;color:var(--cmd-muted);font-size:12px}.roperia-talles-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:10px 14px 14px}.roperia-talles-grid label{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:7px;padding:9px;border:1px solid #e3e6eb;border-radius:8px;background:#fff}.roperia-talles-grid input[type=checkbox]{accent-color:var(--cmd-red)}.roperia-talles-grid input[type=number]{grid-column:1 / -1;width:100%;min-height:35px;padding:6px 8px}@media(max-width:700px){.roperia-talles-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:420px){.roperia-talles-grid{grid-template-columns:1fr}}
.roperia-agregar-prenda .form-grid .roperia-campo-compacto,.roperia-campo-compacto{display:grid!important;grid-column:auto!important;justify-self:start!important;align-self:start!important;width:175px!important;min-width:0!important;max-width:175px!important}.roperia-campo-compacto select,.roperia-campo-compacto input{width:100%!important;min-width:0!important}.roperia-agregar-prenda .form-grid .roperia-campo-cantidad,.roperia-campo-cantidad{width:100px!important;max-width:100px!important}
.roperia-prendas-desplegables{margin-top:20px}.roperia-prendas-desplegables>h2{margin:0 0 12px;color:#202735;font-size:19px}.roperia-prendas-desplegables>details{margin-bottom:10px;overflow:hidden;border:1px solid var(--cmd-line);border-radius:12px;background:#fff;box-shadow:var(--cmd-shadow)}.roperia-prendas-desplegables>details>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 17px;cursor:pointer;list-style:none}.roperia-prendas-desplegables>details>summary::-webkit-details-marker{display:none}.roperia-prendas-desplegables>details>summary:after{content:'+';color:var(--cmd-red);font-size:22px;font-weight:500}.roperia-prendas-desplegables>details[open]>summary{border-bottom:1px solid var(--cmd-line);background:#fff6f8}.roperia-prendas-desplegables>details[open]>summary:after{content:'−'}.roperia-prendas-desplegables>details>summary span{margin-left:auto;color:var(--cmd-muted);font-size:12px}.roperia-prendas-desplegables table{width:100%;border:0;border-radius:0}@media(max-width:600px){.roperia-prendas-desplegables>details>summary span{display:none}}
@media(max-width:900px){.vista-inicio .barra-utilidades{margin:-70px -16px 0;padding:13px 16px 10px}.vista-inicio .barra-superior{margin:0 -16px;padding:0 16px 16px}.inicio-rapido{min-height:calc(100dvh - 92px);margin:0 -16px -28px;padding:22px 16px 28px;border-radius:0}.inicio-rapido-head{padding:2px 3px}.inicio-rapido::before{background-position:55% center}}
/* Compatibilidad con pantallas que aún tengan el botón anterior en caché. */
a[href*="frase_del_dia=1"]{display:none!important}
.frase-dia-nueva{margin:14px 0;border:1px solid #ead6a8;border-radius:11px;background:#fffdf7}.frase-dia-nueva summary{padding:12px 15px;color:#9a741d;font-size:13px;font-weight:800;cursor:pointer}.frase-dia-nueva form{display:grid;gap:8px;padding:0 15px 15px}.frase-dia-nueva label{color:#4a3b1f;font-size:12px;font-weight:800}.frase-dia-nueva textarea,.frase-dia-nueva input{width:100%;max-width:650px;padding:9px 10px;border:1px solid #d8cba9;border-radius:8px;font:inherit}.frase-dia-nueva textarea{resize:vertical}.frase-dia-nueva .boton-principal{justify-self:start;margin-top:4px}
.acciones{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.acciones>a.boton-principal,.acciones>a.boton-secundario,.acciones>form>button.boton-secundario{display:inline-flex;min-height:40px;align-items:center;justify-content:center;padding:9px 14px;text-decoration:none}.acciones>a.boton-secundario,.acciones>form>button.boton-secundario{border:1px solid #c9ced8!important;border-radius:9px;background:#fff;color:#172033;font-size:13px;font-weight:800;cursor:pointer}.acciones>a.boton-secundario:hover,.acciones>form>button.boton-secundario:hover{border-color:#172033!important;background:#f4f6f8!important}
.baja-parcial{width:100%}.baja-parcial summary{color:#c40942;font-size:12px;font-weight:800;cursor:pointer}.baja-parcial form{display:grid;gap:6px;margin-top:8px}.baja-parcial input,.baja-parcial textarea{width:100%;padding:7px;border:1px solid #d5dae3;border-radius:7px;font:inherit}.baja-parcial textarea{min-height:55px}.baja-parcial button{border:0;border-radius:7px;padding:8px;background:#c40942;color:#fff;font-weight:800;cursor:pointer}
/* Ropería: tabs de categorías y nota informativa */
.roperia-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}
.roperia-tabs a{display:inline-flex;align-items:center;gap:7px;padding:10px 16px;border:1px solid #e1e6ed;border-radius:10px;background:#fff;color:#1b2434;font-size:13px;font-weight:800;text-decoration:none;transition:.15s ease}
.roperia-tabs a:hover{border-color:#c40942}
.roperia-tabs a.activa{background:#c40942;border-color:#c40942;color:#fff}
html.modo-oscuro .roperia-tabs a{background:#182b4a;border-color:#3c5273;color:#f4f7fb}
html.modo-oscuro .roperia-tabs a:hover{border-color:#d3144c}
html.modo-oscuro .roperia-tabs a.activa{background:#d3144c;border-color:#d3144c;color:#fff}
.roperia-nota-info{margin:0 0 14px;padding:10px 14px;border:1px solid #e1e6ed;border-radius:9px;background:#f7f8fa;color:var(--cmd-muted);font-size:12.5px}
html.modo-oscuro .roperia-nota-info{background:#182b4a;border-color:#3c5273;color:#c3cee0}
.roperia-ver-stock{padding:5px 10px;border:1px solid #e1e6ed;border-radius:20px;color:#586172!important;font-size:11px!important;font-weight:700}
html.modo-oscuro .roperia-ver-stock{border-color:#3c5273;color:#c3cee0!important}

/* Ropería: acciones compactas de Enviar a reparar / Dar de baja */
.roperia-stock-acciones{display:flex;flex-wrap:wrap;gap:6px;align-items:flex-start;padding-top:6px!important;padding-bottom:6px!important}
.roperia-stock-acciones .baja-parcial{width:auto}
.roperia-stock-acciones .baja-parcial[open]{align-self:stretch}
.roperia-stock-acciones .baja-parcial summary{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;white-space:nowrap;border:1px solid #e1e6ed;border-radius:7px;background:#fff;color:#374151;font-size:11.5px;font-weight:800;list-style:none}
.roperia-stock-acciones .baja-parcial summary::-webkit-details-marker{display:none}
.roperia-stock-acciones .baja-parcial form{width:150px;margin-top:6px}
.roperia-stock-acciones .baja-parcial label{display:grid;gap:3px;color:var(--cmd-muted);font-size:10.5px;font-weight:800;text-transform:uppercase}
.roperia-stock-acciones .baja-parcial input,.roperia-stock-acciones .baja-parcial button{font-size:12px;padding:6px}

.roperia-stock-acciones .roperia-accion-reparar>summary{border-color:#bfe3cc;background:#e8f8ee;color:#137a3c}
.roperia-stock-acciones .roperia-accion-reparar>summary:hover{background:#d7f0e0;border-color:#137a3c}
.roperia-stock-acciones .roperia-accion-reparar[open]>summary{background:#137a3c;border-color:#137a3c;color:#fff}
.roperia-stock-acciones .roperia-accion-reparar button{background:#137a3c}

.roperia-stock-acciones .roperia-accion-baja>summary{border-color:#f3bfcb;background:#fff0f2;color:#b4233f}
.roperia-stock-acciones .roperia-accion-baja>summary:hover{background:#fbdfe4;border-color:#b4233f}
.roperia-stock-acciones .roperia-accion-baja[open]>summary{background:#b4233f;border-color:#b4233f;color:#fff}
.roperia-stock-acciones .roperia-accion-baja button{background:#b4233f}

html.modo-oscuro .roperia-stock-acciones .roperia-accion-reparar>summary{background:#123524;border-color:#1f6b3f;color:#8fe3ab}
html.modo-oscuro .roperia-stock-acciones .roperia-accion-reparar>summary:hover{background:#184a30;border-color:#2f8f57}
html.modo-oscuro .roperia-stock-acciones .roperia-accion-reparar[open]>summary{background:#1f6b3f;border-color:#1f6b3f;color:#fff}
html.modo-oscuro .roperia-stock-acciones .roperia-accion-baja>summary{background:#3a1420;border-color:#6e2338;color:#f3a9bb}
html.modo-oscuro .roperia-stock-acciones .roperia-accion-baja>summary:hover{background:#4d1a2a;border-color:#8a2c47}
html.modo-oscuro .roperia-stock-acciones .roperia-accion-baja[open]>summary{background:#8a2c47;border-color:#8a2c47;color:#fff}
html.modo-oscuro .roperia-stock-acciones .baja-parcial input{background:#101d32;border-color:#496183;color:#f3f6fb}
html.modo-oscuro .roperia-stock-acciones .baja-parcial label{color:#9aa8c2}
.cabecera-guardia .estado{display:inline-flex;box-sizing:border-box;align-items:center;flex:0 0 auto;white-space:nowrap}
@media(max-width:520px){.cabecera-guardia{align-items:flex-start;gap:12px}.cabecera-guardia .estado{padding:8px 13px;font-size:13px}}
.editar-dotaciones{margin-top:28px}.editar-dotaciones>h2{margin:0 0 5px;color:#172033;font-size:21px}.editar-turno{margin-top:12px;overflow:hidden;border:1px solid #dce2ea;border-radius:13px;background:#fff;box-shadow:0 4px 12px rgba(15,23,42,.035)}.editar-turno>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 18px;color:#172033;font-size:15px;font-weight:800;cursor:pointer;list-style:none}.editar-turno>summary::-webkit-details-marker{display:none}.editar-turno>summary:after{content:'+';color:#c40942;font-size:22px;font-weight:400}.editar-turno[open]>summary{border-bottom:1px solid #e6eaf0;background:#fff7f9}.editar-turno[open]>summary:after{content:'−'}.editar-turno summary small{color:#717b89;font-size:11px;font-weight:700}.editar-turno-contenido{padding:16px 18px 18px}.agregar-persona-semana{display:flex;gap:9px;align-items:center;margin-top:14px;padding:12px;border-radius:9px;background:#f6f8fb}.agregar-persona-semana select{min-width:0;flex:1;padding:9px;border:1px solid #d3dae4;border-radius:8px;background:#fff;font:inherit}.agregar-persona-semana button{white-space:nowrap}@media(max-width:700px){.editar-turno-contenido{padding:12px}.agregar-persona-semana{align-items:stretch;flex-direction:column}.agregar-persona-semana button{width:100%}.editar-turno>summary{padding:14px}.editar-turno summary small{display:none}}
.grupo-inventario td{padding:10px 16px!important;background:#111a2d!important;color:#fff!important;font-size:12px!important;letter-spacing:.04em;text-transform:uppercase}.variante-insumo{padding-left:34px!important}.variante-insumo strong:before{content:'↳ ';color:#c40942}
.sanidad-pagina .materiales-resumen{margin-top:28px}.sanidad-tabla{margin-top:28px;overflow:hidden;border:1px solid #e1e6ed;border-radius:15px;background:#fff;box-shadow:0 6px 18px rgba(15,23,42,.035)}.sanidad-tabla .tabla{margin:0;border:0;border-radius:0}.sanidad-tabla .tabla thead th{padding:15px 17px;background:#f4f6f9;color:#52617a;font-size:12px}.sanidad-tabla .tabla tbody>tr:not(.grupo-inventario):hover{background:#fff9fa}.sanidad-tabla .tabla td{padding:17px}.sanidad-tabla .inventario-acciones{min-width:145px}.sanidad-tabla .inventario-acciones>a{display:inline-block;margin-bottom:7px;color:#243a77;font-weight:700}.sanidad-tabla .baja-parcial summary{color:#c40942}
.sanidad-head .boton-secundario{display:inline-flex;min-height:43px;align-items:center;justify-content:center;padding:9px 18px;border:1px solid #6f7784;border-radius:9px;background:#fff;color:#202735;font-weight:700;text-decoration:none}.sanidad-resumen{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0}.sanidad-resumen>div{min-height:88px;padding:16px;border-top:3px solid #cf0b3e;border-radius:12px;background:#fff;box-shadow:0 5px 14px rgba(15,23,42,.05)}.sanidad-resumen>div:nth-child(2){border-top-color:#b8bcc6}.sanidad-resumen span,.sanidad-card small{display:block;color:#172033;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.sanidad-resumen strong{display:block;margin-top:7px;color:#111827;font-size:29px;letter-spacing:-.05em}.sanidad-resumen-alerta strong{color:#c40942}.sanidad-filtros{margin-bottom:18px;padding:13px}.sanidad-filtros input{padding-left:18px!important}.sanidad-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.sanidad-card{display:flex;min-height:205px;flex-direction:column;padding:15px;border:1px solid #bac0ca;border-radius:12px;background:#fff;box-shadow:0 4px 10px rgba(15,23,42,.03)}.sanidad-card-bajo{border:2px solid #e9abb8}.sanidad-card header{display:flex;align-items:flex-start;justify-content:space-between}.sanidad-card-icono{display:grid;width:42px;height:42px;place-items:center;border-radius:8px;background:#f7e4ea;color:#c40942;font-size:22px;font-weight:700}.sanidad-card header>div{text-align:right}.sanidad-card header strong{display:block;margin-top:2px;font-size:23px}.sanidad-card-bajo header small{color:#c40942}.sanidad-card h2{margin:13px 0 3px;color:#151923;font-size:16px;font-weight:600}.sanidad-nombre-base{margin:0;color:#6c7480;font-size:12px}.sanidad-ubicacion{margin:6px 0;color:#48515e;font-size:13px}.sanidad-categoria{margin:0;color:#c40942;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.sanidad-card footer{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto;padding-top:11px;border-top:1px solid #bfc4cc}.sanidad-card footer>a,.sanidad-consumo>summary{display:flex;min-height:35px;align-items:center;justify-content:center;flex:1;white-space:nowrap;border:1px solid #4c5562;border-radius:7px;color:#252b35;font-size:13px;text-decoration:none;cursor:pointer;list-style:none}.sanidad-card footer>a,.sanidad-consumo,.sanidad-card footer>form{min-width:90px}.sanidad-consumo{display:flex;flex:1}.sanidad-consumo>summary{border:0;background:#c40942;color:#fff}.sanidad-consumo>summary::-webkit-details-marker{display:none}.sanidad-consumo[open]{display:block;position:absolute;z-index:4;align-self:flex-end;width:240px;margin-bottom:41px;padding:10px;border:1px solid #e4b8c3;border-radius:9px;background:#fff;box-shadow:0 12px 26px rgba(15,23,42,.16)}.sanidad-consumo[open]>summary{min-height:0;justify-content:flex-start;background:transparent;color:#c40942;font-size:12px}.sanidad-consumo form{display:grid;gap:7px;margin-top:8px}.sanidad-consumo input,.sanidad-consumo textarea{width:100%;padding:7px;border:1px solid #d3d9e1;border-radius:7px;font:inherit}.sanidad-consumo textarea{min-height:62px}.sanidad-consumo button{border:0;border-radius:7px;padding:8px;background:#c40942;color:#fff;font-weight:800}.sanidad-card footer>form{display:flex;flex:1}.sanidad-card footer>form .boton-peligro{flex:1;border:0;border-radius:7px;background:#c40942;color:#fff;font-size:13px;font-weight:700;cursor:pointer}.sanidad-card footer>form .boton-peligro:hover{background:#a80937}@media(max-width:800px){.sanidad-resumen{grid-template-columns:1fr;gap:13px;margin:24px 0}.sanidad-cards{grid-template-columns:1fr;gap:14px}.sanidad-head .acciones{display:grid}.sanidad-head .boton-secundario{width:100%}}
.sanidad-resumen{gap:12px;margin:18px 0}.sanidad-resumen>div{min-height:72px;padding:12px}.sanidad-resumen strong{margin-top:3px;font-size:25px}.sanidad-filtros{margin-bottom:13px;padding:10px}.sanidad-cards{grid-template-columns:repeat(auto-fill,minmax(195px,1fr));gap:12px}.sanidad-card{min-height:172px;padding:12px;border-radius:10px}.sanidad-card-icono{width:35px;height:35px;font-size:18px}.sanidad-card header strong{font-size:20px}.sanidad-card h2{margin:9px 0 2px;font-size:15px}.sanidad-ubicacion{margin:4px 0;font-size:12px}.sanidad-card footer{gap:6px;padding-top:8px}.sanidad-card footer>a,.sanidad-consumo>summary{min-height:31px;font-size:12px}
.sanidad-grupos{display:grid;gap:12px}.sanidad-grupo{overflow:hidden;border:1px solid #d8dde5;border-radius:11px;background:#fff;box-shadow:0 4px 11px rgba(15,23,42,.03)}.sanidad-grupo>summary{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;background:#111a2d;color:#fff;cursor:pointer;list-style:none;font-size:14px;font-weight:800}.sanidad-grupo>summary::-webkit-details-marker{display:none}.sanidad-grupo>summary:after{margin-left:10px;content:'⌄';font-size:15px}.sanidad-grupo:not([open])>summary:after{transform:rotate(-90deg)}.sanidad-grupo>summary small{color:#c8d0df;font-size:11px;font-weight:700}.sanidad-grupo .sanidad-cards{padding:12px}.sanidad-elegir-sector{margin-top:24px;padding:42px 24px;border:2px dashed #cbd2dc;border-radius:14px;background:#fff;text-align:center}.sanidad-elegir-sector span{display:inline-grid;width:42px;height:42px;place-items:center;border-radius:50%;background:#f7e4ea;color:#c40942;font-size:21px}.sanidad-elegir-sector h2{margin:12px 0 5px;font-size:19px}.sanidad-elegir-sector p{max-width:420px;margin:0 auto;color:#687181;font-size:14px}
.sanidad-sectores{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:20px 0}.sanidad-sector{display:grid;min-height:104px;grid-template-columns:42px 1fr;grid-template-rows:1fr 1fr;column-gap:10px;align-items:center;padding:13px;border:1px solid #d8dde5;border-radius:11px;background:#fff;color:#172033;text-decoration:none;box-shadow:0 4px 11px rgba(15,23,42,.03);transition:.18s}.sanidad-sector:hover,.sanidad-sector.activo{border-color:#c40942;background:#fff8fa;box-shadow:0 8px 18px rgba(196,9,66,.1)}.sanidad-sector span{display:grid;grid-row:1 / 3;width:42px;height:42px;place-items:center;border-radius:9px;background:#f7e4ea;font-size:19px}.sanidad-sector strong{align-self:end;font-size:14px}.sanidad-sector small{align-self:start;color:#c40942;font-size:11px;font-weight:800}.sanidad-filtros .boton-secundario{display:inline-flex;min-height:43px;align-items:center;justify-content:center;padding:9px 13px;border:1px solid #69717e;border-radius:7px;background:#fff;color:#273043;text-decoration:none;font-size:13px;font-weight:700}
.sanidad-estadisticas{margin-top:26px;padding:19px;border:1px solid #dde2e9;border-radius:14px;background:#fff;box-shadow:0 5px 15px rgba(15,23,42,.035)}.sanidad-estadisticas>header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:15px}.sanidad-estadisticas header span{display:block;margin-bottom:4px;color:#c40942;font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.sanidad-estadisticas h2{margin:0;color:#172033;font-size:19px}.sanidad-estadisticas p{margin:4px 0 0;color:#687181;font-size:13px}.sanidad-periodos{display:flex;overflow:hidden;border:1px solid #d3d9e1;border-radius:8px}.sanidad-periodos a{padding:8px 13px;color:#556070;font-size:12px;font-weight:800;text-decoration:none}.sanidad-periodos a+a{border-left:1px solid #d3d9e1}.sanidad-periodos a.activo{background:#111a2d;color:#fff}.sanidad-ranking{display:grid;grid-template-columns:repeat(auto-fit,minmax(225px,1fr));gap:10px}.sanidad-ranking-item{display:grid;grid-template-columns:27px minmax(0,1fr) auto;gap:9px;align-items:center;padding:11px;border:1px solid #e5e8ed;border-radius:9px;background:#fbfcfd}.sanidad-ranking-posicion{display:grid;width:27px;height:27px;place-items:center;border-radius:7px;background:#f7e4ea;color:#c40942;font-size:12px;font-weight:800}.sanidad-ranking-info{min-width:0}.sanidad-ranking-info strong,.sanidad-ranking-info small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sanidad-ranking-info strong{color:#202735;font-size:13px}.sanidad-ranking-info small{margin-top:2px;color:#737c89;font-size:10px}.sanidad-ranking-info i{display:block;height:4px;margin-top:7px;overflow:hidden;border-radius:999px;background:#e8ecf1}.sanidad-ranking-info i b{display:block;height:100%;border-radius:inherit;background:#c40942}.sanidad-ranking-cantidad{color:#172033;font-size:17px;text-align:right}.sanidad-ranking-cantidad small{display:block;color:#737c89;font-size:9px;font-weight:700;text-transform:uppercase}.sanidad-estadisticas-vacias{margin:0!important;padding:13px;border:1px dashed #d6dbe3;border-radius:9px;background:#fafbfd;text-align:center}@media(max-width:600px){.sanidad-estadisticas{padding:15px}.sanidad-estadisticas>header{align-items:flex-start;flex-direction:column}.sanidad-ranking{grid-template-columns:1fr}.sanidad-periodos{width:100%}.sanidad-periodos a{flex:1;text-align:center}}
.sanidad-alertas-resumen{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:24px}.sanidad-alertas-resumen article{display:flex;gap:11px;align-items:center;min-height:78px;padding:13px 15px;border-top:3px solid #c40942;border-radius:11px;background:#fff;box-shadow:0 4px 12px rgba(15,23,42,.04)}.sanidad-alertas-resumen article>span{display:grid;width:34px;height:34px;place-items:center;border-radius:8px;background:#f7e4ea;color:#c40942;font-size:18px;font-weight:800}.sanidad-alertas-resumen small,.sanidad-alertas-resumen strong,.sanidad-alertas-resumen em{display:block}.sanidad-alertas-resumen small{color:#657080;font-size:10px;font-weight:800;letter-spacing:.055em;text-transform:uppercase}.sanidad-alertas-resumen strong{margin:1px 0;color:#172033;font-size:24px;line-height:1}.sanidad-alertas-resumen em{color:#747e8c;font-size:10px;font-style:normal}.sanidad-alertas-resumen .alerta-bajo{border-top-color:#e89b21}.sanidad-alertas-resumen .alerta-bajo>span{background:#fff3dc;color:#b86e00}.sanidad-alertas-resumen .alerta-reponer{border-top-color:#5b6576}.sanidad-alertas-resumen .alerta-reponer>span{background:#eef1f5;color:#3f4a5b}.sanidad-alertas-item{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0 0}.sanidad-alertas-item form{margin:0}.sanidad-alertas-item button{border:1px solid #d6dbe3;border-radius:6px;padding:4px 6px;background:#fff;color:#697482;font:800 10px inherit;cursor:pointer}.sanidad-alertas-item button:hover{border-color:#c40942;color:#c40942}.sanidad-alertas-item button.activo{border-color:#c40942;background:#fff0f3;color:#c40942}@media(max-width:800px){.sanidad-alertas-resumen{grid-template-columns:1fr;gap:9px}.sanidad-alertas-resumen article{min-height:65px}}
.sanidad-vistas-alertas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:21px 0}.sanidad-vistas-alertas a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border:1px solid #d9dfe7;border-radius:10px;background:#fff;color:#202735;text-decoration:none;box-shadow:0 3px 10px rgba(15,23,42,.025)}.sanidad-vistas-alertas a:hover,.sanidad-vistas-alertas a.activo{border-color:#c40942;background:#fff7f9}.sanidad-vistas-alertas strong{font-size:13px}.sanidad-vistas-alertas span{color:#737d8c;font-size:11px;font-weight:700;white-space:nowrap}.sanidad-vistas-alertas a.activo strong{color:#c40942}.sanidad-gestionar-alertas{margin-top:9px}.sanidad-gestionar-alertas summary{color:#677383;font-size:10px;font-weight:800;cursor:pointer;list-style:none}.sanidad-gestionar-alertas summary::-webkit-details-marker{display:none}.sanidad-gestionar-alertas summary:after{content:' ▾'}.sanidad-gestionar-alertas[open] summary{color:#c40942}.sanidad-gestionar-alertas>div{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.sanidad-gestionar-alertas form{margin:0}.sanidad-gestionar-alertas button{border:1px solid #d6dbe3;border-radius:6px;padding:4px 6px;background:#fff;color:#697482;font:800 10px inherit;cursor:pointer}.sanidad-gestionar-alertas button:hover,.sanidad-gestionar-alertas button.activo{border-color:#c40942;background:#fff0f3;color:#c40942}.sanidad-resultados-alerta{margin-top:24px;padding:18px;border:1px solid #dde2e9;border-radius:14px;background:#fff;box-shadow:0 5px 15px rgba(15,23,42,.035)}.sanidad-resultados-alerta>header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px}.sanidad-resultados-alerta header span{display:block;margin-bottom:4px;color:#c40942;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.sanidad-resultados-alerta h2{margin:0;color:#172033;font-size:18px}@media(max-width:800px){.sanidad-vistas-alertas{grid-template-columns:1fr}.sanidad-resultados-alerta>header{align-items:flex-start;flex-direction:column}}
.sanidad-elegir-sector{margin-top:16px;padding:18px 24px;min-height:0}.sanidad-elegir-sector h2{margin:3px 0 4px;font-size:17px}.sanidad-elegir-sector p{font-size:13px}
.documentos-firma-resumen{margin:20px 0;padding:18px;border:1px solid #dce1e8;border-radius:14px;background:#fff;box-shadow:0 4px 12px rgba(15,23,42,.04)}.documentos-firma-titulo{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:13px}.documentos-firma-titulo h2{margin:0;color:#172033;font-size:18px}.documentos-firma-titulo p{margin:0;color:#707987;font-size:12px}.documento-pendiente-firma{margin:22px 0;padding:19px;border:1px solid #f0c9d5;border-left:4px solid #c40942;border-radius:12px;background:#fff8fa}.documento-pendiente-firma h2{margin:0 0 6px;font-size:19px}.documento-pendiente-firma p{margin:0 0 13px;color:#5e6877}.documento-firma-form{max-width:760px}.documento-firma-form select{width:100%;min-height:210px}.documento-firma-form .campo{margin-bottom:17px}@media(max-width:700px){.documentos-firma-titulo{align-items:flex-start;flex-direction:column}}
.configuracion-grid{display:grid;gap:18px}.configuracion-seccion{padding:22px;border:1px solid var(--cmd-line);border-radius:15px;background:#fff;box-shadow:var(--cmd-shadow)}.configuracion-seccion>header{display:flex;gap:11px;align-items:flex-start;margin-bottom:18px}.configuracion-seccion>header>span{display:grid;flex:0 0 34px;width:34px;height:34px;place-items:center;border-radius:9px;background:#e8edfa;color:#1f3d76;font-weight:800}.configuracion-seccion h2{margin:0;color:#172033;font-size:17px}.configuracion-seccion header p{margin:3px 0 0;color:#687181;font-size:13px}.configuracion-seccion h3{margin:20px 0 11px;color:#4a5362;font-size:12px;text-transform:uppercase}.configuracion-campos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.configuracion-campos-tres{grid-template-columns:repeat(3,minmax(0,1fr))}.campo-check{display:flex;align-items:end}.campo-check label{padding:11px 0;font-weight:700!important}.campo-check input{width:auto!important;margin-right:7px}.tipos-ingreso-lista{display:grid;gap:8px}.tipos-ingreso-lista>div{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #e5e8ee;border-radius:9px}.tipos-ingreso-lista strong{margin-right:auto}.tipos-ingreso-lista form{margin:0}.tipos-ingreso-lista button,.nuevo-tipo-ingreso button{padding:7px 10px!important;font-size:12px}.nuevo-tipo-ingreso{display:flex;gap:9px;margin-top:14px}.nuevo-tipo-ingreso input{flex:1;padding:9px}.configuracion-accesos .boton-secundario{display:inline-flex;padding:9px 12px;text-decoration:none}@media(max-width:700px){.configuracion-campos,.configuracion-campos-tres{grid-template-columns:1fr}.tipos-ingreso-lista>div{flex-wrap:wrap}.tipos-ingreso-lista strong{min-width:45%}.nuevo-tipo-ingreso{flex-direction:column}}
.editar-tipo-ingreso{display:flex!important;flex:1;gap:7px}.editar-tipo-ingreso input{min-width:0;flex:1;padding:7px 9px}

/* Navegación PWA: menú lateral cómodo para pantallas táctiles. */
.fondo-menu-movil{display:none}
@media(max-width:768px){
    body.menu-movil-abierto{overflow:hidden}
    .contenedor{display:block;min-height:100dvh}
    .boton-menu-movil{position:fixed;z-index:80;top:12px;left:12px;display:grid;width:44px;height:44px;place-items:center;padding:0;border:1px solid #d9dee7;border-radius:12px;background:#fff;color:#111a2d;box-shadow:0 8px 20px rgba(15,23,42,.16)}
    .boton-menu-movil svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
    .boton-menu-movil span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
    .menu-movil-abierto .boton-menu-movil{left:auto;right:12px;border-color:#c40942;background:#c40942;color:#fff}
    .menu-movil-abierto .boton-menu-movil svg{display:none}
    .menu-movil-abierto .boton-menu-movil:before{content:'×';font-size:31px;font-weight:300;line-height:1}
    .fondo-menu-movil{position:fixed;z-index:69;inset:0;display:block;visibility:hidden;background:rgba(8,15,29,.58);opacity:0;transition:opacity .22s ease,visibility .22s ease}
    .menu-movil-abierto .fondo-menu-movil{visibility:visible;opacity:1}
    .sidebar{position:fixed;z-index:70;top:0;bottom:0;left:0;display:flex!important;width:min(286px,84vw);min-width:0;height:100dvh;padding:24px 16px 18px;overflow-y:auto;transform:translateX(-104%);transition:transform .24s ease;box-shadow:14px 0 34px rgba(5,10,20,.28)}
    .sidebar.abierta{transform:translateX(0)}
    .sidebar .logo{margin:0 8px 22px}
    .sidebar .logo img{width:60px;height:60px;object-fit:contain}
    .sidebar .nav-iconos{flex:1;padding:0}
    .sidebar .nav-iconos li a{min-height:48px;padding:12px 13px;font-size:15px}
    .sidebar .usuario-actual{margin:22px 8px 9px;padding:14px 0 0}
    .sidebar .form-logout{margin:0 8px}
    .contenido{padding:76px 16px 26px}
    .barra-utilidades{position:absolute;z-index:60;top:12px;right:12px;margin:0!important}
    body.vista-inicio .barra-utilidades,body.vista-automotores .barra-utilidades{position:fixed!important;z-index:60;top:12px;right:12px;margin:0!important;padding:0!important;background:transparent!important}
    .menu-notificaciones summary{width:44px;height:44px}
    .panel-notificaciones{position:fixed;top:66px;right:12px;width:min(390px,calc(100vw - 24px));max-height:calc(100dvh - 80px)}
    .lista-notificaciones{max-height:calc(100dvh - 155px)}
}

/* Foto personal y acceso al perfil propio. */
.usuario-actual{display:flex;align-items:center;gap:9px;text-decoration:none}.usuario-actual:hover{opacity:.86}.usuario-actual img{width:33px;height:33px;border:2px solid rgba(255,255,255,.65);border-radius:50%;object-fit:cover}.usuario-actual p{margin:0}.avatar-con-foto{object-fit:cover}.perfil-foto-form{display:grid;justify-items:start;gap:15px;max-width:460px}.perfil-foto-form label{display:grid;gap:7px;color:#273043;font-weight:800}.perfil-foto-actual{display:grid;width:112px;height:112px;place-items:center;border:3px solid #fff;border-radius:50%;object-fit:cover;box-shadow:0 5px 16px rgba(15,23,42,.18)}
.perfil-firma{width:100%;display:grid;gap:8px;padding:14px;border:1px solid #dce5ef;border-radius:12px;background:#fbfcfe}.perfil-firma>strong{color:#273043}.perfil-firma-cargada{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:9px;background:#ecf8f0;color:#137343}.perfil-firma-cargada img{width:110px;height:45px;object-fit:contain;mix-blend-mode:multiply;background:#fff;border:1px solid #d8e9dd;border-radius:6px}.perfil-firma-cargada div{display:grid;gap:2px}.perfil-firma-cargada small,.perfil-firma>small{color:#64748b;font-weight:400}

/* Configuración: panel operativo compacto */
.config-page-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.config-page-head h1{margin:0;color:#111827;font-size:31px;letter-spacing:-.04em}.config-page-head p{max-width:720px;margin:6px 0 0;color:#4d5563;font-size:15px;line-height:1.45}.config-page-head .boton-principal{min-width:215px;padding:13px 18px}.configuracion-panel{margin:0}.configuracion-layout{display:grid;grid-template-columns:1.75fr .85fr;gap:20px}.config-card{overflow:hidden;border:1px solid #e5e8ee;border-radius:15px;background:#fff;box-shadow:0 5px 18px rgba(15,23,42,.055)}.config-card>header{display:flex;align-items:center;gap:10px;min-height:68px;padding:0 22px;border-bottom:1px solid #e9edf1}.config-card>header>span{color:#c40942;font-size:23px;line-height:1}.config-card>header h2{margin:0;color:#171c25;font-size:18px}.institucion-contenido{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:26px;padding:22px}.configuracion-campos{display:grid;grid-template-columns:1fr;gap:13px}.configuracion-campos .campo label,.objetivos-cuerpo label,.campo-unidad label{display:block;margin:0 0 6px;color:#414956;font-size:11px;font-weight:800;letter-spacing:.055em;text-transform:uppercase}.configuracion-campos .campo input,.campo-unidad input{width:100%;min-height:43px;padding:9px 12px;background:#f4f5f7!important}.carga-logo{display:flex;min-height:205px;align-items:center;justify-content:center;flex-direction:column;gap:7px;padding:18px;border:2px dashed #c6cad4;border-radius:12px;color:#252b35;text-align:center;cursor:pointer}.carga-logo:hover{border-color:#c40942;background:#fff9fa}.carga-logo img{width:76px;height:76px;object-fit:contain;border-radius:50%}.carga-logo-icono{display:grid;width:70px;height:70px;place-items:center;border:1px solid #c6cad4;border-radius:50%;color:#87909e;font-size:28px}.carga-logo strong{font-size:13px}.carga-logo small{max-width:210px;color:#69717e;font-size:11px}.carga-logo input{position:absolute;width:1px;height:1px;opacity:0}.config-guardias{padding-bottom:20px}.config-guardias .configuracion-campos{padding:20px 20px 8px}.config-dos-campos{grid-template-columns:1fr}.campo-unidad{position:relative}.campo-unidad i{position:absolute;right:13px;bottom:13px;color:#8b929d;font-size:12px;font-style:normal}.campo-unidad input{padding-right:62px!important}.interruptor-config{display:flex;align-items:center;gap:11px;margin:10px 20px 0;padding:14px 13px;border:1px solid #e2e5ea;border-radius:9px;background:#f4f5f7;cursor:pointer}.interruptor-config input{appearance:none;width:39px!important;height:22px;flex:0 0 39px;margin:0;border:0!important;border-radius:20px!important;background:#b4bac4!important;cursor:pointer;transition:.2s}.interruptor-config input:checked{background:#c40942!important}.interruptor-config input:before{content:'';display:block;width:17px;height:17px;margin:2.5px;border-radius:50%;background:#fff;transition:.2s}.interruptor-config input:checked:before{transform:translateX(17px)}.interruptor-config strong,.interruptor-config small{display:block}.interruptor-config strong{font-size:12px}.interruptor-config small{margin-top:2px;color:#6f7784;font-size:10px}.config-objetivos{padding-bottom:21px}.config-objetivos>header,.config-partes>header{margin-bottom:20px}.objetivos-cuerpo{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:0 21px}.objetivos-cuerpo>div{padding:12px;border:1px solid #e3e6eb;border-radius:11px;background:#f4f5f7}.objetivos-cuerpo em{display:inline-block;margin-bottom:18px;padding:4px 7px;border-radius:5px;background:#ffe2e8;color:#c40942;font-size:9px;font-style:normal;font-weight:800}.objetivos-cuerpo>div:nth-child(2) em{background:#e0ebff;color:#2764ba}.objetivos-cuerpo>div:nth-child(3) em{background:#e6e8ec;color:#555d69}.objetivos-cuerpo input{width:100%;height:42px;margin-top:10px;border:1px solid #c8ced8!important;border-radius:8px!important;background:#fff!important;font-size:18px;font-weight:800;text-align:center}.config-nota{margin:20px 21px 0;padding:12px 14px;border-radius:8px;background:#fff1f4;color:#5e5760;font-size:11px;line-height:1.4}.config-partes{padding-bottom:22px}.config-partes .campo{padding:0 22px}.config-partes p{margin:13px 22px 0;color:#626a77;font-size:12px;font-style:italic;line-height:1.45}.config-tipos{margin-top:20px}.config-tipos>header{justify-content:flex-start}.config-tipos>header .nuevo-tipo-ingreso{margin-left:auto}.nuevo-tipo-ingreso{display:flex;gap:8px}.nuevo-tipo-ingreso input{width:130px;padding:7px 9px}.nuevo-tipo-ingreso button,.editar-tipo-ingreso button{border:0;background:transparent;color:#c40942;font-size:12px;font-weight:800;cursor:pointer}.tabla-tipos{width:100%;border:0!important;border-radius:0!important}.tabla-tipos code{color:#69717e;font-size:11px}.tabla-tipos .editar-tipo-ingreso{max-width:250px}.tabla-tipos .editar-tipo-ingreso input{border:0!important;background:transparent!important;font-weight:700}.tabla-tipos .accion-texto{border:0;background:transparent;color:#202632;font:700 12px inherit;cursor:pointer}.config-footer{display:flex;align-items:center;justify-content:space-between;margin-top:28px;padding:22px 0;border-top:1px solid #d9dde4;color:#69717e;font-size:12px}.config-footer .boton-principal{padding:12px 21px}@media(max-width:1050px){.configuracion-layout{grid-template-columns:1fr}.configuracion-campos{grid-template-columns:1fr 1fr}.config-dos-campos{grid-template-columns:1fr 1fr}}@media(max-width:700px){.config-page-head,.config-footer{align-items:stretch;flex-direction:column}.config-page-head .boton-principal{width:100%}.institucion-contenido{grid-template-columns:1fr}.configuracion-campos,.config-dos-campos{grid-template-columns:1fr}.objetivos-cuerpo{grid-template-columns:1fr}.config-tipos>header{align-items:flex-start;flex-wrap:wrap;padding:15px}.config-tipos>header .nuevo-tipo-ingreso{width:100%;margin:0}.nuevo-tipo-ingreso input{width:auto;flex:1}.tabla-tipos{min-width:650px}.config-footer .boton-principal{width:100%}}

/* Meta semanal opcional por cuerpo. */
.objetivos-cuerpo>div small{display:block;margin-top:12px;color:#69717e;font-size:10px;font-weight:700}.objetivos-cuerpo input{margin-top:5px}.objetivos-cuerpo input[placeholder]{height:34px;font-size:14px}

/* Automotores: seguimiento semanal de controles por guardia. */
.automotores-semanal{margin-top:22px;overflow:hidden;border:1px solid rgba(255,255,255,.22);border-radius:14px;background:rgba(255,255,255,.96);box-shadow:0 8px 24px rgba(0,0,0,.16);backdrop-filter:blur(4px)}
.automotores-semanal>header{padding:17px 20px 14px;border-bottom:1px solid #e4e8ee}.automotores-semanal>header span{display:block;margin-bottom:4px;color:#c40942;font-size:10px;font-weight:800;letter-spacing:.08em}.automotores-semanal h2{margin:0;color:#172033;font-size:18px}.automotores-semanal p{margin:4px 0 0;color:#667085;font-size:12px}.tabla-automotores-semanal{margin:0;border:0;border-radius:0}.tabla-automotores-semanal th{background:#f2f4f7;color:#596274;font-size:10px}.tabla-automotores-semanal td{font-size:13px}.estado-control{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.03em;text-transform:uppercase}.estado-control-ok{background:#e4f7eb;color:#147441}.estado-control-pendiente{background:#fff1d5;color:#9c6300}.movil-control{font-weight:700}.texto-suave{color:#7a8492}@media(max-width:700px){.automotores-semanal>header{padding:15px}.tabla-automotores-semanal{min-width:690px}.tabla-automotores-semanal th,.tabla-automotores-semanal td{padding:10px 9px;font-size:11px}}
.automotores-incumplimientos{margin-top:22px;padding:18px;border:1px solid rgba(255,255,255,.22);border-radius:14px;background:rgba(255,255,255,.96);box-shadow:0 8px 24px rgba(0,0,0,.16);backdrop-filter:blur(4px)}.automotores-incumplimientos>header>span{display:block;margin-bottom:4px;color:#c40942;font-size:10px;font-weight:800;letter-spacing:.08em}.automotores-incumplimientos h2{margin:0;color:#172033;font-size:18px}.automotores-incumplimientos>header>p{margin:4px 0 17px;color:#667085;font-size:12px}.automotores-incumplimientos-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.automotores-incumplimientos-grid>article{padding:14px;border:1px solid #e3e7ed;border-radius:11px;background:#fbfcfd}.automotores-incumplimientos h3{margin:0;color:#202735;font-size:14px}.automotores-incumplimientos-grid>article>p{margin:4px 0 11px;color:#6e7886;font-size:11px}.ranking-controles{display:grid;gap:7px;margin:0;padding:0;list-style:none}.ranking-controles li{display:grid;grid-template-columns:25px minmax(0,1fr) auto;column-gap:8px;align-items:center;padding:8px;border:1px solid #e7eaef;border-radius:8px;background:#fff}.ranking-posicion{display:grid;width:25px;height:25px;place-items:center;border-radius:7px;background:#f7e4ea;color:#c40942;font-size:11px;font-weight:800}.ranking-controles strong,.ranking-controles small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ranking-controles strong{color:#263043;font-size:12px}.ranking-controles small{margin-top:2px;color:#75808e;font-size:10px}.ranking-controles b{color:#c40942;font-size:18px;text-align:right;line-height:1}.ranking-controles em{grid-column:3;color:#9b6672;font-size:9px;font-style:normal;font-weight:700;text-align:right}.ranking-controles .ranking-vacio{display:block;color:#727c89;font-size:11px;text-align:center}@media(max-width:800px){.automotores-incumplimientos{padding:15px}.automotores-incumplimientos-grid{grid-template-columns:1fr}}
.automotores-aviso-bloqueado{margin:14px 22px 0;border-left:4px solid #c40942;background:#fff5f7;color:#6a2639}.automotores-campos-bloqueados{display:contents}.automotores-campos-bloqueados .automotor-linea{opacity:.62;filter:grayscale(.12)}.automotores-campos-bloqueados select,.automotores-campos-bloqueados textarea{cursor:not-allowed}.automotores-acceso-control{display:inline-flex;align-items:center;min-height:42px;white-space:nowrap;text-decoration:none}
.automotor-control-extra>div{display:grid;grid-template-columns:minmax(150px,260px) minmax(0,1fr);gap:8px}.automotor-control-extra textarea{min-height:38px;padding:8px 10px;resize:vertical}.automotor-nivel-variacion{display:flex;gap:6px;align-items:stretch}.pagina-formulario-automotores{max-width:1120px}.formulario-control-automotor{display:grid;grid-template-columns:1fr 1.5fr auto auto;gap:12px;align-items:end}.formulario-control-automotor label{display:grid;gap:6px;color:#263043;font-size:12px;font-weight:800}.formulario-control-automotor input:not([type=checkbox]){min-height:42px;padding:9px 11px}.formulario-control-automotor .control-observacion{display:flex;align-items:center;min-height:42px;gap:7px;font-size:11px}.formulario-control-automotor .control-observacion input{width:auto}.formulario-control-existente{padding:14px 0;border-top:1px solid #e4e8ee}.formulario-control-existente:first-of-type{border-top:0}.boton-texto-peligro{border:0;background:transparent;color:#c40942;font:800 12px inherit;cursor:pointer}@media(max-width:800px){.formulario-control-automotor{grid-template-columns:1fr}.automotor-control-extra>div{grid-template-columns:1fr}.pagina-formulario-automotores .encabezado-modulo{gap:12px}.pagina-formulario-automotores .boton-secundario{width:100%;text-align:center}}
.automotores-opciones-lectura{margin:0 22px 22px;padding:15px;border:1px solid #dde3eb;border-radius:11px;background:rgba(255,255,255,.94)}.automotores-opciones-lectura h3{margin:0;color:#202735;font-size:14px}.automotores-opciones-lectura>p{margin:4px 0 12px;color:#6b7583;font-size:11px}.opciones-lectura-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:9px}.opciones-lectura-grid article{display:flex;flex-wrap:wrap;gap:5px;align-content:flex-start;padding:10px;border:1px solid #e6eaf0;border-radius:8px;background:#fbfcfd}.opciones-lectura-grid strong{width:100%;margin-bottom:2px;color:#273043;font-size:12px}.opciones-lectura-grid span{padding:4px 6px;border-radius:5px;background:#edf0f4;color:#4b5666;font-size:10px;font-weight:700}.opciones-lectura-grid small{width:100%;margin-top:3px;color:#a16921;font-size:10px;font-weight:700}

/* Fondo institucional general: mantiene el contraste de las pantallas y acompaña la paleta azul del cuartel. */
body{
    background-color:#10193b;
    background-image:
        linear-gradient(120deg,rgba(9,16,48,.78),rgba(32,35,104,.58)),
        url("../img/fondo-sistema-azul.2a6bb92b1b05.png");
    background-position:center;
    background-size:cover;
    background-attachment:fixed;
}

/* Las pantallas destacadas usan el mismo fondo para que toda la aplicación mantenga una identidad visual única. */
.vista-inicio .contenido{
    background-color:#10193b;
    background-image:
        linear-gradient(120deg,rgba(9,16,48,.78),rgba(32,35,104,.58)),
        url("../img/fondo-sistema-azul.2a6bb92b1b05.png");
    background-position:center;
    background-size:cover;
    background-attachment:fixed;
}
.automotores-pantalla::before{
    background:url("../img/fondo-sistema-azul.2a6bb92b1b05.png") center/cover no-repeat;
}
.vista-inicio .barra-utilidades,
.vista-automotores .barra-utilidades{
    background:
        linear-gradient(120deg,rgba(9,16,48,.82),rgba(32,35,104,.62)),
        url("../img/fondo-sistema-azul.2a6bb92b1b05.png") center/cover no-repeat;
}

/* Lienzo institucional unificado: azul marino con trama discreta, como referencia de NPB Command. */
body,
.vista-inicio .contenido,
.automotores-pantalla{
    background-color:#081120;
    background-image:
        radial-gradient(circle,rgba(139,157,196,.24) 1px,transparent 1.15px);
    background-size:18px 18px;
    background-attachment:fixed;
}

.vista-inicio .barra-utilidades,
.vista-automotores .barra-utilidades{
    background:rgba(8,17,32,.96);
}

.automotores-pantalla::before{
    display:none;
}

.inicio-rapido::before{
    display:none;
}

.automotores-pantalla::after{
    background:linear-gradient(120deg,rgba(8,17,32,.22),rgba(12,25,48,.42));
}

/* Los encabezados de módulo son tarjetas claras: el texto conserva contraste. */
.encabezado-pagina h1,
.encabezado-modulo h1{
    color:#172033;
}

.subtitulo-pagina,
.encabezado-modulo p{
    color:#667085;
}

/* Inicio es la excepción: su cabecera se apoya directamente en el fondo oscuro. */
.inicio-rapido-head h1{ color:#fff; }
.inicio-rapido-head p{ color:#c3ccdc; }

/* Los filtros de listados se muestran sobre el lienzo institucional. */
.filtros-modulo label{ color:#d8e0ee; }

/* Guardia Actual: rótulos ubicados directamente sobre el fondo oscuro. */
.ga2-hero h1{
    color:#fff;
}

.ga2-personal-head h2{
    color:#21242a;
}

.ga2-personal-head p{
    color:#737985;
}

.ga2-vacio{
    border-color:rgba(218,227,244,.88);
    background:rgba(11,23,43,.46);
    color:#c3ccdc;
}

.ga2-vacio strong{
    color:#fff;
}

/* Fondo general claro: la identidad queda en la barra lateral y los acentos, no en el lienzo. */
body,
.vista-inicio .contenido,
.automotores-pantalla{
    background:#f6f8fb;
    background-image:none;
}

.vista-inicio .barra-utilidades,
.vista-automotores .barra-utilidades{
    background:#fff;
}

.automotores-pantalla::after{ display:none; }

/* Los filtros vuelven a emplear un rótulo oscuro sobre el fondo claro. */
.filtros-modulo label{ color:#475467; }

/* Inicio también utiliza el lienzo claro, sin fotografía ni velos oscuros. */
.inicio-rapido{
    background:#f6f8fb;
}

.inicio-rapido::before,
.inicio-rapido::after{
    display:none;
}

.inicio-rapido-head h1{ color:#172033; }
.inicio-rapido-head p{ color:#667085; }
.inicio-rapido-head>div>span{ color:#c40942; }

.vista-inicio .barra-superior{
    background:transparent;
}

/* Automotores: tarjetas claras para acompañar el fondo general. */
.automotores-pantalla .encabezado-modulo{
    border-color:#dfe4ea;
    background:linear-gradient(120deg,#fff 0%,#f7f9fc 72%,#eef2f7 100%);
    box-shadow:0 8px 22px rgba(15,23,42,.045);
}
.automotores-pantalla .encabezado-modulo h1{ color:#172033; }
.automotores-pantalla .encabezado-modulo p{ color:#667085; }
.automotores-pantalla .automotores-formulario>header{
    border-color:#dfe4ea;
    background:#fff;
    color:#172033;
    box-shadow:0 5px 16px rgba(15,23,42,.05);
}
.automotores-pantalla .automotores-formulario>header h2{ color:#172033; }
.automotores-pantalla .automotores-formulario>header p{ color:#667085; }
.automotores-pantalla .automotor-linea{
    border-color:#dfe4ea;
    background:#fff;
    box-shadow:0 5px 14px rgba(15,23,42,.05);
}
.automotores-pantalla .automotor-linea>label{ color:#263043; }

/* Protocolos: biblioteca de lectura */
.protocolos-lista{display:grid;gap:16px;margin-top:22px;}
.tarjeta-protocolo{background:#fff;border:1px solid #dfe4ea;border-radius:14px;overflow:hidden;box-shadow:0 6px 18px rgba(15,23,42,.045);}
.tarjeta-protocolo summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;cursor:pointer;color:#172033;list-style:none;}
.tarjeta-protocolo summary::-webkit-details-marker{display:none;}
.tarjeta-protocolo summary strong{font-size:1.08rem;}
.tarjeta-protocolo summary span{font-size:.84rem;color:#667085;}
.protocolos-contenido{border-top:1px solid #e8ebf0;}
.seccion-protocolo-acciones{display:flex;justify-content:flex-end;padding:0 22px 14px;}
.seccion-protocolo-acciones form{margin:0;}
.protocolo-item{display:flex;justify-content:space-between;gap:24px;padding:20px 22px;border-bottom:1px solid #edf0f4;}
.protocolo-item:last-child{border-bottom:0;}
.protocolo-item h2{margin:0 0 9px;font-size:1rem;color:#172033;}
.protocolo-texto{color:#475467;line-height:1.6;}
.protocolo-texto p{margin:0 0 10px;}
.boton-enlace{align-self:flex-start;color:#c40942;font-weight:700;text-decoration:none;}
button.boton-enlace{background:none;border:0;padding:0;font:inherit;cursor:pointer;}
@media (max-width:640px){.tarjeta-protocolo summary,.protocolo-item{padding:16px;}.protocolo-item{flex-direction:column;gap:12px;}.boton-enlace{align-self:flex-start;}}

/* Selector de modo claro / oscuro */
.barra-utilidades{gap:10px;align-items:center;}
.boton-tema{display:grid;width:42px;height:42px;place-items:center;border:1px solid var(--cmd-line,#d9dfe8);border-radius:11px;background:#fff;color:#172033;cursor:pointer;box-shadow:var(--cmd-shadow,0 4px 12px rgba(15,23,42,.08));font-size:21px;line-height:1;}
.boton-tema:hover{border-color:#c40942;color:#c40942;}

/* Botón "Instalar aplicación" */
.boton-instalar-pwa{display:flex;align-items:center;gap:8px;height:42px;padding:0 16px;border:1px solid var(--cmd-line,#d9dfe8);border-radius:11px;background:#fff;color:#172033;cursor:pointer;box-shadow:var(--cmd-shadow,0 4px 12px rgba(15,23,42,.08));font-size:14px;font-weight:800;white-space:nowrap;}
.boton-instalar-pwa[hidden]{display:none;}
.boton-instalar-pwa svg{width:19px;height:19px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.boton-instalar-pwa:hover{border-color:#c40942;color:#c40942;}
html.modo-oscuro .boton-instalar-pwa{background:#182235;color:#edf2f8;border-color:#40506a;}

.superposicion-instalar-ios{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(15,23,42,.55);}
.superposicion-instalar-ios[hidden]{display:none;}
.tarjeta-instalar-ios{position:relative;width:min(400px,100%);padding:28px 24px 24px;border-radius:16px;background:#fff;box-shadow:0 20px 45px rgba(0,0,0,.28);}
.tarjeta-instalar-ios h3{margin:0 0 14px;color:#172033;font-size:19px;}
.tarjeta-instalar-ios ol{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:12px;color:#333c4d;font-size:15px;line-height:1.5;}
.cerrar-instalar-ios{position:absolute;top:12px;right:12px;width:32px;height:32px;border:0;border-radius:8px;background:transparent;color:#5d6b82;font-size:22px;line-height:1;cursor:pointer;}
.cerrar-instalar-ios:hover{background:#f1f4f8;color:#172033;}
html.modo-oscuro .tarjeta-instalar-ios{background:#182235;box-shadow:0 20px 45px rgba(0,0,0,.5);}
html.modo-oscuro .tarjeta-instalar-ios h3{color:#f7f9fc;}
html.modo-oscuro .tarjeta-instalar-ios ol{color:#d6deea;}
html.modo-oscuro .cerrar-instalar-ios{color:#aebbd0;}
html.modo-oscuro .cerrar-instalar-ios:hover{background:#243149;color:#f7f9fc;}

@media(max-width:768px){
    .boton-instalar-pwa{width:44px;height:44px;padding:0;justify-content:center;border-radius:12px;font-size:0;}
    .boton-instalar-pwa svg{width:21px;height:21px;}
}
.icono-luna{display:none;}
html.modo-oscuro .icono-sol{display:none;}
html.modo-oscuro .icono-luna{display:inline;}
html.modo-oscuro body{background:#101827;color:#e7ecf5;}
html.modo-oscuro .contenido{background:#101827;}
html.modo-oscuro h1,html.modo-oscuro h2,html.modo-oscuro h3{color:#f7f9fc;}
html.modo-oscuro p,html.modo-oscuro label,html.modo-oscuro td,html.modo-oscuro th,html.modo-oscuro li{color:#d6deea;}
html.modo-oscuro .tarjeta,html.modo-oscuro .formulario,html.modo-oscuro .tabla-modulo,html.modo-oscuro .tabla-contenedor,html.modo-oscuro .encabezado-modulo,html.modo-oscuro .estado-vacio,html.modo-oscuro .tarjeta-protocolo,html.modo-oscuro .materiales-resumen>div,html.modo-oscuro .materiales-filtros,html.modo-oscuro .automotor-linea{background:#182235!important;border-color:#334159!important;box-shadow:0 8px 20px rgba(0,0,0,.2);}
html.modo-oscuro .encabezado-modulo p,html.modo-oscuro .tarjeta p,html.modo-oscuro .protocolo-texto,html.modo-oscuro .mensaje-vacio{color:#aebbd0;}
html.modo-oscuro input,html.modo-oscuro select,html.modo-oscuro textarea{background:#101827!important;color:#eef2f7!important;border-color:#45546d!important;}
html.modo-oscuro input::placeholder,html.modo-oscuro textarea::placeholder{color:#8c9ab0;}
html.modo-oscuro table thead,html.modo-oscuro table th,html.modo-oscuro .tabla-modulo thead{background:#243149!important;color:#f7f9fc!important;}
html.modo-oscuro table tr,html.modo-oscuro table td{background:#182235!important;border-color:#334159!important;}
html.modo-oscuro .tabla{background-color:#182235!important;background-image:linear-gradient(to right, rgba(255,255,255,.16), rgba(255,255,255,0))!important;background-repeat:no-repeat!important;background-size:22px 100%!important;background-position:100% 0!important;scrollbar-color:#e0466f #243149;}
html.modo-oscuro .tabla::-webkit-scrollbar-track{background:#243149;}
html.modo-oscuro .tabla::-webkit-scrollbar-thumb{background:#e0466f;}
html.modo-oscuro .panel-notificaciones,html.modo-oscuro .menu-notificaciones summary,html.modo-oscuro .boton-tema{background:#182235;color:#edf2f8;border-color:#40506a;}
html.modo-oscuro .notificacion-item{background:#182235;color:#eef2f7;border-color:#334159;}
html.modo-oscuro .notificacion-item:hover,html.modo-oscuro .notificacion-item.no-leida{background:#243149;}
html.modo-oscuro .barra-utilidades{background:transparent!important;}

/* Modo oscuro: azul liso institucional. */
html.modo-oscuro body,html.modo-oscuro .contenido{background:#0b1e3b!important;}
html.modo-oscuro .contenedor{background:#0b1e3b;}

/* Insumos: contraste específico en modo oscuro. */
html.modo-oscuro .insumos-pago,
html.modo-oscuro .panel-resumen,
html.modo-oscuro .historial-aportes-personal{background:#182b4a!important;border-color:#3c5273!important;box-shadow:0 8px 20px rgba(0,0,0,.22);}
html.modo-oscuro .insumos-pago h2,
html.modo-oscuro .historial-aportes-personal h2{color:#f5f8fc!important;}
html.modo-oscuro .insumos-pago p,
html.modo-oscuro .historial-aportes-personal p,
html.modo-oscuro .insumos-pago-edicion label{color:#c7d4e7!important;}
html.modo-oscuro .alias-insumos{background:#0f203b!important;color:#fff!important;border:1px solid #4a6287;}
html.modo-oscuro .qr-insumos{border-color:#5a7196;background:#fff!important;}
html.modo-oscuro .fila-no-pago td{background:#351d2a!important;}
html.modo-oscuro .fila-no-pago td:first-child{color:#ff9caf!important;}
html.modo-oscuro .mensaje-aporte-confirmado{background:#163f35!important;color:#b5f3cf!important;border:1px solid #318a6a;}
html.modo-oscuro .historial-aportes-personal table{background:#182b4a;}

/* Resumen de Insumos en modo oscuro */
html.modo-oscuro .materiales-resumen>div{background:#182b4a!important;border-color:#3c5273!important;}
html.modo-oscuro .materiales-resumen>div span{color:#b8c8dc!important;}
html.modo-oscuro .materiales-resumen>div strong{color:#f7f9fc!important;}
html.modo-oscuro .materiales-resumen>div strong.texto-alerta{color:#ff4d70!important;}

/* Tarjetas de resumen genéricas (.resumen-horas) en modo oscuro: p. ej.
   Destinatarios / Leídos / Sin leer en el detalle de un comunicado, donde
   antes el número quedaba casi blanco sobre la tarjeta blanca. (mis_horas
   ya tiene su propio contraste vía .control-horas-resumen.) */
html.modo-oscuro .resumen-horas>div{background:#182b4a!important;border-color:#3c5273!important;}
html.modo-oscuro .resumen-horas>div span{color:#b8c8dc!important;}
html.modo-oscuro .resumen-horas>div strong{color:#f7f9fc!important;}

/* Automotores: contraste completo en modo oscuro. */
html.modo-oscuro .automotores-pantalla .encabezado-modulo{background:#17243a!important;border-color:#3b5070!important;}
html.modo-oscuro .automotores-pantalla .encabezado-modulo h1{color:#f7f9fc!important;}
html.modo-oscuro .automotores-pantalla .encabezado-modulo p{color:#c0cee0!important;}
html.modo-oscuro .automotores-pantalla .automotores-formulario>header{background:#182b4a!important;border-color:#3c5273!important;color:#f7f9fc!important;}
html.modo-oscuro .automotores-pantalla .automotores-formulario>header h2{color:#f7f9fc!important;}
html.modo-oscuro .automotores-pantalla .automotores-formulario>header p{color:#c0cee0!important;}
html.modo-oscuro .automotores-pantalla .automotor-linea{background:#182b4a!important;border-color:#3c5273!important;}
html.modo-oscuro .automotores-pantalla .automotor-linea>label{color:#edf3fb!important;}
html.modo-oscuro .automotores-pantalla .automotor-linea input,
html.modo-oscuro .automotores-pantalla .automotor-linea select,
html.modo-oscuro .automotores-pantalla .automotor-linea textarea{background:#101d32!important;color:#f3f6fb!important;border-color:#496183!important;}
html.modo-oscuro .automotores-pantalla .automotor-linea textarea::placeholder{color:#aabbd1!important;}

/* Automotores: el lienzo completo mantiene el azul en modo oscuro. */
html.modo-oscuro body.vista-automotores,
html.modo-oscuro body.vista-automotores .contenedor,
html.modo-oscuro body.vista-automotores .contenido,
html.modo-oscuro body.vista-automotores .automotores-pantalla{
  background:#0b1e3b!important;
}
html.modo-oscuro body.vista-automotores .automotores-pantalla{
  min-height:calc(100dvh - 76px)!important;
}
html.modo-oscuro body.vista-automotores .automotores-pantalla::before,
html.modo-oscuro body.vista-automotores .automotores-pantalla::after{
  display:none!important;
}

/* Acciones compactas del encabezado de Automotores. */
.automotores-pantalla .encabezado-modulo{align-items:center;}
.automotores-acciones{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;}
.automotores-acciones .automotores-acceso-control{display:inline-flex;align-items:center;justify-content:center;min-height:42px;margin:0;padding:10px 16px;text-decoration:none;white-space:nowrap;}
html.modo-oscuro .automotores-acciones .boton-secundario{background:#223553!important;border-color:#496183!important;color:#edf3fb!important;}
@media(max-width:650px){.automotores-pantalla .encabezado-modulo{align-items:stretch;}.automotores-acciones{justify-content:stretch;}.automotores-acciones .automotores-acceso-control{flex:1;min-width:145px;}}

/* Aviso de acceso al control de Automotores. */
.automotores-pantalla .automotores-aviso-bloqueado{
  display:flex;
  align-items:center;
  width:fit-content;
  max-width:100%;
  margin:0 0 14px!important;
  padding:10px 14px!important;
  border:1px solid #efd0d7!important;
  border-left:4px solid #cf0a43!important;
  border-radius:10px!important;
  background:#fff7f8!important;
  color:#8b2440!important;
  box-shadow:none!important;
  font-weight:700;
}
html.modo-oscuro .automotores-pantalla .automotores-aviso-bloqueado{
  border-color:#66415a!important;
  border-left-color:#ed1757!important;
  background:#1b2b47!important;
  color:#f4c4d1!important;
}
@media(max-width:650px){.automotores-pantalla .automotores-aviso-bloqueado{width:100%;font-size:13px;line-height:1.4;}}

/* Ropería: superficie y controles coherentes en modo oscuro. */
html.modo-oscuro .roperia-categorias a{
  background:#182b4a!important;
  border-color:#3c5273!important;
  color:#f4f7fb!important;
  box-shadow:0 8px 20px rgba(0,0,0,.2)!important;
}
html.modo-oscuro .roperia-categorias a:hover,
html.modo-oscuro .roperia-categorias a.activa{
  background:#243858!important;
  border-color:#d3144c!important;
}
html.modo-oscuro .roperia-categorias small{color:#b8c8dc!important;}
html.modo-oscuro .roperia-operaciones .formulario,
html.modo-oscuro .roperia-agregar-prenda,
html.modo-oscuro .roperia-prendas-desplegables>details{
  background:#182b4a!important;
  border-color:#3c5273!important;
}
html.modo-oscuro .roperia-operaciones h2,
html.modo-oscuro .roperia-operaciones label,
html.modo-oscuro .roperia-agregar-prenda>summary,
html.modo-oscuro .roperia-prendas-desplegables>h2,
html.modo-oscuro .roperia-prendas-desplegables>details>summary{color:#f4f7fb!important;}
html.modo-oscuro .roperia-agregar-prenda[open]>summary,
html.modo-oscuro .roperia-prendas-desplegables>details[open]>summary{
  background:#20375c!important;
  border-color:#3c5273!important;
}
html.modo-oscuro .roperia-operaciones input,
html.modo-oscuro .roperia-operaciones select,
html.modo-oscuro .roperia-operaciones textarea{
  background:#101d32!important;
  border-color:#496183!important;
  color:#f3f6fb!important;
}
html.modo-oscuro .roperia-operaciones .boton-secundario{
  background:#223553!important;
  border-color:#496183!important;
  color:#f3f6fb!important;
}

/* Configuración: contraste completo en modo oscuro. */
html.modo-oscuro .config-page-head h1,
html.modo-oscuro .config-card>header h2{color:#f4f7fb!important;}
html.modo-oscuro .config-page-head p,
html.modo-oscuro .config-card header p,
html.modo-oscuro .config-partes p,
html.modo-oscuro .config-footer{color:#b8c8dc!important;}
html.modo-oscuro .config-card,
html.modo-oscuro .configuracion-seccion{background:#182b4a!important;border-color:#3c5273!important;box-shadow:0 8px 20px rgba(0,0,0,.2)!important;}
html.modo-oscuro .config-card>header{border-color:#3c5273!important;}
html.modo-oscuro .configuracion-campos .campo label,
html.modo-oscuro .objetivos-cuerpo label,
html.modo-oscuro .campo-unidad label,
html.modo-oscuro .config-card h3{color:#dbe6f5!important;}
html.modo-oscuro .configuracion-campos .campo input,
html.modo-oscuro .campo-unidad input,
html.modo-oscuro .objetivos-cuerpo input,
html.modo-oscuro .nuevo-tipo-ingreso input{
  background:#101d32!important;border-color:#496183!important;color:#f3f6fb!important;
}
html.modo-oscuro .objetivos-cuerpo>div,
html.modo-oscuro .interruptor-config,
html.modo-oscuro .tipos-ingreso-lista>div{background:#203452!important;border-color:#3c5273!important;color:#f3f6fb!important;}
html.modo-oscuro .config-nota{background:#2c2438!important;color:#eed7e0!important;}
html.modo-oscuro .carga-logo{border-color:#496183!important;color:#edf3fb!important;}
html.modo-oscuro .carga-logo small,
html.modo-oscuro .interruptor-config small,
html.modo-oscuro .tabla-tipos code{color:#b8c8dc!important;}
html.modo-oscuro .config-footer{border-color:#3c5273!important;}
html.modo-oscuro .tabla-tipos .accion-texto{color:#f3f6fb!important;}

/* Mi perfil: contraste legible en modo oscuro. */
html.modo-oscuro .perfil-foto-form label,
html.modo-oscuro .perfil-firma>strong{color:#f3f6fb!important;}
html.modo-oscuro .perfil-foto-form input,
html.modo-oscuro .perfil-foto-form select,
html.modo-oscuro .perfil-foto-form textarea{background:#101d32!important;border-color:#496183!important;color:#f3f6fb!important;}
html.modo-oscuro .perfil-firma{background:#203452!important;border-color:#3c5273!important;}
html.modo-oscuro .perfil-firma-cargada{background:#173c35!important;color:#c4f1d4!important;}
html.modo-oscuro .perfil-firma-cargada small,
html.modo-oscuro .perfil-firma>small{color:#b8c8dc!important;}

/* Salud: tarjetas, filtros e inventario legibles en modo oscuro. */
html.modo-oscuro .sanidad-sectores .sanidad-sector,
html.modo-oscuro .sanidad-vistas-alertas a,
html.modo-oscuro .sanidad-estadisticas,
html.modo-oscuro .sanidad-resultados-alerta,
html.modo-oscuro .sanidad-elegir-sector,
html.modo-oscuro .sanidad-card,
html.modo-oscuro .sanidad-grupo{
  background:#182b4a!important;border-color:#3c5273!important;color:#f3f6fb!important;
}
html.modo-oscuro .sanidad-sector:hover,
html.modo-oscuro .sanidad-sector.activo,
html.modo-oscuro .sanidad-vistas-alertas a:hover,
html.modo-oscuro .sanidad-vistas-alertas a.activo{background:#243858!important;border-color:#d3144c!important;}
html.modo-oscuro .sanidad-sector strong,
html.modo-oscuro .sanidad-card h2,
html.modo-oscuro .sanidad-estadisticas h2,
html.modo-oscuro .sanidad-resultados-alerta h2,
html.modo-oscuro .sanidad-elegir-sector h2,
html.modo-oscuro .sanidad-ranking-info strong,
html.modo-oscuro .sanidad-ranking-cantidad{color:#f3f6fb!important;}
html.modo-oscuro .sanidad-sector small,
html.modo-oscuro .sanidad-ubicacion,
html.modo-oscuro .sanidad-estadisticas p,
html.modo-oscuro .sanidad-elegir-sector p,
html.modo-oscuro .sanidad-ranking-info small,
html.modo-oscuro .sanidad-vistas-alertas span,
html.modo-oscuro .sanidad-card small{color:#b8c8dc!important;}
html.modo-oscuro .sanidad-card-bajo header small{color:#ff8fae!important;}
html.modo-oscuro .sanidad-filtros input,
html.modo-oscuro .sanidad-filtros select,
html.modo-oscuro .sanidad-consumo input,
html.modo-oscuro .sanidad-consumo textarea{background:#101d32!important;border-color:#496183!important;color:#f3f6fb!important;}
html.modo-oscuro .sanidad-card footer{border-color:#3c5273!important;}
html.modo-oscuro .sanidad-card footer>a,
html.modo-oscuro .sanidad-gestionar-alertas button{background:#223553!important;border-color:#496183!important;color:#f3f6fb!important;}
html.modo-oscuro .sanidad-estadisticas-vacias,
html.modo-oscuro .sanidad-ranking-item{background:#203452!important;border-color:#3c5273!important;color:#f3f6fb!important;}

/* Materiales: inventario claro y consistente en modo oscuro. */
html.modo-oscuro .materiales-head,
html.modo-oscuro .materiales-resumen>div,
html.modo-oscuro .materiales-filtros,
html.modo-oscuro .material-card,
html.modo-oscuro .materiales-vacio,
html.modo-oscuro .ubicacion-item{background:#182b4a!important;border-color:#3c5273!important;color:#f3f6fb!important;}
html.modo-oscuro .materiales-head h1,
html.modo-oscuro .material-card h2,
html.modo-oscuro .material-datos b,
html.modo-oscuro .ubicacion-item h3{color:#f3f6fb!important;}
html.modo-oscuro .materiales-head .subtitulo-pagina,
html.modo-oscuro .material-card header p,
html.modo-oscuro .material-descripcion,
html.modo-oscuro .material-datos,
html.modo-oscuro .materiales-vacio,
html.modo-oscuro .ubicacion-item p{color:#b8c8dc!important;}
html.modo-oscuro .material-card header,
html.modo-oscuro .material-card footer,
html.modo-oscuro .material-datos{background:#203452!important;border-color:#3c5273!important;}
html.modo-oscuro .material-card footer .boton-secundario{background:#223553!important;border-color:#496183!important;color:#eaf0fa!important;}
html.modo-oscuro .materiales-filtros input,
html.modo-oscuro .materiales-filtros select{background:#101d32!important;border-color:#496183!important;color:#f3f6fb!important;}

/* Nuevo Parte: formulario completo y legible en modo oscuro. */
html.modo-oscuro .parte-institucion,
html.modo-oscuro .parte-seccion,
html.modo-oscuro .parte-dotacion,
html.modo-oscuro .parte-damnificado,
html.modo-oscuro .parte-vehiculo,
html.modo-oscuro .parte-dependencias-completas>div,
html.modo-oscuro .parte-otro-personal>div{background:#182b4a!important;border-color:#3c5273!important;color:#f3f6fb!important;}
html.modo-oscuro .parte-institucion strong,
html.modo-oscuro .parte-seccion h2,
html.modo-oscuro .parte-dotacion h3{color:#f3f6fb!important;}
html.modo-oscuro .parte-institucion span,
html.modo-oscuro .parte-ayuda,
html.modo-oscuro .parte-seccion label,
html.modo-oscuro .parte-presentes em{color:#b8c8dc!important;}
html.modo-oscuro .parte-seccion input:not([type=checkbox]),
html.modo-oscuro .parte-seccion select,
html.modo-oscuro .parte-seccion textarea,
html.modo-oscuro .parte-clasificacion{background:#101d32!important;border:1px solid #496183!important;color:#f3f6fb!important;}
html.modo-oscuro .parte-presentes label,
html.modo-oscuro .parte-airbag,
html.modo-oscuro .parte-dependencias li label,
html.modo-oscuro .parte-damnificado>label{background:#203452!important;color:#edf3fb!important;}
html.modo-oscuro .parte-dependencias-lista{border-color:#3c5273!important;}
html.modo-oscuro .parte-dependencias-cabecera{background:#203452!important;color:#dbe6f5!important;}
html.modo-oscuro .parte-dependencia-fila>*{border-color:#3c5273!important;}
html.modo-oscuro .parte-dependencia-fila label{color:#edf3fb!important;}
html.modo-oscuro .parte-movil-dependencia input,
html.modo-oscuro .parte-movil-inline input,
html.modo-oscuro .parte-medico-inline input{color:#f3f6fb!important;border-color:#496183!important;}
html.modo-oscuro .parte-fila-same select,html.modo-oscuro .parte-fila-same input[type=text]{background:#101d32!important;color:#f3f6fb!important;border-color:#496183!important;}
html.modo-oscuro .parte-fila-same-etiqueta,html.modo-oscuro .parte-fila-same-quitar{color:#a9b8d0!important;}
html.modo-oscuro .parte-agregar{background:#203452!important;border-color:#ed1757!important;color:#ffdbe5!important;}
html.modo-oscuro .parte-agregar:hover{background:#2a3f60!important;}

/* Lista de Partes: filtros y acciones legibles en modo oscuro. */
html.modo-oscuro .partes-filtros{align-items:end;}
html.modo-oscuro .partes-filtros label{color:#dbe6f5!important;}
html.modo-oscuro .partes-filtros select{background:#101d32!important;border-color:#496183!important;color:#f3f6fb!important;}
html.modo-oscuro .partes-filtros .boton-secundario,
html.modo-oscuro .tabla-modulo .partes-ver{
  display:inline-flex!important;
  min-height:40px;
  align-items:center;
  justify-content:center;
  padding:9px 14px!important;
  border:1px solid #496183!important;
  border-radius:8px!important;
  background:#223553!important;
  color:#f3f6fb!important;
  text-decoration:none!important;
  font-weight:800!important;
  box-shadow:none!important;
}
html.modo-oscuro .partes-filtros .boton-secundario:hover,
html.modo-oscuro .tabla-modulo .partes-ver:hover{background:#2b4265!important;border-color:#839fc7!important;}
html.modo-oscuro .tabla-modulo .parte-cargado-toggle{background:#223553!important;border-color:#496183!important;color:#c3cee0!important;}
html.modo-oscuro .tabla-modulo .parte-cargado-toggle:hover{background:#2b4265!important;border-color:#839fc7!important;color:#f3f6fb!important;}
html.modo-oscuro .tabla-modulo .parte-cargado-toggle.cargado{background:#173a29!important;border-color:#2f6d47!important;color:#8fe3b0!important;}
html.modo-oscuro .tabla-modulo .parte-cargado-toggle.cargado:hover{background:#1d4a34!important;border-color:#3f8a5c!important;color:#a7edc4!important;}

/* Guardia Actual: contraste completo en modo oscuro. */
html.modo-oscuro .ga2-acceso,
html.modo-oscuro .ga2-stats article,
html.modo-oscuro .ga2-persona-card,
html.modo-oscuro .ga2-presentismo-turno{background:#182b4a!important;border-color:#3c5273!important;color:#f3f6fb!important;}
html.modo-oscuro .ga2-acceso h2,
html.modo-oscuro .ga2-stats strong,
html.modo-oscuro .ga2-personal-head h2,
html.modo-oscuro .ga2-card-body h3,
html.modo-oscuro .ga2-vacio strong,
html.modo-oscuro .ga2-presentismo-turno h2{color:#f3f6fb!important;}
html.modo-oscuro .ga2-reloj time{color:#ff5470!important;}
html.modo-oscuro .ga2-acceso>p,
html.modo-oscuro .ga2-stats small,
html.modo-oscuro .ga2-personal-head p,
html.modo-oscuro .ga2-vacio,
html.modo-oscuro .ga2-presentismo-turno>p{color:#b8c8dc!important;}
html.modo-oscuro .ga2-acceso input,
html.modo-oscuro .ga2-acceso select,
html.modo-oscuro .ga2-presentismo-turno select{background:#101d32!important;border-color:#496183!important;color:#f3f6fb!important;}
html.modo-oscuro .ga2-acceso-links{border-color:#3c5273!important;}
html.modo-oscuro .ga2-persona-card .ga2-card-body{background:#182b4a!important;}
html.modo-oscuro .ga2-avatar{background:#22375a!important;color:#e7eef8!important;}
html.modo-oscuro .ga2-vacio{border-color:#496183!important;}
html.modo-oscuro .ga2-presentismo-turno table{background:#182b4a!important;border-color:#3c5273!important;}
html.modo-oscuro .ga2-presentismo-turno th{background:#203452!important;color:#dbe6f5!important;}
html.modo-oscuro .ga2-presentismo-turno td{border-color:#3c5273!important;color:#f3f6fb!important;}
.ga2-guardar-presentismo{margin-top:14px;width:auto;min-height:44px;padding:0 24px;}

/* Materiales: historial, ubicaciones y formularios en modo oscuro. */
html.modo-oscuro .encabezado-pagina h1{color:#f3f6fb!important;}
html.modo-oscuro .encabezado-pagina .subtitulo-pagina{color:#b8c8dc!important;}
html.modo-oscuro .tabla-contenedor .tabla{background-color:#182b4a!important;border-color:#3c5273!important;}
html.modo-oscuro .tabla-contenedor .tabla th{background:#203452!important;color:#dbe6f5!important;border-color:#3c5273!important;}
html.modo-oscuro .tabla-contenedor .tabla td{background:#182b4a!important;color:#f3f6fb!important;border-color:#3c5273!important;}
html.modo-oscuro .materiales-filtros button{background:#223553!important;border:1px solid #496183!important;color:#f3f6fb!important;}
html.modo-oscuro .ubicaciones-layout .panel-resumen{background:#182b4a!important;border-color:#3c5273!important;color:#f3f6fb!important;}
html.modo-oscuro .ubicaciones-layout .panel-resumen h2{color:#f3f6fb!important;}
html.modo-oscuro .ubicaciones-layout .campo label,
html.modo-oscuro .ubicaciones-layout small,
html.modo-oscuro .ubicaciones-layout .subtitulo-pagina{color:#b8c8dc!important;}
html.modo-oscuro .ubicaciones-layout input,
html.modo-oscuro .ubicaciones-layout select,
html.modo-oscuro .ubicaciones-layout textarea,
html.modo-oscuro .formulario input:not([type=checkbox]),
html.modo-oscuro .formulario select,
html.modo-oscuro .formulario textarea{background:#101d32!important;border-color:#496183!important;color:#f3f6fb!important;}
html.modo-oscuro .ubicacion-item{border-color:#3c5273!important;}
html.modo-oscuro .sector-form-inline button,
html.modo-oscuro .ubicaciones-layout .boton-secundario{background:#223553!important;border-color:#496183!important;color:#f3f6fb!important;}
html.modo-oscuro .sector-gestion-cabecera .boton-secundario{background:#223553!important;border-color:#496183!important;color:#f3f6fb!important;}
html.modo-oscuro .roperia-categoria-cabecera-acciones .boton-secundario{background:#223553!important;border-color:#496183!important;color:#f3f6fb!important;}

/* Encabezados de páginas secundarias en modo oscuro. */
html.modo-oscuro .encabezado-pagina{
  padding:22px 24px;
  border:1px solid #3c5273;
  border-left:4px solid #d3144c;
  border-radius:15px;
  background:#182b4a!important;
  box-shadow:0 8px 20px rgba(0,0,0,.18);
}
html.modo-oscuro .encabezado-pagina h1{color:#f4f7fb!important;}
html.modo-oscuro .encabezado-pagina .subtitulo-pagina{color:#c0cee0!important;}

/* Licencias: visualización completa en modo oscuro. */
html.modo-oscuro .licencias-tabla{background:#182b4a!important;border-color:#3c5273!important;}
html.modo-oscuro .licencias-tabla th{background:#203452!important;color:#dbe6f5!important;border-color:#3c5273!important;}
html.modo-oscuro .licencias-tabla td{background:#182b4a!important;color:#f3f6fb!important;border-color:#3c5273!important;}
html.modo-oscuro .licencias-tabla tbody tr:hover td{background:#203452!important;}
html.modo-oscuro .licencias-layout .panel-resumen{background:#182b4a!important;border-color:#3c5273!important;color:#f3f6fb!important;}
html.modo-oscuro .licencias-layout .panel-resumen h3,
html.modo-oscuro .licencias-layout .fila-resumen strong{color:#f3f6fb!important;}
html.modo-oscuro .licencias-layout .fila-resumen span{color:#b8c8dc!important;}
html.modo-oscuro .licencia-formulario label{color:#dbe6f5!important;}
html.modo-oscuro .licencia-formulario input,
html.modo-oscuro .licencia-formulario select,
html.modo-oscuro .licencia-formulario textarea{background:#101d32!important;border-color:#496183!important;color:#f3f6fb!important;}
html.modo-oscuro .licencias-tabla .boton-secundario-mobile{background:#223553!important;border-color:#496183!important;color:#f3f6fb!important;}

/* Botón "Ver certificado": pill legible en vez del enlace crudo. */
.licencia-ver-certificado{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:7px 13px;
  border:1px solid #c9ced8;
  border-radius:8px;
  background:#fff;
  color:#172033;
  font-size:12.5px;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
  text-decoration:none;
}
.licencia-ver-certificado:hover,
.licencia-ver-certificado:focus-visible{
  border-color:#c40942;
  color:#c40942;
  background:#fff5f7;
  outline:none;
}
html.modo-oscuro .licencias-tabla .licencia-ver-certificado{
  background:#223553!important;
  border-color:#5b7398!important;
  color:#eef3fb!important;
}
html.modo-oscuro .licencias-tabla .licencia-ver-certificado:hover,
html.modo-oscuro .licencias-tabla .licencia-ver-certificado:focus-visible{
  border-color:#ff7d9c!important;
  color:#fff!important;
  background:#2b4265!important;
}

/* Comunicados y documentos: contraste completo en modo oscuro. */
html.modo-oscuro .frase-dia-gestion,
html.modo-oscuro .frase-dia-nueva,
html.modo-oscuro .documentos-firma-resumen,
html.modo-oscuro .documento-pendiente-firma{background:#182b4a!important;border-color:#3c5273!important;color:#f3f6fb!important;}
html.modo-oscuro .frase-dia-gestion small,
html.modo-oscuro .frase-dia-gestion p,
html.modo-oscuro .documentos-firma-titulo p,
html.modo-oscuro .documento-pendiente-firma p{color:#b8c8dc!important;}
html.modo-oscuro .documentos-firma-titulo h2,
html.modo-oscuro .documento-pendiente-firma h2{color:#f3f6fb!important;}
html.modo-oscuro .frase-dia-editor textarea,
html.modo-oscuro .frase-dia-nueva textarea,
html.modo-oscuro .frase-dia-nueva input{background:#101d32!important;border-color:#496183!important;color:#f3f6fb!important;}
html.modo-oscuro .frase-dia-gestion .boton-secundario,
html.modo-oscuro .documentos-firma-resumen .boton-secundario,
html.modo-oscuro .documento-pendiente-firma .boton-secundario{background:#223553!important;border-color:#496183!important;color:#f3f6fb!important;}
html.modo-oscuro .documentos-firma-resumen table,
html.modo-oscuro .documento-firma-form select{background:#101d32!important;border-color:#496183!important;color:#f3f6fb!important;}
html.modo-oscuro .documentos-firma-resumen th{background:#203452!important;color:#dbe6f5!important;}
html.modo-oscuro .documentos-firma-resumen td{border-color:#3c5273!important;color:#f3f6fb!important;}
html.modo-oscuro #buscadorComunicados{background:#101d32!important;border-color:#496183!important;color:#f3f6fb!important;}
html.modo-oscuro .documento-firma-form label,
html.modo-oscuro .documento-firma-form small{color:#dbe6f5!important;}
html.modo-oscuro .documento-firma-form input{background:#101d32!important;border-color:#496183!important;color:#f3f6fb!important;}

/* Acciones compactas de Documento para firma. */
.documento-firma-acciones{margin-top:20px;}
.documento-firma-acciones .boton-principal,
.documento-firma-acciones .boton-secundario{display:inline-flex;min-height:42px;align-items:center;justify-content:center;padding:10px 16px;text-decoration:none;}
html.modo-oscuro .documento-firma-acciones .boton-secundario{background:#223553!important;border-color:#496183!important;color:#f3f6fb!important;}
@media(max-width:600px){.documento-firma-acciones .boton-principal,.documento-firma-acciones .boton-secundario{width:100%;}}

/* Nuevo comunicado: etiquetas y destinatarios visibles en modo oscuro. */
html.modo-oscuro .nuevo-comunicado-titulo{color:#f4f7fb!important;}
html.modo-oscuro .nuevo-comunicado-form .formulario{background:#182b4a!important;border-color:#3c5273!important;}
html.modo-oscuro .nuevo-comunicado-form .campo label,
html.modo-oscuro .nuevo-comunicado-form .campo small,
html.modo-oscuro .nuevo-comunicado-destinatarios h2,
html.modo-oscuro .nuevo-comunicado-destinatarios .opcion-radio{color:#edf3fb!important;}
html.modo-oscuro .nuevo-comunicado-form input:not([type=radio]),
html.modo-oscuro .nuevo-comunicado-form select,
html.modo-oscuro .nuevo-comunicado-form textarea{background:#101d32!important;border-color:#496183!important;color:#f3f6fb!important;}
html.modo-oscuro .nuevo-comunicado-destinatarios{color:#edf3fb!important;}
html.modo-oscuro .nuevo-comunicado-destinatarios .bloque-destinatario{background:#182b4a!important;border-color:#3c5273!important;}

/* Ícono nativo de fecha visible en Nuevo comunicado. */
html.modo-oscuro .nuevo-comunicado-form input[type="date"]{color-scheme:dark;}
html.modo-oscuro .nuevo-comunicado-form input[type="date"]::-webkit-calendar-picker-indicator{filter:invert(1);opacity:.9;cursor:pointer;}

/* Forzar contraste del selector de fecha en navegadores Chromium. */
html.modo-oscuro body input[type="date"]::-webkit-calendar-picker-indicator{
  display:block!important;
  width:18px!important;
  height:18px!important;
  margin:0!important;
  opacity:1!important;
  cursor:pointer!important;
  filter:brightness(0) invert(1)!important;
}
html.modo-oscuro body input[type="date"]{color-scheme:dark!important;}

/* Enlaces de seguimiento visibles en Comunicados. */
html.modo-oscuro .documentos-firma-resumen table a,
html.modo-oscuro .documentos-firma-resumen table a:visited{
  color:#f1c3d1!important;
  font-weight:800;
  text-decoration:none;
}
html.modo-oscuro .documentos-firma-resumen table a:hover{color:#fff!important;text-decoration:underline;}

/* Títulos de la lista de Comunicados: se leen como títulos, no como
   enlaces crudos (sin el azul/violeta del navegador). */
#tablaComunicados tbody td a,
#tablaComunicados tbody td a:visited{
  color:#172033;
  font-weight:700;
  font-size:15px;
  line-height:1.35;
  letter-spacing:-.005em;
  text-decoration:none;
}
#tablaComunicados tbody td a:hover,
#tablaComunicados tbody td a:focus-visible{
  color:#c40942;
  text-decoration:underline;
  text-underline-offset:2px;
}
html.modo-oscuro #tablaComunicados tbody td a,
html.modo-oscuro #tablaComunicados tbody td a:visited{
  color:#f3f7fd!important;
  font-weight:700;
  text-decoration:none;
}
html.modo-oscuro #tablaComunicados tbody td a:hover,
html.modo-oscuro #tablaComunicados tbody td a:focus-visible{
  color:#fff!important;
  text-decoration:underline;
}

/* Detalle de un comunicado: la descripción va en un recuadro destacado
   y con letra un poco más grande, para que se lea cómodo. */
.comunicado-descripcion{
  margin:16px 0 26px;
  padding:20px 22px;
  border:1px solid #e5e8ee;
  border-left:4px solid #c40942;
  border-radius:12px;
  background:#fff;
  box-shadow:0 4px 14px rgba(15,23,42,.05);
  color:#2b3440;
  font-size:16.5px;
  line-height:1.72;
  white-space:pre-line;
}
@media (max-width:560px){
  .comunicado-descripcion{padding:16px;font-size:16px;line-height:1.68;}
}
html.modo-oscuro .comunicado-descripcion{
  border-color:#334159;
  border-left-color:#ff5773;
  background:#182235;
  box-shadow:0 8px 20px rgba(0,0,0,.25);
  color:#e7edf5;
}

/* Controles de la frase del día en modo oscuro. */
html.modo-oscuro .frase-dia-gestion .frase-dia-editor .boton-secundario,
html.modo-oscuro .frase-dia-gestion>form>.boton-secundario{
  display:inline-flex!important;
  min-height:38px;
  align-items:center;
  justify-content:center;
  padding:8px 12px!important;
  border:1px solid #496183!important;
  border-radius:8px!important;
  background:#223553!important;
  color:#f3f6fb!important;
  font-weight:800!important;
  box-shadow:none!important;
}
html.modo-oscuro .frase-dia-gestion>form>.boton-secundario{
  border-color:#9c4664!important;
  background:#37233a!important;
  color:#ffd7e3!important;
}
html.modo-oscuro .frase-dia-gestion .boton-secundario:hover{background:#2b4265!important;}
html.modo-oscuro .frase-dia-gestion>form>.boton-secundario:hover{background:#512b42!important;}

/* Ficha de seguimiento de documentos en modo oscuro. */
html.modo-oscuro .documento-descripcion{margin:0 0 18px;color:#dbe6f5!important;}
.documento-seguimiento-acciones{margin:18px 0 24px;}
.documento-seguimiento-acciones .boton-secundario,
.documento-seguimiento-volver .boton-secundario{display:inline-flex;min-height:42px;align-items:center;justify-content:center;padding:10px 15px;text-decoration:none;}
html.modo-oscuro .documento-seguimiento-acciones .boton-secundario,
html.modo-oscuro .documento-seguimiento-volver .boton-secundario{background:#223553!important;border-color:#496183!important;color:#f3f6fb!important;}
html.modo-oscuro .documento-seguimiento-titulo{margin:24px 0 14px;color:#f3f6fb!important;font-size:20px;}
html.modo-oscuro .documento-seguimiento-tabla{background:#182b4a!important;border-color:#3c5273!important;}
html.modo-oscuro .documento-seguimiento-tabla th{background:#203452!important;color:#dbe6f5!important;border-color:#3c5273!important;}
html.modo-oscuro .documento-seguimiento-tabla td{background:#182b4a!important;color:#f3f6fb!important;border-color:#3c5273!important;}
.documento-seguimiento-volver{margin-top:22px;}

/* Formularios de cursos y actividades */
.curso-actividad-nuevo{max-width:1040px;margin:0 auto;padding-bottom:28px}
.curso-actividad-cabecera{margin-bottom:20px;padding:23px 25px;border:1px solid #dce3ed;border-left:5px solid #c40942;border-radius:15px;background:#fff;box-shadow:0 7px 20px rgba(15,23,42,.045)}
.curso-actividad-tipo{display:block;margin-bottom:5px;color:#c40942;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.curso-actividad-cabecera h1{margin:0;color:#172033;font-size:29px;letter-spacing:-.03em}
.curso-actividad-cabecera p{margin:7px 0 0;color:#68758a;font-size:15px;line-height:1.45}
.curso-actividad-formulario .formulario{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;padding:24px;border:1px solid #dce3ed;border-radius:15px;background:#fff;box-shadow:0 7px 20px rgba(15,23,42,.045)}
.curso-actividad-formulario .campo{margin:0}
.curso-actividad-formulario .campo:has(textarea),.curso-actividad-formulario .campo:has(select[multiple]),.curso-actividad-formulario .campo:has(input[type=file]){grid-column:1/-1}
.curso-actividad-formulario label{display:block;margin:0 0 7px;color:#39465a;font-size:12px;font-weight:800;letter-spacing:.025em}
.curso-actividad-formulario input:not([type=checkbox]),.curso-actividad-formulario select,.curso-actividad-formulario textarea{width:100%;min-height:43px;padding:9px 11px;border:1px solid #cbd5e3;border-radius:9px;background:#fff;color:#172033;font:inherit}
.curso-actividad-formulario textarea{min-height:120px;resize:vertical}
.curso-actividad-formulario input[type=file]{padding:9px;border:1px dashed #b8c5d7;border-radius:9px;background:#f8fafd;color:#43536a}
.curso-actividad-formulario small{display:block;margin-top:6px;color:#728097;font-size:12px;line-height:1.4}
.curso-actividad-formulario .errorlist{margin:7px 0 0;padding-left:18px;color:#c40942;font-size:12px}
.curso-actividad-acciones{display:flex;gap:10px;align-items:center;margin-top:18px}
.curso-actividad-acciones .boton-principal,.curso-actividad-acciones .boton-secundario{display:inline-flex;min-height:43px;align-items:center;justify-content:center;padding:10px 18px;border-radius:9px;font-weight:800;text-decoration:none}
.curso-actividad-acciones .boton-secundario{border:1px solid #b8c4d4;background:#fff;color:#263349}
.curso-actividad-ayuda{margin:15px 0 0;padding:11px 14px;border-left:3px solid #c40942;border-radius:8px;background:#fff5f7;color:#6e4251;font-size:13px;line-height:1.45}
html.modo-oscuro .curso-actividad-cabecera,html.modo-oscuro .curso-actividad-formulario .formulario{border-color:#3d5272;background:#182b4a;box-shadow:none}
html.modo-oscuro .curso-actividad-cabecera h1{color:#f5f8fd}
html.modo-oscuro .curso-actividad-cabecera p,html.modo-oscuro .curso-actividad-formulario small{color:#b9c7da}
html.modo-oscuro .curso-actividad-formulario label{color:#e2eaf5}
html.modo-oscuro .curso-actividad-formulario input:not([type=checkbox]),html.modo-oscuro .curso-actividad-formulario select,html.modo-oscuro .curso-actividad-formulario textarea{border-color:#496183;background:#101d32;color:#f5f8fd}
html.modo-oscuro .curso-actividad-formulario input[type=file]{border-color:#587093;background:#101d32;color:#dce7f6}
html.modo-oscuro .curso-actividad-formulario input::file-selector-button{margin-right:10px;border:0;border-radius:6px;padding:7px 10px;background:#d3144c;color:#fff;font-weight:700}
html.modo-oscuro .curso-actividad-acciones .boton-secundario{border-color:#587093;background:#203452;color:#f3f7fd}
html.modo-oscuro .curso-actividad-ayuda{background:#222e47;color:#d9e5f4}
@media(max-width:700px){.curso-actividad-cabecera{padding:19px}.curso-actividad-cabecera h1{font-size:25px}.curso-actividad-formulario .formulario{grid-template-columns:1fr;padding:17px}.curso-actividad-formulario .campo:has(textarea),.curso-actividad-formulario .campo:has(select[multiple]),.curso-actividad-formulario .campo:has(input[type=file]){grid-column:auto}.curso-actividad-acciones{align-items:stretch;flex-direction:column}.curso-actividad-acciones .boton-principal,.curso-actividad-acciones .boton-secundario{width:100%}}

/* Historial de cursos: acción de asistencia en modo oscuro. */
html.modo-oscuro .tabla-modulo a.boton-secundario{
  display:inline-flex!important;
  min-height:34px!important;
  align-items:center!important;
  justify-content:center!important;
  padding:7px 12px!important;
  border:1px solid #587093!important;
  border-radius:8px!important;
  background:#203452!important;
  color:#f3f7fd!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:1!important;
  text-decoration:none!important;
  box-shadow:none!important;
}
html.modo-oscuro .tabla-modulo a.boton-secundario:hover{border-color:#d3144c!important;background:#d3144c!important;color:#fff!important;}

/* Detalle y asistencia de cursos. */
.curso-detalle-cabecera{display:flex;align-items:stretch;justify-content:space-between;gap:22px;margin-bottom:18px;padding:24px 26px;border:1px solid #dce3ed;border-left:5px solid #c40942;border-radius:15px;background:#fff;box-shadow:0 7px 20px rgba(15,23,42,.045)}
.curso-detalle-etiqueta{display:block;margin-bottom:5px;color:#c40942;font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.curso-detalle-cabecera h1{margin:0;color:#172033;font-size:30px;letter-spacing:-.035em}
.curso-detalle-fecha{margin:7px 0 0;color:#536176;font-size:14px;font-weight:700}
.curso-detalle-descripcion{max-width:760px;margin:9px 0 0;color:#69768a;font-size:14px;line-height:1.45}
.curso-detalle-cupo{display:flex;min-width:135px;align-items:center;justify-content:center;flex-direction:column;padding:13px;border:1px solid #d4ddea;border-radius:11px;background:#f7f9fc;text-align:center}
.curso-detalle-cupo small{color:#69768a;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.curso-detalle-cupo strong{margin:3px 0;color:#172033;font-size:25px;line-height:1}
.curso-detalle-cupo span{color:#6b7789;font-size:11px}.curso-detalle-flyer{margin:0 0 18px}.curso-detalle-flyer img{display:block;max-width:100%;width:420px;border-radius:12px}.curso-detalle-aviso{margin:0 0 18px;padding:12px 14px;border-left:3px solid #c40942;border-radius:8px;background:#fff5f7;color:#6c3b4c;font-size:14px}.curso-detalle-inscripcion,.curso-detalle-acciones{margin:16px 0}.curso-detalle-inscriptos{margin-top:22px}.curso-detalle-inscriptos h2{margin:0 0 12px;color:#172033;font-size:21px}
html.modo-oscuro .curso-detalle-cabecera,html.modo-oscuro .curso-detalle-inscriptos .tabla{border-color:#3d5272;background:#182b4a;box-shadow:none}
html.modo-oscuro .curso-detalle-cabecera h1,html.modo-oscuro .curso-detalle-cupo strong,html.modo-oscuro .curso-detalle-inscriptos h2{color:#f5f8fd}
html.modo-oscuro .curso-detalle-fecha,html.modo-oscuro .curso-detalle-descripcion,html.modo-oscuro .curso-detalle-cupo small,html.modo-oscuro .curso-detalle-cupo span{color:#bdcbe0}
html.modo-oscuro .curso-detalle-cupo{border-color:#496183;background:#203452}
html.modo-oscuro .curso-detalle-aviso{background:#222e47;color:#dce6f4}
html.modo-oscuro .curso-detalle-inscriptos .tabla th{background:#273a5a;color:#f5f8fd}
html.modo-oscuro .curso-detalle-inscriptos .tabla td{border-color:#3d5272;color:#eaf0f9}
html.modo-oscuro .curso-detalle-inscriptos select{border-color:#496183;background:#101d32;color:#f5f8fd}
html.modo-oscuro .curso-detalle-acciones .boton-secundario{display:inline-flex;min-height:43px;align-items:center;padding:10px 18px;border:1px solid #587093;border-radius:9px;background:#203452;color:#f3f7fd;font-weight:800;text-decoration:none}

/* Cursos · botones "Editar curso" y "Quitar" */
.curso-editar{align-self:center;display:inline-flex;align-items:center;min-height:40px;padding:0 16px!important;white-space:nowrap;border-radius:9px!important}
.curso-detalle-gestion{align-self:center;display:flex;flex-direction:column;gap:8px}
.curso-detalle-gestion .curso-editar{align-self:stretch;justify-content:center}
.curso-cancelar,.actividad-cancelar{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 16px!important;white-space:nowrap;border-radius:9px!important;border-color:#e7b6bd!important;color:#be123c!important;background:#fff!important}
.curso-cancelar:hover,.curso-cancelar:focus-visible,.actividad-cancelar:hover,.actividad-cancelar:focus-visible{border-color:#be123c!important;background:#be123c!important;color:#fff!important;outline:none}
html.modo-oscuro .curso-cancelar,html.modo-oscuro .actividad-cancelar{background:#2e2038!important;border-color:#7c4a58!important;color:#ff9db0!important}
html.modo-oscuro .curso-cancelar:hover,html.modo-oscuro .curso-cancelar:focus-visible,html.modo-oscuro .actividad-cancelar:hover,html.modo-oscuro .actividad-cancelar:focus-visible{background:#c4143c!important;border-color:#c4143c!important;color:#fff!important}
.cancelar-opciones{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.cancelar-opcion{display:flex;flex-direction:column;gap:10px;padding:18px;border:1px solid #dce3ed;border-radius:12px;background:#fff}
.cancelar-opcion h2{margin:0;font-size:16px;color:#172033}
.cancelar-opcion p{margin:0;font-size:13px;color:#667085}
.cancelar-opcion form{display:flex;flex-direction:column;gap:10px;margin-top:auto}
.cancelar-opcion .campo{margin:0}
html.modo-oscuro .cancelar-opcion{background:#182b4a;border-color:#3d5272}
html.modo-oscuro .cancelar-opcion h2{color:#f5f8fd}
html.modo-oscuro .cancelar-opcion p{color:#b8c8dc}
.curso-quitar{display:inline-flex;align-items:center;min-height:32px;padding:5px 13px!important;font-size:12.5px!important;line-height:1;border-radius:8px!important;border-color:#e7b6bd!important;color:#be123c!important;background:#fff!important}
.curso-quitar:hover,.curso-quitar:focus-visible{border-color:#be123c!important;background:#be123c!important;color:#fff!important;outline:none}
html.modo-oscuro .curso-editar{background:#203452!important;border-color:#587093!important;color:#f3f7fd!important}
html.modo-oscuro .curso-editar:hover{background:#2b4265!important;border-color:#6b83ad!important}
html.modo-oscuro .curso-quitar{background:#2e2038!important;border-color:#7c4a58!important;color:#ff9db0!important}
html.modo-oscuro .curso-quitar:hover,html.modo-oscuro .curso-quitar:focus-visible{background:#c4143c!important;border-color:#c4143c!important;color:#fff!important}
@media(max-width:650px){.curso-editar{align-self:stretch;justify-content:center}}
@media(max-width:650px){.curso-detalle-cabecera{align-items:flex-start;flex-direction:column;padding:20px}.curso-detalle-cabecera h1{font-size:25px}.curso-detalle-cupo{width:100%;min-width:0;align-items:flex-start;text-align:left}.curso-detalle-flyer img{width:100%}}

/* Íconos de hora visibles en formularios de cursos y actividades. */
html.modo-oscuro .curso-actividad-formulario input[type="time"]{color-scheme:dark!important;}
html.modo-oscuro .curso-actividad-formulario input[type="time"]::-webkit-calendar-picker-indicator{display:block!important;width:18px!important;height:18px!important;opacity:1!important;filter:brightness(0) invert(1)!important;cursor:pointer!important;}

/* Formulario de materiales: etiquetas legibles en modo oscuro. */
html.modo-oscuro .material-formulario{border-color:#3d5272!important;background:#182b4a!important;box-shadow:none!important;}
html.modo-oscuro .material-formulario .campo label{color:#e4edf8!important;opacity:1!important;}
html.modo-oscuro .material-formulario .campo input,html.modo-oscuro .material-formulario .campo select,html.modo-oscuro .material-formulario .campo textarea{border-color:#496183!important;background:#101d32!important;color:#f5f8fd!important;}
html.modo-oscuro .material-formulario .campo input::placeholder,html.modo-oscuro .material-formulario .campo textarea::placeholder{color:#93a7c3!important;opacity:1!important;}
html.modo-oscuro .material-formulario .errorlist{color:#ff8eaa!important;}

/* Resumen de personal con contraste correcto en modo oscuro. */
html.modo-oscuro .panel-resumen{border:1px solid #3d5272!important;background:#182b4a!important;box-shadow:none!important;}
html.modo-oscuro .panel-resumen h3{color:#f5f8fd!important;}
html.modo-oscuro .panel-resumen h3:not(:first-child){border-top-color:#496183!important;}
html.modo-oscuro .panel-resumen .fila-resumen{border-color:#496183!important;color:#dce7f6!important;}
html.modo-oscuro .panel-resumen .fila-resumen span{color:#dce7f6!important;font-weight:700!important;}
html.modo-oscuro .panel-resumen .fila-resumen strong{color:#fff!important;font-size:18px!important;}

/* Control de horas y Mis horas. */
html.modo-oscuro .control-horas-cabecera{padding:22px 24px!important;border:1px solid #3d5272!important;border-left:5px solid #d3144c!important;border-radius:15px!important;background:#182b4a!important;box-shadow:none!important;}
html.modo-oscuro .control-horas-cabecera h1{color:#f5f8fd!important;}
html.modo-oscuro .control-horas-cabecera p{color:#bdcbe0!important;}
html.modo-oscuro .control-horas-cabecera .boton-secundario,html.modo-oscuro .control-horas-filtros .boton-secundario{display:inline-flex!important;min-height:42px!important;align-items:center!important;justify-content:center!important;padding:9px 14px!important;border:1px solid #587093!important;border-radius:8px!important;background:#203452!important;color:#f4f8fd!important;font-weight:800!important;text-decoration:none!important;}
html.modo-oscuro .control-horas-filtros{margin:18px 0!important;padding:16px!important;border:1px solid #3d5272!important;border-radius:13px!important;background:#182b4a!important;box-shadow:none!important;}
html.modo-oscuro .control-horas-filtros label{color:#e5edf8!important;font-weight:800!important;}
html.modo-oscuro .control-horas-filtros input,html.modo-oscuro .control-horas-filtros select{border-color:#496183!important;background:#101d32!important;color:#f4f8fd!important;}
html.modo-oscuro .control-horas-tabla{border-color:#3d5272!important;background:#182b4a!important;box-shadow:none!important;}
html.modo-oscuro .control-horas-tabla table{background:#182b4a!important;}
html.modo-oscuro .control-horas-tabla th{background:#273a5a!important;color:#f5f8fd!important;}
html.modo-oscuro .control-horas-tabla td{border-color:#3d5272!important;color:#e8eff9!important;}
html.modo-oscuro .control-horas-tabla .fila-alerta td{background:#33243a!important;color:#fff1f4!important;}
html.modo-oscuro .control-horas-tabla .fila-podio td{background:#3a3320!important;color:#fef3c7!important;}
html.modo-oscuro .control-horas-resumen>div{border-color:#3d5272!important;background:#182b4a!important;box-shadow:none!important;}
html.modo-oscuro .control-horas-resumen span{color:#bdcbe0!important;}
html.modo-oscuro .control-horas-resumen strong{color:#f5f8fd!important;}

/* Presentismo general: vista legible en modo oscuro. */
html.modo-oscuro .presentismo-cabecera{padding:22px 24px!important;border:1px solid #3d5272!important;border-left:5px solid #d3144c!important;border-radius:15px!important;background:#182b4a!important;box-shadow:none!important;}
html.modo-oscuro .presentismo-cabecera h1{color:#f5f8fd!important;}
html.modo-oscuro .presentismo-cabecera p{color:#bdcbe0!important;}
html.modo-oscuro .presentismo-cabecera .boton-secundario,html.modo-oscuro .presentismo-filtros .boton-secundario{display:inline-flex!important;min-height:42px!important;align-items:center!important;justify-content:center!important;padding:9px 14px!important;border:1px solid #587093!important;border-radius:8px!important;background:#203452!important;color:#f4f8fd!important;font-weight:800!important;text-decoration:none!important;}
html.modo-oscuro .presentismo-filtros{margin:18px 0!important;padding:16px!important;border:1px solid #3d5272!important;border-radius:13px!important;background:#182b4a!important;box-shadow:none!important;}
html.modo-oscuro .presentismo-filtros label{color:#e5edf8!important;font-weight:800!important;}
html.modo-oscuro .presentismo-filtros select,html.modo-oscuro .presentismo-filtros input{border-color:#496183!important;background:#101d32!important;color:#f4f8fd!important;}
html.modo-oscuro .presentismo-tabla{border-color:#3d5272!important;background:#182b4a!important;box-shadow:none!important;}
html.modo-oscuro .presentismo-tabla table{background:#182b4a!important;}
html.modo-oscuro .presentismo-tabla th{background:#273a5a!important;color:#f5f8fd!important;}
html.modo-oscuro .presentismo-tabla td{border-color:#3d5272!important;color:#e8eff9!important;}
html.modo-oscuro .presentismo-tabla td strong{color:#fff!important;}

/* Grilla Horaria: contraste completo en modo oscuro. */
html.modo-oscuro .cabecera-guardia{border:1px solid #3d5272!important;border-left:5px solid #d3144c!important;border-radius:15px!important;background:#182b4a!important;box-shadow:none!important;}
html.modo-oscuro .cabecera-guardia h1{color:#f5f8fd!important;}
html.modo-oscuro .cabecera-guardia p{color:#bdcbe0!important;}
html.modo-oscuro .tarjeta-semana{border-color:#3d5272!important;background:#182b4a!important;box-shadow:none!important;}
html.modo-oscuro .tarjeta-semana .dato{border-color:#3d5272!important;background:#203452!important;}
html.modo-oscuro .tarjeta-semana .dato strong{color:#f5f8fd!important;}
html.modo-oscuro .tarjeta-semana .dato p{color:#c9d6e8!important;}
html.modo-oscuro .tarjeta-semana .dato summary{color:#f5f8fd!important;}
html.modo-oscuro .tarjeta-semana .dato form{border-color:#3d5272!important;background:#182b4a!important;}
html.modo-oscuro .tarjeta-semana select{border-color:#496183!important;background:#101d32!important;color:#f5f8fd!important;}
html.modo-oscuro .titulo-grilla{color:#f5f8fd!important;}
html.modo-oscuro .grilla-guardias{border-color:#3d5272!important;background:#182b4a!important;}
html.modo-oscuro .grilla-guardias th{border-color:#496183!important;background:#273a5a!important;color:#f5f8fd!important;}
html.modo-oscuro .grilla-guardias td{border-color:#3d5272!important;background:#182b4a!important;color:#e8eff9!important;}
html.modo-oscuro .grilla-guardias td:first-child{background:#203452!important;color:#f5f8fd!important;}
html.modo-oscuro .grilla-guardias .encabezado-turno td{background:#102745!important;color:#f5f8fd!important;}
html.modo-oscuro .grilla-guardias .sin-personal{color:#b8c8dc!important;}
html.modo-oscuro .grilla-guardias .rotativo-asignado{color:#dce6f5!important;}
html.modo-oscuro .agregar-personal-desde-grilla{border-color:#3d5272!important;background:#182b4a!important;box-shadow:none!important;}
html.modo-oscuro .agregar-personal-desde-grilla summary,html.modo-oscuro .agregar-personal-desde-grilla label{color:#f5f8fd!important;}
html.modo-oscuro .agregar-personal-desde-grilla input,html.modo-oscuro .agregar-personal-desde-grilla select{border-color:#496183!important;background:#101d32!important;color:#f5f8fd!important;}
html.modo-oscuro .tarjeta-dia-mobile,html.modo-oscuro .tarjeta-turno-mobile{border-color:#3d5272!important;background:#182b4a!important;box-shadow:none!important;}
html.modo-oscuro .fecha-dia-mobile,html.modo-oscuro .turno-header-mobile,html.modo-oscuro .rol-etiqueta{color:#f5f8fd!important;}
html.modo-oscuro .rol-mobile{border-color:#3d5272!important;color:#e8eff9!important;}

/* Elementos internos de la Grilla Horaria en modo oscuro. */
html.modo-oscuro .grilla-guardias .bombero-item{border:1px solid #496183!important;background:#203452!important;color:#f5f8fd!important;}
html.modo-oscuro .grilla-guardias .nombre-en-grilla{color:#f5f8fd!important;font-weight:700!important;}
html.modo-oscuro .grilla-guardias .aviso-asignacion-admin,
html.modo-oscuro .aviso-asignacion-admin{border:1px solid #9f7a20!important;background:#3a3119!important;color:#ffe9a6!important;}
html.modo-oscuro .resumen-inscripciones-semana{border:1px solid #3d5272!important;background:#182b4a!important;box-shadow:none!important;}
html.modo-oscuro .resumen-inscripciones-semana h3{color:#f5f8fd!important;}
html.modo-oscuro .resumen-inscripciones-listas>div{border-color:#3d5272!important;background:#203452!important;}
html.modo-oscuro .resumen-inscripciones-listas h4{color:#f5f8fd!important;}
html.modo-oscuro .resumen-inscripciones-listas .persona-resumen{border-color:#496183!important;color:#e2ebf8!important;}
html.modo-oscuro .resumen-inscripciones-listas .persona-resumen.persona-inactiva,html.modo-oscuro .resumen-inscripciones-listas .persona-resumen.persona-inactiva em{color:#bdcbe0!important;}
html.modo-oscuro .resumen-inscripciones-listas .npb-jerarquia{color:#bdcbe0!important;}
html.modo-oscuro .resumen-inscripciones-listas .subtitulo-pagina{color:#c7d4e6!important;}

/* Próximos domingos: contraste y tarjetas en modo oscuro. */
html.modo-oscuro .npb-domingos-head{padding:24px 26px;border:1px solid #3d5272;border-left:5px solid #d3144c;border-radius:15px;background:#182b4a;box-shadow:none;}
html.modo-oscuro .npb-domingos-head h1{color:#f5f8fd!important;}
html.modo-oscuro .npb-domingos-head p{color:#bdcbe0!important;}
html.modo-oscuro .npb-nuevo-domingo summary{border:1px solid #d3144c;background:#d3144c;color:#fff;box-shadow:none;}
html.modo-oscuro .npb-nuevo-domingo[open] form{border-color:#3d5272;background:#182b4a;}
html.modo-oscuro .npb-nuevo-domingo label{color:#e7eef8;}
html.modo-oscuro .npb-nuevo-domingo input{border-color:#496183;background:#101d32;color:#f5f8fd;}
html.modo-oscuro .npb-nuevo-domingo-botones button[type="button"]{border-color:#496183;background:#223553;color:#f3f6fb;}
html.modo-oscuro .npb-domingo-card{border-color:#3d5272;background:#182b4a;box-shadow:none;}
html.modo-oscuro .npb-domingo-card-head{border-color:#3d5272;background:#203452;}
html.modo-oscuro .npb-domingo-card-head h2{color:#f5f8fd;}
html.modo-oscuro .npb-domingo-card-head p{color:#bdcbe0;}html.modo-oscuro .npb-cupo-indicador.cupo-alerta{color:#d3144c;}
html.modo-oscuro .npb-cupo-inline label,html.modo-oscuro .npb-rol-slot h3{color:#e7eef8;}
html.modo-oscuro .npb-cupo-inline input,html.modo-oscuro .npb-agregar-persona select{border-color:#496183;background:#101d32;color:#f5f8fd;}html.modo-oscuro .npb-agregar-dotacion summary{border-color:#496183;color:#bdcbe0;}
html.modo-oscuro .npb-sin-asignar-domingo summary{border-color:#496183;color:#bdcbe0;}
html.modo-oscuro .npb-sin-asignar-domingo .persona-resumen{border-color:#496183!important;}
html.modo-oscuro .npb-sin-asignar-domingo .persona-resumen.persona-inactiva,html.modo-oscuro .npb-sin-asignar-domingo .persona-resumen.persona-inactiva em{color:#bdcbe0!important;}
html.modo-oscuro .npb-sin-asignar-domingo .npb-jerarquia{color:#bdcbe0!important;}html.modo-oscuro .npb-checklist-personal{border-color:#496183;background:#101d32;}html.modo-oscuro .npb-checklist-personal label{color:#f5f8fd;}html.modo-oscuro .npb-checklist-personal label:hover{background:#203452;}
html.modo-oscuro .npb-persona-chip{border-color:#496183;background:#203452;color:#f5f8fd;}
html.modo-oscuro .npb-persona-chip .npb-jerarquia{color:#bdcbe0!important;}
html.modo-oscuro .npb-persona-chip button{color:#ff9fb9;}
html.modo-oscuro .npb-sin-asignar{color:#bdcbe0;}
html.modo-oscuro .npb-domingo-card-foot{border-color:#3d5272;}
html.modo-oscuro .npb-domingo-card-foot button{background:#d3144c;color:#fff;}
html.modo-oscuro .npb-btn-eliminar{border-color:#7a3242!important;background:#241722!important;color:#ff9fb9!important;}
html.modo-oscuro .npb-drag-handle{border-color:#496183;background:#101d32;color:#bdcbe0;}
html.modo-oscuro .npb-agregar-relevo summary{border-color:#496183;color:#bdcbe0;}
html.modo-oscuro .npb-agregar-relevo select,html.modo-oscuro .npb-agregar-relevo input[type=time]{border-color:#496183;background:#101d32;color:#f5f8fd;}
html.modo-oscuro .npb-persona-chip.chip-rotativo{border-color:#7a5a1e;background:#2a2210;color:#f3d38a;}
html.modo-oscuro .npb-domingo-card.is-finalizado{border-color:#6b2740;background:#2a1622;}
html.modo-oscuro .npb-domingo-card.is-finalizado .npb-domingo-card-head{background:#3a1d2c;border-color:#6b2740;}
html.modo-oscuro .npb-estado-chip.chip-finalizado{border-color:#8f3350;background:#3a1d2c;color:#f2b8c6;}
html.modo-oscuro .npb-publicar-todo button{background:#15803d;color:#fff;}
html.modo-oscuro .npb-estado-ciclo{border:1px solid #3d5272;background:#182b4a;}
html.modo-oscuro .npb-estado-ciclo h2{color:#f5f8fd;}
html.modo-oscuro .npb-estado-caption,html.modo-oscuro .npb-estado-linea span{color:#bdcbe0;}
html.modo-oscuro .npb-estado-linea b{background:#273a5a;color:#fff;}
html.modo-oscuro .npb-domingo-empty{border-color:#496183;background:#182b4a;color:#dce7f6;}
@media(max-width:980px){html.modo-oscuro .npb-domingos-head{padding:20px}}

/* Relevos dentro de una grilla ya publicada. */
html.modo-oscuro .grilla-guardias .relevo-item{display:flex!important;align-items:flex-start!important;flex-direction:column!important;gap:7px!important;padding:9px!important;}
html.modo-oscuro .grilla-guardias .relevo-item .nombre-en-grilla{width:100%;color:#fff!important;font-size:12px!important;line-height:1.25!important;}
html.modo-oscuro .grilla-guardias .relevo-item .form-relevo{width:100%;margin:0!important;}
html.modo-oscuro .grilla-guardias .relevo-item .accion-relevo{display:flex!important;width:100%!important;min-height:30px!important;align-items:center!important;justify-content:center!important;border:1px solid #d3144c!important;border-radius:7px!important;background:#d3144c!important;color:#fff!important;font-size:11px!important;font-weight:800!important;line-height:1!important;}
html.modo-oscuro .grilla-guardias .relevo-item .accion-relevo:hover{background:#a90d3e!important;}
html.modo-oscuro .grilla-guardias .relevo-item .postular-relevo{width:100%!important;border-top:1px solid #496183!important;padding-top:6px!important;}
html.modo-oscuro .grilla-guardias .relevo-item .postular-relevo summary{color:#ff9fba!important;font-size:11px!important;font-weight:800!important;}
html.modo-oscuro .grilla-guardias .relevo-item .postular-relevo form{display:grid!important;grid-template-columns:1fr 1fr!important;gap:5px!important;}
html.modo-oscuro .grilla-guardias .relevo-item .postular-relevo label{color:#d5e0ee!important;font-size:10px!important;}
html.modo-oscuro .grilla-guardias .relevo-item .postular-relevo select,html.modo-oscuro .grilla-guardias .relevo-item .postular-relevo input{width:100%!important;max-width:none!important;border-color:#496183!important;background:#101d32!important;color:#f5f8fd!important;}
html.modo-oscuro .grilla-guardias .relevo-item .postular-relevo button{grid-column:1/-1!important;}

/* Inicio: todos los indicadores legibles en modo oscuro. */
html.modo-oscuro .vista-inicio .contenido,html.modo-oscuro .inicio-rapido{background:#0b1e3b!important;}
html.modo-oscuro .inicio-rapido-head>div>span{color:#ff9fba!important;}
html.modo-oscuro .inicio-rapido-head h1{color:#f7f9fd!important;}
html.modo-oscuro .inicio-rapido-head p{color:#c4d1e3!important;}
html.modo-oscuro .inicio-rapido-head .boton-principal{box-shadow:none!important;}
html.modo-oscuro .inicio-alertas-domingo a{border-color:#75405a!important;background:#2a2339!important;color:#f5f8fd!important;}
html.modo-oscuro .inicio-alertas-domingo small{color:#c6d2e2!important;}
html.modo-oscuro .inicio-frase-dia{border-color:#806c38!important;background:#292a31!important;color:#f5edd4!important;}
html.modo-oscuro .inicio-frase-dia small{color:#f0d68c!important;}
html.modo-oscuro .inicio-frase-dia p{color:#fff4d9!important;}
html.modo-oscuro .inicio-resumen-grid article,html.modo-oscuro .inicio-novedades{border-color:#3d5272!important;background:#182b4a!important;box-shadow:none!important;}
html.modo-oscuro .inicio-resumen-grid article>strong,html.modo-oscuro .inicio-card-head h2,html.modo-oscuro .inicio-novedades h2{color:#f5f8fd!important;}
html.modo-oscuro .inicio-resumen-grid article>p,html.modo-oscuro .inicio-novedades-titulo p{color:#bdcbe0!important;}
html.modo-oscuro .inicio-horas-detalle span{background:#203452!important;color:#dce7f6!important;}
html.modo-oscuro .inicio-horas-detalle b{color:#fff!important;}
html.modo-oscuro .inicio-asistencia-grid span{color:#c5d2e3!important;}
html.modo-oscuro .inicio-asistencia-grid b{color:#fff!important;}
html.modo-oscuro .inicio-novedades-grid a{border-color:#3d5272!important;background:#203452!important;color:#f5f8fd!important;}
html.modo-oscuro .inicio-novedades-grid a:hover{border-color:#d3144c!important;background:#273a5a!important;}
html.modo-oscuro .inicio-novedades-grid small{color:#bdcbe0!important;}
html.modo-oscuro .inicio-novedades-grid i{color:#ff9fba!important;}

/* Panel de notificaciones: lectura clara en modo oscuro. */
html.modo-oscuro .panel-notificaciones{border-color:#496183!important;background:#182b4a!important;box-shadow:0 18px 35px rgba(0,0,0,.34)!important;}
html.modo-oscuro .panel-notificaciones-cabecera{border-color:#496183!important;background:#203452!important;}
html.modo-oscuro .panel-notificaciones-cabecera strong{color:#f5f8fd!important;}
html.modo-oscuro .panel-notificaciones-cabecera span{color:#bdcbe0!important;}
html.modo-oscuro .notificacion-item{border-color:#3d5272!important;background:#182b4a!important;color:#f5f8fd!important;}
html.modo-oscuro .notificacion-item:hover{background:#273a5a!important;}
html.modo-oscuro .notificacion-item.no-leida{border-left-color:#ff4e7e!important;background:#2b2742!important;}
html.modo-oscuro .notificacion-item strong{color:#f8faff!important;}
html.modo-oscuro .notificacion-item span{color:#c5d2e3!important;}
html.modo-oscuro .notificacion-item small{color:#9fb2cc!important;}
html.modo-oscuro .lista-notificaciones{scrollbar-color:#697f9e #101d32;}
html.modo-oscuro .lista-notificaciones::-webkit-scrollbar{width:10px;}
html.modo-oscuro .lista-notificaciones::-webkit-scrollbar-track{background:#101d32;}
html.modo-oscuro .lista-notificaciones::-webkit-scrollbar-thumb{border:2px solid #101d32;border-radius:20px;background:#667c9a;}
html.modo-oscuro .notificaciones-vacias{color:#c5d2e3!important;}

/* Protocolos: lectura y edición claras en modo oscuro. */
html.modo-oscuro .protocolos-cabecera{padding:22px 24px!important;border:1px solid #3d5272!important;border-left:5px solid #d3144c!important;border-radius:15px!important;background:#182b4a!important;box-shadow:none!important;}
html.modo-oscuro .protocolos-cabecera h1{color:#f5f8fd!important;}
html.modo-oscuro .protocolos-cabecera p{color:#bdcbe0!important;}
html.modo-oscuro .protocolos-cabecera .boton-secundario,html.modo-oscuro .protocolos-formulario .boton-secundario{border-color:#587093!important;background:#203452!important;color:#f4f8fd!important;}
html.modo-oscuro .tarjeta-protocolo{border-color:#3d5272!important;background:#182b4a!important;box-shadow:none!important;}
html.modo-oscuro .tarjeta-protocolo summary{background:#203452!important;color:#f5f8fd!important;}
html.modo-oscuro .tarjeta-protocolo summary span{color:#bdcbe0!important;}
html.modo-oscuro .protocolos-contenido{border-color:#3d5272!important;}
html.modo-oscuro .protocolo-item{border-color:#3d5272!important;background:#182b4a!important;}
html.modo-oscuro .protocolo-item h2{color:#f5f8fd!important;}
html.modo-oscuro .protocolo-texto{color:#d6e1ef!important;}
html.modo-oscuro .mensaje-vacio{color:#bdcbe0!important;}
html.modo-oscuro .protocolo-item .boton-enlace{border-color:#587093!important;background:#203452!important;color:#f4f8fd!important;}
html.modo-oscuro .protocolos-formulario{border-color:#3d5272!important;background:#182b4a!important;box-shadow:none!important;}
html.modo-oscuro .protocolos-formulario label{color:#e4edf8!important;}
html.modo-oscuro .protocolos-formulario input,html.modo-oscuro .protocolos-formulario select,html.modo-oscuro .protocolos-formulario textarea{border-color:#496183!important;background:#101d32!important;color:#f5f8fd!important;}
html.modo-oscuro .protocolos-formulario .helptext{color:#bdcbe0!important;}

/* Acciones secundarias de Nueva sección y Nuevo protocolo. */
html.modo-oscuro .protocolos-cabecera a.boton-secundario,html.modo-oscuro .protocolos-formulario a.boton-secundario{display:inline-flex!important;min-height:42px!important;align-items:center!important;justify-content:center!important;padding:9px 15px!important;border:1px solid #587093!important;border-radius:9px!important;background:#203452!important;color:#f5f8fd!important;font-size:13px!important;font-weight:800!important;line-height:1!important;text-decoration:none!important;box-shadow:none!important;}
html.modo-oscuro .protocolos-cabecera a.boton-secundario:hover,html.modo-oscuro .protocolos-formulario a.boton-secundario:hover{border-color:#d3144c!important;background:#2b4265!important;color:#fff!important;}
html.modo-oscuro .protocolos-formulario .acciones-formulario{display:flex!important;flex-wrap:wrap!important;gap:10px!important;align-items:center!important;}

/* Protocolos: contenidos individuales desplegables y PDFs adjuntos. */
.protocolo-item{display:block;padding:0;}
.protocolo-item>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 22px;cursor:pointer;list-style:none;color:#172033;}
.protocolo-item>summary::-webkit-details-marker{display:none;}
.protocolo-item>summary strong{font-size:1rem;}
.protocolo-item>summary span{font-size:.84rem;color:#667085;font-weight:600;}
.protocolo-detalle{padding:0 22px 20px;}
.protocolo-pdf-contenedor{display:grid;gap:12px;margin-top:16px;}
.protocolo-pdf-enlace{justify-self:start;text-decoration:none;}
.protocolo-pdf{width:100%;height:520px;border:1px solid #d8dee8;border-radius:10px;background:#fff;}
.protocolo-acciones{display:flex;justify-content:flex-end;align-items:center;gap:18px;margin-top:16px;}
.protocolo-acciones form{margin:0;}
.protocolo-item .boton-enlace{align-self:auto;}
html.modo-oscuro .protocolo-item>summary{color:#f5f8fd!important;background:#182b4a!important;}
html.modo-oscuro .protocolo-item>summary span{color:#bdcbe0!important;}
html.modo-oscuro .protocolo-detalle{background:#182b4a!important;}
html.modo-oscuro .protocolo-pdf{border-color:#496183;background:#fff;}
@media (max-width:640px){.protocolo-item>summary{padding:15px 16px;}.protocolo-detalle{padding:0 16px 16px;}.protocolo-pdf{height:380px;}}

/* Texto extraído de los PDF de Protocolos. */
.protocolo-texto-pdf{margin-top:16px;padding-top:16px;border-top:1px solid #e3e7ee;white-space:normal;}
.protocolo-aviso-pdf{margin:16px 0 0;padding:12px 14px;border-radius:9px;background:#fff6df;color:#805800;}
html.modo-oscuro .protocolo-texto-pdf{border-color:#3d5272!important;}
html.modo-oscuro .protocolo-aviso-pdf{background:#493b1e!important;color:#ffe6a1!important;}

/* Detalle de Partes: lectura y revisión ordenada. */
.parte-detalle-cabecera{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:18px;padding:25px 27px;border:1px solid var(--cmd-line);border-left:5px solid var(--cmd-red);border-radius:16px;background:#fff;box-shadow:var(--cmd-shadow);}
.parte-detalle-eyebrow{margin:0 0 7px;color:#c40942;font-size:11px!important;font-weight:800;letter-spacing:.08em;text-transform:uppercase;}
.parte-detalle-cabecera h1{margin:0;color:#172033;font-size:28px;letter-spacing:-.035em;}
.parte-detalle-cabecera>div>p:last-child{margin:6px 0 0;color:#667085;}
.parte-detalle-acciones{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap;}.parte-detalle-acciones .boton-principal,.parte-detalle-acciones .boton-secundario{display:inline-flex;min-height:39px;align-items:center;justify-content:center;padding:8px 14px;border-radius:9px;font-weight:800;text-decoration:none}
.parte-detalle-acciones form{margin:0;display:inline-flex;gap:8px;align-items:center;}
.parte-detalle-acciones input{width:115px;min-height:39px;padding:8px 10px;}
.parte-detalle-resumen{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px;}
.parte-detalle-resumen article{min-height:91px;padding:17px 19px;border:1px solid var(--cmd-line);border-radius:13px;background:#fff;box-shadow:var(--cmd-shadow);}
.parte-detalle-resumen span{display:block;margin-bottom:7px;color:#667085;font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;}
.parte-detalle-resumen strong{display:block;color:#172033;font-size:16px;line-height:1.3;}
.parte-estado{color:#c40942!important;}
.parte-detalle-aviso,.parte-detalle-alerta{margin:0 0 18px;padding:15px 18px;border-radius:12px;}
.parte-detalle-aviso{border:1px solid #f1c4d1;background:#fff7f9;color:#5a1730;}.parte-detalle-aviso strong{color:#b0093c;}.parte-detalle-aviso p{margin:5px 0 0;line-height:1.5;}
.parte-detalle-alerta{border:1px solid #f5ce87;background:#fff8e8;color:#765000;font-weight:700;}
.parte-decision{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(350px,1.2fr);gap:24px;align-items:start;margin:0 0 20px;padding:22px 24px;border:1px solid #f0bdcb;border-radius:15px;background:#fff9fa;}
.parte-decision h2{margin:0 0 7px;color:#172033;font-size:20px;}.parte-decision>div>p:last-child{margin:0;color:#667085;line-height:1.5;}
.parte-decision-acciones{display:grid;grid-template-columns:auto minmax(250px,1fr);gap:14px;align-items:end;}.parte-decision-acciones form{margin:0;}.parte-decision-acciones label{display:block;margin:0 0 6px;color:#4d5564;font-size:12px;font-weight:800;}.parte-decision-acciones textarea{width:100%;min-height:75px;margin-bottom:9px;padding:9px 10px;}.parte-decision-acciones .boton-cta{width:100%;}
.parte-detalle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.parte-detalle-seccion{margin:0 0 18px;padding:0;overflow:hidden;}.parte-detalle-seccion>h2{margin:0;padding:18px 20px;border-bottom:1px solid #e9edf2;color:#172033;font-size:17px;}.parte-detalle-seccion>table{width:100%;border:0;border-radius:0;}.parte-detalle-seccion th{width:42%;}.parte-tabla-scroll{overflow-x:auto;}.parte-tabla-scroll table{width:100%;margin:0;border:0;border-radius:0;}.parte-textos dl{margin:0;padding:0 20px 5px;}.parte-textos dl>div{padding:15px 0;border-bottom:1px solid #edf0f4;}.parte-textos dl>div:last-child{border-bottom:0;}.parte-textos dt{margin-bottom:6px;color:#596171;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;}.parte-textos dd{margin:0;color:#273142;line-height:1.6;white-space:pre-line;}
html.modo-oscuro .parte-detalle-cabecera,html.modo-oscuro .parte-detalle-resumen article,html.modo-oscuro .parte-detalle-seccion{border-color:#3d5272!important;background:#182b4a!important;box-shadow:none!important;}
html.modo-oscuro .parte-detalle-cabecera h1,html.modo-oscuro .parte-detalle-resumen strong,html.modo-oscuro .parte-detalle-seccion>h2,html.modo-oscuro .parte-textos dd,html.modo-oscuro .parte-decision h2{color:#f4f7fc!important;}
html.modo-oscuro .parte-detalle-cabecera>div>p:last-child,html.modo-oscuro .parte-detalle-resumen span,html.modo-oscuro .parte-textos dt,html.modo-oscuro .parte-decision>div>p:last-child{color:#b9c8dd!important;}
html.modo-oscuro .parte-detalle-seccion>h2,html.modo-oscuro .parte-textos dl>div{border-color:#3d5272!important;}
html.modo-oscuro .parte-detalle-aviso{border-color:#8f3f58;background:#3e2130;color:#f8dce5!important;}.modo-oscuro .parte-detalle-aviso strong{color:#ffd2df!important;}
html.modo-oscuro .parte-detalle-alerta{border-color:#7c6329;background:#3d3219;color:#ffe6a1!important;}
html.modo-oscuro .parte-decision{border-color:#87425a!important;background:#2a1c31!important;}.modo-oscuro .parte-decision-acciones label{color:#dce5f2!important;}
@media(max-width:900px){.parte-detalle-cabecera{flex-direction:column;padding:20px;}.parte-detalle-acciones{justify-content:flex-start;}.parte-detalle-resumen{grid-template-columns:repeat(2,minmax(0,1fr));}.parte-decision{grid-template-columns:1fr;}.parte-decision-acciones{grid-template-columns:1fr;}.parte-detalle-grid{grid-template-columns:1fr;}}
@media(max-width:560px){.parte-detalle-cabecera h1{font-size:23px;}.parte-detalle-resumen{grid-template-columns:1fr;gap:10px;}.parte-detalle-resumen article{min-height:0;padding:14px 16px;}.parte-detalle-acciones,.parte-detalle-acciones form{width:100%;}.parte-detalle-acciones a,.parte-detalle-acciones button{width:100%;text-align:center;justify-content:center;}.parte-detalle-acciones input{flex:1;}.parte-detalle-seccion>h2{padding:15px 16px;}.parte-textos dl{padding:0 16px;}}

/* Acción de regreso en el detalle del Parte. */
.parte-detalle-acciones .parte-volver{display:inline-flex!important;min-height:39px;align-items:center;justify-content:center;padding:8px 13px!important;border-color:#b8c3d3!important;background:#f5f7fa!important;color:#34435a!important;text-decoration:none!important;box-shadow:none!important;}
.parte-detalle-acciones .parte-volver:hover{border-color:#64748b!important;background:#e9eef5!important;color:#172033!important;transform:none!important;}
html.modo-oscuro .parte-detalle-acciones .boton-secundario{border-color:#587093!important;background:#203452!important;color:#f3f7fd!important;}
html.modo-oscuro .parte-detalle-acciones .boton-secundario:hover{border-color:#8aa2c7!important;background:#2b4265!important;}
html.modo-oscuro .parte-detalle-acciones .parte-volver{border-color:#587093!important;background:#203452!important;color:#f3f7fd!important;}
html.modo-oscuro .parte-detalle-acciones .parte-volver:hover{border-color:#8aa2c7!important;background:#2b4265!important;}

/* Protocolos: pantalla inicial solo con secciones desplegables. */
.tarjeta-protocolo>summary::after{content:'+';margin-left:auto;color:#c40942;font-size:24px;font-weight:400;line-height:1;}
.tarjeta-protocolo[open]>summary::after{content:'−';}
.tarjeta-protocolo>summary{min-height:70px;}

/* Control diario de Materiales. */
.control-materiales-info{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 18px;}.control-materiales-info>div{padding:15px 18px;border:1px solid var(--cmd-line);border-radius:12px;background:#fff;box-shadow:var(--cmd-shadow);}.control-materiales-info span{display:block;margin-bottom:5px;color:#667085;font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;}.control-materiales-info strong{color:#172033;font-size:17px;}.aviso-control-materiales{margin:0 0 18px;padding:13px 16px;border-left:4px solid #c40942;border-radius:9px;background:#fff7f9;color:#6a2439;font-weight:650;}.control-materiales-formulario{display:grid;gap:16px;}.control-materiales-movil{overflow:hidden;border:1px solid var(--cmd-line);border-radius:14px;background:#fff;box-shadow:var(--cmd-shadow);}.control-materiales-movil>header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 19px;border-bottom:1px solid #e6ebf1;background:#f7f9fc;}.control-materiales-movil>header h2{margin:0;color:#172033;font-size:18px;}.control-materiales-movil>header span{color:#667085;font-size:13px;font-weight:700;}.control-materiales-subsector{padding:16px 19px 4px;}.control-materiales-subsector h3{margin:0 0 9px;color:#4a5568;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;}.control-materiales-item{display:grid;grid-template-columns:minmax(180px,1fr) 104px minmax(250px,1.25fr);gap:12px;align-items:center;padding:11px 0;border-top:1px solid #edf0f4;}.control-materiales-subsector h3+.control-materiales-item{border-top:0;}.control-materiales-nombre{color:#263247;font-weight:750;}.control-materiales-estados{display:flex;gap:7px;}.control-materiales-estados label{display:inline-flex;cursor:pointer;}.control-materiales-estados input{position:absolute;opacity:0;pointer-events:none;}.control-materiales-estados span{display:inline-flex;width:42px;height:34px;align-items:center;justify-content:center;border:1px solid #cbd5e1;border-radius:8px;background:#fff;font-size:20px;font-weight:900;transition:.15s ease;}.control-estado-ok span{color:#14804a;}.control-estado-novedad span{color:#c40942;}.control-estado-ok input:checked+span{border-color:#1b9b5f;background:#eaf8ef;box-shadow:0 0 0 2px #c8eed8;}.control-estado-novedad input:checked+span{border-color:#cf1a4d;background:#fff0f4;box-shadow:0 0 0 2px #f7c4d3;}.control-materiales-item input[type=text]{width:100%;min-height:36px;padding:7px 10px;border:1px solid #ced8e5;border-radius:8px;background:#fff;color:#263247;}.control-config-form{margin-bottom:18px;grid-template-columns:1fr;}
.control-config-form>h2{margin-top:0;}
.control-config-campos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;}
.control-config-campos label{display:flex;flex-direction:column;gap:6px;color:#344054;font-size:13px;font-weight:800;}
.control-config-campos label small{color:#667085;font-weight:600;text-transform:none;letter-spacing:0;}
.control-config-campos .campo-completo{grid-column:1/-1;}
@media(max-width:700px){.control-config-campos{grid-template-columns:1fr;}}
html.modo-oscuro .control-config-campos label{color:#dbe6f5!important;}
html.modo-oscuro .control-config-campos label small{color:#9fb0c9!important;}.control-plantilla-lista form{margin:0;}.boton-chico{min-height:32px!important;padding:6px 10px!important;font-size:12px!important;}.control-config-form #id_orden{max-width:120px;}
html.modo-oscuro .control-materiales-info>div,html.modo-oscuro .control-materiales-movil,html.modo-oscuro .control-config-form,html.modo-oscuro .control-plantilla-lista{border-color:#3d5272!important;background:#182b4a!important;box-shadow:none!important;}html.modo-oscuro .control-materiales-info span,html.modo-oscuro .control-materiales-movil>header span,html.modo-oscuro .control-materiales-subsector h3{color:#b9c8dd!important;}html.modo-oscuro .control-materiales-info strong,html.modo-oscuro .control-materiales-movil>header h2,html.modo-oscuro .control-materiales-nombre{color:#f5f8fd!important;}html.modo-oscuro .control-materiales-movil>header{border-color:#3d5272!important;background:#203452!important;}html.modo-oscuro .control-materiales-item{border-color:#314766!important;}html.modo-oscuro .control-materiales-estados span,html.modo-oscuro .control-materiales-item input[type=text]{border-color:#496183!important;background:#101d32!important;color:#f5f8fd!important;}html.modo-oscuro .aviso-control-materiales{border-color:#ef4f7f!important;background:#3c2130!important;color:#ffdce6!important;}
@media(max-width:760px){.control-materiales-info{grid-template-columns:1fr;gap:9px;}.control-materiales-item{grid-template-columns:1fr auto;gap:9px;}.control-observacion{grid-column:1/-1;}.control-materiales-movil>header{align-items:flex-start;flex-direction:column;gap:5px;}.control-materiales-subsector{padding:14px 15px 3px;}}
.control-config-form textarea{width:100%;min-height:96px;resize:vertical;}
html.modo-oscuro .control-config-form textarea{border-color:#496183!important;background:#101d32!important;color:#f5f8fd!important;}

.controles-materiales-incumplidos{margin:0 0 18px;padding:17px 19px;border:1px solid #f3a4b7;border-left:5px solid #cf1648;border-radius:13px;background:#fff5f7;box-shadow:var(--cmd-shadow);}.controles-materiales-incumplidos>header>span{display:block;margin-bottom:3px;color:#be0c3e;font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;}.controles-materiales-incumplidos h2{margin:0;color:#83132f;font-size:18px;}.controles-materiales-incumplidos p{margin:4px 0 12px;color:#7b4050;font-size:13px;}.controles-materiales-incumplidos-lista{display:flex;flex-wrap:wrap;gap:9px;}.controles-materiales-incumplidos-lista article{display:grid;grid-template-columns:auto auto;gap:3px 10px;align-items:center;padding:9px 11px;border:1px solid #f1a7b8;border-radius:9px;background:#fff;color:#7e1733;}.controles-materiales-incumplidos-lista strong{font-size:13px;text-transform:capitalize;}.controles-materiales-incumplidos-lista span{font-size:12px;font-weight:750;}.controles-materiales-incumplidos-lista b{grid-column:1/-1;color:#c40942;font-size:11px;text-transform:uppercase;letter-spacing:.04em;}html.modo-oscuro .controles-materiales-incumplidos{border-color:#d15371!important;background:#3d2030!important;box-shadow:none!important;}html.modo-oscuro .controles-materiales-incumplidos h2{color:#ffd7e1!important;}html.modo-oscuro .controles-materiales-incumplidos p{color:#f4b9c8!important;}html.modo-oscuro .controles-materiales-incumplidos-lista article{border-color:#c14a68!important;background:#24172a!important;color:#ffe1e8!important;}html.modo-oscuro .controles-materiales-incumplidos-lista b{color:#ff9bb5!important;}
.control-materiales-info{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));}

.control-plantilla-editar{display:inline-flex;flex-direction:column;gap:2px;color:#172033;text-decoration:none;cursor:pointer;}.control-plantilla-editar:hover strong{color:#c40942;text-decoration:underline;}.control-plantilla-editar small{color:#708097;font-size:11px;font-weight:600;}html.modo-oscuro .control-plantilla-editar{color:#f4f7fc!important;}html.modo-oscuro .control-plantilla-editar small{color:#b8c7db!important;}

.fila-plantilla-movible{cursor:pointer;transition:background .15s ease;}.fila-plantilla-movible:hover{background:#fff4f7!important;}.ayuda-mover-material{display:block;margin-top:2px;color:#708097;font-size:11px;font-weight:600;}html.modo-oscuro .fila-plantilla-movible:hover{background:#2a2035!important;}html.modo-oscuro .ayuda-mover-material{color:#b8c7db!important;}

.fila-plantilla-enlace{display:block;min-height:100%;color:inherit;text-decoration:none;}.fila-plantilla-enlace:hover{color:#c40942!important;}.fila-plantilla-enlace:hover strong{text-decoration:underline;}

.ayuda-orden-materiales{margin:0 0 11px;color:#667085;font-size:12px;font-weight:650;}.fila-ordenable-material{touch-action:none;cursor:grab;user-select:none;}.fila-ordenable-material:active{cursor:grabbing;}.fila-ordenable-material.arrastrando-material{opacity:.42;background:#ffe8ef!important;}.fila-ordenable-material.destino-arriba{box-shadow:inset 0 3px 0 #cf1648;}.fila-ordenable-material.destino-abajo{box-shadow:inset 0 -3px 0 #cf1648;}html.modo-oscuro .ayuda-orden-materiales{color:#c0cce0!important;}html.modo-oscuro .fila-ordenable-material.arrastrando-material{background:#452438!important;}
.fila-ordenable-material.material-seleccionado{outline:3px solid #cf1648;outline-offset:-3px;background:#fff0f4!important;}.fila-ordenable-material.material-seleccionado td{color:#8f1034!important;}html.modo-oscuro .fila-ordenable-material.material-seleccionado{background:#4a2438!important;}

/* Reordenamiento manual del control de materiales */
.fila-ordenable-material { cursor: grab; touch-action: none; user-select: none; }
.fila-ordenable-material:active, .fila-ordenable-material.arrastrando-material { cursor: grabbing; opacity: .72; }
.fila-ordenable-material.destino-arriba { box-shadow: inset 0 3px 0 #cf0040; }
.fila-ordenable-material.destino-abajo { box-shadow: inset 0 -3px 0 #cf0040; }
/* El arrastre para reordenar (dragstart/drop) es de mouse -- el touch no
   lo dispara en celulares. "touch-action:none" (arriba, declarado dos
   veces) lo habilita en desktop pero de paso bloqueaba el swipe
   horizontal para ver la tabla completa en mobile. Va al final para
   ganarles a ambas declaraciones y restablecer el pan horizontal,
   solo en mobile. */
@media(max-width:768px){.fila-ordenable-material{touch-action:pan-x;}}
.fila-grupo-movil td{padding:9px 12px!important;background:#f7f9fc;color:#172033;font-size:13px;font-weight:800;letter-spacing:.02em;border-top:1px solid #e6ebf1!important;}
html.modo-oscuro .fila-grupo-movil td{background:#203452!important;color:#f5f8fd!important;border-color:#3d5272!important;}

/* Referencia de ubicación en el control diario de materiales */
.control-materiales-nombre small { display: block; margin-top: 3px; color: var(--texto-secundario, #667085); font-size: .82rem; font-weight: 500; }
.acciones-control-item { display: flex; align-items: center; gap: 8px; }
.acciones-control-item form { margin: 0; }

.fila-ordenable-material.requiere-reasignacion { background: #fff7e6; }
.aviso-reasignacion { display: block; margin-top: 3px; color: #a65a00; font-size: .78rem; }

/* Accesos del encabezado de configuración del control de Materiales */
.control-materiales-head{display:flex;align-items:center;justify-content:space-between;gap:20px;}
.materiales-control-acciones{margin-left:auto;justify-content:flex-end;}
.materiales-control-acciones a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:10px 15px;border-radius:10px;text-decoration:none;font-size:13px;font-weight:800;transition:.18s ease;}
.materiales-control-acciones a>span{display:grid;width:21px;height:21px;place-items:center;border-radius:6px;font-size:13px;line-height:1;}
.acceso-control-diario{border:1px solid #c40942;background:#c40942;color:#fff;box-shadow:0 5px 13px rgba(196,9,66,.18);}
.acceso-control-diario>span{background:rgba(255,255,255,.2);}
.acceso-inventario-materiales{border:1px solid #cbd2dc;background:#fff;color:#172033;}
.acceso-inventario-materiales>span{background:#edf1f6;color:#c40942;}
.materiales-control-acciones a:hover{transform:translateY(-1px);}
.acceso-control-diario:hover{background:#a80937;color:#fff;}
.acceso-inventario-materiales:hover{border-color:#172033;background:#f5f7fa;color:#172033;}
html.modo-oscuro .acceso-inventario-materiales{border-color:#496183;background:#223553;color:#f3f6fb;}
html.modo-oscuro .acceso-inventario-materiales>span{background:#17263f;color:#ff88aa;}
@media(max-width:700px){.control-materiales-head{align-items:stretch;flex-direction:column;}.materiales-control-acciones{margin-left:0;justify-content:stretch;}.materiales-control-acciones a{flex:1;}}

/* Versión sobria de los accesos del control de Materiales */
.control-materiales-head{display:flex;align-items:center;justify-content:space-between;gap:18px;}
.materiales-control-acciones{margin-left:auto;justify-content:flex-end;gap:8px;}
.materiales-control-acciones .boton-secundario{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 13px;text-decoration:none;font-size:12px;white-space:nowrap;box-shadow:none!important;}
@media(max-width:700px){.control-materiales-head{align-items:stretch;flex-direction:column;}.materiales-control-acciones{margin-left:0;}.materiales-control-acciones .boton-secundario{flex:1;}}

/* Planillas separadas por móvil en Automotores */
.automotores-tres-planillas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:18px 22px 22px;}
.automotores-planilla-movil{display:grid;gap:10px;align-content:start;padding:15px;border:1px solid #d9e0e9;border-radius:13px;background:#fff;box-shadow:0 4px 12px rgba(15,23,42,.04);}
.automotores-movil-titulo{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:10px;border-bottom:1px solid #e5e9ef;}.automotores-movil-titulo h3{margin:0;color:#172033;font-size:17px;}.automotores-movil-titulo span{color:#c40942;font-size:10px;font-weight:800;text-transform:uppercase;}
.automotores-planilla-movil .automotor-linea{display:grid;grid-template-columns:1fr;gap:4px;padding:0;border:0;}.automotores-planilla-movil .automotor-linea label{font-size:11px;}.automotores-planilla-movil select,.automotores-planilla-movil input,.automotores-planilla-movil textarea{width:100%;}.automotores-planilla-movil .boton-principal{width:100%;margin-top:5px;}
html.modo-oscuro .automotores-planilla-movil{border-color:#3c5273;background:#182b4a;}html.modo-oscuro .automotores-movil-titulo{border-color:#3c5273;}html.modo-oscuro .automotores-movil-titulo h3{color:#f3f6fb;}
html.modo-oscuro .ficha-movil-formulario{border-color:#3c5273!important;}
html.modo-oscuro .ficha-movil-formulario span{color:#c0cee0!important;}
html.modo-oscuro .ficha-movil-formulario b{color:#f3f6fb!important;}
html.modo-oscuro .ficha-movil-editable{border-color:#3c5273!important;background:#101d32!important;}
html.modo-oscuro .ficha-movil-editable label{color:#edf3fb!important;}
@media(max-width:1100px){.automotores-tres-planillas{grid-template-columns:1fr 1fr;}}@media(max-width:700px){.automotores-tres-planillas{grid-template-columns:1fr;padding:14px;}}

.selector-plantilla-movil{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px;}.selector-plantilla-movil a{padding:9px 13px;border:1px solid #ccd4df;border-radius:9px;background:#fff;color:#263043;text-decoration:none;font-size:12px;font-weight:800;}.selector-plantilla-movil a.activo{border-color:#c40942;background:#c40942;color:#fff;}html.modo-oscuro .selector-plantilla-movil a{border-color:#496183;background:#223553;color:#f3f6fb;}html.modo-oscuro .selector-plantilla-movil a.activo{border-color:#c40942;background:#c40942;color:#fff;}
.formularios-moviles-configuracion{display:grid;gap:22px;margin-top:22px}.formulario-movil-configuracion{scroll-margin-top:24px}.formulario-movil-configuracion-titulo>div{display:flex;align-items:flex-start;gap:12px}.formulario-movil-configuracion-titulo span{color:var(--color-primario,#cf0747);font-size:1.2rem}.formulario-movil-bloques{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.4fr);gap:22px;padding:20px}.formulario-movil-bloques h3{margin:0 0 12px}.controles-configurados-movil{display:grid;gap:12px}.acciones-control-configurado{display:flex;gap:8px;align-items:center}@media (max-width:850px){.formulario-movil-bloques{grid-template-columns:1fr}}
.ficha-movil-formulario{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 14px;padding:12px 0;border-bottom:1px solid var(--borde,#dce2ed);font-size:.82rem}.ficha-movil-formulario span{display:flex;flex-direction:column;gap:2px;color:var(--texto-secundario,#5d6b82)}.ficha-movil-formulario b{color:var(--texto-principal,#15213a);font-size:.68rem;letter-spacing:.04em;text-transform:uppercase}@media(max-width:600px){.ficha-movil-formulario{grid-template-columns:1fr}}
.ficha-movil-editable{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end;gap:12px;padding:18px 20px;border-bottom:1px solid var(--borde,#dce2ed);background:rgba(220,229,242,.32)}.ficha-movil-editable h3{grid-column:1/-1;margin:0;font-size:1rem}.ficha-movil-editable label{display:grid;gap:6px;font-size:.82rem;font-weight:700}.ficha-movil-editable input{width:100%}@media(max-width:1000px){.ficha-movil-editable{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.ficha-movil-editable{grid-template-columns:1fr}.ficha-movil-editable button{width:100%}}
/* Ficha y formularios independientes de cada móvil */
.pagina-formulario-automotores .formulario-movil-configuracion{padding:0;overflow:hidden;border-radius:16px}.pagina-formulario-automotores .formulario-movil-configuracion-titulo{margin:0;padding:18px 22px;border-bottom:1px solid var(--cmd-line,#dce2ed);background:linear-gradient(90deg,rgba(200,9,66,.07),rgba(255,255,255,0))}.pagina-formulario-automotores .formulario-movil-configuracion-titulo>div{align-items:center;gap:13px}.movil-ficha-icono{display:grid!important;place-items:center;flex:0 0 40px!important;width:40px!important;height:40px!important;border:0!important;border-radius:12px!important;background:#c40942!important;color:#fff!important;font-size:17px!important;font-weight:900!important;box-shadow:0 6px 14px rgba(196,9,66,.23)}.movil-ficha-etiqueta{display:block;margin:0 0 3px;color:#c40942;font-size:10px;font-weight:900;letter-spacing:.08em}.pagina-formulario-automotores .formulario-movil-configuracion h2{font-size:20px}.pagina-formulario-automotores .ficha-movil-editable{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;padding:19px 22px;border:0;border-bottom:1px solid var(--cmd-line,#dce2ed);background:rgba(241,244,249,.72)}.pagina-formulario-automotores .ficha-movil-editable h3{grid-column:1/-1;margin:0 0 2px;color:#172033;font-size:13px;letter-spacing:.06em;text-transform:uppercase}.pagina-formulario-automotores .ficha-movil-editable label{gap:7px;color:#46536a;font-size:12px;font-weight:800}.pagina-formulario-automotores .ficha-movil-editable input{min-height:43px;padding:10px 12px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:#172033}.pagina-formulario-automotores .ficha-movil-editable button{grid-column:1/-1;justify-self:start;margin-top:2px;min-height:42px;padding:10px 15px}.pagina-formulario-automotores .formulario-movil-bloques{padding:22px;gap:18px;background:#fff}.pagina-formulario-automotores .formulario-control-agregar{align-content:start;padding:16px;border:1px solid #e3e8f0;border-radius:12px;background:#f8fafc;grid-template-columns:1fr}.pagina-formulario-automotores .formulario-control-agregar h3{margin:0;color:#172033;font-size:14px}.pagina-formulario-automotores .formulario-control-agregar .control-observacion{min-height:28px}.pagina-formulario-automotores .formulario-control-agregar button{justify-self:start}.pagina-formulario-automotores .controles-configurados-movil{padding:16px;border:1px solid #e3e8f0;border-radius:12px;background:#fff}.pagina-formulario-automotores .formulario-control-existente{grid-template-columns:1fr 1.5fr auto;gap:10px;padding:12px 0}.pagina-formulario-automotores .acciones-control-configurado{align-self:end}.pagina-formulario-automotores .acciones-control-configurado button{white-space:nowrap}.modo-oscuro .pagina-formulario-automotores .formulario-movil-configuracion-titulo{background:linear-gradient(90deg,rgba(200,9,66,.18),rgba(24,43,74,0))}.modo-oscuro .pagina-formulario-automotores .ficha-movil-editable,.modo-oscuro .pagina-formulario-automotores .formulario-control-agregar{background:#162943}.modo-oscuro .pagina-formulario-automotores .formulario-movil-bloques,.modo-oscuro .pagina-formulario-automotores .controles-configurados-movil{background:#182b4a}.modo-oscuro .pagina-formulario-automotores .ficha-movil-editable h3,.modo-oscuro .pagina-formulario-automotores .formulario-control-agregar h3{color:#f5f7fb}.modo-oscuro .pagina-formulario-automotores .ficha-movil-editable label{color:#c3d0e1}@media(max-width:800px){.pagina-formulario-automotores .ficha-movil-editable{grid-template-columns:1fr}.pagina-formulario-automotores .formulario-control-existente{grid-template-columns:1fr}.pagina-formulario-automotores .acciones-control-configurado{align-self:auto}}
/* Más aire y campos legibles en la ficha de datos del móvil */
.pagina-formulario-automotores form.ficha-movil-editable{display:grid!important;grid-template-columns:repeat(2,minmax(260px,1fr))!important;gap:16px 24px!important;padding:24px 26px!important}.pagina-formulario-automotores form.ficha-movil-editable h3{font-size:14px!important;margin-bottom:4px!important}.pagina-formulario-automotores form.ficha-movil-editable label{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;font-size:13px!important}.pagina-formulario-automotores form.ficha-movil-editable input{display:block!important;box-sizing:border-box!important;width:100%!important;min-height:48px!important;padding:12px 14px!important;font-size:15px!important}.pagina-formulario-automotores form.ficha-movil-editable button{min-height:46px!important;padding:11px 20px!important;font-size:14px!important}@media(max-width:700px){.pagina-formulario-automotores form.ficha-movil-editable{grid-template-columns:1fr!important;padding:20px!important}}
.pagina-formulario-automotores .volver-automotores{display:inline-flex!important;align-items:center;justify-content:center;min-height:44px;padding:10px 16px!important;border:1px solid #c4cedd!important;border-radius:10px!important;background:#fff!important;color:#1d2a42!important;font-size:13px!important;font-weight:800!important;text-decoration:none!important;box-shadow:0 3px 10px rgba(15,23,42,.06)}.pagina-formulario-automotores .volver-automotores:hover{border-color:#c40942!important;background:#fff6f8!important;color:#c40942!important}.modo-oscuro .pagina-formulario-automotores .volver-automotores{border-color:#597197!important;background:#223553!important;color:#f7f9fc!important}.modo-oscuro .pagina-formulario-automotores .volver-automotores:hover{border-color:#e45178!important;background:#2c3f5d!important;color:#fff!important}

/* Salud: contraste de campos en modo oscuro */
html.modo-oscuro .pagina-salud .formulario .campo label,
html.modo-oscuro .salud-pagina .formulario .campo label,
html.modo-oscuro .formulario-salud .campo label,
html.modo-oscuro main:has(.salud-grupos) .formulario .campo label{
    color:#edf3fb!important;
    opacity:1!important;
}
html.modo-oscuro .pagina-salud .formulario .campo small,
html.modo-oscuro .salud-pagina .formulario .campo small,
html.modo-oscuro .formulario-salud .campo small,
html.modo-oscuro main:has(.salud-grupos) .formulario .campo small{
    color:#d0dced!important;
    opacity:1!important;
    font-weight:600;
}
html.modo-oscuro .pagina-salud .formulario .campo input,
html.modo-oscuro .pagina-salud .formulario .campo select,
html.modo-oscuro .pagina-salud .formulario .campo textarea,
html.modo-oscuro .salud-pagina .formulario .campo input,
html.modo-oscuro .salud-pagina .formulario .campo select,
html.modo-oscuro .salud-pagina .formulario .campo textarea,
html.modo-oscuro main:has(.salud-grupos) .formulario .campo input,
html.modo-oscuro main:has(.salud-grupos) .formulario .campo select,
html.modo-oscuro main:has(.salud-grupos) .formulario .campo textarea{
    color:#f7faff!important;
}

/* Formularios: etiquetas legibles en modo oscuro */
html.modo-oscuro .formulario .campo label{
    color:#f4f7fc!important;
    opacity:1!important;
    font-weight:800!important;
}
html.modo-oscuro .formulario .campo small{
    color:#d5e0ef!important;
    opacity:1!important;
    font-weight:600!important;
}
html.modo-oscuro .formulario .campo input,
html.modo-oscuro .formulario .campo select,
html.modo-oscuro .formulario .campo textarea{
    color:#f7faff!important;
}

/* Salud: contraste explícito de etiquetas del alta de insumos */
html.modo-oscuro .salud-formulario-alta .salud-etiqueta-visible{
  display:block!important;
  color:#f8fbff!important;
  opacity:1!important;
  text-shadow:none!important;
  font-weight:800!important;
}
html.modo-oscuro .salud-formulario-alta .salud-ayuda-visible{
  display:block!important;
  color:#dce9fa!important;
  opacity:1!important;
  text-shadow:none!important;
  font-weight:700!important;
}

/* Salud: acción de cierre de consultas */
.sanidad-resultados-alerta .salud-cerrar-consulta{
  display:inline-flex!important;
  min-height:38px!important;
  align-items:center!important;
  justify-content:center!important;
  padding:8px 13px!important;
  border:1px solid #b8c6d8!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#26364e!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:1!important;
  text-decoration:none!important;
}
.sanidad-resultados-alerta .salud-cerrar-consulta:hover{border-color:#c40942!important;background:#fff5f7!important;color:#b10d3d!important;}
html.modo-oscuro .sanidad-resultados-alerta .salud-cerrar-consulta{border-color:#587093!important;background:#223553!important;color:#f4f8fd!important;}
html.modo-oscuro .sanidad-resultados-alerta .salud-cerrar-consulta:hover{border-color:#e45178!important;background:#2b4265!important;color:#fff!important;}

/* Automotores: seguimiento legible en modo oscuro */
html.modo-oscuro .automotores-semanal,
html.modo-oscuro .automotores-incumplimientos{
  border-color:#3d5272!important;
  background:#182b4a!important;
  box-shadow:none!important;
}
html.modo-oscuro .automotores-semanal>header,
html.modo-oscuro .automotores-incumplimientos>header{border-color:#3d5272!important;background:#182b4a!important;}
html.modo-oscuro .automotores-semanal h2,
html.modo-oscuro .automotores-incumplimientos h2,
html.modo-oscuro .automotores-incumplimientos h3{color:#f5f8fd!important;}
html.modo-oscuro .automotores-semanal p,
html.modo-oscuro .automotores-incumplimientos>header>p,
html.modo-oscuro .automotores-incumplimientos-grid>article>p{color:#bdcbe0!important;}
html.modo-oscuro .automotores-semanal .tabla-contenedor,
html.modo-oscuro .automotores-semanal .tabla,
html.modo-oscuro .automotores-semanal .tabla td{background:#1d3456!important;border-color:#496183!important;color:#edf3fb!important;}
html.modo-oscuro .automotores-semanal .tabla th{background:#273f63!important;border-color:#496183!important;color:#f7f9fc!important;}
html.modo-oscuro .automotores-semanal .texto-suave{color:#b8c8dc!important;}
html.modo-oscuro .automotores-incumplimientos-grid>article{border-color:#3d5272!important;background:#203858!important;}
html.modo-oscuro .ranking-controles li{border-color:#496183!important;background:#182b4a!important;color:#f3f7fd!important;}
html.modo-oscuro .ranking-controles strong{color:#f5f8fd!important;}
html.modo-oscuro .ranking-controles small,
html.modo-oscuro .ranking-controles .ranking-vacio{color:#bdcbe0!important;}

/* Comunicados: tablas compactas y completas en pantalla móvil. */
@media (max-width:700px){
  #tablaComunicados,
  .documentos-firma-resumen .tabla{
    display:table!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    table-layout:fixed!important;
    overflow:hidden!important;
    white-space:normal!important;
  }
  #tablaComunicados th,
  #tablaComunicados td,
  .documentos-firma-resumen .tabla th,
  .documentos-firma-resumen .tabla td{
    box-sizing:border-box!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }
  #tablaComunicados td[colspan],
  .documentos-firma-resumen .tabla td[colspan]{
    display:table-cell!important;
    width:auto!important;
    min-width:0!important;
    padding:17px 12px!important;
    text-align:center!important;
  }
  #tablaComunicados th:nth-child(1),
  #tablaComunicados td:nth-child(1){width:58%!important;}
  #tablaComunicados th:nth-child(2),
  #tablaComunicados td:nth-child(2){width:42%!important;}
  .documentos-firma-resumen{padding:15px!important;}
  .documentos-firma-resumen .tabla th,
  .documentos-firma-resumen .tabla td{padding:12px 9px!important;}
  .documentos-firma-resumen .tabla th:nth-child(1),
  .documentos-firma-resumen .tabla td:nth-child(1){width:48%!important;}
  .documentos-firma-resumen .tabla th:nth-child(2),
  .documentos-firma-resumen .tabla td:nth-child(2){width:28%!important;}
  .documentos-firma-resumen .tabla th:nth-child(3),
  .documentos-firma-resumen .tabla td:nth-child(3){width:24%!important;}
}
html.modo-oscuro #tablaComunicados,
html.modo-oscuro .documentos-firma-resumen .tabla{background:#1d3456!important;border-color:#496183!important;}
html.modo-oscuro #tablaComunicados td,
html.modo-oscuro .documentos-firma-resumen .tabla td{background:#1d3456!important;border-color:#496183!important;color:#f3f7fd!important;}
html.modo-oscuro #tablaComunicados td[colspan],
html.modo-oscuro .documentos-firma-resumen .tabla td[colspan]{background:#1d3456!important;color:#dce8f8!important;}

/* Grilla horaria: tarjetas más claras y compactas en celular. */
@media (max-width:700px){
  .tarjetas-guardias-mobile{display:grid!important;gap:15px;}
  .tarjeta-dia-mobile{margin:0!important;border:1px solid #d9e0ea!important;border-radius:16px!important;box-shadow:0 6px 16px rgba(15,23,42,.08)!important;}
  .fecha-dia-mobile{margin:0!important;padding:13px 16px!important;border-radius:0!important;font-size:16px!important;font-weight:800!important;}
  .tarjeta-turno-mobile{padding:14px 16px 16px!important;border-top:1px solid #dbe2eb!important;}
  .turno-header-mobile{margin:0 0 10px!important;padding:9px 12px!important;border-radius:9px!important;font-size:14px!important;}
  .rol-mobile{display:grid!important;grid-template-columns:104px minmax(0,1fr)!important;align-items:start!important;gap:9px!important;margin:0!important;padding:10px 0!important;border-bottom:1px solid #e2e7ef!important;}
  .rol-mobile:last-of-type{border-bottom:0!important;}
  .rol-etiqueta{margin:0!important;padding-top:3px!important;font-size:12px!important;}
  .rol-mobile .bombero-item{min-width:0!important;margin:0!important;padding:8px 10px!important;border:1px solid #d7deea!important;border-radius:8px!important;background:#f4f6f9!important;color:#172033!important;font-size:13px!important;line-height:1.3!important;}
  .rol-mobile .sin-personal,.rol-mobile .rotativo-asignado{margin:0!important;padding-top:3px!important;font-size:13px!important;line-height:1.3!important;}
  .turno-acciones-mobile{margin-top:13px!important;gap:8px!important;}
  .turno-acciones-mobile .boton-principal{min-height:48px!important;font-size:15px!important;}
}
html.modo-oscuro .tarjetas-guardias-mobile .rol-mobile{border-color:#3d5272!important;}
html.modo-oscuro .tarjetas-guardias-mobile .rol-mobile .bombero-item{border-color:#496183!important;background:#203858!important;color:#f5f8fd!important;}
html.modo-oscuro .tarjetas-guardias-mobile .rol-mobile .sin-personal{color:#b8c8dc!important;}
html.modo-oscuro .tarjetas-guardias-mobile .rol-mobile .rotativo-asignado{color:#dce6f5!important;}

/* Buscador de personal (Parte de intervención > Dotación): resultados del
   buscador, botón "×" para quitar a una persona ya seleccionada, y el
   ocultamiento real de las personas no seleccionadas (la regla existente
   ".parte-presentes label{display:grid}" gana por encima del [hidden] del
   navegador si no se lo indica explícitamente acá). */
#buscador-personal-parte{margin-bottom:8px}
.parte-presentes label[hidden]{display:none}
.parte-presentes label{position:relative;padding-right:28px}
.parte-persona-quitar{position:absolute;top:50%;right:6px;transform:translateY(-50%);width:18px;height:18px;border:0;border-radius:50%;background:#e4e7ec;color:#4b5563;font-size:13px;line-height:18px;text-align:center;cursor:pointer;padding:0}
.parte-persona-quitar:hover{background:#d7dbe2}
.parte-personal-resultados{margin:-2px 0 10px;border:1px solid #d5dae3;border-radius:7px;overflow:hidden;max-height:180px;overflow-y:auto}
.parte-personal-resultado{display:block;width:100%;padding:8px 10px;border:0;border-bottom:1px solid #e7eaef;background:#fff;color:#242934;font:600 12px 'Hanken Grotesk',sans-serif;text-align:left;cursor:pointer}
.parte-personal-resultado:last-child{border-bottom:0}
.parte-personal-resultado:hover{background:#f1f3f6}
html.modo-oscuro .parte-persona-quitar{background:#101d32!important;color:#dbe6f5!important;}
html.modo-oscuro .parte-persona-quitar:hover{background:#0b1626!important;}
html.modo-oscuro .parte-personal-resultados{border-color:#3c5273!important;}
html.modo-oscuro .parte-personal-resultado{background:#203452!important;color:#edf3fb!important;border-color:#3c5273!important;}
html.modo-oscuro .parte-personal-resultado:hover{background:#284368!important;}

/* ==========================================================================
   FRANJA TABLET — 769px a 1024px
   Bloque acotado con (min-width:769px) and (max-width:1024px): NO altera
   el celular (<=768px) ni el escritorio (>=1025px), que quedan idénticos.
   Motivo: entre 769 y 900 el menú ya funcionaba como cajón (media query de
   900px), pero el botón hamburguesa heredaba `width:100%` y un <svg> sin
   medidas de la regla base -> se agrandaba hasta tapar la pantalla. Y a
   partir de 901 el layout de escritorio dejaba una sidebar fija de 260px
   comiéndose el ancho de la tablet. Acá se unifica el cajón en todo el
   rango, se normaliza el botón y se reparten las grillas y tablas.
   ========================================================================== */
@media (min-width:769px) and (max-width:1024px){

    /* ---- Menú tipo cajón, consistente en toda la franja ---- */
    body.menu-movil-abierto{overflow:hidden}
    .contenedor{display:block;min-height:100dvh}

    .boton-menu-movil{
        position:fixed;z-index:80;top:14px;left:16px;
        display:grid;width:46px;height:46px;place-items:center;padding:0;
        border:1px solid #d9dee7;border-radius:12px;background:#fff;color:#111a2d;
        box-shadow:0 8px 20px rgba(15,23,42,.16);
    }
    .boton-menu-movil svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
    .boton-menu-movil span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
    .menu-movil-abierto .boton-menu-movil{left:auto;right:16px;border-color:#c40942;background:#c40942;color:#fff}
    .menu-movil-abierto .boton-menu-movil svg{display:none}
    .menu-movil-abierto .boton-menu-movil::before{content:'\00d7';font-size:31px;font-weight:300;line-height:1}

    .fondo-menu-movil{position:fixed;z-index:69;inset:0;display:block;visibility:hidden;background:rgba(8,15,29,.55);opacity:0;transition:opacity .22s ease,visibility .22s ease}
    .menu-movil-abierto .fondo-menu-movil{visibility:visible;opacity:1}

    .sidebar{
        position:fixed;z-index:70;top:0;bottom:0;left:0;display:flex!important;
        width:min(320px,72vw);min-width:0;height:100dvh;padding:26px 18px 20px;
        overflow-y:auto;transform:translateX(-104%);transition:transform .24s ease;
        box-shadow:14px 0 34px rgba(5,10,20,.28);
    }
    .sidebar.abierta{transform:translateX(0)}
    .sidebar .logo{margin:0 8px 22px}
    .sidebar .nav-iconos{flex:1;padding:0}
    .sidebar .nav-iconos li a{min-height:46px;padding:12px 13px;font-size:15px}
    .sidebar .usuario-actual{margin:22px 8px 9px;padding:14px 0 0}
    .sidebar .form-logout{margin:0 8px}

    /* Contenido a todo el ancho; el padding-top despeja el botón fijo */
    .contenido{max-width:none;margin:0;padding:72px 24px 32px}

    /* Utilidades (campana / tema / instalar): arriba a la derecha */
    .barra-utilidades{position:absolute;z-index:60;top:14px;right:16px;margin:0!important}
    body.vista-inicio .barra-utilidades,
    body.vista-automotores .barra-utilidades{position:static!important;z-index:50;min-height:42px;margin:-70px -24px 0!important;padding:14px 24px 10px!important}
    .menu-notificaciones summary{width:46px;height:46px}
    .panel-notificaciones{position:fixed;top:70px;right:16px;width:min(400px,calc(100vw - 32px));max-height:calc(100dvh - 92px)}
    .lista-notificaciones{max-height:calc(100dvh - 170px)}

    /* Pantallas a sangre completa (Inicio / Automotores): alinear el
       "bleed" al padding de 24px del contenido en esta franja */
    .inicio-rapido,
    .automotores-pantalla{min-height:calc(100dvh - 92px);margin:0 -24px -32px;padding:22px 24px 30px;border-radius:0}
    .vista-inicio .barra-superior{margin:0 -24px;padding:0 24px 16px}

    /* ---- Grillas: repartir en el ancho disponible de la tablet ---- */
    .barra-superior{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
    .inicio-resumen-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
    .inicio-novedades-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
    .grilla-inicio{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))!important}
    .materiales-cards,
    .sectores-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}

    /* ---- Tablas anchas: scroll horizontal dentro de su caja ---- */
    .tabla{display:block;overflow-x:auto!important;white-space:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
}

/* ==========================================================
   Control de móviles (automotores/lista.html): planilla por móvil.
   Tarjeta con barra de encabezado azul marino, franja de datos y
   campos apilados; los controles configurables fluyen en 2 columnas.
   Prefijado con .automotores-pantalla para ganar a las reglas previas
   (planilla en 3 columnas, filas "flotantes", vidrio) sin tocarlas.
   ========================================================== */
.automotores-pantalla .automotores-tres-planillas{padding:0;gap:18px}

.automotores-pantalla .automotores-planilla-movil{
    display:block;
    padding:0;
    overflow:hidden;
    border:1px solid #e2e8f0;
    border-radius:14px;
    background:#fff;
    box-shadow:0 4px 12px rgba(15,23,42,.06);
}

.automotores-pantalla .automotores-movil-titulo{
    align-items:baseline;
    padding:13px 16px;
    border:0;
    background:#0f172a;
}
.automotores-pantalla .automotores-movil-titulo h3{color:#fff;font-size:16px}

.automotores-pantalla .automotores-planilla-movil .ficha-movil-formulario{
    margin:0;
    padding:14px 16px;
    gap:10px 16px;
    border-bottom:1px solid #e2e8f0;
    background:#f1f5f9;
    font-size:.8rem;
}
.automotores-pantalla .automotores-planilla-movil .ficha-movil-formulario b{color:#64748b;font-size:.64rem}
.automotores-pantalla .automotores-planilla-movil .ficha-movil-formulario span{color:#0f172a;font-size:13px}

.automotor-planilla-cuerpo{display:flex;flex-direction:column;gap:12px;padding:16px}
.automotor-planilla-cuerpo .errorlist{margin:0;padding-left:18px;color:#b3261e;font-size:12px}

.automotores-pantalla .automotores-planilla-movil .automotor-linea{
    display:block;
    min-height:0;
    padding:0;
    border:0;
    background:transparent;
    box-shadow:none;
}
.automotores-pantalla .automotores-planilla-movil .automotor-linea > label{
    display:block;
    margin-bottom:4px;
    color:#475569;
    font-size:11px;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
}
.automotores-pantalla .automotores-planilla-movil .automotor-linea > input,
.automotores-pantalla .automotores-planilla-movil .automotor-linea > select,
.automotores-pantalla .automotores-planilla-movil .automotor-control-extra select,
.automotores-pantalla .automotores-planilla-movil .automotor-control-extra textarea,
.automotores-pantalla .automotores-planilla-movil .automotor-novedades > textarea{
    width:100%;
    max-width:none;
    min-height:40px;
    padding:9px 11px;
    font-size:14px;
}

.automotor-controles-extra{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}
.automotores-pantalla .automotor-control-extra > div{display:flex;flex-direction:column;gap:6px}
/* Nivel y variación (+/−) lado a lado y del MISMO ancho */
.automotores-pantalla .automotores-planilla-movil .automotor-nivel-variacion > select{flex:1 1 0;width:auto;min-width:0}
.automotores-pantalla .automotores-planilla-movil .automotor-control-extra textarea{min-height:36px;resize:vertical}
.automotores-pantalla .automotores-planilla-movil .automotor-novedades > textarea{min-height:70px;resize:vertical}
.automotores-pantalla .automotores-planilla-movil .boton-principal{width:100%;margin-top:4px;min-height:42px}

/* Encabezado: identificación del móvil + selector de estado */
.automotores-pantalla .automotores-movil-titulo{align-items:center;gap:10px}
.automotor-movil-id{display:flex;flex-direction:column;gap:1px;min-width:0}
.automotor-movil-id h3{margin:0}
.automotores-pantalla .automotor-movil-id span{color:#9fb0cc;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.automotor-estado-selector{display:flex;flex-direction:column;align-items:flex-end;gap:3px;flex:0 0 auto}
.automotores-pantalla .automotor-estado-selector > span{color:#8595b0;font-size:9px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.automotores-pantalla .automotor-estado-selector select{
    width:auto;
    max-width:160px;
    min-height:0;
    padding:5px 10px;
    border:1px solid #3b4d6b !important;
    border-radius:999px !important;
    background:#1e293b !important;
    color:#fff !important;
    font-size:12px;
    font-weight:700;
    cursor:pointer;
}
.movil-control-estado{font-style:normal;font-weight:800;color:#9c3d00}

@media(max-width:480px){.automotor-controles-extra{grid-template-columns:1fr}.automotor-planilla-cuerpo{padding:14px}}

html.modo-oscuro .automotores-pantalla .automotores-planilla-movil{
    border-color:#33415c;
    background:#152238;
    box-shadow:0 6px 18px rgba(0,0,0,.28);
}
html.modo-oscuro .automotores-pantalla .automotores-movil-titulo{background:#0c1524}
html.modo-oscuro .automotores-pantalla .automotores-planilla-movil .ficha-movil-formulario{border-color:#33415c;background:#101d32}
html.modo-oscuro .automotores-pantalla .automotores-planilla-movil .ficha-movil-formulario b{color:#93a4be}
html.modo-oscuro .automotores-pantalla .automotores-planilla-movil .ficha-movil-formulario span{color:#eef3fb}
html.modo-oscuro .automotores-pantalla .automotores-planilla-movil .automotor-linea{background:transparent}
html.modo-oscuro .automotores-pantalla .automotores-planilla-movil .automotor-linea > label{color:#c3d0e1}
html.modo-oscuro .automotores-pantalla .automotor-estado-selector select{background:#0f1c30 !important;border-color:#3c5273 !important}

/* Tesorería */
.tesoreria-acciones{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}
.tesoreria-filtros{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin:0 0 16px;padding:14px;border:1px solid #dce1e8;border-radius:10px;background:#fff}
.tesoreria-filtros label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:800;color:#525866}
.tesoreria-filtros input,.tesoreria-filtros select{min-width:170px;min-height:38px;padding:8px 10px;border:1px solid #cbd1db;border-radius:7px;font:inherit}
.tesoreria-filtros button{min-height:38px;padding:0 20px;border:0;border-radius:8px;background:var(--cmd-red,#c40942);color:#fff;font:800 13px 'Hanken Grotesk',sans-serif;letter-spacing:.02em;cursor:pointer}
.tesoreria-filtros button:hover{background:#a80937}
.tesoreria-limpiar{align-self:flex-end;padding-bottom:9px;color:#be123c;font-size:13px;font-weight:800;text-decoration:none}
.tesoreria-limpiar:hover{text-decoration:underline}
.tesoreria-importe{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.tesoreria-fila-acciones{display:flex;gap:8px;align-items:center;white-space:nowrap}
.tesoreria-fila-acciones form{display:inline-flex;margin:0}
.tesoreria-fila-acciones .boton-secundario{display:inline-flex;align-items:center;min-height:32px;padding:5px 13px!important;font-size:12.5px!important;border-radius:8px!important;line-height:1}
.tesoreria-eliminar{border-color:#e7b6bd!important;color:#be123c!important;background:#fff!important}
.tesoreria-eliminar:hover,.tesoreria-eliminar:focus-visible{border-color:#be123c!important;background:#be123c!important;color:#fff!important;outline:none}
.tesoreria .tabla tfoot th,.tabla-contenedor .tabla tfoot th{background:#f2f4f7;font-size:13px}
.tesoreria-formulario{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.tesoreria-form-acciones{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:22px}
.tesoreria-form-acciones .boton-principal{min-height:42px;padding:0 24px}
.tesoreria-cancelar{display:inline-flex;align-items:center;min-height:42px;padding:0 20px!important}
.tesoreria-detalle{margin:0;padding-left:18px;font-size:13px;line-height:1.5}
@media(max-width:700px){.tesoreria-filtros{flex-direction:column;align-items:stretch}.tesoreria-filtros input,.tesoreria-filtros select{width:100%}.tesoreria-formulario{grid-template-columns:1fr}}
html.modo-oscuro .tesoreria-filtros{background:#182b4a;border-color:#3c5273}
html.modo-oscuro .tesoreria-filtros label{color:#c0cee0}
html.modo-oscuro .tesoreria-filtros input,html.modo-oscuro .tesoreria-filtros select{background:#101d32;border-color:#496183;color:#f3f6fb}
html.modo-oscuro .tesoreria-filtros button{background:#d3144c}
html.modo-oscuro .tesoreria-filtros button:hover{background:#e0466f}
html.modo-oscuro .tesoreria-limpiar{color:#ff9db0}
html.modo-oscuro .tesoreria-cancelar{background:#223553!important;border-color:#4a6089!important;color:#eaf0fa!important}
html.modo-oscuro .tesoreria-cancelar:hover{background:#2b4265!important;border-color:#6b83ad!important}
html.modo-oscuro .tabla-contenedor .tabla tfoot th{background:#203452;color:#dbe6f5}
html.modo-oscuro .tesoreria-fila-acciones .boton-secundario{background:#223553!important;border-color:#4a6089!important;color:#eaf0fa!important}
html.modo-oscuro .tesoreria-fila-acciones .boton-secundario:hover{background:#2b4265!important;border-color:#6b83ad!important}
html.modo-oscuro .tesoreria-eliminar{background:#2e2038!important;border-color:#7c4a58!important;color:#ff9db0!important}
html.modo-oscuro .tesoreria-eliminar:hover,html.modo-oscuro .tesoreria-eliminar:focus-visible{background:#c4143c!important;border-color:#c4143c!important;color:#fff!important}

/* Insumos del Parte: errores de validacion y un insumo que ya no corresponde al bolso */
.parte-insumos-errores{margin-bottom:12px;padding:10px 12px;border-radius:7px;background:#f8d7da;color:#721c24}.parte-insumos-errores ul{margin:6px 0 0 18px}
.parte-insumo-fila .parte-insumo-aviso{grid-column:1/-1;margin:0;padding:6px 10px;font-size:13px;background:#f8d7da;color:#721c24}
.parte-insumo-invalido{outline:2px solid #c40942;outline-offset:-2px}
html.modo-oscuro .parte-insumos-errores,html.modo-oscuro .parte-insumo-fila .parte-insumo-aviso{background:#4a1d2b!important;color:#ffd5df!important;}
.tabla-modulo tr.parte-fila-prevencion td{background:#eaf3f7}
.tabla-modulo tr.parte-fila-prevencion:hover td{background:#dfedf3}
html.modo-oscuro .tabla-modulo tr.parte-fila-prevencion td{background:rgba(96,165,190,.16)!important;}
/* Guardia Actual: imagen de cabecera en lugar de la barra azul, y el reloj en la misma fila que los totales. */
.ga2-banner { margin-bottom:18px; aspect-ratio:1477 / 211; background:url('/guardia-actual/banner-dia.webp?v=5') center / 100% 100% no-repeat; filter:drop-shadow(0 6px 16px rgba(15,23,42,.10)); }
html.modo-oscuro .ga2-banner { background-image:url('/guardia-actual/banner-noche.webp?v=5'); filter:none; }
@media (min-width:900px) { .ga2-stats { flex-wrap:nowrap; }.ga2-stats .ga2-stats-grupo { flex-basis:0; min-width:0; } }
/* Guardia Actual: dibujos de las tarjetas de totales (reemplazan a los iconos de texto). */
.ga2-icon.ga2-icon-dibujo { flex:0 0 62px; width:62px; height:62px; background:none; }
.ga2-icon-dibujo img { display:block; width:100%; height:100%; }
/* Guardia Actual (compu): tarjetas de totales ajustadas a su contenido, para que lo de abajo suba. */
@media (min-width:561px) {
  .ga2-stats article { min-height:0; padding:8px 18px; gap:12px; }
  .ga2-stats article.ga2-reloj { padding:8px 24px; }
  .ga2-icon.ga2-icon-dibujo { flex:0 0 56px; width:56px; height:56px; }
}
/* Guardia Actual: cartel "Guardia actual // Control de asistencia..." en la fila de la campanita. */
.ga2-encabezado { display:flex; align-items:center; gap:10px; margin:0 0 10px; padding:9px 18px; border:1px solid #c3cfdd; border-radius:10px; background:#fff; color:#5b6779; font-size:14px; line-height:1.3; }
.ga2-encabezado strong { color:#0f172a; font-weight:800; letter-spacing:.01em; white-space:nowrap; }
.ga2-estado-texto { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ga2-estado-punto { flex:0 0 auto; width:14px; height:14px; border-radius:50%; background:#22c55e; box-shadow:0 0 0 3px rgba(34,197,94,.18); }
html.modo-oscuro .ga2-encabezado { background:#050a14; border-color:#1f2b3b; color:#9aa5b8; }
html.modo-oscuro .ga2-encabezado strong { color:#fff; }
@media (min-width:1000px) { .ga2-encabezado { margin-top:-52px; width:max-content; max-width:calc(100% - 115px); } }
/* Guardia Actual: el cuadro "Registrar presencia" mide lo mismo que el titulo + la primera fila de
   tarjetas, asi la segunda fila de personal arranca justo debajo, sin franja en blanco. */
@media (min-width:1000px) {
  .ga2-layout>.ga2-acceso { display:flex; flex-direction:column; justify-content:space-between; padding:16px 22px; }
  .ga2-layout>.ga2-acceso h2 { margin:0 0 8px; font-size:18px; }
  .ga2-layout>.ga2-acceso form { gap:8px; }
  .ga2-layout>.ga2-acceso input { height:50px; font-size:24px; }
  .ga2-layout>.ga2-acceso select { height:34px; }
  .ga2-layout>.ga2-acceso .ga2-marcar { height:42px; }
  .ga2-layout>.ga2-acceso .ga2-acceso-links { margin-top:10px; padding-top:10px; }
}
/* Guardia Actual en el celular: reloj mas chico y los tres totales en un mismo renglon. */
@media (max-width:560px) {
  .ga2-encabezado { width:fit-content; max-width:100%; }
  .ga2-estado-texto { display:none; }
  .ga2-stats { gap:8px; margin-bottom:12px; }
  .ga2-stats article.ga2-reloj { min-height:0; padding:7px 14px; }
  .ga2-reloj time { font-size:22px; }
  .ga2-stats .ga2-stats-grupo { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
  .ga2-stats .ga2-stats-grupo article { flex-direction:column; justify-content:center; gap:5px; min-height:0; padding:9px 4px; text-align:center; }
  .ga2-stats .ga2-icon { flex:0 0 38px; width:38px; height:38px; font-size:14px; }
  .ga2-stats small { max-width:none; font-size:9.5px; letter-spacing:.03em; }
  .ga2-stats strong { margin-top:2px; font-size:21px; }
}

/* ==========================================================
   LOGO DEL MENÚ (GOB) Y NOMBRE DEL SISTEMA EN LA BARRA SUPERIOR
========================================================== */
.sidebar .logo{display:block;margin:0 0 18px;padding:0;text-align:center}
.sidebar .logo img{display:block;width:100%;max-width:240px;height:auto;margin:0 auto;object-fit:contain;filter:drop-shadow(0 6px 14px rgba(0,0,0,.45))}

.filtro-titulo{position:absolute;width:0;height:0;overflow:hidden}
.titulo-sistema{font-family:'Anton','Arial Narrow',Impact,sans-serif;font-weight:400;font-size:37px;line-height:.9;letter-spacing:.12em;text-transform:uppercase;color:#141c2e;white-space:nowrap}
html.modo-oscuro .titulo-sistema{color:#f4f6fb}
.titulo-sistema-barra{display:flex;align-items:center;align-self:center;height:42px;margin-right:auto;filter:url(#afinar-titulo)}
.titulo-sistema-movil{display:none}
.titulo-sistema-movil span{font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit}

/* Celular y tablet (menú lateral desplegable): el nombre va en dos líneas,
   entre el botón del menú y los botones de la derecha. */
@media (max-width:1024px){
    .titulo-sistema-barra{display:none}
    .titulo-sistema-movil{display:block;position:absolute;z-index:55;top:9px;left:66px;font-size:20px;line-height:1.02;letter-spacing:.05em;white-space:normal}
    .titulo-sistema-movil span{display:block}
}
@media (min-width:600px) and (max-width:1024px){
    .titulo-sistema-movil{top:8px;font-size:30px;letter-spacing:.08em;white-space:nowrap}
    .titulo-sistema-movil span{display:inline}
}

/* ==========================================================
   AVISOS FLOTANTES EN EL CELULAR (pantalla de la grilla semanal)
   El aviso ("Te inscribiste correctamente", etc.) aparece en el lugar
   de la pantalla donde está la persona y se puede cerrar con la "x".
========================================================== */
.mensaje{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.mensaje-texto{flex:1}
.mensaje-cerrar{display:none}
@media (max-width:768px){
    .mensajes-flotantes-movil{position:fixed;z-index:90;left:12px;right:12px;bottom:16px;margin:0;pointer-events:none}
    .mensajes-flotantes-movil .mensaje{pointer-events:auto;margin:0 0 8px;box-shadow:0 10px 26px rgba(15,23,42,.28);transition:opacity .25s ease,transform .25s ease}
    .mensajes-flotantes-movil .mensaje-saliendo{opacity:0;transform:translateY(10px)}
    .mensajes-flotantes-movil .mensaje-cerrar{display:block;flex:0 0 auto;width:30px;height:30px;margin:-4px -8px -4px 0;padding:0;border:0;border-radius:8px;background:rgba(0,0,0,.08);color:inherit;font-size:22px;line-height:1;cursor:pointer}
}

/* ==========================================================
   INICIO (MODO DÍA): FONDO PAREJO
   La barra de arriba y la franja de Jefe / Oficial / Semana toman el mismo
   tono que el resto de la pantalla. La franja pasa a ser relative (como la
   parte de abajo) para que no se le cuele la sombra del menú lateral.
========================================================== */
html:not(.modo-oscuro) .vista-inicio .barra-utilidades{background:#f6f8fb}
html:not(.modo-oscuro) .vista-inicio .barra-superior{position:relative;background:#f6f8fb}

/* ==========================================================
   SALUD: CONTROL DE BOLSOS DE TRAUMA DEBAJO DE LAS CONSULTAS RÁPIDAS
========================================================== */
.sanidad-control-bolsos{margin-top:26px}
.sanidad-control-bolsos-cabecera h2{margin:0 0 4px;font-size:19px;color:#172033}
.sanidad-control-bolsos-cabecera p{margin:0 0 14px;color:#667085;font-size:13px}
html.modo-oscuro .sanidad-control-bolsos-cabecera h2{color:#f5f8fd}
html.modo-oscuro .sanidad-control-bolsos-cabecera p{color:#c9d6e8}

/* Botones de las tarjetas del Control de Bolsos de Trauma: mismo tamaño y estilo que el resto. */
.sanidad-bolsos-control .material-card footer{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:14px 18px}
.sanidad-bolsos-control .material-card footer a{display:inline-flex;flex:1 1 100%;align-items:center;justify-content:center;min-height:38px;padding:8px 16px;font-size:13px;line-height:1.2;text-decoration:none;white-space:nowrap}
.sanidad-bolsos-control .material-card footer a.boton-secundario{color:#172033}
html.modo-oscuro .sanidad-bolsos-control .material-card footer a.boton-secundario{background:#223553!important;border-color:#496183!important;color:#eaf0fa!important}

.perfil-firma-girar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.perfil-firma-girar button{min-width:0;padding:8px 6px;font-size:.85rem;line-height:1.2;cursor:pointer;white-space:normal}

.automotor-foto-control{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}
.automotor-foto-boton{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid #cfd6e2;border-radius:10px;background:#fff;color:#172033;font-size:14px;font-weight:700;cursor:pointer}
.automotor-foto-boton:hover{border-color:#c40942;color:#c40942}
.automotor-foto input[type=file]{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.automotor-foto input[type=file]:focus-visible+.automotor-foto-nombre,.automotor-foto-boton:focus-within{outline:2px solid #c40942;outline-offset:2px}
.automotor-foto-nombre{color:#64748b;font-size:12px;overflow-wrap:anywhere}
.movil-control-detalle{display:inline-block;vertical-align:top}
.movil-control-detalle>summary{cursor:pointer;list-style:revert}
.movil-control-con-foto{color:#64748b;font-size:11px;font-style:normal}
.movil-control-detalle-cuerpo{margin:6px 0 8px;padding:10px;border:1px solid #e4e8ee;border-radius:8px;background:#fafbfd;max-width:340px}
.movil-control-detalle-cuerpo p{margin:0 0 8px;font-size:13px}
.movil-control-detalle-cuerpo img{display:block;max-width:100%;height:auto;border-radius:6px}

.materiales-acciones{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px}
.materiales-acciones>a,.materiales-acciones .baja-parcial summary{display:inline-flex;align-items:center;padding:6px 10px;white-space:nowrap;border:1px solid #e1e6ed;border-radius:7px;background:#fff;color:#374151;font-size:12px;font-weight:800;text-decoration:none;cursor:pointer;list-style:none}
.materiales-acciones>a:hover,.materiales-acciones .baja-parcial summary:hover{border-color:#c40942;color:#c40942}
.materiales-acciones .baja-parcial{width:auto}
.materiales-acciones .baja-parcial summary::-webkit-details-marker{display:none}
.materiales-acciones .baja-parcial summary{color:#c40942}
.materiales-acciones .baja-parcial[open]{flex-basis:100%}
.materiales-acciones .baja-parcial form{max-width:240px}
html.modo-oscuro .materiales-acciones>a,html.modo-oscuro .materiales-acciones .baja-parcial summary{background:#182b4a;border-color:#3c5273;color:#edf3fb}
html.modo-oscuro .materiales-acciones .baja-parcial summary{color:#ff9db6}
html.modo-oscuro .materiales-acciones .baja-parcial input,html.modo-oscuro .materiales-acciones .baja-parcial textarea{background:#101d32;border-color:#496183;color:#f3f6fb}

.nombre-renombrar-form{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.nombre-renombrar-form input[name=nombre_sector],.nombre-renombrar-form input[name=subsector_nuevo]{flex:1 1 200px;min-width:0;padding:7px 9px;border:1px solid #d5dae3;border-radius:7px;font:inherit}
.nombre-renombrar-form button{padding:7px 12px;font-size:12.5px}
.ubicacion-item ul{list-style:none;padding-left:0}
.ubicacion-item li{margin:6px 0}
.subsector-renombrar{padding:10px 0;border-bottom:1px solid #e7ebf0}
.subsector-renombrar .subsector-ubicacion{flex:0 0 100%;color:#64748b;font-size:12px;font-weight:700}
.subsector-renombrar small{color:#64748b}
html.modo-oscuro .nombre-renombrar-form input[name=nombre_sector],html.modo-oscuro .nombre-renombrar-form input[name=subsector_nuevo]{background:#101d32;border-color:#496183;color:#f3f6fb}
html.modo-oscuro .subsector-renombrar{border-color:#3c5273}
html.modo-oscuro .subsector-renombrar .subsector-ubicacion,html.modo-oscuro .subsector-renombrar small{color:#b8c8dc}

.a-cargo-licencia{margin-left:6px;color:#b45309;font-size:12px;font-weight:800}
.ancla-boton{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-left:6px;padding:0;border:1px solid #d5dae3;border-radius:50%;background:#fff;color:#94a3b8;cursor:pointer;vertical-align:middle}
.ancla-boton:hover{border-color:#c40942;color:#c40942}
.ancla-boton.es-ancla{border-color:#c40942;background:#fff1f4;color:#c40942}
[data-anclable] .nombre-en-grilla{user-select:none;-webkit-user-select:none}
html.modo-oscuro .ancla-boton{background:#182b4a;border-color:#3c5273;color:#9fb2cc}
html.modo-oscuro .ancla-boton.es-ancla{background:#3a1b2a;border-color:#ff9db6;color:#ff9db6}
html.modo-oscuro .a-cargo-licencia{color:#fbbf24}

.campo-agregar-grilla.campo-horario-grilla{flex:2 1 360px}
.campo-horario-grilla .horario-agregar-grilla{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px}
.campo-horario-grilla .horario-agregar-grilla label{display:flex;align-items:center;gap:8px;margin:0;white-space:nowrap;font-weight:600}
.campo-horario-grilla .horario-agregar-grilla input[type=time]{width:auto;min-width:118px;min-height:38px;padding:6px 8px}
.campo-horario-grilla>label small{color:#64748b;font-weight:400}
