.ai_chat_test_view{
  display:none;
  flex:1;
  min-width:0;
  min-height:0;
  background:#f6f7f9;
}

.ai_chat_test_view.active{
  display:flex;
}

.ai_chat_app{
  --ai-sidebar-width:280px;
  --ai-work-panel-width:300px;
  --ai-work-panel-effective-width:clamp(240px,var(--ai-work-panel-width),min(560px,38vw));
  --ai-chat-column-width:820px;
  --ai-chat-edge-gutter:30px;
  position:relative;
  flex:1;
  min-width:0;
  min-height:0;
  display:grid;
  grid-template-columns:var(--ai-sidebar-width) minmax(0,1fr) var(--ai-work-panel-effective-width);
  border:1px solid #e5e7eb;
  border-radius:18px;
  overflow:hidden;
  background:#fff;
}

.ai_chat_app.is-work-panel-collapsed{
  grid-template-columns:var(--ai-sidebar-width) minmax(0,1fr) 0;
}

.ai_chat_app.is-sidebar-collapsed{
  grid-template-columns:0 minmax(0,1fr) var(--ai-work-panel-effective-width);
}

.ai_chat_app.is-sidebar-collapsed.is-work-panel-collapsed{
  grid-template-columns:0 minmax(0,1fr) 0;
}

.ai_chat_sidebar{
  grid-column:1;
  min-width:0;
  min-height:0;
  display:flex;
  flex-direction:column;
  border-right:1px solid #e5e7eb;
  background:#f8fafc;
}

.ai_chat_workspace{
  grid-column:2;
}

.ai_chat_sidebar_header,
.ai_chat_sidebar_footer,
.ai_chat_topbar{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.ai_chat_sidebar_header{
  padding:18px 16px 12px;
}

.ai_chat_sidebar_header_actions{
  display:inline-flex;
  align-items:center;
  gap:8px;
}

.ai_chat_sidebar_header p,
.ai_chat_topbar p,
.ai_settings_panel header p,
.ai_rename_panel header p{
  margin:0 0 4px;
  color:#64748b;
  font-size:12px;
  font-weight:700;
  letter-spacing:.03em;
}

.ai_chat_sidebar_header h2,
.ai_chat_topbar h1,
.ai_settings_panel header h2,
.ai_rename_panel header h2{
  margin:0;
  color:#0f172a;
  font-size:18px;
  font-weight:750;
}

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

.ai_chat_list_item{
  width:100%;
  display:block;
  align-items:center;
  padding:10px 10px;
  border:1px solid transparent;
  border-radius:12px;
  background:transparent;
  color:#334155;
  cursor:pointer;
  text-align:left;
}

.ai_chat_list_item.is-active{
  border-color:#dbeafe;
  background:#eff6ff;
  color:#0f172a;
}

.ai_chat_list_title{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:14px;
  font-weight:650;
}

.ai_chat_list_main{
  min-width:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
  border:0;
  background:transparent;
  color:inherit;
  cursor:pointer;
  text-align:left;
}

.ai_chat_list_meta{
  color:#94a3b8;
  font-size:12px;
}

.ai_chat_sidebar_footer{
  padding:12px 12px 14px;
  border-top:1px solid #e5e7eb;
}

.ai_chat_status{
  min-width:0;
  max-width:180px;
  padding:6px 9px;
  border:1px solid #d1d5db;
  border-radius:999px;
  background:#fff;
  color:#475569;
  font-size:12px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.ai_chat_status.is-ok{
  border-color:#bbf7d0;
  background:#f0fdf4;
  color:#166534;
}

.ai_chat_status.is-warn{
  border-color:#fed7aa;
  background:#fff7ed;
  color:#9a3412;
}

.ai_chat_status.is-error{
  border-color:#fecaca;
  background:#fef2f2;
  color:#991b1b;
}

.ai_chat_workspace{
  position:relative;
  min-width:0;
  min-height:0;
  display:flex;
  flex-direction:column;
  background:#fff;
}

.ai_chat_topbar{
  padding:18px 24px;
  border-bottom:1px solid #eef2f7;
}

.ai_chat_topbar_actions{
  display:flex;
  align-items:center;
  gap:10px;
}

.ai_work_panel{
  grid-column:3;
  position:relative;
  min-width:0;
  min-height:0;
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:18px 14px;
  border-left:1px solid #e5e7eb;
  background:#f8fafc;
  overflow:auto;
  container-name:ai-work-panel;
  container-type:inline-size;
}

.ai_panel_toggle{
  flex:0 0 auto;
  width:32px;
  height:32px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #d8e0ec;
  border-radius:10px;
  background:#fff;
  color:#334155;
  cursor:pointer;
  box-shadow:0 1px 2px rgba(15,23,42,.05);
}

.ai_panel_toggle:hover,
.ai_panel_toggle:focus-visible{
  border-color:#9db8da;
  outline:0;
  box-shadow:0 8px 20px rgba(15,23,42,.10);
}

.ai_panel_toggle span{
  width:16px;
  height:16px;
  border:2px solid currentColor;
  border-radius:5px;
  position:relative;
}

.ai_panel_toggle span::after{
  content:"";
  position:absolute;
  top:2px;
  bottom:2px;
  right:3px;
  width:2px;
  border-radius:2px;
  background:currentColor;
}

.ai_sidebar_restore span::after{
  left:3px;
  right:auto;
}

.ai_work_panel_resizer{
  position:absolute;
  top:0;
  bottom:0;
  left:0;
  z-index:7;
  width:8px;
  cursor:col-resize;
}

.ai_work_panel_resizer::after{
  content:"";
  position:absolute;
  top:50%;
  left:2px;
  width:4px;
  height:54px;
  border-radius:999px;
  background:#cbd5e1;
  opacity:0;
  transform:translateY(-50%);
  transition:opacity .16s ease, background .16s ease;
}

.ai_work_panel_resizer:hover::after,
.ai_chat_app.is-resizing-work-panel .ai_work_panel_resizer::after{
  opacity:1;
  background:#64748b;
}

.ai_chat_app.is-resizing-work-panel{
  user-select:none;
  cursor:col-resize;
}

.ai_chat_app.is-work-panel-collapsed .ai_work_panel{
  gap:0;
  padding:0;
  border-left:0;
  overflow:hidden;
}

.ai_chat_app.is-work-panel-collapsed .ai_work_panel_toggle span::after{
  left:3px;
  right:auto;
}

.ai_chat_app.is-sidebar-collapsed .ai_chat_sidebar{
  position:absolute;
  top:0;
  bottom:0;
  left:0;
  z-index:35;
  width:var(--ai-sidebar-width);
  padding:0;
  border-right:1px solid #dbe4f0;
  overflow:hidden;
  box-shadow:18px 0 32px rgba(15,23,42,.16);
  transform:translateX(calc(-100% - 10px));
  transition:transform .18s ease;
  pointer-events:none;
}

.ai_chat_app.is-sidebar-collapsed .ai_sidebar_restore{
  display:inline-flex;
}

.ai_chat_app.is-work-panel-collapsed .ai_work_panel_resizer,
.ai_chat_app.is-work-panel-collapsed .ai_work_tabs,
.ai_chat_app.is-work-panel-collapsed .ai_work_panel_section{
  display:none;
}

.ai_work_tabs{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:4px;
  padding:4px;
  border:1px solid #dbe4f0;
  border-radius:12px;
  background:#eef2f7;
}

.ai_work_tabs button{
  min-width:0;
  min-height:34px;
  border:0;
  border-radius:9px;
  background:transparent;
  color:#64748b;
  cursor:pointer;
  font-size:13px;
  font-weight:800;
}

.ai_work_tabs button:hover{
  color:#0f172a;
}

.ai_work_tabs button.is-active{
  background:#fff;
  color:#0f172a;
  box-shadow:0 1px 3px rgba(15,23,42,.08);
}

.ai_work_panel_section{
  min-width:0;
  display:none;
  gap:10px;
}

.ai_work_panel_section.is-active{
  display:grid;
}

.ai_work_panel_head h2{
  margin:0;
  color:#0f172a;
  font-size:16px;
  font-weight:750;
}

.ai_case_panel,
.ai_field_panel{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  min-width:0;
}

.ai_case_context_card{
  display:grid;
  gap:12px;
  padding:14px;
  border:1px solid #dbe4f0;
  border-radius:12px;
  background:#fff;
  box-shadow:0 10px 24px rgba(15,23,42,.04);
}

.ai_case_context_card.is-clickable{
  cursor:pointer;
  transition:border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.ai_case_context_card.is-clickable:hover,
.ai_case_context_card.is-clickable:focus-visible{
  border-color:#93c5fd;
  box-shadow:0 14px 30px rgba(37,99,235,.13);
  outline:0;
  transform:translateY(-1px);
}

.ai_case_context_card.is-bound{
  border-color:#bbf7d0;
  background:#f0fdf4;
}

.ai_case_context_top{
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto;
  align-items:start;
  gap:10px;
  min-width:0;
}

.ai_case_context_icon{
  width:34px;
  height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  background:#eef6ff;
  color:#1d4ed8;
  font-size:15px;
  font-weight:850;
}

.ai_case_context_card.is-bound .ai_case_context_icon{
  background:#dcfce7;
  color:#166534;
}

.ai_case_context_top p{
  margin:0 0 3px;
  color:#64748b;
  font-size:12px;
  font-weight:750;
}

.ai_case_context_top strong{
  display:block;
  min-width:0;
  overflow-wrap:anywhere;
  color:#0f172a;
  font-size:14px;
  line-height:1.45;
}

.ai_case_context_top em{
  align-self:start;
  border:1px solid #dbeafe;
  border-radius:999px;
  padding:3px 7px;
  background:#eff6ff;
  color:#1d4ed8;
  font-size:11px;
  font-style:normal;
  font-weight:800;
  white-space:nowrap;
}

.ai_case_context_card.is-bound .ai_case_context_top em{
  border-color:#bbf7d0;
  background:#dcfce7;
  color:#166534;
}

.ai_case_context_hint,
.ai_case_panel_note{
  color:#64748b;
  font-size:12px;
  font-weight:650;
  line-height:1.55;
}

.ai_case_context_hint{
  padding:10px 11px;
  border:1px dashed #cbd5e1;
  border-radius:10px;
  background:#f8fafc;
}

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

.ai_case_context_meta div{
  display:grid;
  grid-template-columns:58px minmax(0,1fr);
  gap:8px;
  align-items:start;
}

.ai_case_context_meta dt,
.ai_case_context_meta dd{
  margin:0;
  min-width:0;
  font-size:12px;
  line-height:1.45;
}

.ai_case_context_meta dt{
  color:#64748b;
  font-weight:750;
}

.ai_case_context_meta dd{
  color:#0f172a;
  font-weight:750;
  overflow-wrap:anywhere;
}

.ai_case_context_actions{
  display:flex;
  gap:8px;
  min-width:0;
}

.ai_case_context_actions button,
.ai_case_panel_search button,
.ai_field_card_buttons button{
  min-height:32px;
  border:1px solid #d1d5db;
  border-radius:8px;
  background:#fff;
  color:#334155;
  cursor:pointer;
  font-weight:750;
}

.ai_case_context_actions button{
  flex:1;
}

.ai_case_context_actions button.is-primary{
  border-color:#93c5fd;
  background:#eff6ff;
  color:#1d4ed8;
}

.ai_case_panel_search{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
}

.ai_case_panel_search input{
  min-width:0;
  height:34px;
  border:1px solid #d1d5db;
  border-radius:8px;
  padding:0 10px;
  color:#0f172a;
  font:inherit;
  font-size:13px;
}

.ai_case_panel_search button{
  border-color:#93c5fd;
  background:#eff6ff;
  color:#1d4ed8;
}

.ai_case_picker_modal{
  position:fixed;
  inset:0;
  z-index:80;
}

.ai_case_picker_backdrop{
  position:absolute;
  inset:0;
  background:rgba(15,23,42,.32);
}

.ai_case_picker_panel{
  position:absolute;
  top:50%;
  left:50%;
  width:min(860px, calc(100vw - 44px));
  max-height:min(760px, calc(100vh - 56px));
  transform:translate(-50%,-50%);
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  border:1px solid #dbe4f0;
  border-radius:18px;
  background:#fff;
  box-shadow:0 28px 90px rgba(15,23,42,.28);
  overflow:hidden;
}

.ai_case_picker_panel header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:16px 18px;
  border-bottom:1px solid #e5e7eb;
}

.ai_case_picker_panel header p{
  margin:0 0 3px;
  color:#64748b;
  font-size:12px;
  font-weight:750;
}

.ai_case_picker_panel header h2{
  margin:0;
  color:#0f172a;
  font-size:18px;
}

.ai_case_picker_body{
  min-height:0;
  overflow:auto;
  padding:16px;
  background:#f8fafc;
}

.ai_case_picker_body .pmt_case_picker_workspace{
  min-height:420px;
}

.ai_case_picker_body .pmt_case_picker_item{
  width:100%;
}

.ai_case_picker_empty{
  padding:24px;
  border:1px dashed #cbd5e1;
  border-radius:12px;
  background:#fff;
  color:#64748b;
  font-size:14px;
}

.ai_field_empty{
  padding:14px 12px;
  border:1px dashed #cbd5e1;
  border-radius:8px;
  color:#64748b;
  font-size:13px;
  line-height:1.55;
}

.ai_field_card{
  display:grid;
  gap:9px;
  padding:12px;
  border:1px solid #dbe4f0;
  border-radius:8px;
  background:#fff;
}

.ai_field_card.is-written,
.ai_field_card.is-confirmed{
  border-color:#bbf7d0;
  background:#f0fdf4;
}

.ai_field_card.is-rejected{
  border-color:#fecaca;
  background:#fff1f2;
}

.ai_field_card.is-blocked{
  border-color:#fde68a;
  background:#fffbeb;
}

.ai_field_card_head{
  display:flex;
  justify-content:space-between;
  gap:10px;
}

.ai_field_card_head strong{
  display:block;
  color:#0f172a;
  font-size:14px;
}

.ai_field_card_head span{
  display:block;
  margin-top:2px;
  color:#64748b;
  font-size:12px;
  font-weight:700;
}

.ai_field_card_head code{
  align-self:flex-start;
  max-width:112px;
  overflow:hidden;
  text-overflow:ellipsis;
  border-radius:6px;
  background:#eef2f7;
  padding:3px 6px;
  color:#475569;
  font-size:12px;
}

.ai_field_card dl{
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:5px 8px;
  margin:0;
  color:#475569;
  font-size:12px;
}

.ai_field_card dt{
  color:#64748b;
}

.ai_field_card dd{
  min-width:0;
  margin:0;
  overflow-wrap:anywhere;
  color:#1e293b;
  font-weight:700;
}

.ai_field_card_buttons{
  display:flex;
  gap:8px;
}

.ai_field_card_buttons button{
  flex:1;
}

.ai_field_card_buttons button:first-child{
  border-color:#93c5fd;
  background:#eff6ff;
  color:#1d4ed8;
}

.ai_action_card{
  position:relative;
  min-width:0;
  display:grid;
  gap:7px;
  padding:10px;
  border:1px solid #dbe4f0;
  border-radius:8px;
  background:#fff;
}

.ai_action_delete_button{
  position:absolute;
  top:7px;
  right:7px;
  width:22px;
  height:22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #e2e8f0;
  border-radius:999px;
  background:#fff;
  color:#94a3b8;
  font-size:16px;
  line-height:1;
  cursor:pointer;
  opacity:0;
  transform:scale(.94);
  transition:opacity .12s ease, transform .12s ease, color .12s ease, border-color .12s ease;
}

.ai_action_card:hover .ai_action_delete_button,
.ai_action_delete_button:focus-visible{
  opacity:1;
  transform:scale(1);
}

.ai_action_delete_button:hover,
.ai_action_delete_button:focus-visible{
  border-color:#fecaca;
  color:#b91c1c;
  outline:0;
}

.ai_action_card.is-confirmed{
  border-color:#bbf7d0;
  background:#f0fdf4;
}

.ai_action_card.is-cancelled{
  border-color:#fecaca;
  background:#fff1f2;
}

.ai_action_card.is-ok{
  border-color:#bbf7d0;
  background:#f0fdf4;
}

.ai_action_card.is-pending{
  border-color:#fde68a;
  background:#fffbeb;
}

.ai_action_card.is-error{
  border-color:#fecaca;
  background:#fff1f2;
}

.ai_action_card.is-muted{
  opacity:.72;
}

.ai_action_empty{
  border:1px dashed #cbd5e1;
  border-radius:8px;
  padding:12px;
  color:#64748b;
  font-size:13px;
  line-height:1.5;
  background:#f8fafc;
}

.ai_action_subtabs{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:4px;
  margin-bottom:10px;
  padding:4px;
  border:1px solid #dbe4f0;
  border-radius:10px;
  background:#eef3f8;
}

.ai_action_subtabs button{
  min-width:0;
  min-height:30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  border:0;
  border-radius:8px;
  background:transparent;
  color:#475569;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
}

.ai_action_subtabs button:hover,
.ai_action_subtabs button:focus-visible{
  background:#f8fafc;
  color:#0f172a;
  outline:0;
}

.ai_action_subtabs button.is-active{
  background:#fff;
  color:#0f172a;
  box-shadow:0 1px 4px rgba(15,23,42,.08);
}

.ai_action_subtabs em{
  min-width:20px;
  height:20px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#e2e8f0;
  color:#64748b;
  font-style:normal;
  font-size:11px;
  font-weight:900;
}

.ai_action_subtabs button.is-active em{
  background:#eff6ff;
  color:#1d4ed8;
}

.ai_action_batch_bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-bottom:8px;
  color:#64748b;
  font-size:11px;
}

.ai_action_batch_bar button{
  min-height:28px;
  border:1px solid #bfdbfe;
  border-radius:7px;
  padding:0 10px;
  background:#eff6ff;
  color:#1d4ed8;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
}

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

.ai_action_group + .ai_action_group{
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid #e2e8f0;
}

.ai_action_group_head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  min-height:24px;
}

.ai_action_group_head strong{
  color:#0f172a;
  font-size:14px;
}

.ai_action_group_head span{
  min-width:24px;
  height:22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#e2e8f0;
  color:#475569;
  font-size:12px;
  font-weight:800;
}

.ai_action_group.is-pending .ai_action_group_head span{
  background:#fef3c7;
  color:#92400e;
}

.ai_action_group.is-completed .ai_action_card{
  gap:8px;
  padding:10px 11px 11px;
  background:#fff;
}

.ai_action_group.is-completed .ai_agent_operation.is-cancelled,
.ai_action_group.is-completed .ai_agent_operation.is-error{
  border-color:#fecaca;
  background:#fff7f7;
}

.ai_action_group.is-completed .ai_agent_operation.is-ok,
.ai_action_group.is-completed .ai_agent_operation.is-confirmed{
  border-color:#bbf7d0;
  background:#f7fff9;
}

.ai_action_group.is-completed .ai_action_card p{
  display:-webkit-box;
}

.ai_action_group.is-completed .ai_action_card_buttons{
  display:flex;
}

.ai_action_group.is-completed .ai_action_details[open] dl{
  display:grid;
}

.ai_action_group.is-completed .ai_action_card_head{
  align-items:center;
  gap:8px;
  padding-right:20px;
}

.ai_action_group.is-completed .ai_action_card_head > div{
  min-width:0;
  display:grid;
  justify-items:start;
  gap:6px;
}

.ai_action_group.is-completed .ai_action_card_head strong{
  min-width:0;
  overflow:visible;
  text-overflow:clip;
  white-space:normal;
  overflow-wrap:anywhere;
  font-size:13px;
  line-height:1.4;
}

.ai_action_group.is-completed .ai_action_card_head span{
  flex:0 0 auto;
  padding:2px 6px;
  border-radius:999px;
  background:#f1f5f9;
  color:#64748b;
  font-size:11px;
}

.ai_action_group.is-completed .ai_action_card_head code{
  width:max-content;
  max-width:100%;
  overflow:visible;
  text-overflow:clip;
  white-space:normal;
  overflow-wrap:anywhere;
  text-align:left;
  font-size:10px;
}

.ai_action_group.is-completed .ai_action_timeline{
  display:flex;
  flex-wrap:wrap;
  gap:4px 8px;
  padding-top:0;
}

.ai_action_group.is-completed .ai_action_timeline span{
  display:inline-flex;
  justify-content:flex-start;
  gap:4px;
  font-size:10px;
}

.ai_action_group.is-completed .ai_action_timeline span:not(:last-child){
  display:none;
}

.ai_action_group.is-completed .ai_action_delete_button{
  top:6px;
  right:6px;
  width:20px;
  height:20px;
  font-size:14px;
}

.ai_action_timeline{
  display:grid;
  gap:4px;
  padding-top:2px;
}

.ai_action_timeline span{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  color:#64748b;
  font-size:11px;
  line-height:1.35;
}

.ai_action_timeline em{
  flex:0 0 auto;
  font-style:normal;
  color:#94a3b8;
  font-weight:800;
}

.ai_action_card_head{
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding-right:22px;
}

.ai_action_card_head > div{
  min-width:0;
}

.ai_action_card_head strong{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#0f172a;
  font-size:13px;
}

.ai_action_card_head span{
  display:block;
  margin-top:2px;
  color:#64748b;
  font-size:12px;
  font-weight:700;
}

.ai_action_card_head code{
  align-self:flex-start;
  max-width:140px;
  overflow:hidden;
  text-overflow:ellipsis;
  border-radius:6px;
  background:#eef2f7;
  padding:3px 6px;
  color:#475569;
  font-size:12px;
}

.ai_action_flow{
  min-width:0;
  display:flex;
  align-items:center;
  gap:5px;
  color:#64748b;
  font-size:10px;
  font-weight:800;
  line-height:1.3;
}

.ai_action_flow span{
  min-width:0;
  display:inline-flex;
  align-items:center;
  gap:4px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.ai_action_flow i{
  flex:0 0 auto;
  color:#94a3b8;
  font-style:normal;
}

.ai_action_flow em{
  flex:0 0 auto;
  border-radius:999px;
  background:#e0f2fe;
  padding:1px 5px;
  color:#0369a1;
  font-style:normal;
  font-size:10px;
}

.ai_action_card p{
  margin:0;
  color:#475569;
  display:-webkit-box;
  overflow:hidden;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  font-size:12px;
  line-height:1.45;
}

.ai_action_details{
  min-width:0;
  border:1px solid #e2e8f0;
  border-radius:7px;
  background:rgba(255,255,255,.68);
}

.ai_action_details summary{
  padding:5px 8px;
  color:#64748b;
  font-size:11px;
  font-weight:850;
  cursor:pointer;
  list-style:none;
}

.ai_action_details summary::-webkit-details-marker{
  display:none;
}

.ai_action_details summary::after{
  content:"";
  display:inline-block;
  width:6px;
  height:6px;
  margin-left:6px;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  transform:rotate(45deg) translateY(-2px);
}

.ai_action_details[open] summary::after{
  transform:rotate(225deg) translateY(-1px);
}

.ai_action_details dl{
  padding:0 8px 8px;
}

.ai_action_card dl{
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:4px 8px;
  margin:0;
  color:#475569;
  font-size:12px;
}

.ai_action_card dt{
  color:#64748b;
}

.ai_action_card dd{
  min-width:0;
  margin:0;
  overflow-wrap:anywhere;
  color:#1e293b;
  font-weight:700;
}

.ai_action_card_buttons{
  display:flex;
  gap:8px;
}

.ai_action_bind_case{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
}

.ai_action_bind_case input{
  min-width:0;
  height:32px;
  border:1px solid #d1d5db;
  border-radius:8px;
  padding:0 9px;
  color:#0f172a;
  font:inherit;
  font-size:13px;
}

.ai_action_bind_case button{
  min-height:32px;
  border:1px solid #93c5fd;
  border-radius:8px;
  background:#eff6ff;
  color:#1d4ed8;
  cursor:pointer;
  font-weight:750;
  white-space:nowrap;
}

.ai_case_search_results,
.ai_case_search_state{
  grid-column:1 / -1;
}

.ai_case_search_state{
  border:1px dashed #cbd5e1;
  border-radius:8px;
  padding:8px 10px;
  color:#64748b;
  font-size:12px;
  font-weight:700;
}

.ai_case_search_state.is-error{
  border-color:#fecaca;
  color:#991b1b;
}

.ai_case_search_state.is-selected{
  border-color:#bbf7d0;
  background:#f0fdf4;
  color:#166534;
}

.ai_case_search_results{
  display:grid;
  gap:6px;
  max-height:180px;
  overflow:auto;
}

.ai_case_search_results button{
  display:grid;
  gap:3px;
  width:100%;
  min-height:44px;
  border:1px solid #dbe4f0;
  border-radius:8px;
  background:#fff;
  padding:7px 9px;
  text-align:left;
  color:#0f172a;
  cursor:pointer;
}

.ai_case_search_results button:hover{
  border-color:#93c5fd;
  background:#eff6ff;
}

.ai_case_search_results strong{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:13px;
}

.ai_case_search_results span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#64748b;
  font-size:12px;
}

.ai_action_card_buttons button{
  flex:1;
  min-height:32px;
  border:1px solid #d1d5db;
  border-radius:8px;
  background:#fff;
  color:#334155;
  cursor:pointer;
  font-weight:750;
}

.ai_action_card_buttons button:first-child{
  border-color:#93c5fd;
  background:#eff6ff;
  color:#1d4ed8;
}

.ai_action_card_buttons button:last-child{
  border-color:#fecaca;
  background:#fff1f2;
  color:#991b1b;
}

.ai_agent_operation .ai_action_card_buttons button:only-child{
  border-color:#93c5fd;
  background:#eff6ff;
  color:#1d4ed8;
}

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

.ai_file_panel_tools{
  display:grid;
  gap:8px;
  margin-bottom:10px;
}

.ai_file_scope_switch{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:4px;
  padding:4px;
  border:1px solid #dbe4f0;
  border-radius:11px;
  background:#eef3f8;
}

.ai_file_scope_switch button{
  min-width:0;
  min-height:32px;
  border:0;
  border-radius:8px;
  background:transparent;
  color:#64748b;
  cursor:pointer;
  font:inherit;
  font-size:12px;
  font-weight:750;
}

.ai_file_scope_switch button.is-active{
  background:#fff;
  color:#0f172a;
  box-shadow:0 1px 4px rgba(15,23,42,.1);
}

.ai_file_scope_switch button span{
  margin-left:3px;
  color:#2563eb;
}

.ai_file_panel_search{
  display:grid;
  grid-template-columns:18px minmax(0,1fr) auto;
  gap:7px;
  align-items:center;
  min-height:38px;
  padding:0 11px;
  border:1px solid #dbe4f0;
  border-radius:11px;
  background:#fff;
  color:#64748b;
}

.ai_file_panel_search:focus-within{
  border-color:#60a5fa;
  box-shadow:0 0 0 3px rgba(59,130,246,.1);
}

.ai_file_panel_search input{
  width:100%;
  min-width:0;
  border:0;
  outline:0;
  background:transparent;
  color:#0f172a;
  font:inherit;
  font-size:13px;
}

.ai_file_panel_search button{
  width:24px;
  height:24px;
  padding:0;
  border:0;
  border-radius:999px;
  background:#e2e8f0;
  color:#475569;
  font-size:16px;
  line-height:1;
  cursor:pointer;
}

.ai_file_panel_search button:hover,
.ai_file_panel_search button:focus-visible{
  background:#cbd5e1;
  color:#0f172a;
  outline:0;
}

.ai_file_panel_filters{
  display:flex;
  gap:6px;
  overflow-x:auto;
  padding:1px 1px 4px;
  scrollbar-width:thin;
}

.ai_file_panel_filters button{
  flex:0 0 auto;
  min-height:30px;
  padding:5px 9px;
  border:1px solid #dbe4f0;
  border-radius:999px;
  background:#fff;
  color:#475569;
  font-size:12px;
  font-weight:750;
  cursor:pointer;
}

.ai_file_panel_filters button:hover,
.ai_file_panel_filters button:focus-visible{
  border-color:#93c5fd;
  color:#1d4ed8;
  outline:0;
}

.ai_file_panel_filters button.is-active{
  border-color:#60a5fa;
  background:#eff6ff;
  color:#1d4ed8;
}

.ai_file_panel_filters button span{
  display:inline-flex;
  min-width:17px;
  height:17px;
  align-items:center;
  justify-content:center;
  margin-left:2px;
  padding:0 4px;
  border-radius:999px;
  background:#e2e8f0;
  color:#475569;
  font-size:10px;
}

.ai_file_panel_filters button.is-active span{
  background:#dbeafe;
  color:#1d4ed8;
}

.ai_file_panel_summary{
  margin:0;
  color:#64748b;
  font-size:11px;
  font-weight:650;
}

.ai_file_panel_empty{
  border:1px dashed #cbd5e1;
  border-radius:12px;
  padding:14px 12px;
  color:#64748b;
  font-size:13px;
  font-weight:700;
  line-height:1.6;
}

.ai_file_panel_card{
  display:grid;
  grid-template-columns:36px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  padding:10px;
  border:1px solid #dbe4f0;
  border-radius:12px;
  background:#fff;
  cursor:pointer;
  transition:border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.ai_file_reference_button{
  min-width:46px;
  height:28px;
  padding:0 9px;
  border:1px solid #bfdbfe;
  border-radius:8px;
  background:#fff;
  color:#2563eb;
  cursor:pointer;
  font:inherit;
  font-size:12px;
  font-weight:750;
}

.ai_file_reference_button:hover,
.ai_file_reference_button.is-active{
  border-color:#2563eb;
  background:#eff6ff;
}

.ai_file_panel_card:hover,
.ai_file_panel_card:focus-visible{
  border-color:#9db8da;
  box-shadow:0 10px 24px rgba(15,23,42,.08);
  outline:0;
  transform:translateY(-1px);
}

.ai_file_panel_card.is-formal-evidence{
  border-color:#86efac;
  background:#f0fdf4;
}

.ai_file_panel_card.is-formal-evidence .ai_file_panel_info span{
  color:#15803d;
  font-weight:750;
}

.ai_file_panel_card.is-review-pending{
  border-color:#fbbf24;
  background:#fffbeb;
}

.ai_file_panel_card.is-review-pending .ai_file_panel_info span{
  color:#b45309;
  font-weight:750;
}

.ai_file_panel_card.is-processing-material{
  border-color:#93c5fd;
  background:#eff6ff;
}

.ai_file_panel_card.is-processing-material .ai_file_panel_info span{
  color:#1d4ed8;
  font-weight:750;
}

.ai_file_panel_card.is-status-unverified{
  border-style:dashed;
  border-color:#cbd5e1;
  background:#f8fafc;
}

.ai_file_panel_card.is-status-unverified .ai_file_panel_info span{
  color:#64748b;
  font-weight:750;
}

.ai_file_panel_icon{
  width:36px;
  height:36px;
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#f1f5f9;
  color:#475569;
  font-size:18px;
}

.ai_file_panel_icon .ai_source_reference_icon{
  width:20px;
  height:20px;
}

.ai_source_reference_icon.is-pdf{ color:#dc2626; }
.ai_source_reference_icon.is-word{ color:#2563eb; }
.ai_source_reference_icon.is-spreadsheet{ color:#15803d; }
.ai_source_reference_icon.is-presentation{ color:#ea580c; }
.ai_source_reference_icon.is-image{ color:#7c3aed; }
.ai_source_reference_icon.is-audio{ color:#db2777; }
.ai_source_reference_icon.is-video{ color:#9333ea; }
.ai_source_reference_icon.is-archive{ color:#b45309; }
.ai_source_reference_icon.is-text{ color:#475569; }

.ai_source_reference_icon text{
  fill:currentColor;
  stroke:none;
  font-family:Arial,sans-serif;
  font-size:4px;
  font-weight:800;
  letter-spacing:-.15px;
}

.ai_file_panel_info{
  min-width:0;
  display:grid;
  gap:2px;
}

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

.ai_file_panel_info strong{
  color:#0f172a;
  font-size:13px;
  font-weight:800;
}

.ai_file_panel_info span{
  color:#64748b;
  font-size:12px;
  font-weight:650;
}

.ai_file_inline_preview{
  overflow:hidden;
  border:1px solid #bfdbfe;
  border-radius:12px;
  background:#fff;
  box-shadow:0 10px 28px rgba(30,64,175,.1);
}

.ai_file_inline_preview header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:8px;
  padding:10px 12px;
  border-bottom:1px solid #dbeafe;
  background:#eff6ff;
}

.ai_file_inline_preview header div{
  min-width:0;
  display:grid;
  gap:2px;
}

.ai_file_inline_preview header strong{
  overflow:hidden;
  color:#0f172a;
  font-size:13px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.ai_file_inline_preview header span{
  color:#64748b;
  font-size:12px;
}

.ai_file_inline_preview header button{
  flex:0 0 auto;
  border:0;
  background:transparent;
  color:#64748b;
  font-size:20px;
  line-height:1;
  cursor:pointer;
}

.ai_file_inline_preview iframe{
  display:block;
  width:100%;
  height:min(52vh,520px);
  min-height:360px;
  border:0;
  background:#f8fafc;
}

.ai_file_preview_unavailable{
  padding:28px 14px;
  color:#64748b;
  text-align:center;
  font-size:13px;
}

.ai_file_inline_preview footer{
  padding:8px 10px;
  border-top:1px solid #e2e8f0;
  text-align:right;
}

.ai_file_inline_preview footer button{
  border:1px solid #bfdbfe;
  border-radius:8px;
  background:#eff6ff;
  padding:6px 9px;
  color:#1d4ed8;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
}

.ai_context_panel{
  display:grid;
  gap:10px;
  min-width:0;
}

.ai_context_card{
  display:grid;
  gap:10px;
  min-width:0;
  padding:12px;
  border:1px solid #dbe4f0;
  border-radius:8px;
  background:#fff;
}

.ai_context_card_head{
  display:grid;
  gap:3px;
  min-width:0;
}

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

.ai_context_card_head strong{
  color:#0f172a;
  font-size:14px;
  font-weight:800;
}

.ai_context_card_head span{
  color:#64748b;
  font-size:12px;
  font-weight:700;
}

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

.ai_context_metric{
  min-width:0;
  padding:8px 6px;
  border:1px solid #e2e8f0;
  border-radius:8px;
  background:#f8fafc;
  text-align:center;
}

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

.ai_context_metric span{
  color:#64748b;
  font-size:11px;
  font-weight:750;
}

.ai_context_metric strong{
  margin-top:2px;
  color:#0f172a;
  font-size:16px;
  font-weight:850;
}

.ai_context_list{
  display:grid;
  gap:7px;
  margin:0;
  padding:0;
  list-style:none;
}

.ai_context_list li{
  min-width:0;
  padding-left:10px;
  border-left:3px solid #cbd5e1;
  color:#334155;
  font-size:12px;
  font-weight:650;
  line-height:1.55;
  overflow-wrap:anywhere;
}

.ai_context_empty{
  padding:12px;
  border:1px dashed #cbd5e1;
  border-radius:8px;
  color:#64748b;
  font-size:12px;
  font-weight:700;
  line-height:1.5;
}

.ai_chat_messages{
  flex:1;
  min-height:0;
  overflow:auto;
  padding:34px max(var(--ai-chat-edge-gutter), calc((100% - var(--ai-chat-column-width)) / 2)) 210px;
  display:flex;
  flex-direction:column;
  gap:22px;
  background:#fff;
}

/* Safari can anchor a drag selection at the start of the flex/grid message
   container. While a reply is being selected, keep the selectable boundary
   inside that reply so earlier cards and messages are not swept into it. */
.ai_chat_messages.is-selection-scoped .ai_message_group:not(.is-selection-source),
.ai_chat_messages.is-selection-scoped .ai_message_group.is-selection-source .ai_agent_run_card,
.ai_chat_messages.is-selection-scoped .ai_message_group.is-selection-source .ai_message_tools{
  -webkit-user-select:none;
  user-select:none;
}

.ai_chat_messages.is-selection-scoped .ai_message_group.is-selection-source .ai_agent_run_answer,
.ai_chat_messages.is-selection-scoped .ai_message_group.is-selection-source .ai_message_text,
.ai_chat_messages.is-selection-scoped .ai_message_group.is-selection-source .ai_message_bubble.ai_markdown_body{
  -webkit-user-select:text;
  user-select:text;
}

.ai_empty_state{
  margin:auto;
  max-width:520px;
  color:#64748b;
  text-align:center;
  line-height:1.7;
}

.ai_empty_state strong{
  display:block;
  margin-bottom:8px;
  color:#0f172a;
  font-size:22px;
}

.ai_message_group{
  display:grid;
  gap:7px;
  width:100%;
}

.ai_message_group.is-user{
  justify-items:end;
}

.ai_message_group.is-assistant,
.ai_message_group.is-system{
  justify-items:start;
}

.ai_message_group.is-assistant .ai_message_bubble{
  width:100%;
}

.ai_message_bubble{
  max-width:100%;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:#0f172a;
  font-size:15px;
  line-height:1.78;
  white-space:pre-wrap;
  box-shadow:none;
}

.is-user .ai_message_bubble{
  max-width:min(680px, 78%);
  padding:12px 14px;
  border:1px solid #e7e9ee;
  border-radius:20px;
  background:#f4f6f8;
  box-shadow:none;
}

.is-system .ai_message_bubble{
  max-width:100%;
  padding:10px 12px;
  border:1px solid #e5e7eb;
  border-radius:14px;
  background:#f8fafc;
  color:#64748b;
  font-size:13px;
  line-height:1.65;
  box-shadow:none;
}

.ai_message_bubble.has-attachments{
  display:grid;
  gap:11px;
}

.ai_message_text{
  white-space:pre-wrap;
}

.ai_markdown_body{
  white-space:normal;
}

.ai_source_file_link{
  display:inline-flex;
  align-items:baseline;
  gap:5px;
  margin:0;
  border:0;
  background:transparent;
  padding:0;
  color:#1d4ed8;
  font:inherit;
  font-weight:inherit;
  line-height:inherit;
  text-align:left;
  text-decoration:none;
  cursor:pointer;
}

.ai_source_reference_icon{
  width:1.05em;
  height:1.05em;
  flex:0 0 1.05em;
  align-self:center;
  fill:none;
  stroke:currentColor;
  stroke-width:1.55;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.ai_source_file_link.is-knowledge .ai_source_reference_icon{
  color:#2563eb;
}

.ai_source_reference_name{
  color:#2679d9;
  text-decoration:none;
}

.ai_source_reference_name code,
.ai_source_reference_name strong{
  color:inherit;
  font:inherit;
  font-weight:inherit;
}

.ai_markdown_body .ai_source_file_link .ai_source_reference_name code{
  border-radius:0;
  background:transparent;
  padding:0;
  color:inherit;
  font:inherit;
}

.ai_source_file_link:hover,
.ai_source_file_link:focus-visible{
  color:#1e40af;
  outline:0;
}

.ai_source_file_link:hover .ai_source_reference_name,
.ai_source_file_link:focus-visible .ai_source_reference_name{
  color:#1d4ed8;
  text-decoration:underline;
  text-underline-offset:3px;
}

.ai_knowledge_source_preview{
  display:grid;
  gap:12px;
  padding:14px;
}

.ai_knowledge_source_meta{
  width:max-content;
  max-width:100%;
  border-radius:999px;
  background:#eff6ff;
  padding:4px 9px;
  color:#1d4ed8;
  font-size:12px;
  font-weight:700;
}

.ai_knowledge_source_preview blockquote{
  margin:0;
  border-left:3px solid #60a5fa;
  background:#f8fafc;
  padding:10px 12px;
  color:#334155;
  font-size:13px;
  line-height:1.7;
  white-space:pre-wrap;
}

.ai_knowledge_source_preview dl{
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  gap:7px 10px;
  margin:0;
  font-size:12px;
}

.ai_knowledge_source_preview dt{color:#64748b;}
.ai_knowledge_source_preview dd{margin:0;color:#0f172a;overflow-wrap:anywhere;}

.ai_markdown_body h1,
.ai_markdown_body h2,
.ai_markdown_body h3,
.ai_markdown_body p,
.ai_markdown_body ul,
.ai_markdown_body ol,
.ai_markdown_body blockquote,
.ai_markdown_body pre{
  margin:0;
}

.ai_markdown_body h1,
.ai_markdown_body h2,
.ai_markdown_body h3{
  color:#0f172a;
  font-weight:800;
  line-height:1.35;
}

.ai_markdown_body h1{
  font-size:20px;
  margin:0 0 10px;
}

.ai_markdown_body h2{
  font-size:17px;
  margin:12px 0 8px;
}

.ai_markdown_body h3{
  font-size:15px;
  margin:10px 0 6px;
}

.ai_markdown_body p{
  margin:0 0 10px;
}

.ai_markdown_body p:last-child,
.ai_markdown_body ul:last-child,
.ai_markdown_body ol:last-child,
.ai_markdown_body pre:last-child{
  margin-bottom:0;
}

.ai_markdown_body ul,
.ai_markdown_body ol{
  margin:0 0 10px;
  padding-left:20px;
}

.ai_markdown_body li{
  margin:4px 0;
  padding-left:2px;
}

.ai_markdown_body code{
  border-radius:6px;
  background:#f1f5f9;
  padding:2px 5px;
  color:#334155;
  font-size:.92em;
}

.ai_markdown_body pre{
  margin:10px 0;
  overflow:auto;
  border:1px solid #e5e7eb;
  border-radius:12px;
  background:#0f172a;
  padding:12px;
  color:#e5e7eb;
}

.ai_markdown_body pre code{
  display:block;
  background:transparent;
  padding:0;
  color:inherit;
  font-size:12.5px;
  line-height:1.65;
}

.ai_markdown_body blockquote{
  margin:10px 0;
  border-left:3px solid #cbd5e1;
  padding:2px 0 2px 12px;
  color:#475569;
}

.ai_structured_data{
  margin:10px 0;
  overflow:hidden;
  border:1px solid #dbe4f0;
  border-radius:12px;
  background:#f8fafc;
}

.ai_structured_data summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 12px;
  color:#1e293b;
  font-size:13px;
  font-weight:800;
  cursor:pointer;
  list-style:none;
}

.ai_structured_data summary::-webkit-details-marker{
  display:none;
}

.ai_structured_data summary::after{
  content:'⌄';
  color:#64748b;
  font-size:16px;
  line-height:1;
  transition:transform .16s ease;
}

.ai_structured_data[open] summary::after{
  transform:rotate(180deg);
}

.ai_structured_data summary em{
  margin-left:auto;
  border-radius:999px;
  background:#e0ecff;
  padding:3px 8px;
  color:#2563eb;
  font-size:11px;
  font-style:normal;
  font-weight:700;
}

.ai_structured_data_grid{
  display:grid;
  grid-template-columns:minmax(150px,.34fr) minmax(0,1fr);
  border-top:1px solid #e2e8f0;
}

.ai_structured_data_row{
  display:contents;
}

.ai_structured_data_key,
.ai_structured_data_value{
  min-width:0;
  padding:8px 12px;
  border-bottom:1px solid #e8eef5;
  font-size:12.5px;
  line-height:1.55;
}

.ai_structured_data_key{
  color:#64748b;
  font-weight:700;
}

.ai_structured_data_value{
  overflow-wrap:anywhere;
  color:#0f172a;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

.ai_structured_data_value.is-empty{
  color:#94a3b8;
}

.ai_structured_data_row:last-child .ai_structured_data_key,
.ai_structured_data_row:last-child .ai_structured_data_value{
  border-bottom:0;
}

.ai_markdown_table_wrap{
  max-width:100%;
  overflow:auto;
  margin:10px 0;
  border:1px solid #e5e7eb;
  border-radius:12px;
  background:#fff;
}

.ai_markdown_table_wrap table{
  width:100%;
  min-width:420px;
  border-collapse:collapse;
  font-size:13px;
  line-height:1.55;
}

.ai_markdown_table_wrap th,
.ai_markdown_table_wrap td{
  border-bottom:1px solid #e5e7eb;
  border-right:1px solid #e5e7eb;
  padding:8px 10px;
  text-align:left;
  vertical-align:top;
}

.ai_markdown_table_wrap th:last-child,
.ai_markdown_table_wrap td:last-child{
  border-right:0;
}

.ai_markdown_table_wrap tr:last-child td{
  border-bottom:0;
}

.ai_markdown_table_wrap th{
  background:#f8fafc;
  color:#0f172a;
  font-weight:800;
}

.ai_markdown_table_wrap td{
  color:#334155;
}

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

.ai_sent_file_card{
  display:grid;
  grid-template-columns:40px minmax(0,1fr);
  gap:11px;
  align-items:center;
  min-width:min(300px, 100%);
  max-width:430px;
  padding:10px;
  border:1px solid #e1e5ec;
  border-radius:14px;
  background:#fff;
  color:#0f172a;
  box-shadow:0 1px 2px rgba(15,23,42,.04);
  cursor:pointer;
  transition:border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.ai_sent_file_card:hover,
.ai_sent_file_card:focus-visible{
  border-color:#9db8da;
  box-shadow:0 10px 24px rgba(15,23,42,.08);
  outline:0;
  transform:translateY(-1px);
}

.ai_sent_file_icon{
  width:40px;
  height:40px;
  border-radius:11px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#eef2f7;
  color:#475569;
  font-size:20px;
}

.ai_sent_file_info{
  min-width:0;
  display:grid;
  gap:2px;
}

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

.ai_sent_file_info strong{
  color:#0f172a;
  font-size:13.5px;
  font-weight:800;
}

.ai_sent_file_info span{
  color:#64748b;
  font-size:12px;
  font-weight:650;
}

.ai_message_tools{
  display:flex;
  gap:5px;
  align-items:center;
  min-height:30px;
  color:#9aa3b2;
  font-size:12px;
  opacity:0;
  visibility:hidden;
  transition:opacity .15s ease, visibility .15s ease;
}

.ai_message_group:hover .ai_message_tools,
.ai_message_tools:focus-within{
  opacity:1;
  visibility:visible;
}

.ai_message_tool{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  border:1px solid transparent;
  border-radius:8px;
  background:transparent;
  color:#64748b;
  cursor:pointer;
  padding:0;
  transition:color .15s ease, background .15s ease, border-color .15s ease, transform .15s ease;
}

.ai_message_tool svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.ai_message_tool::after{
  content:attr(data-tooltip);
  position:absolute;
  left:50%;
  bottom:calc(100% + 7px);
  z-index:5;
  padding:4px 7px;
  border-radius:6px;
  background:#172033;
  color:#fff;
  font-size:11px;
  font-weight:700;
  line-height:1.2;
  white-space:nowrap;
  pointer-events:none;
  opacity:0;
  transform:translate(-50%, 3px);
  transition:opacity .12s ease, transform .12s ease;
}

.ai_message_tool:hover,
.ai_message_tool:focus-visible{
  color:#0f172a;
  background:#eef2f7;
  border-color:#dbe4ef;
  transform:translateY(-1px);
  outline:0;
}

.ai_message_tool[data-tool="guide"]{
  color:#2563eb;
}

.ai_message_tool[data-tool="guide"]:hover,
.ai_message_tool[data-tool="guide"]:focus-visible{
  border-color:#bfdbfe;
  background:#eff6ff;
  color:#1d4ed8;
}

.ai_message_tools > span{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  margin-left:3px;
  padding-left:9px;
  border-left:1px solid #e2e8f0;
  color:#94a3b8;
  font-size:11px;
  font-variant-numeric:tabular-nums;
  letter-spacing:.01em;
}

.ai_message_tool:hover::after,
.ai_message_tool:focus-visible::after{
  opacity:1;
  transform:translate(-50%, 0);
}

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

.ai_agent_run_card{
  display:grid;
  gap:12px;
  margin-bottom:12px;
}

.ai_agent_run_head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  padding-bottom:10px;
  border-bottom:1px solid rgba(148,163,184,.24);
}

.ai_agent_run_head p{
  margin:0 0 3px;
  color:#64748b;
  font-size:11px;
  font-weight:900;
  letter-spacing:0;
  text-transform:uppercase;
}

.ai_agent_run_head strong{
  display:block;
  color:#0f172a;
  font-size:14px;
  line-height:1.35;
}

.ai_agent_run_timing{
  display:inline-flex;
  align-items:center;
  width:max-content;
  gap:6px;
  margin-top:6px;
  padding:3px 8px;
  border:1px solid #e2e8f0;
  border-radius:999px;
  background:#f8fafc;
  color:#64748b;
  font-size:11px;
  font-weight:700;
  line-height:1.2;
  font-variant-numeric:tabular-nums;
}

.ai_agent_run_timing::after{
  content:'›';
  color:#94a3b8;
  font-size:15px;
  font-weight:500;
  line-height:10px;
}

.ai_agent_run_timing[data-state="active"]{
  border-color:#bfdbfe;
  background:#eff6ff;
  color:#2563eb;
}

.ai_agent_run_timing[data-state="active"]::before{
  content:'';
  width:5px;
  height:5px;
  border-radius:50%;
  background:#3b82f6;
  box-shadow:0 0 0 3px rgba(59,130,246,.14);
}

.ai_agent_run_status{
  flex:0 0 auto;
  max-width:100%;
  padding:4px 8px;
  border-radius:999px;
  background:#eff6ff;
  color:#1d4ed8;
  font-size:11px;
  font-weight:900;
  line-height:1.35;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}

.ai_agent_run_steps{
  display:grid;
  gap:2px;
}

.ai_agent_run_heading{
  min-width:0;
}

.ai_agent_activity_item > summary{
  list-style:none;
}

.ai_agent_activity_item > summary::-webkit-details-marker{
  display:none;
}

.ai_agent_run_title_row{
  display:flex;
  align-items:center;
  gap:4px;
}

.ai_agent_activity_icon{
  width:18px;
  height:18px;
  flex:0 0 18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.55;
  stroke-linecap:round;
  stroke-linejoin:round;
  color:#64748b;
}

.ai_agent_activity_chevron{
  width:16px;
  height:16px;
  flex:0 0 16px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  color:#94a3b8;
  transition:transform .18s ease;
}

.ai_agent_activity_item[open] > .ai_agent_activity_summary .ai_agent_activity_chevron{
  transform:rotate(180deg);
}

.ai_agent_run_toggle{
  display:inline-grid;
  width:24px;
  height:24px;
  flex:0 0 24px;
  place-items:center;
  padding:0;
  border:0;
  border-radius:6px;
  background:transparent;
  color:#64748b;
  cursor:pointer;
}

.ai_agent_run_toggle:hover,
.ai_agent_run_toggle:focus-visible{
  background:#f1f5f9;
  color:#0f172a;
  outline:none;
}

.ai_agent_run_toggle svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:transform .18s ease;
}

.ai_agent_run_toggle[aria-expanded="true"] svg{
  transform:rotate(180deg);
}

.ai_agent_run_toggle[hidden],
.ai_agent_activity_panel[hidden]{
  display:none;
}

.ai_agent_activity_panel{
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(148,163,184,.28);
  border-radius:9px;
  background:#fff;
}

.ai_agent_activity_list{
  padding:2px 10px 9px 19px;
  background:#fff;
}

.ai_agent_activity_item{
  position:relative;
  min-width:0;
}

.ai_agent_activity_item::before{
  content:'';
  position:absolute;
  top:0;
  bottom:0;
  left:8px;
  width:1px;
  background:#e2e8f0;
}

.ai_agent_activity_item:first-child::before{
  top:17px;
}

.ai_agent_activity_item:last-child::before{
  bottom:calc(100% - 18px);
}

.ai_agent_activity_summary{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  min-height:34px;
  gap:8px;
  padding:5px 4px 5px 0;
  border-radius:6px;
  background:#fff;
  color:#475569;
  cursor:pointer;
  user-select:none;
}

.ai_agent_activity_summary:hover{
  background:#f8fafc;
}

.ai_agent_activity_summary .ai_agent_activity_icon{
  width:17px;
  height:17px;
  flex-basis:17px;
  padding:1px;
  background:#fff;
}

.ai_agent_activity_name{
  min-width:0;
  flex:1 1 auto;
  overflow:hidden;
  color:#334155;
  font-size:12px;
  font-weight:750;
  line-height:1.35;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.ai_agent_activity_status{
  flex:0 0 auto;
  color:#94a3b8;
  font-size:10px;
  font-weight:800;
  white-space:nowrap;
}

.ai_agent_activity_item.is-running .ai_agent_activity_icon,
.ai_agent_activity_item.is-queued .ai_agent_activity_icon,
.ai_agent_activity_item.is-pending .ai_agent_activity_icon{
  color:#2563eb;
}

.ai_agent_activity_item.is-failed .ai_agent_activity_icon,
.ai_agent_activity_item.is-action_failed .ai_agent_activity_icon,
.ai_agent_activity_item.is-failed .ai_agent_activity_status,
.ai_agent_activity_item.is-action_failed .ai_agent_activity_status{
  color:#dc2626;
}

.ai_agent_activity_item.is-waiting_confirmation .ai_agent_activity_icon,
.ai_agent_activity_item.is-waiting_confirmation .ai_agent_activity_status{
  color:#d97706;
}

.ai_agent_activity_body{
  margin:0 5px 5px 25px;
  padding:7px 9px;
  border:1px solid rgba(148,163,184,.2);
  border-radius:7px;
  background:#f8fafc;
}

.ai_agent_activity_body > p,
.ai_agent_run_empty{
  margin:0;
  color:#475569;
  font-size:12px;
  line-height:1.45;
}

.ai_agent_run_step_details{
  margin-top:8px;
  border-top:1px solid rgba(148,163,184,.2);
  padding-top:7px;
}

.ai_agent_run_step_details summary{
  color:#64748b;
  cursor:pointer;
  font-size:11px;
  font-weight:800;
  user-select:none;
}

.ai_agent_run_step_details pre{
  max-height:220px;
  margin:7px 0 0;
  padding:9px;
  overflow:auto;
  border-radius:7px;
  background:#f1f5f9;
  color:#475569;
  font:11px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}

.ai_agent_run_actions{
  display:grid;
  gap:8px;
  margin-top:10px;
}

.ai_agent_run_action{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:8px 10px;
  border:1px solid rgba(245,158,11,.32);
  border-radius:8px;
  background:#fffbeb;
}

.ai_agent_run_action strong{
  display:block;
  color:#78350f;
  font-size:12px;
  line-height:1.35;
}

.ai_agent_run_action span{
  display:block;
  margin-top:2px;
  color:#92400e;
  font-size:11px;
  font-weight:800;
}

.ai_agent_run_action button{
  flex:0 0 auto;
  min-height:30px;
  padding:0 10px;
  border:0;
  border-radius:7px;
  background:#0f172a;
  color:#fff;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
}

.ai_agent_run_action button:disabled{
  background:#cbd5e1;
  color:#64748b;
  cursor:default;
}

.ai_agent_run_action.is-executed{
  border-color:rgba(34,197,94,.28);
  background:#f0fdf4;
}

.ai_agent_run_action.is-executed strong{
  color:#166534;
}

.ai_agent_run_action.is-executed span{
  color:#15803d;
}

.ai_agent_run_answer{
  margin-top:10px;
}

.ai_agent_run_answer.is-live-output{
  position:relative;
}

.ai_live_answer_stream{
  display:block;
  overflow-wrap:anywhere;
}

.ai_live_answer_text{
  display:block;
}

.ai_live_answer_stream:has(.ai_live_answer_text:not(:empty)){
  margin-bottom:10px;
}

.ai_live_run_feedback{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:26px;
  color:#64748b;
  font-size:12px;
  font-weight:700;
  line-height:1.4;
}

.ai_live_run_pulse{
  display:inline-flex;
  align-items:center;
  gap:3px;
  width:23px;
  height:16px;
}

.ai_live_run_pulse i{
  width:4px;
  height:4px;
  border-radius:50%;
  background:#2563eb;
  animation:ai_live_run_wave 1.05s ease-in-out infinite;
}

.ai_live_run_pulse i:nth-child(2){ animation-delay:.14s; }
.ai_live_run_pulse i:nth-child(3){ animation-delay:.28s; }

.ai_live_run_cursor{
  display:inline-block;
  width:2px;
  height:15px;
  margin-left:2px;
  vertical-align:-2px;
  border-radius:999px;
  background:#2563eb;
  animation:ai_live_cursor_blink .8s steps(1,end) infinite;
}

@keyframes ai_live_run_wave{
  0%, 65%, 100%{ opacity:.3; transform:translateY(0); }
  30%{ opacity:1; transform:translateY(-3px); }
}

@keyframes ai_live_cursor_blink{
  0%, 48%{ opacity:1; }
  49%, 100%{ opacity:.15; }
}

.ai_agent_run_answer.is-progress{
  display:flex;
  align-items:center;
  gap:9px;
  color:#64748b;
}

.ai_agent_run_answer.is-progress::before{
  content:"";
  width:12px;
  height:12px;
  flex:0 0 12px;
  border:2px solid #cbd5e1;
  border-top-color:#2563eb;
  border-radius:50%;
  animation:ai_agent_thinking_spin .8s linear infinite;
}

@keyframes ai_agent_thinking_spin{
  to{ transform:rotate(360deg); }
}

@media (prefers-reduced-motion: reduce){
  .ai_agent_run_answer.is-progress::before,
  .ai_live_run_pulse i,
  .ai_live_run_cursor{ animation:none; }
}

.ai_file_card_bubble{
  width:100%;
  max-width:100%;
  padding:0;
  overflow:visible;
  background:transparent;
  border:0;
  box-shadow:none;
}

.ai_case_context_bubble,
.is-system .ai_case_context_bubble{
  width:100%;
  max-width:100%;
  padding:0;
  overflow:visible;
  background:transparent;
  border:0;
  box-shadow:none;
}

.ai_case_context_message_card{
  display:grid;
  grid-template-columns:36px minmax(0,1fr);
  gap:10px;
  align-items:start;
  width:calc(100% - 20px);
  margin:0 10px;
  padding:11px 12px;
  border:1px solid #bfdbfe;
  border-radius:12px;
  background:#f7fbff;
  box-shadow:none;
}

.ai_case_context_message_icon{
  width:34px;
  height:34px;
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#2563eb;
  color:#fff;
  font-weight:850;
}

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

.ai_case_context_message_body span{
  color:#1d4ed8;
  font-size:12px;
  font-weight:800;
}

.ai_case_context_message_body strong{
  min-width:0;
  overflow-wrap:anywhere;
  color:#0f172a;
  font-size:14px;
  line-height:1.45;
}

.ai_case_context_message_body dl{
  display:grid;
  grid-template-columns:56px minmax(0,1fr);
  gap:3px 8px;
  margin:0;
  color:#475569;
  font-size:11px;
}

.ai_case_context_message_body dt{
  color:#64748b;
}

.ai_case_context_message_body dd{
  min-width:0;
  margin:0;
  overflow-wrap:anywhere;
  color:#1e293b;
  font-weight:750;
}

.ai_file_card{
  position:relative;
  display:grid;
  grid-template-columns:56px minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  width:100%;
  padding:16px 18px;
  border:1px solid #e5e7eb;
  border-radius:18px;
  background:#fff;
  box-shadow:0 12px 30px rgba(15,23,42,.06);
}

.ai_file_icon{
  width:48px;
  height:48px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#f8fafc;
  color:#64748b;
  font-size:24px;
}

.ai_file_info{
  min-width:0;
  display:grid;
  gap:3px;
}

.ai_file_info strong{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#0f172a;
  font-size:16px;
}

.ai_file_info span{
  color:#64748b;
  font-size:13px;
}

.ai_file_actions{
  position:relative;
  display:flex;
  align-items:center;
}

.ai_file_open,
.ai_file_menu_button{
  height:38px;
  border:1px solid #e5e7eb;
  background:#fff;
  color:#0f172a;
  cursor:pointer;
  font-weight:750;
}

.ai_file_open{
  padding:0 16px;
  border-radius:14px 0 0 14px;
}

.ai_file_menu_button{
  width:38px;
  margin-left:-1px;
  border-radius:0 14px 14px 0;
}

.ai_file_menu{
  display:none;
  position:absolute;
  top:44px;
  right:0;
  z-index:5;
  min-width:130px;
  padding:6px;
  border:1px solid #e5e7eb;
  border-radius:12px;
  background:#fff;
  box-shadow:0 18px 40px rgba(15,23,42,.14);
}

.ai_file_menu.is-open{
  display:grid;
}

.ai_file_menu button{
  border:0;
  border-radius:9px;
  background:transparent;
  color:#334155;
  cursor:pointer;
  padding:8px 10px;
  text-align:left;
}

.ai_file_menu button:hover{
  background:#f1f5f9;
  color:#0f172a;
}

.ai_chat_composer{
  position:absolute;
  left:50%;
  bottom:24px;
  z-index:18;
  width:min(var(--ai-chat-column-width), calc(100% - (var(--ai-chat-edge-gutter) * 2)));
  margin:0;
  padding:12px;
  border:1px solid #d9dee7;
  border-radius:24px;
  background:rgba(255,255,255,.96);
  box-shadow:0 22px 55px rgba(15,23,42,.14),0 0 0 1px rgba(255,255,255,.75) inset;
  transform:translateX(-50%);
  backdrop-filter:blur(18px);
  display:grid;
  gap:8px;
}

.ai_chat_composer.is-dragging{
  border-color:#2563eb;
  box-shadow:0 0 0 4px rgba(37,99,235,.12),0 18px 44px rgba(15,23,42,.1);
}

.ai_drop_overlay{
  display:none;
  position:absolute;
  inset:0;
  z-index:2;
  align-items:center;
  justify-content:center;
  border-radius:22px;
  background:rgba(239,246,255,.92);
  color:#1d4ed8;
  font-weight:800;
}

.ai_chat_composer.is-dragging .ai_drop_overlay{
  display:flex;
}

.ai_skill_picker{
  display:none;
  position:absolute;
  left:12px;
  right:12px;
  bottom:calc(100% + 10px);
  z-index:20;
  max-height:310px;
  padding:10px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:20px;
  background:rgba(28,28,30,.94);
  color:#f8fafc;
  box-shadow:0 24px 70px rgba(0,0,0,.28);
  backdrop-filter:blur(18px);
  overflow:auto;
}

.ai_skill_picker.is-open{
  display:grid;
  gap:6px;
}

.ai_skill_picker_header{
  padding:3px 8px 7px;
  color:#a1a1aa;
  font-size:12px;
  font-weight:800;
}

.ai_skill_option{
  min-width:0;
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:10px;
  align-items:center;
  padding:9px 10px;
  border:0;
  border-radius:12px;
  background:transparent;
  color:inherit;
  cursor:pointer;
  text-align:left;
}

.ai_skill_option:hover,
.ai_skill_option.is-active{
  background:rgba(255,255,255,.12);
}

.ai_skill_option_icon{
  width:30px;
  height:30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:9px;
  background:#2563eb;
  color:#fff;
  font-size:14px;
  font-weight:850;
}

.ai_skill_option:nth-of-type(3) .ai_skill_option_icon{
  background:#16a34a;
}

.ai_skill_option:nth-of-type(4) .ai_skill_option_icon{
  background:#d97706;
}

.ai_skill_option:nth-of-type(5) .ai_skill_option_icon{
  background:#7c3aed;
}

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

.ai_skill_option_text strong{
  flex:0 0 auto;
  color:#fff;
  font-size:14px;
  font-weight:800;
}

.ai_skill_option_text span{
  min-width:0;
  color:#a1a1aa;
  font-size:13px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.ai_skill_empty{
  padding:12px 10px;
  color:#a1a1aa;
  font-size:13px;
}

.ai_attachment_bar{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  width:100%;
  min-width:0;
  max-width:100%;
  overflow:hidden;
}

.ai_attachment_chip{
  display:flex;
  align-items:center;
  gap:7px;
  box-sizing:border-box;
  min-width:0;
  max-width:100%;
  padding:6px 9px;
  border:1px solid #e5e7eb;
  border-radius:999px;
  background:#f8fafc;
  color:#334155;
  font-size:12px;
  cursor:pointer;
  transition:border-color .16s ease, background .16s ease;
}

.ai_attachment_chip:hover{
  border-color:#9db8da;
  background:#fff;
}

.ai_attachment_chip.is-evidence-reference{
  width:100%;
  border-color:#93c5fd;
  background:#eff6ff;
  color:#1d4ed8;
}

.ai_attachment_chip span{
  flex:1 1 auto;
  min-width:0;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.ai_attachment_chip button{
  flex:0 0 auto;
  width:22px;
  height:22px;
  padding:0;
  border:0;
  background:transparent;
  color:#64748b;
  cursor:pointer;
}

.ai_chat_composer textarea{
  width:100%;
  box-sizing:border-box;
  min-height:74px;
  max-height:min(320px, 40vh);
  padding:0 2px;
  overflow-y:hidden;
  resize:none;
  border:0;
  outline:none;
  color:#0f172a;
  font:15px/1.65 Inter, system-ui, -apple-system, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
}

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

@media (max-width:640px){
  .ai_composer_toolbar{
    align-items:flex-end;
  }

  .ai_composer_left{
    flex:1 1 auto;
  }

  .ai_composer_right{
    margin-left:auto;
  }
}

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

.ai_composer_left,
.ai_composer_right{
  flex:0 0 auto;
}

.ai_voice_recording_bar{
  flex:1 1 0;
  min-width:0;
  display:none;
  align-items:center;
  gap:9px;
  color:#64748b;
  font-weight:800;
  overflow:hidden;
}

.ai_voice_level{
  flex:0 1 86px;
  min-width:46px;
  max-width:96px;
  height:8px;
  border-radius:999px;
  background:#e2e8f0;
  overflow:hidden;
  box-shadow:inset 0 0 0 1px rgba(148,163,184,.25);
}

.ai_voice_level span{
  display:block;
  width:100%;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#22c55e,#84cc16,#f59e0b);
  transform:scaleX(.04);
  transform-origin:left center;
  transition:transform .12s ease;
}

.ai_voice_level.is-low span{
  background:#ef4444;
}

.ai_voice_gain{
  flex:0 1 108px;
  min-width:76px;
  display:flex;
  align-items:center;
  gap:6px;
  color:#64748b;
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
  overflow:hidden;
}

.ai_voice_gain span{
  flex:0 0 auto;
}

.ai_voice_gain input{
  flex:1 1 44px;
  min-width:38px;
  width:auto;
  accent-color:#16a34a;
}

.ai_voice_timer{
  flex:0 0 42px;
  min-width:42px;
  color:#475569;
  font-size:17px;
  text-align:right;
  font-variant-numeric:tabular-nums;
}

.ai_voice_phase{
  flex:0 1 86px;
  min-width:0;
  max-width:96px;
  color:#64748b;
  font-size:13px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.ai_chat_composer.is-voice-active .ai_composer_left{
  flex:0 0 auto;
}

.ai_chat_composer.is-voice-active .ai_model_button{
  display:none;
}

.ai_chat_composer.is-voice-active .ai_voice_recording_bar{
  display:flex;
}

.ai_chat_composer.is-voice-active .ai_composer_right{
  gap:6px;
}

.ai_hidden_file{
  display:none;
}

.ai_icon_button,
.ai_voice_mode_button,
.ai_voice_button,
.ai_send_button,
.ai_text_button,
.ai_primary_button,
.ai_model_button,
.ai_model_select{
  border:1px solid #d1d5db;
  background:#fff;
  color:#334155;
  cursor:pointer;
  font-weight:700;
}

.ai_icon_button,
.ai_voice_button,
.ai_send_button{
  width:34px;
  height:34px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:18px;
}

.ai_voice_mode_button{
  min-width:48px;
  height:34px;
  padding:0 10px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#475569;
  font-size:12px;
  line-height:1;
  white-space:nowrap;
}

.ai_voice_mode_button:hover,
.ai_voice_mode_button:focus-visible{
  border-color:#9db8da;
  background:#f8fafc;
  color:#0f172a;
  outline:0;
}

.ai_voice_mode_button:disabled{
  opacity:.55;
  cursor:default;
}

.ai_voice_mode_button[data-mode="recorded"]{
  border-color:#bbf7d0;
  background:#f0fdf4;
  color:#15803d;
}

.ai_voice_mode_button[data-mode="native"]{
  border-color:#bfdbfe;
  background:#eff6ff;
  color:#1d4ed8;
}

.ai_voice_mode_button[data-mode="realtime"]{
  border-color:#fed7aa;
  background:#fff7ed;
  color:#c2410c;
}

.ai_voice_button{
  color:#64748b;
}

.ai_voice_button svg{
  width:18px;
  height:18px;
  stroke:currentColor;
  stroke-width:2;
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.ai_voice_stop_icon{
  display:none;
  width:10px;
  height:10px;
  border-radius:2px;
  background:currentColor;
}

.ai_voice_button:hover,
.ai_voice_button:focus-visible{
  border-color:#9db8da;
  color:#0f172a;
  outline:0;
}

.ai_voice_button.is-recording{
  border-color:#fb7185;
  background:#fff1f2;
  color:#e11d48;
  box-shadow:0 0 0 4px rgba(225,29,72,.10);
}

.ai_voice_button.is-recording svg{
  display:none;
}

.ai_voice_button.is-recording .ai_voice_stop_icon{
  display:block;
}

.ai_send_button{
  border-color:#0f172a;
  background:#0f172a;
  color:#fff;
}

.ai_send_button .ai_agent_stop_icon{
  display:none;
  width:12px;
  height:12px;
  border-radius:2px;
  background:currentColor;
}

.ai_send_button.is-stop{
  border-color:#334155;
  background:#334155;
}

.ai_send_button.is-stop .ai_send_arrow{
  display:none;
}

.ai_send_button.is-stop .ai_agent_stop_icon{
  display:block;
}

.ai_send_button.is-stop:hover{
  border-color:#dc2626;
  background:#dc2626;
}

.ai_text_button,
.ai_primary_button,
.ai_model_button,
.ai_model_select{
  min-height:34px;
  border-radius:999px;
  padding:0 12px;
  font-size:13px;
}

.ai_primary_button{
  border-color:#2563eb;
  background:#2563eb;
  color:#fff;
}

.ai_model_select{
  padding-right:8px;
}

.ai_model_picker{
  position:relative;
}

.ai_model_button::after{
  content:'⌄';
  margin-left:6px;
  color:#64748b;
}

.ai_model_menu{
  display:none;
  position:absolute;
  left:0;
  bottom:calc(100% + 8px);
  z-index:40;
  width:min(320px, calc(100vw - 48px));
  max-height:300px;
  overflow:auto;
  padding:6px;
  border:1px solid #dbe3ee;
  border-radius:14px;
  background:#fff;
  box-shadow:0 18px 50px rgba(15,23,42,.16);
}

.ai_model_menu.is-open{
  display:block;
}

.ai_model_option{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:9px 10px;
  border:0;
  border-radius:9px;
  background:transparent;
  color:#334155;
  cursor:pointer;
  text-align:left;
  font:inherit;
}

.ai_model_option:hover,
.ai_model_option:focus-visible{
  background:#f1f5f9;
  outline:0;
}

.ai_model_option.is-active{
  background:#eff6ff;
  color:#1d4ed8;
  font-weight:700;
}

.ai_model_option small{
  color:#64748b;
  white-space:nowrap;
}

.ai_model_menu_status{
  padding:9px 10px;
  color:#64748b;
  font-size:12px;
}

button:disabled{
  opacity:.55;
  cursor:not-allowed;
}

.ai_settings_modal,
.ai_rename_modal{
  display:none;
  position:fixed;
  inset:0;
  z-index:1000;
}

.ai_settings_modal.is-open,
.ai_rename_modal.is-open{
  display:block;
}

.ai_settings_backdrop{
  position:absolute;
  inset:0;
  background:rgba(15,23,42,.26);
}

.ai_settings_panel,
.ai_rename_panel{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  border:1px solid #e5e7eb;
  border-radius:20px;
  background:#fff;
  box-shadow:0 24px 80px rgba(15,23,42,.22);
}

.ai_settings_panel{
  width:min(860px, calc(100vw - 40px));
  height:min(680px, calc(100vh - 56px));
  display:flex;
  flex-direction:column;
  overflow:hidden;
}

.ai_rename_panel{
  width:min(520px, calc(100vw - 36px));
  display:grid;
  gap:14px;
  padding:20px;
}

.ai_settings_header,
.ai_settings_panel footer,
.ai_rename_panel header,
.ai_rename_panel footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.ai_settings_header{
  flex:0 0 auto;
  padding:20px 22px 14px;
  border-bottom:1px solid #e5e7eb;
}

.ai_settings_tabs{
  flex:0 0 auto;
  display:inline-grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:4px;
  margin:14px 22px 0;
  padding:4px;
  border:1px solid #dbe4ef;
  border-radius:14px;
  background:#f1f5f9;
}

.ai_settings_tabs button{
  min-height:36px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:#64748b;
  cursor:pointer;
  font-weight:800;
}

.ai_settings_tabs button.is-active{
  background:#fff;
  color:#0f172a;
  box-shadow:0 8px 20px rgba(15,23,42,.08);
}

.ai_settings_body{
  flex:1 1 auto;
  min-height:0;
  overflow:hidden;
  padding:16px 22px 22px;
}

.ai_settings_tab_panel{
  height:100%;
  min-height:0;
  overflow:auto;
}

.ai_model_capability_panel{display:grid;gap:18px}
.ai_model_capability_intro{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.ai_model_capability_intro p{margin:0;color:#64748b;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.ai_model_capability_intro h3{margin:4px 0 0;color:#0f172a;font-size:20px}
.ai_model_capability_intro>span{padding:7px 10px;border-radius:999px;background:#eef4ff;color:#2459c4;font-size:12px;font-weight:700}
.ai_model_capability_notice{margin:0;padding:12px 14px;border:1px solid #d8e4f5;border-radius:12px;background:#f7faff;color:#52627a;line-height:1.6}
.ai_model_capability_roles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ai_model_capability_roles article{display:grid;gap:5px;padding:13px;border:1px solid #dfe7f2;border-radius:12px;background:#fff}
.ai_model_capability_roles span{color:#64748b;font-size:12px}.ai_model_capability_roles strong{color:#172033;overflow-wrap:anywhere}.ai_model_capability_roles small{color:#7b8799;line-height:1.45}
.ai_model_catalog_groups{display:grid;gap:12px}
.ai_model_catalog_group{border:1px solid #dfe7f2;border-radius:12px;overflow:hidden;background:#fff}
.ai_model_catalog_group h4{display:flex;justify-content:space-between;margin:0;padding:11px 13px;background:#f6f8fb;color:#26344c;font-size:14px}
.ai_model_catalog_group h4 span{color:#718096;font-weight:600}
.ai_model_catalog_item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border-top:1px solid #edf1f6}
.ai_model_catalog_item>div:first-child{display:grid;gap:3px;min-width:150px}.ai_model_catalog_item small{color:#8792a3}.ai_model_catalog_item strong{overflow-wrap:anywhere}
.ai_model_capability_tags{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}.ai_model_capability_tags span{padding:3px 7px;border-radius:999px;background:#eef4ff;color:#3764b7;font-size:11px}
.ai_model_capability_empty{margin:0;color:#78869a}
@media (max-width:760px){.ai_model_capability_roles{grid-template-columns:1fr}.ai_model_catalog_item{align-items:flex-start;flex-direction:column}.ai_model_capability_tags{justify-content:flex-start}}

.ai_settings_connection_grid{
  display:grid;
  gap:14px;
}

.ai_settings_tab_panel footer{
  margin-top:16px;
}

.ai_realtime_status_card{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:10px 14px;
  align-items:start;
  margin-top:18px;
  padding:14px 16px;
  border:1px solid #dbe4ef;
  border-radius:14px;
  background:#f8fafc;
}

.ai_realtime_status_card p{
  margin:0;
  color:#64748b;
  font-size:12px;
  font-weight:750;
}

.ai_realtime_status_card strong{
  display:block;
  margin-top:2px;
  color:#0f172a;
  font-size:15px;
}

.ai_realtime_status_card > p{
  grid-column:1 / -1;
  line-height:1.6;
}

.ai_realtime_status_card .ai_realtime_action_hint{
  padding:8px 10px;
  border:1px solid #dbe4ef;
  border-radius:10px;
  background:#fff;
  color:#334155;
  font-size:12px;
  font-weight:750;
}

.ai_realtime_status_card > span{
  padding:5px 9px;
  border:1px solid #dbe4ef;
  border-radius:999px;
  background:#fff;
  color:#64748b;
  font-size:12px;
  font-weight:850;
  white-space:nowrap;
}

.ai_realtime_status_card.is-checking{
  border-color:#bfdbfe;
  background:#eff6ff;
}

.ai_realtime_status_card.is-supported{
  border-color:#bbf7d0;
  background:#f0fdf4;
}

.ai_realtime_status_card.is-supported span{
  border-color:#86efac;
  color:#15803d;
}

.ai_realtime_status_card.is-unsupported,
.ai_realtime_status_card.is-error{
  border-color:#fecaca;
  background:#fef2f2;
}

.ai_realtime_status_card.is-unsupported span,
.ai_realtime_status_card.is-error span{
  border-color:#fecaca;
  color:#b91c1c;
}

.ai_realtime_ready_grid{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:8px;
}

.ai_realtime_ready_grid div{
  min-width:0;
  padding:10px;
  border:1px solid #e2e8f0;
  border-radius:12px;
  background:rgba(255,255,255,.7);
}

.ai_realtime_ready_grid span{
  display:block;
  margin:0 0 4px;
  color:#64748b;
  font-size:11px;
  font-weight:850;
}

.ai_realtime_ready_grid strong{
  margin:0;
  color:#334155;
  font-size:13px;
  line-height:1.35;
}

.ai_realtime_ready_grid.is-ready div{
  border-color:#bbf7d0;
  background:#f0fdf4;
}

.ai_realtime_ready_grid.is-ready strong{
  color:#15803d;
}

.ai_realtime_ready_grid.is-blocked div{
  border-color:#fed7aa;
  background:#fff7ed;
}

.ai_realtime_ready_grid.is-blocked strong{
  color:#9a3412;
}

.ai_realtime_ready_grid.is-checking div{
  border-color:#bfdbfe;
  background:#eff6ff;
}

.ai_realtime_capability_panel{
  grid-column:1 / -1;
  display:grid;
  gap:10px;
  padding:12px;
  border:1px solid #dbe4ef;
  border-radius:12px;
  background:#fff;
}

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

.ai_realtime_capability_head span,
.ai_realtime_capability_list span{
  display:block;
  margin:0 0 4px;
  color:#64748b;
  font-size:11px;
  font-weight:850;
}

.ai_realtime_capability_head strong{
  color:#0f172a;
  font-size:13px;
  line-height:1.35;
}

.ai_realtime_capability_head small{
  color:#64748b;
  font-size:11px;
  font-weight:750;
  line-height:1.35;
  text-align:right;
}

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

.ai_realtime_capability_list div{
  min-width:0;
  padding:10px;
  border:1px solid #e2e8f0;
  border-radius:10px;
  background:#f8fafc;
}

.ai_realtime_capability_list div.is-available{
  border-color:#86efac;
  background:#f0fdf4;
}

.ai_realtime_capability_list div.is-pending,
.ai_realtime_capability_list div.is-needs_config{
  border-color:#fed7aa;
  background:#fff7ed;
}

.ai_realtime_capability_list div.is-blocked,
.ai_realtime_capability_list div.is-not_implemented{
  border-color:#e2e8f0;
  background:#f8fafc;
}

.ai_realtime_capability_list strong,
.ai_realtime_capability_list small{
  display:block;
}

.ai_realtime_capability_list strong{
  color:#0f172a;
  font-size:12px;
  line-height:1.35;
}

.ai_realtime_capability_list small{
  margin-top:5px;
  color:#64748b;
  font-size:11px;
  font-weight:750;
  line-height:1.35;
}

.ai_realtime_validation_panel{
  grid-column:1 / -1;
  display:grid;
  gap:10px;
  padding:12px;
  border:1px dashed #cbd5e1;
  border-radius:12px;
  background:rgba(248,250,252,.82);
}

.ai_realtime_validation_panel > div:first-child{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}

.ai_realtime_validation_panel span{
  color:#64748b;
  font-size:11px;
  font-weight:850;
}

.ai_realtime_validation_panel strong{
  color:#334155;
  font-size:13px;
  line-height:1.35;
  text-align:right;
}

.ai_realtime_validation_panel.is-passed{
  border-style:solid;
  border-color:#86efac;
  background:#f0fdf4;
}

.ai_realtime_validation_panel.is-passed strong{
  color:#15803d;
}

.ai_realtime_validation_panel.is-failed{
  border-style:solid;
  border-color:#fed7aa;
  background:#fff7ed;
}

.ai_realtime_validation_panel.is-failed strong{
  color:#9a3412;
}

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

.ai_realtime_validation_panel dl div{
  min-width:0;
}

.ai_realtime_validation_panel dt{
  margin:0 0 3px;
  color:#94a3b8;
  font-size:11px;
  font-weight:800;
}

.ai_realtime_validation_panel dd{
  margin:0;
  overflow:hidden;
  color:#334155;
  font-size:12px;
  font-weight:850;
  line-height:1.35;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.ai_realtime_validation_panel .ai_text_button{
  width:max-content;
  min-height:30px;
  padding:6px 10px;
}

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

.ai_realtime_acceptance_panel{
  grid-column:1 / -1;
  display:grid;
  gap:12px;
  padding:12px;
  border:1px solid #dbe4ef;
  border-radius:12px;
  background:#fff;
}

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

.ai_realtime_acceptance_head span{
  display:block;
  margin:0 0 4px;
  color:#64748b;
  font-size:11px;
  font-weight:850;
}

.ai_realtime_acceptance_head strong{
  color:#0f172a;
  font-size:13px;
  line-height:1.35;
}

.ai_realtime_acceptance_head .ai_text_button{
  flex:0 0 auto;
  min-height:30px;
  padding:6px 10px;
}

.ai_realtime_acceptance_panel ol{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:8px;
  margin:0;
  padding:0;
  list-style:none;
}

.ai_realtime_acceptance_panel li{
  min-width:0;
  padding:10px;
  border:1px solid #e2e8f0;
  border-radius:10px;
  background:#f8fafc;
}

.ai_realtime_acceptance_panel li span,
.ai_realtime_acceptance_panel li strong,
.ai_realtime_acceptance_panel li small{
  display:block;
}

.ai_realtime_acceptance_panel li span{
  color:#64748b;
  font-size:11px;
  font-weight:850;
}

.ai_realtime_acceptance_panel li strong{
  margin-top:3px;
  color:#334155;
  font-size:12px;
}

.ai_realtime_acceptance_panel li small{
  margin-top:5px;
  color:#64748b;
  font-size:11px;
  line-height:1.35;
}

.ai_realtime_acceptance_panel li.is-done{
  border-color:#86efac;
  background:#f0fdf4;
}

.ai_realtime_acceptance_panel li.is-done strong{
  color:#15803d;
}

.ai_realtime_acceptance_panel li.is-blocked{
  border-color:#fed7aa;
  background:#fff7ed;
}

.ai_realtime_acceptance_panel li.is-blocked strong{
  color:#9a3412;
}

.ai_realtime_acceptance_panel > p{
  margin:0;
  color:#475569;
  font-size:12px;
  font-weight:750;
  line-height:1.5;
}

.ai_realtime_final_panel{
  grid-column:1 / -1;
  display:grid;
  gap:10px;
  padding:12px;
  border:1px solid #fed7aa;
  border-radius:12px;
  background:#fff7ed;
}

.ai_realtime_final_panel.is-accepted{
  border-color:#86efac;
  background:#f0fdf4;
}

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

.ai_realtime_final_head span{
  display:block;
  margin:0 0 4px;
  color:#64748b;
  font-size:11px;
  font-weight:850;
}

.ai_realtime_final_head strong{
  color:#0f172a;
  font-size:13px;
  line-height:1.35;
}

.ai_realtime_final_head small{
  padding:4px 8px;
  border:1px solid #fed7aa;
  border-radius:999px;
  color:#9a3412;
  font-size:11px;
  font-weight:850;
  white-space:nowrap;
}

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

.ai_realtime_final_actions .ai_text_button{
  min-height:28px;
  padding:5px 9px;
  font-size:12px;
  white-space:nowrap;
}

.ai_realtime_final_panel.is-accepted .ai_realtime_final_head small{
  border-color:#86efac;
  color:#15803d;
}

.ai_realtime_final_panel > p{
  margin:0;
  color:#475569;
  font-size:12px;
  font-weight:750;
  line-height:1.45;
}

.ai_realtime_final_blockers{
  display:grid;
  gap:6px;
}

.ai_realtime_final_blockers[hidden]{
  display:none;
}

.ai_realtime_final_blockers div{
  min-width:0;
  padding:8px 10px;
  border:1px solid #fdba74;
  border-radius:10px;
  background:#fff;
}

.ai_realtime_final_blockers strong,
.ai_realtime_final_blockers span{
  display:block;
}

.ai_realtime_final_blockers strong{
  color:#9a3412;
  font-size:12px;
  line-height:1.35;
}

.ai_realtime_final_blockers span{
  margin-top:3px;
  color:#64748b;
  font-size:12px;
  line-height:1.45;
}

.ai_realtime_final_command_wrap{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  align-items:center;
  gap:8px;
}

.ai_realtime_final_command_wrap[hidden]{
  display:none;
}

.ai_realtime_final_command{
  min-width:0;
  overflow-wrap:anywhere;
  border:1px solid #fdba74;
  border-radius:10px;
  background:#fff;
  padding:8px 10px;
  color:#7c2d12;
  font-size:11px;
  font-weight:750;
  line-height:1.45;
}

.ai_realtime_final_command_wrap .ai_text_button{
  min-height:32px;
  padding:6px 10px;
  font-size:12px;
  white-space:nowrap;
}

.ai_realtime_final_panel ol{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:8px;
  margin:0;
  padding:0;
  list-style:none;
}

.ai_realtime_final_panel li{
  min-width:0;
  padding:9px 10px;
  border:1px solid #fed7aa;
  border-radius:10px;
  background:#fff;
}

.ai_realtime_final_panel li.is-passed{
  border-color:#86efac;
  background:#f0fdf4;
}

.ai_realtime_final_panel li span,
.ai_realtime_final_panel li strong{
  display:block;
}

.ai_realtime_final_panel li span{
  color:#64748b;
  font-size:11px;
  font-weight:850;
}

.ai_realtime_final_panel li strong{
  margin-top:4px;
  color:#334155;
  font-size:12px;
  line-height:1.35;
}

.ai_realtime_mic_check_panel{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:10px 12px;
  align-items:center;
  padding:12px;
  border:1px solid #dbe4ef;
  border-radius:12px;
  background:#fff;
}

.ai_realtime_mic_check_panel > div{
  min-width:0;
}

.ai_realtime_mic_check_panel span{
  display:block;
  margin:0 0 4px;
  color:#64748b;
  font-size:11px;
  font-weight:850;
}

.ai_realtime_mic_check_panel strong{
  color:#0f172a;
  font-size:13px;
  line-height:1.35;
}

.ai_realtime_mic_check_panel p{
  grid-column:1 / -1;
  margin:0;
  color:#64748b;
  font-size:12px;
  font-weight:750;
  line-height:1.45;
}

.ai_realtime_mic_check_panel .ai_text_button{
  min-height:30px;
  padding:6px 10px;
  white-space:nowrap;
}

.ai_realtime_mic_check_panel.is-ok{
  border-color:#86efac;
  background:#f0fdf4;
}

.ai_realtime_mic_check_panel.is-ok strong{
  color:#15803d;
}

.ai_realtime_mic_check_panel.is-warn{
  border-color:#fed7aa;
  background:#fff7ed;
}

.ai_realtime_mic_check_panel.is-warn strong{
  color:#9a3412;
}

.ai_realtime_mic_check_panel.is-error{
  border-color:#fecaca;
  background:#fef2f2;
}

.ai_realtime_mic_check_panel.is-error strong{
  color:#b91c1c;
}

.ai_realtime_settings_card{
  display:grid;
  gap:14px;
  margin-top:16px;
  padding:16px;
  border:1px solid #dbe4ef;
  border-radius:14px;
  background:#fff;
}

.ai_realtime_settings_head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.ai_realtime_settings_head p,
.ai_realtime_settings_hint{
  margin:0;
  color:#64748b;
  font-size:12px;
  font-weight:750;
}

.ai_realtime_settings_head h3{
  margin:2px 0 0;
  color:#0f172a;
  font-size:15px;
}

.ai_realtime_toggle{
  display:inline-flex !important;
  grid-auto-flow:column;
  align-items:center;
  gap:8px !important;
  color:#334155 !important;
  white-space:nowrap;
}

.ai_realtime_toggle input{
  width:16px;
  height:16px;
  padding:0;
}

.ai_realtime_settings_card footer{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:10px;
  margin-top:0;
}

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

.ai_realtime_setup_steps div{
  min-width:0;
  padding:10px;
  border:1px solid #e2e8f0;
  border-radius:10px;
  background:#f8fafc;
}

.ai_realtime_setup_steps span{
  display:inline-flex;
  width:20px;
  height:20px;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#0f172a;
  color:#fff;
  font-size:11px;
  font-weight:900;
}

.ai_realtime_setup_steps strong{
  display:block;
  margin-top:7px;
  color:#0f172a;
  font-size:12px;
}

.ai_realtime_setup_steps small{
  display:block;
  margin-top:5px;
  color:#64748b;
  font-size:11px;
  font-weight:750;
  line-height:1.45;
}

.ai_settings_panel label,
.ai_rename_panel label{
  display:grid;
  gap:7px;
  color:#475569;
  font-size:13px;
  font-weight:750;
}

.ai_settings_panel input,
.ai_settings_panel select,
.ai_rename_panel input{
  width:100%;
  height:40px;
  padding:0 12px;
  border:1px solid #d1d5db;
  border-radius:12px;
  color:#0f172a;
  outline:none;
}

.ai_settings_panel textarea{
  width:100%;
  min-height:96px;
  padding:10px 12px;
  border:1px solid #d1d5db;
  border-radius:12px;
  color:#0f172a;
  font:inherit;
  outline:none;
  resize:vertical;
}

.ai_settings_panel input:focus,
.ai_settings_panel select:focus,
.ai_settings_panel textarea:focus{
  border-color:#2563eb;
  box-shadow:0 0 0 3px rgba(37,99,235,.12);
}

.ai_rename_panel input:focus{
  border-color:#2563eb;
  box-shadow:0 0 0 3px rgba(37,99,235,.12);
}

.ai_settings_skills_panel{
  overflow:hidden;
}

.ai_settings_skill_toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
}

.ai_settings_skill_toolbar p,
.ai_settings_skill_form_head p{
  margin:0 0 4px;
  color:#64748b;
  font-size:12px;
  font-weight:750;
}

.ai_settings_skill_toolbar h3,
.ai_settings_skill_form_head h3{
  margin:0;
  color:#0f172a;
  font-size:17px;
  font-weight:800;
}

.ai_settings_skill_toolbar > div:last-child,
.ai_settings_skill_form_footer > div{
  display:flex;
  align-items:center;
  gap:8px;
}

.ai_settings_skill_layout{
  height:calc(100% - 52px);
  min-height:0;
  display:grid;
  grid-template-columns:230px minmax(0, 1fr);
  gap:14px;
}

.ai_settings_skill_list_panel,
.ai_settings_skill_form{
  min-height:0;
  border:1px solid #e2e8f0;
  border-radius:16px;
  background:#f8fafc;
}

.ai_settings_skill_list_panel{
  display:flex;
  flex-direction:column;
  overflow:hidden;
}

.ai_settings_skill_list_head{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:12px;
  border-bottom:1px solid #e2e8f0;
  color:#0f172a;
}

.ai_settings_skill_list_head span{
  min-width:26px;
  height:24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#e0ecff;
  color:#1d4ed8;
  font-size:12px;
  font-weight:800;
}

.ai_settings_skill_list{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  padding:8px;
}

.ai_settings_skill_item{
  width:100%;
  display:grid;
  gap:4px;
  padding:10px;
  border:1px solid transparent;
  border-radius:12px;
  background:transparent;
  color:#334155;
  text-align:left;
  cursor:pointer;
}

.ai_settings_skill_item strong{
  color:#0f172a;
  font-size:14px;
}

.ai_settings_skill_item span{
  overflow:hidden;
  color:#64748b;
  font-size:12px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.ai_settings_skill_item.is-active{
  border-color:#bfdbfe;
  background:#eff6ff;
}

.ai_settings_skill_form{
  display:flex;
  flex-direction:column;
  gap:12px;
  overflow:auto;
  padding:14px;
}

.ai_settings_skill_form_head,
.ai_settings_skill_form_footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.ai_settings_skill_form_head span{
  padding:4px 8px;
  border:1px solid #dbeafe;
  border-radius:999px;
  background:#eff6ff;
  color:#2563eb;
  font-size:12px;
  font-weight:800;
}

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

.ai_settings_skill_full{
  display:grid;
}

.ai_settings_skill_switches{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.ai_settings_skill_switches label{
  width:auto;
  display:inline-flex;
  grid-template-columns:none;
  align-items:center;
  gap:8px;
  padding:8px 10px;
  border:1px solid #e2e8f0;
  border-radius:999px;
  background:#fff;
}

.ai_settings_skill_switches input{
  width:16px;
  height:16px;
  padding:0;
}

@media (max-width: 1180px){
  .ai_chat_app{
    --ai-sidebar-width:220px;
    --ai-work-panel-width:252px;
  }

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

  .ai_chat_status{
    max-width:100%;
  }
}

@media (max-width: 960px){
  .ai_chat_app{
    grid-template-columns:1fr;
  }

  .ai_chat_app.is-work-panel-collapsed,
  .ai_chat_app.is-sidebar-collapsed,
  .ai_chat_app.is-sidebar-collapsed.is-work-panel-collapsed{
    grid-template-columns:1fr;
  }

  .ai_chat_sidebar{
    display:none;
  }

  .ai_chat_topbar{
    padding:14px 18px;
  }

  .ai_chat_messages{
    padding:22px 18px 190px;
  }

  .ai_work_panel{
    max-height:320px;
    padding:14px 18px;
    border-top:1px solid #e5e7eb;
    border-left:0;
  }

  .ai_work_panel_resizer{
    display:none;
  }

  .ai_chat_app.is-work-panel-collapsed .ai_work_panel{
    display:none;
  }

  .ai_work_tabs button{
    min-height:30px;
    font-size:12px;
  }

  .ai_chat_composer{
    bottom:14px;
    width:calc(100% - 24px);
  }

  .ai_chat_composer textarea{
    max-height:min(240px, 34vh);
  }
}

/* Compact action cards: keep operations scannable in the narrow work panel. */
.ai_action_panel .ai_action_card{
  gap:6px;
  padding:9px 10px;
}

.ai_action_panel .ai_action_card_head{
  align-items:center;
}

.ai_action_panel .ai_action_card_head strong{
  font-size:13px;
  line-height:1.3;
}

.ai_action_panel .ai_action_card_head span{
  margin-top:1px;
  font-size:11px;
}

.ai_action_panel .ai_action_card_head code{
  max-width:96px;
  padding:2px 6px;
  font-size:11px;
}

.ai_action_panel .ai_action_card p{
  -webkit-line-clamp:2;
  font-size:12px;
  line-height:1.42;
}

.ai_action_panel .ai_action_card dl{
  grid-template-columns:40px minmax(0,1fr);
  gap:3px 7px;
  font-size:11px;
}

.ai_action_panel .ai_action_card_buttons{
  gap:6px;
}

.ai_action_panel .ai_action_card_buttons button{
  min-height:28px;
  border-radius:7px;
  font-size:12px;
  font-weight:850;
}

.ai_action_panel .ai_action_timeline{
  gap:3px;
}

.ai_action_panel .ai_action_timeline span{
  font-size:10px;
}

.ai_action_panel .ai_action_group.is-pending .ai_agent_operation .ai_action_details{
  display:none;
}

.ai_action_panel .ai_agent_operation .ai_action_details[open]{
  display:block;
}

/* 待操作卡保持“标题—状态—主操作”的单一阅读路径，详细信息按需展开。 */
.ai_action_panel .ai_agent_operation{
  width:100%;
  max-width:100%;
  min-width:0;
  gap:8px;
  padding:10px 11px 11px;
  border-color:#dbe5f1;
  border-radius:10px;
  background:#fff;
  box-shadow:0 1px 2px rgba(15,23,42,.04);
}

.ai_action_panel .ai_agent_operation.is-pending{
  border-color:#f2d78b;
  background:#fffdf5;
}

.ai_action_panel .ai_agent_operation .ai_action_card_head{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  align-items:flex-start;
  gap:8px;
  padding-right:24px;
}

.ai_action_panel .ai_agent_operation .ai_action_card_head strong{
  overflow:visible;
  text-overflow:clip;
  white-space:normal;
  overflow-wrap:anywhere;
  font-size:13px;
  line-height:1.4;
}

.ai_action_panel .ai_agent_operation .ai_action_card_head span{
  display:inline-flex;
  align-items:center;
  width:max-content;
  margin-top:4px;
  padding:2px 6px;
  border-radius:999px;
  background:#fff3cd;
  color:#9a6700;
  font-size:10px;
  line-height:1.2;
}

.ai_action_panel .ai_agent_operation .ai_action_card_head code{
  flex:0 0 auto;
  width:max-content;
  max-width:100%;
  white-space:normal;
  overflow-wrap:anywhere;
  text-align:left;
  border:1px solid #e2e8f0;
  background:#f8fafc;
  color:#64748b;
}

.ai_action_panel .ai_agent_operation .ai_action_flow{
  display:none;
}

.ai_action_panel .ai_agent_operation > p{
  display:-webkit-box;
  -webkit-line-clamp:1;
  min-height:17px;
  margin:0;
  color:#64748b;
  font-size:11px;
  line-height:1.5;
}

.ai_action_panel .ai_agent_operation .ai_action_timeline{
  display:none;
}

.ai_action_panel .ai_agent_operation .ai_action_details{
  border-color:#e5e7eb;
  background:#f8fafc;
}

.ai_action_panel .ai_agent_operation .ai_action_details summary{
  padding:5px 8px;
}

.ai_action_panel .ai_agent_operation .ai_action_card_buttons{
  display:flex;
  flex-wrap:wrap;
  margin-top:1px;
}

.ai_action_panel .ai_agent_operation .ai_action_card_buttons > *{
  min-width:min(150px,100%);
}

.ai_action_panel .ai_knowledge_operation .ai_action_card_buttons button:disabled{
  border-color:#dbe4f0;
  background:#f1f5f9;
  color:#94a3b8;
  cursor:not-allowed;
}

.ai_action_panel .ai_knowledge_operation .ai_action_card_buttons [data-role="ai_open_knowledge_ingest"]{
  border-color:#93c5fd;
  background:#eff6ff;
  color:#1d4ed8;
}

.ai_action_panel .ai_agent_operation .ai_action_card_buttons button:only-child{
  min-height:30px;
  border-radius:7px;
}

.ai_action_panel .ai_agent_operation .ai_action_delete_button{
  top:9px;
  right:9px;
}

@container ai-work-panel (max-width:360px){
  .ai_action_panel .ai_agent_operation .ai_action_card_head{
    grid-template-columns:minmax(0,1fr);
    padding-right:24px;
  }

  .ai_action_panel .ai_agent_operation .ai_action_card_head code{
    max-width:100%;
    width:max-content;
    text-align:left;
  }

  .ai_action_panel .ai_agent_operation .ai_action_card_buttons{
    display:grid;
    grid-template-columns:minmax(0,1fr);
  }

  .ai_action_panel .ai_agent_operation .ai_action_card_buttons > *{
    width:100%;
    min-width:0;
  }

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

  .ai_knowledge_operation_summary span{
    text-align:center;
  }
}

/* KBAI_08：知识库卡片仅使用 ai_knowledge_ 前缀，避免影响既有 Skill Result/操作卡。 */
.ai_knowledge_tool_result{
  margin-top:10px;
}

.ai_knowledge_panel,
.ai_knowledge_state{
  padding:12px;
  border:1px solid #cbd5e1;
  border-radius:10px;
  background:#f8fafc;
  color:#334155;
}

.ai_knowledge_state.is-error{
  border-color:#fecaca;
  background:#fff7f7;
  color:#991b1b;
}

.ai_knowledge_state p,
.ai_knowledge_panel p{
  margin:6px 0;
}

.ai_knowledge_panel_head,
.ai_knowledge_capability_title,
.ai_knowledge_candidate_title{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}

.ai_knowledge_panel_head > div{
  display:flex;
  flex-direction:column;
  gap:2px;
}

.ai_knowledge_panel_head span,
.ai_knowledge_service,
.ai_knowledge_candidate_boundary{
  font-size:11px;
  color:#64748b;
}

.ai_knowledge_service.is-online{
  color:#047857;
}

.ai_knowledge_service.is-offline,
.ai_knowledge_warning{
  color:#b91c1c;
}

.ai_knowledge_capability_grid,
.ai_knowledge_candidate_list{
  display:grid;
  gap:8px;
  margin-top:10px;
}

.ai_knowledge_capability,
.ai_knowledge_candidate{
  padding:10px;
  border:1px solid #e2e8f0;
  border-radius:8px;
  background:#fff;
}

.ai_knowledge_capability.is-unavailable{
  border-color:#fecaca;
  background:#fffafa;
}

.ai_knowledge_capability_title span,
.ai_knowledge_candidate_title span{
  flex:0 0 auto;
  padding:2px 7px;
  border-radius:999px;
  background:#e0f2fe;
  color:#0369a1;
  font-size:10px;
}

.ai_knowledge_capability.is-unavailable .ai_knowledge_capability_title span{
  background:#fee2e2;
  color:#b91c1c;
}

.ai_knowledge_capability code{
  display:inline-block;
  margin-top:4px;
  color:#475569;
  font-size:10px;
}

.ai_knowledge_capability dl,
.ai_knowledge_candidate dl,
.ai_knowledge_state dl{
  display:grid;
  grid-template-columns:max-content minmax(0, 1fr);
  gap:3px 8px;
  margin:8px 0 0;
  font-size:11px;
}

.ai_knowledge_capability dt,
.ai_knowledge_candidate dt,
.ai_knowledge_state dt{
  color:#64748b;
}

.ai_knowledge_capability dd,
.ai_knowledge_candidate dd,
.ai_knowledge_state dd{
  margin:0;
  overflow-wrap:anywhere;
}

.ai_knowledge_capability small,
.ai_knowledge_candidate_notice{
  display:block;
  margin-top:7px;
  color:#64748b;
  font-size:10px;
  line-height:1.5;
}

.ai_knowledge_candidate_notice{
  color:#9a6700;
}

.ai_knowledge_candidate button,
.ai_knowledge_open_ingest{
  min-height:30px;
  margin-top:9px;
  padding:5px 10px;
  border:1px solid #94a3b8;
  border-radius:7px;
  background:#fff;
  color:#334155;
  cursor:pointer;
}

.ai_knowledge_open_ingest{
  width:100%;
  border-color:#2563eb;
  color:#1d4ed8;
}

.ai_knowledge_empty{
  margin-top:10px;
  padding:10px;
  border-radius:8px;
  background:#fff;
  color:#64748b;
}

.ai_action_panel .ai_knowledge_operation{
  border-color:#f59e0b;
}

.ai_action_panel .ai_knowledge_operation .ai_action_card_head code{
  color:#92400e;
  border-color:#fde68a;
  background:#fffbeb;
}

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

.ai_knowledge_operation_summary span{
  padding:2px 6px;
  border-radius:999px;
  background:#fff7ed;
  color:#9a3412;
  font-size:10px;
  line-height:1.4;
}

.ai_action_result_link{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:5px 10px;
  border:1px solid #cbd5e1;
  border-radius:7px;
  color:#1d4ed8;
  text-decoration:none;
  font-size:11px;
}
