
:root{
  --brand:#1e3a8a;
  --brand-2:#0ea5e9;
  --muted:#f1f5f9;
  --ok:#16a34a;
  --warn:#f59e0b;
  --danger:#dc2626;
}
body{background:#fff;color:#111;}
.section{padding:2rem 0;}
.card-soft{border:1px solid #e5e7eb;border-radius:1rem;padding:1rem;box-shadow:0 6px 20px rgba(0,0,0,.04);}
.badge-soft{background:var(--muted);border-radius:999px;padding:.25rem .6rem;font-size:.8rem;}
.kpi{display:flex;gap:.75rem;align-items:center;border:1px dashed #e5e7eb;border-radius:.75rem;padding:.5rem .75rem;background:#fff;}
.kpi .num{font-weight:700;font-size:1.25rem;}
.table-sm td, .table-sm th{padding:.35rem .5rem;}
.sticky-actions{position:sticky;bottom:0;background:#fff;padding:.75rem;border-top:1px solid #e5e7eb;}
.form-help{font-size:.85rem;color:#64748b;}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;}
@media(max-width:992px){.grid-3,.grid-4{grid-template-columns:1fr;}}
.id-card{width:320px;height:190px;border-radius:12px;border:1px solid #e5e7eb;padding:10px;background:linear-gradient(135deg,#f8fafc,#eef2ff)}
.id-card .head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;}
.id-card .photo{width:80px;height:100px;border-radius:8px;background:#e2e8f0;object-fit:cover;border:1px solid #cbd5e1;}
.progress{height:10px;}
