.qptr-chart{color:#3ddc84;margin:30px 0 32px;min-width:0}
.qptr-chart__label{display:flex;justify-content:space-between;gap:12px;color:#969990;font-size:9px;letter-spacing:.09em;margin-bottom:15px}
.qptr-chart__legend{display:flex;flex-wrap:wrap;gap:5px 13px;margin-bottom:24px}
.qptr-chart__legend button{display:inline-flex;align-items:center;gap:5px;padding:4px 0;border:0;background:none;color:#b9bcb6;font:inherit;font-size:10px;cursor:pointer;transition:opacity .25s,color .25s}
.qptr-chart__legend i,.qptr-chart__tip-row i{width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:var(--series-color)}
.qptr-chart__legend button[aria-pressed=false]{opacity:.36;text-decoration:line-through}
.qptr-chart__legend button:hover{color:#fff}
.qptr-chart__legend button:focus-visible,.qptr-chart svg:focus-visible{outline:1px solid #e4e6dc;outline-offset:4px;border-radius:3px}
.qptr-chart__plot{position:relative;padding-left:25px}
.qptr-chart__scale{position:absolute;inset:6% auto 8% 0;display:flex;flex-direction:column;justify-content:space-between;color:#777d76;font-size:9px}
.qptr-chart svg{width:100%;height:auto;display:block;overflow:visible;touch-action:pan-y}
.qptr-chart__grid{stroke:#ffffff12;stroke-width:1;fill:none;stroke-dasharray:2 3}
.qptr-chart__area{fill:url(#qptr-area-gradient);opacity:.6}
.qptr-chart__line{fill:none;stroke:var(--series-color);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.qptr-chart__line--total{stroke-width:2}
.qptr-chart__endpoint{fill:#3ddc84;stroke:#1b1b1b;stroke-width:2}
.qptr-chart__days{display:flex;justify-content:space-between;padding-left:35px;color:#777d76;font-size:8px;margin-top:10px}
.qptr-chart__cursor>path{stroke:#ffffff40;stroke-dasharray:3 4;stroke-width:1}
.qptr-chart__cursor>circle{fill:var(--series-color);stroke:#161616;stroke-width:1.5}
.qptr-chart__tooltip{position:absolute;z-index:3;top:10px;left:50%;transform:translateX(-50%);border:1px solid #ffffff22;background:#16191af5;box-shadow:0 8px 25px #0005;color:#e4eae4;padding:11px 12px;border-radius:9px;font-size:10px;white-space:nowrap;pointer-events:none;min-width:145px}
.qptr-chart__time{display:block;font-size:9px;color:#969d9d;margin-bottom:9px}
.qptr-chart__tip-row{display:flex;align-items:center;gap:7px;margin-top:7px}
.qptr-chart__tip-row strong{font-weight:600;font-variant-numeric:tabular-nums;margin-left:auto;padding-left:15px}
.qptr-chart__hint{font-size:9px;color:#777d76;margin:15px 0 0;line-height:1.5}
.qptr-chart__tooltip[hidden],.qptr-chart .is-series-hidden{display:none}
.stat-card__value{margin-bottom:0}.stat-card{padding-block:30px 32px}.metric-range{padding-bottom:106px}
@media(max-width:600px){.qptr-chart{margin-block:25px}.stat-card{padding:26px 22px 30px}.qptr-chart__legend{gap:4px 12px}.qptr-chart__legend button{font-size:9px}.qptr-chart__days span:nth-child(even){visibility:hidden}}
@media(prefers-reduced-motion:reduce){.qptr-chart__legend button{transition:none}}

/* Three clear series: overall is primary, device context stays secondary. */
.qptr-chart__line{opacity:.5;stroke-width:1.15}.qptr-chart__line--total{opacity:1;stroke-width:2.2}.qptr-chart__area{opacity:.24}.qptr-chart__legend{gap:18px;margin-bottom:20px}.qptr-chart__legend button[data-series-toggle=total]{color:#ede8d6}.qptr-chart__grid{stroke:#ffffff0c;stroke-dasharray:none}.qptr-chart__hint{font-size:9px;color:#666d66;margin-top:12px}.qptr-chart__days span:nth-child(even){visibility:visible}

/* Separated device bands, with distinct green / blue / purple signals. */
.qptr-chart__line{opacity:.88;stroke-width:1.45}.qptr-chart__line--total{opacity:1;stroke-width:2.2}.qptr-chart__legend button[data-series-toggle=total]{color:#d6eadf}.qptr-chart__area{opacity:.14}

.qptr-chart__phases{display:grid;grid-template-columns:43.7% 1fr;margin:0 0 9px 25px;padding-inline:2.4%;font-size:9px;color:#90978f;letter-spacing:.02em}.qptr-chart__phases span:last-child{color:#82d7a3;padding-left:9px}.qptr-chart__after{fill:#3ddc8406}.qptr-chart__switch{fill:none;stroke:#b1c4b34a;stroke-width:1;stroke-dasharray:3 5}

/* Position is anchored beside the pointer, with edge-aware flipping. */
.qptr-chart__tooltip{transform:none}
