:root{--bg:#f4f6f9;--card:#fff;--line:#e5e7eb;--ink:#111827;--ink-2:#374151;--muted:#4b5563;--accent:#1d4ed8;--accent-ink:#1e3a8a;--accent-soft:#eef2ff;--good:#047857;--good-soft:#d1fae5;--warn-ink:#9a3412;--warn-soft:#ffedd5;--paid:#ea580c;--radius:14px;color:var(--ink);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--bg);margin:0}a{color:var(--accent)}a:hover{color:var(--accent-ink)}h1,h2,h3{margin:0;font-family:Space Grotesk,Inter,sans-serif}h1{letter-spacing:-.4px;font-size:30px}h2{font-size:19px}.topbar{background:var(--card);border-bottom:1px solid var(--line)}.topbar-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;max-width:1200px;margin:0 auto;padding:12px 24px;display:flex}.brand{color:var(--ink);align-items:center;gap:10px;font-family:Space Grotesk,sans-serif;font-size:17px;font-weight:600;text-decoration:none;display:flex}.logo{background:var(--accent);color:#fff;border-radius:8px;place-items:center;width:32px;height:32px;font-size:14px;font-weight:700;display:grid}.nav{flex-wrap:wrap;gap:4px;display:flex}.nav a{color:var(--ink-2);border-radius:8px;padding:10px 14px;font-size:14px;font-weight:500;text-decoration:none}.nav a.active{background:var(--accent-soft);color:var(--accent-ink);font-weight:600}.page{flex-direction:column;gap:20px;max-width:1200px;margin:0 auto;padding:28px 24px 64px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.between{justify-content:space-between}.stack{flex-direction:column;gap:8px;display:flex}.muted{color:var(--muted);font-size:14px}.small{font-size:13px}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:14px;padding:22px;display:flex}.grid{grid-template-columns:repeat(auto-fit, minmax(var(--min,220px), 1fr));gap:16px;display:grid}.kpi{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:4px;padding:18px;display:flex}.kpi .label{color:var(--muted);font-size:13px;font-weight:500}.kpi .value{font-family:Space Grotesk,sans-serif;font-size:30px;font-weight:700}.kpi .delta{color:var(--good);font-size:13px;font-weight:600}.kpi .delta.down{color:#b91c1c}.btn{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;min-height:44px;padding:0 16px;font:600 14px Inter,sans-serif;text-decoration:none;display:inline-flex}.btn:hover{background:var(--accent-ink);color:#fff}.btn.secondary{color:var(--ink);background:#fff;border:1px solid #d1d5db;font-weight:500}.btn.secondary:hover{background:#f9fafb}.btn.sm{min-height:34px;padding:0 12px;font-size:13px}.btn:disabled{opacity:.6;cursor:default}label.field{color:var(--ink-2);flex-direction:column;gap:6px;font-size:14px;font-weight:500;display:flex}input,select,textarea{min-height:44px;color:var(--ink);background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:0 12px;font:400 14px Inter,sans-serif}textarea{min-height:90px;padding:10px 12px}input:focus,select:focus,textarea:focus,.btn:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pill{white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.pill.high,.pill.hot,.pill.waiting{background:var(--warn-soft);color:var(--warn-ink)}.pill.medium,.pill.warm,.pill.doing{color:var(--accent-ink);background:#dbeafe}.pill.low,.pill.cold,.pill.todo{color:var(--ink-2);background:#f3f4f6}.pill.done,.pill.good{background:var(--good-soft);color:#065f46}.pill.failed{color:#991b1b;background:#fee2e2}.bar{background:var(--line);border-radius:999px;height:10px;overflow:hidden}.bar>span{background:var(--accent);height:100%;display:block}.bar>span.paid{background:var(--paid)}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--line);padding:10px 12px;font-size:12px;font-weight:600}td{vertical-align:top;border-bottom:1px solid #f3f4f6;padding:12px}.auth{place-items:center;min-height:100vh;padding:24px;display:grid}.auth .card{width:100%;max-width:420px}.error{color:#991b1b;background:#fee2e2;border-radius:8px;padding:10px 12px;font-size:14px}.notice{background:var(--accent-soft);color:var(--accent-ink);border-radius:10px;padding:12px 14px;font-size:14px}code,pre{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}pre{color:#e2e8f0;white-space:pre-wrap;word-break:break-all;background:#0f172a;border-radius:10px;padding:14px;overflow-x:auto}.score-big{font-family:Space Grotesk,sans-serif;font-size:60px;font-weight:700;line-height:1}.chart{border-bottom:1px solid var(--line);align-items:flex-end;gap:12px;height:180px;display:flex}.chart .col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:6px;height:100%;display:flex}.chart .col span.b{background:#bfdbfe;border-radius:6px 6px 0 0;width:100%;max-width:56px}.chart .col span.b.last{background:var(--accent)}.empty{text-align:center;color:var(--muted);padding:40px 20px}
