:root{--ink:#172a2e;--muted:#7a8b8d;--line:#e4ebea;--bg:#f5f8f7;--panel:#fff;--teal:#087d73;--teal-soft:#e4f3f0;--green:#42a879;--shadow:0 8px 30px rgba(35,71,69,.05)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.55 Inter,Segoe UI,Microsoft YaHei,sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer;border:0}.topbar{height:68px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px}.brand,.top-actions,.contact-title,.conversation-head,.detail-head,.project-state,.section-label{display:flex;align-items:center}.brand{gap:11px}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--ink);color:#fff;font-size:17px;font-weight:800}.brand strong{display:block;font-size:16px;letter-spacing:.5px}.brand small{display:block;color:var(--muted);font-size:11px}.top-actions{gap:22px}.status-dot{color:var(--muted);font-size:12px}.status-dot:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#e5ab58;margin-right:7px}.status-dot.ok:before{background:var(--green)}.ghost{background:none;color:var(--teal);font-weight:700}.avatar{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#d8e8e5;color:var(--teal);font-weight:700}.app-shell{display:grid;grid-template-columns:260px minmax(420px,1fr) 310px;height:calc(100vh - 68px);max-width:1600px;margin:0 auto}.conversation-list{background:#fff;border-right:1px solid var(--line);padding:23px 14px;display:flex;flex-direction:column}.conversation-head{justify-content:space-between;padding:0 8px 17px;font-size:15px}.round-btn{width:28px;height:28px;border-radius:7px;background:var(--teal-soft);color:var(--teal);font-size:18px}.search{display:flex;align-items:center;gap:7px;background:#f4f7f6;border-radius:7px;padding:8px 10px;color:var(--muted);margin-bottom:16px}.search input{border:0;outline:0;background:transparent;width:100%;font-size:12px}.filter-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);padding:0 2px 10px;margin-bottom:8px}.filter-tabs button{background:none;color:var(--muted);font-size:12px;padding:4px 7px}.filter-tabs button.selected{color:var(--teal);font-weight:700;border-bottom:2px solid var(--teal)}.filter-tabs em{font-style:normal;font-size:10px;background:var(--teal-soft);padding:1px 5px;border-radius:8px}.conversation{display:flex;align-items:center;gap:10px;text-align:left;padding:11px 8px;border-radius:7px;background:transparent;color:var(--ink)}.conversation.active{background:#edf7f5}.contact-avatar{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:10px;background:#d9ece7;color:var(--teal);font-size:15px;font-weight:700}.contact-avatar.large{width:40px;height:40px}.conversation-copy{display:flex;flex-direction:column;flex:1;min-width:0}.conversation-copy strong{font-size:13px}.conversation-copy small,.conversation time{color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conversation time{align-self:flex-start}.list-empty{text-align:center;color:#b2bfbe;font-size:11px;line-height:1.8;margin-top:28px}.list-foot{margin-top:auto;padding:14px 8px;color:var(--muted);font-size:11px}.chat-view{display:flex;flex-direction:column;background:#fbfcfc;min-width:0}.chat-header{height:80px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px}.contact-title{gap:11px}.contact-title h1{font-size:16px;margin:0 0 2px}.contact-title p{font-size:11px;color:var(--muted);margin:0}.online{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);margin-right:5px}.chat-tools{display:flex;gap:7px}.icon-btn{background:none;color:#718284;font-size:20px;padding:4px 7px}.messages{flex:1;overflow:auto;padding:25px max(7%,40px)}.date-divider{text-align:center;color:#a0adad;font-size:11px;margin-bottom:20px}.bubble{max-width:75%;margin:12px 0;padding:12px 15px;border-radius:4px;position:relative}.bubble.ai{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.bubble.user{margin-left:auto;background:var(--teal);color:#fff}.bubble p{margin:0 0 8px}.bubble p:last-of-type{margin-bottom:0}.meta{display:block;color:var(--muted);font-size:10px;margin-top:8px}.bubble.user .meta{color:#cbe4e0}.quick-replies{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}.quick-replies button{border:1px solid #b9ddd7;background:#f7fcfb;border-radius:4px;padding:6px 9px;color:var(--teal);font-size:11px}.composer{background:#fff;border-top:1px solid var(--line);padding:13px 28px 15px}.upload-row{display:flex;align-items:center;gap:10px;margin-bottom:9px}.upload{color:var(--teal);font-size:12px;cursor:pointer}.upload input{display:none}.composer-tool{margin-left:auto;background:none;color:var(--muted);font-size:17px}.input-row{display:flex;gap:10px}.input-row textarea{resize:none;flex:1;border:1px solid #d8e3e1;border-radius:5px;padding:10px 12px;outline:none;min-height:54px}.input-row textarea:focus{border-color:var(--teal)}.primary{background:var(--teal);color:#fff;border-radius:5px;padding:10px 18px;font-weight:700}.primary:hover{background:#06685f}.send{align-self:stretch;min-width:70px}.muted{color:var(--muted);font-size:11px}.composer-hint{text-align:right;color:#a1aeae;font-size:10px;margin-top:5px}.detail-panel{background:#fff;border-left:1px solid var(--line);padding:27px 22px;overflow:auto}.detail-head{justify-content:space-between}.eyebrow{display:block;color:var(--teal);font-size:10px;font-weight:800;letter-spacing:1px;margin-bottom:5px}.detail-head h2,.admin-head h1{font-size:19px;margin:0}.project-state{gap:7px;margin:20px 0;padding:10px;background:#f5faf8;border-radius:5px;font-size:11px;color:var(--muted)}.project-state strong{color:var(--teal)}.state-dot{width:7px;height:7px;border-radius:50%;background:#e5ab58}.detail-section{border-top:1px solid var(--line);padding:18px 0}.detail-section h3{font-size:12px;margin:0 0 10px}.summary{font-size:12px;color:#718083;line-height:1.8;background:#f7f9f8;border-radius:5px;padding:10px;min-height:66px;white-space:pre-wrap}.progress{display:grid;gap:12px}.progress-line{display:grid;grid-template-columns:13px 1fr auto;gap:8px;align-items:center;font-size:12px}.progress-line i{width:9px;height:9px;border:1px solid #cbd8d6;border-radius:50%}.progress-line i.done{background:var(--teal);border-color:var(--teal)}.progress-line b{font-size:10px;color:#a1adad;font-weight:400}.progress-line:first-child b{color:var(--teal)}.full-select{width:100%;padding:9px;border:1px solid var(--line);border-radius:5px;background:#fff;font-size:12px}.outline-btn{width:100%;margin-top:10px;border:1px solid #b6d5d0;background:#fff;color:var(--teal);border-radius:5px;padding:8px;font-size:12px}.section-label{justify-content:space-between}.tag{display:inline-block;padding:3px 8px;border-radius:10px;background:var(--teal-soft);color:var(--teal);font-size:10px}.tag.neutral{background:#f1f4f3;color:#859291}.task-info{font-size:11px;color:var(--muted);line-height:1.8}.view{display:none}.view.active{display:flex}.admin-view{display:none;min-height:calc(100vh - 68px);padding:45px max(7%,60px);flex-direction:column}.admin-view.active{display:flex}.admin-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:22px}.admin-head h1{font-size:28px}.admin-head p{margin:7px 0 0}.admin-auth{display:flex;gap:9px;margin-bottom:20px}.admin-auth input{border:1px solid var(--line);border-radius:5px;padding:9px;width:270px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.stat{background:#fff;border:1px solid var(--line);border-radius:7px;padding:15px}.stat small{display:block;color:var(--muted);font-size:11px}.stat strong{display:block;font-size:24px;margin-top:3px}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.panel{background:#fff;border:1px solid var(--line);border-radius:7px;padding:18px}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.control-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.switch{width:38px;height:22px;border-radius:14px;background:#d7dddd;padding:3px}.switch i{display:block;width:16px;height:16px;background:#fff;border-radius:50%;transition:.15s}.switch.on{background:var(--teal)}.switch.on i{transform:translateX(16px)}.secondary{background:var(--teal-soft);color:var(--teal);border-radius:5px;padding:8px 12px}.eval{background:#f6f8f7;padding:12px;min-height:100px;font-size:11px;white-space:pre-wrap}.toast{position:fixed;bottom:24px;right:24px;background:var(--ink);color:#fff;padding:10px 15px;border-radius:5px;opacity:0;transform:translateY(8px);transition:.2s}.toast.show{opacity:1;transform:none}@media(max-width:1050px){.app-shell{grid-template-columns:220px minmax(400px,1fr)}.detail-panel{display:none}}@media(max-width:700px){.topbar{height:60px;padding:0 15px}.top-actions{gap:10px}.top-actions .status-dot{display:none}.app-shell{display:block;height:calc(100vh - 60px)}.conversation-list{display:none}.chat-header{height:68px;padding:0 15px}.messages{padding:20px 15px}.bubble{max-width:88%}.composer{padding:11px 15px}.composer-hint{display:none}.admin-view{padding:25px 15px}.admin-head{align-items:flex-start;gap:15px}.stats{grid-template-columns:repeat(2,1fr)}.admin-grid{grid-template-columns:1fr}.ghost{font-size:12px}}
:root{--unused:0}
.live-clock{font-variant-numeric:tabular-nums;color:#536765;font-size:11px;letter-spacing:.2px;min-width:145px;text-align:right}
.conversation-list{box-shadow:inset -1px 0 0 rgba(8,125,115,.03)}
.conversation{width:100%;transition:background .16s,transform .16s;border:1px solid transparent}
.conversation:hover{background:#f1f8f6;transform:translateX(2px)}
.conversation.active{border-color:#d6ebe6;box-shadow:0 3px 12px rgba(8,125,115,.06)}
.conversation-copy{overflow:hidden}
.conversation-state{font-style:normal;font-size:9px;color:#6e8884;line-height:1.2;margin-top:2px}
.conversation-state.done{color:#42a879}
.conversation-state.follow{color:#c98a48}
.filter-tabs button{transition:color .16s,border-color .16s,background .16s;border-radius:4px 4px 0 0}
.filter-tabs button:hover{background:#f1f8f6;color:var(--teal)}
.progress-line{padding:5px 6px;border-radius:5px;transition:background .18s}
.progress-line.active{background:#f4faf8}
.progress-line.active b{color:var(--teal)}
.detail-panel{box-shadow:inset 1px 0 0 rgba(8,125,115,.02)}
.task-info{white-space:pre-line;background:#f8fbfa;border-radius:5px;padding:9px;margin-top:5px}
@media(max-width:1050px){.live-clock{display:none}}
.bubble{max-width:75%;margin:14px 0;padding:13px 17px;border-radius:15px;line-height:1.7;transition:transform .16s,box-shadow .16s}.bubble:hover{transform:translateY(-1px)}.bubble.ai{border-color:#dfeae8;border-top-left-radius:5px;box-shadow:0 5px 18px rgba(35,71,69,.07)}.bubble.user{background:linear-gradient(135deg,#0b8b80,#087d73);border-top-right-radius:5px;box-shadow:0 5px 16px rgba(8,125,115,.16)}.meta{color:#91a19f;line-height:1.2}.bubble.user .meta{color:#cbe4e0}.quick-replies button{border-radius:10px;padding:6px 10px}
.task-live{display:flex;align-items:center;gap:7px}.pulse-dot{width:8px;height:8px;border-radius:50%;background:#42a879;box-shadow:0 0 0 0 rgba(66,168,121,.4);animation:pulse 1.5s infinite}.stop-btn{border-color:#e8c9c4!important;color:#ae5b50!important;background:#fff8f6!important}.stop-btn:hover{background:#fff0ed!important}@keyframes pulse{70%{box-shadow:0 0 0 7px rgba(66,168,121,0)}100%{box-shadow:0 0 0 0 rgba(66,168,121,0)}}
.admin-field{display:block;width:100%;margin:8px 0;padding:10px;border:1px solid var(--line);border-radius:6px;background:#fff}.prompt-list{display:grid;gap:8px}.prompt-item{display:flex;justify-content:space-between;align-items:center;padding:10px;border:1px solid var(--line);border-radius:6px;background:#fbfdfc}.prompt-item strong,.prompt-item small{display:block}.prompt-item small{color:var(--muted);font-size:11px;margin-top:3px}.prompt-item button{border:1px solid #b6d5d0;background:#fff;color:var(--teal);border-radius:5px;padding:5px 9px;font-size:11px;margin-left:5px}.prompt-admin{margin-top:16px}
.app-shell{min-height:0;height:calc(100vh - 68px);grid-template-rows:minmax(0,1fr);overflow:hidden}.conversation-list,.detail-panel{min-height:0}.chat-view{height:auto;min-height:0;overflow:hidden}.chat-header{flex:0 0 80px}.messages{flex:1 1 auto;min-height:0;height:auto;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}.composer{flex:0 0 auto;min-height:132px;position:relative;z-index:2}
.summary-row{display:grid;grid-template-columns:70px 1fr;gap:8px;padding:3px 0;border-bottom:1px solid #e7efed}.summary-row:last-child{border-bottom:0}.summary-row b{color:#536765;font-weight:700}.summary-row span{word-break:break-word}
