:root{--azul:#003b8e;--amarillo:#ffcc00}
body{margin:0;font-family:system-ui,Segoe UI,Roboto,Ubuntu,sans-serif;background:#f5f7fb}
.container{max-width:1200px;margin:0 auto;padding:16px}
.topbar{background:var(--azul);color:#fff;padding:12px 0;margin-bottom:16px}
.topbar .container{display:flex;justify-content:space-between;align-items:center}
.btn{display:inline-block;padding:8px 14px;border-radius:10px;border:0;text-decoration:none;cursor:pointer}
.btn-primary{background:#003b8e;color:#fff}.btn-danger{background:#dc3545;color:#fff}.btn-success{background:#198754;color:#fff}
.card{background:#fff;border:1px solid #e6e9f2;border-radius:14px;padding:16px;margin-bottom:16px;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.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}
.table{width:100%;border-collapse:collapse}.table th,.table td{border:1px solid #e1e4ec;padding:8px}.table th{background:#f0f3fa}
.badge{display:inline-block;padding:2px 8px;border-radius:999px;background:#003b8e;color:#fff;font-size:12px}
.filters{display:grid;grid-template-columns:2fr 1.5fr 1.5fr 1fr;gap:10px}
@media (max-width:800px){.filters{grid-template-columns:1fr}}