/* Q2-01 角色管理：摘要与表格恢复上下排列，消除旧 role-list 横向 flex 留下的窄长摘要栏。 */
:root[data-skin="alice"][data-theme][data-palette] body .ops-system .role-list {
  display: block;
  min-height: 0;
}

/* Q2-02 AI 运营页：日期标签不挤成两行；手机收益卡单列，金额与单位保留完整阅读宽度。 */
:root[data-skin="alice"] .cx .cx-date-control > label {
  flex: none;
  white-space: nowrap;
}
:root[data-skin="alice"] .cx .cx-revenue-title { flex-wrap: wrap; }
:root[data-skin="alice"] .cx .cx-revenue-title > span { white-space: nowrap; }
@media (max-width: 700px) {
  :root[data-skin="alice"][data-theme][data-palette] body .cx .cx-revenues {
    grid-template-columns: minmax(0, 1fr);
  }
  :root[data-skin="alice"] .cx .cx-date-control {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) 36px 36px;
    width: 100%;
    gap: 8px;
  }
  :root[data-skin="alice"] .cx .cx-date-control > input { width: 100%; min-width: 0; max-width: none; }
  :root[data-skin="alice"] .cx .cx-date-control > .primary { grid-column: 1 / -1; justify-content: center; width: 100%; margin-left: 0; }
}

/* Q2-03 系统管理、数据管理及 AI 阶段导航：表单和交互面板保持平面，悬停只留边缘微光。 */
:root[data-skin="alice"][data-theme][data-palette][data-dim="space"] body .ops-page .card:has(:is(input, select, textarea, .imp-drop-in, .module-option)),
:root[data-skin="alice"][data-theme][data-palette][data-dim="space"] body .cx .co-stepper,
:root[data-skin="alice"][data-theme][data-palette][data-dim="space"] body #view .card:has(.du-actions) {
  transform: none !important;
  animation: none !important;
}
:root[data-skin="alice"][data-theme][data-palette][data-dim="space"] body .ops-page .card.dim-hot:has(:is(input, select, textarea, .imp-drop-in, .module-option)),
:root[data-skin="alice"][data-theme][data-palette][data-dim="space"] body .cx .co-stepper.dim-hot,
:root[data-skin="alice"][data-theme][data-palette][data-dim="space"] body #view .card.dim-hot:has(.du-actions) {
  box-shadow: inset 0 1px 0 var(--ac-glass-hi), 0 0 16px -8px rgba(var(--ac-cy-rgb), .3);
}

/* Q2-04 侧栏与顶栏：站名、快捷键和身份说明提高对比度；亮色 AI 页的小卡不再继承暗色金额底。 */
:root[data-skin="alice"][data-theme][data-palette] body :is(#cabin-station, .cabin-company > span, .topbar kbd, .topbar .user-chip .rl) {
  color: var(--ac-tx2);
  opacity: 1;
}
:root[data-skin="alice"] .topbar .avatar { background: var(--ac-glass-1); color: var(--ac-tx); box-shadow: inset 0 0 0 1px var(--ac-glass-rim); }
:root[data-skin="alice"][data-theme="light"] body .cabin-side {
  background: linear-gradient(160deg, rgba(255,255,255,.76), rgba(255,255,255,.48));
  color: var(--ac-tx);
}
:root[data-skin="alice"] :is(.ct-source, .ct-count, .ct-list-head span, .ct-item small) { color: var(--ac-tx); }
:root[data-skin="alice"] .ct-list { background: linear-gradient(160deg, rgba(var(--ac-fg-rgb),.06), transparent), var(--ac-glass-1); }
:root[data-skin="alice"][data-theme][data-palette] body .topbar :is(.cabin-status-cell > span, #cabin-status-more summary, .ai-btn .ph, kbd, .user-chip .rl) {
  color: color-mix(in srgb, var(--ac-tx) 88%, var(--ac-tx2));
}
:root[data-skin="alice"][data-theme="light"] body .cabin-side .cabin-side-warn { color: #934700; }
:root[data-skin="alice"][data-theme="light"] body .cabin-side .cabin-side-warn :is(.ck-number, span, small) { color: inherit !important; }

/* Q2-05 首页：日期、单位和来源说明用更清晰的次级文字；沿用 Alice home 的 12px/20px 层级。 */
:root[data-skin="alice"][data-theme][data-palette] body .home-page :is(.home-date, .home-label, .home-note, .home-station-meta, .home-panel-foot, #home-chart-range, .home-heading-main > span, .home-section-head > div > span:not(.home-section-index)) {
  color: color-mix(in srgb, var(--ac-tx) 88%, var(--ac-tx2));
}
:root[data-skin="alice"][data-theme="light"] body .home-page :is(.cabin-launch, .home-section-index) { color: var(--ac-tx); }
:root[data-skin="alice"][data-theme][data-palette] body :is(.cabin-welcome #cabin-asset, .home-page .home-station-meta span, .home-page .cabin-home-coverage .ck-bar-meta) {
  color: color-mix(in srgb, var(--ac-tx) 88%, var(--ac-tx2));
}
:root[data-skin="alice"][data-theme="light"][data-palette] body .cabin-welcome .cabin-launch { color: var(--ac-tx); }

/* Q2-06 AI 收益与校验：还原主题玻璃及文字层级，语义数字仅在自身垫深色玻璃，保持原涨跌色。 */
:root[data-skin="alice"][data-theme][data-palette] body .cx :is(.co-metric, .cx-revenue, .co-soc-panel) {
  background: linear-gradient(160deg, rgba(var(--ac-fg-rgb),.04), transparent), var(--ac-glass-2) !important;
  --ac-tx: inherit;
  --ac-tx2: inherit;
  --ac-tx3: inherit;
  --ac-glass-rim: inherit;
  --ac-glass-hi: inherit;
  --tx: var(--ac-tx);
  --tx-2: var(--ac-tx2);
  --tx-3: var(--ac-tx2);
  --x-text: var(--ac-tx);
  --x-sub: var(--ac-tx2);
  --x-mute: var(--ac-tx2);
  --ai-text: var(--ac-tx);
  --ai-text-2: var(--ac-tx2);
  --ai-text-3: var(--ac-tx2);
  --ai-ink-primary: var(--ac-tx);
  --ai-ink-secondary: var(--ac-tx2);
  --ai-ink-muted: var(--ac-tx2);
  --cai-sub: color-mix(in srgb, var(--ac-tx) 88%, var(--ac-tx2));
  color: var(--ac-tx);
  border-color: var(--ac-glass-rim);
  box-shadow: inset 0 1px 0 var(--ac-glass-hi);
}
:root[data-skin="alice"][data-theme][data-palette] body .cx .co-soc-panel :is(.co-brief-grid article, .cx-note, .co-warnings) {
  background: linear-gradient(160deg, rgba(var(--ac-fg-rgb),.04), transparent), var(--ac-glass-2);
  color: var(--ac-tx);
}
:root[data-skin="alice"][data-theme][data-palette] body .cx :is(.co-stage em, .co-stage small, .fa-badge b) {
  color: var(--ac-tx);
  background: transparent !important;
}
:root[data-skin="alice"][data-theme][data-palette] body .cx .fa-banner .fa-badge b { color: var(--ac-tx); background: transparent; }
:root[data-skin="alice"][data-theme][data-palette] body .cx .cx-pill:not(.amber):not(.green) { color: var(--ac-tx); }

/* Q2-07 每日要点浮窗：金额单位对齐，引用说明不被挤成竖列；手机输入提示完整显示。 */
:root[data-skin="alice"] #ai-drawer[data-cabin-float] .ct-metrics strong {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 4px;
  font-size: 22px;
}
:root[data-skin="alice"] #ai-drawer[data-cabin-float] .ct-metrics strong b { white-space: nowrap; }
:root[data-skin="alice"] #ai-drawer[data-cabin-float] .ct-metrics strong small { margin-left: 0; white-space: nowrap; }
:root[data-skin="alice"] #ai-drawer[data-cabin-float] .ai-ctx { flex-wrap: wrap; gap: 4px 8px; line-height: 20px; }
:root[data-skin="alice"] #ai-drawer[data-cabin-float] .ai-ctx .check { flex: none; white-space: nowrap; }
:root[data-skin="alice"] #ai-drawer[data-cabin-float] #ai-page { min-width: 0; color: var(--ac-tx2); overflow-wrap: anywhere; }
:root[data-skin="alice"] #ai-drawer[data-cabin-float] #ai-q::placeholder { color: var(--ac-tx2); opacity: 1; }
:root[data-skin="alice"] #ai-drawer[data-cabin-float] .ct-followups button { max-width: 100%; text-align: left; overflow-wrap: anywhere; }
@media (max-width: 560px) {
  :root[data-skin="alice"] #ai-drawer[data-cabin-float] #ai-q { min-width: 0; min-height: 80px; padding: 8px; line-height: 20px; }
  :root[data-skin="alice"] #ai-drawer[data-cabin-float] .ai-input { align-items: center; }
  :root[data-skin="alice"] #ai-drawer[data-cabin-float] #ai-page { flex-basis: 100%; }
}

/* Q2-08 数据管理：独立页面的执行说明与摘要跟随系统页正文层级，避免淡灰字透入背景。 */
:root[data-skin="alice"] #view:has(#du-run) :is(.hint, .du-run-state, .du-step-grid p) {
  color: color-mix(in srgb, var(--ac-tx) 88%, var(--ac-tx2));
}

/* P1-01 AI 四页：解除旧 AI 深色数字层覆盖，摘要、关注列表和阶段内片共用首页玻璃。 */
:root[data-skin="alice"][data-theme][data-palette] body .cx {
  --cabin-data-surface: linear-gradient(160deg, rgba(var(--ac-fg-rgb), .045), rgba(var(--ac-fg-rgb), .008)), color-mix(in srgb, var(--ac-glass-3) 58%, transparent);
  --cai-sub: color-mix(in srgb, var(--ac-tx) 88%, var(--ac-tx2));
}
:root[data-skin="alice"][data-theme][data-palette] body .cx :is(.cd-attention-list, .cx-scene-stats, .co-metric, .cx-revenue, .co-soc-panel) {
  --cabin-data-surface: inherit;
  --ac-tx: inherit;
  --ac-tx2: inherit;
  --ac-tx3: inherit;
  --ac-glass-rim: inherit;
  --ac-glass-hi: inherit;
  --tx: var(--ac-tx);
  --tx-2: var(--cai-sub);
  --tx-3: var(--cai-sub);
  --x-text: var(--ac-tx);
  --x-sub: var(--cai-sub);
  --x-mute: var(--cai-sub);
  --ai-text: var(--ac-tx);
  --ai-text-2: var(--cai-sub);
  --ai-text-3: var(--cai-sub);
  --ai-ink-primary: var(--ac-tx);
  --ai-ink-secondary: var(--cai-sub);
  --ai-ink-muted: var(--cai-sub);
  --cai-sub: inherit;
  color: var(--ac-tx);
}
:root[data-skin="alice"][data-theme][data-palette] body .cx :is(.cd-attention-list, .cx-scene-stats, .co-metric, .cx-revenue, .co-soc-panel, .co-brief-grid article, .co-warnings, .co-summary-attention, .cx-note, .co-node, .cd-trace li, .fa-fact, .fa-next, .fa-chip) {
  background: var(--cabin-data-surface) !important;
  border-color: var(--ac-glass-rim);
  box-shadow: inset 0 1px 0 var(--ac-glass-hi);
  backdrop-filter: blur(var(--ac-glass-blur-s)) saturate(var(--ac-glass-sat));
  -webkit-backdrop-filter: blur(var(--ac-glass-blur-s)) saturate(var(--ac-glass-sat));
}
:root[data-skin="alice"][data-theme][data-palette] body .cx :is(.co-node, .co-stage em, .co-warnings, .co-summary-attention) { color: var(--ac-tx); }
:root[data-skin="alice"][data-theme][data-palette] body .cx :is(.cd-source, .cd-kpi-meta, .cd-attention-list small, .cx-date-control > label, .cx-live, .cx-summary-note, .cx-card-foot, .cx-disclaimer, .co-activity-note, .co-stage small, .co-progress, .co-progress > span:first-child, .co-brief-grid p, .co-metric p, .cx-revenue p, .cx-revenue-date, .fa-copy p) { color: var(--cai-sub); }

/* P1-02 AI 四页：场景与指标、摘要与流程均使用 16px 间隔；金额保留原红绿，仅数字局部加深玻璃。 */
:root[data-skin="alice"][data-theme][data-palette] body .cx :is(.cd-dashboard, .cd-main, .cd-kpis, .cd-detail-grid, .co-data-layout, .co-metrics, .cx-revenues, .cx-suggestions, .co-brief-grid) { gap: 16px; }
:root[data-skin="alice"][data-theme][data-palette] body .cx .co-stepper { margin-bottom: 16px; }
:root[data-skin="alice"][data-theme][data-palette] body .cx .cx-hero > .cx-revenues { margin-top: 16px; }
:root[data-skin="alice"][data-theme][data-palette] body .cx .cd-station .cx-scene-card { margin: 0 16px 16px; border-radius: 12px; }

/* P1-03 首页：日期/来源/图表时间说明提高对比度，内外卡片和区间条采用 16px 节奏及玻璃底。 */
:root[data-skin="alice"][data-theme][data-palette] body .home-page :is(.home-date, .home-note, .home-panel-foot, .chart-time-line, .chart-time-label, .home-time-label, .home-time-info, .dim, .muted, .ck-bar-label, .metric-unit) {
  color: color-mix(in srgb, var(--ac-tx) 88%, var(--ac-tx2));
}
:root[data-skin="alice"][data-theme][data-palette] body .home-page :is(.home-settlements, .home-fm-grid) { gap: 16px; }
:root[data-skin="alice"][data-theme][data-palette] body .home-page .home-contract { margin-top: 16px; }
:root[data-skin="alice"][data-theme][data-palette] body .home-page .home-three { padding: 16px; gap: 16px; }
:root[data-skin="alice"][data-theme][data-palette] body .home-page #home-time {
  background: var(--cabin-data-surface);
  border: 1px solid var(--ac-glass-rim);
  border-radius: 12px;
  padding: 8px 12px;
  gap: 8px 12px;
  box-shadow: inset 0 1px 0 var(--ac-glass-hi);
  backdrop-filter: blur(var(--ac-glass-blur-s)) saturate(var(--ac-glass-sat));
  -webkit-backdrop-filter: blur(var(--ac-glass-blur-s)) saturate(var(--ac-glass-sat));
}
:root[data-skin="alice"][data-theme][data-palette] body .home-page #home-time .seg button.on {
  color: var(--ac-tx);
  background: rgba(var(--ac-cy-rgb), .14);
  border-color: rgba(var(--ac-cy-rgb), .6);
  box-shadow: inset 0 1px 0 var(--ac-glass-hi);
}

/* P1-04 数据管理：说明文字和到位日期用清晰次级色，分类卡间距固定 16px，长目录独立换行且保留全文。 */
:root[data-skin="alice"][data-theme][data-palette] body :is(.ops-assets, .ops-import) {
  --ops-muted: color-mix(in srgb, var(--ac-tx) 88%, var(--ac-tx2));
}
:root[data-skin="alice"][data-theme][data-palette] body :is(.ops-assets, .ops-import) .grid { gap: 16px; }
:root[data-skin="alice"][data-theme][data-palette] body .ops-assets #pg > .card + .card { margin-top: 16px; }
:root[data-skin="alice"][data-theme][data-palette] body .ops-import :is(.import-section:not(:empty), .import-section + .card) { margin-top: 16px; }
:root[data-skin="alice"][data-theme][data-palette] body .ops-import #auto .auto-line { align-items: baseline; }
:root[data-skin="alice"][data-theme][data-palette] body .ops-import #auto .auto-line > code {
  flex: 1 0 100%;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
  padding: 8px 12px;
  font: 12px/20px var(--mono);
  color: var(--ops-muted);
  background: var(--cabin-data-surface);
  border: 1px solid var(--ac-glass-rim);
  border-radius: 8px;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
}

/* P1-05 系统管理：去掉整页旧面板外壳，保留真实内容卡片与表单层级，字段说明使用清晰次级色。 */
:root[data-skin="alice"][data-theme][data-palette] body .view.admin-view.ops-system {
  background: transparent;
  border: 0;
  box-shadow: none;
  border-radius: 0;
  min-height: 0;
  margin: 0;
  width: 100%;
  padding: 16px 16px 96px;
  --ops-muted: color-mix(in srgb, var(--ac-tx) 88%, var(--ac-tx2));
  --tx-2: var(--ops-muted);
  --tx-3: var(--ops-muted);
}
:root[data-skin="alice"][data-theme][data-palette] body .ops-system :is(.page-head .sub, .field small, .settings-actions .dim, .module-option small) { color: var(--ops-muted); }
@media (max-width: 700px) {
  :root[data-skin="alice"][data-theme][data-palette] body .view.admin-view.ops-system { padding: 12px 8px 96px; }
}

/* P1-06 审计日志：仅类别列保留单行与最小宽度，详情列继续正常换行。 */
:root[data-skin="alice"][data-theme][data-palette] body .ops-system:has(#cat) .tbl :is(th, td):nth-child(3) {
  min-width: 104px;
  width: 104px;
  white-space: nowrap;
}
:root[data-skin="alice"][data-theme][data-palette] body .ops-system:has(#cat) .tbl td:nth-child(3) .tag {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  max-width: none;
}
:root[data-skin="alice"][data-theme][data-palette] body .ops-system:has(#cat) .tbl td:nth-child(6) {
  white-space: normal;
  overflow-wrap: anywhere;
  min-width: 240px;
}

/* P1-07 同页补充：审计对象长标识允许折行，避免把详情挤出视野；首页跟随时间与覆盖条说明不再淡灰。 */
:root[data-skin="alice"][data-theme][data-palette] body .ops-system:has(#cat) .tbl td:nth-child(5) {
  max-width: 240px;
  white-space: normal;
  overflow-wrap: anywhere;
}
:root[data-skin="alice"][data-theme][data-palette] body .home-page :is(.chart-time-line > span, .ck-bar-meta > span, .home-metric .metric-unit) {
  color: color-mix(in srgb, var(--ac-tx) 88%, var(--ac-tx2));
}

/* P1-08 同页对比度补充：预测来源/计划说明、图例和收益口径避开空间亮线。 */
:root[data-skin="alice"][data-theme][data-palette] body .cx :is(.cd-badge, .co-metric > span, .cx-pill.amber, .cx-pill.green) { color: var(--cai-sub); }
:root[data-skin="alice"][data-theme][data-palette] body .cx .cabin-ai-basis {
  background: var(--cabin-data-surface);
  border-radius: 8px;
  backdrop-filter: blur(var(--ac-glass-blur-s));
  -webkit-backdrop-filter: blur(var(--ac-glass-blur-s));
}
:root[data-skin="alice"][data-theme="dark"][data-palette] body .cx :is(.cd-chart, .cx-chart, .co-chart) {
  background: rgba(var(--ac-s-080c1c), .32);
  border-radius: 8px;
  backdrop-filter: blur(var(--ac-glass-blur-s));
  -webkit-backdrop-filter: blur(var(--ac-glass-blur-s));
}
:root[data-skin="alice"][data-theme][data-palette] body .home-page :is(.ck-flow small, .cabin-home-coverage .ck-bar-meta > span) {
  color: color-mix(in srgb, var(--ac-tx) 88%, var(--ac-tx2));
}

/* P1-09 数据管理同页入口：AI 解读是可用操作，采用次级正文对比度，不伪装成禁用状态。 */
:root[data-skin="alice"][data-theme][data-palette] body :is(.ops-assets, .ops-import) .ask-page {
  color: var(--ops-muted);
  opacity: 1;
}

/* P1-10 AI 同页底部：无数据说明、计划参数和流程记录保持可读，不把缺数据显示为零。 */
:root[data-skin="alice"][data-theme][data-palette] body .cx :is(.empty, .cd-inline-metrics, .cd-inline-metrics > span, .co-activity li span, .co-activity li em, .co-activity .cx-eyebrow) { color: var(--cai-sub); }

/* P1-11 AI 页底部口径与加载说明：玻璃托底防止空间高光穿字，统一关注摘要的来源色。 */
:root[data-skin="alice"][data-theme][data-palette] body .cx :is(.cx-loading, .cd-inline-metrics *) { color: var(--cai-sub); }
:root[data-skin="alice"][data-theme][data-palette] body .cx .cx-disclaimer {
  padding: 12px 16px;
  border-radius: 12px;
  background: var(--cabin-data-surface);
  backdrop-filter: blur(var(--ac-glass-blur-s));
  -webkit-backdrop-filter: blur(var(--ac-glass-blur-s));
}

/* P1-12 阶段小图标：状态继续由边框和文字表达，亮色勾号/序号使用正文色保证可辨。 */
:root[data-skin="alice"][data-theme][data-palette] body.ex-ai-mode .cx .co-stage .co-node { color: var(--ac-tx); }

/* P1-13 同页标签补充：阶段待到位胶囊恢复亮色玻璃，进度标题、横幅事实与校验入口提升对比度。 */
:root[data-skin="alice"][data-theme][data-palette] body .cx :is(.cx-pill.amber, .cx-pill.green) { background: var(--cabin-data-surface) !important; }
:root[data-skin="alice"][data-theme][data-palette] body .cx :is(.fa-fact > span, .fa-fact small, .fa-chip > span, .ck-bar-caption > span, .cd-open) { color: var(--cai-sub); }
:root[data-skin="alice"][data-theme][data-palette] body .home-page .ck-bar-caption > span { color: color-mix(in srgb, var(--ac-tx) 88%, var(--ac-tx2)); }

/* P1-14 AI 阶段横幅：与下一块内容保持 16px，去掉策略和简报页继承的 6px 紧贴间隔。 */
:root[data-skin="alice"][data-theme][data-palette] body .cx .fa-banner { margin-bottom: 16px; }

/* P1-15 同页复核：策略标题和首页坐标避免空间亮点穿字，审计结果短标签与类别一样保持单行。 */
:root[data-skin="alice"][data-theme][data-palette] body .cx #co-pane-strategy > .co-pane-body > .co-pane-heading {
  padding: 12px 16px;
  border-radius: 12px;
  background: var(--cabin-data-surface);
  backdrop-filter: blur(var(--ac-glass-blur-s));
  -webkit-backdrop-filter: blur(var(--ac-glass-blur-s));
}
:root[data-skin="alice"][data-theme="dark"][data-palette] body .home-page .home-price .chart {
  background: rgba(var(--ac-s-080c1c), .32);
  border-radius: 8px;
  backdrop-filter: blur(var(--ac-glass-blur-s));
  -webkit-backdrop-filter: blur(var(--ac-glass-blur-s));
}
:root[data-skin="alice"][data-theme][data-palette] body .ops-system:has(#cat) .tbl :is(th, td):nth-child(8) { min-width: 72px; }
:root[data-skin="alice"][data-theme][data-palette] body .ops-system:has(#cat) .tbl td:nth-child(8) .tag { white-space: nowrap; }

/* P1-16 AI 横幅和测算说明：品牌名称与金额上方说明使用正文次级色，保留状态点和金额原色。 */
:root[data-skin="alice"][data-theme][data-palette] body .cx :is(.fa-badge > span, .cx-card-summary > div > span) { color: var(--cai-sub); }

/* P1-17 AI 阶段与简报：既有玻璃面板补足模糊，防止动态星点正好穿过标题笔画。 */
:root[data-skin="alice"][data-theme][data-palette] body .cx :is(.fa-banner, #co-pane-brief > .co-pane-body) {
  backdrop-filter: blur(var(--ac-glass-blur-s)) saturate(var(--ac-glass-sat));
  -webkit-backdrop-filter: blur(var(--ac-glass-blur-s)) saturate(var(--ac-glass-sat));
}

/* P1-18 AI 来源时间：动态星点经过时也能读清快照/生成时间，胶囊沿用同档玻璃。 */
:root[data-skin="alice"][data-theme][data-palette] body .cx .ck-live {
  background: var(--cabin-data-surface);
  backdrop-filter: blur(var(--ac-glass-blur-s)) saturate(var(--ac-glass-sat));
  -webkit-backdrop-filter: blur(var(--ac-glass-blur-s)) saturate(var(--ac-glass-sat));
}

/* Z1-01 行情手机页签：最后一项完整换行，保留原有按钮及选中态。 */
@media (max-width: 700px) {
  :root[data-skin="alice"] body:not(.ex-ai-mode) #view.market-view .ex-page-head .ex-head-nav,
  :root[data-skin="alice"] body:not(.ex-ai-mode) #view.market-view .ex-page-head .ex-head-nav > .tabs {
    flex-wrap: wrap;
    flex-shrink: 1;
    max-width: 100%;
  }
}

/* Z1-02 管理与结算表：沿用本身的滚动容器，表头单行。
 * 手机每屏两整列；容器单位跟随实际内宽，不依赖视口或固定侧栏宽度。
 * 列数只对应现有用户、角色、审计、结算汇总表，不干预逐日表的 JS 列网格。 */
:root[data-skin="alice"][data-theme][data-palette] body #view:is(:has(.user-list), :has(.role-list), :has(#cat), :has(.settle-overview)) .table-wrap {
  min-width: 0;
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-x: contain;
}
:root[data-skin="alice"][data-theme][data-palette] body #view:is(:has(.user-list), :has(.role-list), :has(#cat), :has(.settle-overview)) .tbl thead th {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
}
@media (max-width: 700px) {
  :root[data-skin="alice"] .user-list { --z1-columns: 7; }
  :root[data-skin="alice"] .role-list { --z1-columns: 6; }
  :root[data-skin="alice"] .ops-system:has(#cat) { --z1-columns: 8; }
  :root[data-skin="alice"] .settle-overview { --z1-columns: 4; }
  :root[data-skin="alice"][data-theme][data-palette] body #view :is(.user-list, .role-list, .settle-overview) .table-wrap,
  :root[data-skin="alice"][data-theme][data-palette] body #view.ops-system:has(#cat) .table-wrap {
    container-type: inline-size;
    scroll-snap-type: x mandatory;
    scrollbar-width: auto;
    scrollbar-color: var(--ac-tx2) var(--cabin-data-surface);
  }
  :root[data-skin="alice"][data-theme][data-palette] body #view :is(.user-list, .role-list, .settle-overview) .tbl,
  :root[data-skin="alice"][data-theme][data-palette] body #view.ops-system:has(#cat) .tbl {
    table-layout: fixed;
    width: calc(50cqw * var(--z1-columns));
    min-width: 100%;
    max-width: none;
  }
  :root[data-skin="alice"][data-theme][data-palette] body #view :is(.user-list, .role-list, .settle-overview) .tbl :is(th, td),
  :root[data-skin="alice"][data-theme][data-palette] body #view.ops-system:has(#cat) .tbl :is(th, td) {
    width: auto;
    min-width: 0;
    max-width: none;
    padding: 8px 12px;
  }
  :root[data-skin="alice"][data-theme][data-palette] body #view :is(.user-list, .role-list, .settle-overview) .tbl th,
  :root[data-skin="alice"][data-theme][data-palette] body #view.ops-system:has(#cat) .tbl th { scroll-snap-align: start; }
  :root[data-skin="alice"][data-theme][data-palette] body #view :is(.user-list, .role-list) .tbl td,
  :root[data-skin="alice"][data-theme][data-palette] body #view.ops-system:has(#cat) .tbl td {
    white-space: normal;
    overflow-wrap: anywhere;
  }
}

/* Z1-03 整页空状态：Alice app.css .empty 的居中布局与 32px 图标。
 * 留白按 4px 网格调整；沿用玻璃卡片和页面进场，柔光不新增持续动画。 */
:root[data-skin="alice"][data-theme][data-palette] body #view > .card:only-child:has(> .empty:only-child:not(.load-fail)) {
  padding: 0;
  min-height: 0;
}
:root[data-skin="alice"][data-theme][data-palette] body #view > .card:only-child > .empty:only-child:not(.load-fail) {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 128px;
  padding: 24px;
  color: var(--ac-tx);
  font-size: 14px;
  line-height: 24px;
}
:root[data-skin="alice"][data-theme][data-palette] body #view > .card:only-child > .empty:only-child:not(.load-fail) > svg {
  flex: none;
  width: 32px;
  height: 32px;
  margin: 0;
  color: var(--ac-tx);
  stroke: currentColor;
  opacity: 1;
  filter: drop-shadow(0 0 8px rgba(var(--ac-cy-rgb), .32));
}

/* Z1-04 原生控件显式跟随智能舱明暗（Alice theme.css:37、72）。 */
:root[data-skin="alice"][data-theme="dark"] { color-scheme: dark; }
:root[data-skin="alice"][data-theme="light"] { color-scheme: light; }

/* Z1-03 补充：后台未启用页撤掉铺满视口的外层底板，只保留紧凑空状态卡。 */
:root[data-skin="alice"][data-theme][data-palette] body #view.admin-view:has(> .card:only-child > .empty:only-child:not(.load-fail)) {
  min-height: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

/* Z1-01 亮色页签：选中项在实际壁纸合成底上使用正文色，保留青色选中线。 */
:root[data-skin="alice"][data-theme="light"] body:not(.ex-ai-mode) #view.market-view .ex-page-head .ex-head-nav > .tabs > .on {
  color: var(--ac-tx);
}
