.document_center_view{
  display:none;
  flex:1;
  min-width:0;
  min-height:0;
  padding:0;
}

/* Liquid-glass search workstation skin for the knowledge center. */
.document_center_shell.kb_center_shell{
  --kb-glass-bg:
    radial-gradient(circle at 12% 8%, rgba(91, 141, 239, .28), transparent 30%),
    radial-gradient(circle at 78% 4%, rgba(32, 201, 151, .20), transparent 28%),
    linear-gradient(135deg, #f7fbff 0%, #edf7f4 48%, #f8fafc 100%);
  --kb-glass-panel:rgba(255, 255, 255, .56);
  --kb-glass-panel-strong:rgba(255, 255, 255, .72);
  --kb-glass-border:rgba(255, 255, 255, .76);
  --kb-glass-shadow:0 22px 64px rgba(34, 61, 96, .14), inset 0 1px 0 rgba(255, 255, 255, .72);
  --kb-glass-shadow-soft:0 14px 38px rgba(34, 61, 96, .10), inset 0 1px 0 rgba(255, 255, 255, .64);
  --kb-ink:#142033;
  --kb-muted:#627286;
  --kb-accent:#0f766e;
  --kb-accent-2:#2563eb;
  box-sizing:border-box;
  position:relative;
  display:flex;
  flex-direction:column;
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  padding:14px;
  background:var(--kb-glass-bg);
  color:var(--kb-ink);
  overflow:hidden;
}

.document_center_shell.kb_center_shell::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(255, 255, 255, .46) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .34) 1px, transparent 1px);
  background-size:44px 44px;
  mask-image:linear-gradient(to bottom, rgba(0, 0, 0, .7), transparent 78%);
}

.document_center_shell.kb_center_shell .document_center_workspace{
  flex:1;
  width:100%;
  min-width:0;
  min-height:0;
  position:relative;
  z-index:1;
}

.document_center_shell.kb_center_shell.case_analysis_shell{
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  height:100%;
  min-height:0;
  padding:12px;
  overflow:hidden;
}

.case_analysis_shell .case_analysis_workspace{
  flex:1;
  height:auto;
  min-height:0;
  padding:0;
  display:flex;
  flex-direction:column;
}

.case_analysis_shell .case_analysis_page{
  flex:1;
  display:grid;
  grid-template-columns:280px minmax(0, 1fr) 360px;
  gap:16px;
  height:auto;
  min-height:0;
  align-items:stretch;
}

.case_analysis_shell .case_analysis_sidebar,
.case_analysis_shell .case_analysis_thread,
.case_analysis_shell .case_analysis_tools{
  height:100%;
  min-height:0;
  align-self:stretch;
}

.case_analysis_shell .case_analysis_main,
.case_analysis_shell .case_analysis_thread,
.case_analysis_shell .detail_view{
  height:100%;
  min-height:0;
}

.case_analysis_shell .case_analysis_main,
.case_analysis_shell .case_analysis_thread{
  display:flex;
}

.case_analysis_shell .case_analysis_thread,
.case_analysis_shell .case_analysis_thread > .detail_view{
  flex:1;
}

.case_analysis_shell .kb_case_action_stack{
  display:grid;
  gap:10px;
  margin:18px 0;
}

.case_analysis_shell .kb_case_action_stack .kb_tool_button{
  width:100%;
}

.case_analysis_shell .case_analysis_tools{
  padding:0;
}

.case_analysis_shell .kb_source_preview_panel{
  flex:1;
  display:flex;
  height:100%;
  min-height:0;
  border:0;
  border-radius:8px;
  box-shadow:none;
}

.case_analysis_shell .kb_source_preview_panel[hidden]{
  display:none;
}

.case_analysis_shell .kb_result_body,
.case_analysis_shell .kb_source_preview_body{
  flex:1;
  min-height:0;
  overflow:auto;
}

@media (max-width:1180px){
  .case_analysis_shell .case_analysis_page{
    grid-template-columns:240px minmax(0, 1fr);
  }

  .case_analysis_shell .case_analysis_tools{
    grid-column:1 / -1;
    min-height:420px;
  }
}

.kb_center_shell .kb_search_page{
  grid-template-columns:minmax(250px, 300px) minmax(0, 1fr) minmax(240px, 300px);
  gap:14px;
}

.kb_center_shell .kb_chat_sidebar,
.kb_center_shell .kb_chat_main,
.kb_center_shell .kb_chat_tools,
.kb_center_shell .document_center_nav,
.kb_center_shell .template_list_panel,
.kb_center_shell .template_detail_panel,
.kb_center_shell .kb_tool_card,
.kb_center_shell .kb_source_preview_panel,
.kb_center_shell .detail_view,
.kb_center_shell .kb_ingest_entry,
.kb_center_shell .kb_ingest_queue,
.kb_center_shell .kb_official_registry,
.kb_center_shell .kb_import_panel,
.kb_center_shell .kb_law_update_panel,
.kb_center_shell .kb_ingest_panel,
.kb_center_shell .kb_override_panel{
  border:1px solid var(--kb-glass-border);
  background:var(--kb-glass-panel);
  box-shadow:var(--kb-glass-shadow-soft);
  backdrop-filter:blur(26px) saturate(150%);
  -webkit-backdrop-filter:blur(26px) saturate(150%);
}

.kb_center_shell .kb_chat_sidebar,
.kb_center_shell .kb_chat_main,
.kb_center_shell .kb_chat_tools,
.kb_center_shell .document_center_nav,
.kb_center_shell .template_list_panel,
.kb_center_shell .template_detail_panel{
  border-radius:8px;
  box-shadow:var(--kb-glass-shadow);
}

.kb_center_shell .kb_chat_brand{
  min-height:136px;
  padding:20px 18px 16px;
  border-bottom:1px solid rgba(255, 255, 255, .58);
  background:linear-gradient(180deg, rgba(255, 255, 255, .48), rgba(255, 255, 255, .18));
}

.kb_center_shell .document_center_eyebrow,
.kb_center_shell .detail_kicker,
.kb_center_shell .kb_source_preview_kicker{
  color:var(--kb-accent);
  font-weight:800;
  letter-spacing:0;
}

.kb_center_shell .kb_chat_heading{
  margin-top:8px;
  color:var(--kb-ink);
  font-size:28px;
  line-height:1.08;
  font-weight:820;
  letter-spacing:0;
}

.kb_center_shell .document_center_hint,
.kb_center_shell .detail_meta,
.kb_center_shell .panel_caption,
.kb_center_shell .kb_tool_hint,
.kb_center_shell .kb_source_preview_meta{
  color:var(--kb-muted);
}

.kb_center_shell .kb_new_chat_btn,
.kb_center_shell .document_center_btn,
.kb_center_shell .kb_tool_button,
.kb_center_shell .detail_tab,
.kb_center_shell .kb_work_record_button,
.kb_center_shell .kb_copy_btn,
.kb_center_shell .kb_history_edit,
.kb_center_shell .kb_history_delete{
  border-color:rgba(95, 117, 138, .22);
  background:rgba(255, 255, 255, .54);
  color:#173347;
  box-shadow:inset 0 1px 0 rgba(255, 255, 255, .65);
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}

.kb_center_shell .kb_new_chat_btn:hover,
.kb_center_shell .document_center_btn:hover,
.kb_center_shell .kb_tool_button:hover,
.kb_center_shell .detail_tab:hover,
.kb_center_shell .kb_work_record_button:hover,
.kb_center_shell .kb_copy_btn:hover{
  transform:translateY(-1px);
  border-color:rgba(15, 118, 110, .38);
  background:rgba(255, 255, 255, .72);
  box-shadow:0 10px 24px rgba(31, 81, 107, .12), inset 0 1px 0 rgba(255, 255, 255, .74);
}

.kb_center_shell .document_center_btn.is-primary,
.kb_center_shell .kb_tool_button.is-primary,
.kb_center_shell .detail_tab.is-active,
.kb_center_shell .kb_work_record_button.is-saved{
  border-color:rgba(15, 118, 110, .36);
  background:linear-gradient(135deg, rgba(15, 118, 110, .94), rgba(37, 99, 235, .88));
  color:#fff;
  box-shadow:0 12px 28px rgba(15, 118, 110, .20), inset 0 1px 0 rgba(255, 255, 255, .30);
}

.kb_center_shell .kb_chat_thread{
  background:transparent;
}

.kb_center_shell .kb_chat_thread > .detail_view{
  border-radius:8px 8px 0 0;
  background:rgba(255, 255, 255, .50);
}

.kb_center_shell .detail_head,
.kb_center_shell .kb_source_preview_head,
.kb_center_shell .document_center_brand,
.kb_center_shell .panel_head{
  border-bottom-color:rgba(255, 255, 255, .58);
  background:rgba(255, 255, 255, .34);
}

.kb_center_shell .detail_title,
.kb_center_shell .panel_title,
.kb_center_shell .document_center_title,
.kb_center_shell .kb_tool_title{
  color:var(--kb-ink);
  font-weight:780;
}

.kb_center_shell .detail_status{
  border:1px solid rgba(255, 255, 255, .66);
  border-radius:999px;
  background:rgba(255, 255, 255, .48);
  color:var(--kb-accent);
  padding:4px 10px;
  font-size:12px;
  font-weight:760;
}

.kb_center_shell .kb_result_body,
.kb_center_shell .kb_preview_body,
.kb_center_shell .kb_source_preview_body{
  background:rgba(248, 250, 252, .42);
}

.kb_center_shell .kb_query_panel{
  border-top:1px solid rgba(255, 255, 255, .62);
  background:rgba(255, 255, 255, .54);
  box-shadow:0 -14px 36px rgba(34, 61, 96, .08), inset 0 1px 0 rgba(255, 255, 255, .72);
  backdrop-filter:blur(28px) saturate(150%);
  -webkit-backdrop-filter:blur(28px) saturate(150%);
}

.kb_center_shell .detail_tabs.kb_result_tabs_dock{
  padding:10px 12px 0;
  background:transparent;
}

.kb_center_shell .kb_query_input,
.kb_center_shell .document_center_search_input,
.kb_center_shell .kb_saved_filter input,
.kb_center_shell .kb_law_download_input{
  border-color:rgba(95, 117, 138, .24);
  background:rgba(255, 255, 255, .58);
  color:var(--kb-ink);
  box-shadow:inset 0 1px 0 rgba(255, 255, 255, .70);
}

.kb_center_shell .kb_query_input:focus,
.kb_center_shell .document_center_search_input:focus,
.kb_center_shell .kb_saved_filter input:focus,
.kb_center_shell .kb_law_download_input:focus{
  border-color:rgba(15, 118, 110, .52);
  box-shadow:0 0 0 3px rgba(15, 118, 110, .12), inset 0 1px 0 rgba(255, 255, 255, .78);
}

.kb_center_shell .kb_query_hint,
.kb_center_shell .kb_case_status,
.kb_center_shell .kb_history_empty,
.kb_center_shell .document_empty{
  border-color:rgba(255, 255, 255, .58);
  background:rgba(255, 255, 255, .42);
  color:var(--kb-muted);
}

.kb_center_shell .kb_history_item,
.kb_center_shell .kb_chat_session_item,
.kb_center_shell .category_item,
.kb_center_shell .kb_metric,
.kb_center_shell .kb_document_card,
.kb_center_shell .kb_basis_card,
.kb_center_shell .kb_citation_card,
.kb_center_shell .kb_chunk_card,
.kb_center_shell .kb_relation_card{
  border-color:rgba(255, 255, 255, .56);
  background:rgba(255, 255, 255, .42);
  box-shadow:inset 0 1px 0 rgba(255, 255, 255, .58);
}

.kb_center_shell .kb_history_item:hover,
.kb_center_shell .kb_history_item.is-active,
.kb_center_shell .kb_chat_session_item:hover,
.kb_center_shell .category_item:hover,
.kb_center_shell .category_item.is-active{
  border-color:rgba(15, 118, 110, .32);
  background:rgba(255, 255, 255, .68);
}

.kb_center_shell .kb_saved_tags i,
.kb_center_shell .kb_badge,
.kb_center_shell .kb_basis_role_badge,
.kb_center_shell .kb_effect_badge{
  border-color:rgba(255, 255, 255, .64);
  background:rgba(255, 255, 255, .52);
  box-shadow:inset 0 1px 0 rgba(255, 255, 255, .62);
}

.kb_center_shell .kb_preview_document_paper,
.kb_center_shell .kb_source_document_paper{
  border-color:rgba(216, 205, 183, .86);
  background:rgba(255, 253, 248, .94);
  box-shadow:0 20px 56px rgba(34, 61, 96, .14);
}

@media (max-width:1180px){
  .kb_center_shell .kb_search_page{
    grid-template-columns:minmax(220px, 260px) minmax(0, 1fr);
  }
  .kb_center_shell .kb_chat_tools{
    display:none;
  }

  /* 原文预览挂载在工具栏内；预览状态下不能随响应式布局一起隐藏。 */
  .kb_center_shell .kb_search_page.is-source-preview .kb_chat_tools{
    display:flex;
    grid-column:auto;
    min-height:0;
    padding:0;
  }
}

@media (max-width:820px){
  .document_center_shell.kb_center_shell{
    padding:10px 10px 86px;
  }
  .kb_center_shell .kb_search_page,
  .kb_center_shell .kb_manage_grid,
  .kb_center_shell .kb_preview_grid{
    grid-template-columns:1fr;
    overflow:auto;
  }
  .kb_center_shell .kb_chat_sidebar{
    min-height:220px;
  }
  .kb_center_shell .kb_chat_heading{
    font-size:24px;
  }
}

.document_center_view.active{
  display:flex;
}

.document_center_shell{
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  display:block;
  padding:12px 12px 92px;
  background:var(--ui-bg);
  color:var(--ui-text);
  overflow:hidden;
}

.document_center_nav,
.document_center_workspace,
.template_list_panel,
.template_detail_panel{
  min-width:0;
  min-height:0;
  border:1px solid var(--ui-border);
  background:var(--ui-panel);
  border-radius:12px;
  box-shadow:var(--ui-shadow);
  overflow:hidden;
}

.document_center_nav{
  display:flex;
  flex-direction:column;
}

.document_center_brand{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:16px 16px 12px;
  border-bottom:1px solid var(--ui-border);
}

.document_center_title{
  font-size:18px;
  line-height:1.25;
  font-weight:700;
}

.document_center_subtitle,
.document_center_hint,
.panel_caption,
.category_desc,
.detail_meta,
.detail_kicker,
.structure_caption{
  color:var(--ui-text-muted);
  font-size:12px;
  line-height:1.45;
}

.document_center_search{
  padding:12px;
  border-bottom:1px solid var(--ui-border);
}

.document_center_search_input{
  width:100%;
  height:36px;
  border:1px solid var(--ui-border);
  background:var(--ui-panel-soft);
  color:var(--ui-text);
  border-radius:8px;
  padding:0 11px;
  font-size:13px;
  outline:none;
}

.document_center_search_input:focus{
  border-color:var(--ui-accent);
  box-shadow:0 0 0 3px var(--ui-accent-soft);
}

.document_center_nav_body{
  flex:1;
  min-height:0;
  overflow:auto;
  padding:12px;
}

.category_group + .category_group{
  margin-top:14px;
}

.category_group_title{
  margin:0 0 7px;
  color:var(--ui-text-muted);
  font-size:11px;
  font-weight:700;
}

.category_items{
  display:flex;
  flex-direction:column;
  gap:6px;
}

.kb_tree_node{
  min-width:0;
}

.kb_tree_children{
  display:flex;
  flex-direction:column;
  gap:5px;
  margin-top:5px;
}

.category_item{
  width:100%;
  min-height:54px;
  border:1px solid transparent;
  background:transparent;
  color:var(--ui-text-soft);
  border-radius:9px;
  padding:9px 10px;
  text-align:left;
  cursor:pointer;
}

.kb_tree_item{
  padding-left:calc(10px + var(--kb-depth, 0) * 14px);
}

.category_item:hover{
  background:var(--ui-card-hover);
}

.category_item.is-active{
  border-color:color-mix(in srgb, var(--ui-accent) 38%, var(--ui-border));
  background:var(--ui-accent-soft);
  color:var(--ui-text);
}

.category_name{
  display:block;
  font-size:13px;
  font-weight:700;
  line-height:1.3;
}

.category_desc{
  display:block;
  margin-top:3px;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}

.document_center_workspace{
  display:flex;
  flex-direction:column;
  height:100%;
  background:transparent;
  border:none;
  box-shadow:none;
  border-radius:0;
  gap:12px;
}

.kb_search_page,
.kb_manage_page,
.kb_preview_page{
  min-width:0;
  min-height:0;
  height:100%;
}

.kb_search_page{
  display:grid;
  grid-template-columns:240px minmax(0, 1fr) 260px;
  grid-template-rows:minmax(0, 1fr);
  gap:12px;
  max-width:none;
  width:100%;
  margin:0;
  overflow:hidden;
}

.kb_search_page.is-source-preview{
  grid-template-columns:minmax(420px, 46%) minmax(520px, 54%);
}

.kb_search_page.is-source-preview .kb_chat_sidebar{
  display:none;
}

.kb_manage_page{
  display:grid;
  grid-template-rows:minmax(0, 1fr);
  gap:12px;
}

.kb_preview_page{
  display:grid;
  position:relative;
  grid-template-rows:minmax(0, 1fr);
  gap:12px;
  height:100%;
  min-height:0;
  overflow:hidden;
}

.kb_search_page[hidden],
.kb_manage_page[hidden],
.kb_preview_page[hidden]{
  display:none !important;
}

.document_center_header{
  flex:0 0 auto;
  min-width:0;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:16px;
  border:1px solid var(--ui-border);
  background:var(--ui-panel);
  border-radius:12px;
  box-shadow:var(--ui-shadow);
}

.document_center_header_main{
  min-width:0;
}

.document_center_eyebrow{
  color:var(--ui-accent);
  font-size:12px;
  font-weight:700;
  line-height:1.4;
}

.document_center_heading{
  margin:3px 0;
  font-size:22px;
  line-height:1.25;
  font-weight:750;
}

.document_center_actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:8px;
}

.document_center_btn{
  height:34px;
  border:1px solid var(--ui-border);
  background:var(--ui-panel);
  color:var(--ui-text-soft);
  border-radius:8px;
  padding:0 12px;
  font-size:13px;
  cursor:pointer;
}

.document_center_btn:hover{
  border-color:var(--ui-border-strong);
  color:var(--ui-text);
}

.document_center_btn.is-primary{
  border-color:#111827;
  background:#111827;
  color:#fff;
}

.document_center_btn:disabled{
  opacity:.62;
  cursor:default;
}

:root[data-theme="dark"] .document_center_btn.is-primary{
  border-color:var(--ui-accent);
  background:var(--ui-accent);
  color:#111827;
}

.document_center_content{
  flex:1;
  min-width:0;
  min-height:0;
  display:grid;
  grid-template-columns:minmax(280px, 360px) minmax(0, 1fr);
  gap:12px;
  overflow:hidden;
}

.kb_result_panel{
  min-width:0;
  min-height:0;
  border:1px solid var(--ui-border);
  background:var(--ui-panel);
  border-radius:12px;
  box-shadow:var(--ui-shadow);
  overflow:hidden;
}

.kb_chat_sidebar,
.kb_chat_main,
.kb_chat_tools{
  min-width:0;
  min-height:0;
  border:1px solid var(--ui-border);
  background:var(--ui-panel);
  border-radius:12px;
  box-shadow:var(--ui-shadow);
  overflow:hidden;
}

.kb_chat_sidebar,
.kb_chat_tools{
  display:flex;
  flex-direction:column;
}

.kb_chat_brand{
  padding:16px 14px 13px;
  border-bottom:1px solid var(--ui-border);
}

.kb_chat_heading{
  margin:4px 0 3px;
  color:var(--ui-text);
  font-size:20px;
  line-height:1.25;
  font-weight:780;
}

.kb_new_chat_btn{
  height:34px;
  margin:12px;
  border:1px solid var(--ui-border);
  border-radius:8px;
  background:var(--ui-panel-soft);
  color:var(--ui-text);
  font-size:13px;
  font-weight:700;
  cursor:pointer;
}

.kb_new_chat_btn:hover{
  border-color:color-mix(in srgb, var(--ui-accent) 35%, var(--ui-border));
  color:var(--ui-accent);
}

.kb_chat_section_title{
  padding:0 14px 8px;
  color:var(--ui-text-muted);
  font-size:11px;
  font-weight:750;
}

.kb_chat_section_title.is-inner{
  padding:8px 2px 6px;
}

.kb_chat_session_list{
  flex:1;
  min-height:0;
  overflow:auto;
  display:flex;
  flex-direction:column;
  gap:7px;
  padding:0 12px 12px;
}

.kb_history_list,
.kb_history_presets{
  display:flex;
  flex-direction:column;
  gap:7px;
}

.kb_saved_filter{
  display:grid;
  gap:7px;
  margin:0 0 7px;
}

.kb_saved_filter input{
  width:100%;
  height:30px;
  border:1px solid var(--ui-border);
  border-radius:8px;
  background:var(--ui-panel-soft);
  color:var(--ui-text);
  padding:0 9px;
  font-size:12px;
  outline:none;
}

.kb_saved_filter input:focus{
  border-color:color-mix(in srgb, var(--ui-accent) 42%, var(--ui-border));
  box-shadow:0 0 0 3px var(--ui-accent-soft);
}

.kb_saved_filter_tags{
  display:flex;
  gap:5px;
  overflow-x:auto;
  padding-bottom:1px;
}

.kb_saved_filter_tags button{
  flex:0 0 auto;
  min-height:24px;
  border:1px solid var(--ui-border);
  border-radius:999px;
  background:var(--ui-panel);
  color:var(--ui-text-muted);
  padding:2px 8px;
  font-size:11px;
  cursor:pointer;
}

.kb_saved_filter_tags button:hover,
.kb_saved_filter_tags button.is-active{
  border-color:color-mix(in srgb, var(--ui-accent) 42%, var(--ui-border));
  background:var(--ui-accent-soft);
  color:var(--ui-accent);
}

.kb_history_item{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 28px;
  align-items:stretch;
  border:1px solid transparent;
  border-radius:9px;
  overflow:hidden;
}

.kb_history_item.kb_saved_item{
  grid-template-columns:minmax(0, 1fr) auto 28px;
}

.kb_history_item:hover,
.kb_history_item.is-active{
  border-color:var(--ui-border);
  background:var(--ui-card-hover);
}

.kb_history_item.is-active{
  border-color:color-mix(in srgb, var(--ui-accent) 36%, var(--ui-border));
  background:var(--ui-accent-soft);
}

.kb_history_button{
  min-width:0;
  border:0;
  background:transparent;
  color:var(--ui-text-soft);
  padding:8px 9px;
  text-align:left;
  cursor:pointer;
}

.kb_history_button span,
.kb_history_button small{
  display:block;
  min-width:0;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}

.kb_history_button span{
  color:var(--ui-text);
  font-size:13px;
  line-height:1.35;
  font-weight:650;
}

.kb_history_button small{
  margin-top:3px;
  color:var(--ui-text-muted);
  font-size:11px;
  line-height:1.35;
}

.kb_saved_tags{
  display:flex;
  flex-wrap:wrap;
  gap:4px;
  margin-top:6px;
  min-width:0;
  font-style:normal;
}

.kb_saved_tags i{
  max-width:100%;
  border:1px solid var(--ui-border);
  border-radius:999px;
  background:var(--ui-panel-soft);
  color:var(--ui-text-soft);
  padding:2px 6px;
  font-size:10px;
  line-height:1.2;
  font-style:normal;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.kb_saved_note{
  display:block;
  margin-top:5px;
  color:var(--ui-text-muted);
  font-size:11px;
  line-height:1.35;
  font-weight:500;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}

.kb_saved_summary{
  display:block;
  margin-top:5px;
  color:var(--ui-text-soft);
  font-size:11px;
  line-height:1.35;
  font-weight:600;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}

.kb_history_edit{
  align-self:stretch;
  border:0;
  border-left:1px solid transparent;
  background:transparent;
  color:var(--ui-text-muted);
  padding:0 7px;
  font-size:11px;
  cursor:pointer;
}

.kb_history_edit:hover{
  border-left-color:var(--ui-border);
  color:var(--ui-accent);
  background:var(--ui-panel-soft);
}

.kb_history_delete{
  border:0;
  border-left:1px solid transparent;
  background:transparent;
  color:var(--ui-text-muted);
  font-size:17px;
  line-height:1;
  cursor:pointer;
}

.kb_history_delete:hover{
  border-left-color:var(--ui-border);
  color:var(--ui-danger, #b42318);
  background:var(--ui-panel-soft);
}

.kb_history_empty{
  border:1px dashed var(--ui-border);
  border-radius:9px;
  padding:10px;
  color:var(--ui-text-muted);
  font-size:12px;
  line-height:1.45;
}

.kb_chat_session_item{
  width:100%;
  min-height:44px;
  border:1px solid transparent;
  border-radius:9px;
  background:transparent;
  color:var(--ui-text-soft);
  padding:8px 10px;
  text-align:left;
  font-size:13px;
  line-height:1.35;
  cursor:pointer;
}

.kb_chat_session_item:hover{
  border-color:var(--ui-border);
  background:var(--ui-card-hover);
  color:var(--ui-text);
}

.kb_chat_main{
  display:flex;
  flex-direction:column;
  min-height:0;
  overflow:hidden;
}

.kb_chat_thread{
  flex:1 1 auto;
  min-width:0;
  min-height:0;
  overflow:hidden;
  background:var(--ui-panel);
  position:relative;
}

.kb_chat_thread > .detail_view{
  height:100%;
  min-height:0;
  overflow:hidden;
}

.kb_chat_composer{
  flex:0 0 auto;
  align-self:stretch;
  align-content:start;
  grid-template-columns:minmax(0, 1fr);
  grid-template-rows:auto auto auto;
  border-width:1px 0 0;
  border-radius:0;
  box-shadow:none;
  position:relative;
  z-index:2;
}

.detail_tabs.kb_result_tabs_dock{
  grid-column:auto;
  background:var(--ui-panel);
  border:none;
  padding:0;
  position:relative;
  z-index:3;
  overflow:hidden;
}

.detail_tabs.kb_result_tabs_dock .detail_tab{
  border-radius:8px;
}

.kb_chat_tools{
  gap:10px;
  padding:12px;
}

.kb_search_page.is-source-preview .kb_chat_tools{
  padding:0;
}

.kb_search_page.is-source-preview .kb_chat_tools > .kb_tool_card{
  display:none;
}

.kb_tool_card{
  min-width:0;
  border:1px solid var(--ui-border);
  border-radius:10px;
  background:var(--ui-panel-soft);
  padding:11px;
}

.kb_tool_title{
  margin-bottom:9px;
  color:var(--ui-text);
  font-size:13px;
  line-height:1.3;
  font-weight:760;
}

.kb_tool_button{
  width:100%;
  min-height:32px;
  border:1px solid var(--ui-border);
  border-radius:8px;
  background:var(--ui-panel);
  color:var(--ui-text-soft);
  padding:0 10px;
  font-size:13px;
  cursor:pointer;
}

.kb_tool_button + .kb_tool_button{
  margin-top:7px;
}

.kb_tool_button:hover{
  border-color:var(--ui-border-strong);
  color:var(--ui-text);
}

.kb_tool_button.is-primary{
  border-color:#111827;
  background:#111827;
  color:#fff;
}

:root[data-theme="dark"] .kb_tool_button.is-primary{
  border-color:var(--ui-accent);
  background:var(--ui-accent);
  color:#111827;
}

.kb_tool_button:disabled{
  opacity:.62;
  cursor:default;
}

.kb_source_preview_panel{
  min-width:0;
  min-height:0;
  height:100%;
  display:grid;
  grid-template-rows:auto minmax(0, 1fr) auto;
  overflow:hidden;
  background:var(--ui-panel);
}

.kb_source_preview_panel[hidden]{
  display:none !important;
}

.kb_source_preview_head{
  min-width:0;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:13px 14px;
  border-bottom:1px solid var(--ui-border);
  background:var(--ui-panel);
}

.kb_source_preview_kicker{
  color:var(--ui-accent);
  font-size:12px;
  font-weight:750;
  line-height:1.4;
}

.kb_source_preview_title{
  margin-top:3px;
  color:var(--ui-text);
  font-size:16px;
  line-height:1.35;
  font-weight:760;
}

.kb_source_preview_meta{
  margin-top:4px;
  color:var(--ui-text-muted);
  font-size:12px;
  line-height:1.45;
}

.kb_source_preview_actions{
  flex:0 0 auto;
  display:flex;
  gap:8px;
}

.kb_source_preview_actions button{
  height:30px;
  border:1px solid var(--ui-border);
  border-radius:8px;
  background:var(--ui-panel-soft);
  color:var(--ui-text-soft);
  padding:0 10px;
  font-size:12px;
  cursor:pointer;
}

.kb_source_preview_actions button:hover{
  border-color:var(--ui-border-strong);
  color:var(--ui-text);
}

.kb_source_preview_body{
  min-width:0;
  min-height:0;
  overflow:auto;
  padding:16px;
  background:color-mix(in srgb, var(--ui-panel-soft) 86%, var(--ui-bg));
}

.kb_source_document_paper{
  width:min(760px, 100%);
}

.kb_source_document_paper .kb_preview_document_content{
  padding:34px 44px 46px;
  font-size:18px;
  line-height:1.9;
}

.kb_source_document_paper .kb_preview_document_content h1{
  font-size:24px;
}

.kb_source_document_paper .kb_preview_document_content h2,
.kb_source_document_paper .kb_preview_document_content h3,
.kb_source_document_paper .kb_preview_document_content p.kb_legal_article,
.kb_source_document_paper .kb_preview_document_content p.kb_legal_meta,
.kb_source_document_paper .kb_preview_document_content p.kb_legal_note,
.kb_source_document_paper .kb_preview_document_content p.kb_legal_catalog_entry,
.kb_source_document_paper .kb_preview_document_content p.kb_legal_catalog_section,
.kb_source_document_paper .kb_preview_document_content h2.kb_legal_part,
.kb_source_document_paper .kb_preview_document_content h2.kb_legal_chapter,
.kb_source_document_paper .kb_preview_document_content h2.kb_legal_section,
.kb_source_document_paper .kb_preview_document_content p.kb_legal_part,
.kb_source_document_paper .kb_preview_document_content p.kb_legal_chapter,
.kb_source_document_paper .kb_preview_document_content p.kb_legal_section{
  font-size:18px;
}

.kb_source_preview_foot{
  min-height:34px;
  border-top:1px solid var(--ui-border);
  padding:8px 14px;
  color:var(--ui-text-muted);
  font-size:12px;
  line-height:1.45;
  background:var(--ui-panel);
}

.kb_tool_hint{
  color:var(--ui-text-muted);
  font-size:12px;
  line-height:1.55;
}

.kb_manage_grid{
  min-width:0;
  min-height:0;
  display:grid;
  grid-template-columns:minmax(220px, 280px) minmax(300px, 420px) minmax(0, 1fr);
  gap:12px;
  overflow:hidden;
}

.kb_preview_grid{
  min-width:0;
  min-height:0;
  height:100%;
  display:grid;
  grid-template-columns:minmax(280px, 360px) minmax(0, 1fr);
  gap:12px;
  align-items:stretch;
  overflow:hidden;
}

.kb_manage_nav,
.kb_manage_detail_panel,
.kb_preview_list_panel,
.kb_preview_detail_panel{
  height:100%;
  min-height:0;
}

.kb_manage_detail_view,
.kb_preview_detail_view{
  display:flex;
  flex-direction:column;
  min-height:0;
}

.kb_preview_head_actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  align-items:center;
  gap:8px;
  min-width:220px;
}

.kb_preview_mode_actions{
  display:flex;
  align-items:center;
  gap:6px;
  padding:3px;
  border:1px solid var(--ui-border);
  border-radius:8px;
  background:var(--ui-panel-soft);
}

.kb_preview_mode_actions .document_center_btn{
  min-height:28px;
  padding:0 10px;
  border-radius:6px;
  font-size:12px;
}

.kb_manage_doc_detail{
  min-height:0;
  overflow:auto;
  padding:12px;
  border-top:1px solid var(--ui-border);
}

.kb_preview_search{
  padding:10px 12px;
  border-bottom:1px solid var(--ui-border);
}

.kb_preview_body{
  flex:1;
  min-height:0;
  overflow:auto;
  padding:18px;
  background:color-mix(in srgb, var(--ui-panel-soft) 86%, var(--ui-bg));
}

.kb_preview_manage_panel{
  max-width:980px;
  margin:0 auto;
}

.kb_preview_manage_panel .kb_doc_detail{
  background:var(--ui-panel);
  border:1px solid var(--ui-border);
  border-radius:8px;
  padding:14px;
  box-shadow:0 12px 30px rgba(15, 23, 42, .06);
}

.kb_preview_document_paper{
  width:min(900px, 100%);
  min-height:100%;
  margin:0 auto;
  border:1px solid color-mix(in srgb, var(--ui-border) 82%, #d8cdb7);
  border-radius:2px;
  background:#fffdf8;
  box-shadow:0 16px 38px rgba(15, 23, 42, .08);
}

.kb_preview_document_content{
  padding:54px 72px 68px;
  color:#171717;
  font-family:"FangSong", "FangSong_GB2312", "STFangsong", "Songti SC", "STSong", "SimSun", "Noto Serif CJK SC", serif;
  font-size:21px;
  line-height:1.95;
  word-break:break-word;
  overflow-wrap:anywhere;
  text-align:justify;
}

.kb_preview_document_content h1,
.kb_preview_document_content h2,
.kb_preview_document_content h3{
  color:#111;
  line-height:1.45;
  text-align:center;
  font-weight:400;
  letter-spacing:0;
}

.kb_preview_document_content h1{
  max-width:720px;
  margin:0 auto 18px;
  font-family:"Songti SC", "STSong", "SimSun", "Noto Serif CJK SC", serif;
  font-size:29px;
}

.kb_preview_document_content h2{
  margin:30px 0 14px;
  font-size:21px;
}

.kb_preview_document_content h3{
  margin:22px 0 12px;
  font-size:21px;
}

.kb_preview_document_content p{
  margin:0 0 2px;
  text-indent:2em;
}

.kb_preview_document_content .kb_legal_heading + .kb_legal_meta,
.kb_preview_document_content .kb_legal_heading + .kb_legal_note{
  margin-top:-4px;
}

.kb_preview_document_content p.kb_legal_meta,
.kb_preview_document_content p.kb_legal_note{
  color:#252525;
  font-family:"KaiTi", "Kaiti SC", "STKaiti", "KaiTi_GB2312", "Songti SC", serif;
  font-size:21px;
  line-height:1.7;
  text-align:center;
  text-indent:0;
}

.kb_preview_document_content p.kb_legal_note{
  max-width:680px;
  margin:0 auto 18px;
}

.kb_preview_document_content h2.kb_legal_part,
.kb_preview_document_content h2.kb_legal_chapter,
.kb_preview_document_content h2.kb_legal_section,
.kb_preview_document_content p.kb_legal_part,
.kb_preview_document_content p.kb_legal_chapter,
.kb_preview_document_content p.kb_legal_section{
  margin:24px 0 10px;
  color:#111;
  font-family:"SimHei", "STHeiti", "Heiti SC", "Microsoft YaHei", sans-serif;
  font-size:21px;
  line-height:1.7;
  text-align:center;
  text-indent:0;
  font-weight:400;
}

.kb_preview_document_content h2.kb_legal_catalog_title{
  margin:24px 0 12px;
  color:#111;
  font-family:"KaiTi", "Kaiti SC", "STKaiti", "KaiTi_GB2312", "Songti SC", serif;
  font-size:21px;
  line-height:1.7;
  text-align:center;
  font-weight:400;
}

.kb_preview_document_content p.kb_legal_catalog_entry,
.kb_preview_document_content p.kb_legal_catalog_section{
  margin:0 0 2px;
  color:#111;
  font-family:"KaiTi", "Kaiti SC", "STKaiti", "KaiTi_GB2312", "Songti SC", serif;
  font-size:21px;
  line-height:1.55;
  text-align:justify;
  text-indent:2em;
}

.kb_preview_document_content p.kb_legal_catalog_section{
  text-indent:4em;
}

.kb_preview_document_content p.kb_legal_article{
  margin:0 0 2px;
  font-family:"FangSong", "FangSong_GB2312", "STFangsong", "Songti SC", "STSong", serif;
  font-size:21px;
  line-height:1.95;
  text-indent:2em;
  font-weight:400;
}

.kb_preview_document_content .kb_legal_article_no{
  font-family:"SimHei", "STHeiti", "Heiti SC", "Microsoft YaHei", sans-serif;
  font-weight:400;
}

.kb_preview_document_content p.kb_legal_article.is-current{
  border-left:3px solid color-mix(in srgb, var(--ui-accent) 70%, #111);
  margin-left:-14px;
  padding-left:11px;
  background:color-mix(in srgb, var(--ui-accent) 8%, transparent);
}

.kb_preview_document_content mark.kb_preview_mark{
  border-radius:2px;
  background:#fff2a8;
  color:inherit;
  padding:0 1px;
}

.kb_preview_document_content p.kb_legal_item{
  margin:0 0 2px;
  padding-left:2em;
  text-indent:0;
}

.kb_preview_document_content ul{
  margin:0 0 14px 2em;
  padding:0;
}

.kb_preview_document_content li{
  margin:0 0 6px;
}

.kb_preview_placeholder{
  min-height:180px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px dashed var(--ui-border);
  border-radius:8px;
  background:var(--ui-panel);
  color:var(--ui-text-muted);
  padding:18px;
  text-align:center;
  font-size:13px;
  line-height:1.7;
}

.kb_status_stack{
  padding:12px;
  border-bottom:1px solid var(--ui-border);
}

.kb_status_line{
  color:var(--ui-text-muted);
  font-size:12px;
  line-height:1.45;
}

.kb_header_status{
  margin-top:7px;
  color:var(--ui-text-soft);
  font-weight:600;
}

.kb_status_stack .kb_metric_grid{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

.kb_status_stack .kb_metric{
  padding:7px;
}

.kb_status_stack .kb_metric strong{
  font-size:16px;
}

.kb_status_stack .kb_metric span{
  margin-top:3px;
  font-size:11px;
}

.kb_metric_grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:8px;
}

.kb_metric{
  min-width:0;
  border:1px solid var(--ui-border);
  border-radius:8px;
  padding:8px;
  background:var(--ui-panel-soft);
}

.kb_metric strong{
  display:block;
  color:var(--ui-text);
  font-size:18px;
  line-height:1.1;
}

.kb_metric span{
  display:block;
  margin-top:4px;
  color:var(--ui-text-muted);
  font-size:12px;
}

.kb_import_panel,
.kb_law_update_panel,
.kb_ingest_panel,
.kb_override_panel{
  padding:12px;
  border-bottom:1px solid var(--ui-border);
  background:var(--ui-panel);
}

.kb_import_head,
.kb_ingest_entry_head,
.kb_ingest_queue_head,
.kb_import_actions,
.kb_import_item_top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}

.kb_ingest_panel{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.kb_ingest_entry_grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
}

.kb_ingest_entry,
.kb_ingest_queue,
.kb_official_registry{
  min-width:0;
  border:1px solid var(--ui-border);
  border-radius:10px;
  padding:10px;
  background:var(--ui-panel-soft);
}

.kb_ingest_queue{
  background:var(--ui-panel);
}

.kb_ingest_entry_kicker{
  color:var(--ui-text-muted);
  font-size:10px;
  font-weight:750;
  line-height:1.35;
}

.kb_import_title{
  color:var(--ui-text);
  font-size:13px;
  font-weight:750;
}

.kb_import_status,
.kb_import_counts,
.kb_import_path,
.kb_law_update_meta,
.kb_ingest_entry_meta,
.kb_import_item_meta{
  color:var(--ui-text-muted);
  font-size:12px;
  line-height:1.45;
}

.kb_ingest_entry_meta{
  margin-top:6px;
}

.kb_import_path{
  margin-top:8px;
  border:1px solid var(--ui-border);
  border-radius:8px;
  padding:7px 8px;
  background:var(--ui-panel-soft);
  word-break:break-all;
}

.kb_import_actions{
  margin-top:9px;
}

.kb_import_actions .document_center_btn{
  flex:1;
  min-width:0;
  padding:0 8px;
}

.kb_import_counts{
  margin-top:8px;
}

.kb_law_update_meta{
  margin-top:8px;
}

.kb_ingest_queue_head .document_center_btn{
  flex:0 0 auto;
}

.kb_law_download_row{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:8px;
  margin-top:9px;
}

.kb_law_download_input{
  min-width:0;
  height:32px;
  border:1px solid var(--ui-border);
  border-radius:8px;
  padding:0 9px;
  background:var(--ui-panel-soft);
  color:var(--ui-text);
  font-size:12px;
  outline:none;
}

.kb_law_download_input:focus{
  border-color:color-mix(in srgb, var(--ui-text) 28%, var(--ui-border));
  box-shadow:0 0 0 2px color-mix(in srgb, var(--ui-text) 8%, transparent);
}

.kb_law_source_list,
.kb_law_update_output{
  display:flex;
  flex-direction:column;
  gap:7px;
  margin-top:9px;
}

.kb_official_registry .kb_law_source_list,
.kb_official_registry .kb_law_update_output{
  max-height:180px;
  overflow:auto;
}

.kb_law_source_item,
.kb_law_update_item,
.kb_law_update_message{
  border:1px solid var(--ui-border);
  border-radius:9px;
  padding:8px;
  background:var(--ui-panel-soft);
}

.kb_law_update_item.is-changed{
  border-color:color-mix(in srgb, #f59e0b 65%, var(--ui-border));
  background:color-mix(in srgb, #f59e0b 7%, var(--ui-panel-soft));
}

.kb_law_update_message{
  color:var(--ui-text-muted);
  font-size:12px;
  line-height:1.45;
}

.kb_import_complete_note{
  border:1px solid color-mix(in srgb, #16a34a 42%, var(--ui-border));
  border-radius:8px;
  padding:7px 8px;
  background:color-mix(in srgb, #16a34a 7%, var(--ui-panel-soft));
  color:var(--ui-text-muted);
  font-size:11px;
  line-height:1.45;
}

.kb_import_list{
  max-height:min(420px, calc(100vh - 410px));
  overflow:auto;
  display:flex;
  flex-direction:column;
  gap:7px;
  margin-top:9px;
}

.kb_import_item{
  min-width:0;
  border:1px solid var(--ui-border);
  border-radius:9px;
  padding:8px;
  background:var(--ui-panel-soft);
}

.kb_import_item.is-ready{
  border-color:var(--ui-success-border);
}

.kb_import_item.is-needs-review{
  border-color:color-mix(in srgb, #f59e0b 45%, var(--ui-border));
  background:color-mix(in srgb, #f59e0b 6%, var(--ui-panel-soft));
}

.kb_import_item.is-warning,
.kb_import_item.is-version-conflict{
  border-color:color-mix(in srgb, #f59e0b 70%, var(--ui-border));
  background:color-mix(in srgb, #f59e0b 8%, var(--ui-panel-soft));
}

.kb_import_item.is-duplicate{
  border-color:color-mix(in srgb, #64748b 55%, var(--ui-border));
  opacity:.82;
}

.kb_import_item strong{
  min-width:0;
  overflow:hidden;
  color:var(--ui-text);
  font-size:12px;
  line-height:1.35;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.kb_import_item span{
  flex:0 0 auto;
  border:1px solid var(--ui-border);
  border-radius:999px;
  padding:2px 6px;
  color:var(--ui-text-muted);
  font-size:10px;
}

.kb_import_item_reason{
  margin-top:5px;
  color:var(--ui-text-muted);
  font-size:11px;
  line-height:1.45;
}

.kb_override_list{
  display:flex;
  flex-direction:column;
  gap:7px;
  max-height:260px;
  overflow:auto;
  margin-top:9px;
}

.kb_override_item{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  border:1px solid var(--ui-border);
  border-radius:9px;
  padding:9px;
  background:var(--ui-panel-soft);
}

.kb_override_main{
  min-width:0;
  display:grid;
  gap:4px;
}

.kb_override_main strong{
  overflow:hidden;
  color:var(--ui-text);
  font-size:12px;
  line-height:1.35;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.kb_override_main span,
.kb_override_main small{
  color:var(--ui-text-muted);
  font-size:11px;
  line-height:1.35;
}

.kb_override_actions{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:5px;
}

.kb_override_actions button{
  height:26px;
  border:1px solid var(--ui-border);
  border-radius:6px;
  background:var(--ui-panel);
  color:var(--ui-text-muted);
  font-size:12px;
  padding:0 8px;
  cursor:pointer;
}

.kb_override_actions button:hover{
  border-color:color-mix(in srgb, var(--ui-accent) 38%, var(--ui-border));
  color:var(--ui-accent);
}

.kb_review_form{
  display:grid;
  grid-template-columns:1fr;
  gap:6px;
  margin-top:8px;
  border-top:1px solid var(--ui-border);
  padding-top:8px;
}

.kb_review_field{
  display:grid;
  grid-template-columns:58px minmax(0, 1fr);
  align-items:center;
  gap:6px;
  min-width:0;
  color:var(--ui-text-muted);
  font-size:11px;
}

.kb_review_field select{
  min-width:0;
  height:28px;
  border:1px solid var(--ui-border);
  border-radius:7px;
  padding:0 7px;
  background:var(--ui-panel);
  color:var(--ui-text);
  font-size:12px;
}

.kb_review_form .document_center_btn{
  width:100%;
  min-height:30px;
}

.kb_staging_note{
  border:1px dashed color-mix(in srgb, #f59e0b 60%, var(--ui-border));
  border-radius:9px;
  padding:8px;
  background:color-mix(in srgb, #f59e0b 7%, var(--ui-panel-soft));
  color:var(--ui-text-muted);
  font-size:11px;
  line-height:1.5;
  word-break:break-all;
}

.kb_boundary_note{
  margin-top:12px;
  border:1px dashed var(--ui-border);
  border-radius:9px;
  padding:10px;
  color:var(--ui-text-muted);
  background:var(--ui-panel-soft);
  font-size:12px;
  line-height:1.55;
}

.category_item.is-active-soft{
  border-color:color-mix(in srgb, var(--ui-accent) 18%, var(--ui-border));
}

.kb_query_panel{
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  gap:10px;
  padding:12px 14px;
  border:1px solid var(--ui-border);
  border-radius:12px;
  background:var(--ui-panel);
  box-shadow:var(--ui-shadow);
}

.kb_query_main{
  min-width:0;
}

.kb_query_input{
  width:100%;
  min-height:68px;
  resize:vertical;
  border:1px solid var(--ui-border);
  border-radius:8px;
  padding:9px 10px;
  background:var(--ui-panel-soft);
  color:var(--ui-text);
  font-size:13px;
  line-height:1.55;
  outline:none;
}

.kb_query_input:focus{
  border-color:var(--ui-accent);
  box-shadow:0 0 0 3px var(--ui-accent-soft);
}

.kb_query_presets{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  min-width:0;
}

.kb_preset_chip{
  min-height:26px;
  border:1px solid var(--ui-border);
  background:var(--ui-panel-soft);
  color:var(--ui-text-soft);
  border-radius:999px;
  padding:4px 9px;
  font-size:12px;
  line-height:1.25;
  cursor:pointer;
}

.kb_preset_chip:hover{
  border-color:color-mix(in srgb, var(--ui-accent) 35%, var(--ui-border));
  color:var(--ui-accent);
}

.kb_query_side{
  grid-column:1 / -1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-width:0;
}

.kb_query_submit{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex:0 0 auto;
  min-width:max-content;
}

.kb_query_actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  min-width:0;
}

.kb_query_actions .document_center_btn{
  min-width:148px;
}

.kb_query_hint{
  min-width:0;
  color:var(--ui-text-muted);
  font-size:12px;
  line-height:1.5;
}

.kb_center_content{
  grid-template-columns:minmax(300px, 380px) minmax(0, 1fr);
}

.template_list_panel,
.template_detail_panel{
  display:flex;
  flex-direction:column;
}

.panel_head{
  min-height:64px;
  padding:13px 14px;
  border-bottom:1px solid var(--ui-border);
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.panel_title{
  font-size:15px;
  font-weight:750;
  line-height:1.3;
}

.template_filter{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:6px;
}

.kb_documents_panel .template_filter{
  display:block;
  width:100%;
  max-height:180px;
  overflow:auto;
  justify-content:stretch;
  border-top:1px solid var(--ui-border);
  padding-top:8px;
}

.filter_chip{
  height:26px;
  border:1px solid var(--ui-border);
  background:var(--ui-panel-soft);
  color:var(--ui-text-soft);
  border-radius:999px;
  padding:0 10px;
  font-size:12px;
  cursor:pointer;
}

.filter_chip.is-active{
  border-color:color-mix(in srgb, var(--ui-accent) 42%, var(--ui-border));
  background:var(--ui-accent-soft);
  color:var(--ui-accent);
  font-weight:700;
}

.kb_preview_filter_panel,
.kb_documents_panel .template_filter{
  border-bottom:1px solid var(--ui-border);
  background:color-mix(in srgb, var(--ui-panel-soft) 68%, var(--ui-panel));
  padding:9px 12px 8px;
}

.kb_preview_filter_row{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:6px;
}

.kb_preview_filter_row.is-primary{
  padding-bottom:8px;
  border-bottom:1px solid color-mix(in srgb, var(--ui-border) 72%, transparent);
}

.kb_preview_filter_row + .kb_preview_filter_row{
  margin-top:8px;
}

.kb_preview_filter_label{
  color:var(--ui-text-muted);
  font-size:11px;
  line-height:1.25;
  font-weight:750;
  white-space:nowrap;
}

.kb_preview_filter_chips{
  min-width:0;
  display:flex;
  flex-wrap:wrap;
  gap:5px;
}

.kb_preview_filter_chips .filter_chip{
  max-width:100%;
  height:24px;
  padding:0 8px;
  font-size:11px;
}

.kb_preview_filter_footer{
  display:flex;
  justify-content:flex-end;
  margin-top:6px;
}

.kb_filter_clear{
  height:24px;
  border:none;
  background:transparent;
  color:var(--ui-text-muted);
  padding:0 2px;
  font-size:12px;
  cursor:pointer;
}

.kb_filter_clear:hover:not(:disabled){
  color:var(--ui-accent);
}

.kb_filter_clear:disabled{
  opacity:.45;
  cursor:default;
}

.template_list{
  flex:1;
  min-height:0;
  overflow:auto;
  padding:12px;
}

.template_item + .template_item{
  margin-top:8px;
}

.template_item{
  border:1px solid var(--ui-border);
  background:var(--ui-panel);
  border-radius:10px;
  overflow:hidden;
}

.template_item.is-active{
  border-color:var(--ui-accent);
  box-shadow:0 0 0 3px var(--ui-accent-soft);
}

.template_item_button{
  width:100%;
  border:none;
  background:transparent;
  color:var(--ui-text);
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:11px;
  text-align:left;
  cursor:pointer;
}

.template_item_button:hover{
  background:var(--ui-card-hover);
}

.template_item_top,
.template_item_meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}

.template_item_top{
  align-items:flex-start;
}

.template_item_type,
.template_item_status{
  height:20px;
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:0 8px;
  font-size:11px;
}

.template_item_type{
  background:var(--ui-panel-soft);
  color:var(--ui-text-soft);
}

.kb_card_badges{
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:5px;
}

.kb_effect_badge,
.kb_classification_badge{
  min-height:20px;
  max-width:100%;
  display:inline-flex;
  align-items:center;
  border:1px solid var(--ui-border);
  border-radius:999px;
  padding:0 8px;
  font-size:11px;
  line-height:1.2;
  font-weight:700;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}

.kb_effect_badge.is-success,
.kb_classification_badge.is-success{
  border-color:var(--ui-success-border);
  background:var(--ui-success-bg);
  color:var(--ui-success-text);
}

.kb_effect_badge.is-warning,
.kb_classification_badge.is-warning{
  border-color:color-mix(in srgb, #d97706 52%, var(--ui-border));
  background:color-mix(in srgb, #f59e0b 14%, var(--ui-panel));
  color:#92400e;
}

:root[data-theme="dark"] .kb_effect_badge.is-warning,
:root[data-theme="dark"] .kb_classification_badge.is-warning{
  color:#fbbf24;
}

.kb_effect_badge.is-danger,
.kb_classification_badge.is-danger{
  border-color:color-mix(in srgb, #dc2626 50%, var(--ui-border));
  background:color-mix(in srgb, #ef4444 12%, var(--ui-panel));
  color:#b91c1c;
}

:root[data-theme="dark"] .kb_effect_badge.is-danger,
:root[data-theme="dark"] .kb_classification_badge.is-danger{
  color:#fca5a5;
}

.kb_effect_badge.is-info{
  border-color:color-mix(in srgb, var(--ui-accent) 44%, var(--ui-border));
  background:var(--ui-accent-soft);
  color:var(--ui-accent);
}

.kb_effect_badge.is-muted{
  border-color:var(--ui-border);
  background:var(--ui-panel-soft);
  color:var(--ui-text-muted);
}

.template_item_status{
  background:var(--ui-success-bg);
  color:var(--ui-success-text);
  border:1px solid var(--ui-success-border);
}

.template_item_name{
  min-width:0;
  color:var(--ui-text);
  font-size:14px;
  font-weight:750;
  line-height:1.35;
}

.template_item_meta{
  color:var(--ui-text-muted);
  font-size:12px;
  align-items:flex-start;
}

.template_item_meta span:first-child{
  min-width:0;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}

.kb_effect_line,
.kb_effect_source_line,
.kb_classification_line{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  min-width:0;
  color:var(--ui-text-muted);
  font-size:11px;
  line-height:1.35;
}

.kb_effect_line{
  flex-wrap:wrap;
  justify-content:flex-start;
}

.kb_classification_line{
  flex-wrap:wrap;
  justify-content:flex-start;
}

.kb_effect_line b,
.kb_classification_line b{
  color:var(--ui-text-soft);
  font-weight:700;
}

.kb_effect_line em,
.kb_classification_line em{
  max-width:100%;
  color:var(--ui-text);
  font-style:normal;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}

.kb_effect_source_line span{
  min-width:0;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}

.kb_classification_risks{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
}

.kb_classification_risks i{
  min-height:19px;
  display:inline-flex;
  align-items:center;
  border:1px solid color-mix(in srgb, #d97706 34%, var(--ui-border));
  border-radius:5px;
  padding:0 6px;
  background:color-mix(in srgb, #f59e0b 8%, var(--ui-panel));
  color:var(--ui-text-muted);
  font-size:10px;
  font-style:normal;
}

.kb_preview_list_panel .panel_head{
  min-height:58px;
  padding:12px;
}

.kb_preview_list_panel .template_list{
  padding:8px;
}

.kb_preview_doc_item + .kb_preview_doc_item{
  margin-top:6px;
}

.kb_preview_doc_item{
  border-color:transparent;
  border-radius:8px;
  background:transparent;
}

.kb_preview_doc_item.is-active{
  border-color:color-mix(in srgb, var(--ui-accent) 48%, var(--ui-border));
  background:var(--ui-panel);
  box-shadow:inset 3px 0 0 var(--ui-accent);
}

.kb_preview_doc_item .template_item_button{
  gap:5px;
  padding:9px 10px;
  border-radius:8px;
}

.kb_preview_doc_item .template_item_button:hover{
  background:var(--ui-card-hover);
}

.kb_preview_doc_item .template_item_top{
  justify-content:space-between;
}

.kb_preview_doc_item .template_item_type,
.kb_preview_doc_item .template_item_status,
.kb_preview_doc_item .kb_effect_badge,
.kb_preview_doc_item .kb_classification_badge{
  max-width:48%;
  height:18px;
  border-radius:4px;
  padding:0 6px;
  font-size:10px;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}

.kb_preview_doc_item .kb_card_badges{
  flex:1 1 auto;
  justify-content:flex-end;
}

.kb_preview_doc_item .template_item_status{
  background:transparent;
  color:var(--ui-text-muted);
  border-color:var(--ui-border);
}

.kb_preview_doc_item .template_item_name{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  font-size:13px;
  font-weight:700;
  line-height:1.45;
}

.kb_preview_doc_item .template_item_meta{
  flex-direction:column;
  align-items:flex-start;
  gap:2px;
  font-size:11px;
  line-height:1.35;
}

.kb_preview_doc_item .template_item_meta span{
  max-width:100%;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}

.kb_document_summary{
  color:var(--ui-text-muted);
  font-size:12px;
  line-height:1.45;
}

.kb_topic_line{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
}

.kb_topic_line b{
  min-height:20px;
  display:inline-flex;
  align-items:center;
  max-width:100%;
  border:1px solid var(--ui-border);
  border-radius:999px;
  padding:0 7px;
  background:var(--ui-panel-soft);
  color:var(--ui-text-muted);
  font-size:11px;
  font-weight:600;
}

.kb_doc_detail{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.kb_doc_title_row{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  border:1px solid var(--ui-border);
  background:var(--ui-panel-soft);
  border-radius:10px;
  padding:12px;
}

.kb_doc_title_row strong{
  min-width:0;
  color:var(--ui-text);
  font-size:16px;
  line-height:1.35;
}

.kb_doc_meta_grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
  margin:0;
}

.kb_doc_meta_grid div{
  min-width:0;
  border:1px solid var(--ui-border);
  border-radius:10px;
  padding:10px;
  background:var(--ui-panel-soft);
}

.kb_doc_meta_grid div.is-wide{
  grid-column:1 / -1;
}

.kb_doc_meta_grid dt{
  margin:0 0 5px;
  color:var(--ui-text-muted);
  font-size:12px;
}

.kb_doc_meta_grid dd{
  margin:0;
  color:var(--ui-text);
  font-size:13px;
  line-height:1.45;
  word-break:break-word;
}

.kb_doc_meta_grid code,
.kb_doc_summary{
  color:var(--ui-text-soft);
}

.kb_doc_summary{
  border-left:3px solid var(--ui-accent);
  padding:10px 12px;
  background:var(--ui-panel-soft);
  border-radius:8px;
  font-size:13px;
  line-height:1.6;
}

.kb_effect_notice{
  border:1px solid color-mix(in srgb, #d97706 38%, var(--ui-border));
  border-left:3px solid #d97706;
  border-radius:8px;
  padding:10px 12px;
  background:color-mix(in srgb, #f59e0b 10%, var(--ui-panel));
  color:var(--ui-text);
  font-size:13px;
  line-height:1.55;
}

.detail_empty,
.detail_view{
  flex:1;
  min-height:0;
}

.detail_empty{
  padding:12px;
}

.detail_view{
  display:flex;
  flex-direction:column;
}

.detail_view[hidden],
.detail_empty[hidden]{
  display:none;
}

.detail_head{
  flex:0 0 auto;
  padding:15px 16px 12px;
  border-bottom:1px solid var(--ui-border);
  display:flex;
  justify-content:space-between;
  gap:16px;
}

.detail_title{
  margin-top:2px;
  color:var(--ui-text);
  font-size:20px;
  font-weight:780;
  line-height:1.25;
}

.detail_status{
  align-self:flex-start;
  border:1px solid var(--ui-success-border);
  background:var(--ui-success-bg);
  color:var(--ui-success-text);
  border-radius:999px;
  padding:4px 10px;
  font-size:12px;
  font-weight:700;
}

.kb_work_record_button{
  min-height:30px;
  border:1px solid var(--ui-border);
  border-radius:999px;
  background:var(--ui-panel);
  color:var(--ui-text);
  padding:4px 10px;
  font-size:12px;
  font-weight:750;
  cursor:pointer;
}

.kb_work_record_button:hover{
  border-color:color-mix(in srgb, var(--ui-accent) 45%, var(--ui-border));
  color:var(--ui-accent);
}

.kb_work_record_button.is-saved{
  border-color:var(--ui-success-border);
  background:var(--ui-success-bg);
  color:var(--ui-success-text);
}

.detail_tabs{
  flex:0 0 auto;
  display:flex;
  gap:4px;
  padding:8px 12px 0;
  border-bottom:1px solid var(--ui-border);
  overflow-x:auto;
}

.detail_tab{
  height:34px;
  border:none;
  background:transparent;
  color:var(--ui-text-soft);
  border-radius:8px 8px 0 0;
  padding:0 12px;
  font-size:13px;
  white-space:nowrap;
  cursor:pointer;
}

.detail_tab:hover{
  color:var(--ui-text);
  background:var(--ui-card-hover);
}

.detail_tab.is-active{
  background:var(--ui-panel-soft);
  color:var(--ui-text);
  font-weight:750;
}

.detail_body{
  flex:1;
  min-height:0;
  overflow:auto;
  padding:14px;
  padding-bottom:150px;
  overscroll-behavior:contain;
  scroll-padding-block:14px 120px;
}

.kb_answer_summary,
.kb_answer_warning,
.kb_understanding_panel,
.kb_answer_block,
.kb_chunk_item,
.kb_citation_item{
  border:1px solid var(--ui-border);
  background:var(--ui-panel-soft);
  border-radius:10px;
}

.kb_answer_warning{
  margin-bottom:12px;
  border-color:color-mix(in srgb, #f59e0b 42%, var(--ui-border));
  background:color-mix(in srgb, #f59e0b 12%, var(--ui-panel));
  padding:12px;
}

.kb_answer_warning strong{
  display:block;
  color:#92400e;
  font-size:14px;
  line-height:1.4;
}

.kb_answer_warning p{
  margin:6px 0 0;
  color:var(--ui-text);
  font-size:13px;
  line-height:1.55;
}

.kb_answer_summary{
  padding:12px;
  color:var(--ui-text);
  font-size:13px;
  line-height:1.65;
}

.kb_understanding_panel{
  margin-bottom:12px;
  padding:12px;
}

.kb_understanding_panel:not([open]){
  padding:0;
}

.kb_understanding_head{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:10px;
  cursor:pointer;
  list-style:none;
}

.kb_understanding_head::-webkit-details-marker{
  display:none;
}

.kb_understanding_head::before{
  content:'▸';
  color:var(--ui-text-muted);
  transition:transform .16s ease;
}

.kb_understanding_panel[open] .kb_understanding_head::before{
  transform:rotate(90deg);
}

.kb_understanding_head em{
  margin-left:auto;
  color:var(--ui-text-muted);
  font-size:12px;
  font-style:normal;
}

.kb_understanding_panel[open] .kb_understanding_head em{
  font-size:0;
}

.kb_understanding_panel[open] .kb_understanding_head em::after{
  content:'收起';
  font-size:12px;
}

.kb_understanding_head strong{
  color:var(--ui-text);
  font-size:13px;
}

.kb_understanding_head span{
  min-width:0;
  color:var(--ui-text-muted);
  font-size:12px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.kb_understanding_rows{
  display:grid;
  gap:8px;
}

.kb_understanding_rows div{
  display:grid;
  grid-template-columns:72px minmax(0, 1fr);
  gap:10px;
  align-items:start;
  color:var(--ui-text-soft);
  font-size:12px;
  line-height:1.55;
}

.kb_understanding_rows b{
  color:var(--ui-text-muted);
  font-weight:700;
}

.kb_mode_notice{
  margin-top:10px;
  border:1px dashed var(--ui-border);
  border-radius:9px;
  padding:10px 12px;
  background:var(--ui-panel-soft);
  color:var(--ui-text-muted);
  font-size:12px;
  line-height:1.55;
}

.kb_answer_sections{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  margin-top:12px;
}

.kb_graph_grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
  margin-top:12px;
}

.kb_answer_block{
  min-width:0;
  padding:12px;
}

.kb_answer_block h3{
  margin:0 0 10px;
  color:var(--ui-text);
  font-size:14px;
}

.kb_answer_list,
.kb_chunk_stack,
.kb_citation_stack,
.kb_relation_list{
  display:flex;
  flex-direction:column;
  gap:9px;
}

.kb_basis_item,
.kb_practice_item{
  border-left:3px solid var(--ui-accent);
  padding-left:10px;
  color:var(--ui-text-soft);
  font-size:13px;
  line-height:1.6;
}

.kb_basis_item strong,
.kb_citation_item strong,
.kb_chunk_head strong{
  display:block;
  color:var(--ui-text);
  font-size:13px;
}

.kb_basis_head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}

.kb_basis_role_tools{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:6px;
  flex:0 0 auto;
  max-width:52%;
}

.kb_basis_item span,
.kb_basis_item em,
.kb_citation_item span,
.kb_citation_item em,
.kb_chunk_meta span{
  display:inline-block;
  margin:5px 6px 0 0;
  color:var(--ui-text-muted);
  font-size:12px;
  font-style:normal;
}

.kb_basis_item small{
  display:block;
  margin-top:6px;
  color:var(--ui-text-muted);
  font-size:12px;
  line-height:1.5;
}

.kb_basis_role{
  display:inline-flex;
  align-items:center;
  width:max-content;
  border:1px solid color-mix(in srgb, var(--ui-accent) 26%, var(--ui-border));
  border-radius:999px;
  background:color-mix(in srgb, var(--ui-accent) 9%, var(--ui-panel));
  color:var(--ui-accent);
  padding:2px 8px;
  font-size:12px;
  font-style:normal;
  font-weight:750;
}

.kb_basis_role.is-manual{
  border-color:color-mix(in srgb, var(--ui-success, #2f8f5b) 38%, var(--ui-border));
  background:color-mix(in srgb, var(--ui-success, #2f8f5b) 10%, var(--ui-panel));
  color:var(--ui-success, #2f8f5b);
}

.kb_basis_correct_btn{
  height:26px;
  border:1px solid var(--ui-border);
  border-radius:6px;
  background:var(--ui-panel);
  color:var(--ui-text-muted);
  font-size:12px;
  padding:0 9px;
  cursor:pointer;
}

.kb_basis_correct_btn:hover{
  border-color:color-mix(in srgb, var(--ui-accent) 38%, var(--ui-border));
  color:var(--ui-accent);
}

.kb_correction_modal{
  position:fixed;
  inset:0;
  z-index:1200;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
}

.kb_correction_backdrop{
  position:absolute;
  inset:0;
  background:rgba(16, 24, 40, .38);
  backdrop-filter:blur(2px);
}

.kb_correction_dialog{
  position:relative;
  width:min(560px, calc(100vw - 32px));
  max-height:min(720px, calc(100vh - 48px));
  display:flex;
  flex-direction:column;
  border:1px solid var(--ui-border);
  border-radius:10px;
  background:var(--ui-panel);
  box-shadow:0 20px 58px rgba(16, 24, 40, .22);
  overflow:hidden;
}

.kb_correction_dialog header,
.kb_correction_dialog footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px;
  border-bottom:1px solid var(--ui-border);
}

.kb_correction_dialog footer{
  justify-content:flex-end;
  border-top:1px solid var(--ui-border);
  border-bottom:0;
}

.kb_correction_dialog header span{
  display:block;
  color:var(--ui-text-muted);
  font-size:12px;
}

.kb_correction_dialog header strong{
  display:block;
  color:var(--ui-text);
  font-size:15px;
}

.kb_correction_dialog button{
  height:30px;
  border:1px solid var(--ui-border);
  border-radius:7px;
  background:var(--ui-panel);
  color:var(--ui-text);
  padding:0 12px;
  cursor:pointer;
}

.kb_correction_dialog button.is-primary{
  border-color:var(--ui-accent);
  background:var(--ui-accent);
  color:#fff;
}

.kb_correction_dialog button:disabled{
  cursor:wait;
  opacity:.62;
}

.kb_correction_body{
  padding:16px;
  overflow:auto;
}

.kb_correction_body dl{
  display:grid;
  gap:9px;
  margin:0 0 14px;
}

.kb_correction_body dl div{
  display:grid;
  grid-template-columns:72px 1fr;
  gap:10px;
}

.kb_correction_body dt{
  color:var(--ui-text-muted);
  font-size:12px;
}

.kb_correction_body dd{
  margin:0;
  color:var(--ui-text);
  font-size:13px;
  line-height:1.5;
}

.kb_correction_field{
  display:grid;
  gap:7px;
  margin-bottom:14px;
  color:var(--ui-text);
  font-size:13px;
}

.kb_correction_field select{
  width:100%;
  height:34px;
  border:1px solid var(--ui-border);
  border-radius:7px;
  background:var(--ui-panel);
  color:var(--ui-text);
  padding:0 8px;
}

.kb_correction_body p{
  margin:0;
  border-top:1px solid var(--ui-border);
  padding-top:12px;
  color:var(--ui-text-soft);
  font-size:13px;
  line-height:1.7;
}

.kb_saved_record_modal{
  position:fixed;
  inset:0;
  z-index:1200;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
}

.kb_saved_record_backdrop{
  position:absolute;
  inset:0;
  background:rgba(16, 24, 40, .38);
  backdrop-filter:blur(2px);
}

.kb_saved_record_dialog{
  position:relative;
  width:min(580px, calc(100vw - 32px));
  max-height:min(720px, calc(100vh - 48px));
  display:flex;
  flex-direction:column;
  border:1px solid var(--ui-border);
  border-radius:10px;
  background:var(--ui-panel);
  box-shadow:0 20px 58px rgba(16, 24, 40, .22);
  overflow:hidden;
}

.kb_saved_record_dialog header,
.kb_saved_record_dialog footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px;
  border-bottom:1px solid var(--ui-border);
}

.kb_saved_record_dialog footer{
  justify-content:flex-end;
  border-top:1px solid var(--ui-border);
  border-bottom:0;
}

.kb_saved_record_dialog header span{
  display:block;
  color:var(--ui-text-muted);
  font-size:12px;
}

.kb_saved_record_dialog header strong{
  display:block;
  color:var(--ui-text);
  font-size:15px;
}

.kb_saved_record_dialog button{
  height:30px;
  border:1px solid var(--ui-border);
  border-radius:7px;
  background:var(--ui-panel);
  color:var(--ui-text);
  padding:0 12px;
  cursor:pointer;
}

.kb_saved_record_dialog button.is-primary{
  border-color:var(--ui-accent);
  background:var(--ui-accent);
  color:#fff;
}

.kb_saved_record_dialog button:disabled{
  cursor:wait;
  opacity:.62;
}

.kb_saved_record_body{
  padding:16px;
  overflow:auto;
}

.kb_saved_record_body dl{
  display:grid;
  gap:9px;
  margin:0 0 14px;
}

.kb_saved_record_body dl div{
  display:grid;
  grid-template-columns:72px 1fr;
  gap:10px;
}

.kb_saved_record_body dt{
  color:var(--ui-text-muted);
  font-size:12px;
}

.kb_saved_record_body dd{
  margin:0;
  color:var(--ui-text);
  font-size:13px;
  line-height:1.5;
}

.kb_saved_record_field{
  display:grid;
  gap:7px;
  margin-bottom:14px;
  color:var(--ui-text);
  font-size:13px;
}

.kb_saved_record_field input,
.kb_saved_record_field textarea{
  width:100%;
  border:1px solid var(--ui-border);
  border-radius:7px;
  background:var(--ui-panel);
  color:var(--ui-text);
  padding:8px 9px;
  font:inherit;
  line-height:1.55;
  resize:vertical;
}

.kb_basis_item p{
  margin:6px 0 0;
}

.kb_basis_item .kb_basis_point{
  display:grid;
  gap:8px;
  line-height:1.75;
}

.kb_basis_item .kb_basis_clause{
  display:block;
}

.kb_chunk_item,
.kb_citation_item{
  padding:12px;
}

.kb_chunk_item.is-weak,
.kb_citation_item.is-weak{
  background:color-mix(in srgb, var(--ui-panel-soft) 76%, var(--ui-panel) 24%);
  opacity:.72;
}

.kb_relevance_badge{
  border:1px solid var(--ui-warning-border, var(--ui-border));
  border-radius:999px;
  background:var(--ui-warning-bg, var(--ui-panel));
  color:var(--ui-warning-text, var(--ui-text-muted));
  padding:2px 7px;
  font-size:11px;
  font-weight:750;
}

.kb_chunk_head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}

.kb_item_actions{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:8px;
}

.kb_chunk_head span,
.kb_item_actions span{
  flex:0 0 auto;
  color:var(--ui-text-muted);
  font-size:12px;
}

.kb_copy_btn{
  height:26px;
  border:1px solid var(--ui-border);
  border-radius:7px;
  background:var(--ui-panel);
  color:var(--ui-text-soft);
  padding:0 8px;
  font-size:12px;
  cursor:pointer;
}

.kb_copy_btn:hover{
  border-color:color-mix(in srgb, var(--ui-accent) 35%, var(--ui-border));
  color:var(--ui-accent);
}

.kb_copy_btn:disabled{
  opacity:.68;
  cursor:default;
}

.kb_copy_fallback{
  width:100%;
  min-height:76px;
  margin-top:10px;
  border:1px solid var(--ui-border);
  border-radius:8px;
  padding:8px 10px;
  resize:vertical;
  background:var(--ui-panel);
  color:var(--ui-text-soft);
  font-size:12px;
  line-height:1.5;
  outline:none;
}

.kb_copy_fallback:focus{
  border-color:var(--ui-accent);
  box-shadow:0 0 0 3px var(--ui-accent-soft);
}

.kb_chunk_item p{
  margin:8px 0 0;
  color:var(--ui-text-soft);
  font-size:13px;
  line-height:1.65;
}

.kb_chunk_meta{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:8px;
}

.kb_chunk_meta span{
  border:1px solid var(--ui-border);
  border-radius:999px;
  padding:2px 7px;
  background:var(--ui-panel);
}

.kb_entity_list{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.kb_entity_tag{
  display:inline-flex;
  align-items:center;
  gap:6px;
  max-width:100%;
  border:1px solid var(--ui-border);
  border-radius:999px;
  padding:5px 8px;
  background:var(--ui-panel);
  color:var(--ui-text-soft);
  font-size:12px;
}

.kb_entity_tag b{
  color:var(--ui-accent);
}

.kb_relation_item{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto minmax(0, 1fr);
  align-items:center;
  gap:8px;
  border-left:3px solid var(--ui-accent);
  padding:8px 10px;
  background:var(--ui-panel);
  color:var(--ui-text-soft);
  font-size:12px;
}

.kb_relation_item span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.kb_relation_item b{
  color:var(--ui-accent);
}

.kb_citation_item{
  display:flex;
  flex-direction:column;
  gap:4px;
}

.kb_citation_head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}

.kb_citation_head strong{
  min-width:0;
  flex:1 1 auto;
}

.kb_citation_head .kb_item_actions{
  flex:0 0 auto;
}

.kb_citation_item code{
  align-self:flex-start;
  border:1px solid var(--ui-border);
  border-radius:6px;
  padding:2px 6px;
  background:var(--ui-panel);
  color:var(--ui-text-muted);
  font-size:11px;
}

.kb_case_citation_sources{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin:0;
  padding:0;
  list-style:none;
}

.kb_case_citation_source{
  border:1px solid var(--ui-border);
  border-radius:8px;
  background:var(--ui-panel);
  padding:9px 10px;
}

.kb_case_citation_source_head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:8px;
}

.kb_case_citation_source_head strong{
  min-width:0;
  color:var(--ui-text);
  font-size:12px;
  line-height:1.45;
}

.kb_case_citation_meta{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:7px;
}

.kb_case_citation_meta span{
  border:1px solid var(--ui-border);
  border-radius:999px;
  background:var(--ui-panel-soft);
  color:var(--ui-text-muted);
  padding:2px 7px;
  font-size:11px;
}

.kb_case_citation_source p{
  margin:7px 0 0;
  color:var(--ui-text-soft);
  font-size:12px;
  line-height:1.55;
}

.kb_case_citation_source code{
  display:inline-block;
  max-width:100%;
  margin-top:7px;
  border:1px solid var(--ui-border);
  border-radius:6px;
  background:var(--ui-panel-soft);
  color:var(--ui-text-muted);
  padding:2px 6px;
  font-size:11px;
  white-space:normal;
  word-break:break-all;
}

@media (max-width: 1100px){
  .kb_search_page{
    grid-template-columns:220px minmax(0, 1fr);
  }

  .kb_search_page.is-source-preview{
    grid-template-columns:1fr;
  }

  .kb_chat_tools{
    grid-column:1 / -1;
    min-height:auto;
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }

  .kb_search_page.is-source-preview .kb_chat_tools{
    min-height:520px;
  }

  .document_center_content,
  .kb_center_content{
    grid-template-columns:minmax(260px, 320px) minmax(0, 1fr);
  }

  .kb_manage_grid{
    grid-template-columns:minmax(220px, 280px) minmax(0, 1fr);
  }

  .kb_preview_grid{
    grid-template-columns:minmax(260px, 340px) minmax(0, 1fr);
  }

  .kb_manage_detail_panel{
    grid-column:1 / -1;
    min-height:420px;
  }
}

@media (max-width: 860px){
  .document_center_shell{
    grid-template-columns:1fr;
    overflow:auto;
  }

  .document_center_nav,
  .document_center_workspace,
  .template_list_panel,
  .template_detail_panel{
    min-height:auto;
  }

  .document_center_content,
  .kb_center_content,
  .kb_search_page,
  .kb_query_panel,
  .kb_answer_sections,
  .kb_graph_grid,
  .kb_doc_meta_grid,
  .kb_manage_grid,
  .kb_preview_grid{
    grid-template-columns:1fr;
  }

  .document_center_header{
    flex-direction:column;
  }

  .document_center_actions,
  .kb_query_actions{
    width:100%;
  }

  .kb_chat_composer .kb_query_actions{
    width:auto;
  }

  .document_center_actions .document_center_btn,
  .kb_query_actions .document_center_btn{
    flex:1;
  }

  .kb_chat_composer .kb_query_actions .document_center_btn{
    flex:0 0 auto;
  }

  .kb_chat_composer .kb_query_side{
    align-items:flex-start;
    flex-direction:column;
  }

  .kb_chat_composer .kb_query_submit{
    align-self:stretch;
    min-width:0;
  }

  .kb_chat_sidebar,
  .kb_chat_main,
  .kb_chat_tools{
    min-height:auto;
  }

  .kb_search_page.is-source-preview .kb_chat_tools{
    min-height:560px;
  }

  .kb_chat_session_list{
    max-height:180px;
  }

  .kb_chat_tools{
    grid-template-columns:1fr;
  }

  .kb_manage_detail_panel{
    grid-column:auto;
  }

  .kb_preview_list_panel,
  .kb_preview_detail_panel{
    min-height:320px;
  }

  .kb_preview_body{
    max-height:none;
  }

  .kb_preview_document_content{
    padding:28px 24px 38px;
  }
}

.overview_grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:10px;
}

.metric_card,
.setting_row,
.structure_section{
  border:1px solid var(--ui-border);
  background:var(--ui-panel-soft);
  border-radius:10px;
}

.metric_card{
  min-height:76px;
  padding:12px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:8px;
}

.metric_card span{
  color:var(--ui-text-muted);
  font-size:12px;
}

.metric_card strong{
  color:var(--ui-text);
  font-size:17px;
  line-height:1.25;
}

.structure_stack{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.structure_section{
  padding:12px;
}

.structure_section_head{
  display:flex;
  align-items:flex-start;
  gap:10px;
}

.structure_index{
  width:26px;
  height:26px;
  border-radius:8px;
  background:var(--ui-panel);
  border:1px solid var(--ui-border);
  color:var(--ui-accent);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  font-weight:800;
  flex:0 0 26px;
}

.structure_name{
  color:var(--ui-text);
  font-size:14px;
  font-weight:760;
  line-height:1.35;
}

.field_grid{
  margin-top:10px;
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}

.field_token{
  min-height:28px;
  border:1px solid var(--ui-border);
  background:var(--ui-panel);
  color:var(--ui-text-soft);
  border-radius:8px;
  padding:0 9px;
  font-size:12px;
}

.preview_paper{
  max-width:760px;
  min-height:460px;
  margin:0 auto;
  border:1px solid var(--ui-border);
  background:var(--ui-panel);
  border-radius:10px;
  padding:38px 46px;
  color:var(--ui-text);
  box-shadow:var(--ui-shadow);
}

.preview_paper p{
  margin:0 0 14px;
  font-size:14px;
  line-height:1.9;
}

.preview_paper .preview_title{
  text-align:center;
  font-size:24px;
  font-weight:800;
  line-height:1.4;
  margin-bottom:28px;
}

.settings_list{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.setting_row{
  min-height:46px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:0 12px;
}

.setting_row span{
  color:var(--ui-text-soft);
  font-size:13px;
}

.setting_row strong{
  color:var(--ui-text);
  font-size:13px;
  text-align:right;
}

.document_empty{
  min-height:140px;
  border:1px dashed var(--ui-border);
  background:var(--ui-panel-soft);
  color:var(--ui-text-muted);
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  text-align:center;
  font-size:13px;
  line-height:1.6;
}

.document_empty.is-large{
  height:100%;
}

.kb_case_tool_card{
  gap:9px;
}

.kb_case_status{
  min-height:34px;
  border:1px solid var(--ui-border);
  background:var(--ui-panel-soft);
  color:var(--ui-text-muted);
  border-radius:8px;
  padding:8px 10px;
  font-size:12px;
  line-height:1.45;
}

.kb_case_analysis{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:12px;
}

.kb_case_tabs{
  position:sticky;
  top:0;
  z-index:2;
  background:var(--ui-panel);
  border-bottom:1px solid var(--ui-border);
}

.kb_case_input_panel{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:8px;
  border:1px solid var(--ui-border);
  background:var(--ui-panel);
  border-radius:10px;
  padding:12px;
}

.kb_case_input_panel label{
  color:var(--ui-text);
  font-size:12px;
  font-weight:760;
}

.kb_case_input_panel textarea{
  width:100%;
  min-height:92px;
  resize:vertical;
  border:1px solid var(--ui-border);
  background:var(--ui-panel-soft);
  color:var(--ui-text);
  border-radius:8px;
  padding:10px 11px;
  font-size:13px;
  line-height:1.6;
  outline:none;
}

.kb_case_input_panel textarea:focus{
  border-color:var(--ui-accent);
  box-shadow:0 0 0 3px var(--ui-accent-soft);
}

.kb_case_metric_grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:10px;
}

.kb_case_metric{
  min-width:0;
  min-height:66px;
  border:1px solid var(--ui-border);
  background:var(--ui-panel-soft);
  border-radius:10px;
  padding:10px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:8px;
}

.kb_case_metric span{
  color:var(--ui-text-muted);
  font-size:12px;
}

.kb_case_metric strong{
  color:var(--ui-text);
  font-size:16px;
  line-height:1.25;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}

.kb_case_section{
  min-width:0;
  border:1px solid var(--ui-border);
  background:var(--ui-panel);
  border-radius:10px;
  padding:12px;
}

.kb_case_section h3{
  margin:0 0 10px;
  color:var(--ui-text);
  font-size:14px;
  line-height:1.35;
}

.kb_case_card{
  min-width:0;
  border:1px solid var(--ui-border);
  background:var(--ui-panel-soft);
  border-radius:8px;
  padding:11px;
}

.kb_case_card + .kb_case_card{
  margin-top:10px;
}

.kb_case_card p{
  margin:8px 0 0;
  color:var(--ui-text-soft);
  font-size:13px;
  line-height:1.65;
}

.kb_case_card_head{
  min-width:0;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}

.kb_case_card_head h4{
  min-width:0;
  margin:0;
  color:var(--ui-text);
  font-size:13px;
  line-height:1.35;
}

.kb_case_badge{
  flex:0 0 auto;
  max-width:180px;
  border:1px solid var(--ui-border);
  background:var(--ui-panel);
  color:var(--ui-text-muted);
  border-radius:999px;
  padding:4px 8px;
  font-size:11px;
  font-weight:760;
  line-height:1.2;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}

.kb_case_badge.is-danger{
  border-color:color-mix(in srgb, #ef4444 42%, var(--ui-border));
  background:color-mix(in srgb, #ef4444 12%, var(--ui-panel));
  color:#b91c1c;
}

.kb_case_badge.is-warning{
  border-color:color-mix(in srgb, #f59e0b 44%, var(--ui-border));
  background:color-mix(in srgb, #f59e0b 13%, var(--ui-panel));
  color:#92400e;
}

.kb_case_badge.is-success{
  border-color:color-mix(in srgb, #22c55e 42%, var(--ui-border));
  background:color-mix(in srgb, #22c55e 12%, var(--ui-panel));
  color:#166534;
}

.kb_case_badge.is-muted{
  color:var(--ui-text-muted);
}

.kb_case_form_grid{
  min-width:0;
  display:grid;
  gap:10px;
  margin-top:10px;
}

.kb_case_question{
  min-width:0;
  border:1px solid var(--ui-border);
  background:var(--ui-panel);
  border-radius:8px;
  padding:10px;
}

.kb_case_question.is-child{
  border-style:dashed;
  background:var(--ui-panel-soft);
}

.kb_case_question_head{
  min-width:0;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  margin-bottom:8px;
}

.kb_case_question_head label{
  min-width:0;
  color:var(--ui-text);
  font-size:13px;
  font-weight:760;
  line-height:1.45;
}

.kb_case_options{
  min-width:0;
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}

.kb_case_option{
  min-width:0;
  display:inline-flex;
  align-items:center;
  gap:6px;
  border:1px solid var(--ui-border);
  background:var(--ui-panel-soft);
  color:var(--ui-text-soft);
  border-radius:8px;
  padding:7px 9px;
  font-size:12px;
  line-height:1.25;
  cursor:pointer;
}

.kb_case_option input{
  flex:0 0 auto;
  width:14px;
  height:14px;
  margin:0;
  accent-color:var(--ui-accent);
}

.kb_case_option span{
  min-width:0;
  overflow-wrap:anywhere;
}

.kb_case_answer_input,
.kb_case_answer_text,
.kb_case_note{
  width:100%;
  min-width:0;
  border:1px solid var(--ui-border);
  background:var(--ui-panel-soft);
  color:var(--ui-text);
  border-radius:8px;
  padding:9px 10px;
  font-size:13px;
  line-height:1.55;
  outline:none;
}

.kb_case_input_wrap{
  min-width:0;
  display:flex;
  align-items:center;
  gap:8px;
}

.kb_case_input_wrap .kb_case_answer_input{
  flex:1 1 auto;
}

.kb_case_input_wrap span{
  flex:0 0 auto;
  color:var(--ui-text-muted);
  font-size:12px;
}

.kb_case_answer_text,
.kb_case_note{
  resize:vertical;
}

.kb_case_note{
  min-height:58px;
  margin-top:8px;
  color:var(--ui-text-soft);
}

.kb_case_answer_input:focus,
.kb_case_answer_text:focus,
.kb_case_note:focus{
  border-color:var(--ui-accent);
  box-shadow:0 0 0 3px var(--ui-accent-soft);
}

.kb_case_question_meta{
  display:grid;
  gap:4px;
  margin-top:8px;
  color:var(--ui-text-muted);
  font-size:12px;
  line-height:1.55;
}

.kb_case_child_questions{
  min-width:0;
  display:grid;
  gap:9px;
  margin-top:10px;
  padding-left:12px;
  border-left:2px solid var(--ui-border);
}

.kb_case_child_questions.is-hidden{
  display:none;
}

.kb_case_warning{
  border:1px solid color-mix(in srgb, #f59e0b 44%, var(--ui-border));
  background:color-mix(in srgb, #f59e0b 11%, var(--ui-panel));
  color:var(--ui-text);
  border-radius:10px;
  padding:10px 12px;
  font-size:13px;
  line-height:1.65;
}

.kb_case_kv{
  display:grid;
  grid-template-columns:112px minmax(0, 1fr);
  gap:8px 12px;
  align-items:start;
}

.kb_case_kv.is-compact{
  grid-template-columns:86px minmax(0, 1fr);
  gap:6px 10px;
}

.kb_case_kv > span{
  color:var(--ui-text-muted);
  font-size:12px;
  line-height:1.65;
}

.kb_case_kv > div{
  min-width:0;
  color:var(--ui-text);
  font-size:13px;
  line-height:1.65;
}

.kb_case_chip_row{
  min-width:0;
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}

.kb_case_chip{
  max-width:100%;
  border:1px solid var(--ui-border);
  background:var(--ui-panel);
  color:var(--ui-text-soft);
  border-radius:999px;
  padding:4px 8px;
  font-size:12px;
  line-height:1.25;
}

.kb_case_list{
  margin:0;
  padding-left:18px;
  color:var(--ui-text-soft);
  font-size:13px;
  line-height:1.7;
}

.kb_case_rule_panel{
  min-width:0;
  margin-top:10px;
  border:1px solid var(--ui-border);
  border-radius:8px;
  background:var(--ui-panel);
  padding:10px;
}

.kb_case_rule_panel_head{
  min-width:0;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}

.kb_case_rule_panel_head strong{
  min-width:0;
  color:var(--ui-text);
  font-size:12px;
  line-height:1.4;
}

.kb_case_rule_panel p{
  margin:8px 0 0;
  color:var(--ui-text-soft);
  font-size:12px;
  line-height:1.65;
}

.kb_case_sub_block{
  min-width:0;
  display:grid;
  gap:6px;
  margin-top:8px;
}

.kb_case_sub_block > span{
  color:var(--ui-text-muted);
  font-size:12px;
}

.kb_case_factor_grid{
  min-width:0;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:8px;
  margin-top:10px;
}

.kb_case_factor{
  min-width:0;
  border:1px solid var(--ui-border);
  border-radius:8px;
  background:var(--ui-panel);
  padding:9px;
}

.kb_case_factor_head{
  min-width:0;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:8px;
}

.kb_case_factor_head strong{
  min-width:0;
  color:var(--ui-text);
  font-size:12px;
  line-height:1.45;
}

.kb_case_factor p{
  margin:7px 0;
  color:var(--ui-text-soft);
  font-size:12px;
  line-height:1.6;
}

.kb_case_raw{
  border:1px solid var(--ui-border);
  background:var(--ui-panel);
  border-radius:10px;
  padding:10px 12px;
}

.kb_case_raw summary{
  cursor:pointer;
  color:var(--ui-text-muted);
  font-size:12px;
  font-weight:760;
}

.kb_case_raw pre{
  max-height:360px;
  margin:10px 0 0;
  overflow:auto;
  border:1px solid var(--ui-border);
  background:var(--ui-panel-soft);
  border-radius:8px;
  padding:10px;
  color:var(--ui-text-soft);
  font-size:12px;
  line-height:1.55;
}

.kb_case_advanced_json{
  margin-top:2px;
  background:var(--ui-panel-soft);
}

.kb_case_advanced_json label{
  display:block;
  margin-top:10px;
}

.kb_case_advanced_json textarea{
  margin-top:6px;
}

.kb_case_advanced_json p{
  margin:8px 0 0;
  color:var(--ui-text-muted);
  font-size:12px;
  line-height:1.5;
}

@media (max-width: 1180px){
  .document_center_shell{
    grid-template-columns:1fr;
    overflow:auto;
  }

  .document_center_nav{
    min-height:260px;
  }

  .document_center_content{
    grid-template-columns:1fr;
    overflow:visible;
  }

  .template_list_panel{
    min-height:360px;
  }

  .template_detail_panel{
    min-height:620px;
  }

  .kb_query_panel,
  .kb_answer_sections,
  .kb_graph_grid,
  .kb_case_metric_grid,
  .kb_case_factor_grid{
    grid-template-columns:1fr;
  }
}

@media (max-width: 760px){
  .document_center_shell{
    padding:10px 10px 92px;
    gap:10px;
  }

  .document_center_header,
  .panel_head,
  .detail_head{
    flex-direction:column;
    align-items:stretch;
  }

  .document_center_actions,
  .template_filter{
    justify-content:flex-start;
  }

  .document_center_btn{
    flex:1 1 auto;
  }

  .overview_grid{
    grid-template-columns:1fr;
  }

  .preview_paper{
    min-height:360px;
    padding:26px 22px;
  }

  .preview_paper .preview_title{
    font-size:20px;
  }

  .kb_case_kv{
    grid-template-columns:1fr;
  }

  .kb_case_card_head{
    flex-direction:column;
    align-items:flex-start;
  }
}

/* Case analysis is a standalone workbench; keep it from inheriting the
   knowledge-center search column caps on wide screens. */
.content_view.case_analysis_view #case_analysis_view_mount,
.content_view.case_analysis_view .case_analysis_shell,
.content_view.case_analysis_view .case_analysis_workspace,
.content_view.case_analysis_view .case_analysis_page{
  width:100%;
  max-width:none;
}

.content_view.case_analysis_view .case_analysis_shell{
  box-sizing:border-box;
  padding:14px;
}

.content_view.case_analysis_view .case_analysis_page{
  grid-template-columns:minmax(300px, .82fr) minmax(560px, 1.72fr) minmax(360px, .96fr);
  gap:16px;
}

.content_view.case_analysis_view .case_analysis_sidebar,
.content_view.case_analysis_view .case_analysis_main,
.content_view.case_analysis_view .case_analysis_tools{
  width:auto;
  max-width:none;
  min-width:0;
}

.content_view.case_analysis_view .case_analysis_tools{
  display:flex;
}

.content_view.case_analysis_view .case_analysis_tools .kb_source_preview_panel{
  width:100%;
  max-width:none;
}

@media (min-width: 1440px){
  .content_view.case_analysis_view .case_analysis_page{
    grid-template-columns:minmax(320px, .78fr) minmax(640px, 1.58fr) minmax(390px, .92fr);
  }
}

@media (max-width: 1180px){
  .content_view.case_analysis_view .case_analysis_page{
    grid-template-columns:minmax(240px, 280px) minmax(0, 1fr);
  }

  .content_view.case_analysis_view .case_analysis_tools{
    display:flex;
    grid-column:1 / -1;
    min-height:420px;
  }
}

/* Knowledge search keeps the answer pane and the query dock as two real rows.
   The shared panel rules above can otherwise stretch the query dock over results
   in narrow desktop workspaces. */
.kb_center_shell .kb_chat_main{
  display:flex !important;
  flex-direction:column;
  min-height:0;
  overflow:hidden;
}

.kb_center_shell .kb_chat_thread{
  flex:1 1 0;
  min-height:0;
  overflow:hidden;
}

.kb_center_shell .kb_chat_thread > .detail_view{
  height:100%;
  min-height:0;
}

.kb_center_shell .kb_chat_composer{
  flex:0 0 auto !important;
  height:auto !important;
  max-height:190px;
  align-self:stretch;
  align-content:start;
  grid-auto-rows:max-content;
  overflow:hidden;
}

.kb_center_shell .kb_chat_composer .kb_query_side{
  height:auto !important;
  min-height:0;
  align-self:start;
}

.kb_center_shell .kb_chat_composer .kb_query_input{
  min-height:54px;
}

.kb_center_shell .kb_chat_composer .kb_query_presets{
  height:auto !important;
  max-height:34px;
  overflow:auto;
}

@media (max-width: 860px){
  .content_view.case_analysis_view .case_analysis_page{
    grid-template-columns:1fr;
    overflow:auto;
  }

  .content_view.case_analysis_view .case_analysis_sidebar,
  .content_view.case_analysis_view .case_analysis_main,
  .content_view.case_analysis_view .case_analysis_tools{
    min-height:420px;
  }
}
