*{box-sizing:border-box}
body{margin:0;font:14px/1.4 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:#1c2430;background:#f4f6f9}
[hidden]{display:none!important}
.suave{color:#667}
.grow{flex:1}
.error{color:#b3261e;min-height:1.2em;margin:.2em 0}
button{font:inherit;padding:.5em 1em;border:0;border-radius:6px;background:#1f3a5f;color:#fff;cursor:pointer}
button:hover{background:#2b4f80}
button.sec{background:#e3e8ef;color:#1c2430}
button.sec:hover{background:#d3dae5}
button.enlace{background:none;color:#1f3a5f;padding:0;text-decoration:underline}
input,select{font:inherit;padding:.45em .6em;border:1px solid #c5ccd6;border-radius:6px;background:#fff;width:100%;min-width:0}
label{display:flex;flex-direction:column;gap:.25em;font-size:12px;color:#556;font-weight:600}
#login{min-height:100vh;display:grid;place-items:center}
.tarjeta{background:#fff;padding:2em;border-radius:12px;width:min(92vw,360px);display:grid;gap:.8em;box-shadow:0 4px 24px #0002}
.tarjeta h1{margin:0;font-size:20px}
header{display:flex;align-items:center;gap:1em;padding:.6em 1.2em;background:#fff;border-bottom:1px solid #dde2ea;position:sticky;top:0;z-index:5}
nav{display:flex;gap:.3em}
.tab{background:none;color:#445}
.tab.activo{background:#e3ecf8;color:#1f3a5f;font-weight:600}
main{padding:1em 1.2em}
.filtros{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.7em}
.barra{display:flex;align-items:center;gap:.6em;margin:.9em 0 .5em}
.tabla{overflow:auto;background:#fff;border:1px solid #dde2ea;border-radius:8px;max-height:calc(100vh - 290px)}
table{border-collapse:collapse;width:100%}
th,td{padding:.5em .7em;text-align:left;border-bottom:1px solid #eef1f5;white-space:nowrap}
th{position:sticky;top:0;background:#1f3a5f;color:#fff;cursor:pointer;user-select:none;font-weight:600}
tbody tr:hover{background:#f3f7fc}
.si{color:#1b7f3b;font-weight:600}.no{color:#b3261e;font-weight:600}
footer{padding:.8em 1.2em}
a.pdf{color:#1f3a5f}
.fondo{position:fixed;inset:0;background:#0009;display:grid;place-items:center;z-index:20}
.caja{background:#fff;border-radius:10px;width:min(96vw,960px);height:92vh;display:flex;flex-direction:column;overflow:hidden}
.caja-enc{display:flex;align-items:center;gap:.6em;padding:.7em 1em;border-bottom:1px solid #dde2ea}
.caja iframe{flex:1;border:0;width:100%}
a.boton{background:#1f3a5f;color:#fff;padding:.5em 1em;border-radius:6px;text-decoration:none}
a.boton:hover{background:#2b4f80}
button.ver{padding:.3em .8em}
