:root{color-scheme:light;font-family:Archivo,sans-serif;color:#0b1f2a;background:#f4f6fb}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top left,#e3f2ff,#f4f6fb 45%,#fff7ed);min-height:100vh}#root{min-height:100vh}h1,h2,h3,h4{font-family:Space Grotesk,sans-serif;margin:0}.app{padding:32px clamp(20px,4vw,48px) 56px;display:flex;flex-direction:column;gap:24px}.hero{display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px;align-items:center;padding:28px;border-radius:24px;background:linear-gradient(135deg,#0b7285,#1864ab 35%,#fcc419);color:#f8f9fa;position:relative;overflow:hidden}.brand-logo{width:88px;height:88px;object-fit:contain;filter:drop-shadow(0 8px 16px rgba(0,0,0,.25));z-index:1}.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,rgba(255,255,255,.2),transparent 55%);pointer-events:none}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.7rem;margin:0 0 8px;opacity:.85}.subtitle{max-width:520px;margin:8px 0 0;line-height:1.4}.hero-actions{display:flex;gap:16px;flex-wrap:wrap;align-items:center;z-index:1}.segmented{display:inline-flex;background:#fff3;border-radius:999px;padding:4px}.segmented button{border:none;background:transparent;color:#e9ecef;padding:8px 18px;border-radius:999px;cursor:pointer;font-weight:600}.segmented button.active{background:#f8f9fa;color:#0b1f2a}.mode-switch{display:flex;flex-direction:column;gap:6px;font-size:.85rem}.mode-switch select{border-radius:12px;border:none;padding:8px 12px;font-weight:600}.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;background:#fff;padding:18px;border-radius:18px;box-shadow:0 18px 40px #0b1f2a14}.filters label{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:#4c6ef5;margin-bottom:6px;display:block}.filters select,.filters input{width:100%;padding:10px 12px;border-radius:12px;border:1px solid #dee2e6;font-weight:600;background:#f8f9fa}.filters .helper{font-size:.8rem;color:#495057;margin-top:6px;display:block}.toggle{display:flex;gap:8px}.toggle button{flex:1;border:1px solid #dee2e6;background:#f8f9fa;padding:8px;border-radius:10px;cursor:pointer;font-weight:600}.toggle button.active{background:#212529;color:#f8f9fa}.loading{text-align:center;padding:32px;font-weight:600}.dashboard,.details,.ranking{display:flex;flex-direction:column;gap:24px}.ranking table td:nth-child(1){font-weight:700;color:#495057;width:64px}.ranking table td:nth-child(3){font-weight:700}.rank-cell{display:flex;align-items:center;gap:8px}.rank-badge{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;font-weight:700;background:#e9ecef;color:#343a40}.rank-badge.rank-1{background:#ffd43b;color:#704800}.rank-badge.rank-2{background:#ced4da;color:#495057}.rank-badge.rank-3{background:#e09f3e;color:#3b2f2f}.rank-icon{font-size:1.1rem}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.card{background:#fff;border-radius:18px;padding:18px;box-shadow:0 18px 40px #0b1f2a14}.kpi strong{font-size:1.6rem;display:block;margin:8px 0}.kpi-subtle{display:block;font-size:.85rem;color:#495057;margin-top:4px}.positive{color:#2f9e44}.negative{color:#e03131}.card-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}.inline-filter{display:flex;flex-direction:column;gap:6px;font-size:.8rem}.inline-filter label{text-transform:uppercase;letter-spacing:.1em;color:#4c6ef5}.inline-filter select{border-radius:10px;border:1px solid #dee2e6;padding:6px 10px;background:#f8f9fa;font-weight:600}.grid-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}.chart table{width:100%;border-collapse:collapse;margin-top:16px;font-size:.9rem}table th,table td{text-align:left;padding:10px 8px;border-bottom:1px solid #e9ecef}table thead th{text-transform:uppercase;font-size:.7rem;letter-spacing:.1em;color:#868e96}.mini-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-top:12px}.mini-card{background:#f8f9fa;border-radius:12px;padding:12px}.mini-card strong{display:block;margin:6px 0}.projection-note{background:#f8f9fa;border-radius:14px;padding:12px 14px;margin-bottom:12px;color:#495057;font-size:.88rem;line-height:1.45}.projection-note p{margin:0 0 8px}.projection-note p:last-child{margin-bottom:0}.overdue tbody tr{background:#fff4f3}.overdue tbody tr td:first-child{font-weight:700;color:#e03131}.empty{margin:0;padding:24px 0;text-align:center;color:#868e96}@media(max-width:768px){.hero{padding:20px}.card-header{flex-direction:column;align-items:flex-start;gap:6px}.filters{grid-template-columns:1fr}}
