:root{font:14px/1.6 "Segoe UI","Microsoft YaHei",sans-serif;color:#25352f;background:#fff;--green:#167b65;--line:#e6ebe8;--muted:#7b8881}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer;background:#fff;border:1px solid var(--line);border-radius:9px;padding:8px 13px}button:hover{background:#f0f6f3}button:disabled{opacity:.48;cursor:default}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #39a38a;outline-offset:3px}.primary{background:var(--green);color:#fff;border-color:var(--green)}.primary:hover{background:#116653}.quiet{border:0;background:transparent}.small,small{font-size:12px}.muted{color:var(--muted)}a{color:var(--green);text-decoration:none}h1,h2,h3,p{margin-top:0}h1{font-size:27px;letter-spacing:-.8px}h2{font-size:20px}h3{font-size:15px}.row{display:flex;align-items:center;gap:10px}.spread{justify-content:space-between}.hidden{display:none!important}.shell{height:100dvh;display:grid;grid-template-columns:244px minmax(0,1fr)}.sidebar{background:#f6f8f7;border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0;padding:23px 15px 15px;gap:18px}.brand{font-size:22px;font-weight:750;letter-spacing:-.8px;padding:0 10px}.brand i{font-style:normal;color:var(--green)}.brand small{font-weight:400;font-size:11px;color:var(--muted);display:block;letter-spacing:1.7px}.side-nav{display:grid;gap:3px}.side-nav button{text-align:left;border:0;background:transparent}.side-nav button:hover{background:#e8eeeb}.side-title{padding:0 10px;font-size:11px;color:#97a19a;letter-spacing:1px;margin-bottom:8px}.spaces{flex:1;min-height:0;overflow:auto}.space-row{display:flex;align-items:center;gap:2px}.space{flex:1;min-width:0;width:100%;text-align:left;background:transparent;border:0;padding:9px 5px 9px 11px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.space-pin{border:0;background:transparent;color:#91a099;padding:5px 7px;font-size:15px;line-height:1}.space-pin:hover{color:var(--green);background:#e8f0eb}.space.active{background:#e4ede8;color:#14684f}.profile{border-top:1px solid var(--line);padding:15px 6px 0;flex-shrink:0}.avatar{width:31px;height:31px;display:grid;place-items:center;background:#e5eee8;border-radius:50%;color:#3e6c54}.profile .row{gap:9px}.profile button{margin-left:auto;padding:4px 7px;font-size:11px}.main{display:flex;flex-direction:column;min-width:0;min-height:0;position:relative}.topbar{height:65px;padding:0 30px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);flex-shrink:0}.topbar strong{font-weight:600;max-width:45vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.badge{font-size:10px;border-radius:5px;padding:3px 7px;background:#f1f5f2;color:#618071}.workspace{display:flex;flex:1;min-height:0;min-width:0}.conversation{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:30px max(28px,calc((100% - 850px)/2)) 18px}.welcome{padding:clamp(20px,6vh,70px) 0 28px;max-width:750px;margin:auto}.eyebrow{letter-spacing:2px;font-size:10px;color:#7a9a89;margin-bottom:14px}.welcome p{color:#849087;font-size:14px}.suggestions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:30px}.suggestion{text-align:left;padding:18px;line-height:1.6;border:1px solid var(--line);background:#fafcfb}.suggestion b{font-size:13px;display:block;margin-bottom:4px}.suggestion span{font-size:12px;color:#8a958e}.messages{display:flex;flex-direction:column;gap:26px;max-width:850px;margin:auto}.message{max-width:100%;min-width:0}.message.user{align-self:flex-end;background:#f0f4f1;border-radius:18px 18px 4px 18px;padding:11px 18px;max-width:85%}.message.assistant{padding:0 4px}.message-head{font-size:11px;color:#638473;display:flex;align-items:center;gap:8px;margin-bottom:9px}.message-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.85;font-size:14px}.message-body h3{margin:15px 0 7px}.evidence-links{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.evidence-links button{font-size:11px;background:#f5f8f6;padding:5px 8px;max-width:100%;overflow:hidden;text-overflow:ellipsis}.composer-wrap{flex-shrink:0;padding:10px 26px 14px;background:#fff}.composer{max-width:850px;margin:auto;border:1px solid #d7e1da;border-radius:19px;padding:12px 15px 10px;box-shadow:0 4px 24px #203e2c07}.composer textarea{border:0;background:transparent;width:100%;min-height:65px;height:72px;max-height:150px;resize:none;padding:3px;outline:none;line-height:1.7}.composer-tools{display:flex;justify-content:space-between;gap:10px;align-items:center}.choices{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.choices select{border:0;background:#f3f6f4;border-radius:7px;font-size:11px;max-width:175px;padding:7px 6px;cursor:pointer}.choices button{font-size:11px;padding:6px 9px;border:0;background:#f5f7f6}.send{border-radius:11px;white-space:nowrap;font-size:12px;padding:8px 15px}.compose-note{max-width:850px;margin:8px auto 0;font-size:10px;color:#929c96;text-align:center}.chips{display:flex;gap:6px;flex-wrap:wrap;max-height:76px;overflow:auto}.chip{font-size:10px;border-radius:6px;padding:3px 7px;background:#eef4f0;color:#5e7e6b}.chip.error{background:#fff0ed;color:#a94a42}.chip button{font:inherit;border:0;padding:0 0 0 7px;background:transparent}.progress{margin:14px auto 0;max-width:850px;border:1px solid #dfe9e2;border-radius:12px;padding:15px;background:#fbfdfb}.steps{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.step{font-size:10px;color:#8a958e;background:#f0f3f1;padding:4px 7px;border-radius:5px}.step.succeeded{background:#e7f3eb;color:#2a7955}.step.running,.step.awaiting_confirmation{background:#fff2da;color:#947037}.step.failed{background:#ffebe7;color:#b85e4a}.progress button{font-size:11px}.drawer{width:410px;max-width:90vw;border-left:1px solid var(--line);background:#fafcfb;padding:20px;display:flex;flex-direction:column;gap:13px;min-height:0}.drawer h3{margin:0}.drawer textarea{flex:1;min-height:100px;resize:none;width:100%;padding:18px;border:1px solid #dfe7e1;border-radius:9px;font:14px/1.9 SimSun,serif;background:white}.drawer .row{flex-wrap:wrap;gap:7px}.drawer button{font-size:11px}.drawer-sources{max-height:20vh;overflow:auto}.drawer-sources button{display:block;width:100%;margin-top:5px;text-align:left}.drawer-note{font-size:11px;color:#85938a}dialog{padding:0;border:1px solid #dce5de;border-radius:18px;box-shadow:0 20px 90px #123c2928;width:min(720px,calc(100vw - 32px));max-height:85dvh;color:inherit}dialog::backdrop{background:#213a2e55;backdrop-filter:blur(2px)}.dialog-head{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--line);padding:18px 24px;display:flex;justify-content:space-between;align-items:center;z-index:1}.dialog-head h2{margin:0;font-size:18px}.dialog-body{padding:22px 24px;overflow:auto}.dialog-foot{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:8px;padding:15px 24px;background:#fff;border-top:1px solid var(--line)}.check-row{padding:12px;border:1px solid var(--line);border-radius:9px;display:flex;gap:12px;margin-bottom:9px;cursor:pointer}.check-row input{accent-color:var(--green)}.check-row b{display:block;font-size:13px}.check-row small{color:#8a958c}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:flex;flex-direction:column;gap:6px;font-size:12px}.field input,.field select,.field textarea{padding:9px;border:1px solid #dde6df;border-radius:7px;width:100%}.field.full{grid-column:1/-1}.field textarea{min-height:90px;resize:vertical}.library-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-bottom:20px}.library-card{border:1px solid var(--line);padding:17px;border-radius:12px}.library-card p{font-size:12px;color:#819087}.library-card h3{margin-bottom:5px}.search-row{display:flex;gap:8px}.search-row input{flex:1;min-width:0;border:1px solid #dae5dd;border-radius:8px;padding:10px}.search-hit{border-top:1px solid var(--line);padding:14px 0}.search-hit p{font-size:12px;color:#738479;white-space:pre-wrap}.source-content{white-space:pre-wrap;font-size:13px;line-height:1.9;border:1px solid var(--line);background:#fafcfb;border-radius:10px;padding:17px;margin-top:18px;overflow-wrap:anywhere}.login{width:410px}.login .dialog-body{padding:30px}.login h1{font-size:25px}.login .field{margin:13px 0}.login .primary{width:100%;margin-top:10px}.error-text{font-size:12px;color:#b24c42;white-space:pre-wrap;min-height:20px}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#273f33;color:white;border-radius:9px;padding:10px 17px;font-size:12px;z-index:50;max-width:90vw;box-shadow:0 5px 30px #0002}.toast:empty{display:none}#menuToggle{display:none}@media(min-width:1900px){.scroll{padding-left:max(35px,calc((100% - 900px)/2));padding-right:max(35px,calc((100% - 900px)/2))}.composer{max-width:900px}}@media(max-width:1300px){.drawer{position:absolute;right:0;top:65px;bottom:0;box-shadow:-15px 0 50px #1d3b2c15;z-index:5}.shell{grid-template-columns:215px minmax(0,1fr)}.choices select{max-width:145px}.topbar{padding:0 22px}}@media(max-height:740px){.sidebar{padding-top:15px;gap:13px}.welcome{padding-top:15px}.suggestions{margin-top:20px}.composer textarea{height:55px;min-height:50px}.topbar{height:56px}.composer-wrap{padding-bottom:10px}.drawer{top:56px}}@media(max-width:800px){.shell{grid-template-columns:1fr}.sidebar{display:none}.shell.sidebar-open .sidebar{display:flex;position:absolute;inset:0 auto 0 0;width:245px;z-index:10;box-shadow:10px 0 40px #203b2b22}#menuToggle{display:block}.topbar{padding:0 14px}.topbar strong{max-width:35vw}.topbar .badge{display:none}.scroll{padding:20px 18px}.composer-wrap{padding:8px 12px 12px}.composer-tools{align-items:flex-end}.choices{gap:3px}.choices select{max-width:140px}.suggestions,.library-grid{grid-template-columns:1fr}.suggestions{gap:8px}.suggestion{padding:12px}.form-grid{grid-template-columns:1fr}.dialog-body{padding:18px}.drawer{width:min(410px,100vw);max-width:100vw}.main .topbar .row{gap:5px}}

.source-provenance{padding:14px 16px;border:1px solid #d9e7e1;border-radius:10px;background:#f5faf7;font-size:12px;line-height:1.8;overflow-wrap:anywhere}.source-provenance p{margin:8px 0 0}
/* ===== 对话历史:固定占侧栏一半,内部滚动,按时间分组 ===== */
.sidebar{overflow:hidden}
.spaces{flex:0 0 50%;min-height:0;display:flex;flex-direction:column;overflow:hidden}
#spaceList{flex:1;min-height:0;overflow:auto}
.side-nav{flex:1;min-height:0;overflow:auto}
.space-group{margin:0 0 2px}
.space-group-title{display:flex;align-items:center;gap:5px;width:100%;border:0;background:transparent;padding:7px 10px;font-size:11px;color:#97a19a;letter-spacing:1px;cursor:pointer;text-align:left}
.space-group-title:hover{color:#6d786f}
.space-group-title .chev{font-size:8px;transition:transform .15s ease;color:#b0bab2}
.space-group:not(.collapsed)>.space-group-title .chev{transform:rotate(90deg)}
.space-group-title .count{margin-left:auto;font-size:10px;color:#b6bfb8;letter-spacing:0}
.space-group-items{display:grid}
.space-group.collapsed>.space-group-items{display:none}
.space-time{flex:none;font-size:10px;color:#a2aca4;white-space:nowrap}
.space-row .space{padding-right:2px}
/* ===== 侧栏 v2:导航在上(WorkBuddy式),最近对话占下半,更多浮出 ===== */
.sidebar{overflow:hidden}
.side-nav{flex:0 0 auto;display:flex;flex-direction:column;gap:2px;overflow:visible;padding:6px 8px 2px}
.side-nav>button,#connectionsNavGroup .office-nav,#scheduleNavGroup .office-nav{display:flex;width:100%}
.flat-group{display:contents}
#moreGroup{position:relative}
#moreNav{display:flex;width:100%;position:relative}
#moreNav .more-chevron{margin-left:auto;transition:transform .15s ease;color:#9aa49c;font-size:12px}
#moreGroup.open .more-chevron{transform:rotate(90deg)}
.more-flyout{position:absolute;left:calc(100% + 8px);top:0;min-width:180px;background:#fff;border:1px solid #e2e6e2;border-radius:10px;box-shadow:0 8px 28px rgba(20,40,30,.14);padding:6px;z-index:60}
.more-flyout button{display:flex;width:100%;text-align:left;border:0;background:transparent;padding:9px 12px;border-radius:8px;font-size:13px;color:#3d463f;cursor:pointer;white-space:nowrap}
.more-flyout button:hover{background:#f0f4f0}
.more-flyout .office-nav{display:contents}
.spaces{flex:1 1 50%;min-height:0;display:flex;flex-direction:column;overflow:hidden;margin-top:6px;border-top:1px solid #e8ece8;padding-top:6px}
#spaceList{flex:1;min-height:0;overflow:auto}
.profile{flex:0 0 auto}
