:root{--bg: #0d1117;--surface: #161b22;--surface-2: #1c2330;--border: #2a313c;--text: #e6edf3;--text-dim: #9aa6b2;--text-faint: #6b7682;--brand: #2ed3a7;--ok: #3fb950;--warn: #d29922;--danger: #f85149;--info: #58a6ff;font-family:ui-sans-serif,-apple-system,Inter,Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text)}.header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;height:56px;padding:0 24px;background:var(--surface);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:baseline;gap:10px}.brand .logo{font-weight:700;font-size:18px;letter-spacing:-.02em}.brand .logo .dot{color:var(--brand)}.brand .sub{color:var(--text-dim);font-size:13px}.header .meta{color:var(--text-faint);font-size:12px;display:flex;gap:14px;align-items:center}.pill-dev{background:#2ed3a71f;color:var(--brand);border:1px solid rgba(46,211,167,.3);border-radius:999px;padding:2px 10px;font-size:11px;font-weight:600}.board{display:flex;gap:16px;padding:20px 24px;overflow-x:auto;align-items:flex-start}.column{flex:0 0 300px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px}.column h2{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);margin:2px 4px 12px;display:flex;align-items:center;gap:8px}.column .count{color:var(--text-faint);font-weight:600}.column .swatch{width:8px;height:8px;border-radius:2px}.sw-ready{background:var(--info)}.sw-cycle{background:var(--brand)}.sw-confirmed{background:var(--ok)}.sw-refuted{background:var(--danger)}.sw-inconclusive{background:var(--text-faint)}.column.empty .empty-note{color:var(--text-faint);font-size:12px;padding:8px 4px}.card{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:12px;margin-bottom:10px;text-decoration:none;color:inherit;display:block;transition:border-color .15s,transform .05s}.card:hover{border-color:var(--brand)}.card:active{transform:translateY(1px)}.card.breach{border-left:3px solid var(--danger)}.card .num{font-size:11px;font-weight:600}.card .num-link{color:var(--text-faint);text-decoration:none}.card .num-link:hover{color:var(--brand)}.card .title-link{text-decoration:none;color:inherit}.card .title-link:hover .title{color:var(--brand)}.card .title{font-size:13px;line-height:1.35;margin:4px 0 8px;font-weight:600}.card .row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.card .owner{color:var(--text-dim);font-size:11px;margin-left:auto}.badge{font-size:10.5px;font-weight:700;border-radius:6px;padding:2px 7px;display:inline-flex;align-items:center;gap:4px;letter-spacing:.02em}.b-exceeded{background:#3fb95024;color:var(--ok)}.b-met{background:#58a6ff24;color:var(--info)}.b-below{background:#d2992229;color:var(--warn)}.b-unresolved{background:#6b76822e;color:var(--text-dim)}.b-breach{background:#f8514929;color:var(--danger)}.b-overdue{background:#f851491f;color:var(--danger);border:1px solid rgba(248,81,73,.35)}.b-needs{background:#d2992229;color:var(--warn)}.b-kr{background:#2ed3a71a;color:var(--brand)}.state{padding:40px;color:var(--text-dim)}.state h2{color:var(--text)}.btn-google{margin-top:16px;background:var(--brand);color:#07241c;border:none;border-radius:8px;padding:10px 18px;font-size:14px;font-weight:700;cursor:pointer}.btn-google:hover{filter:brightness(1.08)}.signal-meta{color:var(--text-faint);font-size:11px;margin-top:6px}
