/* SAM design system — semantic tokens and reusable interface primitives.
   This file intentionally loads after feature styles, so pages consume one
   coherent hierarchy instead of accumulating local visual overrides. */
:root{
  --ds-font:"Source Sans Pro","Noto Sans SC","Microsoft YaHei",Arial,sans-serif;
  --ds-canvas:#f8faff;--ds-surface:#ffffff;--ds-surface-raised:#ffffff;--ds-surface-muted:#f8faff;--ds-field:#ffffff;
  --ds-text:#16233a;--ds-text-secondary:#53627d;--ds-text-muted:#5c6a82;
  --ds-line:#dbe2ec;--ds-line-strong:#bfcbe0;--ds-accent:#294fb5;--ds-accent-soft:#e9efff;
  --ds-danger:#b4233a;--ds-radius-sm:8px;--ds-radius-md:12px;--ds-radius-lg:18px;
  --ds-shadow:0 8px 24px rgba(25, 40, 78, 0.08);--ds-shadow-raised:0 14px 34px rgba(25, 40, 78, 0.12);
  --ds-space-1:4px;--ds-space-2:8px;--ds-space-3:12px;--ds-space-4:16px;--ds-space-5:24px;
}
html[data-theme="dark"]{
  --ds-canvas:#101725;--ds-surface:#1d2d48;--ds-surface-raised:#263b60;--ds-surface-muted:#1d2d48;--ds-field:#131d2d;
  --ds-text:#f0f4ff;--ds-text-secondary:#c4cee6;--ds-text-muted:#8f9fbd;
  --ds-line:#3b4e70;--ds-line-strong:#58709b;--ds-accent:#91abff;--ds-accent-soft:#273d68;
  --ds-danger:#ff8e99;--ds-shadow:0 8px 24px rgba(0, 0, 0, 0.2);--ds-shadow-raised:0 14px 34px rgba(0, 0, 0, 0.3);
}
.sam-app-shell{font-family:var(--ds-font);color:var(--ds-text);font-size:14px;line-height:1.5}
.sam-app-shell :is(h1,h2,h3){letter-spacing:-.015em}.sam-app-shell h1{font-size:28px;font-weight:760;line-height:1.25}.sam-app-shell h2{font-size:20px;font-weight:740;line-height:1.32}.sam-app-shell h3{font-size:16px;font-weight:720;line-height:1.38}
.sam-app-shell :is(.workspace-intro,.saile-data-page-head,.saile-admin-head,.sam-document-context){border-radius:var(--ds-radius-lg);box-shadow:var(--ds-shadow)}
.sam-app-shell :is(.formx .form-sec,.formx .form-content-group,.formx .detail-field,.formx .detail-record,.card,.saile-report-data){border-radius:var(--ds-radius-md)}
.sam-app-shell .formx :is(.field>label,.field>.field-label,.detail-record-field>label){color:var(--ds-text-secondary);font-size:13px!important;font-weight:700!important;line-height:1.45}
.sam-app-shell .formx :is(.field>.val,input,select,textarea){font-size:14px!important;line-height:1.5}
.sam-app-shell .formx .field>.val{min-height:42px;border-radius:var(--ds-radius-sm)}
.sam-app-shell :is(.formx,.sam-page) .field-follow-note{color:var(--ds-text-muted)!important;font-size:12px!important;line-height:1.5!important}
.sam-app-shell :is(.formx,.sam-page) small{color:var(--ds-text-muted);font-size:12px!important;line-height:1.45!important}
.sam-app-shell .fill-focus-item>b{font-size:13px!important;line-height:1.35!important}
.sam-app-shell :is(.btn,.native-add,.detail-master-add){min-height:36px;border-radius:var(--ds-radius-sm);font-size:13px;font-weight:720;line-height:1.2}
.sam-app-shell .btn-ghost{border-color:var(--ds-line);background:var(--ds-surface);color:var(--ds-text-secondary)}
.sam-app-shell .btn-ghost:hover{border-color:var(--ds-line-strong);background:var(--ds-surface-muted);color:var(--ds-text)}
.sam-app-shell :is(.sam-report-grid-table th,.report-data-grid th){color:var(--ds-text-secondary);font-size:12px;font-weight:750}
.sam-app-shell :is(.sam-report-grid-table td,.report-data-grid td){font-size:13px;line-height:1.45}
@media(max-width:767px){.sam-app-shell{font-size:14px}.sam-app-shell h1{font-size:24px}.sam-app-shell h2{font-size:18px}.sam-app-shell :is(.workspace-intro,.saile-data-page-head,.saile-admin-head,.sam-document-context){border-radius:var(--ds-radius-md)}}


/* 提交检查汇总：校验失败时常驻在表单顶部，替代一闪即逝的 toast。
   每条都是可聚焦按钮，点击直接跳到出错字段。 */
.form-error-summary{
  margin:0 0 16px;border:1px solid color-mix(in srgb,var(--ds-danger) 32%,var(--ds-surface));
  border-left:4px solid var(--ds-danger);border-radius:var(--ds-radius-md);
  background:color-mix(in srgb,var(--ds-danger) 6%,var(--ds-surface));
  box-shadow:var(--ds-shadow);scroll-margin-top:96px;
}
.form-error-summary:focus-visible{outline:2px solid var(--focus-ring,var(--ds-danger));outline-offset:2px}
.form-error-summary>header{display:flex;gap:10px;align-items:flex-start;padding:14px 16px 10px}
.form-error-summary>header>i{
  flex:none;display:grid;width:22px;height:22px;place-items:center;border-radius:50%;
  background:var(--ds-danger);color:#ffffff;font-size:13px;font-style:normal;font-weight:800;line-height:1;
}
.form-error-summary>header b{display:block;color:var(--ds-danger);font-size:15px;font-weight:750;line-height:1.35}
.form-error-summary>header small{display:block;margin-top:2px;color:var(--ds-text-secondary);font-size:12px;line-height:1.5}
.form-error-summary>ol{display:grid;gap:2px;margin:0;padding:0 10px 10px;list-style:none}
.form-error-item{
  display:block;width:100%;padding:8px 10px;border:0;border-radius:var(--ds-radius-sm);
  background:transparent;color:inherit;text-align:left;cursor:pointer;
}
.form-error-item:hover{background:color-mix(in srgb,var(--ds-danger) 9%,transparent)}
.form-error-item:focus-visible{outline:2px solid var(--focus-ring,var(--ds-danger));outline-offset:-2px}
.form-error-item b{display:block;font-size:13px;font-weight:700;line-height:1.4}
.form-error-item small{display:block;color:var(--ds-text-secondary);font-size:12px;line-height:1.45}
.formx .field.invalid{scroll-margin-top:96px}
@media(max-width:767px){.form-error-summary{margin-bottom:12px}.form-error-summary>header{padding:12px 13px 8px}}

/* 高风险操作确认框：替代原生 confirm()，把“改什么、影响谁、能不能撤销”写清楚。 */
.zai-confirm-backdrop{
  position:fixed;z-index:2400;inset:0;display:grid;place-items:center;padding:20px;
  background:rgba(14, 28, 33, 0.42);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);
}
.zai-confirm{
  width:min(440px,100%);padding:22px 22px 16px;border:1px solid var(--ds-line);
  border-radius:var(--ds-radius-lg);background:var(--ds-surface);box-shadow:var(--ds-shadow-raised);
}
.zai-confirm h2{margin:0;color:var(--ds-text);font-size:19px;font-weight:740;line-height:1.35}
.zai-confirm>p{margin:9px 0 0;color:var(--ds-text-secondary);font-size:14px;line-height:1.6}
.zai-confirm-impact{
  display:grid;gap:6px;margin:14px 0 0;padding:12px 14px;
  border-radius:var(--ds-radius-sm);background:var(--ds-surface-muted);list-style:none;
}
.zai-confirm-impact li{
  position:relative;padding-left:16px;color:var(--ds-text-secondary);font-size:13px;line-height:1.55;
}
.zai-confirm-impact li::before{
  position:absolute;top:.62em;left:3px;width:5px;height:5px;border-radius:50%;
  background:var(--ds-text-muted);content:"";
}
.zai-confirm-danger .zai-confirm-impact{background:color-mix(in srgb,var(--ds-danger) 7%,var(--ds-surface))}
.zai-confirm-danger .zai-confirm-impact li::before{background:var(--ds-danger)}
.zai-confirm-danger h2{color:var(--ds-danger)}
.zai-confirm>footer{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}
.zai-confirm>footer .btn{min-height:40px;padding:0 18px}
@media(max-width:520px){
  .zai-confirm{padding:18px 17px 14px}
  .zai-confirm>footer{flex-direction:column-reverse}
  .zai-confirm>footer .btn{width:100%}
}
/* 暗色配对文字色。这些颜色原先只有亮色字面量，暗色下既不翻转也没有覆盖，
   在深色表面上对比度低到 1.0–2.9:1。亮色侧按 ΔE≤8 归并（标准档预算内）并逐条
   核对自身底色（含写成 var() 的）仍 ≥4.5:1；暗色侧保住色相彩度、只提明度到
   刚好达标。两侧都由脚本核算，不是手调。 */
:root{--text-blue-strong7:#344159;--text-neutral-strong2:#24383f;--text-neutral-soft5:#63777d;--text-blue-base10:#2447b5;--text-teal-base4:#0c7f60;--text-warn-base5:#99610b;--text-blue-soft19:#64739a;--text-teal-soft5:#087d7a;--text-neutral-base4:#47626b;--text-red-soft4:#b33339;--text-red-strong2:#a52e42;--text-teal-soft6:#3d7b78;--text-blue-strong3:#132478;--text-blue-strong4:#243556;--text-blue-base9:#203d9d;--text-blue-soft16:#7358c6;--text-blue-soft17:#4f6bb7;--text-warn-base4:#80632e;--text-red-base3:#b11f24;--text-green-base:#177052;--text-blue-soft14:#4459cd;--text-neutral-base3:#304b53;--text-warn-strong3:#8c5718;--text-warn-soft7:#ac6102;--text-blue-strong6:#1e3988;--text-blue-base8:#244a55;--text-blue-base13:#3b5ab4;--text-blue-soft15:#326f99;--text-blue-soft18:#5472b0;--text-warn-strong1:#825225;--text-warn-strong2:#9e482d;--text-red-strong1:#8a3039;--text-blue-strong1:#15233d;--text-blue-strong2:#17245d;--text-blue-strong5:#263b70;--text-blue-base11:#40547a;--text-blue-base12:#305398;--text-teal-strong1:#245f5d;--text-teal-strong2:#17684f;--text-teal-base3:#167b86;--text-neutral-strong1:#15252b;--text-warn-soft6:#b45309;--text-green-strong:#197044;--text-green-soft:#00845d;}
html[data-theme="dark"]{--text-blue-strong7:#8995b1;--text-neutral-strong2:#8399a1;--text-neutral-soft5:#84999f;--text-blue-base10:#818aff;--text-teal-base4:#42a684;--text-warn-base5:#c78837;--text-blue-soft19:#8695bd;--text-teal-soft5:#43a4a0;--text-neutral-base4:#7d9aa3;--text-red-soft4:#f16a68;--text-red-strong2:#eb6d7a;--text-teal-soft6:#62a09c;--text-blue-strong3:#9289ed;--text-blue-strong4:#8795bc;--text-blue-base9:#858bf7;--text-blue-soft16:#a182f5;--text-blue-soft17:#7a92e2;--text-warn-base4:#b19058;--text-red-base3:#fa6459;--text-green-base:#52a583;--text-blue-soft14:#818aff;--text-neutral-base3:#7d9aa2;--text-warn-strong3:#c58949;--text-warn-soft7:#d3822c;--text-blue-strong6:#858ee9;--text-blue-base8:#759ba7;--text-blue-base13:#7a8ff0;--text-blue-soft15:#639bc7;--text-blue-soft18:#7994d5;--text-warn-strong1:#c18a5a;--text-warn-strong2:#da7c5d;--text-red-strong1:#dc787c;--text-blue-strong1:#8a95b6;--text-blue-strong2:#8f8ed5;--text-blue-strong5:#8592cf;--text-blue-base11:#8295bf;--text-blue-base12:#7993df;--text-teal-strong1:#659f9d;--text-teal-strong2:#58a387;--text-teal-base3:#4aa2ad;--text-neutral-strong1:#86989f;--text-warn-soft6:#e27933;--text-green-strong:#53a574;--text-green-soft:#3aa77d;}


/* ── 小Zai 对话工作区：--chat-* 的暗色取值 ──────────────────────────────
   这七个 token 此前只有亮色值，于是暗色下正文与品牌字都压在 1.1–1.4:1。
   accent 与 --brand-text 同值；tint/tint-strong 沿面板自身色相抬高明度
   （暗色里的「抬起」就该这样，按亮色那层底的彩度直接搬会读成灰）；
   分隔线转成提亮的白，而不是压暗的深色。
   :is() 连写四遍是**特异度垫高**，不改匹配范围：亮色定义在
   `html .sam-app-shell sam-assistant[data-chat-route] .zai-chat-v6`（0,4,2），
   单写一遍只有 (0,3,1) 会输——线上实测过 --chat-ink 仍是亮色值。 */
html[data-theme="dark"] :is(.zai-chat-v6,.zai-chat-v7,.zai-chat-v8,.zai-chat-workspace,.zai-chat-shell,.zai-floating-shell,sam-assistant):is(.zai-chat-v6,.zai-chat-v7,.zai-chat-v8,.zai-chat-workspace,.zai-chat-shell,.zai-floating-shell,sam-assistant):is(.zai-chat-v6,.zai-chat-v7,.zai-chat-v8,.zai-chat-workspace,.zai-chat-shell,.zai-floating-shell,sam-assistant):is(.zai-chat-v6,.zai-chat-v7,.zai-chat-v8,.zai-chat-workspace,.zai-chat-shell,.zai-floating-shell,sam-assistant){--chat-accent:#93aaff;--chat-deep:#bcccff;--chat-tint:#24334f;--chat-tint-strong:#303f5b;--chat-line:rgba(255, 255, 255, 0.1);--chat-ink:#ecf1fd;--chat-muted:#a5acb8}


/* ── 小Zai 对话/助手工作区的暗色（Pass E8 生成） ─────────────────────────────
   这块界面原本只有 2–4 条暗色规则，等于没有暗色主题：屏幕上那一版是亮色界面
   被全局暗色规则零散刷到的结果，所以层次全平、还留着白底和近白分隔线。
   写在本文件是因为它最后加载——助手样式的胜出规则在 zai-workspace.css，
   而 design-system.css 还压了 15 条，只有放这里才能稳定生效。
   映射：背景按白度排名落到暗色抬起层（保序）；浅色描边转为同 alpha 的白；
   阴影按感知强度重解；**文字一律不动**（亮色下的白字多压在品牌按钮上，暗色下仍对）。 */
html[data-theme="dark"] .zai-fab{box-shadow:0 10px 26px rgba(0, 0, 0, 0.528);border:1px solid rgba(255, 255, 255, 0.16)}
html[data-theme="dark"] .zai-chat-workspace .zai-message.user{box-shadow:0 9px 22px rgba(0, 0, 0, 0.374)}
html[data-theme="dark"] .zai-chat-workspace .zai-work-card{background:linear-gradient(135deg,rgba(48, 63, 91, 0.97),rgba(53, 58, 69, 0.9))}
html[data-theme="dark"] .zai-ready-info>span{background:#343d39}
html[data-theme="dark"] .zai-chat-workspace .zai-composer{background:rgba(48, 63, 91, 0.74)}
html[data-theme="dark"] .zai-composer-card .zai-send i{background:rgba(48, 63, 91, 0.17)}
html[data-theme="dark"] .zai-material-chip.failed{border-color:#2c3e5b}
html[data-theme="dark"] .zai-chat-workspace{background:rgba(45, 60, 89, 0.76);box-shadow:0 28px 70px rgba(0, 0, 0, 0.308)}
html[data-theme="dark"] .zai-chat-workspace .zai-history{background:linear-gradient(165deg,rgba(48, 63, 91, 0.93),rgba(57, 60, 66, 0.86))}
html[data-theme="dark"] .zai-chat-workspace .zai-history>header>button{background:rgba(48, 63, 91, 0.8)}
html[data-theme="dark"] .zai-history-tools label{background:rgba(48, 63, 91, 0.72)}
html[data-theme="dark"] .zai-history-tools label:focus-within{box-shadow:0 0 0 3px rgba(0, 0, 0, 0.176)}
html[data-theme="dark"] .zai-chat-workspace .zai-history-item:hover{background:rgba(48, 63, 91, 0.74)}
html[data-theme="dark"] .zai-chat-workspace .zai-history-item.active{background:linear-gradient(110deg,rgba(33, 61, 169, 0.1),rgba(48, 63, 91, 0.8))}
html[data-theme="dark"] .zai-chat-workspace .zai-history-delete:hover{background:#443838}
html[data-theme="dark"] .zai-chat-workspace .zai-history>footer{background:rgba(48, 63, 91, 0.44)}
html[data-theme="dark"] .zai-chat-workspace .zai-chat-main{background:linear-gradient(155deg,rgba(48, 63, 91, 0.78),rgba(57, 60, 65, 0.72))}
html[data-theme="dark"] .zai-chat-workspace .zai-chat-head{background:rgba(48, 63, 91, 0.6)}
html[data-theme="dark"] .zai-chat-head-actions button{background:rgba(48, 63, 91, 0.8)}
html[data-theme="dark"] .zai-chat-workspace .zai-message{background:rgba(48, 63, 91, 0.92)}
html[data-theme="dark"] .zai-chat-workspace .zai-work-card>header strong{background:rgba(48, 63, 91, 0.75)}
html[data-theme="dark"] .zai-work-card-status{background:rgba(48, 63, 91, 0.68)}
html[data-theme="dark"] .zai-chat-workspace .zai-candidate-links>a{background:rgba(48, 63, 91, 0.78)}
html[data-theme="dark"] .zai-ready-info{background:rgba(53, 58, 69, 0.9)}
html[data-theme="dark"] .zai-dialog-guide{background:linear-gradient(135deg,rgba(48, 63, 91, 0.96),rgba(55, 59, 68, 0.82))}
html[data-theme="dark"] .zai-dialog-guide button{background:rgba(48, 63, 91, 0.86)}
html[data-theme="dark"] .zai-chat-workspace .zai-files{background:rgba(48, 63, 91, 0.78)}
html[data-theme="dark"] .zai-chat-workspace .zai-welcome .zai-orb{box-shadow:0 17px 38px rgba(0, 0, 0, 0.484)}
html[data-theme="dark"] .zai-chat-workspace .assistant-prompts button{background:rgba(48, 63, 91, 0.78)}
html[data-theme="dark"] .zai-compose-shortcuts button{background:rgba(48, 63, 91, 0.74)}
html[data-theme="dark"] .zai-composer-card{background:rgba(48, 63, 91, 0.95)}
html[data-theme="dark"] .zai-composer-card:focus-within{box-shadow:0 11px 32px rgba(0, 0, 0, 0.22),0 0 0 3px rgba(0, 0, 0, 0.132)}
html[data-theme="dark"] .zai-language-toggle{border:1px solid rgba(255, 255, 255, 0.16);background:rgba(48, 63, 91, 0.76)}
html[data-theme="dark"] .zai-hub-hero{background:radial-gradient(circle at 50% -15%,rgba(0, 48, 107, 0.4),transparent 22rem),radial-gradient(circle at 90% 15%,rgba(0, 41, 125, 0.45),transparent 24rem),linear-gradient(125deg,#07183b,#12366f 58%,#1f2f98 122%);border-bottom:1px solid rgba(255, 255, 255, 0.16);border:1px solid rgba(255, 255, 255, 0.16);box-shadow:0 1px 0 rgba(255, 255, 255, 0.06) inset,0 28px 68px rgba(0, 0, 0, 0.528);border-color:rgba(255, 255, 255, 0.16)}
html[data-theme="dark"] .zai-hub-hero:after{background:radial-gradient(circle,rgba(0, 56, 54, 0.08),transparent 70%)}
html[data-theme="dark"] .zai-hub-orb{border:1px solid rgba(255, 255, 255, 0.16);background:linear-gradient(145deg,#00297d,#1f2f98);box-shadow:0 15px 36px rgba(0, 0, 0, 0.44),inset 0 1px rgba(255, 255, 255, 0.06);border-color:rgba(255, 255, 255, 0.16)}
html[data-theme="dark"] .zai-hub-orb:after{border:1px solid rgba(255, 255, 255, 0.1)}
html[data-theme="dark"] .zai-hub-composer{border:1px solid rgba(255, 255, 255, 0.16);background:rgba(48, 63, 91, 0.12);box-shadow:inset 0 1px rgba(255, 255, 255, 0.06),0 18px 45px rgba(0, 0, 0, 0.308);border-color:rgba(255, 255, 255, 0.16)}
html[data-theme="dark"] .zai-hub-composer:focus-within{border-color:rgba(255, 255, 255, 0.16);box-shadow:0 24px 68px rgba(0, 0, 0, 0.286),0 0 0 4px rgba(0, 0, 0, 0.099)}
html[data-theme="dark"] .zai-hub-submit{background:linear-gradient(145deg,#00297d,#1f2f98)}
html[data-theme="dark"] .zai-hub-prompts button{border:1px solid rgba(255, 255, 255, 0.16);background:rgba(48, 63, 91, 0.075);border-color:rgba(255, 255, 255, 0.14)}
html[data-theme="dark"] .zai-hub-prompts button:hover{border-color:rgba(255, 255, 255, 0.16)}
html[data-theme="dark"] .zai-hub-stats article{border:1px solid rgba(255, 255, 255, 0.16);background:rgba(48, 63, 91, 0.82);box-shadow:0 8px 26px rgba(0, 0, 0, 0.099),inset 0 1px 0 rgba(255, 255, 255, 0.06)}
html[data-theme="dark"] .zai-hub-stats article:before{background:#002b5e}
html[data-theme="dark"] .zai-hub-stats article.red:before{background:#6b0009}
html[data-theme="dark"] .zai-hub-stats article.blue:before{background:#002a76}
html[data-theme="dark"] .zai-hub-stats article.amber:before{background:#4d2700}
html[data-theme="dark"] .zai-hub-panel{border:1px solid rgba(255, 255, 255, 0.16);background:rgba(48, 63, 91, 0.84);box-shadow:0 10px 32px rgba(0, 0, 0, 0.11),inset 0 1px 0 rgba(255, 255, 255, 0.06)}
html[data-theme="dark"] .zai-hub-panel>header{border-bottom:1px solid rgba(255, 255, 255, 0.16)}
html[data-theme="dark"] .zai-hub-item{border-bottom:1px solid #2c3e5b}
html[data-theme="dark"] .zai-hub-item:hover{background:rgba(0, 56, 54, 0.025)}
html[data-theme="dark"] .zai-dialog{border:1px solid rgba(255, 255, 255, 0.16);background:rgba(48, 63, 91, 0.92);box-shadow:0 32px 100px rgba(0, 0, 0, 0.55),inset 0 1px 0 rgba(255, 255, 255, 0.06)}
html[data-theme="dark"] .zai-dialog-head{border-bottom:1px solid rgba(255, 255, 255, 0.16);background:radial-gradient(320px 100px at 88% -35%,rgba(45, 86, 190, 0.16),transparent 72%),rgba(48, 63, 91, 0.9)}
html[data-theme="dark"] .zai-brand-mark{background:linear-gradient(145deg,var(--brand),#002977);box-shadow:0 8px 20px rgba(0, 0, 0, 0.484)}
html[data-theme="dark"] .zai-conversation{background:radial-gradient(420px 190px at 50% -24%,rgba(45, 86, 190, 0.07),transparent 72%),#2e3d59}
html[data-theme="dark"] .zai-orb{background:linear-gradient(145deg,#303f5b,var(--brand-bg));box-shadow:0 11px 28px rgba(0, 0, 0, 0.22)}
html[data-theme="dark"] .zai-files{background:rgba(48, 63, 91, 0.78)}
html[data-theme="dark"] .zai-composer{background:rgba(48, 63, 91, 0.97)}
html[data-theme="dark"] .zai-composer textarea:focus{box-shadow:0 0 0 3px rgba(0, 0, 0, 0.154)}
html[data-theme="dark"] .zai-chat-shell{border:1px solid rgba(255, 255, 255, 0.16);background:rgba(48, 63, 91, 0.72);box-shadow:0 24px 70px rgba(0, 0, 0, 0.308),inset 0 1px 0 rgba(255, 255, 255, 0.06)}
html[data-theme="dark"] .zai-history{border-right:1px solid rgba(255, 255, 255, 0.16);background:linear-gradient(180deg,rgba(56, 59, 67, 0.96),rgba(46, 61, 89, 0.91))}
html[data-theme="dark"] .zai-history>header{border-bottom:1px solid rgba(255, 255, 255, 0.16)}
html[data-theme="dark"] .zai-history-item:hover{background:rgba(48, 63, 91, 0.78)}
html[data-theme="dark"] .zai-history>footer{border-top:1px solid rgba(255, 255, 255, 0.16)}
html[data-theme="dark"] .zai-chat-main{background:radial-gradient(620px 260px at 50% -20%,rgba(45, 86, 190, 0.07),transparent 74%),rgba(46, 61, 89, 0.84)}
html[data-theme="dark"] .zai-chat-head{border-bottom:1px solid rgba(255, 255, 255, 0.16);background:rgba(48, 63, 91, 0.74)}
html[data-theme="dark"] .zai-chat-main .zai-composer{background:rgba(48, 63, 91, 0.87)}
html[data-theme="dark"] .zai-page-plan{box-shadow:0 8px 32px rgba(0, 0, 0, 0.156)}
html[data-theme="dark"] .zai-page-plan li{border-top:1px solid #2c3e5b}
html[data-theme="dark"] .zai-page-plan .zai-page-overwrite{background:#403d36;border-color:#2c3e5b}
html[data-theme="dark"] .zai-file-item.failed,html[data-theme="dark"] .zai-file-item.partial{border-color:#2c3e5b;background:#403d36}
html[data-theme="dark"] .zai-codex-float>.zai-file-tray{background:rgba(48, 63, 91, 0.98)}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-codex-float.zai-float-workspace{box-shadow:0 18px 60px rgba(0, 0, 0, 0.44)}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-float-workspace .zai-composer-card:focus-within{border-color:#2c3e5b;box-shadow:0 0 0 3px rgba(0, 0, 0, 0.139)}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-float-history .zai-history-item.active{border-color:#2c3e5b}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-approval-reference button{border:1px solid #2c3e5b}
html[data-theme="dark"] .zai-hub-stats article,html[data-theme="dark"] .zai-hub-panel{background:rgba(48, 63, 91, 0.78)}
html[data-theme="dark"] .zai-hub-panel,html[data-theme="dark"] .zai-hub-stats article{border-color:rgba(255, 255, 255, 0.16);background:linear-gradient(145deg,rgba(48, 63, 91, 0.94),rgba(48, 63, 91, 0.78))}
html[data-theme="dark"] .zai-hub-hero::before{background-image:radial-gradient(circle,rgba(48, 63, 91, 0.2) 1px,transparent 1.4px)}
html[data-theme="dark"] .zai-hub-hero::after{background:linear-gradient(90deg,transparent,#002f6e,#00394f,transparent)}
html[data-theme="dark"] .zai-hub-orb::after{border-color:rgba(255, 255, 255, 0.13)}
html[data-theme="dark"] .zai-hub-composer footer{border-top-color:rgba(255, 255, 255, 0.12)}
html[data-theme="dark"] .zai-hub-attach{border:1px solid rgba(255, 255, 255, 0.15) !important;background:rgba(48, 63, 91, 0.08) !important;box-shadow:inset 0 1px rgba(255, 255, 255, 0.04)}
html[data-theme="dark"] .zai-hub-attach:hover{background:rgba(48, 63, 91, 0.15) !important}
html[data-theme="dark"] .sam-app-shell .zai-chat-workspace{background:rgba(47, 62, 90, 0.94);box-shadow:0 22px 58px rgba(0, 0, 0, 0.209),inset 0 1px 0 rgba(255, 255, 255, 0.06)}
html[data-theme="dark"] .sam-app-shell .zai-chat-workspace .zai-history{border-right-color:rgba(255, 255, 255, 0.12);background:linear-gradient(180deg,rgba(47, 62, 90, 0.99),rgba(58, 60, 65, 0.97))}
html[data-theme="dark"] .sam-app-shell .zai-chat-workspace .zai-history-collapse{background:rgba(48, 63, 91, 0.74)}
html[data-theme="dark"] .sam-app-shell .zai-chat-workspace .zai-history-new{background:linear-gradient(135deg,rgba(33, 61, 169, 0.1),rgba(0, 38, 126, 0.07)),rgba(48, 63, 91, 0.78)}
html[data-theme="dark"] .sam-app-shell .zai-chat-workspace .zai-history-tools label{background:rgba(48, 63, 91, 0.68)}
html[data-theme="dark"] .sam-app-shell .zai-chat-workspace .zai-history-item.active{background:linear-gradient(105deg,rgba(33, 61, 169, 0.11),rgba(48, 63, 91, 0.9) 72%)}
html[data-theme="dark"] .sam-app-shell .zai-chat-workspace .zai-history-item.active::before{background:linear-gradient(#213da9,#002977)}
html[data-theme="dark"] .sam-app-shell .zai-chat-workspace .zai-chat-main{background:linear-gradient(180deg,rgba(48, 63, 91, 0.92),rgba(46, 61, 89, 0.9))}
html[data-theme="dark"] .sam-app-shell .zai-chat-workspace .zai-chat-head{background:rgba(48, 63, 91, 0.82);box-shadow:0 8px 24px rgba(0, 0, 0, 0.055)}
html[data-theme="dark"] .sam-app-shell .zai-chat-workspace .zai-history-toggle{background:rgba(48, 63, 91, 0.8)}
html[data-theme="dark"] .sam-app-shell .zai-chat-head-status{border:1px solid rgba(255, 255, 255, 0.12);background:rgba(52, 61, 58, 0.76)}
html[data-theme="dark"] .sam-app-shell .zai-chat-head-status > span:first-child{background:#303d37}
html[data-theme="dark"] .sam-app-shell .zai-chat-new-mobile{background:rgba(48, 63, 91, 0.82)}
html[data-theme="dark"] .sam-app-shell .zai-chat-workspace .zai-conversation{background-image:radial-gradient(circle at 1px 1px,rgba(8, 41, 80, 0.055) 1px,transparent 0);background:radial-gradient(650px 230px at 55% -20%,rgba(43, 87, 196, 0.05),transparent 72%),
    linear-gradient(180deg,rgba(48, 63, 91, 0.76),rgba(46, 61, 89, 0.86))}
html[data-theme="dark"] .sam-app-shell .zai-turn-avatar{background:linear-gradient(145deg,#1f369c,#00267a)}
html[data-theme="dark"] .sam-app-shell .zai-chat-workspace .zai-message{background:rgba(48, 63, 91, 0.86);box-shadow:0 8px 24px rgba(0, 0, 0, 0.099),inset 0 1px 0 rgba(255, 255, 255, 0.06)}
html[data-theme="dark"] .sam-app-shell .zai-dialog-guide{background:rgba(58, 61, 65, 0.78)}
html[data-theme="dark"] .sam-app-shell .zai-dialog-guide .zai-guide-label > span{background:linear-gradient(145deg,#343a46,#2e3d59)}
html[data-theme="dark"] .sam-app-shell .zai-dialog-guide .zai-guide-options button{background:rgba(48, 63, 91, 0.82)}
html[data-theme="dark"] .sam-app-shell .zai-chat-workspace .zai-composer{background:linear-gradient(180deg,rgba(46, 61, 90, 0.22),rgba(48, 63, 91, 0.97) 24%);box-shadow:0 -15px 32px rgba(0, 0, 0, 0.055)}
html[data-theme="dark"] .sam-app-shell .zai-compose-shortcuts button{background:rgba(48, 63, 91, 0.74)}
html[data-theme="dark"] .sam-app-shell .zai-composer-card{background:rgba(48, 63, 91, 0.96);box-shadow:0 11px 30px rgba(0, 0, 0, 0.154),inset 0 1px 0 rgba(255, 255, 255, 0.06)}
html[data-theme="dark"] .sam-app-shell .zai-composer-card:focus-within{box-shadow:0 15px 38px rgba(0, 0, 0, 0.22),0 0 0 3px rgba(0, 0, 0, 0.132)}
html[data-theme="dark"] .sam-app-shell .zai-composer-actions .zai-safety i{background:#343d39}
html[data-theme="dark"] .sam-app-shell .zai-chat-head-status.is-basic{border-color:rgba(255, 255, 255, 0.16);background:rgba(65, 60, 48, 0.88)}
html[data-theme="dark"] .sam-app-shell .zai-chat-head-status.is-basic > span:first-child{background:#433920}
html[data-theme="dark"] .sam-app-shell .zai-chat-head-status.is-intelligent{background:linear-gradient(120deg,rgba(53, 58, 69, 0.9),rgba(46, 61, 89, 0.88))}
html[data-theme="dark"] .sam-app-shell .zai-chat-head-status.is-intelligent > span:first-child{background:linear-gradient(145deg,#243ca4,#00287a)}
html[data-theme="dark"] .sam-app-shell .zai-chat-v6{border:1px solid rgba(255, 255, 255, 0.16);background:rgba(48, 63, 91, 0.78);box-shadow:0 22px 64px rgba(0, 0, 0, 0.22),inset 0 1px 0 rgba(255, 255, 255, 0.06)}
html[data-theme="dark"] .sam-app-shell .zai-chat-v6 .zai-history{background:linear-gradient(180deg,rgba(47, 62, 90, 0.99),rgba(58, 60, 65, 0.96))}
html[data-theme="dark"] .sam-app-shell .zai-chat-v6 .zai-brand-mark{background:linear-gradient(145deg,var(--chat-accent),#00267a);box-shadow:0 8px 18px rgba(0, 0, 0, 0.44),inset 0 1px rgba(255, 255, 255, 0.06)}
html[data-theme="dark"] .sam-app-shell .zai-chat-v6 .zai-history-collapse{background:rgba(48, 63, 91, 0.7)}
html[data-theme="dark"] .sam-app-shell .zai-chat-v6 .zai-history-new{background:rgba(48, 63, 91, 0.86)}
html[data-theme="dark"] .sam-app-shell .zai-chat-v6 .zai-history-tools label{background:rgba(48, 63, 91, 0.72)}
html[data-theme="dark"] .sam-app-shell .zai-chat-v6 .zai-history-item.active{background:linear-gradient(100deg,rgba(31, 54, 156, 0.095),rgba(48, 63, 91, 0.84))}
html[data-theme="dark"] .sam-app-shell .zai-chat-v6 .zai-history-item.active:before{background:linear-gradient(var(--chat-accent),#00267a)}
html[data-theme="dark"] .sam-app-shell .zai-chat-v6 .zai-chat-main{background:radial-gradient(720px 300px at 52% -18%,rgba(49, 88, 199, 0.065),transparent 72%),linear-gradient(180deg,rgba(48, 63, 91, 0.96),rgba(46, 61, 89, 0.93))}
html[data-theme="dark"] .sam-app-shell .zai-chat-v6 .zai-chat-head{background:rgba(48, 63, 91, 0.72)}
html[data-theme="dark"] .sam-app-shell .zai-chat-v6 .zai-chat-head-status{background:rgba(48, 63, 91, 0.64)}
html[data-theme="dark"] .sam-app-shell .zai-chat-v6 .zai-turn-avatar{background:linear-gradient(145deg,var(--chat-accent),#00267a)}
html[data-theme="dark"] .sam-app-shell .zai-chat-v6 .zai-turn.user .zai-message{background:linear-gradient(135deg,var(--chat-tint),rgba(48, 63, 91, 0.96))}
html[data-theme="dark"] .sam-app-shell .zai-chat-v6 .zai-welcome .zai-orb{background:linear-gradient(145deg,var(--chat-accent),#00267a);box-shadow:0 12px 28px rgba(0, 0, 0, 0.396)}
html[data-theme="dark"] .sam-app-shell .zai-chat-v6 .assistant-prompts button{background:rgba(48, 63, 91, 0.72)}
html[data-theme="dark"] .sam-app-shell .zai-chat-v6 .zai-dialog-guide,html[data-theme="dark"] .sam-app-shell .zai-chat-v6 .zai-next-step{background:rgba(59, 60, 66, 0.76)}
html[data-theme="dark"] .sam-app-shell .zai-chat-v6 .zai-composer{background:linear-gradient(180deg,rgba(46, 61, 89, 0.15),rgba(48, 63, 91, 0.96) 28%)}
html[data-theme="dark"] .sam-app-shell .zai-chat-v6 .zai-compose-shortcuts button{background:rgba(48, 63, 91, 0.72)}
html[data-theme="dark"] .sam-app-shell .zai-chat-v6 .zai-composer-card{box-shadow:0 13px 36px rgba(0, 0, 0, 0.198),inset 0 1px 0 rgba(255, 255, 255, 0.06)}
html[data-theme="dark"] .sam-app-shell .zai-chat-v6 .zai-composer-card:focus-within{box-shadow:0 15px 40px rgba(0, 0, 0, 0.22),0 0 0 3px rgba(0, 0, 0, 0.099)}
html[data-theme="dark"] .sam-app-shell .zai-next-step{background:linear-gradient(120deg,rgba(56, 60, 67, 0.9),rgba(48, 63, 91, 0.92))}
html[data-theme="dark"] .sam-app-shell .zai-next-step > header > span{background:linear-gradient(145deg,#243ca4,#00287a)}
html[data-theme="dark"] .sam-app-shell .zai-next-missing button{border:1px solid rgba(255, 255, 255, 0.15);background:#403d36}
html[data-theme="dark"] .sam-app-shell .zai-next-links > a{background:rgba(48, 63, 91, 0.88)}
html[data-theme="dark"] .sam-app-shell .zai-chat-workspace.zai-chat-v6{border-color:rgba(255, 255, 255, 0.16);background:rgba(48, 63, 91, 0.78);box-shadow:0 22px 64px rgba(0, 0, 0, 0.22),inset 0 1px 0 rgba(255, 255, 255, 0.06)}
html[data-theme="dark"] .sam-app-shell .zai-chat-workspace.zai-chat-v6 .zai-history{background:linear-gradient(180deg,rgba(47, 62, 90, 0.99),rgba(58, 60, 65, 0.96))}
html[data-theme="dark"] .sam-app-shell .zai-chat-workspace.zai-chat-v6 .zai-chat-head{background:rgba(48, 63, 91, 0.72)}
html[data-theme="dark"] .sam-app-shell .zai-chat-workspace.zai-chat-v6 .zai-composer{background:linear-gradient(180deg,rgba(46, 61, 89, 0.15),rgba(48, 63, 91, 0.96) 28%)}
html[data-theme="dark"] .sam-app-shell .zai-chat-v7 .zai-chat-head-status.model-name{background:rgba(59, 61, 65, 0.82)}
html[data-theme="dark"] .sam-app-shell .zai-chat-v7 .zai-chat-head-status.model-name.fallback{border-color:rgba(255, 255, 255, 0.16);background:#403d36}
html[data-theme="dark"] .sam-app-shell .zai-chat-v7 .zai-voice[aria-pressed=true]{box-shadow:0 0 0 4px rgba(0, 0, 0, 0.176)}
html[data-theme="dark"] .sam-app-shell .zai-chat-v7.voice-listening .zai-composer-card{box-shadow:0 15px 42px rgba(0, 0, 0, 0.264),0 0 0 4px rgba(0, 0, 0, 0.121)}
html[data-theme="dark"] .sam-app-shell .zai-chat-v6 .zai-brand-mark,html[data-theme="dark"] .sam-app-shell .zai-chat-v6 .zai-turn-avatar{background:#303f5b url('/assets/zai-avatars/xiaozai-sam.png?v=20260905-zai-v2') center/118% no-repeat !important}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-chat-v7 .zai-composer-card{background:linear-gradient(135deg,#2e3d59 0%,#303f5b 22%,#303f5b 100%);box-shadow:0 10px 26px rgba(0, 0, 0, 0.154),inset 0 1px 0 rgba(255, 255, 255, 0.06)}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-chat-v7 .zai-input-tool{box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.06)}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-chat-v7 .zai-input-tool:hover{border-color:#2c3e5b}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-chat-v7 .zai-voice-state{box-shadow:0 12px 25px rgba(0, 0, 0, 0.44)}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-chat-v7 .zai-composer-card:has(textarea:placeholder-shown) .zai-send,html[data-theme="dark"] .sam-app-shell sam-assistant .zai-chat-v7 .zai-send:disabled{background:linear-gradient(145deg,#102d5a,#002b5f)}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-chat-v7 .zai-compose-shortcuts button{border-color:rgba(255, 255, 255, 0.16);background:rgba(48, 63, 91, 0.72)}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-chat-v7 .zai-composer-card:focus-within{border-color:#2c3e5b;box-shadow:0 0 0 3px rgba(0, 0, 0, 0.198),0 10px 26px rgba(0, 0, 0, 0.154)}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-chat-v7 .zai-composer{background:linear-gradient(180deg,rgba(57, 60, 65, 0),rgba(47, 62, 90, 0.96) 55%,#303f5b)}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-chat-v7 .zai-send{background:linear-gradient(145deg,#002282,#2e429e)}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-chat-v7 .zai-history{background:linear-gradient(180deg,#303f5b 0%,#303f5b 100%)}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-chat-v7 .zai-chat-main{background:radial-gradient(760px 260px at 58% -14%,rgba(75, 96, 207, 0.06),transparent 70%),linear-gradient(180deg,#303f5b,#303f5b 100%)}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-chat-v7 .zai-chat-head{background:rgba(48, 63, 91, 0.86)}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-chat-v7 .zai-turn.user p{background:linear-gradient(135deg,#2e3d59,#303f5b)}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-chat-v7 .zai-intent-summary{background:rgba(48, 63, 91, 0.78)}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-chat-v7 .zai-turn.user .zai-message{background:linear-gradient(135deg,#2e3d59,#303f5b)}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-chat-v7 .zai-next-step{background:rgba(48, 63, 91, 0.78)}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-chat-v8 .zai-chat-main{background:linear-gradient(180deg,#303f5b 0%,#303f5b 100%)}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-chat-v8 .zai-chat-head{background:rgba(48, 63, 91, 0.94)}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-chat-v8 .zai-workspace-composer{border-top:1px solid #2c3e5b;background:rgba(48, 63, 91, 0.96);box-shadow:0 -10px 28px rgba(0, 0, 0, 0.077)}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-chat-v8 .zai-composer-card:focus-within{border-color:#2c3e5b;box-shadow:0 0 0 3px rgba(0, 0, 0, 0.176),0 8px 24px rgba(0, 0, 0, 0.132)}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-chat-v8 .zai-composer-card:has(textarea:placeholder-shown) .zai-send,html[data-theme="dark"] .sam-app-shell sam-assistant .zai-chat-v8 .zai-send:disabled{background:#243143}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-chat-workspace.zai-chat-v8 .zai-chat-main{background:linear-gradient(180deg,#303f5b 0%,#303f5b 100%)}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-chat-workspace.zai-chat-v8 .zai-chat-head{background:rgba(48, 63, 91, 0.94)}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-chat-workspace.zai-chat-v8 .zai-workspace-composer{border-top:1px solid #2c3e5b;background:rgba(48, 63, 91, 0.96);box-shadow:0 -10px 28px rgba(0, 0, 0, 0.077)}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-floating-shell{border:1px solid rgba(255, 255, 255, 0.14);box-shadow:0 20px 48px rgba(0, 0, 0, 0.55),0 4px 14px rgba(0, 0, 0, 0.352)}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-floating-brand{border-right:1px solid rgba(255, 255, 255, 0.15)}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-floating-brand>span{box-shadow:0 3px 11px rgba(0, 0, 0, 0.55)}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-floating-plus{background:rgba(48, 63, 91, 0.09)}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-floating-plus:hover{background:rgba(48, 63, 91, 0.16)}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-floating-compose kbd{border:1px solid rgba(255, 255, 255, 0.16);color:var(--ds-text-muted)}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-floating-send{background:#002384;box-shadow:0 4px 12px rgba(0, 0, 0, 0.55)}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-floating-send:hover{background:#00267f}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-floating-collapse:hover{background:rgba(48, 63, 91, 0.12)}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-floating-panel{box-shadow:0 24px 60px rgba(0, 0, 0, 0.528)}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-floating-panel>header{background:linear-gradient(135deg,#303f5b,#2e3d59)}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-floating-transcript{background:linear-gradient(180deg,#303f5b,#2e3d59)}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-floating-message.user p{background:linear-gradient(135deg,#002485,#002282)}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-floating-input:focus-within{border-color:#2c3e5b;box-shadow:0 0 0 3px rgba(0, 0, 0, 0.198)}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-floating-avatar{background:#303f5b url('/assets/zai-avatars/xiaozai-sam.png?v=20260905-zai-v2') center/118% no-repeat !important}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-floating-brand>img{box-shadow:0 3px 11px rgba(0, 0, 0, 0.55)}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-codex-result{border:1px solid rgba(255, 255, 255, 0.16);box-shadow:0 14px 36px rgba(0, 0, 0, 0.55)}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-codex-result>button:hover{background:rgba(48, 63, 91, 0.065)}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-codex-result>footer{border-top:1px solid rgba(255, 255, 255, 0.14);background:rgba(48, 63, 91, 0.035)}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-codex-result>footer>button{border:1px solid rgba(255, 255, 255, 0.16)}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-codex-thinking i{background:#002e71}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-codex-command{border:1px solid rgba(255, 255, 255, 0.16);box-shadow:0 20px 48px rgba(0, 0, 0, 0.55)}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-codex-attach:hover,html[data-theme="dark"] .sam-app-shell sam-assistant .zai-codex-voice:hover,html[data-theme="dark"] .sam-app-shell sam-assistant .zai-codex-collapse:hover{background:rgba(48, 63, 91, 0.1)}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-codex-model{border:1px solid rgba(255, 255, 255, 0.16)}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-codex-send{background:#253250}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-file-tray{border-bottom:1px solid #2c3e5b}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-file-item.failed{border-color:#2c3e5b;background:#403d36}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-file-item.partial{border-color:#2c3e5b;background:#403d36}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-file-item.ready{border-color:#2c3e5b}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-file-item.failed .zai-file-kind{background:#433926}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-file-item.ready .zai-file-kind{background:#343d39}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-file-retry{box-shadow:0 0 0 1px rgba(255, 255, 255, 0.06) inset}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-file-remove:hover{background:#443838 !important}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-codex-float>.zai-file-tray{border:1px solid rgba(255, 255, 255, 0.16);background:rgba(57, 60, 65, 0.98)}
html[data-theme="dark"] .formx .zai-date-trigger{background:linear-gradient(180deg,#303f5b,color-mix(in srgb,var(--brand-bg) 30%,#303f5b));box-shadow:0 3px 10px rgba(0, 0, 0, 0.121),inset 0 1px 0 rgba(255, 255, 255, 0.06)}
html[data-theme="dark"] .formx .zai-date-popover{background:rgba(48, 63, 91, 0.98);box-shadow:0 18px 48px rgba(0, 0, 0, 0.396)}
html[data-theme="dark"] .formx .zai-date-head button:hover{background:color-mix(in srgb,var(--brand) 14%,#303f5b)}
html[data-theme="dark"] .formx .zai-date-day.is-selected{background:linear-gradient(135deg,var(--brand),color-mix(in srgb,var(--brand) 78%,#00258e))}
html[data-theme="dark"] .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-history{border-right-color:#2c3e5b}
html[data-theme="dark"] .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-history-item.active{border-color:#2c3e5b}
html[data-theme="dark"] .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-welcome button:hover{border-color:#2c3e5b}
html[data-theme="dark"] .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-workspace-composer{border-top:1px solid #2c3e5b}
html[data-theme="dark"] .sam-app-shell .zai-chat-route sam-assistant .zai-chat-v8 .zai-composer-card:focus-within{border-color:#2c3e5b;box-shadow:0 0 0 3px rgba(0, 0, 0, 0.176)}
@media(max-width:820px){
html[data-theme="dark"] .zai-chat-workspace .zai-history{box-shadow:18px 0 50px rgba(0, 0, 0, 0.352)}
}
@media(max-width:767px){
html[data-theme="dark"] .zai-history{box-shadow:18px 0 50px rgba(0, 0, 0, 0.44)}
}


/* ── 暗色下仍为浅色的背景（Pass E9 生成） ───────────────────────────────
   这些规则把背景写死成亮色字面量，暗色主题从没覆盖过它们，于是在深色界面上
   留下一块白药丸；品牌文字提亮后压在上面更读不出来。修的是背景而不是文字：
   映射同 Pass E8——按白度排名保序落到暗色抬起层，alpha 与 var() 原样保留。 */
html[data-theme="dark"] .hdr-grad{background:radial-gradient(340px 200px at -10% -30%, rgba(48, 63, 91, 0.13), transparent 62%),
    radial-gradient(rgba(48, 63, 91, 0.15) 1px, transparent 1.5px),
    var(--grad)}
html[data-theme="dark"] .upload-policy{background:rgba(59, 61, 65, 0.82)}
html[data-theme="dark"] .detail-upload>button{background:rgba(59, 61, 65, 0.82)}
html[data-theme="dark"] .binary-choice label:hover span{background:rgba(48, 63, 91, 0.72)}
html[data-theme="dark"] .binary-choice input:checked+span{background:rgba(48, 63, 91, 0.96)}
html[data-theme="dark"] .lookup-head button{background:rgba(48, 63, 91, 0.1)}
html[data-theme="dark"] .lookup-check{background:rgba(50, 55, 67, 0.65)}
html[data-theme="dark"] .cal-week{background:rgba(41, 56, 84, 0.92)}
html[data-theme="dark"] .cal-event.approved{background:#27302c}
html[data-theme="dark"] .cal-event.rejected,html[data-theme="dark"] .cal-event.aborted{background:#362b2b}
html[data-theme="dark"] .org-toggle:hover{background:rgba(48, 63, 91, 0.72)}
html[data-theme="dark"] .org-unit-icon{background:rgba(48, 63, 91, 0.72)}
html[data-theme="dark"] .org-select em{background:rgba(51, 56, 64, 0.8)}
html[data-theme="dark"] .org-empty-state{background:rgba(46, 61, 90, 0.56)}
html[data-theme="dark"] .quick-grid a{background:rgba(48, 63, 91, 0.62)}
html[data-theme="dark"] .formx .ctx{background:rgba(46, 61, 89, 0.86)}
html[data-theme="dark"] .formx .anchor-nav .fchip.done>em{background:rgba(0, 55, 24, 0.1)}
html[data-theme="dark"] .section-status b{background:rgba(53, 56, 62, 0.7)}
html[data-theme="dark"] .section-status.done b{background:rgba(0, 55, 24, 0.09)}
html[data-theme="dark"] .display-value,html[data-theme="dark"] .detail-display{background:rgba(45, 60, 89, 0.76)}
html[data-theme="dark"] .direct-choice span{background:rgba(46, 61, 89, 0.86)}
html[data-theme="dark"] .direct-choice input:checked+span{background:linear-gradient(135deg,var(--brand-bg),#303f5b)}
html[data-theme="dark"] .detail-record-toggle>span{background:rgba(55, 57, 65, 0.82)}
html[data-theme="dark"] .form-info-overview .info-auto>span{background:rgba(0, 55, 24, 0.11)}
html[data-theme="dark"] .auto-data-icon{background:rgba(0, 55, 24, 0.1)}
html[data-theme="dark"] .relation-facts span{background:rgba(48, 63, 91, 0.9)}
html[data-theme="dark"] .sam-document-context header em.pending{background:#352d20}
html[data-theme="dark"] .sam-document-context header em.ok{background:#27302c}
html[data-theme="dark"] .formx.approval-mode .form-title>.chip{background:rgba(48, 63, 91, 0.72) !important}
html[data-theme="dark"] .approval-rail-guide i{background:rgba(0, 55, 24, 0.1)}
html[data-theme="dark"] .approval-focus-note>i{background:rgba(0, 55, 24, 0.1)}
html[data-theme="dark"] .workbench-focus-item:hover{background:rgba(48, 63, 91, 0.72)}
html[data-theme="dark"] .workbench-primary-stat{background:linear-gradient(135deg,rgba(31, 47, 152, 0.09),rgba(48, 63, 91, 0.97) 64%)}
html[data-theme="dark"] .report-scope-notice{background:#2f2b1f}
html[data-theme="dark"] .report-config-table>header{background:rgba(59, 61, 65, 0.82)}
html[data-theme="dark"] .report-config-grid input,html[data-theme="dark"] .report-config-grid select{background:rgba(48, 63, 91, 0.88)}
html[data-theme="dark"] .report-category-tabs button.active span{background:rgba(48, 63, 91, 0.2)}
html[data-theme="dark"] .report-category-index>header>em{background:rgba(48, 63, 91, 0.72)}
html[data-theme="dark"] .report-category-card{background:linear-gradient(145deg,rgba(48, 63, 91, 0.92),rgba(58, 61, 65, 0.78))}
html[data-theme="dark"] .report-detail-breadcrumb button{background:rgba(48, 63, 91, 0.74)}
html[data-theme="dark"] .workbench-type-row button{background:rgba(48, 63, 91, 0.7)}
html[data-theme="dark"] .workbench-kind.requests{background:#081615}
html[data-theme="dark"] .workbench-ai-brief{background:rgba(58, 60, 65, 0.62)}
html[data-theme="dark"] .workbench-year-panel>header em{background:#352d20}
html[data-theme="dark"] .workbench-year-badge{background:#27302c}
html[data-theme="dark"] .workbench-year-badge.history{background:#352d23}
html[data-theme="dark"] .workbench-node-row>span{background:linear-gradient(90deg,#2e3d59 78%,rgba(57, 60, 65, 0))}
html[data-theme="dark"] .workbench-node-row button{background:rgba(48, 63, 91, 0.9)}
html[data-theme="dark"] .form-inline-agent-toggle{background:linear-gradient(110deg,rgba(48, 63, 91, 0.9),rgba(45, 86, 190, 0.055))}
html[data-theme="dark"] .sam-agent-candidates a{background:rgba(0, 19, 44, 0.72)}
html[data-theme="dark"] .workbench-secondary-strip.workbench-secondary-numbers button{background:rgba(48, 63, 91, 0.72)}
html[data-theme="dark"] .workbench-year-actions>em{background:#352d20}
html[data-theme="dark"] .report-center-hero>label{background:rgba(43, 58, 86, 0.9)}
html[data-theme="dark"] .admin-hub-hero>aside{background:rgba(55, 57, 65, 0.72)}
html[data-theme="dark"] .saile-admin-card{background:rgba(48, 63, 91, 0.86)}
html[data-theme="dark"] .saile-report-tab:hover{background:rgba(48, 63, 91, 0.72)}
html[data-theme="dark"] .workbench-ai-prompts button{background:rgba(48, 63, 91, 0.72)}
html[data-theme="dark"] .workbench-ai-result.warn>i{background:#1c1200}
html[data-theme="dark"] .workbench-ai-result.ok>i{background:#27302c}
html[data-theme="dark"] .usage-table th{background:rgba(46, 61, 89, 0.75)}
html[data-theme="dark"] .usage-person i{background:linear-gradient(135deg,var(--brand,#4f6bb7),#003735)}
html[data-theme="dark"] .sam-approval-command-decision textarea{background:rgba(48, 63, 91, 0.94)}
html[data-theme="dark"] .sam-approval-ai-trigger{background:linear-gradient(135deg,#2e3d59,#383b44)}
html[data-theme="dark"] .rail-fill-task{background:#403d36}
html[data-theme="dark"] .rail-fill-task>i{background:#352c1a}
html[data-theme="dark"] .rail-fill-task.done>i{background:#06160f}
html[data-theme="dark"] .report-contract-filters input{background:rgba(48, 63, 91, 0.74)}
html[data-theme="dark"] .btn-ghost{background:rgba(38, 54, 81, 0.76)}
html[data-theme="dark"] .btn-teal,html[data-theme="dark"] .btn-ok{background:#252f2f}
html[data-theme="dark"] .field input,html[data-theme="dark"] .field select,html[data-theme="dark"] .field textarea,html[data-theme="dark"] .field .val,html[data-theme="dark"] .form-sec input,html[data-theme="dark"] .form-sec select,html[data-theme="dark"] .form-sec textarea{background:rgba(34, 49, 77, 0.78)}
html[data-theme="dark"] .empty,html[data-theme="dark"] .precheck{background:rgba(40, 55, 83, 0.7)}
html[data-theme="dark"] .workbench-ai-auto.workbench-ai-compact{background:radial-gradient(circle at 88% -20%,rgba(0, 43, 119, 0.42),transparent 23rem),radial-gradient(circle at 0% 120%,rgba(37, 126, 167, 0.34),transparent 25rem),linear-gradient(115deg,#07183b 0%,#153b76 58%,#1f2f98 125%)}
html[data-theme="dark"] .workbench-ai-compact .workbench-ai-result{background:linear-gradient(145deg,rgba(48, 63, 91, 0.1),rgba(48, 63, 91, 0.045))}
html[data-theme="dark"] .workbench-ai-result.warn > i{background:rgba(83, 34, 0, 0.13)}
html[data-theme="dark"] .workbench-ai-result.ok > i{background:rgba(0, 56, 41, 0.13)}
html[data-theme="dark"] .workbench-ai-result.info > i{background:rgba(0, 45, 102, 0.13)}
html[data-theme="dark"] .main-top.form-title{background:radial-gradient(circle at 94% 0%,rgba(0, 47, 107, 0.34),transparent 20rem),radial-gradient(circle at 8% 120%,rgba(0, 49, 78, 0.26),transparent 19rem),linear-gradient(110deg,#07183b,#1f2f98 62%,#1f6f91 132%)}
html[data-theme="dark"] .main-top.form-title > .chip{background:rgba(48, 63, 91, 0.11)}
html[data-theme="dark"] .main-top.form-title > .btn{background:rgba(48, 63, 91, 0.12)}
html[data-theme="dark"] .native-report th,html[data-theme="dark"] .native-table th{background:rgba(52, 57, 65, 0.78)}
html[data-theme="dark"] .report-catalog-categories button{background:rgba(48, 63, 91, 0.68)}
html[data-theme="dark"] .report-catalog-categories button.active span{background:rgba(48, 63, 91, 0.18)}
html[data-theme="dark"] .report-catalog-card{background:linear-gradient(145deg,rgba(48, 63, 91, 0.92),rgba(58, 61, 65, 0.78))}
html[data-theme="dark"] .sam-app-shell .sam-top-nav-item:hover{background:rgba(51, 54, 63, 0.76)}
html[data-theme="dark"] .sam-app-shell .sam-top-nav-zai kbd{background:rgba(48, 63, 91, 0.86)}
html[data-theme="dark"] .sam-app-shell .sam-top-search{background:rgba(48, 63, 91, 0.7)}
html[data-theme="dark"] .sam-app-shell .sam-workbench-actions .workbench-smart-action{background:linear-gradient(112deg,#1b2c46 0%,#262a32 62%,#1f2c32 100%) padding-box,
    linear-gradient(115deg,#001c51 0%,#00263f 48%,#001d4c 100%) border-box}
html[data-theme="dark"] .sam-app-shell .workbench-utility-filter{background:rgba(48, 63, 91, 0.84)}
html[data-theme="dark"] .sam-app-shell .workbench-primary-card{background:linear-gradient(135deg,rgba(29, 45, 72, 0.98) 0%,rgba(28, 44, 71, 0.94) 100%)}
html[data-theme="dark"] .sam-app-shell .workbench-primary-card.requests > i{background:#262e32}
html[data-theme="dark"] .sam-app-shell .workbench-start-catalog .start-group-head > span{background:linear-gradient(145deg,#343a46,#2e3d59)}
html[data-theme="dark"] .sam-app-shell .start-group .pcard-card-arrow{background:#2b2e36}
html[data-theme="dark"] .sam-app-shell .workbench-list-shell .workbench-task-list > footer{background:rgba(48, 63, 91, 0.96)}
html[data-theme="dark"] .sam-app-shell .approval-process-tabs .fchip.on strong{background:rgba(48, 63, 91, 0.18)}
html[data-theme="dark"] .sam-app-shell .request-card-status.request-completed b{background:#27302c}
html[data-theme="dark"] .sam-app-shell .request-card-status.request-rejected b{background:#362b2b}
html[data-theme="dark"] .approval-decision button{background:#303f5b}
html[data-theme="dark"] .sam-app-shell .report-catalog-categories button{background:rgba(34, 49, 77, 0.78)}
html[data-theme="dark"] .sam-app-shell .report-catalog-card{background:rgba(34, 49, 77, 0.9)}
html[data-theme="dark"] .sam-app-shell .native-report th,html[data-theme="dark"] .sam-app-shell .native-table th{background:rgba(47, 55, 54, 0.72)}
html[data-theme="dark"] .sam-app-shell .sam-top-notification,html[data-theme="dark"] .sam-app-shell .sam-top-logout{background:rgba(38, 54, 81, 0.72)}
html[data-theme="dark"] .sam-app-shell .sam-top-ai-search{background:linear-gradient(110deg,#2e3d59 0%,#383b44 100%) !important}
html[data-theme="dark"] .sam-app-shell .sam-ai-search-panel > header button{background:#2e3237}
html[data-theme="dark"] .sam-app-shell .sam-ai-search-results a:nth-child(3n+2) > i{background:#081615}
html[data-theme="dark"] .sam-app-shell .zai-chat-workspace .zai-history-collapse{background:rgba(48, 63, 91, 0.74)}
html[data-theme="dark"] .sam-app-shell .zai-chat-workspace .zai-history-new{background:linear-gradient(135deg,rgba(33, 61, 169, 0.1),rgba(71, 107, 210, 0.07)),rgba(48, 63, 91, 0.78)}
html[data-theme="dark"] .sam-app-shell .zai-chat-workspace .zai-history-toggle{background:rgba(48, 63, 91, 0.8)}
html[data-theme="dark"] .sam-app-shell .zai-chat-head-status > span:first-child{background:#06160f}
html[data-theme="dark"] .sam-app-shell .zai-chat-new-mobile{background:rgba(48, 63, 91, 0.82)}
html[data-theme="dark"] .sam-app-shell .zai-chat-workspace .zai-message{background:rgba(34, 49, 77, 0.86)}
html[data-theme="dark"] .sam-app-shell .zai-dialog-guide .zai-guide-label > span{background:linear-gradient(145deg,#343a46,#2e3d59)}
html[data-theme="dark"] .sam-app-shell .zai-compose-shortcuts button{background:rgba(48, 63, 91, 0.74)}
html[data-theme="dark"] .sam-app-shell .zai-composer-actions .zai-safety i{background:#27302c}
html[data-theme="dark"] .sam-app-shell .zai-chat-head-status.is-basic > span:first-child{background:#352c14}
html[data-theme="dark"] .sam-app-shell .zai-chat-v6 .zai-history-collapse{background:rgba(48, 63, 91, 0.7)}
html[data-theme="dark"] .sam-app-shell .zai-chat-v6 .zai-history-new{background:rgba(48, 63, 91, 0.86)}
html[data-theme="dark"] .sam-app-shell .zai-chat-v6 .zai-turn.user .zai-message{background:linear-gradient(135deg,var(--chat-tint),rgba(29, 45, 72, 0.96))}
html[data-theme="dark"] .sam-app-shell .zai-chat-v6 .assistant-prompts button{background:rgba(48, 63, 91, 0.72)}
html[data-theme="dark"] .sam-app-shell .zai-chat-v6 .zai-compose-shortcuts button{background:rgba(48, 63, 91, 0.72)}
html[data-theme="dark"] .sam-app-shell .zai-next-missing button{background:#2f2b25}
html[data-theme="dark"] .sam-app-shell .zai-chat-v6 .zai-brand-mark,html[data-theme="dark"] .sam-app-shell .zai-chat-v6 .zai-turn-avatar{background:#303f5b url('/assets/zai-avatars/xiaozai-sam.png?v=20260905-zai-v2') center/118% no-repeat !important}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-floating-plus{background:rgba(48, 63, 91, 0.09)}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-floating-collapse:hover{background:rgba(48, 63, 91, 0.12)}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-floating-avatar{background:#303f5b url('/assets/zai-avatars/xiaozai-sam.png?v=20260905-zai-v2') center/118% no-repeat !important}
html[data-theme="dark"] .sam-app-shell .sam-report-grid-popover .sam-report-grid-group-option.is-active{background:#081615}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-codex-send{background:#1c2947}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-file-item.failed .zai-file-kind{background:#352c1a}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-file-item.ready .zai-file-kind{background:#27302c}
html[data-theme="dark"] .sam-app-shell sam-assistant .zai-file-remove:hover{background:#362b2b !important}
html[data-theme="dark"] .formx input[type="date"],html[data-theme="dark"] .formx input[type="datetime-local"]{background:linear-gradient(180deg,#303f5b,color-mix(in srgb,var(--brand-bg) 34%,#303f5b)) !important}
html[data-theme="dark"] .role-data-notice{background:#2f2b25}
html[data-theme="dark"] .role-permission-state.is-unknown{background:#2f2b25}
html[data-theme="dark"] .bre-warning{background:#2f2b25}
html[data-theme="dark"] .audit-result.is-success{background:#27302c}
html[data-theme="dark"] .audit-result.is-failed{background:#362b2b}
html[data-theme="dark"] .sam-app-shell .sam-approval-ai-reference{background:linear-gradient(135deg,#2e3d59,#383b44)}
html[data-theme="dark"] body .approval-pagination .approval-page-buttons button[aria-current="page"]{background:color-mix(in srgb,var(--page-accent) 9%,#00132c)}
html[data-theme="dark"] .expense-ticket-main{background:radial-gradient(circle at 100% 0,rgba(49, 88, 199, 0.08),transparent 34%),#303f5b}
@media(max-width:767px){
html[data-theme="dark"] .mobile-more a{background:rgba(59, 61, 65, 0.82)}
}

/* ── 小Zai 对话工作区的表面层次（暗色专属，手写） ──────────────────────────
   v8 那层把侧栏、抬头、主区、输入区**全部**指向 var(--ds-surface)。亮色下这是
   「一张白纸 + 浅灰描边」，读起来干净；暗色下浅灰描边几乎看不见，于是整块塌成
   一个色，谁也分不出边界。

   层次是**向下**拉开的：内容区维持原表面，外围 chrome 与侧栏依次下沉。
   先试过反过来（把抬头和输入区抬亮），线上实测压在上面的既有次要文字掉到
   3.96–4.34:1——内容区的既有文字色全是按那个表面调的，抬亮它就等于破坏它们。
   现在这版用实测到的五个次要文字色回验过，每级最差 ≥4.6:1。 */
html[data-theme="dark"] .sam-app-shell .zai-chat-route sam-assistant :is(.zai-chat-v6,.zai-chat-v7,.zai-chat-v8) .zai-history{background:#11233d;border-right-color:#2c3e5b}
html[data-theme="dark"] .sam-app-shell .zai-chat-route sam-assistant :is(.zai-chat-v6,.zai-chat-v7,.zai-chat-v8) .zai-history>header,html[data-theme="dark"] .sam-app-shell .zai-chat-route sam-assistant :is(.zai-chat-v6,.zai-chat-v7,.zai-chat-v8) .zai-history>footer{background:#11233d;border-color:#2c3e5b}
html[data-theme="dark"] .sam-app-shell .zai-chat-route sam-assistant :is(.zai-chat-v6,.zai-chat-v7,.zai-chat-v8) .zai-history-search{background:#162741;border-color:#2c3e5b}
html[data-theme="dark"] .sam-app-shell .zai-chat-route sam-assistant :is(.zai-chat-v6,.zai-chat-v7,.zai-chat-v8) .zai-chat-head{background:#162741;border-bottom-color:#2c3e5b}
html[data-theme="dark"] .sam-app-shell .zai-chat-route sam-assistant :is(.zai-chat-v6,.zai-chat-v7,.zai-chat-v8) .zai-chat-main{background:#1d2d48}
html[data-theme="dark"] .sam-app-shell .zai-chat-route sam-assistant :is(.zai-chat-v6,.zai-chat-v7,.zai-chat-v8) .zai-workspace-composer,html[data-theme="dark"] .sam-app-shell .zai-chat-route sam-assistant :is(.zai-chat-v6,.zai-chat-v7,.zai-chat-v8) .zai-composer{background:#162741;border-top-color:#2c3e5b}
html[data-theme="dark"] .sam-app-shell .zai-chat-route sam-assistant :is(.zai-chat-v6,.zai-chat-v7,.zai-chat-v8) .zai-composer-card,html[data-theme="dark"] .sam-app-shell .zai-chat-route sam-assistant :is(.zai-chat-v6,.zai-chat-v7,.zai-chat-v8) .zai-input-tools{background:#1d2d48;border-color:#2c3e5b}

/* 欢迎页那颗徽标：底色被自动映射成了浅色品牌调，白色 ✦ 压上去只有 2.23:1。
   它是「品牌色实心块 + 白字」，暗色下该保持饱和而不是提亮。
   :is() 连写四遍同样是特异度垫高：胜出的亮色规则是
   `html .<系统> .zai-chat-v6 .zai-welcome .zai-orb`（0,4,1），单写一遍只有 (0,1,1)。 */
html[data-theme="dark"] :is(.zai-orb):is(.zai-orb):is(.zai-orb):is(.zai-orb){background:linear-gradient(145deg,#3c41ae,#1f2f98);border-color:rgba(255, 255, 255, 0.14)}


/* ── 当文字用、却没有暗色变体的颜色 token（Pass E10 生成） ─────────────
   --brand 修完之后，角色权限页线上仍然是 2.19:1——那条规则用的是 var(--role-accent)。
   判据：被用作 color、暗色作用域里没重新定义过、解析出来压在暗色表面上 < 4.5:1。
   逐定义点生成而不是写一条全局的，因为 --domain / --pv 按类别有 5–6 个不同取值，
   压平会毁掉区分。同时当背景用的走 --<token>-text 配对，只改文字用法。 */
html[data-theme="dark"] .business-role-dialog{--bre-ink:#a0a6ac}
html[data-theme="dark"] body :is(.cis-approval-list, .sam-app-shell) .approval-pagination{--page-accent-text:#959cff}
html[data-theme="dark"] body .cis-approval-list .approval-pagination{--page-accent-text:#ff7d7b}


/* ── 当文字用、却没有暗色变体的颜色 token（Pass E10 生成） ─────────────
   --brand 修完之后，角色权限页线上仍然是 2.19:1——那条规则用的是 var(--role-accent)。
   判据：被用作 color、暗色作用域里没重新定义过、解析出来压在暗色表面上 < 4.5:1。
   逐定义点生成而不是写一条全局的，因为 --domain / --pv 按类别有 5–6 个不同取值，
   压平会毁掉区分。另一半是「有暗色变体但不够用」的：Pass C 那批配对 token 的暗色值
   是按画布/卡面算的，压在抬起层上会掉到 3.3–3.8，这里按暗色实际取值复判后提亮。
   压平会毁掉区分。同时当背景用的走 --<token>-text 配对，只改文字用法。 */
html[data-theme="dark"] .role-workspace{--role-accent-text-text:#a498ff}
html[data-theme="dark"] .business-role-dialog{--role-accent-text-text:#a498ff}
html[data-theme="dark"] .audit-workspace,html[data-theme="dark"] .audit-dialog{--audit-accent-text-text:#a498ff}
html[data-theme="dark"]{--text-blue-strong5:#95a2e0}
html[data-theme="dark"]{--text-teal-strong2:#68b397}
html[data-theme="dark"]{--text-red-strong1:#ee888b}
html[data-theme="dark"]{--text-neutral-soft5:#94a9af}
html[data-theme="dark"]{--text-teal-soft5:#55b4b0}
html[data-theme="dark"]{--text-teal-base4:#54b694}
html[data-theme="dark"]{--text-red-soft4:#ff7d79}
html[data-theme="dark"]{--text-warn-base5:#d99846}
html[data-theme="dark"]{--text-red-base3:#ff7e70}
html[data-theme="dark"]{--text-blue-base10:#969cff}
html[data-theme="dark"]{--text-teal-base3:#5ab1bc}
html[data-theme="dark"]{--text-warn-soft7:#e5923c}
html[data-theme="dark"]{--text-blue-soft16:#b292ff}
html[data-theme="dark"]{--text-blue-strong7:#99a5c1}
html[data-theme="dark"]{--text-blue-base9:#989cff}
html[data-theme="dark"]{--text-blue-soft17:#8ba2f3}
html[data-theme="dark"]{--text-green-soft:#4cb78c}
html[data-theme="dark"]{--text-warn-soft6:#f58942}
html[data-theme="dark"]{--text-red-strong2:#fd7d89}
html[data-theme="dark"]{--text-neutral-strong2:#93a9b1}
html[data-theme="dark"]{--text-warn-strong1:#d29a69}
html[data-theme="dark"]{--text-blue-soft19:#95a4cc}
html[data-theme="dark"]{--text-blue-soft18:#8aa4e6}
html[data-theme="dark"]{--text-blue-base13:#8b9fff}
html[data-theme="dark"]{--text-neutral-base4:#8daab3}
html[data-theme="dark"]{--text-teal-strong1:#75afad}
html[data-theme="dark"]{--text-teal-soft6:#72b0ac}
html[data-theme="dark"]{--text-blue-strong1:#99a4c5}
html[data-theme="dark"]{--text-blue-strong3:#a399fe}
html[data-theme="dark"]{--text-neutral-strong1:#96a8af}
html[data-theme="dark"]{--text-blue-strong6:#969efa}
html[data-theme="dark"]{--text-blue-strong4:#96a4cb}
html[data-theme="dark"]{--text-blue-soft15:#74abd8}
html[data-theme="dark"]{--text-green-strong:#63b583}
html[data-theme="dark"]{--text-blue-base11:#92a5d0}
html[data-theme="dark"]{--text-neutral-base3:#8daab2}
html[data-theme="dark"]{--text-warn-strong3:#d79958}
html[data-theme="dark"]{--text-warn-base4:#c2a067}
html[data-theme="dark"]{--text-blue-soft14:#969cff}
html[data-theme="dark"]{--text-blue-base8:#85abb7}
html[data-theme="dark"]{--text-blue-strong2:#9f9ee6}
html[data-theme="dark"]{--text-green-base:#62b593}
html[data-theme="dark"]{--text-warn-strong2:#ec8c6c}
html[data-theme="dark"]{--text-blue-base12:#8aa3f0}

/* --ink-4 与 --ds-text-muted 的暗色值压在抬起层上也不够。它们被 E10 归为「双用」
   而没自动改，但逐处查过：各自只有 1 处当背景用——侧栏拖拽把手的 hover 填色、
   确认框列表的小圆点，上面都没有文字，提亮反而更对。文字用法则有 269–367 处。 */
html[data-theme="dark"]{--ink-4:#97a5bf;--ds-text-muted:#96a6c4}

/* 浮动助手输入区的快捷键提示原本是 52% 半透明文字，合成到暗底上只有 4.27–4.39:1。
   半透明文字的实际颜色取决于底色，静态检查按设计跳过 alpha<0.95 的情况，所以前面
   几个 Pass 都没覆盖到它——是线上逐元素实测才找出来的。这里换成不透明的次要文字色。 */
