/* 最后修改：2026-10-16 10:36:08（北京时间）— 客户跟进详情展开 BOBO 时与客户公海详情同宽。 */
/* 最后修改：2026-10-16 10:14:47（北京时间）— 隔离宿主输入焦点、沿用宿主背景，展开聊天时避让详情翻页与底栏。 */
/* 最后修改：2026-10-16 09:49:23（北京时间）— 输入框去描边改柔和阴影，深色保留细边框。 */
/* 最后修改：2026-10-16 09:44:44（北京时间）— 同意弹窗圆角 28px，未开通布丁复用动作与减少动态保护。 */
/* 最后修改：2026-10-16 09:40:42（北京时间）— BOBO 整页浅色沿用主背景，同意说明按钮改胶囊形。 */
/* 最后修改：2026-10-16 09:25:06（北京时间）— 侧栏 BOBO 导航与其他项同宽，“测试中”右对齐。 */
/* 最后修改：2026-10-16 08:32:39（北京时间）— 读条款全文时底部同意按钮栏。 */
/* 最后修改：2026-10-15 16:35:36（北京时间）— 条款全文在说明弹窗内滚动，手机底部全宽。 */
/* 最后修改：2026-10-15 16:28:26（北京时间）— BOBO 试用 B 段。 */
/* 最后修改：2026-10-15 15:01:17（北京时间）— B dots 默认定稿，移除旧版式，仅保留提醒方式预览。 */
/* 最后修改：2026-10-15 14:24:33（北京时间）— 预览提醒共用按钮、菜单与四版式，兼顾窄屏和深色。 */
/* 最后修改：2026-10-15 11:57:01（北京时间）— 输入框为空时提示文字在整个输入框中水平居中（用户：“输入框里面的文字居中”）。 */
/* 最后修改：2026-10-15 11:48:15（北京时间）— 问候占位同字号灰色，隐藏欢迎标题并收拢间距。 */
/* 最后修改：2026-10-15 11:40:42（北京时间）— 清理欢迎建议和占位样式，收拢 A 款欢迎态间距。 */
/* 最后修改：2026-10-15 11:21:36（北京时间）— 三款聚焦与字重、A/B 气泡外反馈、C 顶部标识。 */
/* 最后修改：2026-10-15 11:12:36（北京时间）— BOBO 聊天四款本地预览与交互回归。 */
/* 最后修改：2026-10-14 15:25:05（北京时间）— BOBO 定稿四卡版式与回归验证。 */
/* 最后修改：2026-10-14 15:15:05（北京时间）— Claude 审查：C 款当前方案按钮改浅色禁用样式；套餐面板打开时隐藏手机菜单按钮。 */
/* 最后修改：2026-10-14 15:10:49（北京时间）— 三款开通页按规格纯白排版与支付演示。 */
/* 最后修改：2026-10-13 17:31:53（北京时间）— BOBO 开通页三款本地对比与微信支付模拟。 */
/* 最后修改：2026-10-13 17:15:06（北京时间）— 客服提示按钮靠右、所选档位加粗。 */
/* 最后修改：2026-10-13 17:07:20（北京时间）— BOBO 会员与次数包界面、授权展示与回归验证。 */
/* 最后修改：2026-10-13 15:59:58（北京时间）— BOBO 适配跟进工作台预填、记录区入口与订单紧凑布局。 */
/* 最后修改：2026-10-13 12:51:35（北京时间）— BOBO 回答按意思分段，保留改写、历史与复制换行。 */
/* 最后修改：2026-10-13 11:39:26（北京时间）— 聊天顶部小布丁、缩小欢迎布丁与胶囊输入框。 */
/* 最后修改：2026-10-13 10:37:54（北京时间）— BOBO 称呼统一、常驻准确性提醒与复制称呼提示。 */
/* 最后修改：2026-10-13 10:14:17（北京时间）— Claude 浏览器实测后：点踩原因按钮加浅色圆角边框，便于识别可点。 */
/* 最后修改：2026-10-13 10:10:33（北京时间）— BOBO 点踩原因与新版告知文案（Codex 实施）。 */
/* 最后修改：2026-10-13 08:59:56（北京时间）— BOBO 字号匹配、详情跨客户草稿与无草稿声明纠正。 */
/* 最后修改：2026-10-12 15:58:25（北京时间）— 回答图标操作靠右，手机触控区与成功读屏状态。 */
/* 最后修改：2026-10-12 15:43:19（北京时间）— BOBO 草稿卡片：说明最多两行完整显示金额。 */
/* 最后修改：2026-10-12 15:19:14（北京时间）— 通用对话按用户公司名定位本人客户并预填，保留原表单保存。 */
/* 最后修改：2026-10-12 15:04:13（北京时间）— BOBO 订单草稿选填项折叠，切换行与订单行两栏对齐。 */
/* 最后修改：2026-10-07 17:35:18（北京时间）— BOBO 联网证据、来源展示与回归验证。 */
html.ba-drag-select-lock,html.ba-drag-select-lock *{-webkit-user-select:none!important;user-select:none!important;}
.ba-entry,.ba-chat,.ba-nav{font-family:var(--font);box-sizing:border-box;color:var(--text,#1f1f1f);}
.ba-entry{display:inline-flex;align-items:center;justify-content:center;flex:none;gap:6px;height:34px;padding:0 10px 0 6px;border:1px solid var(--ws-line,var(--index-layout-line,#dfe0dd));border-radius:8px;background:transparent;font-size:13px;white-space:nowrap;cursor:pointer;}
.ba-pudding{display:block;width:100%;height:100%;}
.ba-entry .ba-pudding{width:27px;height:30px;}
.ba-entry-mobile{display:none;}
/* 保留关闭按钮的直接子级关系，原按钮样式、事件与顺序不变；右侧两列组成操作区。 */
#detailModal.cd-v2 .detail-header-top.ba-entry-header,#foDetailPanel .fo-dp-header-bar.ba-entry-header{display:grid;grid-template-columns:minmax(0,1fr) auto auto;column-gap:8px;row-gap:12px;}
/* B 方案关闭位于 utility；优先级高于后加载的 B 方案手机 flex/gap，且只作用于 BOBO 入口。 */
html body :is(#sampleDetailModal,#orderDetailModal) .dd-utility.ba-entry-header{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto;gap:12px 8px!important;}
.ba-entry-header>.ba-entry{grid-column:2;}
.ba-entry-header>.ba-entry+button{grid-column:3;}
/* 工作台通过 display:contents 把“移出跟进”放到头部网格；BOBO 单占关闭左侧一列，避免抢占原第 2 列。 */
html body.followup-side-preview.ff-native-workbench #foDetailPanel.cd-fo .fo-dp-header-bar.ba-entry-header{grid-template-columns:minmax(0,1fr) auto auto auto;}
html body.followup-side-preview.ff-native-workbench #foDetailPanel.cd-fo .ba-entry-header .fo-dp-remove-btn{grid-area:1/2;}
html body.followup-side-preview.ff-native-workbench #foDetailPanel.cd-fo .ba-entry-header>.ba-entry{grid-area:1/3;}
html body.followup-side-preview.ff-native-workbench #foDetailPanel.cd-fo .ba-entry-header>.fo-dp-close{grid-area:1/4;}
#foDetailPanel .fo-tl-input-wrap.ba-has-composer-entry{flex-wrap:wrap;}
#foDetailPanel .ba-has-composer-entry>.fo-tl-input{min-width:0;}
.ba-followup-help{flex:0 0 100%;}
#foDetailPanel #ff-record .ff-record-title.ba-has-composer-entry{display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px;}
#foDetailPanel #ff-record .ba-followup-help{flex:0 0 auto;margin-left:auto;}
.ba-composer-entry{border-color:transparent;padding-left:0;color:var(--text2,#6b7280);}
.ba-entry.ba-composer-entry .ba-pudding{width:22px;height:24px;}
.ba-nav{width:calc(100% - 16px);border:0;background:transparent;text-align:left;cursor:pointer;}
.ba-nav .ba-pudding{width:24px;height:24px;}
/* 工作台侧栏里与其他导航项同宽，“测试中”与“新人必看”右侧对齐。 */
body.index-workspace-layout #mobile-sidebar .ba-nav{width:100%;}
.ba-chat{display:flex;flex-direction:column;min-width:0;min-height:0;font-size:14px;line-height:1.6;}
.ba-chat[hidden],.ba-chat [hidden]{display:none!important;}
.ba-header{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex:none;min-width:0;}
.ba-heading{min-width:0;flex:1;}
.ba-title{display:block;font-size:15px;font-weight:600;overflow-wrap:anywhere;}
.ba-button,.ba-chat summary{font:inherit;font-size:13px;cursor:pointer;}
.ba-button{min-height:36px;padding:6px 10px;border:1px solid var(--ba-line);border-radius:8px;background:transparent;color:inherit;}
.ba-header>.ba-button{flex:none;}
.ba-entry:hover,.ba-button:not(:disabled):hover{background:var(--index-layout-hover-bg,rgba(0,0,0,.13));border-color:#cbd5e1;}
.ba-entry:focus-visible,#bobo-advisor-chat button:focus-visible,#bobo-advisor-chat summary:focus-visible,.ba-nav:focus-visible{outline:2px solid currentColor;outline-offset:2px;}
.ba-chat button:disabled{opacity:.5;cursor:default;}
.ba-pet{position:relative;align-self:center;flex:none;}
.ba-pet-label{position:absolute;top:calc(100% + 4px);left:50%;transform:translateX(-50%);padding:0 10px;border:1px solid var(--ba-line);border-radius:999px;background:var(--index-layout-bg,#f3f2ef);white-space:nowrap;line-height:24px;font-size:12px;font-weight:600;color:var(--muted,#6b7280);}
.ba-thinking-status{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
.ba-pet.ba-thinking .ba-body{animation:ba-think 1.8s ease-in-out infinite;}
@keyframes ba-think{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
.ba-status{margin:0;flex:none;font-size:13px;}
.ba-status:empty{display:none;}
.ba-chat>.ba-status-quiet{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
.ba-footer{margin:0;flex:none;text-align:center;font-size:12px;font-weight:400;line-height:1.6;color:var(--text2,#6b7280);overflow-wrap:anywhere;min-width:0;max-width:100%;}
.ba-scroll{flex:1 1 0;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;}
.ba-messages{display:flex;flex-direction:column;align-items:flex-start;gap:16px;}
.ba-message{position:relative;max-width:100%;overflow-wrap:anywhere;}
.ba-message p{margin:0;white-space:pre-wrap;}
.ba-user{align-self:flex-end;}
.ba-assistant{width:auto;max-width:80%;padding:0;border-radius:0;background:transparent;color:var(--ba-text);box-shadow:none;}
.ba-sources{display:flex;flex-wrap:wrap;gap:2px 8px;margin-top:6px;max-width:100%;font-size:12px;line-height:1.6;color:var(--muted,#6b7280);}
.ba-sources a{min-width:0;max-width:100%;color:inherit;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:2px;}
.ba-sources a:hover,.ba-sources a:focus-visible{color:var(--text,#292929);}
.ba-draft{display:grid;align-items:center;gap:10px;margin-top:10px;max-width:100%;box-sizing:border-box;border:1px solid var(--ba-line,var(--ws-line,#dfe0dd));}
.ba-draft .ba-draft-icon{width:24px;height:24px;color:var(--text2,#6b7280);}
.ba-draft .ba-draft-icon svg{display:block;width:100%;height:100%;}
.ba-draft .ba-draft-copy{min-width:0;}
.ba-draft .ba-draft-note{margin-top:4px;max-width:100%;font-size:11px;line-height:1.5;color:var(--muted,#6b7280);text-overflow:ellipsis;}
.ba-draft .ba-draft-title{font-size:14px;font-weight:600;line-height:1.5;overflow-wrap:anywhere;}
/* 说明里有金额，窄面板下最多两行完整显示，避免金额被省略号截掉。 */
.ba-draft .ba-draft-hint{margin-top:3px;font-size:12px;line-height:1.5;color:var(--muted,#6b7280);overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;}
.ba-draft .ba-draft-list{grid-column:2/-1;display:flex;flex-wrap:wrap;gap:8px;min-width:0;}
.ba-draft .ba-draft-open{justify-self:end;margin-left:auto;min-height:36px;padding:6px 12px;border:1px solid #292929;border-radius:8px;background:#292929;color:#fff;font-size:13px;font-weight:500;}
.ba-draft .ba-draft-open:not(:disabled):hover{background:#414141;}
.ba-draft .ba-draft-open:focus-visible{outline:2px solid var(--text,#292929);outline-offset:2px;}
.ba-draft .ba-draft-open:active{transform:translateY(1px);}
.ba-draft .ba-draft-open:disabled{cursor:wait;opacity:.6;}
.ba-draft .ba-draft-choice{margin-left:0;max-width:100%;border-color:var(--ba-line,var(--ws-line,#dfe0dd));background:transparent;color:inherit;white-space:normal;overflow-wrap:anywhere;text-align:left;}
.ba-draft .ba-draft-choice:not(:disabled):hover{background:var(--index-layout-hover-bg,rgba(0,0,0,.06));}
.ba-options{display:flex;justify-content:flex-end;align-items:center;gap:4px;margin-top:4px;}
.ba-feedback-button{display:inline-flex;align-items:center;justify-content:center;flex:none;box-sizing:border-box;width:28px;height:28px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--muted,#6b7280);cursor:pointer;}
.ba-feedback-button svg{display:block;width:18px;height:18px;}
.ba-feedback-button:not(:disabled):hover,.ba-feedback-button:not(:disabled):active{background:var(--index-layout-hover-bg,rgba(0,0,0,.06));}
.ba-feedback-button:focus-visible{outline:2px solid var(--text,#292929);outline-offset:2px;}
.ba-feedback-button[aria-pressed=true]{color:var(--text,#292929);}
.ba-feedback-button[aria-pressed=true] svg{fill:currentColor;}
.ba-feedback-button:disabled{cursor:wait;opacity:.5;}
.ba-feedback-reasons{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:2px 4px;min-width:0;max-width:100%;margin-top:2px;color:var(--muted,#6b7280);font-size:12px;text-align:right;}
.ba-feedback-reasons[hidden]{display:none;}
.ba-reason-prompt{max-width:100%;overflow-wrap:anywhere;}
.ba-reason-button{box-sizing:border-box;min-width:0;max-width:100%;min-height:28px;padding:4px 6px;border:0;border-radius:6px;background:transparent;color:inherit;font:inherit;overflow-wrap:anywhere;cursor:pointer;}
.ba-reason-button:not(:disabled):hover,.ba-reason-button:not(:disabled):active{background:var(--index-layout-hover-bg,rgba(0,0,0,.06));}
.ba-reason-button:focus-visible{outline:2px solid var(--text,#292929);outline-offset:2px;}
.ba-reason-button[aria-pressed=true]:not(.ba-reason-summary){color:var(--text,#292929);}
/* 原因按钮用浅色圆角边框，和普通文字区分开，让人知道可以点；已选加深边框。“已反馈”收起行保持纯文字。 */
.ba-reason-button:not(.ba-reason-summary){border:1px solid var(--ba-line);border-radius:999px;padding:3px 10px;}
.ba-reason-button[aria-pressed=true]:not(.ba-reason-summary){border-color:currentColor;}
.ba-reason-button:disabled{cursor:wait;opacity:.5;}
.ba-composer{box-sizing:border-box;display:flex;flex:none;margin:4px 0 0;min-width:0;}
.ba-chat .ba-input{box-sizing:border-box;display:block;min-width:0;flex:1;resize:none;border:0;border-radius:0;outline:none;box-shadow:none;background:transparent;overflow-y:auto;}
.ba-chat .ba-input::placeholder{color:var(--muted,#6b7280);font:inherit;opacity:1;white-space:nowrap;text-overflow:clip;}
/* index.css 主题表单含 !important；后加载的 index-followup-workbench.css .ff-clean :focus-visible 会重加直角框。
   只隔离 BOBO 输入框的常态及焦点，键盘提示继续由外层 composer:focus-within 提供。 */
#bobo-advisor-chat .ba-composer textarea.ba-input,
#bobo-advisor-chat .ba-composer textarea.ba-input:is(:focus,:focus-visible){outline:none!important;border:0!important;box-shadow:none!important;background:transparent!important;}
.ba-send{display:flex;align-items:center;justify-content:center;flex:none;padding:0;border:0;border-radius:50%;cursor:pointer;}
.ba-send svg{display:block;width:22px;height:22px;flex:none;}
.ba-send-stop,.ba-send.ba-stopping .ba-send-arrow{display:none;}
.ba-send.ba-stopping .ba-send-stop{display:block;}
/* 保留原资料/输入 DOM 与布局，只在聊天开启时为右侧留出真实空间。 */
#detailModal.cd-v2 .detail-modal-panel.ba-inline-open,#foDetailPanel.cd-fo.ba-inline-open{box-sizing:border-box;width:min(1420px,96vw)!important;max-width:96vw!important;height:min(780px,90dvh)!important;max-height:90dvh!important;padding-right:380px!important;overflow:hidden;}
#sampleDetailModal .dd-panel.ba-inline-open,#orderDetailModal .dd-panel.ba-inline-open{box-sizing:border-box;width:min(1420px,96vw)!important;max-width:96vw!important;height:min(780px,90dvh)!important;max-height:90dvh!important;padding-right:380px!important;overflow:hidden;}
/* 跟进工作台 index-followup-workbench.css:842 以 (1,4,2)/(1,5,2)+!important 且后加载，把打开的详情固定为 min(800/880px,…)；须更高特异性；
   展开 BOBO 时与客户公海详情同宽（用户 2026-10-16：“应该和客户公海客户详情BOBO出来的宽度一样”），不依赖 ff-integrated 或断点。 */
html body.followup-side-preview.ff-native-workbench #foDetailPanel.cd-fo.open.ba-inline-open,
html body.followup-side-preview.ff-native-workbench #foDetailPanel.cd-fo.ff-integrated.open.ba-inline-open{width:min(1420px,96vw)!important;max-width:96vw!important;}
/* 工作台大屏把详情居中在右侧主区域（index-followup-workbench.css:979，left:calc(50% + 侧栏/2)）；加宽到公海同宽后会超出右边，展开 BOBO 时改为与公海详情一样按整屏居中。 */
html body.index-workspace-layout.followup-side-preview.ff-native-workbench #foDetailPanel.cd-fo.open.ba-inline-open{left:50%!important;}
.ba-inline-open>.ba-chat{--ba-bg:var(--cd-bg,var(--dd-bg,var(--index-layout-bg)));position:absolute;inset:0 0 0 auto;width:380px;border-left:1px solid var(--ba-line);border-radius:0 12px 12px 0;background:inherit;}
/* 工作台 ff-clean 自带浅色局部变量；仅在深色展开 BOBO 时恢复站点变量，避免聊天继承浅底却显示浅字。 */
html.theme-dark body.followup-side-preview.ff-native-workbench #foDetailPanel.cd-fo.ff-clean.ba-inline-open{--index-layout-bg:inherit;--text:inherit;--text2:inherit;--ws-line:inherit;}
#detailModal.cd-v2.overlay .detail-modal-panel.ba-inline-open #detail-next{right:396px;}
/* 工作台的新侧箭头和寄样/订单的旧导航都不能覆盖右侧聊天；关闭 BOBO 后自动恢复宿主布局。 */
@media(min-width:1100px){
 html body.followup-side-preview.ff-native-workbench #foDetailPanel.cd-fo.ff-integrated.ba-inline-open{width:min(1420px,96vw)!important;}
 html body.followup-side-preview.ff-native-workbench #foDetailPanel.cd-fo.ff-integrated.ba-inline-open .ff-side-arrow.is-next{right:388px;}
 :is(#foDetailPanel.ba-inline-open,#orderDetailModal .ba-inline-open,#sampleDetailModal .ba-inline-open)>.workflow-detail-nav{right:380px;}
}
.ba-body{transform-origin:140px 220px;transform-box:view-box;}
.ba-eyes{transform-origin:center;transform-box:fill-box;}
.ba-smile{display:none;}
.ba-pet.ba-smiling .ba-eyes,.ba-unavailable-pet.ba-smiling .ba-eyes{visibility:hidden;}
.ba-pet.ba-smiling .ba-smile,.ba-unavailable-pet.ba-smiling .ba-smile{display:block;}
.ba-pet.ba-wiggling:not(.ba-thinking) .ba-body,.ba-unavailable-pet.ba-wiggling .ba-body{animation:ba-wiggle .62s ease-in-out;}
.ba-pet.ba-blinking .ba-eyes,.ba-unavailable-pet.ba-blinking .ba-eyes{animation:ba-blink .17s ease-in-out;}
@keyframes ba-wiggle{0%,100%{transform:translateX(0) rotate(0deg)}18%{transform:translateX(-2px) rotate(-2.8deg)}36%{transform:translateX(2px) rotate(2.8deg)}56%{transform:translateX(-1.4px) rotate(-1.8deg)}76%{transform:translateX(.8px) rotate(1deg)}}
@keyframes ba-blink{0%,100%{transform:scaleY(1)}42%,57%{transform:scaleY(.07)}}
@media(max-width:1099px){
 #detailModal.cd-v2 .detail-modal-panel.ba-inline-open,#foDetailPanel.cd-fo.ba-inline-open{padding-right:0!important;}
 .ba-inline-open>:not(.ba-chat){display:none!important;}
 /* 工作台对 body/foot 的 display 含高优先级 !important，窄屏只显示聊天时须同步隔离。 */
 html body.followup-side-preview.ff-native-workbench #foDetailPanel.cd-fo.ff-integrated.ba-inline-open>:not(.ba-chat),
 html body.followup-side-preview.ff-native-workbench #foDetailPanel.cd-fo.ff-integrated.ba-inline-open>#ff-foot{display:none!important;}
 .ba-inline-open>.ba-chat{width:100%;border:0;border-radius:inherit;}
 /* 样品/订单仍可修改：上下排布并保留原表单，聊天不覆盖保存按钮。 */
 #sampleDetailModal .dd-panel.ba-inline-open,#orderDetailModal .dd-panel.ba-inline-open{padding-right:0!important;height:auto!important;overflow-y:auto;}
 #sampleDetailModal .ba-inline-open>.dd-head,#orderDetailModal .ba-inline-open>.dd-head{display:block!important;flex:none;}
 #sampleDetailModal .ba-inline-open>.dd-body,#orderDetailModal .ba-inline-open>.dd-body{display:block!important;flex:none;overflow:visible;}
 #sampleDetailModal .ba-inline-open>.dd-footer,#orderDetailModal .ba-inline-open>.dd-footer{display:flex!important;flex:none;}
 #sampleDetailModal .ba-inline-open>.ba-chat,#orderDetailModal .ba-inline-open>.ba-chat{position:relative;inset:auto;flex:none;height:min(680px,85dvh);border-top:1px solid var(--ba-line);}
}
@media(max-width:760px),(pointer:coarse){.ba-feedback-button{width:48px;height:48px;}}
@media(max-width:760px),(pointer:coarse){.ba-reason-button{min-width:48px;min-height:48px;}.ba-feedback-reasons{font-size:13px;}}
@media(max-width:760px){
 html body.followup-side-preview.ff-native-workbench #foDetailPanel.cd-fo .fo-dp-header-bar.ba-entry-header{grid-template-columns:minmax(0,1fr) auto auto;}
 html body.followup-side-preview.ff-native-workbench #foDetailPanel.cd-fo .ba-entry-header .fo-dp-company{grid-area:1/1/2/-1;}
 html body.followup-side-preview.ff-native-workbench #foDetailPanel.cd-fo .ba-entry-header .fo-dp-remove-btn{grid-area:2/1;}
 html body.followup-side-preview.ff-native-workbench #foDetailPanel.cd-fo .ba-entry-header>.ba-entry{grid-area:2/2;}
 html body.followup-side-preview.ff-native-workbench #foDetailPanel.cd-fo .ba-entry-header>.fo-dp-close{grid-area:2/3;}
 .ba-draft{gap:8px;}
 .ba-draft .ba-draft-title{font-size:13px;}
 .ba-draft .ba-draft-hint{font-size:12px;}
 .ba-draft .ba-draft-open{min-height:44px;padding:8px 10px;}
 .ba-sources{font-size:13px;}
 .ba-entry{min-width:48px;height:48px;padding:6px 10px;gap:6px;}
 .ba-entry-desktop{display:none;}
 .ba-entry-mobile{display:inline;}
 .ba-entry-header>:first-child{grid-column:1/-1;}
 .ba-composer-entry{padding-left:0;}
 .ba-entry .ba-pudding{width:30px;height:34px;}
 .ba-button,.ba-chat summary{min-height:48px;}
 .ba-chat summary{line-height:48px;}
}
@media(max-height:560px){
 .ba-footer{margin-top:4px;}
 .ba-header .ba-button{min-height:32px;line-height:20px;}
}
@media(prefers-reduced-motion:reduce){
 .ba-pet .ba-body,.ba-pet .ba-eyes{animation:none!important;}
 .ba-pet{transition:none!important;}
 .ba-unavailable-pet .ba-body,.ba-unavailable-pet .ba-eyes{animation:none!important;}
}

/* 独立主内容页保留工作区位置，三处聊天统一使用 B dots。 */
#page-bobo{--ba-line:var(--ws-line,var(--index-layout-line,#dfe0dd));position:absolute;left:50%;top:var(--topbar,0);bottom:0;z-index:10;transform:translateX(-50%);width:min(100%,var(--index-layout-content-w,1500px));max-width:100%;max-height:100dvh;min-width:0;overflow:hidden;background:var(--index-layout-bg,#f3f2ef);color:var(--text,#1f1f1f);font:14px/1.6 var(--font);box-sizing:border-box;}
#page-bobo *,#page-bobo *::before,#page-bobo *::after{box-sizing:border-box;}
#page-bobo [hidden]{display:none!important;}
#page-bobo{flex-direction:column;}
.ba-page-actions{position:relative;display:flex;justify-content:flex-end;align-items:center;gap:8px;flex:none;margin:24px 28px 0;}
.ba-page-actions>.ba-button{white-space:nowrap;}
.ba-history{position:absolute;top:calc(100% + 8px);right:0;z-index:2;width:320px;max-width:100%;max-height:60vh;overflow-y:auto;overscroll-behavior:contain;padding:8px;border:1px solid var(--ba-line);border-radius:8px;background:var(--index-layout-bg,#f3f2ef);box-shadow:0 4px 12px rgba(0,0,0,.08);scrollbar-width:thin;}
.ba-history-group{font-size:12px;font-weight:500;color:var(--muted,#6b7280);margin:16px 10px 6px;}
.ba-conversation{display:flex;align-items:baseline;gap:6px;width:100%;min-height:40px;border:0;border-radius:8px;padding:10px;background:transparent;color:inherit;font:inherit;font-size:13px;text-align:left;cursor:pointer;}
.ba-conversation>span:last-child{min-width:0;overflow-wrap:anywhere;}
.ba-conversation:hover{background:var(--index-layout-hover-bg,rgba(0,0,0,.13));}
.ba-conversation.active{background:var(--index-layout-active-bg,rgba(0,0,0,.08));font-weight:600;}
.ba-conversation-mark{flex:none;font-size:10px;border:1px solid var(--ba-line);border-radius:4px;padding:0 3px;color:var(--muted,#6b7280);}
.ba-conversation.ba-access-unavailable{color:var(--muted,#6b7280);opacity:.6;cursor:default;}
#page-bobo button:focus-visible{outline:2px solid currentColor;outline-offset:-2px;}
.ba-list-status{font-size:13px;color:var(--muted,#6b7280);}
.ba-list-status:empty{display:none;}
.ba-page-main{display:flex;flex:1;width:100%;min-width:0;min-height:0;overflow:hidden;}
.ba-page-main>.ba-chat{width:100%;height:100%;}
.ba-page-chat>.ba-header{min-height:36px;align-items:center;}
/* 欢迎态用首尾自动外边距整体居中，过高时自然滚动；输入节点不移动、不重建。 */
.ba-page-chat.ba-welcoming{overscroll-behavior:contain;}
.ba-page-chat.ba-welcoming>.ba-scroll{display:none;}
.ba-welcome{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
@media(max-width:760px){
 #page-bobo{left:0;right:0;transform:none;width:100%;}
 .ba-page-actions{margin:12px 12px 4px;}
 .ba-history{width:100%;}
 .ba-page-actions>.ba-button,.ba-history .ba-button,.ba-conversation{min-height:48px;}
 .ba-conversation{font-size:16px;}
}
/* 保留工作区居中规则；桌面操作行中心对齐原顶栏，手机继续让出菜单所在顶栏。 */
body.index-workspace-layout #page-bobo{left:50%!important;right:auto!important;top:calc(var(--topbar)/2 - 42px)!important;bottom:0!important;width:min(100%,var(--index-layout-content-w))!important;max-width:var(--index-layout-content-w)!important;max-height:none;transform:translateX(-50%)!important;}
@media(max-width:760px){body.index-workspace-layout #page-bobo{left:0!important;right:0!important;top:var(--topbar)!important;width:100%!important;max-width:100%!important;transform:none!important;}}
/* index-management-mobile.css 在手机上把订单/样品详情头部的所有按钮放到第 1 行第 2 列，BOBO 入口会与关闭重叠；仅在挂了 BOBO 的头部里分开两列。 */
@media(max-width:760px){
 html body :is(#orderDetailModal,#sampleDetailModal) .dd-utility.ba-entry-header>.ba-entry{grid-area:1/2;}
 html body :is(#orderDetailModal,#sampleDetailModal) .dd-utility.ba-entry-header>.ba-entry+button{grid-area:1/3;}
}

/* 全局入口不复用详情 ba-entry，避免干扰原头部网格。 */
.ba-launcher{display:inline-flex;align-items:center;justify-content:center;flex:none;gap:6px;box-sizing:border-box;border:1px solid var(--ws-line,#dfe0dd);background:transparent;color:var(--text,#1f1f1f);font:500 14px var(--font);cursor:pointer;}
.ba-launcher[hidden],.ba-quick-host[hidden]{display:none!important;}
.ba-launcher:focus-visible{outline:2px solid currentColor;outline-offset:3px;}
.ba-launcher.ba-pointer-focus:focus-visible{outline:none;}
.ba-launcher:hover{border-color:currentColor;}
.ba-floating{--ba-line:var(--ws-line,#dfe0dd);position:fixed;left:0;top:0;z-index:180;width:64px;height:90px;padding:0;border:0;border-radius:16px;background:transparent;touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab;transition:opacity 160ms ease;}
.ba-floating.ba-no-room{visibility:hidden;pointer-events:none;}
.ba-floating-visual{position:relative;display:block;width:100%;height:100%;filter:drop-shadow(0 6px 16px rgba(0,0,0,.16));transition:transform 120ms ease-out,filter 120ms ease-out;}
.ba-floating .ba-pudding{width:64px;height:64px;}
.ba-floating .ba-pet-label{top:68px;line-height:20px;padding:0 8px;font-size:10px;font-weight:700;letter-spacing:.5px;}
@media(hover:hover){.ba-floating:hover .ba-floating-visual{filter:drop-shadow(0 8px 18px rgba(0,0,0,.22));}}
.ba-floating.ba-dragging{cursor:grabbing;will-change:transform;}
.ba-floating.ba-dragging .ba-floating-visual{filter:drop-shadow(0 8px 18px rgba(0,0,0,.24));transition:none;}
.ba-floating.ba-scrolling{opacity:.35;}
.ba-floating.ba-scrolling:hover,.ba-floating.ba-scrolling:focus,.ba-floating.ba-dragging{opacity:1;transition:none;}
.ba-floating-awake .ba-eyes{animation:ba-floating-blink 12s ease-in-out infinite;}
@keyframes ba-floating-blink{0%,97%,100%{transform:scaleY(1)}98%,99%{transform:scaleY(.07)}}
.ba-position-menu{position:relative;flex:none;}
.ba-position-menu>summary{list-style:none;min-width:36px;text-align:center;box-sizing:border-box;}
.ba-position-menu>summary::-webkit-details-marker{display:none;}
.ba-position-menu>.ba-reset-position{position:absolute;right:0;top:calc(100% + 6px);z-index:2;white-space:nowrap;background:var(--index-layout-bg,#f3f2ef);border:1px solid var(--ba-line);min-height:36px;padding:6px 12px;}
/* 低于详情 overlay(200)，高于工作区内容。 */
.ba-quick-host{position:fixed;right:0;bottom:0;z-index:182;width:min(420px,100vw);min-height:0;}
.ba-quick-chat{box-sizing:border-box;width:100%;height:100%;border:1px solid var(--ws-line,#dfe0dd);border-right:0;border-bottom:0;border-radius:12px 0 0 0;animation:ba-quick-in 180ms ease-out;box-shadow:-4px 0 16px rgba(0,0,0,.05);}
.ba-quick-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;flex:1;min-width:0;white-space:nowrap;}
.ba-close-mobile{display:none;}
.ba-quick-chat.ba-welcoming{overscroll-behavior:contain;}
.ba-quick-chat.ba-welcoming>.ba-scroll{display:none;}
.ba-reset-position{align-self:center;min-height:28px;padding:2px 8px;border-color:transparent;color:var(--muted,#6b7280);font-size:12px;}
@keyframes ba-quick-in{from{transform:translateX(100%)}to{transform:translateX(0)}}
@media(max-width:760px){
 body.ba-quick-modal #mobile-nav-toggle,body.ba-quick-modal #customer-workspace-tabs>[role=tablist]{visibility:hidden!important;}
 body:has(.ba-plans-overlay) #mobile-nav-toggle{visibility:hidden!important;}
 .ba-floating{width:56px;height:82px;}
 .ba-floating .ba-pudding{width:56px;height:56px;}
 .ba-floating .ba-pet-label{top:60px;}
 .ba-position-menu>summary,.ba-position-menu>.ba-reset-position{min-height:48px;}
 .ba-quick-host{left:0;right:0;bottom:auto;width:100%;height:100dvh;}
 .ba-quick-chat{border:0;border-radius:0;}
 .ba-quick-actions{gap:6px;}
 .ba-quick-actions>.ba-button:last-child{order:-1;margin-right:auto;}
 .ba-close-desktop{display:none;}.ba-close-mobile{display:inline;}
 .ba-quick-chat>.ba-header{flex:none;}
 .ba-quick-chat .ba-reset-position{min-height:36px;}
}
@media(prefers-reduced-motion:reduce){.ba-quick-chat,.ba-floating .ba-eyes{animation:none!important;}.ba-floating,.ba-floating-visual{transition:none!important;}}

#addOrderModal.ba-draft-compact:not(.ba-draft-expanded) .ba-draft-optional{display:none;}
#addOrderModal .ba-draft-toggle{min-width:0;}
/* 主线订单一页的日期为 order:4；选填切换行紧随日期，仍占整行。 */
#addOrderModal.ba-draft-compact .order-create-grid .ba-draft-toggle{order:4;grid-column:1/-1;}
#addOrderModal .ba-draft-toggle-copy{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;}
#addOrderModal .ba-draft-summary{min-width:0;overflow-wrap:anywhere;font-size:13px;line-height:1.5;color:var(--muted,#6b7280);}
#addOrderModal .ba-draft-toggle-button{flex:none;margin-left:auto;}
@media(max-width:760px){#addOrderModal .ba-draft-summary{font-size:13px;}#addOrderModal .ba-draft-toggle-button{min-height:48px;min-width:48px;}}

.ba-plans-link{font:inherit;color:inherit;background:transparent;border:0;padding:0 4px;margin-left:6px;text-decoration:underline;text-underline-offset:3px;cursor:pointer;}
.ba-exhausted-actions{display:flex;flex:none;justify-content:flex-end;gap:8px;width:100%;max-width:760px;margin:0 auto;}
/* 与全局 BOBO(182) 同层，保持低于业务 overlay(200)；详情入口挂在所属详情内。 */
.ba-plans-overlay{position:fixed;inset:0;z-index:184;display:flex;align-items:center;justify-content:center;padding:24px;box-sizing:border-box;background:rgba(0,0,0,.24);}
.ba-plans-dialog{--font:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei","Noto Sans SC",Arial,sans-serif;--ba-line:#e5e5e5;box-sizing:border-box;width:min(1200px,calc(100vw - 48px));max-width:100%;max-height:100%;overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--ba-line);border-radius:20px;padding:40px;background:#fff;color:#0d0d0d;color-scheme:light;font:14px/1.6 var(--font);}
.ba-plans-dialog *{box-sizing:border-box;}
.ba-plans-dialog [hidden]{display:none!important;}
.ba-plans-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;}
.ba-plans-dialog h2{font-size:32px;line-height:1.25;font-weight:500;margin:0;}
.ba-plans-dialog button,.ba-settings-plans button{min-height:44px;flex:none;}
.ba-plans-dialog button{background:#fff;color:#0d0d0d;border-color:#e5e5e5;box-shadow:none;}
.ba-plans-dialog button:not(:disabled):hover{background:#f5f5f5;border-color:#d5d5d5;}
.ba-plans-dialog button:focus-visible,.ba-settings-plans button:focus-visible,.ba-plans-link:focus-visible{outline:2px solid currentColor;outline-offset:2px;}
.ba-membership-summary{margin:12px 0 0;color:var(--text2,#6b7280);font-size:13px;overflow-wrap:anywhere;}
.ba-plans-dialog .ba-membership-summary{margin:12px 0 0;color:#5d5d5d;font-size:17px;overflow-wrap:anywhere;}
.ba-plans-catalog{margin-top:32px;}
.ba-plans-segment{display:flex;gap:3px;width:fit-content;max-width:100%;padding:4px;border:0;border-radius:16px;background:#f0f0f0;margin:0 auto 24px;}
.ba-plans-dialog .ba-plans-segment button{min-width:0;min-height:40px;border:0;border-radius:12px;background:transparent;color:inherit;padding:8px 16px;font-size:12px;line-height:24px;}
.ba-plans-dialog .ba-plans-segment button[aria-pressed="true"]{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.1);}
.ba-plans-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:0 0 24px;}
.ba-plan-card{display:flex;flex-direction:column;min-width:0;background:#fff;box-shadow:none;}
.ba-plan-top{display:flex;flex:1;flex-direction:column;gap:32px;border:1px solid rgba(0,0,0,0.05);border-bottom:0;border-radius:6px 6px 0 0;padding:16px 16px 24px;}
.ba-plan-bottom{display:flex;flex-direction:column;gap:24px;border:1px solid rgba(0,0,0,0.05);border-top:0;border-radius:0 0 6px 6px;padding:0 16px 24px;}
.ba-plan-name{display:flex;align-items:center;flex-wrap:wrap;gap:8px;}
.ba-plans-dialog .ba-plan-card h3{font-size:30px;font-weight:500;line-height:39.6px;letter-spacing:-0.3px;margin:0;}
.ba-plan-description{min-width:0;overflow-wrap:anywhere;min-height:56px;margin:8px 0 0;color:#5d5d5d;font-size:17px;font-weight:400;line-height:28px;letter-spacing:-0.17px;}
.ba-plan-pricing{display:flex;flex-direction:column;gap:16px;}
.ba-plan-price{display:flex;flex-wrap:wrap;align-items:flex-end;gap:6px;margin:0;line-height:1;}
.ba-plan-price strong{font-size:48px;font-weight:500;line-height:48px;letter-spacing:-1.44px;font-variant-numeric:tabular-nums;}
.ba-plan-price span{font-size:14px;line-height:20px;color:#5d5d5d;}
.ba-plans-dialog .ba-plans-pack-switch{width:100%;margin:0;gap:0;}
.ba-plans-dialog .ba-plans-pack-switch button{flex:1;padding:6px 2px;line-height:20px;}
.ba-plan-features{display:flex;flex-direction:column;gap:12px;padding:0;margin:0;list-style:none;font-size:14px;font-weight:400;line-height:23px;}
.ba-plan-features li{padding:0;margin:0;overflow-wrap:anywhere;}
.ba-plans-dialog .ba-plan-choose,.ba-plans-dialog .ba-pay-primary{min-height:44px;height:44px;min-width:0;width:100%;border:0;border-radius:999px;background:#0d0d0d;color:#fff;padding:0 20px;font-size:14px;font-weight:500;line-height:20px;letter-spacing:-0.14px;}
.ba-plans-dialog .ba-plan-choose:not(:disabled):hover,.ba-plans-dialog .ba-pay-primary:not(:disabled):hover{background:#262626;color:#fff;}
.ba-plans-dialog .ba-plan-choose:disabled{background:#fff;border:1px solid #e5e5e5;color:#5d5d5d;opacity:1;cursor:default;}
.ba-plans-note{margin:4px 0 0;font-size:12px;color:#5d5d5d;}
.ba-plans-contact{text-align:left;}
.ba-plans-contact .ba-plans-chosen{font-weight:600;}
.ba-plans-contact-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:16px;}
.ba-plans-copy-status{min-height:22px;font-size:13px;color:#5d5d5d;}
.ba-plans-wechat{user-select:text;overflow-wrap:anywhere;}
.ba-plans-paying{width:520px;}
.ba-plans-pay{text-align:center;}
.ba-pay-banner{font-size:12px;color:#5d5d5d;padding:10px;border:1px solid #e5e5e5;border-radius:8px;background:#fff;margin:0 0 12px;}
.ba-pay-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:16px;}
.ba-pay-product{font-size:17px;margin:24px 0 12px;}
.ba-pay-amount{font-size:40px;line-height:1.2;font-weight:600;font-variant-numeric:tabular-nums;margin:20px 0 28px;}
.ba-pay-method{text-align:left;padding:18px 0;border-block:1px solid #e5e5e5;}
.ba-pay-actions{display:flex;justify-content:flex-end;margin-top:28px;}
.ba-plans-pay>.ba-pay-primary{margin:24px auto;}
.ba-pay-qr{position:relative;display:grid;grid-template-columns:repeat(15,1fr);gap:1px;width:200px;height:200px;box-sizing:border-box;padding:12px;margin:0 auto;background:#fff;border:1px solid #dedede;}
.ba-pay-qr i{background:#fff;}.ba-pay-qr .ba-qr-dark{background:#222;}
.ba-qr-watermark{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);background:#fff;color:#222;padding:8px;font-size:14px;}
.ba-pay-countdown{font-variant-numeric:tabular-nums;margin:16px 0 4px;}
.ba-pay-expired{margin:0 0 10px;}
.ba-pay-order{overflow-wrap:anywhere;margin-top:24px;}
.ba-plans-dialog .ba-pay-simulate{font-size:12px;background:transparent;border:0;color:#5d5d5d;padding:8px 18px;margin:8px;text-decoration:underline;text-underline-offset:3px;}
.ba-settings-plans{--ba-line:var(--ws-line,var(--index-layout-line,#dfe0dd));}
.ba-settings-plans .acc-set{display:flex;align-items:center;justify-content:space-between;gap:16px;}
.ba-settings-plans .ba-membership-summary{margin:0;min-width:0;}
@media(max-width:760px){
 .ba-plans-overlay{padding:0;align-items:flex-end;}
 .ba-plans-dialog{width:100%;max-height:100dvh;border-radius:12px 12px 0 0;padding:20px 16px max(20px,env(safe-area-inset-bottom));}
 .ba-plans-link,.ba-exhausted-actions .ba-button{min-height:44px;}
 .ba-settings-plans .acc-set{flex-wrap:wrap;}
 .ba-settings-plans .ba-settings-plans-open{margin-left:auto;}
 .ba-plans-grid{grid-template-columns:minmax(0,1fr);}
 .ba-plan-description{min-height:0;}
 .ba-plans-dialog button,.ba-plans-dialog .ba-plans-segment button{min-height:44px;height:auto;}
 .ba-plans-dialog .ba-plan-choose,.ba-plans-dialog .ba-pay-primary,.ba-plans-contact-actions button{width:100%;}
}

/* B dots 定稿：三处聊天共用默认结构与样式；仅提醒对比控件由预览创建。 */
.ba-latest-dock{position:relative;flex:none;height:0;width:100%;max-width:var(--ba-width,720px);margin:0 auto;z-index:1;}
.ba-latest{position:absolute;right:0;bottom:0;background:var(--ba-card,#fff);color:var(--ba-text,#111);border-radius:999px;box-shadow:0 2px 8px rgba(0,0,0,.06);font-size:12px;}
/* 不再反写宿主 --index-layout-bg，整页与浮窗随站点主题；详情侧栏直接继承宿主实际背景。 */
.ba-chat,.ba-quick-host,:where(#page-bobo){--ba-bg:var(--index-layout-bg);--ba-text:#0d0d0d;--ba-muted:#5d5d5d;--ba-card:#fff;--ba-reply:#f4f4f4;--ba-user:#0d0d0d;--ba-user-text:#fff;--ba-line:rgba(0,0,0,.1);--ba-width:720px;--text:var(--ba-text);--text2:var(--ba-muted);--muted:var(--ba-muted);--index-layout-hover-bg:rgba(127,127,127,.12);color:var(--ba-text);background:var(--ba-bg);}
.ba-chat{padding:12px 16px max(16px,env(safe-area-inset-bottom));gap:8px;overflow:hidden;}
.ba-chat>.ba-scroll{width:100%;padding:12px max(0px,calc((100% - var(--ba-width))/2));overflow-anchor:none;}
.ba-chat>:is(.ba-composer,.ba-footer,.ba-status,.ba-header){width:100%;max-width:var(--ba-width);margin-left:auto;margin-right:auto;}
.ba-chat .ba-message{box-sizing:border-box;}
.ba-chat :is(.ba-user+.ba-user,.ba-assistant+.ba-assistant){margin-top:-10px;}
.ba-chat .ba-message p{font-size:16px;line-height:24px;font-weight:400;}
.ba-chat .ba-user{max-width:80%;padding:10px 16px;border-radius:20px;background:var(--ba-user);color:var(--ba-user-text);}
.ba-chat .ba-reply-bubble{box-sizing:border-box;padding:10px 16px;border-radius:20px;background:var(--ba-reply);}
.ba-reply-bubble>p+p{margin-top:0.5em;}
.ba-chat .ba-feedback-button{color:var(--ba-muted);}
.ba-chat .ba-feedback-button:is(:hover,[aria-pressed=true]):not(:disabled){color:var(--ba-text);}
.ba-chat .ba-pet{display:flex;flex-direction:column;align-items:center;gap:8px;width:max-content;height:auto;margin:8px auto 24px;}
/* B 页内对话原有头像间距高于共用规则，定稿时保留。 */
.ba-page-chat:not(.ba-welcoming) .ba-scroll>.ba-pet{margin:0 auto 16px;}
.ba-chat .ba-pet>.ba-pudding{box-sizing:border-box;width:40px;height:40px;flex:none;}
.ba-chat .ba-pet-label{position:static;display:flex;flex-direction:column;align-items:center;transform:none;border:0;border-radius:0;padding:0;background:transparent;line-height:22px;color:var(--ba-text);font-size:15px;font-weight:600;}
.ba-thinking-visual{display:block;font-size:13px;font-weight:400;color:var(--ba-muted);line-height:20px;}
.ba-chat .ba-composer{align-items:flex-end;min-height:52px;margin-top:4px;padding:7px 10px;gap:8px;border:1px solid transparent;border-radius:28px;background:var(--ba-card);box-shadow:0 1px 2px rgba(0,0,0,.04),0 6px 24px rgba(0,0,0,.06);transition:box-shadow .2s ease;}
.ba-chat .ba-composer:focus-within{outline:none;}
.ba-chat .ba-composer:focus-within{box-shadow:0 1px 2px rgba(0,0,0,.05),0 8px 30px rgba(0,0,0,.1);}
/* 浅色无描边，仅靠柔和阴影浮起（用户 2026-10-16：“不要带有颜色的边框”）；深色背景上阴影不可见，保留原细边框。 */
html.theme-dark .ba-chat .ba-composer{border-color:var(--ba-line);box-shadow:none;}
html.theme-dark .ba-chat .ba-composer:focus-within{border-color:rgba(255,255,255,.28);box-shadow:none;}
@media (prefers-reduced-motion:reduce){.ba-chat .ba-composer{transition:none;}}
.ba-chat .ba-input{height:24px;min-height:24px;max-height:144px;padding:0;margin:6px 0;font:400 17px/24px var(--font);color:var(--ba-text);}
.ba-chat .ba-send{position:relative;width:36px;height:36px;min-height:0;background:#0d0d0d;color:#fff;opacity:1;}
.ba-chat .ba-send:disabled{background:#e5e5e5;color:#737373;opacity:1;}
.ba-chat :is(.ba-draft,.ba-sources){background:var(--ba-card);color:var(--ba-text);border-radius:16px;padding:10px 12px;box-shadow:none;}
.ba-chat :is(.ba-options,.ba-feedback-reasons,.ba-footer,.ba-sources){color:var(--ba-muted);}
.ba-chat .ba-draft-note{white-space:normal;overflow:visible;}
.ba-chat .ba-draft-list{justify-content:flex-end;}
.ba-chat .ba-draft{grid-template-columns:24px minmax(0,1fr);}
.ba-chat .ba-draft-open{grid-column:2;white-space:normal;}
.ba-chat.ba-welcoming>.ba-pet{margin-top:auto;margin-bottom:12px;}
.ba-chat.ba-welcoming>.ba-footer{margin-bottom:auto;}
.ba-thinking-bubble{display:flex;align-items:center;gap:5px;width:max-content;max-width:80%;margin-top:16px;padding:14px 16px;border-radius:20px;background:var(--ba-reply);color:var(--ba-muted);}
.ba-thinking-bubble i{display:block;width:6px;height:6px;border-radius:50%;background:var(--ba-muted);}
.ba-dots-moving i{animation:ba-dot-hop 1.2s ease-in-out infinite;}
.ba-dots-moving i:nth-child(2){animation-delay:.15s;}.ba-dots-moving i:nth-child(3){animation-delay:.3s;}
.ba-message-enter{animation:ba-message-in 160ms ease-out both;}
@keyframes ba-message-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@keyframes ba-dot-hop{0%,60%,100%{transform:translateY(0)}30%{transform:translateY(-3px)}}
@media(max-width:760px),(pointer:coarse){
 .ba-chat :is(.ba-button,.ba-plans-link,.ba-draft-open,.ba-reason-button,summary){min-height:44px;}
 .ba-chat .ba-send::after{content:"";position:absolute;inset:50% auto auto 50%;width:44px;height:44px;transform:translate(-50%,-50%);}
 .ba-chat .ba-header{flex-wrap:wrap;}
}
@media(max-height:560px){
 .ba-chat.ba-welcoming{overflow-y:auto;}
 .ba-chat.ba-welcoming>.ba-pet{margin-top:4px;}
}
@media(prefers-reduced-motion:reduce){
 .ba-message-enter,.ba-thinking-bubble i{animation:none!important;}
}
/* 沿用 B dots 的站点深色映射。 */
html.theme-dark :is(.ba-chat,.ba-quick-host,:where(#page-bobo)){--ba-text:#f3f3f5!important;--ba-muted:#b2b6bf!important;--ba-card:#2a2b2e;--ba-reply:#2a2b2e!important;--ba-line:#484a50;--ba-user:#e5e5e5!important;--ba-user-text:#111112!important;color-scheme:dark;}
/* 2026-10-15 用户“输入框里面的文字居中”：只在输入框为空时居中提示文字；左内边距等于右侧发送键多占的宽度，使文字对准整个输入框中线；开始输入后恢复靠左，长句与多行仍易读。 */
.ba-chat .ba-composer .ba-input:placeholder-shown{text-align:center;padding-left:44px;}


/* 试用定稿：提醒和同意说明共用一个样式。 */
.ba-quota-notice{box-sizing:border-box;flex:none;width:100%;max-width:var(--ba-width,720px);margin:4px auto 0;padding:10px 12px;border:1px solid var(--ba-line);border-radius:8px;color:var(--ba-text);background:var(--ba-card);font-size:13px;line-height:1.6;}
.ba-quota-notice-title{font-weight:600;}
.ba-quota-notice-detail{font-size:12px;color:var(--ba-muted);}
.ba-chat>.ba-footer{font-size:12px;text-align:center;color:var(--ba-muted);}
.ba-chat .ba-input:disabled{opacity:1;color:var(--ba-muted);}
.ba-chat .ba-input:disabled:placeholder-shown{padding-left:0;font-size:12px;}
.ba-attachment-notice{flex:none;width:100%;max-width:var(--ba-width,720px);margin:0 auto;font-size:13px;color:var(--ba-muted);transition:opacity .2s;}
.ba-attachment-notice.ba-fading{opacity:0;}
.ba-access-unavailable{box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px;width:min(100%,600px);min-height:60vh;margin:auto;padding:24px;color:var(--text,#0d0d0d);text-align:center;}
.ba-unavailable-pet .ba-pudding{width:80px;height:80px;}
.ba-unavailable-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;width:100%;}
.ba-consent-overlay{position:fixed;inset:0;z-index:12000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.35);box-sizing:border-box;}
.ba-consent-dialog{--ba-line:rgba(0,0,0,.16);box-sizing:border-box;width:min(100%,600px);max-height:calc(100dvh - 40px);overflow:auto;padding:24px;border-radius:28px;background:var(--panel,#fff);color:var(--text,#0d0d0d);font-size:14px;line-height:1.7;}
.ba-consent-head{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.ba-consent-head h2{margin:0;font-size:18px;font-weight:600;}
.ba-consent-reading{display:flex;flex-direction:column;overflow:hidden;}
.ba-consent-reading .ba-consent-head{flex-shrink:0;}
.ba-consent-reading .ba-consent-head h2{flex:1;min-width:0;}
.ba-consent-reading .ba-consent-head button{flex-shrink:0;}
.ba-consent-terms{min-height:0;overflow-y:auto;overscroll-behavior:contain;overflow-wrap:anywhere;margin-top:20px;}
.ba-consent-terms h3{font-size:16px;font-weight:600;margin:20px 0 8px;}
.ba-consent-terms p{margin:8px 0;}
.ba-consent-terms:focus-visible{outline:2px solid currentColor;outline-offset:-2px;}
.ba-consent-copy{padding-left:20px;margin:20px 0;}
.ba-consent-copy li+li{margin-top:10px;}
.ba-consent-feedback{font-size:13px;}
.ba-consent-read-actions{flex-shrink:0;margin-top:16px;padding-top:16px;border-top:1px solid var(--ba-line);}
.ba-consent-read-actions .ba-consent-feedback{margin:0 auto 0 0;}
.ba-consent-feedback:empty{display:none;}
.ba-consent-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:12px;}
.ba-consent-actions a{margin-right:auto;color:inherit;text-underline-offset:3px;}
.ba-consent-dialog button{border-radius:999px;}
.ba-consent-agree{background:var(--text,#0d0d0d);color:var(--panel,#fff);}
.ba-consent-dialog :is(button,a):focus-visible{outline:2px solid currentColor;outline-offset:3px;}
html.theme-dark .ba-consent-dialog{background:#202126;color:#f3f3f5;}
html.theme-dark .ba-consent-agree{background:#e5e5e5;color:#111112;}
@media(max-width:760px){
 .ba-consent-overlay{padding:0;align-items:flex-end;}
 .ba-consent-dialog{width:100%;max-height:90dvh;padding:20px 16px max(20px,env(safe-area-inset-bottom));border-radius:28px 28px 0 0;}
 .ba-consent-dialog :is(button,a),.ba-unavailable-actions button{min-height:44px;}
 .ba-consent-actions a{display:flex;align-items:center;}
}
@media(prefers-reduced-motion:reduce){.ba-attachment-notice{transition:none;}}

.ba-consent-agree:not(:disabled):hover{background:#333;color:#fff;}
.ba-consent-dialog button:disabled{opacity:.5;cursor:default;}
html.theme-dark .ba-consent-agree:not(:disabled):hover{background:#ccc;color:#111112;}
