/* 已评审工作空间视觉层：最后加载，不改变页面状态和阅读器行为。 */
:root {
    --color-primary: #37352f;
    --color-primary-light: #57554e;
    --color-primary-lighter: #787774;
    --color-primary-bg: #f1f1ee;
    --color-primary-bg-hover: #eaeae6;
    --color-bg: #fff;
    --color-surface: #fff;
    --color-border: #e9e9e7;
    --color-border-light: #efefec;
    --color-text: #37352f;
    --color-text-secondary: #66645e;
    --color-text-muted: #787774;
    --color-text-placeholder: #999892;
    --color-user-bubble: #f6f5f3;
    --color-user-bubble-text: #37352f;
    --color-ai-bubble: #fff;
    --color-ai-bubble-text: #37352f;
    --color-ai-bubble-border: transparent;
    --radius-md: 6px;
    --radius-lg: 6px;
    --radius-xl: 8px;
    --font-size-base: 15px;
    --font-size-3xl: 30px;
    --line-height: 1.9;
    --sidebar-width: 180px;
    --workspace-sidebar: #f7f7f5;
    --workspace-hover: #eeeeeb;
}

/* 导航沿用既有按钮、历史记录和移动端抽屉。 */
.app-container { width: 100%; max-width: none; box-shadow: none; }
.sidebar { background: var(--workspace-sidebar); }
.sidebar-header { padding: 0 14px 16px; border-bottom: 0; }
.workspace-brand { display: flex; align-items: center; gap: 9px; padding: 24px 20px; flex-shrink: 0; }
.workspace-logo { display: grid; place-items: center; flex: 0 0 28px; width: 28px; height: 30px; border-radius: 5px; background: #37352f; color: #fff; font: 22px/1 Georgia, serif; }
.workspace-brand-copy { min-width: 0; font-size: 16px; line-height: 1.5; font-weight: 650; }
.workspace-brand-copy strong { font-weight: 650; }
.workspace-brand-copy > span { display: block; margin-top: 3px; font-size: 10px; font-weight: 400; color: var(--color-text-muted); }
.btn-new-chat { justify-content: flex-start; padding: 8px 10px; border: 1px solid #deded9; background: transparent; color: var(--color-text); font-size: 13px; }
.btn-new-chat:hover { background: var(--workspace-hover); }
.sidebar .platform-nav { display: flex; flex-direction: column; gap: 3px; min-height: 0; padding: 0 12px 20px; overflow: visible; border: 0; background: transparent; }
.sidebar .platform-nav-item { width: 100%; min-width: 0; min-height: 37px; gap: 10px; padding: 7px 10px; border-radius: 5px; color: #66645e; font-size: 13px; font-weight: 400; }
.sidebar .platform-nav-item[hidden] { display: none; }
.sidebar .platform-nav-item::after { content: none; }
.sidebar .platform-nav-item:hover { background: var(--workspace-hover); color: var(--color-text); }
.sidebar .platform-nav-item.active { background: #ebebe8; color: var(--color-text); font-weight: 600; }
.sidebar .platform-nav-icon { display: inline-flex; width: 20px; height: 20px; border: 0; background: transparent; color: #787774; }
.sidebar .platform-nav-item.active .platform-nav-icon { background: transparent; color: var(--color-text); }
.platform-nav-icon svg, .workspace-icon { width: 18px; height: 18px; flex-shrink: 0; }
.platform-count { margin-left: auto; background: #e3e2dd; color: var(--color-text); }
.sidebar-history-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 0 14px 7px 22px; flex-shrink: 0; }
.sidebar-history-label { margin: 0; font-size: 11px; font-weight: 400; color: var(--color-text-muted); }
.btn-clear-conversations { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; flex: 0 0 28px; padding: 0; border-radius: 6px; color: var(--color-text-muted); }
.btn-clear-conversations .ui-icon { width: 16px; height: 16px; }
.btn-clear-conversations:hover { background: var(--workspace-hover); color: var(--color-text); }
.btn-clear-conversations:disabled { opacity: .4; cursor: default; }
.conversation-list { min-height: 0; padding: 0 12px 12px; }
.conversation-list:empty::after { padding: 10px; text-align: left; font-size: 11px; }
.conversation-item { padding: 8px 10px; }
.conversation-item.active { border-left: 0; padding-left: 10px; }
.conversation-item .conv-title { font-size: 12px; font-weight: 400; }
.conversation-item .conv-preview, .conversation-item .conv-time { font-size: 10px; }
.sidebar-footer { margin-top: auto; padding: 15px 20px; }
.sidebar-footer .btn-account { display: block; max-width: 100%; white-space: normal; font-size: 11px; line-height: 1.6; }
.workspace-company { color: var(--color-text-muted); font-size: 11px; line-height: 1.8; }
.workspace-company strong { display: block; color: var(--color-text-secondary); font-size: 12px; font-weight: 500; }
.workspace-company span { display: block; }
.top-bar { padding: 0 28px; }
.top-bar .brand { flex: 1; min-width: 0; align-items: center; gap: 10px; margin-right: 12px; }
.top-bar .brand-name { font-size: 13px; font-weight: 500; }
.top-bar .brand-english { font-size: 11px; font-weight: 400; color: var(--color-text-muted); }
.top-bar .brand-subtitle { font-size: 11px; }
.top-bar .brand-name, .top-bar .brand-english, .top-bar .brand-subtitle, .top-bar .version-badge { display: none; }
.workspace-breadcrumb { display: flex; align-items: center; min-width: 0; color: var(--color-text-muted); font-size: 16px; }
.workspace-breadcrumb b { display: block; min-width: 0; color: var(--color-text); font-weight: 600; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.top-bar .btn-menu { display: inline-flex; flex: 0 0 36px; }
.btn-menu:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 2px; }
.app-container.sidebar-collapsed .sidebar-toggle-icon { transform: rotate(180deg); }
@media (min-width: 769px) {
    .app-container.sidebar-collapsed > .sidebar { width: 56px; min-width: 56px; }
}
.version-badge { color: var(--color-text-muted); background: #f1f0ed; border-color: transparent; font-weight: 400; }
.btn-account, .btn-account.authenticated { border-color: var(--color-border); background: #fff; color: var(--color-text); }
.btn-account:hover, .btn-account:focus-visible { border-color: #b9b7b0; color: var(--color-text); background: var(--workspace-sidebar); }
.btn-lang { background: transparent; font-weight: 500; }

/* 欢迎页采用文档版心，输入组件始终复用原有表单。 */
.has-welcome .chat-messages { padding: 0; }
.welcome-screen { align-items: stretch; justify-content: flex-start; width: 100%; max-width: 800px; min-height: 0; margin: 0 auto; padding: 48px 40px 36px; text-align: left; }
.welcome-heading { margin-bottom: 26px; }
.welcome-eyebrow { display: flex; align-items: center; gap: 8px; margin-bottom: 16px; color: var(--color-text-muted); font-size: 11px; letter-spacing: .5px; }
.welcome-heading .workspace-kicker { margin-bottom: 16px; font-size: 11px; letter-spacing: .5px; }
.welcome-screen h1 { margin: 0 0 14px; font-size: 30px; font-weight: 650; line-height: 1.45; letter-spacing: -.5px; }
.welcome-screen .welcome-subtitle { max-width: 540px; margin: 0; color: var(--color-text-muted); font-size: 15px; line-height: 1.9; }
.welcome-composer-slot { width: 100%; margin-bottom: 30px; }
.welcome-composer-slot .input-area { width: 100%; max-width: none; padding: 0; border: 0; }
.welcome-composer-slot .input-row { display: grid; grid-template-columns: 1fr auto; padding: 14px; border-color: #dcdcd8; box-shadow: 0 2px 6px #37352f07; }
.welcome-composer-slot .chat-input { grid-column: 1 / -1; grid-row: 1; width: 100%; min-height: 80px; padding: 2px; font-size: 15px; }
.welcome-composer-slot .btn-attach { grid-column: 1; grid-row: 2; justify-self: start; }
.welcome-composer-slot .btn-send { grid-column: 2; grid-row: 2; }
.welcome-composer-slot .input-hint, .welcome-composer-slot .attachment-hint { text-align: left; }
.topic-selector { max-width: none; }
.topic-selector h3 { margin-bottom: 14px; font-size: 13px; font-weight: 600; color: var(--color-text); text-transform: none; letter-spacing: 0; }
.topic-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.topic-btn { align-items: flex-start; min-width: 0; min-height: 118px; gap: 8px; padding: 16px; border-radius: 6px; text-align: left; }
.topic-btn:hover { background: var(--workspace-sidebar); border-color: #d5d4cf; box-shadow: none; transform: none; }
.topic-btn .topic-icon { display: inline-flex; color: #66645f; font-size: 20px; filter: grayscale(1); }
.topic-btn .topic-icon svg { width: 20px; height: 20px; }
.topic-btn .topic-label { font-size: 13px; font-weight: 550; }
.topic-description { color: var(--color-text-muted); font-size: 11px; line-height: 1.7; }
.welcome-boundary { display: flex; align-items: flex-start; gap: 10px; margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--color-border); color: var(--color-text-muted); font-size: 12px; line-height: 1.85; }
.welcome-boundary svg { width: 18px; height: 18px; margin-top: 3px; flex-shrink: 0; }

/* 对话使用通栏阅读区和舒展段落，用户消息以暖灰区分。 */
.chat-messages { padding: 32px max(28px, calc((100% - 760px) / 2)); }
.message-row { margin-bottom: 28px; }
.message-bubble-wrapper { max-width: 100%; min-width: 0; }
.message-row.ai .message-bubble-wrapper { width: 100%; }
.message-row.user .message-bubble-wrapper { max-width: calc(100% - 36px); }
.message-bubble { font-size: 14px; line-height: 1.9; }
.message-row.user .message-bubble { padding: 13px 17px; }
.message-row.ai .message-bubble { width: 100%; padding: 4px 0; border: 0; box-shadow: none; }
.message-badge { gap: 8px; margin-bottom: 10px; font-size: 12px; color: var(--color-text); }
.message-bubble p { margin-bottom: 16px; }
.message-bubble h2 { margin-top: 26px; font-size: 17px; }
.message-bubble h3 { font-size: 15px; }
.message-copy { position: relative; width: max-content; margin: 4px 0 2px; color: var(--color-text-muted); }
.message-copy-trigger { display: flex; align-items: center; gap: 3px; width: max-content; min-width: 55px; height: 32px; padding: 4px 8px; border: 0; border-radius: 8px; background: transparent; color: inherit; cursor: pointer; }
.message-copy-trigger:hover, .message-copy:focus-within .message-copy-trigger, .message-copy[data-open="true"] .message-copy-trigger { background: var(--workspace-hover); color: var(--color-text); }
.message-copy-trigger:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 2px; }
.message-copy-trigger .ui-icon { width: 18px; height: 18px; }
.message-copy-trigger .ui-icon + .ui-icon { width: 14px; height: 14px; transition: transform .15s ease; }
.message-copy[data-open="true"] .message-copy-trigger .ui-icon + .ui-icon { transform: rotate(180deg); }
.message-copy-menu { position: absolute; bottom: 100%; left: 0; z-index: 20; display: grid; gap: 2px; min-width: 202px; padding: 7px; border: 1px solid var(--color-border); border-radius: 14px; background: #fff; box-shadow: 0 10px 32px #37352f1a; opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(4px); transition: opacity .15s ease, transform .15s ease, visibility .15s ease; }
.message-copy:hover .message-copy-menu, .message-copy:focus-within .message-copy-menu, .message-copy[data-open="true"] .message-copy-menu { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); }
.message-copy[data-dismissed="true"] .message-copy-menu { opacity: 0; visibility: hidden; pointer-events: none; }
.message-copy-menu button { display: block; width: 100%; padding: 9px 11px; border: 0; border-radius: 8px; background: transparent; color: var(--color-text); font: inherit; font-size: 13px; line-height: 1.5; text-align: left; white-space: nowrap; cursor: pointer; }
.message-copy-menu button:hover, .message-copy-menu button:focus-visible { background: var(--workspace-hover); outline: none; }
.message-copy-status { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.message-copy-rendered { position: fixed; left: -10000px; top: 0; width: 760px; opacity: 0; pointer-events: none; }
.message-copy-fallback { position: fixed; left: -10000px; top: 0; opacity: 0; }
.input-area { width: 100%; max-width: 816px; margin: 0 auto; padding: 12px 28px 14px; border: 0; }
.input-row { border-radius: 8px; background: #fff; }
.input-row:focus-within { border-color: #a6a39a; box-shadow: 0 0 0 3px #37352f0d; }
.chat-input { min-width: 0; }
.btn-send { border-radius: 5px; }
.btn-attach:hover { background: var(--workspace-hover); }
.stage-progress { background: #fafaf8; padding: 8px 20px; }
.stage-step { border-radius: 4px; }
.disclaimer-bar { background: #fafaf8; border-color: var(--color-border); color: var(--color-text-muted); }
.has-welcome .disclaimer-bar, .has-welcome .stage-progress { display: none; }
.attachment-card, .message-row.user .attachment-card { border-color: var(--color-border); background: var(--workspace-sidebar); }
.attachment-type { background: #eaeae6; }
.consult-origin, .consult-origin strong { color: var(--color-text-secondary); }
.consult-source-tray { border-color: var(--color-border); }
.chat-source-panel { background: #fafaf8; border-color: var(--color-border); }
.chat-source-item, .chat-source-item.guide { border-left-color: #d6d3cb; }
.chat-source-item a { color: var(--color-text); text-decoration: underline; text-underline-offset: 3px; }

/* 资料、政策、案例与人工服务共用中性色，保留风险状态的语义色。 */
.marketplace-screen, .knowledge-screen, .policy-screen, .case-screen { padding: 40px 40px 48px; background: #fff; }
.workspace-heading, .knowledge-heading, .policy-heading, .case-heading { margin-bottom: 26px; }
.workspace-heading h1, .knowledge-heading h1, .policy-heading h1, .case-heading h1 { color: var(--color-text); font-size: 30px; line-height: 1.45; font-weight: 650; }
.workspace-kicker { color: var(--color-text-muted); font-weight: 400; }
.knowledge-heading p:last-child, .policy-heading p:last-child, .case-heading p:last-child { color: var(--color-text-muted); font-size: 14px; line-height: 1.9; }
.knowledge-count, .policy-count-wrap strong, .case-count-wrap strong { color: var(--color-text); font-weight: 550; }
.market-form, .matching-standard, .service-product, .project-item, .price-method, .knowledge-card, .case-results, #regulationResults, #guideResults { border-color: var(--color-border); border-radius: 6px; box-shadow: none; }
.policy-results, .policy-priority-legend, .regulation-list-row, .guide-list-row, .case-row, .policy-list-row + .policy-list-row, .form-section { border-color: var(--color-border); }
.regulation-open:hover, .guide-open:hover, .case-open:hover, .policy-open:hover { background: #fafaf8; }
.regulation-list-title, .guide-list-title, .case-summary h2, .policy-row-main h2 { color: var(--color-text); font-weight: 600; font-size: 16px; line-height: 1.7; }
.case-summary p, .policy-row-main p { color: var(--color-text-secondary); font-size: 14px; line-height: 1.9; }
.regulation-open-action, .policy-row-action, .case-number, .case-reader-header p, .matching-standard dt, .project-number { color: var(--color-text); }
.scenario-chip, .case-topic-strip button, .policy-category-strip button, .policy-year-control, .market-input, .segmented-control, .segmented-control button, .policy-filterbar select, .policy-filterbar button { border-color: #deded9; color: var(--color-text-secondary); }
.scenario-chip:hover, .scenario-chip.active, .case-topic-strip button.active, .policy-category-strip button.active { border-color: #d5d4cf; color: var(--color-text); background: var(--workspace-sidebar); }
.regulation-filter, .price-guide, .form-actions { background: var(--workspace-sidebar); border-color: var(--color-border); }
.regulation-filter button.active { color: var(--color-text); box-shadow: 0 1px 2px #37352f0a; }
.primary-command, .quote-select-button, .bridge-button, .knowledge-searchbar button, .case-searchbar button, .policy-searchbar button, .policy-year-control button.active, .segmented-control button.active, .case-original-button { background: var(--color-primary); color: #fff; font-weight: 500; }
.primary-command:hover, .quote-select-button:hover, .bridge-button:hover { background: var(--color-primary-light); }
.secondary-command { border-color: #d5d4cf; color: var(--color-text); }
.secondary-command:hover { border-color: #a6a39a; color: var(--color-text); background: #fafaf8; }
.primary-command:disabled, .quote-select-button:disabled { background: var(--color-border); color: var(--color-text-muted); }
.knowledge-searchbar input, .case-searchbar input, .policy-searchbar input { border-color: #deded9; color: var(--color-text); }
.knowledge-searchbar input:focus, .case-searchbar input:focus, .market-input:focus { border-color: #a6a39a; box-shadow: 0 0 0 3px #37352f0d; }
.policy-searchbar input:focus { border-color: #a6a39a; outline-color: #a6a39a; }
.market-consent input { accent-color: var(--color-primary); }
.form-section h2, .matching-standard h2, .service-product h2, .price-guide strong { color: var(--color-text); font-weight: 600; }
.case-topic, .guide-category, .source-type.regulation, .source-type.guide, .case-translation-progress { background: #f1f1ee; color: var(--color-text-secondary); border-color: #d6d3cb; }
.case-analysis, .case-analysis-section, .policy-detail-section, .regulation-reader-header, .policy-reader-header, .case-reader-header { border-color: var(--color-border); }
.reader-tab.active, .case-reader-tabs button.active, .case-language-tabs button.active { color: var(--color-text); border-color: var(--color-text); }
.case-analysis-section h3, .case-full-reader .case-translated-page h4, .reader-heading-copy h2, .policy-reader-header h2, .case-reader-header h2 { color: var(--color-text); }
.case-segment, .policy-reader-lead, .policy-local-reader { background: var(--workspace-sidebar); border-color: #d6d3cb; color: var(--color-text); }
.policy-reader-actions .policy-evaluate, .policy-local-tabs button.active { background: var(--color-text); border-color: var(--color-text); color: #fff; }
.policy-detail-section p, .policy-detail-section li, .case-analysis-section p, .reader-segment-text { color: var(--color-text); font-size: 15px; line-height: 1.9; }
.auth-tabs button[aria-selected="true"] { color: var(--color-text); border-bottom-color: var(--color-text); }
.auth-text-button { color: var(--color-text); }
.auth-primary { background: var(--color-text); border-color: var(--color-text); }
.auth-primary:hover:not(:disabled), .auth-primary:focus-visible:not(:disabled) { background: var(--color-primary-light); }
.auth-code-button, .auth-secondary { border-color: #d5d4cf; color: var(--color-text); }
.auth-primary:disabled, .auth-code-button:disabled { background: var(--color-border); color: var(--color-text-muted); border-color: var(--color-border); }
.auth-kicker, .auth-header h2, #authRegistrationFields summary { color: var(--color-text); }
.auth-field input:focus { border-color: #a6a39a; box-shadow: 0 0 0 3px #37352f0d; }

/* 键盘焦点和状态隐藏规则不能被展示样式覆盖。 */
button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible, summary:focus-visible { outline: 2px solid #787774; outline-offset: 3px; }
.input-row .chat-input:focus-visible { outline: 0; }

@media (max-width: 1024px) {
    .top-bar .brand-english, .top-bar .brand-subtitle { display: none; }
    .marketplace-screen, .knowledge-screen, .policy-screen, .case-screen { padding-right: 26px; padding-left: 26px; }
    .case-open { grid-template-columns: 112px minmax(0, 1fr); gap: 14px; }
    .case-side { grid-column: 2; justify-items: start; }
    .case-outcome { text-align: left; }
}

@media (max-width: 768px) {
    .sidebar { width: 260px; min-width: 260px; box-shadow: none; }
    .sidebar.open { box-shadow: 4px 0 18px #37352f12; }
    .top-bar { padding: 0 16px; }
    .top-bar .header-actions { gap: 7px; }
    .welcome-screen { padding: 30px 24px; }
    .welcome-screen h1, .workspace-heading h1, .knowledge-heading h1, .policy-heading h1, .case-heading h1 { font-size: 26px; }
    .chat-messages { padding: 24px; }
    .has-welcome .chat-messages { padding: 0; }
    .input-area { padding: 10px 24px 12px; }
    .marketplace-screen, .knowledge-screen, .policy-screen, .case-screen { padding: 28px 20px 36px; }
    .workspace-heading, .knowledge-heading, .policy-heading, .case-heading { gap: 14px; }
    .case-open { grid-template-columns: 1fr; }
    .case-side { grid-column: auto; }
}

@media (max-width: 480px) {
    .top-bar .brand-name { font-size: 12px; }
    .top-bar .brand { gap: 5px; }
    .top-bar .version-badge { display: none; }
    .welcome-screen { padding: 28px 20px; }
    .welcome-screen h1 { font-size: 25px; }
    .topic-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    .topic-btn { min-height: 110px; padding: 12px; }
    .chat-messages { padding: 20px; }
    .message-row.user .message-bubble-wrapper { max-width: calc(100% - 16px); }
    .input-area { padding-right: 16px; padding-left: 16px; }
    .workspace-heading { flex-wrap: wrap; }
    .knowledge-count, .case-count-wrap strong, .policy-count-wrap strong { font-size: 24px; }
}

@media (prefers-reduced-motion: reduce) {
    .message-row { animation: none; }
    .chat-messages { scroll-behavior: auto; }
}

/* SVG 以 currentColor 继承暖灰配色；装饰图标不参与读屏和键盘焦点。 */
.ui-icon { display: inline-block; width: 20px; height: 20px; flex: 0 0 auto; vertical-align: middle; }
[data-ui-icon], .account-icon { display: inline-flex; align-items: center; justify-content: center; }
.sidebar .platform-nav-icon .ui-icon { width: 18px; height: 18px; }
.sidebar .platform-nav-icon { align-items: center; justify-content: center; }
.btn-new-chat .ui-icon { width: 16px; height: 16px; }
.topic-btn .topic-icon { filter: none; color: #57564f; }
.topic-btn .topic-icon .ui-icon { width: 24px; height: 24px; }
.step-icon .ui-icon { width: 16px; height: 16px; }
.btn-attach, .btn-send, .btn-menu { align-items: center; justify-content: center; }
.account-icon { border: 0; background: transparent; }
.online-official-link .ui-icon { width: 15px; height: 15px; margin-left: 5px; }
.ui-icon-label { display: inline-flex; align-items: center; vertical-align: middle; margin-right: 6px; }
.ui-icon-label .ui-icon { width: 16px; height: 16px; }
.disclaimer-bar .ui-icon-label .ui-icon { width: 13px; height: 13px; }
.attachment-chip-remove .ui-icon, .source-chip-remove .ui-icon { width: 14px; height: 14px; }

/* 政策速递只读定时同步的本地资料；保持工作空间的中性色与间距。 */
.policy-sync-panel { background: #f7f7f5; border: 1px solid #e9e9e7; border-radius: 6px; padding: 12px 16px; margin-bottom: 20px; }
.policy-sync-panel p { color: #787774; font-size: 12px; line-height: 1.8; margin: 2px 0; overflow-wrap: anywhere; }
.policy-sync-panel p:first-child { color: #37352f; }
#policyPeriodSelect { border: 1px solid #e9e9e7; border-radius: 5px; background: white; color: #37352f; font: inherit; font-size: 13px; padding: 9px 12px; max-width: 100%; }
.policy-pagination { display: flex; align-items: center; justify-content: center; gap: 16px; padding: 24px 0; font-size: 13px; color: #787774; }
.policy-pagination button { border: 1px solid #e9e9e7; border-radius: 5px; padding: 7px 12px; color: #37352f; background: white; cursor: pointer; }
.policy-pagination button:disabled { opacity: .4; cursor: default; }
.policy-status.unverified { background: #f1f1ef; color: #787774; }
.policy-translation-note { color: #787774; background: #f7f7f5; border-radius: 5px; padding: 10px 14px; font-size: 13px; }

/* 法规统一目录：紧凑筛选与真实目录覆盖提示。 */
.regulation-catalog-filters { display: flex; flex-wrap: wrap; gap: 16px; padding: 16px 0; }
.regulation-catalog-filters label { display: flex; align-items: center; gap: 8px; font-size: 13px; color: #67645f; }
.regulation-catalog-filters input, .regulation-catalog-filters select { min-height: 34px; border: 1px solid #e5e3de; border-radius: 5px; background: #fff; color: #37352f; padding: 5px 9px; }
.regulation-catalog-filters input { width: 100px; }
.regulation-coverage { color: #78746c; font-size: 12px; line-height: 1.7; }
.regulation-pagination { display: flex; align-items: center; justify-content: center; gap: 18px; padding: 24px 0; font-size: 13px; }
.regulation-pagination button { padding: 7px 14px; background: #fff; border: 1px solid #e5e3de; border-radius: 5px; cursor: pointer; }
.regulation-pagination button:disabled, .reader-translation-action button:disabled { opacity: .45; cursor: default; }
.reader-translation-action { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.reader-translation-action span { font-size: 12px; color: #78746c; }
.reader-comparison { padding: 16px 24px; }
.reader-comparison-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); border-bottom: 1px solid #e8e5de; }
.reader-comparison-row > div { min-width: 0; padding: 10px 18px; overflow-wrap: anywhere; }
.reader-comparison-row > div + div { border-left: 1px solid #e8e5de; }
.reader-comparison-missing { color: #8a857c; font-size: 13px; padding: 16px; }
@media (max-width: 640px) { .reader-comparison { padding: 8px; } .reader-comparison-row { grid-template-columns: 1fr; } .reader-comparison-row > div + div { border-left: 0; border-top: 1px dashed #e8e5de; } }

/* The mobile drawer has its own close control because it covers the header. */
.sidebar-brand-row { display: flex; align-items: center; flex-shrink: 0; }
.sidebar-brand-row .workspace-brand { min-width: 0; flex: 1; }
.btn-sidebar-close { display: none; align-items: center; justify-content: center; width: 36px; height: 36px; margin-right: 12px; flex-shrink: 0; border-radius: 8px; color: var(--color-text-secondary); }
.btn-sidebar-close:hover { background: var(--workspace-hover); }
.btn-sidebar-close:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 2px; }
@media(max-width:768px) { .btn-sidebar-close { display: inline-flex; } }

/* 收起后保留可操作的图标栏，底部菜单在侧栏外展开。 */
.sidebar-home { display: flex; align-items: center; gap: 10px; margin: 0 12px 10px; padding: 10px; border-radius: 10px; color: var(--color-text-secondary); font-size: 13px; }
.sidebar-home.active, .sidebar-home:hover { background: var(--workspace-hover); color: var(--color-text); }
.sidebar-home .ui-icon { width: 22px; height: 22px; }
.sidebar-footer .sidebar-actions { display: flex; align-items: center; gap: 10px; padding: 10px 0; border-top: 1px solid var(--color-border); margin-bottom: 8px; }
.sidebar-footer .header-icon-button.btn-account { display: inline-flex; font-size: 13px; }
.sidebar-actions .header-popover { top: auto; bottom: calc(100% + 6px); left: 0; right: auto; z-index: 120; }
.sidebar-actions .header-popover::before { content: ''; position: absolute; top: 100%; left: 0; width: 100%; height: 8px; }
@media (min-width: 769px) {
    .app-container.sidebar-collapsed .workspace-brand-copy,
    .app-container.sidebar-collapsed .sidebar-home > span:last-child,
    .app-container.sidebar-collapsed .btn-new-chat > span:last-child,
    .app-container.sidebar-collapsed .platform-nav-item > span:not(.platform-nav-icon),
    .app-container.sidebar-collapsed .sidebar-history-heading,
    .app-container.sidebar-collapsed .conversation-list,
    .app-container.sidebar-collapsed .workspace-company,
    .app-container.sidebar-collapsed .sidebar-footer > p { display: none; }
    .app-container.sidebar-collapsed .workspace-brand { padding: 20px 14px; }
    .app-container.sidebar-collapsed .workspace-brand-icon { width: 34px; height: 32px; }
    .app-container.sidebar-collapsed .sidebar-home { margin-left: 8px; margin-right: 8px; max-width: calc(100% - 16px); justify-content: center; width: 48px; height: 48px; padding: 0; border-radius: 14px; }
    .app-container.sidebar-collapsed .sidebar-header { padding: 0 12px 12px; }
    .app-container.sidebar-collapsed .btn-new-chat { justify-content: center; width: 48px; height: 44px; padding: 0; border: 0; }
    .app-container.sidebar-collapsed .sidebar .platform-nav { padding: 0 8px; gap: 8px; }
    .app-container.sidebar-collapsed .sidebar .platform-nav-item { justify-content: center; width: 48px; height: 44px; padding: 0; border-radius: 12px; }
    .app-container.sidebar-collapsed .platform-nav-icon .ui-icon { width: 23px; height: 23px; }
    .app-container.sidebar-collapsed .sidebar-footer { padding: 8px; }
    .app-container.sidebar-collapsed .sidebar-actions { flex-direction: column; gap: 8px; padding-top: 14px; margin: 0; }
    .app-container.sidebar-collapsed .sidebar-actions .header-icon-button { width: 48px; height: 44px; }
    .app-container.sidebar-collapsed .sidebar-actions .header-popover { left: calc(100% + 8px); bottom: 0; }
    .app-container.sidebar-collapsed .sidebar-actions .header-popover::before { top: 0; bottom: 0; left: -9px; width: 9px; height: 100%; }
}

/* 平台导航与首页内部的对话侧栏分开，确保导航按钮不溢出。 */
.sidebar { flex-shrink: 0; }
.sidebar-home { flex-shrink: 0; width: auto; min-width: 0; max-width: calc(100% - 24px); box-sizing: border-box; }
#consultView { flex-direction: row; overflow: hidden; }
.home-conversation-sidebar { display: flex; flex-direction: column; width: 210px; min-width: 210px; background: var(--workspace-sidebar); border-right: 1px solid var(--color-border); padding-top: 18px; min-height: 0; }
.home-conversation-sidebar .sidebar-header { padding: 0 12px 16px; }
.home-conversation-sidebar .sidebar-history-heading { padding-left: 20px; }
.home-conversation-sidebar .conversation-list { flex: 1; overflow-y: auto; }
.home-conversation-panel { display: flex; flex-direction: column; flex: 1; min-width: 0; min-height: 0; overflow: hidden; }
.sidebar-footer .sidebar-actions { justify-content: flex-start; }
.sidebar-actions .account-popover { width: 200px; }
.sidebar-actions .account-settings { border-top: 1px solid var(--color-border); margin-top: 5px; padding-top: 5px; }
.sidebar-actions .account-settings .header-menu-wrap { width: 100%; }
.sidebar-actions .account-settings .header-icon-button { width: 100%; flex-basis: auto; justify-content: flex-start; gap: 10px; padding: 8px 10px; font-size: 13px; }
.sidebar-actions .account-settings .header-icon-button::after { content: '›'; margin-left: auto; color: var(--color-text-muted); }
.sidebar-actions .account-settings #timezoneLabel, .sidebar-actions .account-settings #langLabel { display: inline !important; }
.sidebar-actions .account-settings .header-popover { left: calc(100% + 8px); right: auto; bottom: 0; top: auto; }
.sidebar-actions .account-settings .header-popover::before { top: 0; bottom: 0; left: -9px; width: 9px; height: 100%; }
@media (min-width: 769px) {
 .app-container.sidebar-collapsed .home-conversation-sidebar .sidebar-header { padding: 0 12px 16px; }
 .app-container.sidebar-collapsed .home-conversation-sidebar .btn-new-chat { width: 100%; height: auto; padding: 8px 10px; border: 1px solid #deded9; justify-content: flex-start; }
 .app-container.sidebar-collapsed .home-conversation-sidebar .btn-new-chat > span:last-child,
 .app-container.sidebar-collapsed .home-conversation-sidebar .sidebar-history-heading,
 .app-container.sidebar-collapsed .home-conversation-sidebar .conversation-list { display: flex; }
 .app-container.sidebar-collapsed .home-conversation-sidebar .conversation-list { display: block; }
 .app-container.sidebar-collapsed .sidebar-actions .account-settings .header-icon-button { width: 100%; height: auto; }
}
@media (max-width: 1000px) and (min-width: 769px) { .home-conversation-sidebar { width: 180px; min-width: 180px; } }
@media (max-width: 768px) {
 #consultView { flex-direction: column; }
 .home-conversation-sidebar { width: 100%; min-width: 0; height: 135px; flex-shrink: 0; padding-top: 8px; border-right: 0; border-bottom: 1px solid var(--color-border); }
 .home-conversation-sidebar .sidebar-header { padding: 0 12px 5px; }
 .home-conversation-sidebar .sidebar-history-heading { padding-bottom: 0; }
 .home-conversation-sidebar .conversation-list { display: flex; gap: 6px; overflow-x: auto; padding-bottom: 5px; }
 .home-conversation-sidebar .conversation-item { min-width: 150px; width: 150px; flex-shrink: 0; }
 .home-conversation-sidebar .conv-preview, .home-conversation-sidebar .conv-time { display: none; }
 .sidebar-actions .account-settings .header-popover { left: 0; bottom: calc(100% + 6px); }
}

/* 外侧栏的主导航和账户入口使用一致的图标大小。 */
.sidebar-home .ui-icon, .sidebar .platform-nav-icon .ui-icon, #btnAccount .ui-icon { width: 23px; height: 23px; }

/* 内侧栏与外侧栏齐顶；标题栏从内侧栏右边开始。 */
.app-container { position: relative; --outer-sidebar-width: var(--sidebar-width); }
.home-conversation-sidebar { height: 100%; flex-shrink: 0; padding-top: 0; }
.home-conversation-sidebar[hidden], .home-sidebar-edge[hidden], .home-sidebar-toggle[hidden] { display: none !important; }
.home-sidebar-top { display: flex; align-items: center; justify-content: space-between; height: var(--header-height); min-height: var(--header-height); padding: 0 14px; border-bottom: 1px solid var(--color-border); color: var(--color-text-muted); font-size: 12px; }
.home-sidebar-close { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 6px; }
.home-sidebar-close:hover { background: var(--workspace-hover); }
.home-sidebar-close .ui-icon { width: 18px; height: 18px; }
.home-conversation-sidebar .sidebar-header { padding-top: 14px; }
.conversation-history-tools { padding: 0 12px 8px; flex-shrink: 0; }
#conversationSearch { width: 100%; min-width: 0; padding: 7px 9px; border: 1px solid var(--color-border); border-radius: 6px; background: #fff; color: var(--color-text); font: inherit; font-size: 12px; }
.conversation-history-controls { display: flex; gap: 12px; padding: 6px 1px 0; }
.conversation-history-controls button { color: var(--color-text-muted); font-size: 11px; }
.conversation-history-controls button:hover { color: var(--color-text); }
.conversation-day-toggle { display: flex; align-items: center; width: 100%; padding: 8px 4px; gap: 6px; text-align: left; color: var(--color-text-muted); font-size: 11px; }
.conversation-day-toggle::before { content: '⌄'; display: inline-block; width: 10px; }
.conversation-day-toggle[aria-expanded="false"]::before { content: '›'; }
.conversation-day-count { margin-left: auto; font-size: 10px; }
.conversation-day-items[hidden] { display: none; }
.conversation-history-empty, .conversation-search-note { margin: 8px 4px; color: var(--color-text-muted); font-size: 11px; line-height: 1.6; }
.home-sidebar-edge { display: none; position: absolute; left: calc(var(--outer-sidebar-width) - 6px); top: 0; bottom: 0; width: 12px; padding: 0; background: transparent; z-index: 112; cursor: e-resize; }
.home-sidebar-collapsed .home-conversation-sidebar { display: none; }
.home-sidebar-collapsed .home-sidebar-edge { display: block; }
.home-sidebar-collapsed.home-sidebar-preview .home-conversation-sidebar { display: flex; position: absolute; left: var(--outer-sidebar-width); top: 0; bottom: 0; height: 100%; z-index: 111; box-shadow: 8px 0 28px #37352f18; }
@media (min-width: 769px) { .app-container.sidebar-collapsed { --outer-sidebar-width: 56px; } }
@media (max-width: 768px) {
 .app-container { --outer-sidebar-width: 0px; }
 .home-conversation-sidebar { width: 190px; min-width: 190px; height: 100%; }
 .home-conversation-sidebar .conversation-list { display: block; overflow-x: hidden; overflow-y: auto; }
 .home-conversation-sidebar .conversation-item { width: auto; min-width: 0; }
 .home-sidebar-top { padding: 0 10px; }
 .home-conversation-sidebar .sidebar-header { padding: 10px; }
 .home-conversation-sidebar .sidebar-history-heading { padding: 0 10px; }
 .home-sidebar-toggle { display: inline-flex; }
 .home-sidebar-edge { left: 0; }
 .home-sidebar-collapsed.home-sidebar-preview .home-conversation-sidebar { left: 0; }
}

/* 对话记录工具统一为单行图标；搜索输入按需占用下一行。 */
.home-conversation-sidebar .sidebar-history-heading { padding: 0 12px 7px; gap: 4px; }
.conversation-history-icons { display: flex; align-items: center; gap: 0; flex-shrink: 0; }
.history-icon-button, .conversation-history-icons .btn-clear-conversations { display: inline-flex; align-items: center; justify-content: center; width: 25px; height: 28px; flex: 0 0 25px; padding: 0; border-radius: 6px; color: var(--color-text-muted); }
.history-icon-button .ui-icon, .conversation-history-icons .btn-clear-conversations .ui-icon { width: 15px; height: 15px; }
.history-icon-button:hover, .history-icon-button[aria-expanded="true"] { background: var(--workspace-hover); color: var(--color-text); }
.history-icon-button:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 1px; }
#conversationSearchRow[hidden] { display: none !important; }

/* 内侧栏标题与新对话入口使用简洁的文本导航样式。 */
.home-sidebar-top { border-bottom: 0; color: var(--color-text); }
.home-sidebar-top > span { font-size: 16px; font-weight: 600; letter-spacing: -.2px; line-height: 1.3; }
.home-conversation-sidebar .sidebar-header { padding: 0 8px 14px; }
.home-conversation-sidebar #btnNewChat { display: flex; align-items: center; justify-content: flex-start; gap: 9px; width: 100%; height: 38px; padding: 8px; border: 0; border-radius: 7px; background: transparent; box-shadow: none; color: var(--color-text); font-size: 14px; font-weight: 400; }
.home-conversation-sidebar #btnNewChat:hover { background: var(--workspace-hover); }
.home-conversation-sidebar #btnNewChat .ui-icon { width: 18px; height: 18px; }

/* 两层侧栏的宽度与位移同步过渡，切换按钮始终可用。 */
.app-container { --inner-sidebar-width: 210px; }
.sidebar { transition: width .24s ease, min-width .24s ease, transform .24s ease; }
.outer-sidebar-toggle { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; margin: 0 12px 12px; border-radius: 8px; color: var(--color-text-muted); flex-shrink: 0; }
.outer-sidebar-toggle:hover { background: var(--workspace-hover); }
.sidebar-toggle-icon { transition: transform .24s ease; }
.home-sidebar-slot { position: relative; width: var(--inner-sidebar-width); min-width: var(--inner-sidebar-width); height: 100%; flex-shrink: 0; transition: width .24s ease, min-width .24s ease; }
.home-sidebar-slot[hidden] { display: none !important; }
.home-sidebar-slot .home-conversation-sidebar { position: absolute; top: 0; left: 0; width: var(--inner-sidebar-width); min-width: var(--inner-sidebar-width); height: 100%; z-index: 111; transition: opacity .2s ease, transform .24s ease, visibility 0s; }
.home-sidebar-collapsed .home-sidebar-slot { width: 0; min-width: 0; }
.home-sidebar-collapsed .home-sidebar-slot .home-conversation-sidebar { display: flex; opacity: 0; transform: translateX(-12px); visibility: hidden; pointer-events: none; transition: opacity .2s ease, transform .24s ease, visibility 0s .24s; }
.home-sidebar-collapsed.home-sidebar-preview .home-sidebar-slot .home-conversation-sidebar { left: 0; opacity: 1; transform: translateX(0); visibility: visible; pointer-events: auto; transition-delay: 0s; }
.home-sidebar-toggle { position: absolute; top: 10px; left: calc(var(--outer-sidebar-width) + var(--inner-sidebar-width) - 42px); display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 36px; border-radius: 6px; color: var(--color-text-muted); z-index: 113; transition: left .24s ease, background .15s ease; }
.home-sidebar-toggle:hover { background: var(--workspace-hover); }
.home-sidebar-toggle .ui-icon { width: 18px; height: 18px; }
.home-sidebar-collapsed .home-sidebar-toggle { left: calc(var(--outer-sidebar-width) + 12px); }
.home-sidebar-collapsed .top-bar { padding-left: 54px; }
.home-sidebar-edge { transition: left .24s ease; }
.mobile-outer-toggle { display: none !important; }
@media (min-width: 769px) { .app-container.sidebar-collapsed .outer-sidebar-toggle { margin-left: 14px; margin-right: 14px; } }
@media (max-width: 1000px) and (min-width: 769px) { .app-container { --inner-sidebar-width: 180px; } }
@media (max-width: 768px) {
 .app-container { --inner-sidebar-width: 190px; }
 .mobile-outer-toggle { display: inline-flex !important; }
 .home-sidebar-collapsed .top-bar { padding-left: 48px; }
 .home-sidebar-toggle { top: 10px; }
}
@media (prefers-reduced-motion: reduce) {
 .sidebar, .sidebar-toggle-icon, .home-sidebar-slot, .home-sidebar-slot .home-conversation-sidebar, .home-sidebar-toggle, .home-sidebar-edge { transition: none !important; }
}

/* 外侧栏固定窄栏，在所有尺寸下保持可访问。 */
.app-container { --outer-sidebar-width: 56px; }
.app-container > .sidebar { position: relative; width: 56px; min-width: 56px; transform: none; }
.sidebar .workspace-brand-copy, .sidebar .workspace-company, .sidebar-footer > p,
.sidebar .sidebar-home > span:last-child, .sidebar .platform-nav-item > span:not(.platform-nav-icon) { display: none; }
.sidebar .workspace-brand { padding: 20px 14px; }
.sidebar .workspace-brand-icon { width: 34px; height: 32px; }
.sidebar .sidebar-home { justify-content: center; width: 48px; height: 48px; margin: 0 8px 10px; padding: 0; max-width: 48px; border-radius: 14px; }
.sidebar .platform-nav { padding: 0 8px; gap: 8px; }
.sidebar .platform-nav-item { justify-content: center; width: 48px; height: 44px; padding: 0; border-radius: 12px; }
.sidebar .sidebar-footer { padding: 8px; }
.sidebar .sidebar-actions { flex-direction: column; gap: 8px; margin: 0; padding-top: 14px; }
.sidebar .sidebar-actions > .header-menu-wrap > .header-icon-button { width: 48px; height: 44px; }
.sidebar .sidebar-actions > .header-menu-wrap > .header-popover { left: calc(100% + 8px); bottom: 0; }
.sidebar .sidebar-actions > .header-menu-wrap > .header-popover::before { top: 0; bottom: 0; left: -9px; width: 9px; height: 100%; }
.home-conversation-sidebar .sidebar-history-label { font-size: 14px; font-weight: 600; color: var(--color-text); }
.history-more-wrap { position: relative; display: flex; }
.history-more-menu { position: absolute; right: 0; top: calc(100% + 4px); z-index: 120; width: 190px; padding: 5px; border: 1px solid var(--color-border); border-radius: 9px; background: #fff; box-shadow: 0 8px 24px #37352f1a; }
.history-more-menu[hidden] { display: none !important; }
.history-more-menu .history-more-item { display: flex; align-items: center; justify-content: flex-start; width: 100%; height: auto; min-height: 34px; padding: 7px 9px; gap: 9px; font-size: 12px; color: var(--color-text); text-align: left; border-radius: 5px; }
.history-more-menu .history-more-item .ui-icon { width: 15px; height: 15px; flex-shrink: 0; }
.history-more-menu .history-more-item:hover, .history-more-menu .history-more-item:focus-visible { background: var(--workspace-hover); outline: none; }
.history-more-menu .history-more-item:disabled { opacity: .4; cursor: default; }
@media (max-width: 768px) {
 .app-container { --outer-sidebar-width: 56px; }
 .home-sidebar-edge { left: 50px; }
 .home-sidebar-collapsed.home-sidebar-preview .home-sidebar-slot .home-conversation-sidebar { left: 0; }
 .sidebar-actions .account-settings .header-popover { left: 0; bottom: calc(100% + 6px); }
}

/* 新对话置顶，与内侧栏切换按钮共用顶部一行。 */
.home-sidebar-top { display: none; }
.home-conversation-sidebar .sidebar-header,
.app-container.sidebar-collapsed .home-conversation-sidebar .sidebar-header { padding: 10px 42px 14px 8px; }
.home-conversation-sidebar #btnNewChat { height: 36px; }

/* 固定外侧栏的即时名称提示，沿用 aria-label 中的当前语言。 */
.sidebar .sidebar-home, .sidebar .platform-nav-item { position: relative; overflow: visible; }
.sidebar .sidebar-home::after, .sidebar .platform-nav-item::after { content: attr(aria-label); position: absolute; top: 50%; left: calc(100% + 12px); transform: translateY(-50%); display: block; width: max-content; padding: 6px 10px; border: 1px solid var(--color-border); border-radius: 7px; background: #fff; color: var(--color-text); font-size: 12px; font-weight: 400; line-height: 1.5; box-shadow: 0 4px 14px #37352f14; opacity: 0; visibility: hidden; pointer-events: none; z-index: 130; transition: opacity .12s ease, visibility .12s ease; }
.sidebar .sidebar-home:hover::after, .sidebar .sidebar-home:focus-visible::after,
.sidebar .platform-nav-item:hover::after, .sidebar .platform-nav-item:focus-visible::after { opacity: 1; visibility: visible; }
/* 名称提示需显示在内侧栏浮层之上。 */
.app-container > .sidebar { z-index: 114; }
.sidebar .sidebar-home::after, .sidebar .platform-nav-item::after { right: auto; bottom: auto; height: auto; }

/* 用户及设置弹层始终高于内侧栏与其 hover 预览层。 */
.app-container > .sidebar { z-index: 300; overflow: visible; }
.sidebar .sidebar-footer, .sidebar .sidebar-actions, .sidebar #accountMenuWrap { overflow: visible; }
.sidebar #accountMenu, .sidebar #langMenu, .sidebar #timezoneMenu { z-index: 310; }

/* 最近会话提升可读性，单条记录仅显示时分。 */
.home-conversation-sidebar .conversation-item .conv-title { font-size: 14px; }
.home-conversation-sidebar .conversation-item .conv-preview { font-size: 12px; }
.home-conversation-sidebar .conversation-item .conv-time { font-size: 11px; }
.home-conversation-sidebar .conversation-day-toggle { font-size: 12px; }
.home-conversation-sidebar .conversation-day-count { font-size: 11px; }

/* 搜索与折叠控件采用同一组细线图标。 */
.home-sidebar-toggle .ui-icon { width: 19px; height: 19px; stroke-width: 1.5; }
#btnSearchHistory .ui-icon { width: 18px; height: 18px; stroke-width: 1.5; }

/* 搜索框折叠时保留动画布局，关闭输入与辅助技术访问。 */
#conversationSearchRow { max-height: 0; padding-bottom: 0; opacity: 0; overflow: hidden; transition: max-height .22s ease, padding-bottom .22s ease, opacity .18s ease; }
#conversationSearchRow.is-open { max-height: 56px; padding-bottom: 8px; opacity: 1; }
#conversationSearchRow #conversationSearch { transform: translateY(-5px); transition: transform .22s ease; }
#conversationSearchRow.is-open #conversationSearch { transform: translateY(0); }
@media (prefers-reduced-motion: reduce) { #conversationSearchRow, #conversationSearchRow #conversationSearch { transition: none; } }

/* 浮出预览作为完整侧栏覆盖会话，切换按钮回到侧栏右上角。 */
.home-sidebar-slot { z-index: 200; }
.home-sidebar-slot .home-conversation-sidebar { background: var(--workspace-sidebar); }
.home-sidebar-toggle { z-index: 201; }
.home-sidebar-collapsed.home-sidebar-preview .home-sidebar-toggle { left: calc(var(--outer-sidebar-width) + var(--inner-sidebar-width) - 42px); }

/* 日期分组标题突出层级，数量保持辅助信息。 */
.home-conversation-sidebar .conversation-day-toggle { font-size: 14px; font-weight: 600; color: var(--color-text-secondary); }
.home-conversation-sidebar .conversation-day-count { font-size: 11px; font-weight: 400; color: var(--color-text-muted); }

/* 悬浮导航名称提高可读性。 */
.sidebar .sidebar-home::after, .sidebar .platform-nav-item::after { font-size: 14px; }

/* 与导航提示一致的完整会话标题提示，无浏览器原生等待时间。 */
.history-title-tooltip { position: fixed; z-index: 1000; width: max-content; max-width: min(360px, calc(100vw - 24px)); padding: 6px 10px; border: 1px solid var(--color-border); border-radius: 7px; background: #fff; color: var(--color-text); font-size: 14px; font-weight: 400; line-height: 1.5; overflow-wrap: anywhere; box-shadow: 0 4px 14px #37352f14; pointer-events: none; }
.history-title-tooltip[hidden] { display: none !important; }

/* 内侧栏宽度拖拽；调整时即时跟手，不执行展开动画。 */
.home-sidebar-resizer { position: absolute; right: -4px; top: 0; bottom: 0; width: 8px; z-index: 202; cursor: ew-resize; touch-action: none; }
.home-sidebar-resizer::after { content: ''; position: absolute; left: 3px; top: 0; bottom: 0; width: 2px; background: transparent; transition: background .15s ease; }
.home-sidebar-resizer:hover::after, .home-sidebar-resizer:focus-visible::after, .home-sidebar-resizing .home-sidebar-resizer::after { background: #aaa8a0; }
.home-sidebar-resizing, .home-sidebar-resizing * { cursor: ew-resize !important; user-select: none !important; }
.home-sidebar-resizing .home-sidebar-slot, .home-sidebar-resizing .home-sidebar-toggle, .home-sidebar-resizing .home-conversation-sidebar { transition: none !important; }

/* 内侧栏和会话区使用统一白色背景。 */
.home-conversation-sidebar, .home-sidebar-slot .home-conversation-sidebar { background: #fff; }

/* 固定外侧栏进一步收窄，图标在 56px 栏内居中。 */
.app-container.sidebar-collapsed > .sidebar .workspace-brand { padding: 20px 11px; }
.app-container.sidebar-collapsed > .sidebar .sidebar-home { width: 40px; height: 44px; margin-left: 8px; margin-right: 8px; max-width: 40px; }
.app-container.sidebar-collapsed > .sidebar .platform-nav-item { width: 40px; height: 44px; }
.app-container.sidebar-collapsed > .sidebar .sidebar-actions > .header-menu-wrap > .header-icon-button { width: 40px; height: 44px; }

/* 回复操作：复制与固定模板 HTML 下载并排显示。 */
.message-actions { display: flex; align-items: flex-start; gap: 4px; margin-top: 4px; }
.message-actions .message-copy { margin: 0; }
.message-actions .report-export { margin: 0; min-height: 32px; }
.message-actions .report-export-button { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; padding: 4px; border: 0; border-radius: 8px; background: transparent; color: var(--color-text-muted); }
.message-actions .report-export-button > span:last-child { display: none; }
.message-actions .report-export-button .ui-icon { width: 18px; height: 18px; }
.message-actions .report-export-button:hover { background: var(--workspace-hover); color: var(--color-text); }
.message-actions .report-export-button[aria-busy="true"] { opacity: .5; cursor: wait; }

/* Always-available consultation review entry and unified request dialog. */
.home-conversation-panel { position: relative; }
.lawyer-request-fab { position: absolute; right: 20px; bottom: var(--lawyer-fab-bottom, 110px); z-index: 12; display: flex; align-items: center; gap: 7px; padding: 10px 14px; border: 1px solid #e4e7eb; border-radius: 24px; background: #fff; color: #374151; box-shadow: 0 4px 18px rgba(25,35,45,.09); font: inherit; font-size: 13px; cursor: pointer; transition: box-shadow .18s, bottom .18s; }
.lawyer-request-fab[hidden] { display: none; }
.lawyer-request-fab svg { width: 19px; height: 19px; }
.lawyer-request-fab:hover { box-shadow: 0 6px 22px rgba(25,35,45,.15); }
.lawyer-request-fab:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 3px; }
.lawyer-request-dialog { max-width: 440px; background: #fff; }
.lawyer-request-field { display: flex; flex-direction: column; gap: 6px; margin-top: 16px; font-size: 14px; }
.lawyer-request-field input, .lawyer-request-field textarea { width: 100%; box-sizing: border-box; padding: 10px 12px; border: 1px solid #dfe3e8; border-radius: 8px; background: #fff; color: #303842; font: inherit; line-height: 1.5; }
.lawyer-request-field textarea { resize: vertical; min-height: 80px; }
.lawyer-request-field small { color: #7a818b; text-align: right; font-size: 12px; }
.lawyer-request-consent { display: flex; align-items: flex-start; gap: 8px; margin-top: 14px; font-size: 13px; line-height: 1.6; }
.lawyer-request-consent input { appearance: auto; -webkit-appearance: checkbox; width: 18px; height: 18px; margin-top: 2px; flex: 0 0 18px; accent-color: var(--color-primary); }
.lawyer-request-error { color: #a83d39 !important; margin-top: 10px !important; }
@media (max-width: 600px) { .lawyer-request-overlay { align-items: end; padding: 12px; } .lawyer-request-dialog { max-width: none; border-radius: 16px; } .lawyer-request-fab { right: 12px; padding: 9px 12px; font-size: 12px; } }
@media (prefers-reduced-motion: reduce) { .lawyer-request-fab { transition: none; } }
.home-conversation-panel .chat-messages { padding-bottom: 68px; }
.has-welcome .home-conversation-panel .chat-messages { padding-bottom: 0; }
