:root{--bg:#0f1115;--panel:#181b22;--border:#272b34;--text:#e6e8ec;--muted:#9aa3b2;--accent:#4f8cff;--risk:#ff6b6b;--warn:#ffb454;--ok:#51cf66}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.wrap{max-width:960px;margin:0 auto;padding:24px 20px 64px}header.topbar{display:flex;align-items:baseline;justify-content:space-between;border-bottom:1px solid var(--border);padding-bottom:14px;margin-bottom:22px}header.topbar h1{font-size:20px;margin:0}header.topbar .sub{color:var(--muted);font-size:13px}.project{display:block;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:14px 16px;margin-bottom:10px}.project:hover{border-color:var(--accent);text-decoration:none}.project .name{font-weight:600;color:var(--text)}.project .client,.project .stats{color:var(--muted);font-size:13px}.project .stats{margin-top:8px;display:flex;gap:14px;flex-wrap:wrap}.project .stats b{color:var(--text);font-weight:600}.pill{padding:1px 8px;border-radius:999px;font-size:12px}.pill.risk{background:rgba(255,107,107,.15);color:var(--risk)}.pill.warn{background:rgba(255,180,84,.15);color:var(--warn)}.empty{color:var(--muted);padding:40px 0;text-align:center}.nav{display:flex;gap:16px;margin-top:6px;font-size:14px}.nav a{color:var(--muted)}.nav a.on{color:var(--text);font-weight:600}.card{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:14px 16px;margin-bottom:12px}.card.done{opacity:.7}.card-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.card-head .client{font-weight:600}.card-head .meta{display:flex;gap:10px;align-items:center;white-space:nowrap}.card-head .conf{color:var(--muted);font-size:13px}.pill.type{background:rgba(79,140,255,.15);color:var(--accent);text-transform:capitalize}.done-tag{color:var(--ok);font-size:13px}.card .draft{margin-top:8px}.card .why{margin-top:6px;color:var(--muted);font-size:13px}.card .why b{color:var(--text)}.diff{margin-top:10px;padding:8px 10px;background:#11141a;border:1px solid var(--border);border-radius:8px;font:13px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.diff-field{color:var(--muted)}.diff-add{color:var(--ok)}.diff-after{color:var(--text);white-space:pre-wrap;width:100%}.diff-before{color:var(--risk);text-decoration:line-through}.diff-arrow{color:var(--muted)}.diff-after-inline{color:var(--ok)}.confirm{margin-top:10px}.confirm .summary{font-size:14px;margin-bottom:4px}.warn-line{color:var(--warn);font-size:13px;margin-top:6px}.editor{margin-top:8px;display:flex;flex-direction:column;gap:8px}.editor input,.editor textarea{background:#11141a;border:1px solid var(--border);color:var(--text);border-radius:8px;padding:8px 10px;font:inherit;width:100%}.card-err{color:var(--risk);font-size:13px;margin-top:8px}.actions{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}.btn{background:#20242d;color:var(--text);border:1px solid var(--border);border-radius:8px;padding:6px 12px;font-size:13px;cursor:pointer}.btn:hover:not(:disabled){border-color:var(--accent)}.btn:disabled{opacity:.5;cursor:default}.btn.act{background:var(--accent);border-color:var(--accent);color:#fff}.btn.small{align-self:flex-start;padding:4px 10px}.confirm-card{margin-top:10px;padding:10px 12px;background:#11141a;border:1px solid var(--border);border-radius:8px}.confirm-card.done{background:transparent;border:0;padding:0}.confirm-card .summary{font-size:14px;margin-bottom:6px}.wrap.wide{max-width:1180px}.project-head{margin-bottom:18px}.project-head h2{margin:0 0 8px;font-size:18px}.project-head .stats{display:flex;gap:14px;font-size:13px;color:var(--muted);flex-wrap:wrap;align-items:center}.project-head .stats b{color:var(--text)}.cockpit{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px;align-items:start}@media (max-width:860px){.cockpit{grid-template-columns:1fr}}.cockpit section{margin-bottom:18px}.cockpit h3{font-size:14px;margin:0 0 10px;color:var(--text)}.bucket{margin-bottom:16px}.bucket h3 .count{color:var(--muted);font-weight:400}.task{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:8px 10px;border:1px solid var(--border);border-radius:8px;margin-bottom:6px;background:var(--panel)}.task:hover{border-color:var(--accent);text-decoration:none}.task .t-name{color:var(--text)}.task .t-meta{display:flex;gap:8px;align-items:center;white-space:nowrap;font-size:12px}.task .t-status{color:var(--muted)}.chat-panel{position:-webkit-sticky;position:sticky;top:16px}.chat{display:flex;flex-direction:column;height:70vh;border:1px solid var(--border);border-radius:10px;background:var(--panel)}.thread{flex:1 1;overflow-y:auto;padding:14px;flex-direction:column;gap:10px}.msg,.thread{display:flex}.msg.user{justify-content:flex-end}.msg.assistant{justify-content:flex-start}.msg .bubble{max-width:85%;padding:8px 12px;border-radius:12px;white-space:pre-wrap;font-size:14px}.msg.user .bubble{background:var(--accent);color:#fff;border-bottom-right-radius:3px}.msg.assistant .bubble{background:#20242d;color:var(--text);border-bottom-left-radius:3px}.msg .bubble.typing{letter-spacing:2px;color:var(--muted)}.msg.assistant .candidates,.msg.assistant .confirm-card{max-width:95%}.candidates{display:flex;flex-direction:column;gap:6px}.candidates .btn{text-align:left}.notes-form{display:flex;gap:8px}.notes-form input{flex:1 1;background:#11141a;border:1px solid var(--border);color:var(--text);border-radius:8px;padding:8px 10px;font-size:13px}.notes-list{list-style:none;padding:0;margin:10px 0 0;font-size:13px}.notes-list li{padding:6px 0;border-bottom:1px solid var(--border)}.digest-panel .digest-text{width:100%;margin-top:10px;background:#11141a;border:1px solid var(--border);color:var(--text);border-radius:8px;padding:10px 12px;font:14px/1.6 inherit}.effstrip{margin-bottom:22px}.eff-metrics{display:grid;grid-template-columns:repeat(6,1fr);grid-gap:10px;gap:10px}@media (max-width:760px){.eff-metrics{grid-template-columns:repeat(3,1fr)}}.eff-metric{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:12px 10px;text-align:center}.eff-n{font-size:26px;font-weight:700;line-height:1}.eff-n.risk{color:var(--risk)}.eff-n.warn{color:var(--warn)}.eff-label{font-size:11px;color:var(--muted);margin-top:5px}.eff-flag{margin-top:10px;padding:9px 12px;border-radius:8px;font-size:13px;border:1px solid var(--border)}.eff-flag.risk{background:rgba(255,107,107,.1);color:var(--risk);border-color:rgba(255,107,107,.3)}.eff-flag.warn{background:rgba(255,180,84,.1);color:var(--warn);border-color:rgba(255,180,84,.3)}.board-card{display:block;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:13px 16px;margin-bottom:10px}.board-card:hover{border-color:var(--accent);text-decoration:none}.bc-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.bc-name{font-weight:600;color:var(--text)}.bc-client{color:var(--muted);font-size:13px;white-space:nowrap}.bc-reasons{margin-top:8px;display:flex;gap:6px;flex-wrap:wrap}.reason{font-size:12px;padding:2px 9px;border-radius:999px;border:1px solid var(--border)}.reason.risk{background:rgba(255,107,107,.14);color:var(--risk);border-color:transparent}.reason.warn{background:rgba(255,180,84,.14);color:var(--warn);border-color:transparent}.bc-stats,.reason.muted{color:var(--muted)}.bc-stats{margin-top:9px;display:flex;gap:14px;font-size:13px;flex-wrap:wrap}.bc-stats b{color:var(--text)}.bc-stats .risk,.bc-stats .risk b{color:var(--risk)}.ai-summary{color:var(--muted);font-size:13px;cursor:pointer}.brief{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:14px 16px;margin-bottom:18px}.brief h3{margin:0 0 8px;font-size:14px}.brief-tldr{font-size:15px;line-height:1.55}.brief details{margin-top:8px}.brief summary{color:var(--muted);font-size:12px;cursor:pointer}.brief-body{margin-top:10px;white-space:pre-wrap;font-size:14px;line-height:1.6;color:var(--text)}.waiting{margin-bottom:22px}.waiting h3{font-size:14px;margin:0 0 10px}.waiting h3 .count{color:var(--risk);font-weight:600}.waiting-row{flex-direction:column;align-items:flex-start;gap:4px}.waiting-q{color:var(--muted);font-size:12px;font-style:italic;white-space:normal;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.bubble-wrap{display:flex;flex-direction:column;gap:4px;max-width:85%}.bubble-wrap .bubble{max-width:100%}.steps{font:12px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--muted)}.steps.live{padding:8px 12px;background:#14171d;border:1px solid var(--border);border-radius:12px;border-bottom-left-radius:3px;max-width:85%}.steps .step{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.steps .step.typing{letter-spacing:2px}.steps-toggle{background:none;border:0;color:var(--muted);font-size:11px;cursor:pointer;padding:0;text-align:left}.steps-toggle:hover{color:var(--text)}.composer{display:flex;gap:8px;padding:10px;border-top:1px solid var(--border)}.composer input{flex:1 1;background:#11141a;border:1px solid var(--border);color:var(--text);border-radius:8px;padding:9px 12px;font:inherit}.trust-row{display:flex;gap:28px;align-items:center;flex-wrap:wrap;margin-bottom:26px}.trust-num{font-size:44px;font-weight:700;line-height:1}.trust .sub{margin-top:4px;max-width:220px}.trust-counts{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted)}.trust-counts .tc{display:flex;align-items:center;gap:7px}.trust-counts b{color:var(--text)}.dot{width:9px;height:9px;border-radius:50%;display:inline-block}.type-row{margin-bottom:12px}.type-head{display:flex;justify-content:space-between;font-size:13px;margin-bottom:4px}.type-name{text-transform:capitalize}.bar{display:flex;height:12px;border-radius:6px;overflow:hidden;background:#11141a}.bar .seg{height:100%}.trend{display:flex;gap:5px;align-items:flex-end;overflow-x:auto;padding-bottom:4px}.trend-col{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:26px}.trend-col .bar{width:22px;height:40px;flex-direction:column-reverse}.trend-col .bar .seg{width:100%}.trend-day{font-size:10px;color:var(--muted)}.two-col{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px}@media (max-width:760px){.two-col{grid-template-columns:1fr}}.feed{list-style:none;padding:0;margin:0;font-size:13px}.feed li{padding:6px 0;border-bottom:1px solid var(--border)}.wl-table{width:100%;border-collapse:collapse;font-size:13px}.wl-table th{text-align:left;color:var(--muted);font-weight:500}.wl-table td,.wl-table th{padding:6px 10px;border-bottom:1px solid var(--border)}.review{margin-top:8px}.review-text{margin-top:12px;padding:12px 14px;background:var(--panel);border:1px solid var(--border);border-radius:8px;white-space:pre-wrap;line-height:1.6}.login{max-width:340px;margin:12vh auto}.login h1{font-size:18px}.login form{display:flex;flex-direction:column;gap:10px}.login input{background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:8px}.login button,.login input{padding:10px 12px;font-size:15px}.login button{background:var(--accent);color:#fff;border:0;border-radius:8px;cursor:pointer}.login .err{color:var(--risk);font-size:13px;min-height:18px}