/* A-026 shared chart module styles. The SVG is drawn at its real pixel size by js/pp-chart.js,
   so nothing here scales the drawing; height comes from --pp-chart-h set per breakpoint. */
.pp-chart{position:relative;display:block;width:100%;min-width:0;box-sizing:border-box;margin:8px 0 4px;}
.pp-chart .pp-plot{position:relative;width:100%;height:var(--pp-chart-h,280px);overflow:hidden;touch-action:pan-y;outline:none;border-radius:10px;}
.pp-chart .pp-plot:focus-visible{box-shadow:0 0 0 2px var(--primary,#1b8a66);}
.pp-chart .pp-svg-host{position:absolute;inset:0;}
.pp-chart .pp-hit{position:absolute;inset:0;z-index:1;background:transparent;touch-action:pan-y;}
.pp-chart .pp-chart-svg{display:block;max-width:none;overflow:visible;font-family:inherit;}
.pp-chart .pp-axis{fill:var(--text-dim,#5d6f66);font-size:12px;font-variant-numeric:tabular-nums;}
.pp-chart .pp-axis-title{font-weight:700;}
.pp-chart .pp-grid{stroke:var(--chart-grid,rgba(127,140,133,.25));stroke-width:1;stroke-dasharray:3 3;}
.pp-chart .pp-baseline,.pp-chart .pp-xtick{stroke:var(--chart-grid,rgba(127,140,133,.35));stroke-width:1;}
.pp-chart .pp-marker{stroke-width:1.4;opacity:.75;}
.pp-chart .pp-cross{stroke:var(--text-dim,#5d6f66);stroke-width:1;stroke-dasharray:3 3;}
.pp-chart .pp-legend{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px;max-height:none;overflow:visible;}
.pp-chart .pp-legend-chip{display:inline-flex;align-items:center;gap:6px;min-height:32px;max-width:100%;padding:5px 11px;border-radius:999px;border:1px solid var(--border,rgba(127,140,133,.35));background:var(--panel,#fff);color:var(--text,#10211b);font:inherit;font-size:13px;font-weight:600;line-height:1.2;cursor:pointer;white-space:normal;text-align:left;}
.pp-chart .pp-legend-chip span{overflow-wrap:anywhere;}
.pp-chart .pp-legend-chip[aria-pressed="false"]{opacity:.45;text-decoration:line-through;}
.pp-chart .pp-swatch{display:inline-block;flex:0 0 auto;width:10px;height:10px;border-radius:50%;}
.pp-chart .pp-toolbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0 0 6px;}
.pp-chart .pp-window{flex:1 1 auto;min-width:0;text-align:center;font-size:13px;font-weight:600;color:var(--text,#10211b);}
.pp-chart .pp-zoom-btns{display:inline-flex;gap:6px;}
.pp-chart .pp-toolbar .btn{min-width:36px;}
.pp-chart .pp-tooltip{position:fixed;z-index:60;max-width:min(320px,calc(100vw - 16px));padding:8px 10px;border-radius:10px;border:1px solid var(--border,rgba(127,140,133,.35));background:var(--panel,#fff);color:var(--text,#10211b);box-shadow:0 8px 24px rgba(0,0,0,.18);font-size:12px;line-height:1.35;pointer-events:none;}
.pp-chart .pp-tip-row{display:flex;align-items:center;gap:6px;margin:2px 0;}
.pp-chart .pp-tip-note,.pp-chart .pp-note,.pp-chart .pp-footnote{font-size:12px;color:var(--text-dim,#5d6f66);margin:6px 0 0;line-height:1.4;}
@media (max-width:700px){
  .pp-chart .pp-zoom-btns{display:none!important;}
  .pp-chart .pp-legend-chip{min-height:34px;font-size:13px;}
}
/* A-026: item pickers above the migrated charts wrap instead of scrolling inside a cut-off box. */
#levels-cards .dashboard-bubble-selected,#levels-cards .dashboard-bubble-group,
#lab-trend-cards .dashboard-bubble-selected,#lab-trend-cards .dashboard-bubble-group,
#measurement-weight-chart .dashboard-bubble-selected,#measurement-weight-chart .dashboard-bubble-group,
#dashboard-weight-panel .dashboard-bubble-selected,#dashboard-weight-panel .dashboard-bubble-group,
#dashboard-level-chips{display:flex!important;flex-wrap:wrap!important;gap:6px!important;max-height:none!important;overflow:visible!important;}
html body #levels-cards .dashboard-bubble,html body #lab-trend-cards .dashboard-bubble,html body #measurement-weight-chart .dashboard-bubble,html body #dashboard-weight-panel .dashboard-bubble,html body #dashboard-level-chips .chip{font-size:13px!important;max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere;}
/* Wrappers that hold a pp-chart never clip or fix its height. */
#levels-deep-dive-chart:has(>.pp-chart),.dashboard-chart-stage:has(>.pp-chart),.deep-dive-chart-stage:has(>.pp-chart){height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;}
html body .pp-chart{height:auto!important;max-height:none!important;overflow:visible!important;}
html body .pp-chart .pp-plot svg.pp-chart-svg{height:var(--pp-chart-h)!important;min-height:0!important;max-height:none!important;}

/* Static preview (mobile Home levels card): no toolbar or interaction, disclaimer footnote stays visible. */
html body .pp-chart.pp-preview .pp-toolbar,html body .pp-chart.pp-preview .pp-legend{display:none!important;}
html body .pp-chart.pp-preview .pp-hit{pointer-events:none!important;}
html body .mobile-level-mini-pp{margin:6px 0 4px;min-width:0;}
html body .mobile-level-mini-pp .pp-footnote{font-size:11px!important;line-height:1.35;margin:4px 0 0;}

/* Text follows the real surface behind the chart (some cards stay light in the dark theme). */
html body .pp-chart.pp-surface-light{--pp-ink:#10211b;--pp-ink-dim:#4f6159;}
html body .pp-chart.pp-surface-dark{--pp-ink:#eaf5ef;--pp-ink-dim:#b3c7bd;}
html body .pp-chart .pp-axis,html body .pp-chart .pp-axis-title{fill:var(--pp-ink-dim,var(--text-dim,#5d6f66));}
html body .pp-chart .pp-window{color:var(--pp-ink,var(--text,#10211b))!important;}
html body .pp-chart .pp-note,html body .pp-chart .pp-footnote{color:var(--pp-ink-dim,var(--text-dim,#5d6f66))!important;}
html body .pp-chart .pp-cross{stroke:var(--pp-ink-dim,var(--text-dim,#5d6f66));}

/* M2: static charts (category axes, no zoom) and decorative sparks. */
html body .pp-chart.pp-spark{margin:4px 0 2px;}
html body .pp-chart.pp-spark .pp-plot{border-radius:6px;pointer-events:none;}
html body .pp-chart.pp-spark .pp-hit{display:none;}
.wellness-mini-spark:has(>.pp-chart),.response-spark:has(>.pp-chart),.mini-trend-wrap:has(>.pp-chart),.dashboard-shared-chart:has(>.pp-chart),.cost-card-chart-wrap:has(>.pp-chart){height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;aspect-ratio:auto!important;}
/* A-026: the Home levels/progress/labs pickers grow to fit every chip, so a wrapped row never spills over the values line below. */
html body #dashboard-level-panel .dashboard-bubble-selector.dashboard-bubble-selector,html body #dashboard-weight-panel .dashboard-bubble-selector.dashboard-bubble-selector,html body #dashboard-lab-panel .dashboard-bubble-selector.dashboard-bubble-selector{max-height:none!important;height:auto!important;}
