:root{--brand:#0A2A5E;--accent:#FF6B00}
.card{background:#fff;border:1px solid #e5e7eb;border-radius:1rem;padding:1rem;box-shadow:0 1px 2px rgba(0,0,0,.04);transition:transform .2s ease, box-shadow .2s ease}
.card-title{font-weight:800;font-size:1.1rem;margin-bottom:.25rem}
.btn-primary{display:inline-block;background:var(--brand);color:#fff;padding:.6rem 1rem;border-radius:9999px}
.btn-accent{display:inline-block;background:var(--accent);color:var(--brand);padding:.6rem 1rem;border-radius:9999px;font-weight:700}
.btn-outline{display:inline-block;border:2px solid var(--brand);color:var(--brand);padding:.5rem 1rem;border-radius:9999px}
.input{width:100%;border:1px solid #e5e7eb;border-radius:.75rem;padding:.5rem .75rem}
.h2{font-weight:800;font-size:1.5rem}
.subhead{font-weight:800;font-size:1.25rem}
.link{color:var(--brand);text-decoration:underline}
.alert-ok{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46;padding:.5rem .75rem;border-radius:.75rem;margin-top:.5rem}
.alert-err{background:#fef2f2;border:1px solid #fecaca;color:#7f1d1d;padding:.5rem .75rem;border-radius:.75rem;margin-top:.5rem}
.kpi{font-size:2rem;font-weight:800}
