:root{--blue:#2f5db0;--ink:#1a2233;--ink2:#52514e;--muted:#898781;--border:hsla(0,0%,4%,.1);--page:#eef1f5;--surface:#fff;--good:#0ca30c;--warn:#fab219;--bad:#d03b3b}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--page);color:var(--ink)}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}.layout{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.side{background:#101826;color:#c7d0e0;padding:18px 14px;display:flex;flex-direction:column;gap:3px}.brand{font-size:15px;font-weight:700;color:#fff;padding:6px 8px 8px;display:flex;gap:8px;align-items:center}.brand .dot{width:22px;height:22px;border-radius:6px;background:linear-gradient(135deg,#2f5db0,#1baf7a)}.who{font-size:11px;color:#8fa6c8;padding:0 8px 12px}.navlabel{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#66738c;margin:12px 8px 4px}.nav{display:block;padding:9px 10px;border-radius:8px;font-size:13.5px;color:#c7d0e0}.nav:hover{background:#1a2536;text-decoration:none}.nav.active{background:#2f5db0;color:#fff}.side form{margin-top:auto}.side button.link{background:none;border:none;color:#8fa6c8;font-size:12px;cursor:pointer;padding:8px}.main{padding:26px 30px 60px}.pagehead{display:flex;align-items:flex-end;gap:12px;margin-bottom:20px;flex-wrap:wrap}.pagehead h1{font-size:21px;font-weight:700;margin:0;letter-spacing:-.01em}.pagehead p{color:var(--ink2);font-size:13.5px;margin:4px 0 0}.pagehead .right{margin-left:auto;display:flex;gap:8px}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 8px 24px rgba(20,30,55,.06)}.card.pad{padding:20px}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:14px;gap:14px;margin-bottom:18px}.kpi{padding:16px 18px}.kpi .k{font-size:12px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.03em}.kpi .v{font-size:30px;font-weight:700;margin-top:6px;letter-spacing:-.02em}table{border-collapse:collapse;width:100%;font-size:13.5px}thead th{text-align:left;padding:10px 12px;font-size:10.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--muted);border-bottom:1.5px solid #e1e0d9}tbody td{padding:11px 12px;border-bottom:1px solid #f0efe9;color:#2a3346}tbody tr:hover td{background:#faf9f6}.btn{display:inline-block;font-size:14px;font-weight:600;border-radius:9px;padding:10px 18px;border:1px solid var(--border);background:#fff;color:#2a3b57;cursor:pointer}.btn.primary{background:var(--blue);color:#fff;border-color:var(--blue)}.btn.sm{font-size:12.5px;padding:7px 13px}.field{margin-bottom:13px}.field label{display:block;font-size:13px;font-weight:600;margin-bottom:6px}.field input,.field select{width:100%;padding:10px 12px;border:1.5px solid #d3d8e2;border-radius:9px;font-size:14px;font-family:inherit}.field input:focus,.field select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(47,93,176,.15)}.badge{font-size:11px;font-weight:700;padding:2px 9px;border-radius:20px}.badge.ce{color:#0d366b;background:#cde2fb}.badge.att{color:#7a5a12;background:#fdefc8}.badge.none{color:#6b7280;background:#eceef1}.center-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{width:370px;max-width:100%;padding:28px}.error{background:#fdf5f3;border:1px solid #e6b0a4;color:#b02a2a;border-radius:9px;margin-bottom:12px}.error,.notice{font-size:13px;padding:10px 12px}.notice{background:#f0faf3;border:1px solid #bfe6cb;color:#266b3d;border-radius:9px}.muted{color:var(--muted);font-size:12.5px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}