.now{display:flex;align-items:center;gap:10px;padding:8px 14px;border:1px solid var(--border);border-radius:100px;background:var(--surface);font-size:13.5px}
.now .dot{width:9px;height:9px;border-radius:50%;background:var(--ink-muted);flex:none}
.now.idle .dot{background:var(--accent)}
.now.chatting .dot{background:var(--accent);animation:pulse 1.2s infinite}
.now.waiting_approval .dot{background:var(--gold)}
.now.paused .dot,.now.training .dot{background:#a33a2c}
.now .since{font-family:var(--mono);font-size:11.5px;color:var(--ink-muted)}
.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.stat{padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}
.stat b{display:block;font-family:var(--display);font-size:26px;font-weight:600;color:var(--accent-ink);font-variant-numeric:tabular-nums}
.stat span{font-size:12.5px;color:var(--ink-muted)}
.stat.warn b{color:var(--gold)}
.task-item{grid-template-columns:1fr auto}
.task-item .input{font-family:var(--mono);font-size:12px;color:var(--ink-muted);white-space:pre-wrap;margin-top:6px;max-height:8em;overflow:auto;background:var(--surface);padding:8px 10px;border-radius:6px;border:1px solid var(--border)}
.task-item .acts{flex-direction:column;align-items:stretch}
.task-item .acts .btn{padding:8px 14px;font-size:13.5px;justify-content:center}
.status-pill{display:inline-block;font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;padding:2px 7px;border-radius:100px;border:1px solid var(--border);color:var(--ink-muted);margin-left:6px}
.status-pill.done{color:var(--accent-ink);background:var(--accent-soft);border-color:var(--accent-soft)}
.status-pill.pending{color:var(--gold);background:var(--gold-soft);border-color:var(--gold-soft)}
.status-pill.failed,.status-pill.rejected{color:#f09a8c;background:#3a1a15;border-color:#3a1a15}
.convo-layout{display:grid;grid-template-columns:320px 1fr;gap:16px;min-height:420px}
.convo-list{margin-top:0;max-height:560px;overflow:auto}
.convo-list .item{cursor:pointer;grid-template-columns:1fr}
.convo-list .item.active{border-color:var(--accent);background:var(--accent-soft)}
.convo-view{border:1px solid var(--border);border-radius:10px;background:var(--bg2);padding:14px;max-height:560px;overflow:auto;display:flex;flex-direction:column;gap:8px}
.convo-view .msg{max-width:88%;padding:8px 12px;border-radius:12px;font-size:14px;white-space:pre-wrap}
.convo-view .msg.ai{align-self:flex-start;background:var(--surface);border:1px solid var(--border)}
.convo-view .msg.me{align-self:flex-end;background:var(--accent-deep);color:#fff}
.convo-view .msg .tools{display:block;font-family:var(--mono);font-size:10.5px;color:var(--accent-ink);margin-top:4px}
.channel-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.code{display:block;font-family:var(--mono);font-size:12px;background:var(--bg2);border:1px solid var(--border);border-radius:8px;padding:10px 12px;white-space:pre-wrap;word-break:break-all;margin:8px 0}
.toggles{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;margin:6px 0 12px}
.toggle{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg2);font-size:14px;cursor:pointer}
.toggle input{width:18px;height:18px;accent-color:var(--accent)}
.toggle small{display:block;color:var(--ink-muted);font-size:12px}
@keyframes pulse{50%{opacity:.35}}
@media (max-width:860px){ .stat-row{grid-template-columns:1fr 1fr} .convo-layout{grid-template-columns:1fr} .channel-grid{grid-template-columns:1fr} }

.review-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.review-box{border:1px solid var(--border);border-radius:10px;background:var(--surface);padding:12px 14px;margin-bottom:10px}
.review-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13.5px;margin-bottom:8px}
.review-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}
.review-list li{display:grid;grid-template-columns:18px 1fr;gap:8px;font-size:13px}
.review-list li::before{content:"○";color:#f09a8c}
.review-list li.ok::before{content:"✓";color:var(--accent)}
.review-list li b{font-weight:500}
.review-list li span{display:block;color:var(--ink-muted);font-size:12px;margin-top:2px}
.review-issues{margin-top:10px;padding-top:10px;border-top:1px dashed var(--border);font-size:13px}
.review-issues b{display:block;color:var(--gold);margin-bottom:4px}
.review-issues div{color:var(--ink-muted);margin-top:3px}
.review-issues span{font-family:var(--mono);font-size:11px;color:var(--gold);margin-right:6px}
.now-wrap{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
#shift-out{border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:8px;background:var(--surface);padding:10px 12px;margin:10px 0 0;white-space:pre-line}
.sched{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:10px 0 0;font-size:13.5px}
.sched-opt{display:inline-flex;align-items:center;gap:6px;color:var(--ink)}
.sched-opt input[type=radio]{accent-color:var(--accent)}
.sched-opt input[type=time]{font:inherit;font-size:13px;color:var(--ink);background:var(--bg2);border:1px solid var(--border);border-radius:6px;padding:3px 6px}
