:root{--rojo:#b00000;--azul:#003b8e;--amarillo:#ffcc00;--bg:#f5f7fb;--card:#fff}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,sans-serif;background:var(--bg);color:#1a1f36}
.container{max-width:1200px;margin:0 auto;padding:16px}
.topbar{background:linear-gradient(90deg,#d44 0%,#f26c21 100%);color:#fff}
.brand{display:flex;gap:14px;align-items:center}.logo{background:#fff;color:#b00000;font-weight:800;border-radius:10px;padding:10px 12px}
.topbar h1{margin:0;font-size:24px}.topbar .sub{opacity:.95;margin-top:2px}
.banner{background:linear-gradient(90deg,var(--azul) 0%,#1161b4 100%);color:#fff}.banner-inner{display:flex;gap:10px;align-items:center;justify-content:flex-start}
.pill{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.35);padding:6px 10px;border-radius:999px}
.footer{margin-top:24px;background:#0b2d5a;color:#eef;padding:14px 0;font-size:14px}
.card{background:var(--card);border:1px solid #e6e9f2;border-radius:14px;padding:16px;margin:16px 0;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}
input,select,textarea{width:100%;padding:10px;border:1px solid #d8dbe3;border-radius:10px;margin:6px 0 12px;background:#fff}
.badge{display:inline-block;padding:2px 8px;border-radius:999px;background:var(--azul);color:#fff;font-size:12px}
.btn{display:inline-block;padding:9px 14px;border-radius:10px;border:0;text-decoration:none;cursor:pointer}
.btn-primary{background:var(--azul);color:#fff}.btn-danger{background:#dc3545;color:#fff}.btn-success{background:#198754;color:#fff}
.notice{padding:10px 12px;border-left:4px solid var(--azul);background:#e9f2ff;border-radius:8px;margin:10px 0}
.notice.ok{border-left-color:#198754;background:#e8f6ee}.notice.err{border-left-color:#dc3545;background:#fdecec}
.table{width:100%;border-collapse:collapse}.table th,.table td{border:1px solid #e1e4ec;padding:8px}.table th{background:#f0f3fa}
.filters{display:grid;grid-template-columns:2fr 1.5fr 1.5fr 1fr auto;gap:10px}
@media (max-width:800px){.filters{grid-template-columns:1fr}}.top-actions{display:flex;gap:8px;align-items:center}
.toast-container{position:fixed;top:20px;right:20px;padding:12px 18px;background:#198754;color:#fff;border-radius:10px;box-shadow:0 3px 8px rgba(0,0,0,.2);opacity:0;transform:translateY(-20px);transition:all .4s ease;z-index:9999}
.toast-container.show{opacity:1;transform:translateY(0)}