/* Conversation controls use the user's existing green palette. Operations additions inherit console tokens. */
.quota-strip{padding:11px 22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#f6faf4;display:flex;justify-content:space-between;align-items:center;gap:8px;color:var(--green);font-size:13px}.quota-strip>span{display:flex;align-items:center;gap:6px;white-space:nowrap}.quota-strip svg{width:16px;height:16px}.quota-strip strong{font-size:18px}.quota-strip small{color:var(--muted);font-size:11px;text-align:right}.quota-empty{background:#fff5e9;color:#936321}.chat-head>.btn{font-size:12px;min-height:36px}.chat-aside .session-panel{padding:16px}.session-list{max-height:275px;overflow:auto;display:grid;gap:4px}.session-item{display:flex;width:100%;align-items:flex-start;gap:9px;border:1px solid transparent;border-radius:6px;padding:11px;text-align:left;min-height:52px}.session-item>svg{width:16px;height:16px;margin-top:3px;color:var(--muted)}.session-item>span{display:block;min-width:0}.session-item strong{display:block;font-size:12px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:210px}.session-item small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.session-item:hover{background:#f3f6ef}.session-item.active{background:var(--green-soft);border-color:#d7e4d4;color:var(--green)}.session-modal{display:grid;gap:7px}.session-modal .session-item strong{max-width:420px}.session-modal .session-item{border-color:var(--line)}.session-modal .session-item small{font-size:12px}.session-modal .session-item strong{font-size:14px}.chat-messages{min-height:260px}.setting-line{display:flex;align-items:center;gap:24px}.setting-line .field{max-width:280px;flex:1}.setting-line p{flex:2;font-size:13px;color:var(--muted);line-height:1.8}.report-panels{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:20px;margin-bottom:20px}.report-panels .panel{margin:0;min-width:0}.consult-chart{height:220px;display:flex;gap:12px;align-items:stretch;overflow-x:auto;padding:8px 0 0;scrollbar-width:thin}.chart-column{flex:1;min-width:22px;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:12px;color:#666}.chart-column b{font-weight:500;height:20px;color:#333}.chart-column small{font-size:11px;white-space:nowrap;min-height:18px}.bar-space{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center;border-bottom:1px solid #e7e7e7}.bar-space>span{width:min(60%,40px);background:#0052d9;min-height:0;border-radius:3px 3px 0 0}.topic-row{display:grid;grid-template-columns:78px 1fr 24px;gap:12px;align-items:center;font-size:13px;margin:23px 0}.topic-row>div{height:8px;background:#ecf2fe;border-radius:2px}.topic-row i{display:block;height:100%;background:#0052d9;border-radius:2px}.topic-row strong{font-weight:500;text-align:right}.file-flow{display:flex;align-items:center;gap:12px;margin:0 0 20px;color:var(--muted);font-size:13px}.file-flow>span{display:inline-flex;align-items:center;gap:8px;min-height:32px}.file-flow>span.active{color:var(--green);font-weight:500}.file-flow>svg{width:14px;height:14px;color:#999}.upload-drop{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:1px dashed #a6a6a6;padding:35px 20px;background:#fafafa;cursor:pointer;border-radius:3px;text-align:center;min-height:205px}.upload-drop>svg{color:#0052d9;width:38px;height:38px;margin-bottom:6px;stroke-width:1.3}.upload-drop strong{font-size:16px;font-weight:500;color:#333}.upload-drop span{font-size:13px;color:#666}.upload-drop small{font-size:12px;color:#999}.upload-drop input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.upload-drop:hover,.upload-drop.dragging,.upload-drop:focus-within{border-color:#0052d9;background:#f4f7ff;outline:2px solid #d9e7ff}.upload-helper{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:12px 0 20px}.upload-helper>.btn{border:0;padding:4px 0;color:#0052d9;background:none}.upload-helper>span{margin-left:auto;color:#888;font-size:12px}.file-text-preview summary{color:#0052d9;cursor:pointer;font-size:13px;padding:8px 0}.file-text-preview pre,.file-raw{font:13px/1.8 "PingFang SC","Microsoft YaHei",sans-serif;white-space:pre-wrap;overflow-wrap:anywhere;max-height:340px;overflow:auto;background:#fafafa;padding:16px;border:1px solid #e7e7e7;border-radius:3px;text-align:left}.file-text-preview{min-width:230px}.batch-meta{display:flex;gap:12px;align-items:center;justify-content:space-between;color:#888;font-size:12px;margin-bottom:16px}.admin-mode .file-flow{padding:14px 20px;background:#fff;border-radius:4px}.admin-mode .modal .file-flow{padding:0;background:none}.admin-mode .file-flow>span:not(:first-child){color:#777}.admin-mode .file-flow>span:not(:first-child):before{content:'';width:5px;height:5px;border-radius:50%;background:#dcdcdc}.admin-mode #file-preview{margin-bottom:20px}.admin-mode #file-preview .data-table td{vertical-align:top}.admin-mode #file-preview .data-table td:first-child{min-width:170px}
@media(max-width:1100px){.report-panels{grid-template-columns:1fr}.chat-toolbar{margin-left:0}.chat-head>.btn{margin-left:auto}.quota-strip{flex-wrap:wrap}.quota-strip small{text-align:left}}
@media(max-width:767px){.quota-strip{padding:10px 14px}.quota-strip small{font-size:10px}.chat-head>.btn{min-height:40px}.chat-toolbar{order:3;width:100%;justify-content:space-between}.chat-toolbar .btn{font-size:12px;min-height:40px}.chat-head>div:nth-child(2){min-width:145px}.chat-aside .session-panel{display:none}.setting-line{display:block}.setting-line p{margin:8px 0}.setting-line .field{max-width:none}.consult-chart{height:200px;gap:10px}.report-panels{gap:16px}.file-flow{flex-wrap:wrap;gap:8px;font-size:12px}.upload-drop{padding:26px 14px}.upload-drop strong{font-size:15px}.upload-helper{gap:8px 16px}.upload-helper>span{margin:0;flex-basis:100%}.batch-meta{align-items:flex-start;flex-wrap:wrap}.session-modal .session-item strong{max-width:240px}.chat-layout{min-height:calc(100dvh - 100px)}.chat-main{min-width:0}}
/* Keep the added session list from stretching the conversation beyond the viewport. */
.chat-layout{grid-template-rows:minmax(0,1fr)}
.chat-aside{min-height:0;overflow-y:auto;scrollbar-width:thin}
.chat-messages{min-height:0}
.chat-head,.quota-strip,.chat-composer{flex-shrink:0}
.admin-mode .filter-toolbar .form-error:empty{display:none}
.admin-mode .filter-toolbar .form-error:not(:empty){flex-basis:100%;order:3}

/* Conversation navigation stays beside the thread, with its own scroll area. */
.consult-layout{grid-template-columns:260px minmax(0,1fr);gap:20px}
.chat-sessions{display:flex;flex-direction:column;min-height:0;min-width:0;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.session-sidebar-head{padding:22px 18px 16px;flex-shrink:0}
.session-sidebar-head>div{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:18px}
.session-sidebar-head h2{font-size:17px;margin:0}
.session-sidebar-head>div>span{font-size:12px;color:var(--muted);white-space:nowrap}
.session-sidebar-head>.btn{width:100%;min-height:44px;font-size:14px}
.chat-sessions .session-list{flex:1;min-height:0;max-height:none;overflow-y:auto;overflow-x:hidden;align-content:start;padding:0 10px 16px;scrollbar-width:thin}
.chat-sessions .session-item,.session-modal .session-item{padding:14px 12px;gap:10px;min-width:0;max-width:100%;border-radius:8px;min-height:70px}
.session-item>svg{flex-shrink:0}
.chat-sessions .session-item>span,.session-modal .session-item>span{flex:1;min-width:0}
.chat-sessions .session-item strong,.session-modal .session-item strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;max-width:none;white-space:normal;overflow-wrap:anywhere;font-size:14px;line-height:1.65}
.chat-sessions .session-item small,.session-modal .session-item small{font-size:12px;line-height:1.6;margin-top:6px}
.chat-sessions .session-item.active strong,.session-modal .session-item.active strong{font-weight:600}
.session-sidebar-foot{padding:18px;border-top:1px solid var(--line);background:var(--green-pale,#f8faf6);flex-shrink:0}
.session-sidebar-foot small{display:block;color:var(--muted);font-size:12px;margin-bottom:5px}
.session-sidebar-foot strong{display:block;font-size:14px;font-weight:500;overflow-wrap:anywhere}
.session-sidebar-foot p,.session-quota-note{font-size:12px;color:var(--muted);line-height:1.8;margin:10px 0 0}
.consult-layout .chat-head{flex-wrap:wrap;padding:18px 22px;gap:12px}
.consult-layout .chat-head>.mascot-avatar{margin-left:0;flex-shrink:0}
.consult-layout .chat-head>div:nth-child(2){flex:1;min-width:160px}
.consult-layout .chat-head strong{font-size:15px}
.consult-layout .chat-head small{font-size:12px;margin-top:3px}
.consult-reference-action{margin-left:auto}
.consult-reference-action .btn{min-height:44px;font-size:13px;padding:8px 12px;white-space:nowrap}
.consult-mobile-actions{display:none}
.consult-layout .chat-welcome{display:grid;grid-template-columns:48px minmax(0,1fr);column-gap:14px;row-gap:4px;max-width:620px;padding:10px 0;margin:auto}
.consult-layout .chat-welcome .assistant-emblem{grid-row:1 / 3;width:48px!important;height:58px!important;margin:0}
.consult-layout .chat-welcome h1{font-size:22px;line-height:1.5;margin:0}
.consult-layout .chat-welcome p{grid-column:2;font-size:13px;line-height:1.7;margin:0}
.consult-layout .suggestions{grid-column:1 / -1;margin-top:14px}
.consult-layout .suggestion{display:flex;align-items:center;gap:10px;min-height:56px;padding:10px 12px;line-height:1.6;font-size:13px}
.consult-layout .suggestion svg{flex-shrink:0;margin:0}
.session-modal-actions{margin:0 0 16px}
.session-modal-actions>.btn{min-height:44px;width:100%}
.chat-reference .panel{margin-bottom:16px}
.chat-reference .panel:last-child{margin-bottom:0}
.large-type .chat-sessions .session-item strong,.large-type .session-modal .session-item strong{font-size:17px}
.large-type .session-item small{font-size:13px}
@media(max-width:1200px) and (min-width:1024px){.consult-layout{grid-template-columns:230px minmax(0,1fr);gap:16px}.consult-layout .chat-head{padding:16px}.session-sidebar-head{padding:20px 14px 14px}}
@media(max-width:1023px){
  .consult-layout{grid-template-columns:minmax(0,1fr)}
  .chat-sessions{display:none}
  .consult-mobile-actions{display:flex;flex-basis:100%;gap:10px;padding-top:4px}
  .consult-mobile-actions .btn{flex:1;margin:0;min-height:44px;font-size:14px}
}
@media(max-width:767px){
  .consult-layout{min-height:600px;height:calc(100dvh - 104px)}
  .consult-layout .chat-head{padding:14px;gap:8px}
  .consult-layout .chat-head>div:nth-child(2){min-width:0}
  .consult-layout .chat-head strong{font-size:13px}
  .consult-layout .chat-head small{font-size:11px}
  .consult-reference-action .btn{font-size:12px;padding:8px}
  .consult-reference-action svg{display:none}
  .consult-layout .quota-strip{gap:4px;padding:10px 14px}
  .consult-layout .quota-strip small{font-size:11px}
  .consult-layout .composer-tools .left{flex-wrap:wrap;min-width:0}
}
