:root{--primary:#1D4ED8;--primary-hover:#1E40AF;--navy:#0B1F3A;--border:#E2E8F0;--muted:#64748B}
.badge{display:inline-block;padding:.15rem .5rem;border-radius:9999px;font-size:.68rem;font-weight:600;letter-spacing:.02em;line-height:1.1}
.badge-red{background:#FEE2E2;color:#991B1B}.badge-amber{background:#FEF3C7;color:#92400E}.badge-green{background:#D1FAE5;color:#065F46}
.badge-blue{background:#DBEAFE;color:#1E40AF}.badge-gray{background:#F1F5F9;color:#475569}
.card{background:#fff;border:1px solid var(--border);border-radius:.625rem;padding:1.25rem;box-shadow:0 1px 2px rgba(15,23,42,.04)}
label.lbl{display:block;font-size:.7rem;font-weight:600;color:#475569;margin-bottom:.3rem;text-transform:uppercase;letter-spacing:.04em}
.inp{width:100%;border:1px solid #CBD5E1;border-radius:.5rem;padding:.5rem .75rem;font-size:.9rem;background:#fff;color:#0F172A}
.inp:focus{outline:2px solid rgba(29,78,216,.25);border-color:var(--primary)}
.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border-radius:.5rem;font-weight:600;font-size:.875rem;border:1px solid transparent;cursor:pointer;transition:background .12s}
.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}
.btn-secondary{background:#fff;border-color:#CBD5E1;color:#334155}.btn-secondary:hover{background:#F8FAFC}
.btn-sm{padding:.3rem .7rem;font-size:.78rem}
.btn[disabled]{opacity:.5;cursor:not-allowed}
table.tbl{width:100%;font-size:.85rem;border-collapse:collapse}
table.tbl th{text-align:left;font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:.5rem .6rem;border-bottom:1px solid var(--border)}
table.tbl td{padding:.55rem .6rem;border-bottom:1px solid #F1F5F9;vertical-align:top}
table.tbl tr:hover td{background:#F8FAFC}
.num{text-align:right;font-variant-numeric:tabular-nums}
h1{letter-spacing:-.01em}
details>summary{list-style:none}details>summary::-webkit-details-marker{display:none}
