.panel,.metric-card,.week-card,.chart-card,.calculator-card{border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(247,251,248,.92));border-radius:var(--radius);box-shadow:var(--shadow2);min-width:0}.panel{padding:22px;margin:18px 0}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.panel h2,.panel h3{margin:0;line-height:1.15}.panel-head span{color:var(--muted);text-align:right}.metric-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.metric-card{padding:18px;overflow:hidden}.metric-card span{display:block;color:var(--muted);font-size:.9rem}.metric-card strong{display:block;font-size:clamp(1.35rem,2.2vw,1.8rem);line-height:1.1;margin:6px 0;white-space:normal}.metric-card small{color:var(--teal);font-weight:850}.result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.insight-list{padding-left:1.25rem}.insight-list li{margin:10px 0;color:var(--muted)}details{margin-top:12px}summary{cursor:pointer;color:var(--teal);font-weight:900}.today-card{padding:28px;border-radius:28px;background:linear-gradient(135deg,#fff,var(--bg2));border:1px solid var(--line);box-shadow:var(--shadow2);align-self:stretch;display:grid;align-content:center;min-width:0}.today-card span{color:var(--teal);font-weight:950;text-transform:uppercase;letter-spacing:.1em}.today-card strong{font-family:var(--font-display);font-size:clamp(3rem,6vw,5rem);line-height:1;color:var(--orange);letter-spacing:-.05em}.today-card small{color:var(--muted);font-weight:850}.chart-card{padding:18px;overflow:hidden}.chart-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.chart-head h3{margin:0;font-size:clamp(1.05rem,1.5vw,1.25rem);line-height:1.1}.chart-head span{font-weight:950;color:var(--teal);white-space:nowrap}.chart-wrap{position:relative;margin-top:10px;border-radius:16px;background:linear-gradient(180deg,rgba(7,142,135,.04),rgba(255,255,255,.6));border:1px solid var(--line2);padding:8px}.chart-card svg{display:block;width:100%;height:210px;color:var(--teal);overflow:visible}.chart-gridline{stroke:rgba(16,32,25,.09);stroke-width:.65}.chart-baseline{stroke:rgba(16,32,25,.2);stroke-width:.8}.chart-line{stroke:var(--teal);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 4px 8px rgba(7,142,135,.2))}.chart-area{fill:url(#chartFade);opacity:.5}.chart-dot{fill:var(--orange);stroke:#fff;stroke-width:1.5;transition:transform .12s ease,fill .12s ease}.chart-hit{fill:transparent;cursor:crosshair}.chart-crosshair{stroke:var(--orange);stroke-width:1.2;stroke-dasharray:3 3;opacity:0;transition:opacity .12s}.chart-dot.active{fill:var(--teal);transform:scale(1.45);transform-origin:center}.chart-tooltip{position:absolute;transform:translate(-50%,-118%);background:#102019;color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:9px 11px;font-size:.86rem;line-height:1.2;box-shadow:0 16px 38px rgba(16,32,25,.22);pointer-events:none;opacity:0;transition:opacity .12s, transform .12s;white-space:nowrap;z-index:5}.chart-tooltip.visible{opacity:1;transform:translate(-50%,-128%)}.chart-tooltip strong{display:block;font-size:.95rem}.chart-tooltip span{color:#bfe9e5}.chart-axis{display:flex;justify-content:space-between;color:var(--muted);font-size:.85rem;margin-top:6px}.chart-note{margin:.4rem 0 0;color:var(--muted);font-size:.88rem}

/* v4 chart interaction polish */
.chart-card{position:relative;padding:20px}.chart-wrap{padding:10px 12px 12px;overflow:visible}.chart-card svg{height:230px}.chart-line-glow{stroke:rgba(7,142,135,.22);stroke-width:8;stroke-linecap:round;stroke-linejoin:round;filter:blur(.6px)}.chart-line{stroke-width:3.6}.chart-area{opacity:.72}.chart-dot{fill:#fff;stroke:var(--orange);stroke-width:2.2}.chart-dot.active{opacity:.3}.chart-active-ring{fill:rgba(255,138,38,.18);stroke:rgba(255,138,38,.48);stroke-width:1.2;opacity:0;transition:opacity .12s}.chart-active-dot{fill:var(--orange);stroke:#fff;stroke-width:2.2;filter:drop-shadow(0 8px 14px rgba(255,138,38,.35));opacity:0;transition:opacity .12s}.chart-hit{fill:transparent;cursor:crosshair}.chart-crosshair{stroke:rgba(255,138,38,.72);stroke-width:1;stroke-dasharray:4 3}.chart-tooltip{background:linear-gradient(135deg,#102019,#1f3b31);border:1px solid rgba(255,255,255,.18);border-radius:16px;padding:10px 12px;box-shadow:0 20px 55px rgba(16,32,25,.28);font-weight:800}.chart-tooltip strong{font-size:.9rem;color:#fff;letter-spacing:.02em}.chart-tooltip span{display:block;color:#9ef1e9;font-size:1.05rem;margin-top:3px}.chart-axis{padding:0 4px}.panel table{width:100%;border-collapse:collapse;table-layout:auto}.panel th,.panel td{padding:8px;border-bottom:1px solid var(--line2);text-align:left;word-break:break-word}.workout-explain p{margin-bottom:.8rem}
