:root{
  --pnm:#0054a6;
  --pnm-dark:#003b76;
  --soft:#f4f7fb;
}
body{background:var(--soft);font-family:Inter,Segoe UI,Arial,sans-serif;color:#172033}
.app-nav{background:linear-gradient(110deg,var(--pnm-dark),var(--pnm))}
.brand-mark{display:inline-block;background:#fff;color:var(--pnm);padding:.2rem .45rem;border-radius:.45rem;margin-right:.35rem}
.card{border:0;border-radius:1rem;box-shadow:0 6px 22px rgba(24,56,90,.08)}
.kpi-card .icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#eaf3ff;color:var(--pnm)}
.kpi-value{font-weight:800;font-size:1.55rem}
.filter-card{border-left:4px solid var(--pnm)}
.table-wrap{overflow:auto;max-height:65vh}
.table thead th{position:sticky;top:0;background:#e9f2fb;z-index:2;white-space:nowrap}
.table td{white-space:nowrap;vertical-align:middle}
.badge-ok{background:#d1f4df;color:#116b37}
.badge-no{background:#fde0e0;color:#a52222}
.reward{background:#fff3cd;color:#7a5a00;font-weight:700}
.sort-link{text-decoration:none;color:#24364b}
.sort-link:hover{color:var(--pnm)}
.progress-thin{height:7px}
.form-label{font-weight:600}
.metric-box{background:#fff;border:1px solid #e3e9f1;border-radius:.85rem;padding:1rem}
@media(max-width:768px){.kpi-value{font-size:1.25rem}.table-wrap{max-height:none}}
