:root {
    font-family: "Segoe UI", Arial, sans-serif;
    font-size: 16px;
    line-height: 1.45;
    color: #1b2b3d;
    background: #f4f7fb;
}
* { box-sizing: border-box; }
body { margin: 0; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
.estructura-aplicacion { display: grid; grid-template-columns: 244px minmax(0, 1fr); min-height: 100vh; }
.barra-lateral { display: flex; flex-direction: column; gap: 30px; padding: 26px 16px; background: #102840; color: #f5f9ff; }
.marca { display: flex; align-items: center; gap: 11px; padding: 0 9px; }
.logo-barra-lateral { display: block; width: 100%; height: auto; border-radius: 8px; background: #fff; }
.marca strong, .marca small { display: block; }
.marca strong { font-size: 19px; }
.barra-lateral .marca strong { font-size: 16px; letter-spacing: -.02em; white-space: nowrap; }
.marca small { margin-top: 2px; color: #b7cbe0; font-size: 11px; }
.etiqueta-barra-lateral { margin: 8px 12px -22px; color: #a9c1d9; font-size: 11px; text-transform: uppercase; letter-spacing: .14em; }
.navegacion-lateral { display: grid; gap: 5px; }
.navegacion-lateral a { display: flex; align-items: center; gap: 12px; padding: 12px 13px; border-radius: 9px; color: #c4d4e7; font-size: 15px; }
.icono-navegacion { display: block; width: 20px; height: 20px; flex: none; }
.navegacion-lateral a:hover, .navegacion-lateral a:focus-visible { background: #1b456d; color: #fff; }
.navegacion-lateral a.activo { background: #e8f2fd; color: #0b4fa2; font-weight: 700; }
.pie-barra-lateral { display: flex; gap: 10px; align-items: flex-start; margin-top: auto; border-top: 1px solid #31516e; padding: 21px 9px 0; color: #d8e7f6; font-size: 12px; line-height: 1.5; }
.pie-barra-lateral small { color: #afc5da; }
.punto-piloto { width: 9px; height: 9px; margin-top: 5px; border-radius: 50%; background: #81b9f3; flex: none; }
.contenedor-contenido { min-width: 0; }
.barra-superior { display: flex; align-items: center; justify-content: space-between; height: 66px; border-bottom: 1px solid #e3e9f0; padding: 0 34px; background: #fff; font-size: 14px; font-weight: 700; }
.cuenta-activa { display: flex; align-items: center; gap: 15px; font-size: 12px; font-weight: 500; }
.cuenta-activa button { border: 0; padding: 7px 0; background: transparent; color: #0b4fa2; font-size: 12px; font-weight: 700; cursor: pointer; }
.cuenta-activa button:hover { text-decoration: underline; }
.insignia-superior { border: 1px solid #d4e4f6; border-radius: 999px; padding: 7px 11px; background: #eef5fd; color: #28547f; font-size: 12px; }
.navegacion-movil { display: none; }
.contenido-pagina { width: min(1220px, 100%); margin: 0 auto; padding: 34px; }
.encabezado-pagina { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; margin-bottom: 23px; }
.encabezado-pagina h1 { margin: 4px 0 8px; font-size: clamp(30px, 3vw, 36px); line-height: 1.15; letter-spacing: -.035em; }
.encabezado-pagina p:not(.rotulo) { margin: 0; color: #526983; font-size: 15px; line-height: 1.55; }
.rotulo { margin: 0; color: #0b4fa2; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .11em; }
.boton { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; border: 1px solid transparent; border-radius: 8px; padding: 10px 17px; font-size: 14px; font-weight: 700; white-space: nowrap; }
.boton-principal { background: #0b4fa2; color: #fff; }
.boton-principal:hover { background: #083d7d; }
.boton-reporte-pdf { display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 12px 18px; min-height: 46px; background: #176336; color: #fff; border: 1px solid #12522c; box-shadow: 0 3px 8px rgba(23, 99, 54, .18); font-weight: 800; text-align: center; white-space: normal; }
.boton-reporte-pdf svg { width: 24px; height: 24px; flex-shrink: 0; }
.boton-reporte-pdf:hover { background: #12522c; box-shadow: 0 4px 10px rgba(23, 99, 54, .25); }
.boton-reporte-pdf:focus-visible { outline: 3px solid #176336; outline-offset: 3px; }
.boton-secundario { border-color: #cbd9e8; background: #fff; color: #194f87; }
.boton:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible { outline: 3px solid #8bbcf4; outline-offset: 2px; }
.boton:disabled { background: #e2eaf4; color: #55708e; cursor: not-allowed; }
.aviso { margin-bottom: 23px; border: 1px solid #d5e6fa; border-radius: 8px; padding: 12px 16px; background: #eef5fd; color: #28547f; font-size: 13px; line-height: 1.5; }
.notificacion-guardado { position: fixed; right: 22px; bottom: 22px; z-index: 20; display: flex; align-items: flex-start; gap: 11px; width: max-content; max-width: min(440px, calc(100vw - 32px)); border: 1px solid #a9c9ed; border-left: 4px solid #0b4fa2; border-radius: 11px; padding: 14px 13px; background: #f2f8ff; color: #173f6d; box-shadow: 0 10px 30px rgba(17, 48, 83, .2); font-size: 14px; line-height: 1.45; }
.notificacion-guardado-icono { display: grid; place-items: center; width: 21px; height: 21px; flex: none; border-radius: 50%; background: #0b4fa2; color: #fff; font-size: 13px; font-weight: 800; }
.notificacion-guardado-texto { flex: 1; min-width: 0; font-weight: 650; overflow-wrap: anywhere; }
.notificacion-guardado-cerrar { border: 0; padding: 0 2px; background: transparent; color: #466c94; font-size: 23px; line-height: 1; cursor: pointer; }
.notificacion-guardado-cerrar:focus-visible { outline: 3px solid #8bbcf4; outline-offset: 2px; }
.indicadores { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 36px; }
.indicadores article, .tarjeta-caso, .tarjeta-tabla, .tarjeta-formulario, .tarjeta-vacia { border: 1px solid #dfe7f0; border-radius: 12px; background: #fff; box-shadow: 0 2px 9px rgba(17, 48, 83, .04); }
.indicadores article { padding: 20px; }
.indicadores span, .indicadores small { display: block; color: #697b8d; font-size: 12px; }
.indicadores strong { display: block; margin: 9px 0 6px; font-size: 30px; line-height: 1; }
.encabezado-seccion { display: flex; justify-content: space-between; align-items: end; gap: 14px; margin-bottom: 16px; }
.encabezado-seccion h2, .encabezado-tabla h2, .encabezado-tarjeta h2 { margin: 0 0 5px; font-size: 21px; letter-spacing: -.02em; }
.encabezado-seccion p, .encabezado-tarjeta p { margin: 0; color: #728398; font-size: 13px; }
.encabezado-seccion a { color: #0b4fa2; font-size: 13px; font-weight: 700; }
.cuadricula-casos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.tarjeta-caso { padding: 20px; }
.cabecera-caso { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }
.codigo-caso { color: #58728e; font-size: 11px; font-weight: 800; letter-spacing: .03em; }
.estado { display: inline-flex; border-radius: 999px; padding: 5px 9px; font-size: 11px; font-weight: 700; white-space: nowrap; }
.estado-abierta { background: #fff0d8; color: #825500; }
.estado-revision { background: #e8f1ff; color: #244f91; }
.estado-cerrada { background: #e3f2e7; color: #2c653c; }
.tarjeta-caso h3 { margin: 18px 0 5px; font-size: 17px; }
.tarjeta-caso > p { margin: 0 0 20px; color: #728398; font-size: 12px; }
.datos-caso { display: flex; gap: 9px; margin: 0 0 19px; border-top: 1px solid #e8eef5; padding-top: 15px; }
.datos-caso div { flex: 1; min-width: 0; }
.datos-caso dt { color: #78899a; font-size: 10px; line-height: 1.3; }
.datos-caso dd { margin: 5px 0 0; font-size: 18px; font-weight: 800; }
.texto-peligro { color: #a54532; }
.accion-atenuada { color: #8796a6; font-size: 12px; }
.tarjeta-tabla { overflow: hidden; }
.encabezado-tabla { display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid #e8eef5; padding: 18px 20px; }
.encabezado-tabla h2 { margin: 0; }
.encabezado-tabla span { color: #78899a; font-size: 12px; }
.desplazamiento-tabla { overflow: auto; }
table { width: 100%; border-collapse: collapse; text-align: left; }
th { background: #f7faff; color: #526983; font-size: 12px; font-weight: 750; text-transform: uppercase; letter-spacing: .06em; }
th, td { border-bottom: 1px solid #e8eef5; padding: 15px 18px; vertical-align: middle; }
tbody tr:last-child td { border-bottom: 0; }
td { color: #31465b; font-size: 14px; }
td strong, td small { display: block; }
td strong { font-size: 14px; }
td small { margin-top: 4px; color: #78899a; }
.pasos { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 22px; }
.pasos span { border-radius: 7px; padding: 9px 12px; background: #edf2f8; color: #6c8095; font-size: 12px; font-weight: 650; }
.pasos .actual { background: #dfedff; color: #0b4fa2; }
.tarjeta-formulario { padding: 24px; }
.encabezado-tarjeta { margin-bottom: 20px; }
.cuadricula-formulario { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.cuadricula-formulario label { display: grid; gap: 7px; color: #31465b; font-size: 14px; font-weight: 700; }
.cuadricula-formulario label small { color: #65778a; font-size: 12px; font-weight: 400; line-height: 1.45; }
.cuadricula-formulario .ancho-completo { grid-column: 1 / -1; }
.cuadricula-formulario input, .cuadricula-formulario textarea { width: 100%; min-height: 44px; border: 1px solid #cddae8; border-radius: 8px; padding: 11px 12px; background: #fff; color: #24384d; font-size: 16px; }
.cuadricula-formulario select { width: 100%; min-height: 44px; border: 1px solid #cddae8; border-radius: 8px; padding: 11px 12px; background: #fff; color: #24384d; font-size: 16px; }
.cuadricula-formulario input[readonly] { background: #f3f6fa; color: #41556a; }
.cuadricula-formulario input::placeholder, .cuadricula-formulario textarea::placeholder { color: #95a6b8; }
.pie-formulario { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 24px; border-top: 1px solid #e8eef5; padding-top: 20px; }
.pie-formulario p { margin: 0; color: #78899a; font-size: 12px; }
.tarjeta-vacia { max-width: 650px; padding: 58px 24px; text-align: center; }
.icono-vacio { display: grid; place-items: center; width: 50px; height: 50px; margin: 0 auto 14px; border-radius: 13px; background: #e8f2fd; color: #0b4fa2; font-size: 29px; }
.tarjeta-vacia h2 { margin: 0 0 9px; font-size: 19px; }
.tarjeta-vacia p { max-width: 440px; margin: 0 auto 22px; color: #728398; font-size: 13px; line-height: 1.6; }
@media (max-width: 1050px) {
    .indicadores { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .cuadricula-casos { grid-template-columns: 1fr; }
    .datos-caso { max-width: 450px; }
}
@media (max-width: 760px) {
    .estructura-aplicacion { display: block; }
    .barra-lateral { display: none; }
    .barra-superior { height: 58px; padding: 0 18px; }
    .navegacion-movil { display: flex; position: fixed; right: 0; bottom: 0; left: 0; z-index: 5; justify-content: space-around; gap: 2px; border-top: 1px solid #d5e1ee; padding-bottom: env(safe-area-inset-bottom); background: #fff; box-shadow: 0 -3px 14px rgba(17, 48, 83, .08); }
    .navegacion-movil a { display: flex; flex: 1; flex-direction: column; align-items: center; justify-content: center; gap: 3px; min-height: 64px; border-top: 3px solid transparent; padding: 7px 3px 9px; color: #526983; font-size: 12px; font-weight: 700; text-align: center; }
    .navegacion-movil .icono-navegacion { width: 22px; height: 22px; }
    .navegacion-movil a.activo { border-top-color: #0b4fa2; color: #0b4fa2; }
    .notificacion-guardado { right: 12px; bottom: calc(86px + env(safe-area-inset-bottom)); left: 12px; width: auto; max-width: none; }
    .contenido-pagina { padding: 24px 16px calc(104px + env(safe-area-inset-bottom)); }
    .encabezado-pagina { flex-direction: column; align-items: stretch; gap: 17px; }
    .encabezado-pagina h1 { font-size: 29px; }
    .encabezado-pagina .boton { align-self: flex-start; }
    .indicadores { gap: 9px; margin-bottom: 29px; }
    .indicadores article { padding: 15px; }
    .indicadores strong { font-size: 25px; }
    .indicadores small { font-size: 11px; }
    .tarjeta-caso { padding: 17px; }
    .tarjeta-tabla { border: 0; background: transparent; box-shadow: none; }
    .encabezado-tabla { padding: 0 0 12px; }
    .desplazamiento-tabla { overflow: visible; }
    table, tbody { display: block; }
    thead { display: none; }
    tr { display: block; margin: 0 0 11px; border: 1px solid #dfe7f0; border-radius: 11px; padding: 11px 15px; background: #fff; }
    td { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; border: 0; padding: 7px 0; }
    td::before { content: attr(data-label); min-width: 85px; color: #75879a; font-size: 11px; font-weight: 700; }
    td:first-child { margin-bottom: 5px; border-bottom: 1px solid #e8eef5; padding-bottom: 11px; }
    td:first-child::before { content: "Caso"; }
    .tabla-inspecciones td:first-child::before { content: "Número"; }
    .tarjeta-formulario { padding: 17px; }
    .cuadricula-formulario { grid-template-columns: 1fr; }
    .cuadricula-formulario .ancho-completo { grid-column: auto; }
    .pie-formulario { flex-direction: column; align-items: stretch; }
    .pie-formulario .boton { white-space: normal; }
    .pasos { display: grid; grid-template-columns: 1fr 1fr; }
}

.pantalla-acceso { min-height: 100vh; background: #f1f6fb; }
.contenedor-acceso { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, 480px); min-height: 100vh; }
.presentacion-acceso { position: relative; display: flex; align-items: center; overflow: hidden; padding: clamp(30px, 6vw, 76px); background: linear-gradient(90deg, rgb(7 32 71 / 78%), rgb(7 32 71 / 34%)), url('../imagenes/planta-hidrostal.png') center / cover no-repeat; color: #fff; }
.presentacion-acceso h1 { position: relative; z-index: 1; max-width: 850px; margin: 0; font-size: clamp(36px, 4.2vw, 58px); line-height: 1.08; letter-spacing: -.04em; }
.panel-acceso { display: flex; flex-direction: column; justify-content: center; padding: clamp(24px, 5vw, 64px); background: #fff; }
.logo-acceso { display: block; width: min(100%, 260px); height: auto; margin: 0 0 30px; }
.encabezado-acceso h2 { margin: 0 0 28px; font-size: 31px; letter-spacing: -.035em; }
.campos-acceso { display: grid; gap: 10px; }
.campos-acceso label { margin-top: 6px; color: #344c67; font-size: 13px; font-weight: 700; }
.campos-acceso input { width: 100%; min-height: 46px; border: 1px solid #cad8e7; border-radius: 8px; padding: 11px 13px; background: #fff; color: #1e3045; font-size: 15px; }
.campos-acceso input::placeholder { color: #8294a8; }
.campo-contrasena { position: relative; }
.campo-contrasena input { padding-right: 52px; }
.boton-visibilidad { position: absolute; top: 50%; right: 7px; display: grid; place-items: center; width: 38px; height: 38px; transform: translateY(-50%); border: 0; border-radius: 6px; background: transparent; color: #52708e; cursor: pointer; }
.boton-visibilidad:hover { background: #edf4fd; }
.boton-visibilidad:focus-visible, .enlace-recuperacion:focus-visible { outline: 3px solid #8bbcf4; outline-offset: 2px; }
.enlace-recuperacion { justify-self: end; margin: 6px 0 0; border: 0; padding: 0; background: transparent; color: #0b4fa2; font-size: 13px; text-decoration: underline; text-underline-offset: 3px; }
.enlace-recuperacion:disabled { cursor: not-allowed; opacity: .8; }
.campos-acceso .boton { margin-top: 18px; width: 100%; }
.error-acceso { margin: 0 0 17px; border: 1px solid #efc6c6; border-radius: 8px; padding: 11px 13px; background: #fff1f1; color: #8b2929; font-size: 13px; }
.solo-lectores { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.cuadricula-formulario input.solo-lectores { width: 1px; height: 1px; min-height: 0; border: 0; padding: 0; margin: -1px; clip-path: inset(50%); }
@media (max-width: 900px) {
    .contenedor-acceso { grid-template-columns: 1fr; }
    .presentacion-acceso { min-height: 220px; padding: 28px 24px; }
    .presentacion-acceso h1 { font-size: clamp(34px, 6vw, 48px); }
    .panel-acceso { width: 100%; max-width: 560px; margin: 0 auto; padding: 35px 24px 52px; }
}

.formulario-usuarios { max-width: 820px; }
.formulario-usuarios select { width: 100%; border: 1px solid #cddae8; border-radius: 8px; padding: 11px 12px; background: #fff; color: #24384d; font-size: 14px; }
.nota-usuarios { margin: 18px 0 0; color: #526983; font-size: 13px; line-height: 1.55; }
.estado-usuario { display: inline-block; border-radius: 999px; padding: 5px 9px; font-size: 11px; font-weight: 700; }
.estado-usuario-activo { background: #e3f2e7; color: #2c653c; }
.estado-usuario-inactivo { background: #eef1f5; color: #5d6a78; }
.acciones-usuario { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.acciones-usuario a, .acciones-usuario button { border: 0; padding: 2px 0; background: transparent; color: #0b4fa2; font-size: 12px; font-weight: 700; cursor: pointer; }
.acciones-usuario a:hover, .acciones-usuario button:hover { text-decoration: underline; }
.acciones-usuario form { margin: 0; }
.error-acceso ul { margin: 7px 0 0; padding-left: 20px; }
.dialogo-errores-inspeccion { width: min(92vw, 560px); max-height: min(85vh, 680px); border: 1px solid #e8b5b5; border-radius: 16px; padding: 25px; color: #24364b; box-shadow: 0 24px 75px rgb(22 34 51 / 30%); }
.dialogo-errores-inspeccion::backdrop { background: rgb(9 28 49 / 65%); }
.dialogo-errores-inspeccion .rotulo { color: #a52c2c; }
.dialogo-errores-inspeccion h2 { margin: 7px 0 8px; font-size: clamp(21px, 5vw, 27px); line-height: 1.2; }
.dialogo-errores-inspeccion p:not(.rotulo) { color: #50637a; line-height: 1.5; }
.lista-errores-inspeccion { display: grid; gap: 9px; max-height: 45vh; overflow-y: auto; margin: 18px 0; padding: 0; list-style: none; }
.lista-errores-inspeccion button { width: 100%; border: 1px solid #efc6c6; border-radius: 9px; padding: 11px 13px; background: #fff6f6; color: #8b2929; text-align: left; font: inherit; font-weight: 650; cursor: pointer; }
.lista-errores-inspeccion button:hover, .lista-errores-inspeccion button:focus-visible { border-color: #b42e2e; background: #ffe9e9; }
.lista-errores-inspeccion a { display: block; border: 1px solid #efc6c6; border-radius: 9px; padding: 11px 13px; background: #fff6f6; color: #8b2929; font-weight: 650; text-decoration: none; }
.lista-errores-inspeccion a:hover, .lista-errores-inspeccion a:focus-visible { border-color: #b42e2e; background: #ffe9e9; }
.lista-errores-inspeccion :is(button, a) { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 48px; }
.accion-rellenar { display: inline-flex; align-items: center; gap: 5px; font-weight: 750; white-space: nowrap; }
.enlace-rellenar { display: inline-flex; align-items: center; gap: 5px; min-height: 44px; padding: 4px 10px; border: 1px solid #efc6c6; border-radius: 8px; background: #fff6f6; color: #8b2929; font-weight: 700; }
.campo-invalido, .campo-invalido:focus { border-color: #be3a3a !important; outline: 2px solid #f2bbbb !important; outline-offset: 2px; }
.grupo-campo-invalido { border-radius: 8px; outline: 2px solid #d34b4b; outline-offset: 3px; background: #fff2f2 !important; }
.grupo-campo-invalido:is(label, fieldset, .ranura-foto) { padding: 8px; }
.bloque-con-error { border-color: #d34b4b !important; background: #fff8f8 !important; }
.mensaje-campo-invalido, .cuadricula-formulario label .mensaje-campo-invalido { display: block; margin-top: 6px; color: #962727; font-size: 12px; font-weight: 700; line-height: 1.4; }
.aviso-duplicado-persona { margin: 12px 0 0; border: 1px solid #e9b8b8; border-radius: 8px; padding: 10px 12px; background: #fff0f0; color: #962727; font-size: 13px; font-weight: 700; }
.aviso-duplicado-persona[hidden] { display: none; }
.persona-duplicada { border-color: #be3a3a !important; outline: 2px solid #f2bbbb !important; outline-offset: 2px; }
.bloque-firma { max-width: 820px; margin-top: 20px; }
.vista-firma { display: flex; align-items: center; justify-content: center; width: min(100%, 380px); min-height: 145px; margin-top: 14px; border: 1px solid #cbd9e8; border-radius: 8px; padding: 12px; background: #fff; }
.vista-firma img { display: block; max-width: 100%; max-height: 140px; object-fit: contain; }
.enlace-prueba-firma { margin-top: 15px; }
.formulario-firma { display: grid; justify-items: start; gap: 10px; margin-top: 22px; border-top: 1px solid #e8eef5; padding-top: 20px; }
.formulario-firma label { color: #31465b; font-size: 14px; font-weight: 700; }
.formulario-firma input { max-width: 100%; font-size: 13px; }
.formulario-firma .nota-usuarios { margin: 0; }
.bloque-inspeccion { margin-bottom: 16px; }
.bloque-inspeccion .encabezado-tarjeta .rotulo { margin-bottom: 7px; }
.bloque-analisis { padding: 18px 24px; }
.bloque-analisis .encabezado-tarjeta { margin-bottom: 12px; }
.bloque-analisis .cuadricula-formulario { gap: 12px; }
.bloque-analisis textarea { min-height: 76px; }
.bloque-medida { margin: 0 0 14px; border: 1px solid #dce7f2; border-radius: 10px; padding: 17px; background: #f8fbff; }
.cabecera-medida { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.cabecera-medida h3 { margin: 0; font-size: 16px; }
.bloque-responsable { margin: 0 0 14px; border: 1px solid #dce7f2; border-radius: 10px; padding: 17px; background: #f8fbff; }
.bloque-responsable .nota-formulario { margin: 0; }
.campos-otro { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; border-top: 1px solid #dce7f2; padding-top: 14px; }
.campos-otro[hidden] { display: none; }
.campos-otro .ancho-completo { grid-column: 1 / -1; }
.campos-otro .opcion-quitar-firma { display: flex; align-items: center; gap: 8px; }
.campos-otro .opcion-quitar-firma input { width: auto; }
.resumen-responsables { margin: 0; border-left: 3px solid #0b4fa2; padding: 8px 11px; background: #edf4ff; }
.nota-formulario { margin: 16px 0 0; color: #526983; font-size: 13px; line-height: 1.55; }
.opciones-actividad { display: flex; align-items: center; gap: 16px; margin: 0; border: 1px solid #cddae8; border-radius: 8px; padding: 8px 12px; }
.opciones-actividad legend { padding: 0 4px; color: #3b5065; font-size: 12px; font-weight: 700; }
.opciones-actividad label { display: flex; align-items: center; gap: 6px; white-space: nowrap; }
.opciones-actividad input { width: auto; }
.grupo-datos-evento { margin: 20px 0 0; border: 1px solid #dce7f2; border-radius: 10px; padding: 14px; }
.grupo-datos-evento legend { padding: 0 6px; color: #12365b; font-size: 13px; font-weight: 700; }
.grupo-datos-evento .nota-formulario { margin: 0 0 12px; }
.opcion-origen { border: 1px solid #e1eaf3; border-radius: 8px; padding: 10px; background: #f8fbff; }
.opcion-origen > label:first-child { display: flex; align-items: center; gap: 8px; margin-bottom: 9px; }
.opcion-origen input[type="checkbox"] { width: auto; }
.opcion-origen .nota-formulario { margin: 0; }
.bloque-hallazgo { margin: 0 0 17px; border: 1px solid #dce7f2; border-radius: 10px; padding: 17px; background: #f8fbff; }
.paso-hallazgo { margin: 16px 0 8px; font-weight: 700; color: #31465b; }
.hallazgo-simple { margin-top: 20px; }
.medidas-del-hallazgo { margin-top: 16px; border-top: 2px solid #42c8c7; padding-top: 12px; }
.medidas-del-hallazgo .bloque-medida { background: #fff; }
.medidas-del-hallazgo textarea, .medidas-del-hallazgo input, .medidas-del-hallazgo select { font-size: 16px; }
.bloque-hallazgo .ranuras-foto { margin-top: 0; }
.bloque-hallazgo .ranuras-foto:has(> .ranura-foto[hidden]) { grid-template-columns: 1fr; }
.bloque-hallazgo .ranura-foto[hidden], .bloque-hallazgo [data-agregar-foto][hidden] { display: none; }
.bloque-hallazgo [data-agregar-foto] { margin-top: 12px; }
@media (max-width: 600px) {
    .bloque-hallazgo { padding: 12px; }
    .bloque-hallazgo .acciones-foto { display: flex; flex-wrap: wrap; gap: 8px; }
    .bloque-hallazgo .acciones-foto .boton { min-height: 44px; flex: 1 1 130px; }
    .bloque-hallazgo .cabecera-hallazgo { align-items: flex-start; flex-wrap: wrap; gap: 10px; }
    .bloque-hallazgo .vista-foto-nueva { max-height: 320px; }
}
.busqueda-hallazgo { display: grid; gap: 7px; }
.busqueda-hallazgo > label { color: #3b5065; font-size: 12px; font-weight: 700; }
.fila-busqueda-codigo { display: flex; gap: 9px; min-width: 0; }
.fila-busqueda-codigo input { min-width: 0; flex: 1; }
.fila-busqueda-codigo .boton { flex: none; }
.hallazgo-aplicado { margin: 0; border-left: 3px solid #0b4fa2; border-radius: 4px; padding: 10px 12px; background: #eaf3ff; color: #194f87; font-size: 12px; line-height: 1.5; }
.cabecera-hallazgo { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 15px; }
.cabecera-hallazgo h3 { margin: 0; font-size: 17px; }
.acciones-hallazgo { display: flex; align-items: center; gap: 12px; }
.limite-fotos-hallazgo { color: #65778a; font-size: 12px; }
.boton-eliminar-hallazgo { gap: 6px; min-height: 34px; border-color: #ecc6c6; padding: 6px 10px; background: #fff; color: #9e2828; font-size: 12px; }
.boton-eliminar-hallazgo:hover { background: #fff1f1; }
.ranuras-foto { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 18px; }
.ranura-foto { display: grid; align-content: start; gap: 10px; min-width: 0; border: 1px dashed #abc5df; border-radius: 9px; padding: 13px; background: #fff; }
.ranura-foto > strong { font-size: 12px; }
.acciones-foto { display: flex; flex-wrap: wrap; gap: 8px; }
.acciones-foto .boton { flex: 1; min-width: 120px; }
.boton-quitar-foto { border-color: #c24141; background: #fff0f0; color: #922626; }
.boton-quitar-foto:hover, .boton-quitar-foto:focus-visible { border-color: #9e2828; background: #fbdada; color: #751b1b; }
.acciones-foto [hidden] { display: none; }
.nombre-foto { overflow-wrap: anywhere; color: #65778a; font-size: 12px; }
.ranura-foto [data-estado-foto] { margin: 0; min-height: 18px; }
.ranura-foto[data-error-foto="1"] [data-estado-foto], .pie-formulario #aviso-fotos { color: #8b2929; }
.vista-foto-nueva { width: 100%; max-height: 220px; border-radius: 7px; object-fit: contain; background: #eff5fb; }
.fotos-guardadas { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.foto-guardada { display: grid; justify-items: start; gap: 6px; }
.foto-guardada .boton { padding: 6px 9px; font-size: 12px; }
.fotos-guardadas img { width: 110px; height: 100px; border: 1px solid #dce7f2; border-radius: 7px; object-fit: cover; }
.pie-borrador { margin: 8px 0 30px; }
.pie-borrador p { max-width: 720px; line-height: 1.5; }
.enlace-inspeccion { color: #0b4fa2; font-weight: 700; }
.paginacion-simple { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 10px; margin: 20px 0 0; color: #41556a; font-size: 13px; }
.paginacion-simple a, .paginacion-simple .paginacion-inactiva { display: inline-block; border: 1px solid #cddae8; border-radius: 7px; padding: 8px 12px; background: #fff; color: #0b4fa2; font-weight: 700; text-decoration: none; }
.paginacion-simple a:hover { background: #edf4fd; }
.paginacion-simple .paginacion-inactiva { color: #95a6b8; background: #f5f7fa; }
.resumen-paginacion { margin: 16px 0 0; text-align: center; color: #65778a; font-size: 13px; }
.motivo-auditoria { min-width: 240px; max-width: 440px; overflow-wrap: anywhere; }
.motivo-auditoria small { display: block; margin-top: 6px; color: #65778a; }
.resumen-paginacion + .paginacion-simple { margin-top: 10px; }
.paginacion-simple a, .paginacion-simple .paginacion-inactiva { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
.dialogo-camara { width: min(92vw, 680px); max-height: 90vh; border: 0; border-radius: 12px; padding: 18px; box-shadow: 0 20px 70px rgb(0 0 0 / 30%); }
.dialogo-camara::backdrop { background: rgb(9 28 49 / 70%); }
.dialogo-camara h2 { margin: 0 0 13px; font-size: 18px; }
.dialogo-camara video { display: block; width: 100%; max-height: 62vh; border-radius: 8px; background: #17283a; }
.dialogo-camara p { color: #425b76; font-size: 13px; }
.acciones-camara { display: flex; justify-content: flex-end; gap: 8px; }
.filtros-catalogo { display: grid; grid-template-columns: minmax(200px, 2fr) repeat(2, minmax(130px, 1fr)) auto auto; align-items: end; gap: 10px; }
.filtros-catalogo label { display: grid; gap: 6px; color: #3b5065; font-size: 12px; font-weight: 700; }
.filtros-catalogo input, .filtros-catalogo select { width: 100%; min-height: 42px; border: 1px solid #cddae8; border-radius: 8px; padding: 9px 11px; background: #fff; color: #24384d; font-size: 14px; }
.catalogo-lista { display: grid; gap: 10px; margin-top: 16px; }
.catalogo-entrada { border: 1px solid #dce7f2; border-radius: 9px; padding: 14px; background: #fff; }
.catalogo-cabecera { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.catalogo-cabecera strong { color: #0b4fa2; font-size: 14px; }
.catalogo-cabecera span { border-radius: 999px; padding: 5px 8px; background: #edf3fb; color: #3d5b7a; font-size: 11px; }
.catalogo-entrada p { margin: 9px 0 12px; color: #24384d; font-size: 13px; line-height: 1.5; }
.catalogo-entrada dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; margin: 0; }
.catalogo-entrada dt { color: #71849a; font-size: 11px; }
.catalogo-entrada dd { margin: 3px 0 0; color: #31465b; font-size: 12px; overflow-wrap: anywhere; }
.grupos-observacion { display: grid; gap: 10px; }
.grupos-observacion details { border: 1px solid #dce7f2; border-radius: 8px; padding: 11px 14px; }
.grupos-observacion summary { color: #0b4fa2; font-size: 13px; font-weight: 700; cursor: pointer; }
.grupos-observacion ul { columns: 2; margin: 13px 0 2px; padding-left: 18px; color: #31465b; font-size: 13px; line-height: 1.6; }
.selector-observaciones { margin-top: 17px; border: 1px solid #dce7f2; border-radius: 8px; padding: 12px; background: #fff; }
.selector-observaciones summary, .notas-catalogo summary { color: #0b4fa2; font-size: 13px; font-weight: 700; cursor: pointer; }
.selector-observaciones p { margin: 10px 0; color: #65778a; font-size: 12px; }
.selector-observaciones fieldset { margin: 13px 0 0; border: 0; padding: 0; }
.selector-observaciones legend { margin-bottom: 7px; color: #3b5065; font-size: 12px; font-weight: 700; }
.opciones-observacion { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 12px; max-height: 185px; overflow: auto; }
.opciones-observacion label { display: flex; align-items: flex-start; gap: 8px; padding: 5px 0; color: #31465b; font-size: 12px; line-height: 1.4; }
.opciones-observacion input { margin-top: 2px; }
.notas-catalogo { margin: 0 0 20px; color: #31465b; font-size: 12px; }
.resumen-periodos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-bottom: 10px; }
.tarjeta-periodo { display: grid; gap: 7px; border: 1px solid #d6e5f5; border-radius: 11px; padding: 17px 20px; background: #fff; box-shadow: 0 2px 9px rgba(17, 48, 83, .04); }
.tarjeta-periodo span { color: #4c6682; font-size: 13px; }
.tarjeta-periodo strong { color: #0b4fa2; font-size: 30px; line-height: 1; }
.mensaje-tabla-vacia { margin: 0; padding: 19px 20px; color: #65778a; font-size: 13px; }
.resumen-periodos + .nota-formulario { margin-bottom: 22px; }
.tablero-inspecciones { margin-bottom: 22px; }
.tablero-inspecciones .encabezado-tarjeta h2 { margin: 5px 0 7px; font-size: 23px; }
.filtros-tablero { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; align-items: end; gap: 12px; }
.filtros-tablero label { display: grid; gap: 6px; min-width: 0; color: #31465b; font-size: 13px; font-weight: 700; }
.filtros-tablero input, .filtros-tablero select { width: 100%; min-height: 44px; border: 1px solid #cddae8; border-radius: 8px; padding: 9px 11px; background: #fff; color: #24384d; font-size: 15px; }
.filtros-tablero .fechas-rango-tablero { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-column: span 2; gap: 12px; }
.acciones-filtros-tablero { display: flex; align-items: center; gap: 10px; }
.acciones-filtros-tablero a { color: #0b4fa2; font-size: 13px; font-weight: 700; white-space: nowrap; }
.filtros-tablero [hidden] { display: none; }
.estado-inicial-tablero { margin: 20px 0 0; border: 1px dashed #c8d9ea; border-radius: 8px; padding: 18px; color: #526983; font-size: 14px; }
.resultado-tablero { margin-top: 24px; border-top: 1px solid #e3ebf5; padding-top: 20px; }
.periodo-consultado { margin: 0 0 15px; color: #415b76; font-size: 14px; }
.grupos-resumen-tablero { display: grid; gap: 16px; }
.grupo-resumen-tablero { border: 1px solid #d4e2ef; border-radius: 12px; padding: 16px; background: #fff; }
.grupo-resumen-tablero h3 { margin: 0; color: #173a60; }
.grupo-resumen-tablero > p { margin: 5px 0 14px; color: #53677e; font-size: 13px; }
.resumen-tablero { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 9px; }
.grupo-resumen-tablero:first-child .resumen-tablero { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.resumen-tablero div.indicador-pendientes, .resumen-tablero div.indicador-abiertas { background: #fff7df; border-color: #d8aa42; }
.resumen-tablero div.indicador-en_proceso { background: #eaf3ff; border-color: #89b0e7; }
.resumen-tablero div.indicador-realizadas, .resumen-tablero div.indicador-finalizadas { background: #e7f5ee; border-color: #83b69a; }
.resumen-tablero div.indicador-vencidas { background: #fff0f0; border: 2px solid #c83d3d; }
.resumen-tablero .indicador-vencidas strong { color: #a91c28; }
.resumen-tablero .indicador-pendientes strong, .resumen-tablero .indicador-abiertas strong { color: #815000; }
.resumen-tablero .indicador-realizadas strong, .resumen-tablero .indicador-finalizadas strong { color: #166440; }
.dato-tablero { display: inline-block; font-weight: 700; }
.dato-pendientes, .dato-en_proceso, .dato-realizadas, .dato-vencidas { padding: 5px 10px; border-radius: 7px; min-width: 34px; text-align: center; }
.dato-pendientes { background: #fff2cb; color: #815000; }
.dato-en_proceso { background: #e6efff; color: #214e92; }
.dato-realizadas { background: #e2f3e9; color: #166440; }
.dato-vencidas { background: #f0f2f5; color: #53677e; }
.dato-vencidas.alerta-vencida { background: #b52230; color: #fff; border: 2px solid #8b1520; }
.tabla-tablero td:first-child strong { display: block; font-size: 14px; color: #173a60; }
.tabla-tablero td:first-child small { display: block; margin-top: 5px; font-size: 11px; color: #53677e; }
.encabezado-ubicaciones { display: flex; align-items: end; flex-wrap: wrap; gap: 12px; margin: 24px 0 14px; }
.encabezado-ubicaciones h3 { margin-right: auto; }
.encabezado-ubicaciones label { display: grid; gap: 5px; font-size: 13px; font-weight: 700; }
.encabezado-ubicaciones select { min-height: 42px; padding: 8px 12px; border: 1px solid #b9cee5; border-radius: 7px; background: #fff; color: #173a60; }
.fila-mes meter::-webkit-meter-optimum-value { background: #2865b4; }
.graficos-seguimiento section { padding: 16px; border: 1px solid #d4e2ef; border-radius: 12px; background: #f8fbff; }
.grafico-pendientes meter::-webkit-meter-optimum-value { background: #b77909; }
.grafico-en_proceso meter::-webkit-meter-optimum-value { background: #2865b4; }
.grafico-realizadas meter::-webkit-meter-optimum-value { background: #23774d; }
@media (max-width: 700px) { .grupo-resumen-tablero { padding: 12px; } .resumen-tablero { grid-template-columns: repeat(2, minmax(0, 1fr)); } .grupo-resumen-tablero:first-child .resumen-tablero { grid-template-columns: repeat(2, minmax(0, 1fr)); } .encabezado-ubicaciones h3 { width: 100%; } }
.resumen-tablero div { display: grid; gap: 7px; border: 1px solid #dce8f4; border-radius: 9px; padding: 12px; background: #f8fbff; }
.resumen-tablero span { color: #526983; font-size: 12px; line-height: 1.3; }
.resumen-tablero strong { color: #0b4fa2; font-size: 25px; line-height: 1; }
.resumen-tablero .texto-pendiente { color: #885109; }
.resumen-tablero .texto-realizado { color: #246746; }
.resultado-tablero > .nota-formulario { margin: 12px 0 0; }
.tablas-responsables-tablero { display: grid; gap: 20px; margin-top: 22px; }
.tablas-responsables-tablero section { min-width: 0; border: 1px solid #e0eaf4; border-radius: 9px; overflow: hidden; }
.tablas-responsables-tablero h3 { margin: 0; padding: 16px 16px 0; font-size: 17px; }
.tablas-responsables-tablero section > p:not(.mensaje-tabla-vacia) { margin: 4px 0 14px; padding: 0 16px; color: #667b91; font-size: 13px; }
.tabla-tablero th, .tabla-tablero td { padding: 11px 16px; }
.tabla-tablero td:not(:first-child) { font-variant-numeric: tabular-nums; }
.tarjeta-tabla + .tarjeta-tabla { margin-top: 20px; }
.encabezado-inspecciones { display: block; }
.acciones-cabecera-inspecciones { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.acciones-cabecera-inspecciones .boton { gap: 8px; }
.accesos-listados { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
.accesos-listados a { display: inline-flex; align-items: center; gap: 9px; min-height: 44px; border: 1px solid #d6e1ee; border-radius: 8px; padding: 9px 13px; background: #fff; color: #36526f; font-size: 13px; font-weight: 700; }
.accesos-listados a:hover { background: #edf4fc; border-color: #adc9e9; }
.accesos-listados span { min-width: 23px; border-radius: 6px; padding: 2px 5px; background: #edf2f8; text-align: center; font-size: 12px; }
.listado-trabajo { scroll-margin-top: 20px; }
.listado-trabajo .encabezado-tabla { align-items: flex-start; gap: 16px; }
.listado-trabajo .encabezado-tabla h2 { font-size: 22px; }
.listado-trabajo .encabezado-tabla p { max-width: 670px; margin: 6px 0 0; color: #526983; font-size: 13px; line-height: 1.5; }
.listado-trabajo .encabezado-tabla > span { flex: none; border-radius: 999px; padding: 5px 9px; background: #edf3fa; color: #405d7b; font-size: 12px; font-weight: 700; }
.listado-trabajo .fila-borrador { background: #f8fafc; }
.fila-pendiente { background: #fff9ee; }
.fila-en_proceso { background: #f0f6ff; }
.fila-finalizada { background: #f0f9f3; }
.tabla-trabajo td { padding: 15px 14px; }
.tabla-trabajo td:first-child { border-left: 4px solid transparent; }
.tabla-trabajo .fila-pendiente td:first-child { border-left-color: #d19a30; }
.tabla-trabajo .fila-en_proceso td:first-child { border-left-color: #5894d9; }
.tabla-trabajo .fila-finalizada td:first-child { border-left-color: #5d9e76; }
.tabla-trabajo td:first-child { min-width: 145px; }
.numero-inspeccion { color: #154b82; }
.numero-inspeccion:hover { text-decoration: underline; }
.tabla-trabajo small { max-width: 200px; color: #526983; font-size: 12px; line-height: 1.45; }
.estado-inspeccion { display: inline-flex; align-items: center; gap: 7px; border-radius: 999px; padding: 7px 12px; font-size: 16px; line-height: 1.25; font-weight: 750; white-space: nowrap; }
.tabla-trabajo td[data-label="Área"] strong, .tabla-trabajo td[data-label="Fecha"] strong { font-weight: 750; color: #173a60; }
.estado-inspeccion::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.estado-pendiente { background: #ffedc8; color: #7c4b08; }
.estado-en_proceso { background: #ddeafd; color: #204e87; }
.estado-finalizada { background: #daeee1; color: #205f39; }
.estado-borrador { margin-top: 5px; background: #e9eef4; color: #4d6278; }
.etiqueta-reciente { display: inline-block; margin-top: 6px; color: #265b90; font-size: 11px; font-weight: 700; }
.progreso-medidas { white-space: nowrap; }
.acciones-listado-inspecciones { display: flex; align-items: flex-start; flex-wrap: wrap; gap: 7px; }
.acciones-listado-inspecciones > .boton { min-height: 44px; padding: 9px 12px; font-size: 13px; }
.opciones-listado-inspecciones { max-width: 280px; }
.grupo-documentos-inspeccion { display: flex; align-items: flex-start; gap: 7px; flex-wrap: wrap; }
.tipo-inspeccion-formulario { margin: 8px 0; padding: 18px; border: 1px solid #bfd3e9; border-radius: 12px; background: #f4f8fd; min-width: 0; }
.tipo-inspeccion-formulario legend { padding: 0 8px; font-size: 15px; font-weight: 750; color: #173a60; }
#responsable-inspeccion-opcion, #segundo-responsable-inspeccion-opcion { font-weight: 750; color: #173a60; border: 2px solid #789bc2; }
[data-cargo-inspeccion][hidden] { display: none !important; }
#agregar-segundo-responsable-inspeccion { min-height: 48px; max-width: 100%; white-space: normal; text-align: left; border: 2px solid #2865b4; background: #e6efff; color: #173a60; font-size: 16px; font-weight: 750; padding: 12px 16px; }
.opciones-tipo-inspeccion { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.opcion-tipo-inspeccion { display: flex !important; align-items: center; gap: 10px; min-height: 68px; padding: 12px; border: 1px solid #becfe1; border-radius: 9px; background: #fff; cursor: pointer; }
.opcion-tipo-inspeccion input { width: 19px !important; min-height: 19px !important; margin: 0; flex-shrink: 0; accent-color: #165bb1; }
.opcion-tipo-inspeccion strong, .opcion-tipo-inspeccion small { display: block; }
.opcion-tipo-inspeccion small { margin-top: 4px; font-size: 12px; font-weight: 400; color: #53677e; }
.opcion-tipo-inspeccion:has(input:checked) { background: #e6efff; border: 2px solid #2865b4; }
.opcion-tipo-inspeccion:has(input:focus-visible) { outline: 3px solid #89b0e7; outline-offset: 2px; }
.detalle-tipo-inspeccion { margin-top: 14px; }
.detalle-tipo-inspeccion[hidden], [data-medidas-sin-hallazgo][hidden] { display: none !important; }
@media (max-width: 700px) { .opciones-tipo-inspeccion { grid-template-columns: 1fr; } .tipo-inspeccion-formulario { padding: 12px; } }
.opciones-listado-inspecciones summary { display: inline-flex; align-items: center; gap: 9px; min-height: 44px; border-radius: 7px; padding: 8px 10px; color: #415f7e; font-size: 13px; font-weight: 650; list-style: none; cursor: pointer; }
.opciones-listado-inspecciones summary::-webkit-details-marker { display: none; }
.opciones-listado-inspecciones summary:hover { background: #e5edf7; }
.opciones-listado-inspecciones summary:focus-visible { outline: 3px solid #8bbcf4; outline-offset: 2px; }
.opciones-listado-inspecciones[open] summary span { transform: rotate(180deg); }
.lista-opciones-inspeccion { display: grid; gap: 2px; border: 1px solid #cddcec; border-radius: 8px; padding: 4px; background: #fff; }
.lista-opciones-inspeccion a { display: flex; align-items: center; min-height: 44px; border-radius: 5px; padding: 8px 10px; color: #254d76; font-size: 13px; }
.lista-opciones-inspeccion a:hover { background: #edf4fc; }
.ayuda-listados { margin-top: 18px; color: #526983; font-size: 13px; }
@media (max-width: 760px) {
    .acciones-cabecera-inspecciones { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
    .acciones-cabecera-inspecciones .boton { align-self: stretch; min-width: 0; padding: 10px; font-size: 13px; white-space: normal; text-align: center; }
    .accesos-listados { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
    .accesos-listados a { justify-content: center; gap: 5px; min-width: 0; padding: 8px 5px; font-size: 11px; }
    .accesos-listados span { min-width: 18px; padding: 2px 4px; font-size: 11px; }
    .listado-trabajo .encabezado-tabla { gap: 10px; }
    .listado-trabajo .encabezado-tabla h2 { font-size: 21px; }
    .listado-trabajo .encabezado-tabla > span { padding: 4px 7px; font-size: 11px; }
    .listado-trabajo .encabezado-tabla p { font-size: 12px; }
    .tabla-trabajo .fila-inspeccion { border-left-width: 4px; }
    .tabla-trabajo .fila-pendiente { border-left-color: #d19a30; }
    .tabla-trabajo .fila-en_proceso { border-left-color: #5894d9; }
    .tabla-trabajo .fila-finalizada { border-left-color: #5d9e76; }
    .tabla-trabajo td { min-width: 0; padding: 7px 0; overflow-wrap: anywhere; }
    .tabla-trabajo td:first-child { border-left: 0; padding-bottom: 11px; }
    .tabla-trabajo td:first-child::before { content: "Inspección"; }
    .tabla-trabajo td[data-label="Acciones"] { display: block; }
    .tabla-trabajo td[data-label="Acciones"]::before { display: none; }
    .acciones-listado-inspecciones { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .acciones-listado-inspecciones > .boton { min-width: 0; padding: 10px 8px; white-space: normal; text-align: center; }
    .grupo-documentos-inspeccion { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .grupo-documentos-inspeccion > .boton { text-align: center; padding: 10px 8px; }
    .opciones-listado-inspecciones { min-width: 0; max-width: none; }
    .opciones-listado-inspecciones summary { width: 100%; justify-content: center; }
    .tabla-borradores .acciones-borrador .boton { min-height: 44px; }
}
.bloque-registro-final { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 30px; }
.bloque-registro-final h2 { margin: 5px 0 7px; }
.bloque-registro-final p:last-child { max-width: 650px; color: #526983; line-height: 1.5; }
.bloque-registro-final .boton { flex: none; }
.acciones-registro-final, .acciones-inspeccion { display: flex; flex-wrap: wrap; gap: 8px; }
.bloque-registro-final { border: 2px solid #aec9ed; border-left: 6px solid #0b4fa2; background: #f0f6ff; scroll-margin-block: 24px; }
.bloque-registro-final h2 { font-size: clamp(25px, 2.5vw, 30px); }
.bloque-registro-final h2:focus { outline: none; }
.estado-borrador-guardado { display: flex; gap: 8px; align-items: center; margin: 0 0 12px; color: #246746; font-weight: 750; }
.enlace-ayuda { display: inline-block; color: #0b4fa2; font-size: 14px; font-weight: 650; text-decoration: underline; text-underline-offset: 3px; }
.guia-revision { position: fixed; right: 34px; bottom: 24px; z-index: 4; display: flex; align-items: center; justify-content: space-between; gap: 16px; width: min(560px, calc(100vw - 312px)); border: 1px solid #b4ccea; border-radius: 12px; padding: 12px 16px; background: #f0f6ff; box-shadow: 0 4px 18px rgb(17 48 83 / 12%); }
.guia-revision[hidden] { display: none; }
.guia-revision > div { display: grid; gap: 3px; min-width: 0; }
.guia-revision strong { color: #173f6d; font-size: 15px; }
.guia-revision #progreso-revision { color: #526983; font-size: 13px; }
.guia-revision .boton { display: inline-flex; align-items: center; gap: 12px; flex: none; cursor: pointer; }
.guia-revision svg { width: 22px; height: 22px; flex: none; }
.cierre-revision { border: 2px solid #aec9ed; background: #f0f6ff; margin-bottom: 30px; }
.cierre-revision h2 { margin: 5px 0 10px; font-size: 27px; }
.cierre-revision .casilla-confirmacion { border: 1px solid #c4d6eb; border-radius: 8px; padding: 14px; background: #fff; font-size: 15px; }
.cierre-revision .casilla-confirmacion input { width: 20px; height: 20px; flex: none; accent-color: #0b4fa2; }
.acceso-ayuda { display: inline-flex; align-items: center; gap: 5px; color: #0b4fa2; font-size: 13px; font-weight: 700; }
.acceso-ayuda > span:first-child { display: grid; place-items: center; width: 25px; height: 25px; border: 1px solid #c4d6eb; border-radius: 50%; }
.temas-ayuda { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 22px; }
.temas-ayuda[hidden], .grupo-preguntas[hidden], .grupo-preguntas details[hidden] { display: none; }
.buscador-ayuda { max-width: 950px; margin-bottom: 20px; }
.buscador-ayuda label { display: block; margin-bottom: 10px; font-weight: 700; font-size: 18px; }
.fila-busqueda-ayuda { display: flex; flex-wrap: wrap; gap: 10px; }
.fila-busqueda-ayuda input { flex: 1 1 230px; min-width: 0; }
.fila-busqueda-ayuda button[hidden] { display: none; }
.buscador-ayuda p { margin: 12px 0 0; font-size: 14px; }
.buscador-ayuda #sin-resultados-ayuda { font-weight: 650; }
.temas-ayuda a { border: 1px solid #c4d6eb; border-radius: 8px; padding: 10px 14px; background: #fff; color: #0b4fa2; font-size: 14px; font-weight: 650; }
.grupo-preguntas { max-width: 950px; margin-bottom: 20px; scroll-margin-top: 20px; }
.grupo-preguntas h2 { margin: 5px 0 15px; font-size: 24px; }
.grupo-preguntas details { border-top: 1px solid #e1ebf5; }
.grupo-preguntas summary { padding: 16px 0; color: #173f6d; font-size: 16px; font-weight: 700; cursor: pointer; }
.grupo-preguntas summary:focus-visible { outline: 3px solid #8bbcf4; outline-offset: 2px; }
.grupo-preguntas details > div { padding: 0 4px 16px 22px; color: #41556a; font-size: 15px; line-height: 1.7; }
.grupo-preguntas p { margin: 0 0 10px; }
.grupo-preguntas p:last-child { margin-bottom: 0; }
.grupo-preguntas ol { margin: 0; padding-left: 20px; }
.grupo-preguntas li + li { margin-top: 10px; }
@media (max-width: 760px) {
    .guia-revision { right: 16px; bottom: calc(78px + env(safe-area-inset-bottom)); left: 16px; width: auto; gap: 8px; padding: 10px; }
    .guia-revision strong { font-size: 14px; }
    .guia-revision #progreso-revision { font-size: 12px; }
    .guia-revision .boton { gap: 6px; padding: 10px; font-size: 12px; }
    .guia-revision svg { width: 20px; height: 20px; }
    .cierre-revision .boton { width: 100%; }
    .texto-acceso-ayuda { display: none; }
    .cuenta-activa { gap: 10px; }
    .grupo-preguntas details > div { padding-left: 8px; }
}
.acciones-inspeccion .boton { min-height: 36px; padding: 7px 10px; font-size: 12px; }
.etiqueta-registrada { display: inline-block; margin-top: 6px; border-radius: 999px; padding: 3px 8px; background: #e7f3ed; color: #246746; font-size: 11px; font-weight: 700; }
.conteo-medidas { display: inline-flex; align-items: center; justify-content: center; min-width: 27px; min-height: 27px; border-radius: 7px; padding: 3px 7px; font-weight: 800; }
.conteo-pendiente { background: #fff2dc; color: #885109; }
.conteo-en-proceso { background: #e9f2ff; color: #285e9b; }
.conteo-realizada { background: #e7f3ed; color: #246746; }
.bloque-seguimiento { margin-bottom: 16px; }
.campos-estado-seguimiento { align-items: start; }
.campos-estado-seguimiento > label { align-content: start; }
.campos-estado-seguimiento select, .campos-estado-seguimiento input[type="date"] { height: 48px; min-height: 48px; }
.carga-sustento-seguimiento { margin-top: 20px; padding-top: 16px; border-top: 1px solid #e1e8f0; }
.carga-sustento-seguimiento:not([hidden]) { display: grid; gap: 10px; }
.carga-sustento-seguimiento > label { color: #31465b; font-size: 14px; font-weight: 700; }
.carga-sustento-seguimiento > label span { color: #65778a; font-weight: 400; }
.carga-sustento-seguimiento .ayuda-carga-sustento { margin: 0; color: #725015; font-size: 13px; line-height: 1.45; }
.carga-sustento-seguimiento input[type="file"] { box-sizing: border-box; width: 100%; max-width: 560px; min-width: 0; padding: 10px; border: 1px solid #ddbd70; border-radius: 8px; background: #fffbef; color: #41556a; font-size: 14px; }
.carga-sustento-seguimiento input[type="file"]::file-selector-button { margin-right: 12px; padding: 10px 14px; border: 1px solid #9a6100; border-radius: 6px; background: #a96b00; color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.carga-sustento-seguimiento input[type="file"]::file-selector-button:hover { background: #895600; }
.carga-sustento-seguimiento input[type="file"]:focus-visible { outline: 2px solid #1764aa; outline-offset: 3px; }
.bloque-seguimiento h2 { margin: 5px 0 10px; font-size: 17px; line-height: 1.4; }
.bloque-seguimiento > p:last-of-type { color: #526983; line-height: 1.5; }
.resumen-registro { margin-bottom: 16px; }
.resumen-registro h2 { margin: 5px 0 15px; }
.resumen-registro p { margin: 8px 0; line-height: 1.55; overflow-wrap: anywhere; }
.texto-con-saltos { white-space: pre-line; }
.cuadricula-resumen { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; margin: 0; }
.cuadricula-resumen dt { color: #66809b; font-size: 12px; font-weight: 700; }
.cuadricula-resumen dd { margin: 4px 0 0; overflow-wrap: anywhere; }
.item-revision { border-top: 1px solid #e1ebf5; padding: 13px 0; }
.item-revision h3 { margin: 0 0 7px; color: #0b4fa2; font-size: 15px; }
.fotos-revision { display: flex; flex-wrap: wrap; gap: 8px; }
.fotos-revision img { width: 145px; height: 105px; border: 1px solid #d6e5f5; border-radius: 7px; object-fit: contain; background: #f4f8fc; }
.lista-faltantes { margin: 12px 0 17px; padding-left: 20px; color: #9e2828; line-height: 1.6; }
.aviso-error { border-color: #ecc6c6; background: #fff2f2; color: #9e2828; }
.formulario-confirmacion { display: grid; justify-items: start; gap: 12px; margin-bottom: 30px; }
.formulario-confirmacion h2, .formulario-confirmacion p { margin: 0; }
.casilla-confirmacion { display: flex; align-items: flex-start; gap: 9px; color: #31465b; font-size: 13px; line-height: 1.5; }
.casilla-confirmacion input { margin-top: 3px; }
.retiro-medida { margin-top: 18px; border-top: 1px solid #dce5ed; padding-top: 12px; }
.retiro-medida summary { cursor: pointer; color: #8c302c; font-weight: 700; font-size: 13px; }
.retiro-medida summary span { margin-left: 8px; color: #5c6c7c; font-weight: 400; font-size: 12px; }
.contenido-retiro-medida { display: grid; gap: 12px; margin-top: 14px; padding: 14px; background: #faf7f6; border-radius: 8px; }
.motivo-retiro-medida { display: grid; gap: 6px; font-size: 13px; font-weight: 600; }
.motivo-retiro-medida textarea { width: 100%; box-sizing: border-box; padding: 10px; border: 1px solid #c4d6eb; border-radius: 7px; font: inherit; resize: vertical; background: #fff; }
.contenido-retiro-medida .nota-formulario { margin: 0; }
.carga-firma-inspeccion { margin: 16px 0; padding: 16px; background: #fff6d9; border: 1px solid #d8ad44; border-left: 4px solid #b88917; border-radius: 8px; color: #604600; }
.carga-firma-inspeccion p { font-size: 13px; }
.carga-firma-inspeccion label { display: grid; gap: 8px; }
.opciones-documento-registro { margin-top: 16px; font-size: 13px; }
.opciones-documento-registro summary { cursor: pointer; color: #31516e; font-weight: 600; }
.contenido-opciones-documento { display: grid; gap: 14px; margin-top: 14px; padding-top: 14px; border-top: 1px solid #dce5ed; }
@media (max-width: 760px) {
    .resumen-periodos { gap: 7px; }
    .tarjeta-periodo { padding: 13px 11px; }
    .tarjeta-periodo span { font-size: 11px; }
    .tarjeta-periodo strong { font-size: 25px; }
    .filtros-tablero { grid-template-columns: 1fr; }
    .filtros-tablero .fechas-rango-tablero { grid-column: auto; grid-template-columns: 1fr; }
    .acciones-filtros-tablero { flex-wrap: wrap; }
    .acciones-filtros-tablero .boton { flex: 1; }
    .resumen-tablero { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .tablas-responsables-tablero section { border: 0; overflow: visible; }
    .tablas-responsables-tablero h3, .tablas-responsables-tablero section > p:not(.mensaje-tabla-vacia) { padding-left: 0; padding-right: 0; }
    .tabla-tablero td:first-child::before { content: attr(data-label); }
    .tabla-tablero td { align-items: center; }
    .bloque-registro-final { display: grid; }
    .bloque-registro-final .boton { width: 100%; }
    .acciones-registro-final { display: grid; }
    .tabla-inspecciones td[data-label="Acciones"] { display: block; }
    .tabla-inspecciones td[data-label="Acciones"]::before { display: block; margin-bottom: 8px; }
    .acciones-inspeccion .boton { flex: 1 1 100%; white-space: normal; }
    .cuadricula-resumen { grid-template-columns: 1fr; }
    .filtros-catalogo { grid-template-columns: 1fr; }
    .catalogo-entrada dl { grid-template-columns: 1fr; }
    .grupos-observacion ul { columns: 1; }
    .opciones-observacion { grid-template-columns: 1fr; }
    .tabla-usuarios td:first-child::before { content: "Usuario"; }
    .tabla-usuarios .acciones-usuario { justify-content: flex-end; }
    .tabla-usuarios td small { overflow-wrap: anywhere; }
    .ranuras-foto { grid-template-columns: 1fr; }
    .opciones-actividad { flex-wrap: wrap; }
    .acciones-camara .boton { flex: 1; }
    .cabecera-hallazgo { align-items: flex-start; }
    .acciones-hallazgo { flex-wrap: wrap; justify-content: flex-end; }
    .bloque-analisis { padding: 16px; }
    .campos-otro { grid-template-columns: 1fr; }
    .campos-otro .ancho-completo { grid-column: auto; }
}

.acciones-borrador { display: flex; align-items: center; gap: 12px; }
.acciones-borrador form, .acciones-seguimiento-mesa form { margin: 0; }
.boton-papelera { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid #e5bcbc; border-radius: 8px; padding: 9px; background: #fff; color: #9e2828; cursor: pointer; }
.boton-papelera:hover { background: #fff1f1; }
.boton-papelera:focus-visible { outline: 3px solid #8bbcf4; outline-offset: 2px; }
.boton-papelera svg { width: 20px; height: 20px; }
.etiqueta-opcional, .etiqueta-obligatoria { color: #61768c; font-size: 11px; font-weight: 600; }
.etiqueta-obligatoria { color: #9e2828; }
.campos-reporte { margin-top: 16px; }
.campos-reporte small { color: #526983; font-size: 12px; font-weight: 600; }
.acciones-reporte { margin-bottom: 18px; }
.detalle-reporte { margin-top: 20px; border-top: 1px solid #e1ebf5; padding-top: 15px; }
.detalle-reporte h3 { margin: 14px 0 6px; color: #0b4fa2; font-size: 15px; }
.detalle-reporte p { color: #31465b; line-height: 1.6; }
.panel-seguimiento-mesa { max-width: 950px; }
.encabezado-seguimiento-mesa { display: flex; justify-content: space-between; align-items: flex-start; gap: 15px; }
.encabezado-seguimiento-mesa h2 { margin: 5px 0 0; font-size: 22px; }
.cantidad-inspecciones { border-radius: 999px; padding: 6px 10px; background: #edf4ff; color: #285e9b; font-size: 12px; font-weight: 700; white-space: nowrap; }
.resumen-seguimiento-mesa { display: flex; flex-wrap: wrap; gap: 10px 24px; margin: 18px 0; }
.resumen-seguimiento-mesa p { display: flex; align-items: center; gap: 12px; margin: 0; padding: 15px; border-radius: 10px; background: #f4f8fd; color: #173a60; font-size: clamp(19px, 2.2vw, 24px); }
.resumen-seguimiento-mesa .conteo-medidas { font-size: 30px; min-width: 44px; padding: 5px 10px; }
.encabezado-pagina .nombre-trabajador-mesa { font-size: clamp(30px, 4vw, 42px); }
.item-seguimiento-mesa .codigo-seguimiento-mesa { display: inline-block; color: #0b4fa2; font-size: 19px; font-weight: 800; margin-bottom: 8px; }
.item-seguimiento-mesa h3.area-seguimiento-mesa { font-size: clamp(22px, 3vw, 28px); margin-bottom: 12px; color: #173a60; }
.item-seguimiento-mesa .conteos-seguimiento-inspeccion { display: flex; flex-wrap: wrap; gap: 10px; font-size: 18px; margin-bottom: 12px; }
.item-seguimiento-mesa.recordatorio-seguimiento-activo { border-left: 4px solid #ce9220; padding-left: 15px; }
.item-seguimiento-mesa .aviso-recordatorio-mesa { margin-top: 12px; color: #815000; font-size: 15px; font-weight: 750; }
.item-seguimiento-mesa .espera-recordatorio { margin-top: 12px; color: #53677e; font-size: 14px; }
@media (max-width: 700px) { .resumen-seguimiento-mesa { display: grid; } .item-seguimiento-mesa { flex-direction: column; align-items: stretch; } .acciones-seguimiento-mesa .boton { width: 100%; } .acciones-seguimiento-mesa form { flex: 1; } }
.nota-seguimiento-mesa { margin: 14px 0 0; color: #65778a; font-size: 13px; line-height: 1.5; }
.lista-seguimiento-mesa { margin-top: 18px; border-top: 1px solid #e8eef5; }
.item-seguimiento-mesa { display: flex; justify-content: space-between; align-items: center; gap: 18px; border-bottom: 1px solid #e8eef5; padding: 15px 0; }
.item-seguimiento-mesa:last-child { border-bottom: 0; }
.item-seguimiento-mesa h3 { margin: 0 0 5px; font-size: 16px; line-height: 1.4; }
.item-seguimiento-mesa h3 a { color: #0b4fa2; }
.item-seguimiento-mesa p { margin: 0; color: #526983; font-size: 14px; }
.acciones-seguimiento-mesa { display: flex; flex-wrap: wrap; gap: 8px; }
.acciones-seguimiento-mesa .boton { min-height: 44px; padding: 8px 12px; font-size: 14px; cursor: pointer; }
.boton-revision-seguimiento { border-color: #922c2c; background: #a62f2f; color: #fff; }
.boton-revision-seguimiento:hover { border-color: #732222; background: #852626; }
.texto-pendiente-seguimiento { color: #923024; font-weight: 800; }
.dialogo-recordatorio-seguimiento { width: min(92vw, 510px); max-height: min(85vh, 620px); border: 1px solid #cbd9e8; border-radius: 14px; padding: 26px; box-shadow: 0 20px 70px rgb(8 35 65 / 28%); }
.dialogo-recordatorio-seguimiento::backdrop { background: rgb(9 28 49 / 58%); }
.dialogo-recordatorio-seguimiento h2 { margin: 7px 32px 12px 0; font-size: 23px; line-height: 1.25; }
.dialogo-recordatorio-seguimiento > p:not(.rotulo) { margin: 0; color: #41556a; font-size: 15px; line-height: 1.6; }
.lista-recordatorio-seguimiento { display: grid; gap: 0; max-height: 32vh; overflow-y: auto; margin: 17px 0 0; border: 1px solid #e0e9f2; border-radius: 9px; padding: 0 14px; list-style: none; }
.lista-recordatorio-seguimiento li { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 0; }
.lista-recordatorio-seguimiento li + li { border-top: 1px solid #e6edf5; }
.lista-recordatorio-seguimiento li > div { display: grid; gap: 4px; min-width: 0; font-size: 15px; overflow-wrap: anywhere; }
.lista-recordatorio-seguimiento li span { color: #526983; font-size: 13px; }
.lista-recordatorio-seguimiento .boton { min-height: 44px; padding: 7px 12px; font-size: 14px; }
.cerrar-recordatorio-seguimiento { position: absolute; top: 12px; right: 13px; border: 0; padding: 4px 8px; background: transparent; color: #526983; font-size: 27px; line-height: 1; cursor: pointer; }
.cerrar-recordatorio-seguimiento:focus-visible { outline: 3px solid #8bbcf4; outline-offset: 2px; }
.acciones-recordatorio-seguimiento { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 23px; }
.acciones-recordatorio-seguimiento .boton { cursor: pointer; }
@media (max-width: 760px) {
    .encabezado-seguimiento-mesa, .item-seguimiento-mesa { flex-direction: column; align-items: stretch; }
    .cantidad-inspecciones { align-self: flex-start; }
    .acciones-seguimiento-mesa, .acciones-seguimiento-mesa form, .acciones-seguimiento-mesa .boton { width: 100%; }
    .acciones-recordatorio-seguimiento .boton { width: 100%; }
    .lista-recordatorio-seguimiento li { align-items: stretch; flex-direction: column; }
    .lista-recordatorio-seguimiento .boton { width: 100%; }
    .tabla-borradores td:first-child::before { content: "Borrador"; }
    .tabla-borradores td[data-label="Acciones"] { align-items: center; }
}
/* Acciones claras para guardar avances o registrar definitivamente. */
.acciones-guardado-inspeccion { display:flex; flex-wrap:wrap; gap:1.25rem; }
.acciones-guardado-inspeccion > div { display:flex; flex-direction:column; gap:.5rem; }
.acciones-guardado-inspeccion small { display:block; max-width:22rem; }
.boton-cargando::before { content:""; display:inline-block; width:.9em; height:.9em; margin-right:.55em; vertical-align:-.1em; border:2px solid currentColor; border-right-color:transparent; border-radius:50%; animation:girar-carga .75s linear infinite; }
.boton-cargando { cursor:wait; }
.borrador-eliminando { background:#f1f5fa; }
.borrador-eliminando .boton-papelera { opacity:.45; cursor:wait; }
.borrador-eliminando a { pointer-events:none; opacity:.55; }
.aviso-eliminando { display:inline-flex; align-items:center; font-size:.85rem; white-space:nowrap; }
@keyframes girar-carga { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce) { .boton-cargando::before { animation:none; } }
@media (max-width:640px) { .acciones-guardado-inspeccion { flex-direction:column; } }
.seleccion-organizacion { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.seleccion-responsable-area { display:grid; gap:.65rem; padding:.75rem; min-width:0; }
.seleccion-responsable-area small { font-size:.8rem; line-height:1.5; color:#37536c; }
.cabecera-formato-inspeccion { display:grid; grid-template-columns:1fr 3fr 1fr; align-items:center; border:1px solid #a9bdcc; background:#fff; }
.cabecera-formato-inspeccion > * { padding:1rem; min-width:0; }
.cabecera-formato-inspeccion h2 { margin:0; text-align:center; font-size:1rem; border-inline:1px solid #a9bdcc; }
.cabecera-formato-inspeccion > div { font-size:.8rem; }
.datos-empleador-formato { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); margin:0 0 1rem; border:1px solid #a9bdcc; }
.datos-empleador-formato > div { padding:.7rem; border-right:1px solid #a9bdcc; }
.datos-empleador-formato dt { font-weight:600; font-size:.8rem; }
.datos-empleador-formato dd { margin:.35rem 0 0; }
@media (min-width:1000px) {
    .formato-inspeccion > .bloque-inspeccion { border-radius:0; margin-block:0; border-color:#a9bdcc; box-shadow:none; }
    .formato-inspeccion > .bloque-inspeccion > .encabezado-tarjeta { background:#d7eeee; padding:.7rem 1rem; margin-bottom:1rem; }
    .formato-inspeccion > .bloque-inspeccion > .cuadricula-formulario { gap:0; border:1px solid #a9bdcc; }
    .formato-inspeccion > .bloque-inspeccion > .cuadricula-formulario > label { padding:.75rem; border-bottom:1px solid #d0dce5; }
    .formato-inspeccion .seleccion-organizacion { padding:.75rem; background:#f6fafb; }
}
@media (max-width:760px) {
    .cabecera-formato-inspeccion, .datos-empleador-formato { grid-template-columns:1fr; }
    .cabecera-formato-inspeccion h2 { border-inline:0; border-block:1px solid #a9bdcc; text-align:left; }
}
@media (max-width:760px) { .seleccion-organizacion { grid-template-columns:1fr; } }
/* Gráficos de seguimiento sin dependencias externas. */
.graficos-seguimiento { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,300px),1fr)); gap: 20px; margin: 24px 0; }
.graficos-seguimiento section { background: #f5f9fd; border: 1px solid #dce7ef; border-radius: 12px; padding: 16px; }
.fila-grafico { display: grid; grid-template-columns: 100px minmax(0,1fr) 32px; align-items: center; gap: 10px; margin: 14px 0; }
.fila-grafico meter, .fila-mes meter { width: 100%; height: 20px; accent-color: #087d8b; }
.fila-mes { display: grid; gap: 8px; margin: 16px 0; }
select[name$="[estado]"] { font-weight: 700; border: 2px solid #ab6b00; background: #fff4d6; color: #704600; min-height: 48px; }
select[name$="[estado]"]:has(option[value="en_proceso"]:checked) { border-color: #1764aa; background: #e7f2ff; color: #104d85; }
select[name$="[estado]"]:has(option[value="realizado"]:checked) { border-color: #258045; background: #e6f5eb; color: #185c32; }
.responsables-inspeccion-formulario { padding: 18px; margin-top: 12px; border: 2px solid #b8cde3; border-radius: 12px; background: #f6f9fd; min-width: 0; }
.fila-responsable-inspeccion { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 18px; align-items: end; }
.responsables-inspeccion-formulario > .campos-otro, .responsables-inspeccion-formulario > .segundo-responsable-inspeccion { margin-top: 16px; }
.opciones-tipo-actividad { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-bottom: 12px; }
.opciones-tipo-actividad .opcion-tipo-inspeccion { min-height: 82px; }
.opciones-tipo-actividad strong { font-size: 19px; }
@media (max-width: 700px) { .fila-responsable-inspeccion, .opciones-tipo-actividad { grid-template-columns: minmax(0, 1fr); } }
.cargo-responsable-destacado { padding: 12px !important; border: 2px solid #8eafd0; border-radius: 10px; background: #edf4fc; color: #153b63; font-weight: 750; }
.cargo-responsable-destacado input { font-size: 16px; font-weight: 750; border: 2px solid #789bc2; background: #fff; color: #153b63; }
.cargo-responsable-destacado input[readonly] { background: #e1edfa; }
.formato-inspeccion .encabezado-tarjeta .titulo-seccion-numerada { color: #111827; font-size: 18px; font-weight: 800; margin: 0; }
.indicador-obligatorio { color: #b42318; font-weight: 750; }
.ambiente-mesa-trabajo { padding: 24px; border-radius: 20px; background: radial-gradient(ellipse at top right, #dcebf7, transparent 65%), linear-gradient(135deg, #eef4f8, #f8fafc); min-height: 65vh; }
.ambiente-mesa-trabajo .resumen-seguimiento-mesa { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.ambiente-mesa-trabajo .resumen-seguimiento-mesa p { flex-direction: column; align-items: center; text-align: center; justify-content: flex-start; font-size: 18px; padding: 20px; border: 1px solid #dce5ef; }
.ambiente-mesa-trabajo .resumen-seguimiento-mesa .resumen-pendientes { background: #fff8e7; border-color: #eed79f; }
.ambiente-mesa-trabajo .resumen-seguimiento-mesa .resumen-proceso { background: #edf4ff; border-color: #bfd2ec; }
.ambiente-mesa-trabajo .resumen-seguimiento-mesa .resumen-vencidas { background: #fff4f3; color: #a52121; border-color: #efc5c1; }
.resumen-vencidas small { display: block; font-size: 13px; margin-top: 7px; }
.ambiente-mesa-trabajo .resumen-seguimiento-mesa .hay-medidas-urgentes { border: 2px solid #bc3030; }
@media (max-width: 700px) {
    .ambiente-mesa-trabajo { padding: 10px; }
    .ambiente-mesa-trabajo .panel-seguimiento-mesa { padding: 14px; }
    .ambiente-mesa-trabajo .encabezado-pagina { gap: 12px; margin-bottom: 16px; }
    .ambiente-mesa-trabajo .nombre-trabajador-mesa { font-size: 26px; }
    .ambiente-mesa-trabajo .resumen-seguimiento-mesa { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 14px 0; }
    .ambiente-mesa-trabajo .resumen-seguimiento-mesa p { padding: 12px 8px; gap: 7px; font-size: 14px; line-height: 1.3; min-width: 0; }
    .ambiente-mesa-trabajo .resumen-seguimiento-mesa .conteo-medidas { font-size: 25px; min-width: 36px; padding: 3px 7px; }
    .ambiente-mesa-trabajo .icono-estado-mesa { font-size: 24px; }
    .ambiente-mesa-trabajo .resumen-vencidas small { font-size: 11px; margin-top: 5px; }
}
.icono-estado-mesa { font-size: 28px; line-height: 1; }
.panel-firma-mesa { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; padding: 20px; margin-bottom: 20px; border: 1px solid; border-radius: 12px; }
.panel-firma-mesa strong { font-size: 20px; color: inherit; }
.panel-firma-mesa p { margin: 6px 0 0; font-size: 14px; font-weight: 700; }
.aviso-firma-amarillo { padding: 14px 16px; background: #fff4cc; color: #654900; border: 1px solid #dfbc56; border-radius: 8px; }
.boton-reporte-excel { background: #167045; color: #fff; border: 1px solid #167045; display: inline-flex; align-items: center; gap: 9px; }
.boton-reporte-excel:hover { background: #105333; color: #fff; }
.boton-reporte-excel svg { width: 22px; height: 22px; flex-shrink: 0; }
.tarjeta-mi-firma { max-width: 820px; margin-inline: auto; }
.tarjeta-mi-firma h1 { margin-bottom: 22px; }
.tarjeta-mi-firma .aviso-firma-amarillo { margin: 0 0 26px; line-height: 1.5; }
.tarjeta-mi-firma .campos-mi-firma { grid-template-columns: minmax(0, 1fr); max-width: 600px; margin-bottom: 22px; }
.tarjeta-mi-firma .campos-mi-firma label { gap: 10px; }
.tarjeta-mi-firma input[type="file"] { font-size: 14px; }
.tarjeta-mi-firma input[type="file"]::file-selector-button { margin-right: 12px; padding: 8px 12px; border: 1px solid #cddae8; border-radius: 6px; background: #f3f6fa; color: #24384d; cursor: pointer; }
.acciones-mi-firma { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 28px; padding-top: 20px; border-top: 1px solid #e1e8ef; }
.acciones-mi-firma .boton { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
@media (max-width: 600px) { .acciones-mi-firma .boton { width: 100%; } }
.boton-firma-mesa { padding: 14px 22px; font-size: 16px; font-weight: 800; color: #fff; }
.firma-mesa-pendiente { background: #fff1f0; border-color: #dfaaaa; color: #a32626; }
.firma-mesa-pendiente .boton-firma-mesa { background: #a32626; }
.firma-mesa-pendiente .boton-firma-mesa:hover { background: #801c1c; }
.firma-mesa-registrada { background: #ebf7ef; border-color: #9bcfaf; color: #176336; }
.firma-mesa-registrada .boton-firma-mesa { background: #176336; }
.firma-mesa-registrada .boton-firma-mesa:hover { background: #12522c; }
.aviso-vencimiento-mesa { background: #fff0ef; color: #9e2525; border-left: 4px solid #b52c2c; padding: 12px; border-radius: 5px; font-size: 14px; }
.detalle-vencimiento-mesa { color: #9e2525; font-size: 13px; padding: 8px 0; }
.icono-estado-mesa svg { width: 1em; height: 1em; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.logro-seguimiento-mesa { display: flex; align-items: center; gap: 14px; margin-top: 18px; padding: 18px; border: 1px solid #9bccad; border-radius: 12px; background: #ecf8ef; color: #176336; }
.logro-seguimiento-mesa strong { font-size: 18px; }
.logro-seguimiento-mesa p { margin: 5px 0 0; font-size: 14px; line-height: 1.5; }
.check-logro-mesa { display: grid; place-items: center; flex-shrink: 0; width: 40px; height: 40px; border-radius: 50%; background: #176336; color: #fff; font-size: 25px; font-weight: 800; }
.ambiente-mesa-trabajo .resumen-seguimiento-mesa .resumen-realizadas { background: #edf8f0; border-color: #9bccad; color: #176336; }
.avance-realizadas { display: flex; gap: 16px; align-items: center; padding: 16px; margin-bottom: 20px; background: #edf8f0; color: #176336; border-radius: 12px; flex-wrap: wrap; }
.avance-realizadas progress { flex: 1; min-width: 140px; accent-color: #218348; }
.seguimiento-acumulado { margin-top: 24px; }
.seguimiento-acumulado > p { font-size: 14px; color: #52677e; }
.filtros-tablero .fechas-rango-tablero { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; grid-column: span 2; order: 0; }
.filtros-tablero > label:has([name="creador"]) { order: 1; }
.filtros-tablero > label:has([name="gerencia"]), .filtros-tablero > label:has([name="area"]), .filtros-tablero > label:has([name="subarea"]) { order: 2; }
.filtro-personas-adicional { order: 3; grid-column: 1 / -1; padding: 12px; border: 1px solid #d9e3ef; border-radius: 8px; }
.filtro-personas-adicional summary { cursor: pointer; font-weight: 650; color: #53677e; }
.filtros-tablero .acciones-filtros-tablero { order: 4; grid-column: 1 / -1; }
@media (max-width: 700px) { .filtros-tablero .fechas-rango-tablero { grid-column: 1 / -1; grid-template-columns: minmax(0, 1fr); } }
.tablero-inspecciones .filtros-tablero { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grupo-barras-dashboard { padding: 14px 0; border-bottom: 1px solid #e1e8f0; }
.barra-dashboard { display: grid; grid-template-columns: 90px minmax(0, 1fr) 30px; align-items: center; gap: 10px; margin-top: 9px; font-size: 13px; }
.pista-barra-dashboard { background: #edf1f6; height: 16px; border-radius: 4px; overflow: hidden; }
.pista-barra-dashboard > span { display: block; height: 100%; }
.relleno-pendientes { background: #ce9220; } .relleno-en_proceso { background: #246ac2; } .relleno-realizadas { background: #238452; } .relleno-ubicacion { background: #246ac2; }
.acciones-recientes-dashboard { margin-top: 20px; }
.acciones-recientes-dashboard summary { cursor: pointer; color: #173a60; font-weight: 750; }
.detalle-participantes-dashboard { margin-top: 20px; border-top: 1px solid #dce7f1; padding-top: 16px; }
.detalle-participantes-dashboard > summary { cursor: pointer; font-weight: 700; color: #194f87; }
.grafico-hallazgos meter { accent-color: #488995; }
.resultado-tablero .tabla-tablero :is(.dato-inspecciones, .dato-hallazgos, .dato-medidas, .dato-pendientes, .dato-en_proceso, .dato-realizadas, .dato-vencidas) { font-size: 18px; font-weight: 750; min-width: 32px; text-align: center; line-height: 1.4; }
.descripcion-medida-dashboard [data-texto-medida] { overflow-wrap: anywhere; }
.descripcion-medida-dashboard .medida-colapsada { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.alternar-descripcion-medida { border: 0; background: transparent; color: #194f87; padding: 4px 0; font: inherit; font-weight: 700; text-decoration: underline; cursor: pointer; }
.alternar-descripcion-medida:focus-visible { outline: 2px solid #194f87; outline-offset: 3px; }
@media print {
    .descripcion-medida-dashboard .medida-colapsada { display: block; overflow: visible; -webkit-line-clamp: unset; }
    .alternar-descripcion-medida { display: none !important; }
}
@media (max-width: 700px) { .tablero-inspecciones .filtros-tablero { grid-template-columns: minmax(0, 1fr); } }
/* Sustentos privados de medidas realizadas. */
.sustentos-medida { margin-top: 1rem; padding-top: .8rem; border-top: 1px solid #d8e3ef; }
.sustento-medida-archivo { padding: .6rem 0; }
.vista-previa-sustento { display: block; width: fit-content; max-width: 100%; margin-bottom: 12px; border: 1px solid #d8e3ef; border-radius: 8px; overflow: hidden; background: #f8fafc; }
.miniatura-sustento { display: block; width: auto; height: auto; max-width: min(100%, 360px); max-height: 240px; object-fit: contain; }
.vista-previa-sustento:focus-visible { outline: 2px solid #1764aa; outline-offset: 3px; }
.sustento-medida-archivo > p { overflow-wrap: anywhere; }
.sustento-medida-archivo small { display: block; margin-top: .3rem; color: #53657b; }
.formulario-sustento-medida { display: grid; gap: .6rem; margin-top: .8rem; max-width: 38rem; }
.formulario-sustento-medida button { justify-self: start; }

/* Uniformidad visual de la interfaz. */
.interfaz-sst { --sst-texto: #162d47; --sst-secundario: #536980; --sst-borde: #dbe5ef; --sst-azul: #0b57b7; color: var(--sst-texto); -webkit-font-smoothing: antialiased; }
.interfaz-sst :is(button, input, select, textarea) { font-family: inherit; }
.interfaz-sst .barra-lateral .marca strong { font-size: 21px; font-weight: 750; }
.interfaz-sst .navegacion-lateral a { min-height: 46px; gap: 12px; }
.interfaz-sst .navegacion-lateral a.activo { background: #1a4677; color: #fff; }
.interfaz-sst .barra-superior { border-color: var(--sst-borde); }
.interfaz-sst :is(.identidad-cuenta, .cuenta-activa button) { display: inline-flex; align-items: center; gap: 8px; }
.interfaz-sst .cuenta-activa .icono-navegacion { width: 17px; height: 17px; }
.interfaz-sst .cuenta-activa { font-size: 13px; }
.interfaz-sst .cuenta-activa button { min-height: 40px; font-size: 13px; }
.interfaz-sst .encabezado-pagina { align-items: center; margin-bottom: 24px; }
.interfaz-sst .encabezado-pagina h1 { font-size: clamp(27px, 2.4vw, 32px); line-height: 1.2; letter-spacing: -.025em; }
.interfaz-sst .contenido-pagina h2 { font-size: 21px; line-height: 1.3; letter-spacing: -.015em; }
.interfaz-sst .contenido-pagina h3 { font-size: 17px; line-height: 1.4; }
.interfaz-sst .titulo-con-icono { display: flex; align-items: center; gap: 10px; }
.interfaz-sst .titulo-con-icono > .icono-navegacion { width: 21px; height: 21px; color: var(--sst-azul); }
.interfaz-sst :is(.tarjeta-tabla, .tarjeta-formulario, .tarjeta-caso) { border-color: var(--sst-borde); box-shadow: 0 2px 7px rgb(16 40 64 / 3%); }
.interfaz-sst .boton { min-height: 44px; gap: 8px; padding: 10px 16px; border-radius: 7px; font-size: 14px; line-height: 1.35; cursor: pointer; }
.interfaz-sst .boton > .icono-navegacion { width: 18px; height: 18px; }
.interfaz-sst .boton-principal { background: var(--sst-azul); border-color: var(--sst-azul); }
.interfaz-sst .boton-principal:hover { background: #08468f; border-color: #08468f; }
.interfaz-sst .boton:disabled, .interfaz-sst .boton:disabled:hover { background: #e2eaf4; border-color: #d4deea; color: #55708e; cursor: not-allowed; }
.interfaz-sst .boton-secundario { color: #174d87; border-color: #c9d8e9; }
.interfaz-sst .boton-secundario:hover { background: #f3f7fc; border-color: #9cb9da; }
.interfaz-sst .boton-reporte-pdf { background: #fff; color: #174d87; border-color: #c9d8e9; box-shadow: none; }
.interfaz-sst .boton-reporte-pdf:hover { background: #f3f7fc; border-color: #9cb9da; box-shadow: none; }
.interfaz-sst :is(.boton-reporte-pdf, .boton-reporte-excel) svg { width: 19px; height: 19px; }
.interfaz-sst .acciones-filtros-tablero { flex-wrap: wrap; gap: 10px; padding-top: 4px; }
.interfaz-sst .acciones-filtros-tablero > a:not(.boton) { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 4px; }
.interfaz-sst :is(.cuadricula-formulario, .filtros-tablero) label { gap: 8px; font-size: 14px; line-height: 1.4; }
.interfaz-sst :is(.cuadricula-formulario, .filtros-tablero) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]), select) { min-height: 44px; padding: 10px 12px; border-radius: 7px; border-color: #c9d8e9; font-size: 16px; line-height: 1.35; }
.interfaz-sst .cuadricula-formulario textarea { padding: 12px; line-height: 1.55; border-color: #c9d8e9; }
.interfaz-sst :is(select, summary):focus-visible { outline: 3px solid #8bbcf4; outline-offset: 2px; }
.interfaz-sst .filtro-personas-adicional { padding: 12px 14px; border-color: var(--sst-borde); background: #fbfcfe; }
.interfaz-sst .encabezado-tabla { gap: 16px; padding: 20px; }
.interfaz-sst .encabezado-tabla p { margin: 7px 0 0; color: var(--sst-secundario); font-size: 14px; line-height: 1.5; }
.interfaz-sst .encabezado-tabla > span { flex-shrink: 0; border-radius: 999px; background: #edf3fa; padding: 5px 10px; color: #45617e; font-size: 12px; font-weight: 650; }
.interfaz-sst th { color: #4a617b; font-size: 12px; letter-spacing: .035em; line-height: 1.45; }
.interfaz-sst td { font-size: 14px; line-height: 1.5; }
.interfaz-sst td small { font-size: 12px; line-height: 1.45; color: var(--sst-secundario); }
.interfaz-sst :is(.tabla-tablero, .tabla-trabajo) :is(th, td) { padding: 14px 16px; }
.interfaz-sst .tabla-tablero :is(th, td) { font-variant-numeric: tabular-nums; }
.interfaz-sst .tabla-tablero .persona-tablero small { font-size: 12px; line-height: 1.45; }
.interfaz-sst .resultado-tablero .tabla-tablero :is(.dato-inspecciones, .dato-hallazgos, .dato-medidas, .dato-pendientes, .dato-en_proceso, .dato-realizadas, .dato-vencidas) { font-size: 15px; min-width: 30px; line-height: 1.5; }
.interfaz-sst .estado-inspeccion { font-size: 13px; padding: 6px 10px; }
.interfaz-sst .acciones-listado-inspecciones { gap: 8px; }
.interfaz-sst .acciones-listado-inspecciones > .boton { min-height: 44px; padding: 10px 12px; font-size: 13px; }
.interfaz-sst .graficos-seguimiento section { background: #fbfcfe; border-color: var(--sst-borde); }
.interfaz-sst .barra-dashboard { line-height: 1.5; }
.interfaz-sst :is(.periodo-consultado, .seguimiento-acumulado > p, .nota-formulario) { color: var(--sst-secundario); line-height: 1.55; }
.interfaz-sst .avance-realizadas { gap: 14px; padding: 14px 16px; font-size: 14px; }
/* Agrupacion de consultas y lectura de los resultados. */
.interfaz-sst .contenido-pagina:has(.tablero-inspecciones) { width: min(1480px, 100%); }
.interfaz-sst .filtros-tablero { gap: 18px; }
.interfaz-sst .acciones-filtros-tablero { border-top: 1px solid var(--sst-borde); padding-top: 18px; }
.interfaz-sst .grupos-resumen-tablero { grid-template-columns: minmax(0, 3fr) minmax(0, 5fr); align-items: stretch; }
.interfaz-sst .grupo-resumen-tablero { padding: 18px; background: #fbfcfe; }
.interfaz-sst .grupo-resumen-tablero .resumen-tablero { height: auto; }
.interfaz-sst .resumen-tablero > div { padding: 14px 12px; gap: 12px; }
.interfaz-sst .resumen-tablero span { font-size: 13px; min-height: 34px; }
.interfaz-sst .resultado-tablero > h3, .interfaz-sst .encabezado-ubicaciones { margin-top: 30px; padding-top: 22px; border-top: 1px solid var(--sst-borde); }
.interfaz-sst .persona-tablero { min-width: 190px; }
.interfaz-sst .persona-tablero strong { line-height: 1.45; }
.interfaz-sst .persona-tablero small { margin-top: 6px; }
.interfaz-sst .seguimiento-acumulado > .resumen-tablero { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 650px; margin: 22px 0; }
.interfaz-sst .seguimiento-acumulado .tabla-tablero { table-layout: fixed; }
.interfaz-sst .seguimiento-acumulado th:nth-child(1) { width: 17%; }
.interfaz-sst .seguimiento-acumulado th:nth-child(2) { width: 31%; }
.interfaz-sst .seguimiento-acumulado th:nth-child(3) { width: 18%; }
.interfaz-sst .seguimiento-acumulado th:nth-child(4) { width: 17%; }
.interfaz-sst .seguimiento-acumulado th:nth-child(5) { width: 17%; }
.interfaz-sst .seguimiento-acumulado td { vertical-align: top; overflow-wrap: anywhere; }
.interfaz-sst .seguimiento-acumulado td > div { margin-top: 7px; }
.interfaz-sst .seguimiento-acumulado td:first-child > div { color: var(--sst-secundario); font-size: 12px; line-height: 1.6; }
.interfaz-sst .seguimiento-acumulado td:nth-child(4) > .alerta-vencida { display: inline-block; margin-top: 7px; font-size: 12px; color: #a91c28; }
.interfaz-sst .seguimiento-acumulado td:last-child small { display: block; margin-top: 5px; }
.interfaz-sst .tabla-trabajo .fila-inspeccion { background: #fff; }
.interfaz-sst .tabla-trabajo .fila-inspeccion:hover { background: #f7faff; }
.interfaz-sst .tabla-trabajo td { vertical-align: top; }
.interfaz-sst .tabla-trabajo td:first-child { min-width: 175px; }
.interfaz-sst .acciones-listado-inspecciones { align-items: flex-start; }
@media (max-width: 1200px) {
    .interfaz-sst .grupos-resumen-tablero { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 760px) {
    .interfaz-sst .seguimiento-acumulado .tabla-tablero { table-layout: auto; }
    .interfaz-sst .seguimiento-acumulado td { display: block; text-align: left; }
    .interfaz-sst .seguimiento-acumulado td::before { display: block; margin-bottom: 7px; }
    .interfaz-sst .seguimiento-acumulado > .resumen-tablero { gap: 7px; }
    .interfaz-sst .seguimiento-acumulado .resumen-tablero > div { padding: 12px 8px; }
    .interfaz-sst .seguimiento-acumulado .resumen-tablero span { font-size: 12px; }
    .interfaz-sst .persona-tablero { min-width: 0; }
    .interfaz-sst .acciones-filtros-tablero .boton { width: 100%; }
    .interfaz-sst .acciones-listado-inspecciones { width: 100%; }
    .interfaz-sst .tabla-trabajo td:first-child { min-width: 0; }
}
.interfaz-sst :is(.detalle-participantes-dashboard > summary, .acciones-recientes-dashboard > summary) { min-height: 42px; padding-block: 8px; line-height: 1.5; }
@media (max-width: 760px) {
    .interfaz-sst .encabezado-pagina { align-items: stretch; gap: 16px; }
    .interfaz-sst .encabezado-pagina h1 { font-size: 27px; }
    .interfaz-sst .cuenta-activa { gap: 10px; font-size: 12px; }
    .interfaz-sst .identidad-cuenta { gap: 5px; }
    .interfaz-sst .contenido-pagina h2 { font-size: 20px; }
    .interfaz-sst .encabezado-tabla { padding: 16px 0; align-items: flex-start; }
    .interfaz-sst .acciones-filtros-tablero .boton { white-space: normal; text-align: center; }
}
