:root{font-family:system-ui,-apple-system,"PingFang SC",sans-serif;color:#17313a;background:#f4f7f8;line-height:1.6}*{box-sizing:border-box}body{margin:0}header{background:#143c40;color:white;padding:22px 5%;display:flex;justify-content:space-between;align-items:center}header strong{font-size:25px;letter-spacing:.5px}header span{margin-left:20px;color:#b5d8d5}main{max-width:1320px;margin:32px auto;padding:0 24px}h1,h2,h3{line-height:1.4}h2{font-size:21px;margin-top:0}h3{font-size:17px}p{color:#506970}.card{background:white;border:1px solid #dce5e8;border-radius:14px;padding:26px;min-width:0}.narrow{max-width:540px;margin:8vh auto}.layout{display:grid;grid-template-columns:300px 1fr;gap:22px}.pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;font-size:14px;font-weight:600;margin:14px 0}input,textarea,select{font:inherit;color:inherit;background:#fafcfc;border:1px solid #cddade;border-radius:7px;padding:11px;width:100%;margin-top:6px}textarea{resize:vertical}button{font:inherit;background:#166960;color:white;border:0;border-radius:7px;padding:10px 18px;cursor:pointer}button:disabled{opacity:.5;cursor:wait}button.quiet{background:#e8f1ef;color:#175a52}nav{display:flex;gap:10px;margin-bottom:20px}nav button{background:#e2eceb;color:#24554e}nav button.selected{background:#166960;color:white}.status{background:#eaf1f4;border-radius:9px;padding:12px 18px;margin-bottom:20px;font-size:14px}.hint{font-size:13px;color:#6b7e84}.divider{border-top:1px solid #e4ebed;margin-top:26px;padding-top:16px}.inline{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.inline input{flex:1;min-width:160px}.inline select{width:auto}.listItem{display:block;width:100%;text-align:left;background:#f2f6f6;color:#284b50;margin:8px 0;padding:13px}.listItem small{display:block;color:#6b7e84;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message{white-space:pre-wrap;overflow-wrap:anywhere;padding:14px 18px;background:#f0f4f6;margin:12px 0;border-radius:10px}.message.assistant{background:#e4f1ea}.badge{font-size:12px;background:#e7efec;padding:3px 8px;border-radius:5px}.draft{border:1px solid #d7d7ad;background:#fffef6;padding:18px;border-radius:9px;margin:14px 0}.draft textarea{margin-bottom:10px}#notice{position:fixed;bottom:24px;right:24px;max-width:560px;padding:16px 24px;background:#173c40;color:white;border-radius:10px;z-index:9}footer{text-align:center;color:#8aa0a4;font-size:13px;padding:30px}code{overflow-wrap:anywhere}[hidden]{display:none!important}@media(max-width:760px){.layout,.pair{grid-template-columns:1fr}header span{display:none}main{padding:0 14px}.card{padding:18px}.layout aside{max-height:300px;overflow:auto}}
.status{display:flex;align-items:center;gap:10px 26px;flex-wrap:wrap}.listItem.active{background:#d9eee7;box-shadow:inset 3px 0 #166960}.check{display:flex;align-items:center;gap:8px;font-weight:400}.check input{width:auto;margin:0}.savebar{position:sticky;bottom:12px;background:#fff;padding:12px 0;display:flex;align-items:center;gap:16px;border-top:1px solid #e4ebed;z-index:1}details{margin:12px 0}summary{cursor:pointer;color:#175a52;font-size:14px}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #77b7aa;outline-offset:3px}#conversationList{max-height:65vh;overflow:auto}#simulationResult{margin-top:18px}#accountList a{margin-right:16px}#conversationDetail small{overflow-wrap:anywhere}@media(max-width:760px){nav{position:sticky;top:0;z-index:2;background:#f4f7f8;padding:10px 0}nav button{flex:1;padding:10px 6px;font-size:14px}.layout aside{max-height:none}#conversationList{max-height:260px}.savebar{bottom:0}.status{font-size:13px}}

.guide{max-width:900px;margin:0 auto}.guideSteps{padding-left:26px}.guideSteps>li{padding-left:8px;margin:24px 0}.guideSteps h3{margin-bottom:8px}.guideSteps p{margin:8px 0}.guide li{color:#506970}.guide li::marker{color:#166960;font-weight:700}.guide summary{font-weight:600}.guide ul{padding-left:22px}.guide ul li{margin:10px 0}@media(max-width:760px){nav{gap:6px}nav button{font-size:13px;padding:10px 4px}}

.entrancePanel{background:#f5f9f7;border-radius:10px;padding:16px;margin-bottom:22px}.entrancePanel h3{margin-top:0}#projectEntrances{display:flex;gap:16px;flex-wrap:wrap}.qrCard{max-width:340px;width:100%;display:flex;align-items:flex-start;flex-direction:column;gap:10px}.qrCard img{background:white;max-width:100%;height:auto;image-rendering:pixelated}.downloadLink{color:#175a52;font-weight:600}.qrCard input{font-size:12px}#previousConversations,#nextConversations{font-size:13px;padding:8px 12px}

.customerImage{display:block;max-width:100%;max-height:460px;object-fit:contain;margin-top:10px}.message audio{max-width:100%;margin-top:10px}

.jobStatus{margin:12px 0;padding:10px;border:1px solid #d9e0df;border-radius:8px}.jobStatus button{margin:6px 8px 0 0}.logRow{padding:12px;margin:8px 0;border-left:4px solid #64748b;background:#f6f8fa;border-radius:6px}.logRow.error{border-color:#bc3232}.logRow.warning{border-color:#b9770e}.logJson{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;max-height:360px;overflow:auto}.logRow summary{cursor:pointer;overflow-wrap:anywhere}#logFilter{align-items:end}#logFilter input{max-width:180px}

.customerAvatar{width:42px;height:42px;object-fit:cover;border-radius:50%;margin-right:10px;vertical-align:middle;background:#e4eddf}

/* Conversation workspace: each column scrolls independently inside the viewport. */
body.chat-mode{height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden}
body.chat-mode>header{padding:12px 28px;flex:none}body.chat-mode>header strong{font-size:21px}
body.chat-mode>main{display:flex;flex:1;min-height:0;width:100%;max-width:1600px;margin:0 auto;padding:14px 24px 18px}
body.chat-mode #workbench{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0}
body.chat-mode nav{margin:0 0 10px;flex:none}body.chat-mode nav button{padding:8px 16px}
body.chat-mode .status{margin-bottom:12px;padding:7px 14px;min-height:36px;max-height:78px;overflow:auto;flex:none;font-size:12px;gap:5px 22px}
body.chat-mode .status button{padding:4px 9px;font-size:12px}body.chat-mode>footer{display:none}
#conversations{min-height:0;flex:1;display:flex}.chatWorkspace{display:grid;grid-template-columns:318px minmax(0,1fr);flex:1;min-height:0;min-width:0;border:1px solid #dce5e3;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 6px 24px #153c3210}
.conversationSidebar{display:flex;flex-direction:column;min-height:0;min-width:0;background:#f7f9f8;border-right:1px solid #dce5e3}
.conversationSidebarHead{padding:17px 16px 10px;display:flex;align-items:center;justify-content:space-between;gap:8px}.conversationSidebarHead h2{font-size:18px;margin:0}.conversationSidebarHead button{padding:5px 10px;font-size:12px}
.conversationFilters{padding:0 14px 10px;flex:none}.conversationFilters input,.conversationFilters select{font-size:13px;padding:8px 10px;margin:0;background:white}.conversationFilterRow{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.conversationFilterRow label{margin:0;min-width:0;font-size:12px;font-weight:400;color:#6b7e79}.conversationFilterRow select{margin-top:3px}.conversationFilters .check{font-size:12px;margin:8px 0 0}.conversationFilters .check input{width:auto}
#conversationList{flex:1;min-height:0;max-height:none;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;border-top:1px solid #e8edeb}
.conversationItem{width:100%;display:flex;gap:11px;align-items:flex-start;border-radius:0;border:0;border-bottom:1px solid #edf0ee;background:transparent;text-align:left;padding:16px 14px;color:#253e36;min-width:0}
.conversationItem:hover{background:#edf2ef}.conversationItem.active{background:#e0ece5;box-shadow:inset 3px 0 #288267}.conversationItem:focus-visible{outline-offset:-3px}
.chatAvatar{display:inline-flex;position:relative;flex:none;width:42px;height:42px;align-items:center;justify-content:center;border-radius:10px;background:#dae5e0;color:#4c7264;font-size:18px;font-weight:600;overflow:hidden}.chatAvatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.serviceAvatar{background:#378269;color:white;font-size:15px}
.conversationSummary{min-width:0;flex:1;display:block}.conversationNameRow{display:flex;align-items:center;gap:8px;justify-content:space-between}.conversationNameRow strong{font-size:14px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversationNameRow time{font-size:11px;color:#8a9992;flex:none;font-weight:400}.conversationPreview{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:#78877f;margin:4px 0 6px;font-weight:400}.conversationProjectRow{display:flex;gap:7px;align-items:center;min-width:0}.projectTag{font-size:11px;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#618073}.conversationFlag{font-size:10px;background:#f3e7d1;color:#9a691d;border-radius:4px;padding:0 5px;white-space:nowrap}.conversationFlag.error{color:#a24444;background:#f8e6e3}.conversationEmpty{padding:16px}
.conversationPagination{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:10px 12px;border-top:1px solid #e2e9e5;flex:none}.conversationPagination #conversationCount{flex:1;font-size:11px;margin:0;min-width:100px}#previousConversations,#nextConversations{font-size:11px;padding:5px 7px}
#conversationDetail{position:relative;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;background:#f3f5f3}
.chatEmpty{display:flex;flex:1;align-items:center;justify-content:center;flex-direction:column;padding:30px;text-align:center}.chatEmpty h2{font-size:20px;margin:14px 0 0}.chatEmpty p{font-size:14px;color:#8a9992}.emptyChatIcon{display:flex;width:64px;height:64px;align-items:center;justify-content:center;background:#e4ece7;color:#7b9b8b;font-size:30px;border-radius:20px}
.chatHeader{display:flex;align-items:center;gap:12px;flex:none;padding:15px 22px;background:#fafcfb;border-bottom:1px solid #e0e7e2;min-width:0}.chatTitle{flex:1;min-width:0}.chatTitle h2{font-size:18px;margin:0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.chatTitle p{margin:3px 0 0;font-size:12px}.chatActions{display:flex;gap:8px;flex:none}.chatActions button{font-size:12px;padding:7px 10px}.chatBack{display:none}
.chatBody{position:relative;flex:1;min-height:0;display:flex}.chatScroll{flex:1;min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain;overflow-anchor:none;scrollbar-width:thin;padding:0 24px;scroll-behavior:auto}.chatScroll:focus-visible{outline:2px solid #77b7aa;outline-offset:-3px}.chatHistory{min-height:100%;display:flex;flex-direction:column;padding:14px 0 22px}.historyMore.quiet{align-self:center;font-size:12px;padding:5px 14px;background:transparent;color:#8a9b90;margin-bottom:10px}.messageStream{margin-top:auto;width:100%}.chatTime{text-align:left;color:#98a39d;font-size:11px;margin:18px 0 6px;font-variant-numeric:tabular-nums}.chatMessageGroup.service>.chatTime{text-align:right}.chatMessageGroup:has(>.chatTime)>.chatMessage{margin-top:0}.chatMessage{display:flex;align-items:flex-start;gap:10px;margin:16px 0}.chatMessage.service{flex-direction:row-reverse}.chatMessage .chatAvatar{width:34px;height:34px;font-size:14px;border-radius:8px}.chatMessageContent{min-width:0;max-width:min(78%,720px)}.chatSender{display:block;font-size:11px;color:#89988f;margin:-2px 0 5px}.service .chatSender{text-align:right}.chatBubble{padding:11px 15px;border:1px solid #e3e9e5;background:white;border-radius:3px 12px 12px 12px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.8;color:#273c32;box-shadow:0 1px 2px #173c4003}.service .chatBubble{background:#d9efce;border-color:#d0e6c4;border-radius:12px 3px 12px 12px}.chatImage{display:block;width:300px;max-width:100%;aspect-ratio:4/3;object-fit:contain;margin-top:8px;background:#00000004;border-radius:5px}.chatBubble audio{display:block;max-width:100%;width:280px;margin-top:8px}.noMessages{text-align:center}.latestMessages{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);border:1px solid #dbe8df;background:white;color:#287553;border-radius:24px;font-size:12px;padding:8px 16px;box-shadow:0 3px 14px #123c3020;white-space:nowrap}
.chatComposer{flex:none;background:#fff;border-top:1px solid #e1e8e3;padding:12px 22px 14px;max-height:46%;overflow-y:auto}.chatActivity{font-size:12px;color:#7c8e82;line-height:1.6}.chatReplyForm textarea{border:0;background:white;resize:none;margin:6px 0 0;padding:8px 0;min-height:62px;max-height:120px;border-radius:0;font-size:14px}.chatReplyForm textarea:focus-visible{outline:0;box-shadow:inset 0 -2px #77b7aa}.chatSendbar{display:flex;align-items:center;justify-content:space-between;gap:10px}.chatSendbar .hint{font-size:11px}.chatSendbar button{padding:6px 24px;font-size:13px}.chatReviews:empty{display:none}.chatReview{padding:10px 0;margin:5px 0 0}.chatReview summary{font-size:13px}.chatReview textarea{font-size:14px;margin:8px 0}.chatReview button{font-size:12px;padding:6px 12px}.chatReview details{margin:8px 0 0}.chatReview details small{font-size:11px;color:#789083}
.chatInfo{position:absolute;right:0;top:0;bottom:0;width:350px;max-width:100%;z-index:3;background:#fff;border-left:1px solid #dce5e3;box-shadow:-8px 0 30px #143c4015;overflow-y:auto;padding:22px;overscroll-behavior:contain}.chatInfo>h3{margin:0;display:inline-block}.chatInfo>button:first-of-type{float:right;padding:4px 10px;font-size:12px}.chatInfo details{padding-top:12px;border-top:1px solid #edf1ee;margin:18px 0}.chatInfo textarea{font-size:13px}.chatInfo button{font-size:12px;padding:7px 11px}.chatInfo p,.chatInfo small{font-size:12px}.chatInfo .draft{padding:12px}.followupPanel{padding:12px;background:#fff8e9;border-radius:8px;margin-top:14px;font-size:13px}.followupPanel p{font-size:12px}
@media(max-width:1050px){.chatWorkspace{grid-template-columns:280px minmax(0,1fr)}.chatHeader{padding:14px}.chatHeader>.chatAvatar{display:none}.chatActions{gap:5px}.chatActions button{padding:6px 8px}.chatScroll{padding:0 16px}.chatMessageContent{max-width:85%}}
@media(max-width:760px){body.chat-mode>header{padding:9px 14px}body.chat-mode>header strong{font-size:19px}body.chat-mode>header button{padding:5px 10px;font-size:12px}body.chat-mode>main{padding:8px 10px 10px}body.chat-mode nav{position:static;padding:0;gap:4px;margin-bottom:8px}body.chat-mode nav button{padding:7px 4px;font-size:11px}body.chat-mode .status{font-size:10px;padding:5px 9px;gap:2px 12px;max-height:55px;min-height:0;margin-bottom:8px}.chatWorkspace{grid-template-columns:minmax(0,1fr);border-radius:8px}.conversationSidebar{border:0}.chatWorkspace #conversationDetail{display:none}#conversations.chat-open .conversationSidebar{display:none}#conversations.chat-open #conversationDetail{display:flex}.chatBack{display:block;font-size:12px;padding:5px 8px;background:transparent!important;color:#3d7661!important}.chatHeader{gap:8px;flex-wrap:wrap;padding:10px 12px}.chatTitle h2{font-size:16px}.chatTitle p{font-size:10px}.chatActions{margin-left:auto}.chatActions button{font-size:10px;padding:5px 7px}.chatScroll{padding:0 12px}.chatBubble{font-size:14px;padding:9px 12px}.chatMessage{gap:7px}.chatMessageContent{max-width:82%}.chatComposer{padding:10px 13px;max-height:44%}.chatActivity{font-size:11px}.chatInfo{width:100%;padding:18px}.chatImage{width:240px}.chatReplyForm textarea{min-height:54px}.chatTime{font-size:10px}.conversationSidebarHead{padding-top:12px}}

.projectIdentity{display:flex;align-items:center;gap:11px}.projectIdentityText{flex:1;min-width:0}.accountIdentity{display:flex;align-items:center;gap:10px}.chatHeader>.chatAvatar{display:inline-flex}.chatSender{overflow-wrap:anywhere}.chatAvatar{user-select:none}
@media(max-width:560px){.chatHeader{display:grid;grid-template-columns:auto 34px minmax(0,1fr);gap:7px 8px}.chatHeader>.chatAvatar{width:34px;height:34px}.chatActions{grid-column:1/-1;justify-self:end;margin-left:0}.chatTitle h2{font-size:16px}}

.status #generationQueueStatus{order:-1;font-weight:600}

/* Full conversation timestamps remain visible on narrow screens. */
.conversationNameRow{flex-wrap:wrap;gap:2px 8px}.conversationNameRow time{margin-left:auto;white-space:nowrap;font-variant-numeric:tabular-nums}

#handoffToasts{position:fixed;right:18px;bottom:22px;z-index:20;display:flex;flex-direction:column;gap:10px;width:min(360px,calc(100vw - 36px));max-height:50vh;overflow:auto}body:has(#workbench[hidden]) #handoffToasts{display:none}.handoffToast{display:flex;background:#fff;border:1px solid #cbded3;border-left:4px solid #378269;border-radius:10px;box-shadow:0 4px 22px #123c3024;padding:10px;gap:6px}.handoffToast button:first-child{flex:1;text-align:left;white-space:normal}.handoffToast small{display:block;font-weight:400;margin-top:6px;font-size:11px}.handoffToast button{background:transparent;color:#28624b;padding:6px}.interventionRow{border-bottom:1px solid #e0e7e2;padding:16px 0;overflow-wrap:anywhere}.interventionRow button{margin-right:8px}#interventions{overflow:auto;min-height:0}body.chat-mode nav{flex-wrap:wrap}

#interventionList{max-width:680px;border:1px solid #e0e7e2;border-radius:10px;overflow:hidden;margin-top:16px}.interventionRow.conversationItem{width:100%;text-align:left;margin:0;padding:16px;border-radius:0}.interventionRow.conversationItem:last-child{border-bottom:0}

.chatDetailHost{display:flex;min-width:0;min-height:0;overflow:hidden}.chatDetailHost>#conversationDetail{flex:1}#interventions{min-height:0;overflow:hidden}body.chat-mode #interventions{flex:1;display:flex}#interventions[hidden]{display:none!important}#interventions>.chatWorkspace{flex:1;min-width:0}#interventionList{max-width:none;border:0;border-radius:0;margin:0;flex:1;min-height:0;overflow:auto}.interventionHint{padding:0 16px;font-size:11px}.interventionRow.conversationItem{padding:14px 16px}@media(max-width:760px){.chatWorkspace .chatDetailHost{display:none}#conversations.chat-open .chatDetailHost,#interventions.chat-open .chatDetailHost{display:flex}#interventions.chat-open .conversationSidebar{display:none}#interventions.chat-open #conversationDetail{display:flex}}

#interventions .chatWorkspace{grid-template-columns:380px minmax(0,1fr)}.interventionGuide{display:block;margin-top:12px;padding:10px 12px;background:#fff8ed;border:1px solid #eeddbb;border-radius:8px;white-space:normal;font-weight:400;color:#4e4b40;font-size:12px;line-height:1.65}.interventionHeading{display:block;color:#9a651b;font-size:12px}.interventionLabel{display:block;color:#8c754e;font-size:11px;font-weight:600;margin:7px 0 3px}.interventionReason,.interventionStep{display:block;overflow-wrap:anywhere}.interventionStep+.interventionStep{margin-top:5px}@media(max-width:1050px){#interventions .chatWorkspace{grid-template-columns:320px minmax(0,1fr)}}@media(max-width:760px){#interventions .chatWorkspace{grid-template-columns:minmax(0,1fr)}}
