*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0f0f0f;--surface:#1a1a1a;--border:#2a2a2a;--text:#e8e8e8;--muted:#888;--accent:#4f8ef7;--green:#22c55e;--yellow:#eab308;--red:#ef4444}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.layout{min-height:100vh}.layout,nav{display:flex}nav{width:200px;flex-shrink:0;border-right:1px solid var(--border);padding:24px 16px;flex-direction:column;gap:8px}nav .logo{font-size:16px;font-weight:700;margin-bottom:16px;color:var(--text)}nav a{display:block;padding:8px 12px;border-radius:6px;color:var(--muted);transition:background .15s,color .15s}nav a.active,nav a:hover{background:var(--surface);color:var(--text);text-decoration:none}main{flex:1 1;padding:32px;max-width:1100px}main:has(.login-screen){max-width:none;padding:0}h1{font-size:22px;margin-bottom:24px}h1,h2{font-weight:600}h2{font-size:16px}.card,h2{margin-bottom:12px}.card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:16px}table{width:100%;border-collapse:collapse}th{text-align:left;padding:8px 12px;color:var(--muted);font-weight:500}td,th{border-bottom:1px solid var(--border)}td{padding:10px 12px;vertical-align:top}tr:last-child td{border-bottom:none}tr:hover td{background:var(--surface)}.badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500;background:var(--border);color:var(--muted)}.badge.green{background:#14532d;color:var(--green)}.badge.yellow{background:#713f12;color:var(--yellow)}.badge.red{background:#450a0a;color:var(--red)}.badge.blue{background:#1e3a5f;color:var(--accent)}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;font-size:13px;transition:background .15s}.btn:hover{background:var(--border)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:#3a7ef0}.btn.danger{background:#450a0a;border-color:var(--red);color:var(--red)}.btn:disabled{opacity:.4;cursor:not-allowed}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:16px;gap:16px;margin-bottom:24px}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:16px}.stat-card .value{font-size:28px;font-weight:700}.stat-card .label{font-size:12px;color:var(--muted);margin-top:4px}.score{font-weight:700}.score.high{color:var(--green)}.score.mid{color:var(--yellow)}.score.low{color:var(--red)}.login-screen{min-height:100vh;max-width:none;display:grid;place-items:center;padding:24px}.login-card{width:min(100%,360px);display:flex;flex-direction:column;gap:16px;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:24px}.login-card h1{margin-bottom:4px}.field,.login-card p{color:var(--muted)}.field{display:flex;flex-direction:column;gap:6px;font-size:13px}.field input{width:100%;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);padding:10px 12px;font:inherit}.form-error{color:var(--red);font-size:13px}