:root{--azul:#0A4F9C;--azul-osc:#073A75;--verde:#009B77;--verde-cl:#E6F5F1;--fondo:#F3F7FB;--texto:#1B2B3A;--gris:#6B7C8C;--borde:#D5DFE8;--rojo:#B3261E}
*{box-sizing:border-box}
body{margin:0;font:15px/1.5 "Segoe UI",system-ui,sans-serif;background:var(--fondo);color:var(--texto)}
a{color:var(--azul)}
.lateral{position:fixed;inset:0 auto 0 0;width:240px;background:var(--azul);color:#fff;overflow-y:auto;z-index:20;border-right:4px solid var(--verde)}
.lateral a,.lateral .pronto{display:block;color:#fff;text-decoration:none;padding:9px 20px;border-left:4px solid transparent}
.lateral a:hover{background:var(--azul-osc)}
.lateral a.activo{background:var(--azul-osc);border-left-color:var(--verde);font-weight:600}
.lateral .marca{display:flex;padding:18px 20px;border-bottom:1px solid rgba(255,255,255,.15);margin-bottom:6px}
.lateral .seccion{padding:16px 20px 4px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#9FD8C9}
.lateral .pronto{opacity:.55}.lateral .pronto small{display:block;font-size:11px}
.cuerpo{margin-left:240px}
.superior{display:flex;align-items:center;gap:16px;background:#fff;border-bottom:1px solid var(--borde);padding:10px 24px;position:sticky;top:0;z-index:10}
.titulo-pagina{font-weight:700;color:var(--azul-osc);flex:1}
.hamb{display:none;font-size:24px;cursor:pointer;color:var(--azul)}
.nav-toggle,.velo{display:none}
.marca{font-weight:700;font-size:20px;align-items:center;gap:8px}
.cruz{width:22px;height:22px;background:linear-gradient(#fff,#fff) center/6px 100% no-repeat,linear-gradient(#fff,#fff) center/100% 6px no-repeat;border-radius:4px;background-color:var(--verde)}
.quien{font-size:13px;display:flex;gap:12px}
.contenedor{max-width:1000px;margin:24px auto;padding:0 16px}
h1{color:var(--azul-osc);font-size:24px;margin:0 0 16px}
h2{color:var(--azul-osc);font-size:18px}
.tarjeta{background:#fff;border:1px solid var(--borde);border-radius:10px;padding:20px;margin-bottom:20px}
.rejilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.modulo{background:#fff;border:1px solid var(--borde);border-left:5px solid var(--verde);border-radius:8px;padding:14px}
.modulo small{color:var(--gris)}
table{width:100%;border-collapse:collapse;background:#fff}
th,td{padding:8px 10px;border-bottom:1px solid var(--borde);text-align:left;vertical-align:middle}
th{background:var(--verde-cl);color:var(--azul-osc);font-size:13px}
label{display:block;font-weight:600;margin:12px 0 4px;font-size:14px}
input[type=text],input[type=password],input[type=email],select{width:100%;padding:9px 10px;border:1px solid var(--borde);border-radius:6px;font:inherit}
input:focus,select:focus{outline:2px solid var(--azul);border-color:var(--azul)}
button,.boton{background:var(--azul);color:#fff;border:0;border-radius:6px;padding:9px 18px;font:inherit;font-weight:600;cursor:pointer;text-decoration:none;display:inline-block}
button:hover,.boton:hover{background:var(--azul-osc)}
.verde{background:var(--verde)}.verde:hover{background:#007a5e}
.peligro{background:var(--rojo)}.peligro:hover{background:#8c1d18}
.chico{padding:4px 10px;font-size:13px}
.aviso{padding:10px 14px;border-radius:6px;margin-bottom:16px}
.aviso.ok{background:var(--verde-cl);border:1px solid var(--verde)}
.aviso.error{background:#FDECEA;border:1px solid var(--rojo);color:var(--rojo)}
.clave{font:700 18px Consolas,monospace;background:#fff;padding:4px 8px;border-radius:4px;user-select:all}
.etiqueta{display:inline-block;padding:2px 8px;border-radius:10px;font-size:12px;background:var(--verde-cl);color:var(--azul-osc)}
.etiqueta.off{background:#EEE;color:var(--gris)}
.acceso{min-height:100vh;display:grid;place-items:center;padding:16px;background:linear-gradient(135deg,var(--azul) 0%,var(--azul-osc) 55%,var(--verde) 130%)}
.acceso .caja{background:#fff;border-radius:12px;padding:32px;width:100%;max-width:400px;box-shadow:0 10px 40px rgba(0,0,0,.25);border-top:6px solid var(--verde)}
.acceso h1{text-align:center;margin-bottom:4px}
.acceso p.sub{text-align:center;color:var(--gris);margin-top:0}
.caja button{width:100%;margin-top:18px}
.rejilla-form{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:4px 16px}
.req{color:var(--rojo)}
.error-campo{color:var(--rojo);font-size:13px;margin-top:2px}
.ayuda{color:var(--gris);font-size:13px;margin:10px 0 0}
input[type=date],input[type=time]{width:100%;padding:9px 10px;border:1px solid var(--borde);border-radius:6px;font:inherit}
.datos{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px 20px}
.dato span{display:block;color:var(--gris);font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.fila{display:flex;gap:12px;flex-wrap:wrap;align-items:end}.fila>div{flex:1;min-width:160px}
@media(max-width:800px){
.lateral{transform:translateX(-100%);transition:transform .2s}
.cuerpo{margin-left:0}
.hamb{display:block}
.nav-toggle:checked~.lateral{transform:none}
.nav-toggle:checked~.velo{display:block;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:15}
.quien{font-size:12px;gap:8px;flex-wrap:wrap;justify-content:flex-end}
}
