: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}.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)}.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}