* { box-sizing: border-box; }
body { font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; margin:0; background:#f7f7fb; color:#111827; }
.top { background: var(--brand, #102a6b); color:#fff; padding:16px; display:flex; align-items:center; gap:12px;}
.top img { height:36px; width:auto; }
.top h1 { margin:0; font-size:1.1rem; }
.container { max-width: 1100px; margin: 24px auto; padding: 0 16px; }
.card { background:#fff; border:1px solid #e5e7eb; border-radius:8px; padding:16px; box-shadow:0 1px 2px rgba(0,0,0,.04); }
.grid { display:grid; grid-template-columns: repeat(2, 1fr); gap:12px; }
.grid .full { grid-column: 1 / -1; }
label { display:flex; flex-direction:column; font-weight:600; font-size:.95rem; gap:6px; }
input[type="text"], input[type="email"], input[type="date"], select, textarea {
  padding:10px; border:1px solid #d1d5db; border-radius:6px; font-size: .95rem; background:#fff;
}
.actions { display:flex; justify-content:flex-end; margin-top: 12px; gap:8px; }
button { padding:10px 16px; border:none; border-radius:6px; cursor:pointer; background:#1d4ed8; color:#fff; font-weight:700; }
button.secondary { background:#374151; }
button.danger { background:#991b1b; }
button:hover { filter:brightness(0.95); }
.alert { padding:12px; border-radius:6px; margin-bottom:12px; }
.alert.success { background:#ecfdf5; color:#065f46; border:1px solid #a7f3d0; }
.alert.error { background:#fef2f2; color:#991b1b; border:1px solid #fecaca; }
.footer { text-align:center; color:#6b7280; padding:24px 0; }
a { color:#1d4ed8; text-decoration:none; }
a:hover { text-decoration:underline; }
.muted{color:#6b7280}
.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:8px;border-bottom:1px solid #e5e7eb;text-align:left;font-size:.95rem}
.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
@media (max-width:700px){ .grid{ grid-template-columns: 1fr; } }
@media print {.no-print{display:none} body{background:#fff} .card{box-shadow:none;border:0} }
