:root{--bg: #0f1115;--panel: #171a21;--panel-2: #1e222b;--border: #2a2f3a;--text: #e6e9ef;--muted: #9aa3b2;--accent: #6aa3ff;--green: #36c46a;--red: #ff5c5c;--amber: #f0b429}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.login{display:grid;place-items:center;height:100vh}.login-card{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:28px;width:320px;text-align:center}.login-card h1{font-size:20px;margin:0 0 4px}.login-card p{color:var(--muted);margin:0 0 16px}.login-card input{width:100%;padding:10px 12px;border-radius:8px;border:1px solid var(--border);background:var(--panel-2);color:var(--text);margin-bottom:12px}.login-card button{background:var(--accent);color:#07121f;border:0;padding:10px 16px;border-radius:8px;font-weight:600;cursor:pointer}.error{color:var(--red);margin-top:10px;font-size:14px}.layout{display:flex;height:100vh}.sidebar{width:260px;flex-shrink:0;border-right:1px solid var(--border);background:var(--panel);display:flex;flex-direction:column;padding:12px}.newchat{background:var(--accent);color:#07121f;border:0;padding:10px;border-radius:8px;font-weight:600;cursor:pointer;margin-bottom:12px}.history{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:6px}.histitem{text-align:left;background:var(--panel-2);border:1px solid transparent;color:var(--text);padding:8px 10px;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;gap:2px;width:100%}.histitem:hover{border-color:var(--border)}.histitem.current{border-color:var(--accent)}.histitem.active{border-color:var(--amber)}.httitle{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.htmeta{font-size:11px;color:var(--muted)}.logout{margin-top:10px;background:transparent;color:var(--muted);border:1px solid var(--border);padding:8px;border-radius:8px;cursor:pointer}.chat{flex:1;display:flex;flex-direction:column;min-width:0}header{display:flex;align-items:center;gap:8px;padding:12px 18px;border-bottom:1px solid var(--border);font-weight:600}header .spacer{flex:1}header em{color:var(--amber);font-style:normal;font-weight:500}.dot{width:9px;height:9px;border-radius:50%}.dot.on{background:var(--green)}.dot.off{background:var(--red)}.projsel{font-weight:400;font-size:13px;color:var(--muted);display:flex;align-items:center;gap:6px}.projsel select{background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:7px;padding:5px 8px;font:inherit}.editmode{font-weight:400;font-size:13px;color:var(--muted);display:flex;align-items:center;gap:5px;cursor:pointer}.editmode input{accent-color:var(--accent);cursor:pointer}.archived-banner{background:#2a230f;border-bottom:1px solid var(--amber);color:var(--amber);padding:8px 18px;font-size:13px;display:flex;align-items:center;gap:10px}.archived-banner button{margin-left:auto;background:var(--amber);color:#2a230f;border:0;padding:5px 10px;border-radius:7px;cursor:pointer;font-weight:600}.timeline{flex:1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:12px}.hint{color:var(--muted);text-align:center;margin-top:40px}.hint.small{margin-top:8px;font-size:12px}.hint code{background:var(--panel-2);padding:2px 6px;border-radius:5px}.bubble{padding:4px 14px;border-radius:12px;max-width:82%}.bubble.user{align-self:flex-end;background:var(--accent);color:#07121f;padding:10px 14px;white-space:pre-wrap}.bubble.assistant{align-self:flex-start;background:var(--panel);border:1px solid var(--border)}.md p{margin:8px 0}.md ul,.md ol{margin:8px 0;padding-left:22px}.md li{margin:2px 0}.md h1,.md h2,.md h3{margin:12px 0 6px;line-height:1.25}.md h1{font-size:1.3em}.md h2{font-size:1.18em}.md h3{font-size:1.05em}.md code{background:#0b0d12;padding:1px 5px;border-radius:5px;font-size:.9em}.md pre{background:#0b0d12;padding:10px;border-radius:8px;overflow-x:auto}.md pre code{background:none;padding:0}.md a{color:var(--accent)}.md table{border-collapse:collapse;margin:8px 0}.md th,.md td{border:1px solid var(--border);padding:4px 8px}.md blockquote{border-left:3px solid var(--border);margin:8px 0;padding-left:10px;color:var(--muted)}.tool-block{align-self:flex-start;max-width:82%;border:1px solid var(--border);border-radius:10px;background:var(--panel-2);overflow:hidden}.tool-block.err{border-color:var(--red)}.tool-head{width:100%;text-align:left;background:none;border:0;color:var(--muted);padding:8px 12px;cursor:pointer;font:inherit;display:flex;align-items:center;gap:6px}.tool-head:hover{background:#ffffff08}.tool-head strong{color:var(--accent)}.chev{width:12px;color:var(--muted)}.tool-status{font-size:12px}.tool-sum{color:var(--muted);font-size:13px}.tool-detail{padding:0 12px 10px}.tool-label{font-size:11px;text-transform:uppercase;color:var(--muted);margin:8px 0 3px;letter-spacing:.5px}.tool-detail pre{margin:0;white-space:pre-wrap;word-break:break-word;background:#0b0d12;padding:8px;border-radius:6px;max-height:320px;overflow:auto;font-size:13px}.tool-detail pre.err{color:var(--red)}.event{font-size:13px;border-radius:10px;padding:10px 12px;border:1px solid var(--border);max-width:82%;align-self:flex-start}.event pre{margin:6px 0 0;white-space:pre-wrap;word-break:break-word;background:#0b0d12;padding:8px;border-radius:6px}.event.approval{background:#2a230f;border-color:var(--amber)}.event.approval .actions{display:flex;gap:8px;margin-top:10px}.event.approval button{border:0;padding:8px 14px;border-radius:8px;font-weight:600;cursor:pointer}.event.approval .approve{background:var(--green);color:#04210f}.event.approval .deny{background:var(--red);color:#2a0606}.decided{margin-top:8px;font-weight:600}.decided.approved{color:var(--green)}.decided.denied{color:var(--red)}.event.error-msg{background:#2a0f0f;border-color:var(--red);color:#ffd5d5}.composer{display:flex;gap:8px;padding:14px 18px;border-top:1px solid var(--border)}.composer textarea{flex:1;resize:none;height:46px;padding:12px;border-radius:10px;border:1px solid var(--border);background:var(--panel-2);color:var(--text);font:inherit}.composer button{background:var(--accent);color:#07121f;border:0;padding:0 18px;border-radius:10px;font-weight:600;cursor:pointer}.composer button:disabled{opacity:.5;cursor:not-allowed}
