/* Extends coach and athlete surface tokens; analysis stays inside their existing flow. */
.endurance-detail { --ed-text:var(--text,#0f172a); --ed-muted:var(--text-secondary,#334155); --ed-line:var(--line,#d3dde8); --ed-surface:var(--surface,#fff); --ed-soft:var(--surface-soft,#f4f7fb); --ed-accent:var(--brand-teal,#14b8a6); color:var(--ed-text); font-size:14px; min-width:0; overflow-wrap:anywhere; }
.survey-page .endurance-detail { --ed-text:var(--athlete-text,#e2e8f0); --ed-muted:var(--athlete-muted,#94a3b8); --ed-line:var(--athlete-line,#334155); --ed-surface:#15181d; --ed-soft:#131b24; --ed-accent:var(--athlete-accent,#14b8a6); }
.endurance-detail h3 { font-size:17px; margin:20px 0 12px; line-height:1.35; }
.endurance-detail h4 { font-size:14px; margin:24px 0 12px; line-height:1.4; }
.endurance-detail p { margin:10px 0; line-height:1.55; max-width:74ch; }
.endurance-detail .ed-help,.endurance-detail .ed-empty { color:var(--ed-muted); font-size:13px; }
.endurance-detail .ed-heading,.endurance-detail .ed-actions { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.endurance-detail .ed-heading h2,.endurance-detail .ed-heading h3 { margin:0; }
.endurance-detail .ed-actions { justify-content:flex-start; }
.endurance-detail .ed-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:16px 0; }
.endurance-detail label { display:flex; flex-direction:column; gap:7px; min-width:0; font-size:13px; }
.endurance-detail :is(input,select) { box-sizing:border-box; width:100%; min-width:0; min-height:44px; padding:10px 12px; border:1px solid var(--ed-line); border-radius:8px; background:var(--ed-surface); color:var(--ed-text); font:inherit; caret-color:var(--ed-accent); }
.endurance-detail input[type=file] { padding:8px; }
.endurance-detail :is(button,summary) { min-height:44px; }
.endurance-detail summary { padding:12px 0; cursor:pointer; font-weight:600; }
.endurance-detail :focus-visible { outline:3px solid var(--ed-accent); outline-offset:3px; }
.endurance-detail ::selection { background:var(--ed-accent); color:var(--ed-surface); }
.endurance-detail :disabled { opacity:.6; cursor:default; }
.endurance-detail [role=alert] { color:#9b2c2c; }
.survey-page .endurance-detail [role=alert] { color:var(--athlete-error,#fca5a5); }
.endurance-detail [data-ed-message]:empty { display:none; }
.endurance-detail .ed-list { padding:0; list-style:none; }
.endurance-detail .ed-list li { padding:14px 0; border-top:1px solid var(--ed-line); }
.endurance-detail .ed-check { flex-direction:row; align-items:flex-start; gap:12px; }
.endurance-detail .ed-check input { width:22px; min-width:22px; min-height:22px; margin:2px 0; accent-color:var(--ed-accent); }
.endurance-detail .ed-table-wrap { overflow-x:auto; margin:18px 0; scrollbar-color:var(--ed-muted) var(--ed-soft); }
.endurance-detail table { border-collapse:collapse; width:100%; font-size:13px; font-variant-numeric:tabular-nums; }
.endurance-detail caption { text-align:left; font-weight:600; padding:0 0 12px; }
.endurance-detail th,.endurance-detail td { text-align:left; padding:10px 8px; border-bottom:1px solid var(--ed-line); }
.endurance-detail th { color:var(--ed-muted); font-weight:500; }
.endurance-detail svg[data-ed-chart] { display:block; width:100%; height:auto; touch-action:pan-y; user-select:none; }
.endurance-detail svg text { fill:var(--ed-muted); font-family:inherit; font-size:12px; }
.endurance-detail .ed-axis { stroke:var(--ed-line); stroke-width:1; }
.endurance-detail .ed-series { fill:none; stroke:var(--ed-plot,#0f766e); stroke-width:2; vector-effect:non-scaling-stroke; }
.survey-page .endurance-detail { --ed-plot:var(--athlete-accent,#14b8a6); }
.endurance-detail .ed-highlight { fill:var(--ed-accent); opacity:.12; pointer-events:none; }
.endurance-detail .ed-analysis-row { border-top:1px solid var(--ed-line); padding:16px 0; }
.ed-dialog { box-sizing:border-box; width:min(720px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); padding:24px; background:var(--ed-surface); border:1px solid var(--ed-line); border-radius:16px; }
.ed-dialog::backdrop { background:rgba(7,11,18,.55); }
@media(max-width:600px) { .endurance-detail .ed-fields { grid-template-columns:1fr; }.endurance-detail .ed-heading { align-items:stretch; flex-direction:column; }.ed-dialog { padding:16px; }.endurance-detail table { font-size:12px; }.endurance-detail th,.endurance-detail td { padding:10px 5px; } }
