:root{--warm:#F7F6F2;--paper:#FFFFFF;--ink:#171717;--muted:#6A6A68;--line:#E8E6E1;--jade:#6FA88F;--jadeDark:#184d3d;--jadeSoft:#e8f0eb;--indigo:#6F78B9;--shadow:0 8px 28px rgba(20,34,27,.07)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--warm);color:var(--ink);font:15px/1.5 -apple-system,BlinkMacSystemFont,"SF Pro Text","PingFang SC","Segoe UI",sans-serif}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}.hidden{display:none!important}.shell{display:grid;grid-template-columns:244px minmax(0,1fr);min-height:100vh}aside{position:sticky;top:0;height:100vh;background:#123f32;color:#fff;padding:20px 14px;display:flex;flex-direction:column;gap:14px;z-index:20}.brand{display:flex;gap:11px;align-items:center;padding:4px 8px 8px}.brand b,.brand small{display:block}.brand b{font-size:17px}.brand small{opacity:.72}.brandmark{width:44px;height:44px;border-radius:13px}.searchBtn,.mainnav button,.domainList button{width:100%;text-align:left;border:0;background:transparent;color:#fff;padding:10px 12px;border-radius:11px}.searchBtn{background:rgba(255,255,255,.09)}.searchBtn:hover,.mainnav button:hover,.mainnav button.active,.domainList button:hover{background:rgba(255,255,255,.13)}.mainnav{display:grid;gap:2px}.navlabel{font-size:11px;letter-spacing:.12em;text-transform:uppercase;opacity:.52;padding:8px 12px 0}.domainList{overflow:auto;border-top:1px solid rgba(255,255,255,.1);padding-top:8px}.asideFoot{margin-top:auto;padding:9px 12px;font-size:13px;opacity:.85}#statusDot{color:#95d7b8}main{min-width:0;padding-bottom:92px}header{height:68px;background:rgba(255,255,255,.9);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 26px;position:sticky;top:0;z-index:12}.mast b,.mast small{display:block}.mast small{color:var(--muted);font-size:12px}.profile{width:36px;height:36px;border-radius:50%;border:0;background:var(--jadeDark);color:#fff;font-weight:700}.view{padding:26px;max-width:1180px;margin:0 auto}.hero{min-height:220px;border-radius:22px;padding:32px;color:#fff;display:flex;align-items:flex-end;background:linear-gradient(0deg,rgba(17,52,42,.86),rgba(17,52,42,.12)),radial-gradient(circle at 70% 30%,#91a98e,#526e61 54%,#2b4c41);box-shadow:var(--shadow)}.hero small{letter-spacing:.12em;text-transform:uppercase;opacity:.78}.hero h2{font-size:34px;margin:8px 0 4px}.hero p{font-size:17px;margin:0}.cards{display:grid;gap:16px;margin:17px 0}.cards.three{grid-template-columns:repeat(3,1fr)}.cards.two{grid-template-columns:repeat(2,1fr)}.card{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--shadow)}.card h3{margin:0 0 10px}.card button,.uploadLabel{width:100%;border:0;background:#f2f5f3;border-radius:10px;padding:10px 11px;margin:6px 0;text-align:left}.muted{color:var(--muted)}.sectionHead,.pageTitle,.threadHead{display:flex;align-items:center;justify-content:space-between;gap:14px}.sectionHead h3{margin:5px 0}.sectionHead button{border:0;background:transparent;color:var(--jadeDark)}.pageTitle{display:block;margin:3px 0 20px}.pageTitle h2{margin:0;font-size:28px}.pageTitle p{margin:5px 0;color:var(--muted)}.domainCards{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:12px}.domainCard{background:#fff;border:1px solid var(--line);border-radius:15px;padding:16px;cursor:pointer;min-height:110px;transition:.15s}.domainCard:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.domainCard span{font-size:22px}.domainCard b,.domainCard small{display:block;margin-top:4px}.domainCard small{color:var(--muted)}.lower{margin-top:18px}.workDomains{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:14px}.workDomain{background:#fff;border:1px solid var(--line);border-radius:16px;padding:17px}.workDomain .domainTitle{display:flex;align-items:center;gap:10px;margin-bottom:10px}.workDomain .domainTitle span{font-size:24px}.workDomain button{border:0;background:transparent;padding:8px 0;text-align:left;width:100%}.workDomain button:hover{color:var(--jadeDark)}.threadList{display:grid;gap:10px}.threadRow{display:grid;grid-template-columns:1fr auto;gap:12px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;cursor:pointer}.threadRow:hover{box-shadow:var(--shadow)}.threadRow b,.threadRow small{display:block}.threadRow small{color:var(--muted)}.threadStatus{font-size:12px;background:var(--jadeSoft);padding:4px 8px;border-radius:999px;height:max-content}.threadHead{justify-content:flex-start}.threadHead h2{margin:0}.threadHead button{border:0;background:transparent}.threadHead .quietBtn{margin-left:auto;border:1px solid var(--line);background:#fff;border-radius:10px;padding:7px 10px}.messages{padding:18px 0 210px}.msg{max-width:78%;padding:13px 15px;border-radius:17px;margin:10px 0;white-space:pre-wrap;overflow-wrap:anywhere}.msg.owner{margin-left:auto;background:var(--jadeDark);color:#fff;border-bottom-right-radius:5px}.msg.aios{background:#fff;border:1px solid var(--line);border-bottom-left-radius:5px}.msgText+.msgAttachments{margin-top:10px}.msgAttachments{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,260px));gap:8px}.attachmentPreview{display:block;text-decoration:none;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:13px;overflow:hidden;min-width:0}.attachmentPreview.image img{display:block;width:100%;max-height:320px;object-fit:cover;background:#eee}.attachmentPreview span{display:block;padding:7px 9px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.msg.owner .attachmentPreview{background:rgba(255,255,255,.96);border-color:rgba(255,255,255,.35);color:var(--ink)}.attachmentPreview.file{display:flex;align-items:center;gap:6px;padding:4px 7px}.attachmentPreview.file span{padding:4px}.fileIcon{font-size:16px}.legacyAttachmentGroup{margin:18px 0 8px;padding:12px;border:1px dashed var(--line);border-radius:14px;background:rgba(255,255,255,.55)}.legacyAttachmentGroup>small{display:block;color:var(--muted);margin-bottom:8px}.legacyAttachmentGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,220px));gap:8px}.composerDock{position:fixed;left:calc(244px + 50%);transform:translateX(-50%);bottom:18px;width:min(830px,calc(100vw - 294px));z-index:15}.composer{position:static;width:100%;background:#fff;border:1px solid var(--line);border-radius:19px;padding:8px 9px;display:flex;gap:7px;align-items:flex-end;box-shadow:0 14px 38px rgba(0,0,0,.15)}.composer textarea{flex:1;border:0;resize:none;outline:0;padding:9px;max-height:180px}.composer button,.composer label{border:0;background:transparent;padding:9px;cursor:pointer}.composer #sendBtn{width:43px;height:43px;border-radius:50%;background:var(--jadeDark);color:#fff}.attachmentStrip{display:block;margin:0 8px 8px;padding:8px;background:rgba(255,255,255,.98);border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 24px rgba(0,0,0,.08);max-height:180px;overflow:auto}.pendingLabel{font-size:11px;color:var(--muted);margin:0 2px 6px}.pendingItems{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.pendingItems .attachmentPreview{flex:0 0 118px}.pendingItems .attachmentPreview.image img{height:84px;object-fit:cover}.pendingItems .attachmentPreview span{font-size:11px}.attachmentStrip.hidden{display:none!important}.searchTop{display:flex;gap:10px}.searchTop button{border:0;background:transparent;font-size:22px}.searchTop input{flex:1;padding:14px;border:1px solid var(--line);border-radius:13px;background:#fff}.result{background:#fff;border:1px solid var(--line);padding:14px;border-radius:12px;margin:10px 0;cursor:pointer}.result p{margin:6px 0 0;color:var(--muted)}.helpList,.stateGuide{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px 24px}.helpList li{margin:8px}.stateGuide{margin-top:16px}.settingsGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.overlay{position:fixed;inset:0;background:rgba(18,46,38,.86);z-index:99;display:grid;place-items:center}.login-card{width:min(390px,90vw);background:#fff;border-radius:24px;padding:30px;text-align:center;box-shadow:0 28px 80px rgba(0,0,0,.3)}.login-icon{width:76px;height:76px;border-radius:22px}.login-card h1{margin:10px 0 0}.login-card p{color:var(--muted)}.login-card input,.login-card button{width:100%;padding:13px;border-radius:12px;margin:7px 0}.login-card input{border:1px solid var(--line)}.login-card button{background:var(--jadeDark);color:#fff;border:0}#toast{position:fixed;right:20px;bottom:22px;background:#171717;color:#fff;padding:10px 14px;border-radius:10px;opacity:0;transition:.2s;pointer-events:none;z-index:100}#toast.show{opacity:1}#mobileMenu,.mobileBottom{display:none}
@media(max-width:850px){.cards.three{grid-template-columns:1fr 1fr}.cards.three .card:last-child{grid-column:1/-1}}
@media(max-width:760px){body{background:#fbfaf7}.shell{display:block}aside{position:fixed;inset:0 18% 0 0;height:auto;transform:translateX(-110%);transition:.22s;box-shadow:16px 0 50px rgba(0,0,0,.24)}aside.open{transform:none}main{padding-bottom:78px}header{height:58px;padding:0 13px}.mast{text-align:center}.mast small{display:none}#mobileMenu{display:block;border:0;background:transparent;font-size:21px}.view{padding:15px}.hero{min-height:145px;padding:20px;border-radius:18px}.hero h2{font-size:27px}.cards.three,.cards.two,.settingsGrid{grid-template-columns:1fr}.cards.three .card:last-child{grid-column:auto}.domainCards{grid-template-columns:repeat(2,1fr)}.workDomains{grid-template-columns:1fr}.msg{max-width:92%}.messages{padding-bottom:250px}.msgAttachments{grid-template-columns:minmax(0,1fr)}.attachmentPreview.image img{max-height:420px;object-fit:contain;background:#f0efeb}.legacyAttachmentGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.composerDock{left:10px;right:10px;bottom:70px;transform:none;width:auto}.attachmentStrip{max-height:150px;margin:0 4px 7px}.pendingItems .attachmentPreview{flex-basis:104px}.composer{width:100%}.mobileBottom{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;height:62px;padding-bottom:env(safe-area-inset-bottom);background:rgba(255,255,255,.96);border-top:1px solid var(--line);z-index:30}.mobileBottom button{border:0;background:transparent;display:grid;place-items:center;font-size:19px;padding:4px}.mobileBottom button span{font-size:10px;color:var(--muted)}#toast{bottom:78px;left:14px;right:14px;text-align:center}.threadHead{position:sticky;top:58px;background:#fbfaf7;padding:8px 0;z-index:9}.pageTitle h2{font-size:25px}}
.continuityCard{margin:14px 0;background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px 14px}.continuityCard summary{cursor:pointer;font-weight:600}.continuityCard p{margin:7px 0}

/* Attachment composer + in-app viewer UX v0.3 */
button.attachmentPreview{font:inherit;text-align:left;padding:0;cursor:zoom-in;width:100%}.pendingAttachmentCard{position:relative;flex:0 0 118px;min-width:0}.pendingAttachmentCard .attachmentPreview{width:100%}.pendingRemove{position:absolute;top:5px;right:5px;width:30px;height:30px;border:0;border-radius:50%;background:rgba(20,20,20,.78);color:#fff;font-size:20px;line-height:28px;display:grid;place-items:center;box-shadow:0 2px 10px rgba(0,0,0,.25);z-index:3}.pendingRemove:hover{background:#111}.pendingLabel{display:flex;align-items:center;justify-content:space-between;gap:10px}.pendingLabel small{font-size:10px;color:var(--muted)}body.viewerOpen{overflow:hidden}.imageViewer{position:fixed;inset:0;z-index:140;background:rgba(12,18,15,.94);display:flex;flex-direction:column;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.imageViewerBar{height:54px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;color:#fff}.imageViewerBar button{border:0;background:rgba(255,255,255,.12);color:#fff;border-radius:12px;padding:9px 12px;font-weight:650}.imageViewerBar #imageViewerClose{font-size:25px;line-height:1;width:44px;height:44px;padding:0}.imageViewerName{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;font-size:13px;opacity:.9}.imageViewerStage{flex:1;min-height:0;display:grid;place-items:center;overflow:auto;padding:10px}.imageViewerStage img{display:block;max-width:min(96vw,1400px);max-height:calc(100vh - 100px);width:auto;height:auto;object-fit:contain;border-radius:10px;box-shadow:0 14px 60px rgba(0,0,0,.42);background:#111}
@media(max-width:760px){.pendingAttachmentCard{flex-basis:112px}.pendingRemove{width:32px;height:32px;top:4px;right:4px}.imageViewer{padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}.imageViewerBar{height:50px}.imageViewerBar button{padding:8px 10px}.imageViewerStage{padding:6px}.imageViewerStage img{max-width:100%;max-height:calc(100vh - 82px);border-radius:8px}}

/* Voice capture + review UX v0.4 */
.voicePanel{width:100%;min-height:64px;background:#fff;border:1px solid var(--line);border-radius:19px;padding:8px 10px;display:grid;grid-template-columns:42px minmax(0,1fr) 48px;align-items:center;gap:10px;box-shadow:0 14px 38px rgba(0,0,0,.15)}.voiceCancel{width:38px;height:38px;border:0;border-radius:50%;background:#f1f2ef;color:#353a37;font-size:23px;line-height:1;display:grid;place-items:center}.voiceLive{min-width:0;display:grid;gap:3px}.voiceLive canvas{display:block;width:100%;height:42px}.voiceMeta{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:var(--muted);padding:0 3px}.voiceStop{width:46px;height:46px;border:0;border-radius:50%;background:var(--jadeDark);display:grid;place-items:center;box-shadow:0 5px 16px rgba(24,77,61,.22)}.voiceStop span{width:14px;height:14px;background:#fff;border-radius:3px}.composer #micBtn.recording{background:#e7efeb;border-radius:50%;color:var(--jadeDark)}.composer #sendBtn.voiceReview{font-size:22px;font-weight:800}.attachmentStrip.voiceHidden{display:none!important}
@media(max-width:760px){.voicePanel{min-height:66px;padding:8px;grid-template-columns:40px minmax(0,1fr) 48px;gap:8px}.voiceLive canvas{height:40px}.voiceMeta{font-size:10px}.voiceStop{width:46px;height:46px}}
