/* UI2 report kit: charts (U1). Scoped to html.ui2. Measure = charcoal, target = gold, selected = blue (HOME_UI_GUIDE §11). */
html.ui2{
 --u2c-measure:#272C33;--u2c-gold:#E39A12;--u2c-sel:#004AB5;--u2c-grid:#ECECEC;--u2c-axis:#A8ABB0;--u2c-gray:#7A7F87;
 --u2c-miss:#D30202;--u2c-beat:#5E7A1E;--u2c-neg:#8E1B14;--u2c-pos:#12402A;--u2c-diamond:#F5B700;
 --u2c-muted:var(--muted,#6B7078);--u2c-line:var(--line,#E5E5E5);--u2c-surface:var(--surface,#FFFFFF);--u2c-tip-bg:#F4F7FD;
 --u2c-font:var(--font,system-ui,-apple-system,"Segoe UI",sans-serif);
}
html.ui2 .u2c{min-width:0}
html.ui2 .u2c-title{margin:0 0 6px;font:600 13px var(--u2c-font);color:var(--ink,#000)}
html.ui2 .u2c-plot{margin:0 -4px;min-width:0}
html.ui2 .u2c-svg{display:block;width:100%;height:auto;overflow:visible;font-family:var(--u2c-font)}
html.ui2 .u2c-grid{stroke:var(--u2c-grid)}
html.ui2 .u2c-axis{stroke:var(--u2c-axis);stroke-width:1}
html.ui2 .u2c-zero{stroke:#565C65;stroke-width:1.25}
html.ui2 .u2c-y{font:500 10px var(--u2c-font);fill:#6B7078}
html.ui2 .u2c-v{font:600 11px var(--u2c-font);fill:#3B4048}
html.ui2 .u2c-v.last{font-weight:800;fill:#000}
html.ui2 .u2c-v.u2c-v-in{fill:#fff}
html.ui2 .u2c-d{font:500 10.5px var(--u2c-font);fill:#8A9099}
html.ui2 .u2c-hit{cursor:pointer;outline:none}
html.ui2 .u2c-hit:focus-visible rect[fill="transparent"]{stroke:var(--u2c-sel);stroke-width:1;stroke-dasharray:3 3}
html.ui2 .u2c-hit.on .u2c-v,html.ui2 .u2c-hit.on .u2c-d{fill:#000;font-weight:800}
/* Bars: one colour for the measure; gold tick for the target; selected bar blue. */
html.ui2 .u2c-bar{fill:var(--u2c-measure)}
html.ui2 .u2c-hit.on .u2c-bar{fill:var(--u2c-sel)}
html.ui2 .u2c-bar-outline{fill:#FFFFFF;stroke:var(--u2c-measure);stroke-width:1.5}
html.ui2 .u2c-hit.on .u2c-bar-outline{stroke:var(--u2c-sel)}
html.ui2 .u2c-target{stroke:var(--u2c-gold);stroke-width:3;stroke-linecap:round}
html.ui2 .u2c-target-line{stroke-width:2;stroke-dasharray:6 5;stroke-linecap:butt}
html.ui2 .u2c-seg{stroke:#FFFFFF;stroke-width:1}
html.ui2 .u2c-sel-ring{fill:none;stroke:var(--u2c-sel);stroke-width:2}
html.ui2 .u2c-crew{fill:var(--u2c-gray)}
html.ui2 .u2c-hit.on .u2c-crew{fill:var(--u2c-sel)}
/* Lines */
html.ui2 .u2c-line{fill:none;stroke:var(--u2c-measure);stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round}
html.ui2 .u2c-line.u2c-line-gray{stroke:var(--u2c-gray);stroke-width:2}
html.ui2 .u2c-line-target{fill:none;stroke:var(--u2c-gold);stroke-width:2.5;stroke-dasharray:6 5}
html.ui2 .u2c-line-ly{fill:none;stroke:var(--u2c-gold);stroke-width:2.5;stroke-dasharray:3 4}
html.ui2 .u2c-dot{fill:var(--u2c-measure);stroke:#FFFFFF;stroke-width:1.5}
html.ui2 .u2c-dot.gray{fill:var(--u2c-gray)}
html.ui2 .u2c-dot.last{fill:#000}
html.ui2 .u2c-hit.on .u2c-dot{fill:var(--u2c-sel)}
/* Heat rows under a chart (green -> white -> red within the row; fills are SVG attributes) */
html.ui2 .u2c-hr-cell{stroke:#E2E2E2}
html.ui2 .u2c-hr-l{font:700 9.5px var(--u2c-font);fill:#3B4048}
html.ui2 .u2c-hr-v{font:600 9.5px var(--u2c-font);fill:#1F242A}
html.ui2 .u2c-hr-v.link{text-decoration:underline}
html.ui2 .u2c-hr-go{cursor:pointer}
/* Hourly */
html.ui2 .u2c-lane-t{font:700 11px var(--u2c-font);fill:#000;letter-spacing:.02em}
html.ui2 .u2c-hv{font:600 10.5px var(--u2c-font);fill:#272C33}
html.ui2 .u2c-shift-n{font:700 12px var(--u2c-font);fill:#000}
html.ui2 .u2c-diamond{fill:var(--u2c-diamond);stroke:none}
/* Legend + tap detail line */
html.ui2 .u2c-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin:6px 2px 0;padding:0;list-style:none;font-size:11.5px;color:var(--u2c-muted)}
html.ui2 .u2c-legend li{display:inline-flex;align-items:center;gap:5px}
html.ui2 .u2c-sw{width:14px;height:10px;flex:none}
html.ui2 .u2c-lg-note .u2c-sw{display:none}
html.ui2 .u2c-tip{margin:8px 0 0;padding:8px 10px;border-radius:10px;background:var(--u2c-tip-bg);font-size:13px;line-height:1.35;overflow-wrap:anywhere}
html.ui2 .u2c-tip.muted{background:none;padding:0;color:var(--u2c-muted);font-size:12px}
html.ui2 .u2c-empty{margin:6px 0;font-size:13px;color:var(--u2c-muted)}
/* Diverging (By region) */
html.ui2 .u2c-dv{list-style:none;margin:0;padding:0}
html.ui2 .u2c-dv-row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr) minmax(66px,auto) 10px;gap:8px;align-items:center;width:100%;min-height:44px;padding:10px 0;border:0;border-top:1px solid var(--u2c-line);background:none;text-align:left;font:inherit;color:inherit}
html.ui2 button.u2c-dv-row{cursor:pointer}
html.ui2 button.u2c-dv-row:focus-visible{outline:2px solid var(--u2c-sel);outline-offset:-2px}
html.ui2 .u2c-dv li:first-child .u2c-dv-row{border-top:0}
html.ui2 .u2c-dv-name{font-size:13.5px;font-weight:600;min-width:0;overflow-wrap:anywhere}
html.ui2 .u2c-dv-name small{display:block;font-size:11px;font-weight:500;color:var(--u2c-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis} /* POL-SALES: long store names / sub-lines no longer stack to 5 lines */
html.ui2 .u2c-dv-track{display:block;width:100%;height:14px}
html.ui2 .u2c-dv-axis{fill:#272C33;opacity:.45}
html.ui2 .u2c-dv-bar.miss{fill:var(--u2c-miss)}
html.ui2 .u2c-dv-bar.beat{fill:var(--u2c-beat)}
html.ui2 .u2c-dv-row b{text-align:right;font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}
html.ui2 .u2c-dv-row i{font-style:normal;color:#A8ABB0}
html.ui2 .u2c .pos,html.ui2 .u2c-dv .pos{color:var(--u2c-pos)}
html.ui2 .u2c .neg,html.ui2 .u2c-dv .neg{color:var(--u2c-neg)}
/* Donut */
html.ui2 .u2c-dn{display:flex;flex-direction:column;gap:14px;align-items:stretch;margin-top:8px}
html.ui2 .u2c-donut{display:block;width:160px;height:160px;align-self:center}
html.ui2 .u2c-slice{stroke:#FFFFFF;stroke-width:2}
html.ui2 .u2c-dn-t{font:700 15px var(--u2c-font);fill:#000}
html.ui2 .u2c-dn-s{font:500 10px var(--u2c-font);fill:#8A9099}
html.ui2 .u2c-dn-legend{list-style:none;margin:0;padding:0;display:grid;gap:7px;font-size:12.5px}
html.ui2 .u2c-dn-legend li{display:grid;grid-template-columns:10px minmax(0,1fr) auto 34px;gap:7px;align-items:center}
html.ui2 .u2c-dn-legend svg{width:10px;height:10px}
html.ui2 .u2c-dn-legend b{font-variant-numeric:tabular-nums}
html.ui2 .u2c-dn-legend em{font-style:normal;color:var(--u2c-muted);text-align:right}
@media (min-width:640px){html.ui2 .u2c-dn{flex-direction:row;align-items:center}html.ui2 .u2c-dn-legend{flex:1}}
/* Spark card (Trends): gray, no green/red */
html.ui2 .u2c-spark{min-width:0}
html.ui2 .u2c-spark-h{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:4px}
html.ui2 .u2c-spark-h .u2c-title{margin:0}
html.ui2 .u2c-spark-latest{margin:0;display:flex;flex-direction:column;align-items:flex-end;font-size:11px;color:var(--u2c-muted)}
html.ui2 .u2c-spark-latest b{font-size:16px;color:#000;font-variant-numeric:tabular-nums}
/* PW1 pacing: the current partial period is a projection, never an actual (hatched bar / dashed segment, labelled). */
html.ui2 .u2c-pace{stroke:var(--u2c-measure);stroke-width:1.5}
html.ui2 .u2c-hit.on .u2c-pace{stroke:var(--u2c-sel)}
html.ui2 .u2c-line-pace{fill:none;stroke:var(--u2c-measure);stroke-width:2.2;stroke-dasharray:4 3;stroke-linecap:round}
html.ui2 .u2c-dot-pace{fill:#FFFFFF;stroke:var(--u2c-measure);stroke-width:2}
html.ui2 .u2c-hit.on .u2c-dot-pace{stroke:var(--u2c-sel)}
html.ui2 .u2c-pace-t{font-size:9.5px;font-style:italic;fill:var(--u2c-muted)}
html.ui2 .u2c-v.u2c-v-pace{font-style:italic}

/* OTH-14: a zero gap is plain text ("even"), not a stray centre tick; the value never wraps. */
html.ui2 .u2c-dv-row b{white-space:nowrap}
html.ui2 .u2c-dv-even{display:block;text-align:center;font-size:12px;color:var(--u2c-muted)}
/* POL-SALES-29/30: reduced motion + visible keyboard focus. */
@media (prefers-reduced-motion:reduce){html.ui2 .u2c *,html.ui2 .u2c-dv *{transition:none!important;animation:none!important}}
html.ui2 .u2c-dv-row:focus-visible,html.ui2 .u2c-hit:focus-visible{outline:2px solid var(--u2c-sel);outline-offset:2px}
