/* 调频 / 运行 / 月报专属。cabin-c-page 是随页面销毁的隐藏标记，原节点、类名不变。
 * Alice app.css:223 .card/.card-h, :328 .tile, :399 .gauge；
 * views/sys.css:36 .sx-kpi；views/home.css:39 .hm-tile。间距适配 Flux 的 4px 网格。
 * 表格材质由 cabin-table.css 负责；这里仅负责业务列宽、分组和编辑格。 */
:root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) { min-width: 0; }
:root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) .cabin-c-page { display: none; }
:root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) :is(.workspace-content, #pg, #out, [data-time-render], .grid, .card) { min-width: 0; max-width: 100%; }
:root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) .grid { gap: 16px; }
:root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) .page-head { gap: 12px 16px; margin-bottom: 16px; }
:root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) .page-head :is(h1, h2) { font-weight: 700; letter-spacing: .5px; }
:root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) :is(.tools, .ex-head-filters, .module-window) { min-width: 0; max-width: 100%; }
:root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) .card { padding: 20px; border-radius: 16px; }
:root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) .card-h { gap: 8px 16px; margin-bottom: 16px; flex-wrap: wrap; align-items: center; }
:root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) .card-h h3 { font-size: 15px; line-height: 24px; font-weight: 700; white-space: normal; overflow-wrap: anywhere; }
:root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) .card-h .right { flex-wrap: wrap; gap: 8px 12px; min-width: 0; }
:root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) :is(.hint, .k-foot, .section-note, .note) { color: var(--ac-tx2); font-size: 12px; line-height: 20px; }
:root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) .card-h .hint { white-space: normal; overflow: visible; text-overflow: clip; }
:root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) .kpi { padding: 20px; min-height: 152px; overflow: visible; }
:root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) .kpi::before { content: ''; position: absolute; left: 20px; right: 20px; top: 0; height: 1px; background: linear-gradient(90deg, rgba(var(--ac-cy-rgb), .55), rgba(var(--ac-vi-rgb), .25) 45%, transparent); pointer-events: none; }
:root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) .k-label { color: var(--ac-tx2); font-size: 12px; line-height: 20px; letter-spacing: .5px; padding-right: 32px; min-height: 24px; }
:root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) .k-val { font: 700 28px/1.2 var(--mono); font-variant-numeric: tabular-nums; letter-spacing: 0; margin-top: 12px; white-space: normal; }
:root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) .k-val small { font: 500 12px/20px var(--mono); color: var(--ac-tx2); margin-left: 4px; }
:root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) .k-foot { display: block; margin-top: 12px; overflow-wrap: anywhere; }
:root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) .k-ico { width: 28px; height: 28px; top: 16px; right: 16px; border-radius: 8px; background: rgba(var(--ac-fg-rgb), .04); border: 1px solid var(--ac-glass-rim); color: var(--ac-tx2); }
:root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) .k-ico .i { width: 16px; height: 16px; }
/* 既有 k-val 的格式、单位及正负类原样保留；数字字体与 kit.number 同源。 */
:root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) .kpi:has(> .cabin-c-gauge) { display: grid; grid-template-columns: minmax(0, 1fr) 108px; gap: 8px; align-content: start; }
:root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) .kpi:has(> .cabin-c-gauge) .k-ico { display: none; }
:root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) .kpi:has(> .cabin-c-gauge) .k-label { grid-column: 1; padding-right: 0; align-self: end; }
:root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) .kpi:has(> .cabin-c-gauge) .k-val { grid-column: 1; margin-top: 0; align-self: start; font-size: 24px; }
:root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) .kpi:has(> .cabin-c-gauge) .k-foot { grid-column: 1 / -1; margin-top: 0; }
:root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) .kpi > .cabin-c-gauge { grid-column: 2; grid-row: 1 / 3; }
:root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) .cabin-c-gauge { min-width: 0; align-self: center; text-align: center; }
:root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) .cabin-c-gauge .ck-ring-value .ck-number { font-size: 20px; }
:root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) :is(.cabin-c-gauge-note, .cabin-c-range-error) { display: block; margin-top: 4px; font: 12px/20px var(--mono); color: var(--ac-tx2); overflow-wrap: anywhere; }
:root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) .cabin-c-range-error { color: var(--warn); }
:root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) .cabin-c-meter { margin-top: 16px; }
:root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) :is(.cabin-c-performance, .cabin-c-status-bars) { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-bottom: 16px; }
:root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) .cabin-c-reading { display: grid; grid-template-columns: minmax(0, 1fr) 108px; gap: 20px; padding: 20px; border: 1px solid var(--ac-glass-rim); border-radius: 16px; background: linear-gradient(160deg, rgba(var(--ac-fg-rgb), .10), rgba(var(--ac-fg-rgb), .02)), var(--ac-glass-2); box-shadow: inset 0 1px 0 var(--ac-glass-hi); backdrop-filter: blur(var(--ac-glass-blur-s)) saturate(var(--ac-glass-sat)); }
:root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) .cabin-c-reading-body { display: grid; gap: 8px; min-width: 0; align-content: center; }
:root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) .cabin-c-reading-note { font-size: 12px; line-height: 20px; color: var(--ac-tx2); overflow-wrap: anywhere; }
:root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) .cabin-c-status-bars { grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 16px 20px; border: 1px solid var(--ac-glass-rim); border-radius: 12px; background: var(--cabin-data-surface); }
/* 说明不省略，空态沿用 Alice .empty 的留白，不以 0 代替缺数。 */
:root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) :is(.note, .section-note, .rule) { overflow-wrap: anywhere; }
:root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) .note { padding: 12px 16px; border-radius: 12px; }
:root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) .rule { margin-top: 16px; }
:root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) .rule summary { min-height: 36px; line-height: 20px; padding: 8px 0; color: var(--ac-tx2); }
:root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) .empty { padding: 28px 12px; min-height: 112px; font-size: 13px; line-height: 24px; color: var(--ac-tx2); gap: 8px; }
/* 业务表仅调整分组与编辑格，不覆盖公共表格底色和滚动器。 */
:root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) .table-wrap { max-width: 100%; min-width: 0; }
:root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) #rt :is(th, td):is(:nth-child(3), :nth-child(5), :nth-child(8), :nth-child(13), :nth-child(15), :nth-child(17), :nth-child(19)) { border-left: 1px solid var(--ac-line2); }
:root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) #rt th { min-width: 100px; }
:root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) #rt :is(th, td):first-child { min-width: 72px; }
:root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) #rt .input { height: 36px !important; min-width: 96px; border-radius: 8px; font: 500 14px/20px var(--mono); }
:root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) #rt .input:focus { outline: 2px solid rgba(var(--ac-cy-rgb), .5); outline-offset: 2px; }
:root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) .refer-overview { align-items: stretch; }
:root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) .refer-notes { min-width: 0; }
:root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) .refer-note-text { line-height: 20px; }
:root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) #t-rank th { min-width: 120px; }
:root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) #t-rank th:nth-child(3) { min-width: 176px; }
:root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) #t-rank :is(th, td):is(:nth-child(5), :nth-child(10), :nth-child(13)) { border-left: 1px solid var(--ac-line2); }
@media (min-width: 701px) and (max-width: 1100px) {
  :root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) .grid.g4:has(.cabin-c-gauge) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1100px) {
  :root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) :is(.grid.g5, .cabin-c-status-bars) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  :root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) :is(.grid.g2, .grid.g3, .grid.g4, .grid.g5, .grid.g-3-2, .cabin-c-performance, .cabin-c-status-bars) { grid-template-columns: minmax(0, 1fr); }
  :root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) :is(.card, .kpi, .cabin-c-reading) { padding: 16px; }
  :root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) .kpi { min-height: 132px; }
  :root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) .k-val { font-size: 26px; }
  :root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) .card-h { align-items: flex-start; }
  :root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) .card-h .right { margin-left: 0; width: 100%; }
  :root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) .card-h .btn { min-height: 40px; }
  :root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) #rt .input { height: 40px !important; }
  :root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) :is(.field, .field > .input) { max-width: 100%; min-width: 0; }
}

/* 缺失日保留独立选日入口，空图缩短，下一块真实统计仍可在首屏读到。 */
:root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page[data-page="aux/soc"]) :is(#day, #fc):has(> .empty) .chart { height: 96px; min-height: 96px; }
:root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) [data-time-render] > .grid { margin-bottom: 16px; }
:root[data-skin="alice"][data-theme][data-palette] #view.view:has(.cabin-c-page) :is(.module-window, .ex-head-filters) { background: var(--cabin-data-surface); border: 1px solid var(--ac-glass-rim); border-radius: 12px; box-shadow: inset 0 1px 0 var(--ac-glass-hi); padding: 8px 12px; }
:root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) .fm-demand-pending { padding: 12px; }
:root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) .fm-demand-pending-file { background: var(--cabin-data-surface); border: 1px solid var(--ac-glass-rim); box-shadow: inset 0 1px 0 var(--ac-glass-hi); }
:root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page) .chart-time [data-window] { color: var(--ac-tx2); }
/* 月报长电厂名保留，窄屏横轴留出宽度；只改容器尺寸，不改图表序列。 */
@media (min-width: 1101px) and (max-width: 1600px) {
  :root[data-skin="alice"][data-theme][data-palette] .view:has(.cabin-c-page[data-page="fm/monthly"]) .grid.g-3-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
