/* ---------- Analytics sub-pages (30 Oct). Shared heat map, trend line, repair bars and strips stay in pages-alarms.css. ---------- */
.an-score{display:flex;flex-direction:column;gap:var(--space-2)}
.an-score .sv{font:var(--font-stat);color:var(--text-primary)}
.tbl-trend tr.an-grp td{background:var(--surface-group)}
.tbl-trend tr.an-grp + tr td.cell-title,.tbl-trend tr.an-grp ~ tr:not(.an-grp) td.cell-title{padding-left:var(--space-24)}
.tbl-worse td.num:first-child{width:var(--space-32)}
.an-scope .toolbar > .note{align-self:center}
/* KPI measures: a grid of cells separated by rules, inside one region (no cards inside cards) */
.kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(calc(var(--space-48) * 6.5),1fr));gap:0;border-top:var(--line)}
.kpi{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-12) var(--space-16);border-bottom:var(--line);border-right:var(--line);min-width:0}
.kpi .kh{display:flex;align-items:baseline;gap:var(--space-8)}
.kpi .kl{font:var(--font-emphasis);color:var(--text-primary)}
.kpi .kw{margin-left:auto;font:var(--font-label);color:var(--text-secondary)}
.kpi .kd{font:var(--font-metadata);color:var(--text-tertiary)}
.kpi .kvrow{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--space-4) var(--space-8);margin-top:var(--space-4)}
.kpi .kv-num{font:var(--font-kpi);color:var(--text-primary)}
.kpi .ku{font:var(--font-label);color:var(--text-secondary)}
.kpi .kt{font:var(--font-label);color:var(--text-secondary)}
.kpi .kf{font:var(--font-metadata);color:var(--text-tertiary);overflow-wrap:anywhere}
.kpi .kc .legend{margin-top:var(--space-2)}
.region-body > .kpis{margin:0 calc(var(--space-16) * -1) calc(var(--space-16) * -1)}
.kspark{display:block;width:100%;height:auto;overflow:visible}
.kspark text.tick,.hist text.tick,.sbar text.tick{font:var(--font-chart-axis);fill:var(--text-tertiary)}
.kspark .grid{stroke:var(--data-gridline)}
.kspark .base,.hist .base{stroke:var(--data-baseline)}
.kspark .ln{fill:none;stroke:var(--text-primary);stroke-width:1.75;stroke-linejoin:round}
.kspark .ln-dot,.kspark .pt{fill:var(--text-primary)}
.kspark .ln-light{fill:none;stroke:var(--border-strong);stroke-width:1.25;stroke-linejoin:round}
.kspark .no-ev .mk{fill:var(--surface-raised);stroke:var(--text-tertiary);stroke-width:1}
.kspark .no-ev .hit{fill:transparent}
.kspark a .pt{cursor:pointer}
.kspark a:hover .pt,.kspark a:focus-visible .pt{stroke:var(--text-primary);stroke-width:3}
.kspark .tgt{stroke:var(--data-baseline);stroke-dasharray:4 3}
.kstack{display:grid}
.kstack > svg{grid-area:1 / 1}
.kspark.dashed .ln{stroke:var(--text-tertiary);stroke-dasharray:4 3}
.kspark.dashed .pt,.kspark.dashed .ln-dot{fill:var(--text-tertiary)}
.kspark.dashed .ln-light{stroke:var(--data-gridline)}
.kspark.dashed .grid,.kspark.dashed .base,.kspark.dashed text{display:none}
.lg-ln{stroke:var(--text-primary);stroke-width:2}
.lg-ln.dashed{stroke:var(--text-tertiary);stroke-dasharray:4 3}
/* share and duration bars: one neutral ramp */
.sbar-cell{width:calc(var(--space-48) * 5)}
.sbar{display:block;width:100%;max-width:calc(var(--space-48) * 4.6);height:auto}
.sb-bg{fill:var(--surface-group)}
.sb-v{fill:var(--data-category-1)}
/* position histogram */
.hist-cell{width:72%}
.hist{display:block;width:100%;height:auto;overflow:visible}
.hist .hb{fill:var(--data-category-1)}
.hist a:hover .hb,.hist a:focus-visible .hb{fill:var(--text-primary)}
/* Health score block on Level rules */
.hs-form{display:flex;flex-direction:column;gap:var(--space-12)}
.hs-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-12) var(--space-16)}
.hs-f{display:flex;flex-direction:column;gap:var(--space-4)}
.hs-f .lbl{font:var(--font-label);color:var(--text-secondary)}
.hs-f input{min-height:var(--size-control-height-compact);font:var(--font-data);padding:0 var(--space-8);border:var(--size-border-width-thin) solid var(--border-field);border-radius:var(--radius-control);background:var(--surface-raised);color:var(--text-primary);max-width:calc(var(--space-48) * 3)}
.hs-f input[readonly]{background:var(--surface-sunken);color:var(--text-secondary)}
.hs-err{font:var(--font-body);color:var(--status-danger-text)}

@media (max-width:75em){
  .hist-cell{width:auto}
}
@media (max-width:45em){
  .kpis{grid-template-columns:minmax(0,1fr)}
  .kpi{border-right:0}
  .hs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hist{width:calc(var(--space-48) * 13);max-width:none}
  .sbar-cell,.hist-cell{width:auto}
  .tbl-strips.records td.hist-cell{flex:1 1 100%;display:flex;flex-direction:column;align-items:stretch;overflow-x:auto}
  .tbl-compact.records td.sbar-cell{flex:1 1 100%}
  .sbar{max-width:none}
  /* Phone: the trend keeps readable ticks and scrolls; it opens on the latest days. */
  .tbl-trend.records td.chart-cell .chart{overflow-x:auto;direction:rtl}
  .tbl-trend.records td.chart-cell .spark{min-width:calc(var(--space-48) * 10.8);direction:ltr}
}
