*{box-sizing:border-box}
:root{--azul:#173f63;--azul2:#2f75b5;--fondo:#f3f6f9;--borde:#cbd7e2;--texto:#20303c;--verde:#2f7d32;--rojo:#a73030;--amarillo:#fff3cd}
body{margin:0;font-family:Segoe UI,Arial,sans-serif;background:var(--fondo);color:var(--texto)}
header{background:linear-gradient(135deg,var(--azul),#255f8e);color:#fff;padding:18px 28px}
header h1{margin:0;font-size:23px}header p{margin:5px 0 0;opacity:.88}
main{max-width:1450px;margin:28px auto;padding:0 16px}
.panel{background:#fff;border:1px solid var(--borde);border-radius:12px;padding:20px;box-shadow:0 5px 18px rgba(24,63,99,.12);margin-bottom:18px}
.login{max-width:480px;margin:55px auto}
h2,h3{color:var(--azul);margin-top:0}
label{display:block;font-weight:700;font-size:13px;margin-bottom:6px}
input,select,textarea{width:100%;padding:11px;border:1px solid #b9c6d2;border-radius:7px;font:inherit}
.campo{margin-bottom:15px}
.btn{display:inline-block;border:1px solid var(--azul2);background:var(--azul2);color:#fff;text-decoration:none;padding:9px 13px;border-radius:7px;font-weight:700;cursor:pointer;font-size:14px}
.btn.sec{background:#fff;color:var(--azul2)}.btn.rojo{background:var(--rojo);border-color:var(--rojo)}
.acciones,.menu{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}
.alerta{padding:11px 13px;border-radius:7px;margin-bottom:15px;background:var(--amarillo);border-left:4px solid #d39b19}
.error{background:#f8d7da;border-left-color:var(--rojo)}.ok{background:#dff0d8;border-left-color:var(--verde)}
.cards{display:grid;grid-template-columns:repeat(3,minmax(190px,1fr));gap:14px;margin-bottom:18px}
.card{background:#fff;border:1px solid var(--borde);border-radius:11px;padding:18px;box-shadow:0 3px 12px rgba(24,63,99,.08)}
.card .num{font-size:30px;font-weight:800;color:var(--azul)}
.tabla{width:100%;border-collapse:collapse}.tabla th,.tabla td{padding:8px;border-bottom:1px solid #e1e7ec;text-align:left;vertical-align:middle}.tabla th{background:#eef4f8;color:#173f63}
.usuario{font-size:13px;margin-top:8px}
@media(max-width:720px){.cards{grid-template-columns:1fr}}
@media print{header .menu,.btn{display:none!important}body{background:#fff}.panel,.card{box-shadow:none}}
