*{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0b0e14;--panel: #141a26;--border: #232b3d;--text: #c9d4f1;--muted: #6b7694;--accent: #7aa2f7;--danger: #f7768e}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font:15px/1.45 system-ui,-apple-system,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased}button{font:inherit;color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:8px 12px;cursor:pointer}button.primary{background:var(--accent);color:#0b0e14;border-color:var(--accent);font-weight:600}button.danger{color:var(--danger)}button.small{padding:4px 10px}button:disabled{opacity:.45;cursor:default}input,select{font:inherit;color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:9px 12px}.muted{color:var(--muted);font-size:13px}.err{color:var(--danger)}.pad{padding:12px 16px}.login{height:100dvh;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px}.login h1{font-family:ui-monospace,monospace;color:var(--accent)}.login input{width:min(320px,100%);text-align:center}.login button{width:min(320px,100%)}.list-page{min-height:100dvh;padding-bottom:env(safe-area-inset-bottom)}.top{position:sticky;top:0;background:var(--bg);padding:calc(10px + env(safe-area-inset-top)) 16px 0;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:10px}.top h1{font:700 18px ui-monospace,monospace;color:var(--accent)}.top-row{display:flex;align-items:center;justify-content:space-between}.bell{border:0;background:none;padding:2px 6px;font-size:16px;opacity:.55}.bell.on{opacity:1}.create{display:flex;gap:8px}.create select{flex:1;min-width:0}.tabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs button{white-space:nowrap;flex-shrink:0}.tabs button{border:0;background:none;border-radius:0;padding:10px 12px;color:var(--muted)}.tabs button.on{color:var(--text);box-shadow:inset 0 -2px 0 var(--accent)}main{padding:10px 12px;display:flex;flex-direction:column;gap:8px}.card{display:flex;align-items:center;gap:10px;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:12px 14px;cursor:pointer}.card:active{background:#1a2233}.card-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.card-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,monospace;font-size:14px}.term-page{height:100dvh;display:flex;flex-direction:column;overflow:hidden}.term-head{display:flex;align-items:center;gap:8px;padding:calc(6px + env(safe-area-inset-top)) 10px 6px;border-bottom:1px solid var(--border)}.term-head button{padding:6px 10px;font-size:13px}.term-name{flex:1;text-align:center;font:13px ui-monospace,monospace;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.term-box{flex:1;min-height:0;padding:4px 0 0 6px}.term-box .xterm{height:100%}.keybar{display:flex;gap:6px;padding:6px 8px calc(6px + env(safe-area-inset-bottom));border-top:1px solid var(--border);overflow-x:auto}.keybar button{flex:1;min-width:40px;padding:9px 0;font:13px ui-monospace,monospace}.chat-page{height:100dvh;display:flex;flex-direction:column;overflow:hidden}.mode-sel{padding:6px 8px;font-size:13px}.chat-scroll{flex:1;min-height:0;overflow-y:auto;padding:12px 12px 4px;display:flex;flex-direction:column;gap:8px;overscroll-behavior:contain}.msg-user{align-self:flex-end;max-width:88%;background:#24304d;border:1px solid #2e3c5e;border-radius:12px 12px 4px;padding:8px 12px;white-space:pre-wrap;word-break:break-word}.msg-md{max-width:100%;word-break:break-word}.msg-md.sub,.msg-tool.sub,.msg-think.sub{margin-left:16px;opacity:.75}.md p,.md ul,.md ol,.md pre,.md table,.md blockquote,.md h1,.md h2,.md h3,.md h4{margin:0 0 8px}.md :last-child{margin-bottom:0}.md h1,.md h2,.md h3,.md h4{font-size:15px;color:var(--accent)}.md ul,.md ol{padding-left:20px}.md code{font:12.5px ui-monospace,Menlo,Consolas,monospace;background:var(--panel);border:1px solid var(--border);border-radius:4px;padding:1px 4px}.md pre{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:10px;overflow-x:auto}.md pre code{border:0;padding:0;background:none}.md table{border-collapse:collapse;display:block;overflow-x:auto}.md th,.md td{border:1px solid var(--border);padding:4px 8px;font-size:13px}.md a{color:var(--accent)}.md blockquote{border-left:3px solid var(--border);padding-left:10px;color:var(--muted)}.msg-think,.msg-tool{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:6px 10px;font-size:13px}.msg-think summary{color:var(--muted);cursor:pointer}.msg-think .md{margin-top:6px;color:var(--muted)}.msg-tool summary{cursor:pointer;display:flex;align-items:center;gap:6px;overflow:hidden;white-space:nowrap;list-style:none}.msg-tool summary::-webkit-details-marker{display:none}.msg-tool summary .muted{overflow:hidden;text-overflow:ellipsis}.tool-dot{width:8px;height:8px;border-radius:50%;background:var(--muted);flex-shrink:0}.tool-dot.ok{background:#9ece6a}.tool-dot.bad{background:var(--danger)}.tool-pre{margin-top:6px;font:12px ui-monospace,monospace;white-space:pre-wrap;word-break:break-word;max-height:240px;overflow-y:auto;background:var(--bg);border-radius:6px;padding:8px}.tool-pre.err{color:var(--danger)}.msg-perm{border:1px solid #b8863c;background:#2a2317;border-radius:8px;padding:8px 10px;font-size:13px}.msg-perm.done{opacity:.6;border-color:var(--border);background:var(--panel)}.perm-title{font-weight:600}.msg-result{color:var(--muted);font-size:12px;text-align:center}.msg-result.err{color:var(--danger)}.msg-note{color:var(--muted);font-size:13px;text-align:center;font-style:italic}.live-box .live-seg{white-space:pre-wrap;word-break:break-word}.live-box .live-seg.think{color:var(--muted);font-size:13px}.typing{color:var(--muted);letter-spacing:3px;animation:pulse 1.2s infinite;font-size:11px}@keyframes pulse{50%{opacity:.3}}.perm-bar{border-top:1px solid #b8863c;background:#2a2317;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.perm-q{font-size:13px}.perm-actions{display:flex;gap:8px}.perm-actions button{flex:1}.chat-input{display:flex;gap:8px;align-items:flex-end;padding:8px 10px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--border)}.chat-input textarea{flex:1;resize:none;font:inherit;color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:9px 12px;max-height:140px}.chat-input button{padding:9px 16px}.mode-sel.yolo{border-color:var(--danger);color:var(--danger)}.ctx-bar{height:3px;background:var(--panel)}.ctx-fill{height:100%;background:linear-gradient(90deg,var(--accent),#e0af68 70%,var(--danger));transition:width .4s}.todo-chip{padding:4px 12px;border-bottom:1px solid var(--border);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.msg-user .rewind{border:0;background:none;color:var(--muted);padding:0 0 0 8px;font-size:13px;opacity:.7}.msg-todo{background:var(--panel);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:8px;padding:8px 10px;display:flex;flex-direction:column;gap:4px;font-size:13px}.todo-row{display:flex;gap:8px;align-items:baseline}.todo-row .todo-mark{flex-shrink:0;width:14px;text-align:center;color:var(--muted)}.todo-row.completed{color:var(--muted)}.todo-row.completed .todo-mark{color:#9ece6a}.todo-row.in_progress{color:var(--text)}.todo-row.in_progress .todo-mark{color:var(--accent)}.diff{margin-top:6px;font:12px ui-monospace,monospace;background:var(--bg);border-radius:6px;padding:6px 0;overflow-x:auto;max-height:320px;overflow-y:auto}.diff-line{white-space:pre;padding:0 8px}.diff-line.add{background:#16261a;color:#9ece6a}.diff-line.del{background:#2a1a1e;color:#f7768e}.diff-sign{display:inline-block;width:14px;color:var(--muted)}.diff-skip{color:var(--muted);padding:0 8px;font-style:italic}.msg-plan{border:1px solid #2c4270;background:#131c30;border-radius:10px;padding:10px 12px;font-size:14px}.msg-plan.done{opacity:.75}.msg-plan .perm-title{margin-bottom:6px}.sub-group{background:var(--panel);border:1px dashed var(--border);border-radius:10px;padding:6px 10px;font-size:13px}.sub-group>summary{cursor:pointer;color:var(--muted);list-style:none}.sub-group>summary::-webkit-details-marker{display:none}.sub-group[open]{display:flex;flex-direction:column;gap:6px}.slash-menu{border-top:1px solid var(--border);max-height:40vh;overflow-y:auto;display:flex;flex-direction:column}.slash-menu button{border:0;border-radius:0;background:none;text-align:left;padding:8px 14px;border-bottom:1px solid var(--border);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.slash-menu .slash-desc{font-size:12px}.att-strip{display:flex;gap:8px;padding:6px 10px;border-top:1px solid var(--border);overflow-x:auto}.att{position:relative;flex-shrink:0}.att img{height:52px;border-radius:8px;display:block}.att button{position:absolute;top:-6px;right:-6px;padding:0 5px;font-size:11px;border-radius:50%;background:var(--bg)}.sheet-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:flex-end;z-index:30}.sheet{width:100%;background:var(--panel);border-top:1px solid var(--border);border-radius:16px 16px 0 0;padding:10px 16px calc(16px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px;max-height:80vh;overflow-y:auto}.sheet-grab{width:36px;height:4px;border-radius:2px;background:var(--border);align-self:center}.sheet-field{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.sheet-field select,.sheet-field input{width:100%;background:var(--bg)}.sheet-row{display:flex;gap:8px}.sheet-row input{flex:1;min-width:0;background:var(--bg)}.sheet-row button{flex-shrink:0}.sheet>.sheet-row>button{flex:1}.sheet-session,.sheet-mcp{font-size:12px;text-align:left;background:none;border:1px dashed var(--border);border-radius:8px;padding:8px 10px;word-break:break-all}.card.unread{border-color:#2c4270}.card.unread .card-title{color:var(--accent)}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:2px;vertical-align:baseline}.dot.st-ok{background:#9ece6a}.dot.st-busy{background:var(--accent);animation:pulse 1.2s infinite}.dot.st-warn{background:#e0af68}.dot.st-off{background:var(--muted)}.dot.st-err{background:var(--danger)}.crm{display:flex;flex-direction:column;gap:8px}.crm-head{display:flex;gap:8px;align-items:center}.seg{flex:1;display:flex;gap:4px;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:3px}.seg button{flex:1;border:0;background:none;padding:7px 4px;font-size:13px;color:var(--muted)}.seg button.on{background:var(--bg);color:var(--text);border-radius:8px}.crm-stage{font:600 13px system-ui;color:var(--accent);margin:8px 2px 4px}.crm section{display:flex;flex-direction:column;gap:8px}.crm-deal{align-items:stretch;cursor:default}.crm-deal .card-title a{color:var(--text);text-decoration:none;border-bottom:1px dotted var(--muted)}.crm-deal-side{display:flex;flex-direction:column;gap:6px;justify-content:center}.crm-deal-side select{font-size:12px;padding:6px 8px;max-width:128px}.crm-outcome{white-space:normal;font-size:12px}.crm-note summary{color:var(--muted);font-size:12px;cursor:pointer}.crm-note textarea{width:100%;margin-top:4px;font:13px/1.4 inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:8px;resize:vertical}.crm-closed-toggle{margin:4px 0 12px;background:none;border:1px dashed var(--border);color:var(--muted)}.crm-search{width:100%}.crm-client{cursor:default}.crm-task-add{display:flex;gap:8px}.crm-task-add input{flex:1}.crm-task{display:flex;gap:10px;align-items:center;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:11px 14px}.crm-task input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);flex-shrink:0}.crm-task.done>span{color:var(--muted);text-decoration:line-through}.crm-task-main{flex:1;min-width:0;cursor:pointer}.crm-task .err{color:var(--danger)}.prj{flex-direction:column;align-items:stretch;gap:8px;cursor:default}.prj-head{display:flex;flex-direction:column;gap:3px}.prj-log{display:flex;flex-direction:column}.gd-add{color:#9ece6a}.gd-del{color:var(--danger)}.gd-hunk{color:var(--accent)}.cl-files{display:flex;flex-direction:column;gap:8px}.cl-file{text-align:left;align-items:flex-start;flex-direction:column;gap:3px}.cl-mem{display:flex;flex-direction:column;gap:6px}.cl-mem summary{cursor:pointer;padding:4px 2px}.cl-item{font-size:13px;padding:3px 2px;border-bottom:1px solid var(--border)}.cl-item:last-child{border-bottom:0}.cl-inv{display:flex;flex-wrap:wrap;gap:6px}.fact.warn{color:#e0af68;border-color:#4a3d24}.cl-editor{display:flex;flex-direction:column;gap:8px;height:calc(100dvh - 140px)}.cl-text{flex:1;width:100%;font:13px/1.5 ui-monospace,Menlo,monospace;color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:10px;resize:none}.srv{display:flex;flex-direction:column;gap:8px}.srv-unit{cursor:default}.srv-logbar{display:flex;gap:8px}.srv-logbar select{flex:1}.log-pre{font:11.5px ui-monospace,monospace;white-space:pre-wrap;word-break:break-all;background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:8px;max-height:45vh;overflow-y:auto}.srv-log summary{cursor:pointer}.dash{display:flex;flex-direction:column;gap:8px}.dash-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.tile{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:3px;min-width:0}.tile.accent{grid-column:1 / -1;border-color:#2c4270}.tile-label{color:var(--muted);font-size:12px;text-transform:lowercase}.tile-value{font:600 22px/1.15 ui-monospace,monospace;color:var(--text)}.tile.accent .tile-value{font-size:30px;color:var(--accent)}.goal{display:flex;flex-direction:column;gap:3px;margin:4px 0 2px}.goal-bar{height:6px;background:var(--bg);border-radius:3px;overflow:hidden}.goal-fill{height:100%;background:linear-gradient(90deg,#7aa2f7,#9ece6a);border-radius:3px;transition:width .4s}.dash-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.dash-head h2{margin:8px 2px 4px}.alert{display:flex;flex-direction:column;gap:2px;align-items:flex-start;text-align:left;width:100%;border-radius:10px;padding:10px 12px;border:1px solid var(--border);background:var(--panel);border-left-width:3px}.alert.hot{border-left-color:var(--danger)}.alert.warn{border-left-color:#e0af68}.alert.calm{border-left-color:var(--muted)}.alert:disabled{opacity:.85;cursor:default}.alert-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:14px}.crm-settings{display:flex;flex-direction:column;gap:8px;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:12px}.crm-settings label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted)}.crm-settings input{width:100%}.row-btns{display:flex;gap:8px}.row-btns button{flex:1}.deal-card{display:flex;flex-direction:column;gap:10px}.deal-head{display:flex;align-items:center;gap:8px}.deal-head-title{flex:1;color:var(--muted);font-size:13px}.deal-title{font-size:17px;line-height:1.3}.deal-title a{color:var(--text)}.deal-facts{display:flex;flex-wrap:wrap;gap:6px}.fact{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:4px 9px;font-size:13px}.fact.ok{color:#9ece6a;border-color:#35492c}.deal-row{display:flex;gap:8px}.deal-field{flex:1;display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted);min-width:0}.deal-field select,.deal-field input{width:100%}.deal-field .err{color:var(--danger)}.deal-block{display:flex;flex-direction:column;gap:6px}.deal-block h3{font-size:13px;color:var(--accent);font-weight:600}.pay-row{display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:8px 12px;font-size:14px}.pay-add{display:flex;gap:6px}.pay-add input{flex:1;min-width:0}.pay-add select{max-width:100px}.act-row{font-size:12.5px;color:var(--text);padding:3px 0;border-bottom:1px solid var(--border)}.act-row:last-child{border-bottom:0}.stat-row{display:flex;flex-direction:column;gap:4px;padding:6px 2px}.stat-head{display:flex;justify-content:space-between;gap:8px;font-size:13px;flex-wrap:wrap}.stat-head span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60%}.stat-head span:last-child{white-space:nowrap}.stat-bar{height:6px;background:var(--panel);border-radius:3px;overflow:hidden}.stat-fill{height:100%;background:var(--accent);border-radius:3px}.stat-fill.calm{background:#3d4a6b}.fh-card{align-items:flex-start}.fh-why{font-size:12px;white-space:normal;line-height:1.35}.fh-filter{display:flex;align-items:center;gap:10px;padding:4px 2px;font-size:13px}.fh-filter input[type=range]{flex:1;accent-color:var(--accent)}.fh-limit{font-size:12px;white-space:nowrap}.score{flex-shrink:0;min-width:34px;text-align:center;font:600 13px ui-monospace,monospace;border-radius:8px;padding:4px 6px;background:var(--bg);border:1px solid var(--border)}.score.good{color:#9ece6a;border-color:#35492c}.score.mid{color:#e0af68;border-color:#4a3d24}.score.low{color:var(--muted)}.bid-draft{width:100%;font:13px/1.45 inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:10px;resize:vertical}.fh-check{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:8px 10px;font-size:13px}.fh-note{font-size:12px;line-height:1.4}.btn-link{flex:1;display:flex;align-items:center;justify-content:center;text-decoration:none;color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:8px 12px;font-size:15px}.fh-draft{flex-direction:column;align-items:stretch;gap:8px;cursor:default;border-left:3px solid #b8863c}.fh-draft .fh-msg-text{white-space:pre-wrap;font-size:14px}.fh-check{flex-direction:row!important;align-items:center;gap:8px}.fh-check input{width:18px;height:18px;accent-color:var(--accent)}.crm-settings input[type=range]{accent-color:var(--accent);width:100%}.fh-thread{display:flex;flex-direction:column;gap:8px;max-height:55vh;overflow-y:auto}.fh-msg{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:8px 12px}.fh-msg.mine{background:#24304d;border-color:#2e3c5e;margin-left:24px}.fh-msg-head{font-size:12px;display:block;margin-bottom:4px}.fh-msg-text{white-space:pre-wrap;word-break:break-word;font-size:14px}.fh-reply{display:flex;flex-direction:column;gap:8px}.fh-reply textarea{width:100%;font:14px/1.45 inherit;color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:10px;resize:vertical}
