:root{--navy:#123d55;--teal:#24748d;--bg:#f4f8fa;--line:#d2e0e6;--text:#17313f;--muted:#647782;--ok:#1f7a4b;--bad:#a33232}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif}header{background:linear-gradient(90deg,var(--navy),var(--teal));color:#fff;padding:16px 22px}.brand{font-size:22px;font-weight:800}.tag{font-size:12px;opacity:.9;margin-top:3px}nav{background:#fff;border-bottom:1px solid var(--line);padding:10px 22px;display:flex;gap:14px;flex-wrap:wrap}nav a{color:var(--navy);text-decoration:none;font-weight:700;font-size:13px}.wrap{max-width:1220px;margin:auto;padding:20px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;box-shadow:0 7px 24px rgba(20,45,60,.05)}.badge{display:inline-block;background:#e4f2f5;color:#23677b;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800}.btn{display:inline-block;border:0;border-radius:7px;padding:10px 14px;background:var(--navy);color:#fff;text-decoration:none;font-weight:800;cursor:pointer}.btn.secondary{background:var(--teal)}.btn.light{background:#e8f0f4;color:var(--navy)}label{display:block;font-size:12px;font-weight:700;color:#536873;margin:9px 0 4px}input,select,textarea{width:100%;padding:10px;border:1px solid #b9cad2;border-radius:7px;background:#fff}table{width:100%;border-collapse:collapse;background:#fff}th,td{border:1px solid var(--line);padding:9px;text-align:left;font-size:12px}th{background:#edf4f7}.notice{padding:11px 13px;border-radius:7px;background:#e9f4f6;border:1px solid #c7e0e6;font-size:13px}.err{background:#faecec;border-color:#efc5c5;color:#7d2424}.ok{background:#eaf6ef;border-color:#cce8d8;color:#225f3e}.kpi{font-size:26px;font-weight:800;color:var(--navy)}.small{font-size:12px;color:var(--muted)}footer{padding:25px;text-align:center;color:var(--muted);font-size:12px}@media(max-width:850px){.grid,.grid2{grid-template-columns:1fr}}
