/* Full-page XiaoZai layout. Loaded after legacy themes; floating chat is untouched.
   Shared with the latest CIS workspace; SAM keeps its own blue brand and activity tools. */
html .sam-app-shell:has(.zai-chat-route) {
  height:100dvh;
  min-height:0;
  overflow:hidden;
}
html .sam-app-shell:has(.zai-chat-route) > .sam-topbar { flex-shrink:0; }
html .sam-app-shell #sam-page.zai-chat-route {
  flex:1 1 0%;
  min-height:0;
  padding:12px 0 18px!important;
  overflow:hidden;
}
html .sam-app-shell .zai-chat-route { width:100%; height:100%; min-height:0; margin:0; }
html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 {
  --chat-content:860px;
  grid-template-columns:260px minmax(0,1fr);
  height:100%; min-height:0;
  border:1px solid var(--ds-line);
  border-radius:20px;
  background:var(--ds-surface);
  box-shadow:var(--elev-5);
}
html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8.history-collapsed { grid-template-columns:0 minmax(0,1fr); }
html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-history { background:var(--ds-surface); border-right-color:#e9f1f1; }
html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-history>header { min-height:70px; padding:16px; }
html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-history>header small { color:var(--text-neutral-soft5); font-size:11px; }
html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-history-new { height:38px; margin:0 12px 12px; font-size:13px; }
html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-history-tools { padding:0 12px 8px; }
html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-history-search { height:36px; background:var(--ds-surface); }
html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-history-search input { font-size:12px; font-weight:400; box-shadow:none; border:0; }
html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-history-tools>small { display:none; }
html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-history-list { flex:1 1 0%; padding:0 8px 12px; overscroll-behavior:contain; }
html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-history-group>header { padding:12px 10px 6px; font-size:11px; color:var(--ink-3); }
html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-history-item { margin:3px 0; background:transparent; box-shadow:none; }
html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-history-item.active { background:var(--brand-bg); border-color:#d7def8; }
html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-history-item>button:first-child { padding:10px; }
html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-history-item b { font-size:13px; line-height:1.5; font-weight:600; }
html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-history-item span { font-size:11px; line-height:1.5; color:var(--ink-3); }
html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-history-item small { font-size:10px; color:var(--text-neutral-soft5); }
html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-history>footer { flex:none; padding:12px 16px; font-size:10px; background:var(--ds-surface); }
html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-chat-main {
  min-width:0; min-height:0; height:100%;
  display:grid; grid-template-rows:auto minmax(0,1fr) auto;
  background:var(--ds-surface); overflow:hidden;
}
html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-chat-head { min-height:74px; padding:12px 28px; background:var(--ds-surface); }
html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-chat-title { min-width:0; }
html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-chat-title>span { font-size:10px; letter-spacing:.06em; }
html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-chat-title h1 { font-size:18px; line-height:1.4; }
html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-chat-title p { font-size:11px; color:var(--ink-3); }
html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-chat-head-status { flex:none; max-width:200px; padding:6px 9px; background:var(--ds-surface-muted); box-shadow:none; }
html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-chat-head-status b { font-size:11px; }
html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-workspace-conversation { padding:0 28px; overflow-y:auto; overscroll-behavior:contain; }
html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-workspace-thread { width:min(var(--chat-content),100%); margin:0 auto; padding:28px 0; }
html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-workspace-thread:has(.zai-welcome) { min-height:100%; display:grid; align-content:center; }
html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-welcome { width:min(680px,100%); margin:12px auto 28px; }
html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-welcome>span { width:44px; height:44px; margin-bottom:18px; border-radius:14px; box-shadow:var(--glow-2); }
html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-welcome em { display:none; }
html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-welcome h2 { font-size:28px; font-weight:600; line-height:1.4; margin:0 0 12px; letter-spacing:-.02em; }
html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-welcome p { font-size:14px; line-height:1.8; color:var(--text-neutral-soft5); }
html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-welcome>div { gap:10px; margin-top:24px; }
html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-welcome button { min-height:66px; padding:14px; font-size:12px; font-weight:500; line-height:1.6; border:1px solid var(--ds-line); border-radius:12px; background:var(--ds-surface); box-shadow:var(--elev-1); }
html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-welcome button:hover { border-color:#b6c3ed; background:var(--ds-surface-muted); }
html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-workspace-turn { margin-bottom:24px; gap:12px; }
html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-workspace-turn>div { min-width:0; max-width:calc(100% - 46px); }
html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-workspace-turn header { font-size:12px; color:var(--text-neutral-soft5); }
html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-workspace-turn p { overflow-wrap:anywhere; }
html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-workspace-turn:not(.user) p { font-size:15px; line-height:1.8; color:var(--text-neutral-strong2); }
html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-workspace-turn footer { opacity:1; }
html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-workspace-turn footer button { font-size:11px; color:var(--ink-3); }
html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-intent-summary { max-width:100%; margin-left:46px; padding:12px; font-size:12px; }
html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-workspace-composer { padding:16px 28px 14px; border-top:1px solid #edf1f4; background:var(--ds-surface); box-shadow:var(--elev-6); }
html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-composer-surface { width:min(var(--chat-content),100%)!important; }
html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-composer-card {
  display:grid; grid-template-columns:78px minmax(0,1fr) 42px; grid-template-rows:auto auto;
  width:100%; min-height:66px; gap:0 10px; padding:8px 10px;
  border:1px solid var(--ds-line); border-radius:16px; background:var(--ds-surface);
  box-shadow:var(--elev-3);
}
html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-composer-card:focus-within { border-color:#667ad0; box-shadow:0 0 0 3px rgba(55, 77, 188, 0.08); }
html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-workspace-materials { grid-column:1 / -1; grid-row:1; min-width:0; max-height:144px; overflow-y:auto; padding:0 0 8px; }
html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-input-tools { grid-column:1; grid-row:2; align-self:center; width:78px; height:38px; padding:0; gap:0; border:1px solid var(--ds-line); border-radius:10px; background:var(--ds-surface); }
html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-input-tool { width:38px; min-width:38px; height:36px; border:0; border-radius:9px; background:transparent; box-shadow:none; }
html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-composer-card textarea {
  grid-column:2; grid-row:2; width:100%; height:auto; min-height:48px; max-height:144px;
  padding:12px 2px; margin:0; border:0!important; border-radius:0;
  outline:0; box-shadow:none!important; background:transparent;
  font-size:14px; font-weight:400; line-height:1.6; resize:none;
}
html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-composer-card textarea::placeholder { color:var(--text-neutral-soft5); font-weight:400; }
html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-send { grid-column:3; grid-row:2; align-self:center; width:42px!important; min-width:42px!important; height:42px!important; border-radius:12px; background:#3048b8; box-shadow:none; }
html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-composer-footer { padding:0; margin-top:9px; }
html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-composer-notice { width:100%; font-size:11px; line-height:1.6; color:var(--ink-3); }
html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 button:focus-visible,
html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-attach:focus-within { outline:2px solid #3048b8; outline-offset:2px; }
@media(max-width:1100px) {
  html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 { grid-template-columns:232px minmax(0,1fr); }
  html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8.history-collapsed { grid-template-columns:0 minmax(0,1fr); }
  html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-chat-head { padding-inline:20px; }
  html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-workspace-conversation { padding-inline:20px; }
  html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-workspace-composer { padding-inline:20px; }
}
@media(max-width:820px) {
  html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8,
  html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8.history-collapsed { grid-template-columns:minmax(0,1fr); }
  html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-history { width:min(286px,84vw); }
}
@media(max-width:767px) {
  html .sam-app-shell #sam-page.zai-chat-route { padding:6px 0 calc(72px + env(safe-area-inset-bottom))!important; margin:0 8px!important; width:calc(100% - 16px)!important; }
  html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 { border-radius:16px; }
  html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-chat-head { min-height:64px; padding:9px 12px; }
  html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-chat-title h1 { font-size:16px; }
  html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-workspace-conversation { padding-inline:16px; }
  html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-workspace-thread { padding:20px 0; }
  html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-welcome { margin:8px auto 16px; }
  html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-welcome h2 { font-size:24px; }
  html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-welcome>div { grid-template-columns:1fr; gap:8px; margin-top:18px; }
  html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-welcome button { min-height:44px; padding:10px 12px; font-size:13px; }
  html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-workspace-turn>div { max-width:calc(100% - 40px); }
  html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-workspace-turn:not(.user) p { font-size:14px; }
  html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-intent-summary { margin-left:0; }
  html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-workspace-composer { padding:10px 12px; }
  html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-composer-card { grid-template-columns:64px minmax(0,1fr) 36px; gap:0 6px; padding:6px; min-height:60px; border-radius:13px; }
  html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-input-tools { width:64px; height:34px; }
  html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-input-tool { width:31px; min-width:31px; height:32px; }
  html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-composer-card textarea { padding:10px 0; min-height:46px; max-height:104px; font-size:16px; line-height:1.5; }
  html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-workspace-materials { max-height:100px; }
  html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-send { width:36px!important; min-width:36px!important; height:36px!important; border-radius:10px; }
  html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-composer-notice { font-size:11px; line-height:1.5; }
}

/* The route is the page itself in SAM, unlike the nested CIS route wrapper. */
html .sam-app-shell .zai-chat-route>sam-assistant { display:block; height:100%; min-height:0; }
html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-turn.assistant .zai-message { padding:3px 0 5px; border-left:0; }
html .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-voice-state { grid-column:1 / -1; grid-row:3; }
.zai-chat-activity{position:relative;border:1px solid var(--line,#dce3e7);background:var(--surface,#fff);border-radius:999px;padding:8px 12px;color:var(--ink-2,#40515b);font:600 12px/1 system-ui;cursor:pointer}.zai-chat-activity i{position:absolute;right:5px;top:4px;width:7px;height:7px;border-radius:50%;background:#13a37b}.zai-activity-panel{width:min(380px,92vw);border-left:1px solid var(--line,#e1e7ea);background:var(--surface,#fff);display:flex;flex-direction:column;z-index:5}.zai-activity-panel>header{display:flex;align-items:center;justify-content:space-between;padding:22px 20px 12px}.zai-activity-panel h2{margin:2px 0;font-size:20px}.zai-activity-panel small{color:#5b8178}.zai-activity-panel>header button{border:0;background:transparent;font-size:26px;cursor:pointer}.zai-activity-note{margin:0 20px 14px;padding:10px 12px;border-radius:10px;background:#eef8f5;color:#3d665c;font-size:12px}.zai-activity-panel>section{padding:0 14px 24px;overflow:auto}.zai-activity-item{border:1px solid var(--line,#e1e7ea);border-radius:12px;padding:12px;margin:0 0 10px}.zai-activity-item header,.zai-activity-item footer{display:flex;gap:8px;align-items:center}.zai-activity-item header b{flex:1}.zai-activity-item header span{font-size:11px;color:#52746c}.zai-activity-item p{font-size:13px;color:var(--ink-3,#65747c)}.zai-activity-item>div{height:4px;border-radius:3px;background:#e7eeeb;overflow:hidden}.zai-activity-item>div i{display:block;height:100%;background:#13a37b}.zai-activity-item footer{margin-top:10px}.zai-activity-item footer time{margin-right:auto;color:#7b898f;font-size:11px}.zai-activity-item footer button{border:1px solid #bfd1cb;background:#fff;border-radius:7px;padding:5px 8px;color:#315e52;cursor:pointer}@media(max-width:900px){.zai-activity-panel{position:absolute;inset:0 0 0 auto;box-shadow:-12px 0 30px rgba(20,42,36,.12)}}
.zai-chat-workspace { position: relative; }
.zai-chat-workspace .zai-activity-panel { position:absolute; inset:0 0 0 auto; width:min(420px,95%); height:100%; box-shadow:-12px 0 32px #142a241f; background:var(--surface,#fff); color:var(--ink,#24353c); }
.zai-activity-item progress { width:100%; height:5px; accent-color:#13a37b; }
.zai-activity-item footer { flex-wrap:wrap; }
.zai-task-detail { padding:12px; border:1px solid var(--line,#dce3e7); border-radius:12px; }
.zai-task-detail p { white-space:pre-wrap; font-size:13px; }
.zai-task-detail ol { padding-left:20px; font-size:12px; line-height:1.8; }
html[data-theme=dark] .zai-activity-panel { background:#14242b; color:#e0e9ed; }

/* Agent receipts and explicit user preferences share the task activity layout. */
.zai-preferences{margin:20px 14px;padding:16px;border:1px solid var(--border,#dbe4ee);border-radius:12px;background:var(--surface,#fff)}
.zai-preferences h3{margin:0 0 8px;font-size:15px}.zai-preferences p{font-size:12px;line-height:1.6;color:var(--muted,#607180)}
.zai-preferences ul{list-style:none;padding:0;margin:12px 0}.zai-preferences li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--border,#dbe4ee);overflow-wrap:anywhere;font-size:13px}
.zai-preferences label{display:grid;gap:6px;font-size:12px}.zai-preferences input{box-sizing:border-box;width:100%;min-width:0;padding:9px;border:1px solid var(--border,#dbe4ee);border-radius:8px;background:var(--surface,#fff);color:inherit;font:inherit}
.zai-preferences button{flex-shrink:0;padding:7px 10px;border:1px solid var(--border,#dbe4ee);border-radius:8px;background:var(--surface,#fff);color:inherit;cursor:pointer}.zai-preferences [data-save-agent-preference]{margin-top:10px;width:100%;color:var(--primary,#263fbe)}
.zai-business-receipts>h3,.zai-business-receipts>p{margin:12px 16px}.zai-business-receipts>p{font-size:12px;line-height:1.6;color:var(--muted,#607180)}.zai-business-receipts footer{flex-wrap:wrap;gap:8px}.zai-business-receipts footer a{font-size:12px}
.zai-evidence-sources{padding:12px 0;font-size:12px;line-height:1.6}.zai-evidence-sources a{display:inline-block;padding:5px 8px;border:1px solid var(--border,#dbe4ee);border-radius:7px;margin:4px}

/* Structured assistant replies: shared by workspace and floating conversation. */
:is(cis-assistant,sam-assistant) .zai-answer{white-space:normal;font-size:14px;line-height:1.8;overflow-wrap:anywhere;min-width:0;color:inherit}
:is(cis-assistant,sam-assistant) .zai-answer p{margin:0 0 12px!important;white-space:normal!important;font:inherit!important;color:inherit!important}
:is(cis-assistant,sam-assistant) .zai-answer h3{margin:22px 0 10px;padding:0 0 8px;border-bottom:1px solid var(--border,#dce3ee);font-size:14px;line-height:1.6;font-weight:700;color:inherit}
:is(cis-assistant,sam-assistant) .zai-answer h3:first-child{margin-top:0}
:is(cis-assistant,sam-assistant) .zai-answer :is(ul,ol){margin:8px 0 16px;padding-left:22px;list-style-position:outside}
:is(cis-assistant,sam-assistant) .zai-answer li{margin:5px 0;padding-left:3px;line-height:1.8}
:is(cis-assistant,sam-assistant) .zai-answer li::marker{color:#778399;font-size:.9em}
:is(cis-assistant,sam-assistant) .zai-answer-label{font-weight:600}
:is(cis-assistant,sam-assistant) .zai-answer code{padding:2px 5px;border-radius:4px;background:rgba(120,135,160,.1);font-size:.9em;white-space:break-spaces;overflow-wrap:anywhere}
:is(cis-assistant,sam-assistant) .zai-answer>:last-child{margin-bottom:0!important}
@media(max-width:600px){:is(cis-assistant,sam-assistant) .zai-answer{font-size:13px;line-height:1.75}:is(cis-assistant,sam-assistant) .zai-answer h3{margin-top:18px}}

:is(cis-assistant,sam-assistant) .zai-original-documents{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}:is(cis-assistant,sam-assistant) .zai-original-documents a{display:inline-flex;padding:7px 12px;border:1px solid var(--border,#dce3ee);border-radius:8px;color:inherit;text-decoration:none;font-weight:600;font-size:13px}:is(cis-assistant,sam-assistant) .zai-original-documents a:hover{background:rgba(120,135,160,.1)}
