/* Deep Chat handles the conversation itself. Casework supplies its modal shell. */
.helper-launch{position:fixed;right:24px;bottom:22px;z-index:25;display:flex;align-items:center;gap:10px;padding:12px 18px;background:#1d2f49;color:white;border:1px solid #bcc4d0;border-radius:28px;box-shadow:0 4px 18px #1a243424;font-weight:600;font-size:13px;cursor:pointer}
.helper-launch:hover{background:#132239}.helper-launch>span:first-child{font-size:20px}
.cw-chat-modal{padding:0;border:1px solid #c1cad8;border-radius:18px;width:min(1120px,calc(100vw - 48px));height:min(850px,calc(100dvh - 48px));max-width:none;max-height:none;overflow:hidden;box-shadow:0 24px 100px #0e172540;background:white;color:var(--ink)}
.cw-chat-modal::backdrop{background:#141d2b6e;backdrop-filter:blur(3px)}body.cw-chat-open{overflow:hidden}
.cw-chat-shell{height:100%;display:flex;flex-direction:column;min-width:0;font-size:14px;color:#232c39;background:white}
.cw-chat-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;margin:0;border-bottom:1px solid #dbe1e9;flex-shrink:0;background:#f7f8fa;flex-wrap:nowrap}
.cw-chat-header>div:first-child{min-width:0}.cw-chat-header strong{font-size:18px}.cw-chat-model{display:block;color:#586579;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:420px}
.cw-chat-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.cw-chat-header-actions button,.cw-chat-expand{font-size:13px;padding:8px 12px;min-height:38px}.cw-chat-expand{border:1px solid #d6dce4;border-radius:8px;background:white}
.cw-chat-body{display:flex;flex:1;min-height:0;position:relative}
.cw-chat-history{width:230px;flex-shrink:0;background:#f2f4f8;border-right:1px solid #dbe1e9;padding:16px 12px;overflow:auto;overscroll-behavior:contain}.cw-chat-history>button:first-child{width:100%}.cw-history-tabs{display:flex;gap:18px;padding:18px 8px}.cw-history-item{display:block;text-align:left;width:100%;white-space:normal;background:transparent;color:#363f4c;border:0;padding:12px 10px;margin:3px 0;font-weight:500;font-size:12px;overflow-wrap:anywhere;line-height:1.5}.cw-history-item:hover,.cw-history-item[aria-current]{background:#dee4ed;color:#1d2f49}.cw-chat-history>p{padding:12px 8px}
.cw-chat-conversation{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}
.cw-chat-titlebar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;flex-shrink:0;border-bottom:1px solid #eceef2;position:relative}.cw-chat-titlebar>strong{font-size:13px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.cw-chat-manage{font-size:12px;flex-shrink:0}.cw-chat-manage summary{cursor:pointer;color:#505c6f;padding:8px}.cw-chat-manage[open]{position:absolute;z-index:5;right:12px;top:8px;border:1px solid #d3d9e2;padding:10px 16px;background:white;box-shadow:0 4px 18px #1a24341a;border-radius:10px;width:min(280px,calc(100% - 24px))}.cw-chat-manage form{margin:14px 0}.cw-chat-manage input{width:100%;margin:6px 0 12px}.cw-chat-manage button{font-size:12px;min-height:36px}
.cw-chat-status{font-size:11px;color:#566376;padding:7px 20px;min-height:30px;background:#f9fafc;flex-shrink:0}.cw-chat-component{flex:1;min-height:0;min-width:0;overflow:hidden;display:flex}.cw-chat-component deep-chat{flex:1;min-width:0}
.cw-chat-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 20px 12px;font-size:10px;color:#5f6d83;flex-shrink:0}.cw-chat-bottom button{font-size:11px;min-height:28px}
.cw-chat-reports{border-top:1px solid #d6dce6;background:#f4f6f9;max-height:38%;overflow:auto;flex-shrink:0}.cw-chat-reports>summary{padding:10px 20px;cursor:pointer;font-size:12px;font-weight:600;position:sticky;top:0;background:#eaeff6}.cw-report{padding:18px 20px;border-top:1px solid #d6dce6}.cw-report h3{font-size:16px}.cw-report>p{font-size:12px}.cw-report td{padding:10px;font-size:12px}.cw-report th{padding:10px;font-size:10px}.cw-report>a:not(.button){display:block;padding:7px 0;font-size:12px}.cw-report>.button{margin-top:14px;font-size:12px;min-height:36px}
.report-chart{margin:14px 0;padding:12px;background:white;border:1px solid #dbe1e9;border-radius:8px}.report-chart-row{display:grid;grid-template-columns:minmax(90px,140px) minmax(30px,1fr) 32px;gap:10px;align-items:center;font-size:12px;margin:8px 0}.report-chart-row>div{height:14px;background:#dae0e9;border-radius:4px;overflow:hidden}.report-chart-row i{height:100%;display:block;background:#405779}
.cw-chat-page{height:calc(100dvh - 100px);min-height:600px;margin:16px 0;border:1px solid #d0d7e2;border-radius:14px;overflow:hidden}.chat-page .page-content>footer{display:none}.chat-page .page-guide{display:none}
.review-mode .helper-launch{bottom:76px}
@media(min-width:761px){.cw-chat-header [data-chat-history-toggle]{display:none}}
@media(max-width:760px){.cw-chat-modal{width:calc(100vw - 16px);height:calc(100dvh - 16px);border-radius:12px;margin:8px}.cw-chat-header{padding:12px;gap:8px}.cw-chat-model{max-width:190px;font-size:10px}.cw-chat-header strong{font-size:16px}.cw-chat-header-actions{gap:5px}.cw-chat-header-actions button,.cw-chat-expand{padding:7px;min-height:36px;font-size:12px}.cw-chat-history{display:none;position:absolute;inset:0 auto 0 0;z-index:8;box-shadow:8px 0 20px #1a24341a;width:230px}.cw-history-open .cw-chat-history{display:block}.cw-chat-titlebar{padding:8px 12px}.cw-chat-status{padding:6px 12px;font-size:11px}.cw-chat-bottom{padding:6px 12px 10px;flex-wrap:wrap;gap:2px}.cw-chat-page{height:calc(100dvh - 148px);min-height:480px;margin:10px 0}.helper-launch{right:14px;bottom:14px;padding:10px 14px}.cw-report{padding:14px}.cw-report table{min-width:360px}.cw-chat-reports{max-height:35%}}
@media(prefers-reduced-motion:reduce){.cw-chat-modal::backdrop{backdrop-filter:none}}
/* Stable controls: the trigger stays in flow, the panel never affects chat geometry. */
.cw-chat-titlebar{height:62px;min-height:62px;flex-wrap:nowrap}
.cw-chat-titlebar>strong{min-width:0;flex:1}
.cw-chat-manage{position:static;flex:0 0 auto}
.cw-chat-manage>[data-chat-manage-toggle]{width:78px;min-height:36px;font-size:12px;padding:6px 10px}
.cw-chat-manage-panel{position:absolute;z-index:20;right:16px;top:calc(100% - 2px);width:min(280px,calc(100% - 32px));padding:18px;border:1px solid #cad2de;border-radius:12px;background:white;box-shadow:0 12px 36px #1a243424;transform-origin:top right}
.cw-chat-manage-panel form{margin:0 0 14px}.cw-chat-manage-panel input{margin:8px 0 12px}.cw-chat-manage-panel>.text-button{margin-left:14px}
.cw-chat-status{height:32px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cw-chat-bottom{height:46px;min-height:46px}
.cw-chat-history{will-change:transform,opacity}
@media(max-width:760px){.cw-chat-titlebar{height:54px;min-height:54px}.cw-chat-bottom{height:56px;min-height:56px}.cw-chat-status{height:30px}}
/* Reports open above their fixed toolbar, without squeezing the chat input or messages. */
.cw-chat-reports{position:relative;height:38px;min-height:38px;max-height:none;overflow:visible;flex:0 0 38px;z-index:10}
.cw-chat-reports>summary{position:static;height:38px;padding:9px 20px;border-top:1px solid #d6dce6}
.cw-chat-reports>[data-chat-reports]{position:absolute;bottom:calc(100% + 6px);left:12px;right:12px;max-height:min(440px,55dvh);overflow:auto;background:#f9fbfd;border:1px solid #c5cedc;border-radius:12px;box-shadow:0 12px 40px #1a24342e;transform-origin:bottom center}
.cw-chat-status-row{display:flex;align-items:center;gap:8px;height:36px;min-height:36px;background:#f9fafc;padding-right:12px}
.cw-chat-status-row .cw-chat-status{min-width:0;flex:1;height:auto;min-height:0;padding-top:0;padding-bottom:0}
.cw-chat-status-row>[data-chat-stop-pending]{font-size:11px;min-height:28px;padding:3px 8px;flex-shrink:0}

.cw-chat-history .cw-history-search{display:block;position:relative;margin-top:14px;color:#475569}
.cw-history-search svg{position:absolute;inset-inline-start:10px;top:50%;transform:translateY(-50%);pointer-events:none}
.cw-chat-history .cw-history-search input{width:100%;min-width:0;min-height:40px;padding-inline-start:32px;font-size:13px}
.cw-chat-history .cw-history-tabs{gap:6px;padding:10px 0 6px}
.cw-history-tabs button{flex:1;min-width:0;min-height:36px;padding:5px 6px;border-radius:6px}
.cw-history-tabs button[aria-pressed="true"]{background:#dee4ed;color:#1d2f49}
.cw-chat-history .cw-history-search-status{margin:0}
.cw-history-search-status:empty{display:none}
