:root{--bg:#f4f6f9;--fg:#1d2733;--mut:#5b6b7b;--pri:#1f3864;--ok:#e3f4e6;--err:#fde4e1;--bd:#cfd8e3}
*{box-sizing:border-box}body{margin:0;font:14px/1.45 Calibri,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--fg)}
header.top{background:var(--pri);color:#fff;display:flex;gap:18px;align-items:center;padding:8px 16px;flex-wrap:wrap}
header.top nav{display:flex;gap:12px;flex:1;flex-wrap:wrap}header.top a{color:#dbe6ff;text-decoration:none}header.top a:hover{text-decoration:underline}
main{max-width:1200px;margin:16px auto;padding:0 16px}h1{font-size:20px;color:var(--pri);margin:6px 0 12px}h2{font-size:16px;color:var(--pri);margin:18px 0 6px}
table{border-collapse:collapse;width:100%;background:#fff}th,td{border:1px solid var(--bd);padding:5px 8px;text-align:left;vertical-align:top}th{background:#e8eef7}
.card{background:#fff;border:1px solid var(--bd);border-radius:6px;padding:12px;margin-bottom:12px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.kpi{background:#fff;border:1px solid var(--bd);border-radius:6px;padding:10px}.kpi b{display:block;font-size:24px;color:var(--pri)}
.kpi.warn b{color:#b42318}
label{display:block;font-weight:600;font-size:12px;color:var(--mut);margin-bottom:2px}
input[type=text],input[type=password],input[type=email],input[type=date],input[type=datetime-local],select,textarea{width:100%;padding:6px;border:1px solid var(--bd);border-radius:4px;font:inherit;background:#fff}
.chk label{display:inline;font-weight:400;color:var(--fg)}
button,.btn{background:var(--pri);color:#fff;border:0;border-radius:4px;padding:7px 14px;font:inherit;cursor:pointer;text-decoration:none;display:inline-block}
button.sec,.btn.sec{background:#fff;color:var(--pri);border:1px solid var(--pri)}button.red{background:#b42318}
.flash{padding:8px 12px;border-radius:4px;margin-bottom:10px}.flash.ok{background:var(--ok)}.flash.err{background:var(--err)}
.tag{display:inline-block;padding:1px 8px;border-radius:10px;font-size:12px;background:#e8eef7}.tag.Perdido,.tag.Bloqueado{background:#f8cbad}.tag.En\ uso,.tag.Aprobado{background:#cfe8d3}
.aviso{background:#fff7e0;border:1px solid #ecd48a;padding:8px;border-radius:4px;margin:8px 0}
.filtros{display:flex;gap:8px;flex-wrap:wrap;align-items:end;margin-bottom:10px}.filtros>div{min-width:150px}
.login{max-width:340px;margin:12vh auto}.muted{color:var(--mut)}.num{white-space:nowrap}
.acta{background:#fff;max-width:780px;margin:0 auto;padding:28px 36px;border:1px solid var(--bd)}.acta h1{text-align:center}
.firmas{display:flex;gap:40px;margin-top:70px}.firmas div{flex:1;border-top:1px solid #000;text-align:center;padding-top:4px}
@media print{header.top,.noprint,.flash{display:none!important}body{background:#fff}.acta{border:0;padding:0}main{margin:0;max-width:none}}
