/* Endurance package extends existing Sport Control tokens. */
.endurance-workspace-head, .endurance-workspace-toolbar, .endurance-section-heading { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-bottom:20px; }
.endurance-workspace-head h2 { font-size:28px; font-weight:600; letter-spacing:-.03em; margin:8px 0; }
.endurance-workspace-head p, .endurance-surface > p, .endurance-device p, .endurance-activity-list p { margin:8px 0; color:var(--text-secondary); }
.endurance-eyebrow { font-size:11px; letter-spacing:.08em; font-weight:600; }
.endurance-package-note { font-size:13px; color:var(--text-secondary); padding-bottom:20px; border-bottom:1px solid var(--line); margin-bottom:24px; }
.endurance-workspace-grid { display:grid; grid-template-columns:minmax(0,2fr) minmax(260px,1fr); gap:24px; margin-bottom:24px; }
.endurance-surface { background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-lg); padding:24px; min-width:0; }
.endurance-surface h3 { margin:0 0 16px; font-size:18px; font-weight:600; }
.endurance-week-nav { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
#enduranceWorkspace button, #enduranceWorkspace select, #enduranceWorkspace input, #enduranceWorkspace summary { min-height:44px; }
#enduranceWorkspace :focus-visible { outline:3px solid var(--brand-teal); outline-offset:3px; }
#enduranceWorkspace .primary-btn { color:#042f2e; background:var(--brand-teal); border-color:var(--brand-teal); }
#enduranceWorkspace .primary-btn, .endurance-dialog .primary-btn { box-shadow:none; }
.endurance-week-nav svg, .endurance-session svg { flex-shrink:0; vertical-align:middle; }
.endurance-week-list, .endurance-activity-list { list-style:none; padding:0; margin:0; }
.endurance-week-day { display:grid; grid-template-columns:74px minmax(0,1fr); gap:16px; padding:14px 0; border-top:1px solid var(--line); }
.endurance-day-label { display:grid; gap:4px; align-content:start; font-size:13px; }
.endurance-day-label span, .endurance-session small, .endurance-device small, .endurance-activity-list small { color:var(--text-secondary); font-size:12px; }
.endurance-session { display:flex; justify-content:space-between; align-items:center; gap:16px; width:100%; padding:12px 16px; margin-bottom:8px; border:1px solid var(--line); border-radius:var(--radius); color:var(--text); background:var(--surface-soft); text-align:left; cursor:pointer; }
.endurance-session:hover { border-color:var(--brand-teal); }
.endurance-session strong, .endurance-session small { display:block; }
.endurance-session small { margin-top:6px; }
.endurance-day-empty { margin:8px 0; color:var(--text-secondary); font-size:13px; }
.endurance-device { padding:16px 0; border-top:1px solid var(--line); }
.endurance-tracking { display:flex; gap:10px; align-items:center; margin-top:8px; font-size:13px; cursor:pointer; }
.endurance-tracking input { accent-color:var(--brand-teal); width:20px; }
.endurance-activity-list > li { display:grid; grid-template-columns:minmax(0,1fr) minmax(180px,260px); gap:24px; padding:18px 0; border-top:1px solid var(--line); }
.endurance-manual { margin-top:24px; border-top:1px solid var(--line); padding-top:16px; }
.endurance-manual summary { cursor:pointer; padding:12px 0; font-weight:600; }
.endurance-manual fieldset { border:0; padding:16px 0 0; margin:0; }
.endurance-manual textarea { min-height:80px; }
.endurance-manual [type=submit] { margin-top:16px; }
#enduranceWorkspace [role=alert] { color:#9b2c2c; }
@media(max-width:800px) { .endurance-workspace-head, .endurance-workspace-toolbar, .endurance-section-heading { align-items:stretch; flex-direction:column; gap:16px; } .endurance-workspace-grid { grid-template-columns:1fr; gap:16px; } .endurance-surface { padding:16px; } .endurance-activity-list > li { grid-template-columns:1fr; gap:12px; } .endurance-workspace-head h2 { font-size:24px; } }
.endurance-dialog { color: var(--text); background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 0; width: min(1120px, calc(100vw - 48px)); max-width: none; max-height: calc(100dvh - 48px); box-shadow: var(--shadow-lg); }
.endurance-dialog::backdrop { background: rgba(7,11,18,.62); }
.endurance-dialog-head { display: flex; justify-content: space-between; align-items: start; gap: 24px; padding: 24px; border-bottom: 1px solid var(--line); }
.endurance-dialog-head h2 { margin: 0; font-size: 22px; font-weight: 600; letter-spacing: -.02em; }
.endurance-dialog-head p { margin: 8px 0 0; color: var(--text-secondary); font-size: 13px; }
.endurance-close { width: 44px; height: 44px; padding: 10px; flex: 0 0 44px; }
.endurance-close svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.75; }
.endurance-dialog-body { padding: 24px; }
.endurance-editor { display: grid; grid-template-columns: minmax(0,1fr) 250px; gap: 32px; align-items: start; }
.endurance-editor-side { background: var(--surface-soft); border-radius: var(--radius); padding: 20px; position: sticky; top: 0; }
.endurance-editor-side h3 { font-size: 16px; margin: 0 0 16px; }
.endurance-basics { display: grid; grid-template-columns: minmax(0,1fr) 160px; gap: 16px; }
.endurance-field { display: flex; flex-direction: column; gap: 8px; min-width: 0; color: var(--text-secondary); font-size: 13px; }
.endurance-field input,.endurance-field select,.endurance-field textarea { width: 100%; min-height: 44px; font: inherit; color: var(--text); background: var(--surface); border: 1px solid var(--line); border-radius: 8px; padding: 10px 12px; }
.endurance-field textarea { resize: vertical; }
.endurance-template-row { display: flex; gap: 12px; align-items: end; margin: 24px 0; }
.endurance-template-row .endurance-field { flex: 1; }
.endurance-steps { list-style: none; padding: 0; margin: 0; }
.endurance-step { padding: 20px 0; border-top: 1px solid var(--line); }
.endurance-step-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 16px; flex-wrap: wrap; }
.endurance-step-head strong { font-size: 15px; }
.endurance-step-actions { display: flex; flex-wrap: wrap; gap: 4px; }
.endurance-step-actions .ghost-btn { padding: 8px; font-size: 12px; min-height: 44px; }
.endurance-step-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.endurance-recovery { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: end; gap: 16px; margin-top: 16px; }
.endurance-checkbox { display: flex; align-items: center; gap: 8px; font-size: 13px; min-height: 44px; color: var(--text-secondary); }
.endurance-checkbox input { min-width: 20px; min-height: 20px; accent-color: var(--brand-teal); }
.endurance-note { font-size: 13px; line-height: 1.55; color: var(--text-secondary); margin: 12px 0; }
.endurance-total { font-size: 20px; font-weight: 600; line-height: 1.4; font-variant-numeric: tabular-nums; margin: 0 0 16px; }
.endurance-add { width: 100%; margin: 8px 0 24px; }
.endurance-empty { padding: 24px 0; color: var(--text-secondary); line-height: 1.5; }
.endurance-empty h3 { color: var(--text); margin: 0 0 8px; font-size: 16px; }
.endurance-dialog-foot { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 16px 24px; border-top: 1px solid var(--line); background: var(--surface); position: sticky; bottom: 0; }
.endurance-dialog-foot p { margin: 0; font-size: 13px; color: var(--text-secondary); max-width: 55ch; }
.endurance-dialog-foot > div { display: flex; gap: 8px; flex-shrink: 0; }
.endurance-dialog .ghost-btn { min-height: 44px; }
.endurance-dialog .primary-btn { color: #042f2e; background: var(--brand-teal-light); box-shadow: none; }
.endurance-dialog .primary-btn:hover:not(:disabled) { background: var(--brand-teal-mid); }
.endurance-dialog .ghost-btn:disabled { opacity: .55; cursor: default; }
.endurance-dialog :is(button,input,select,textarea,summary):focus-visible { outline: 2px solid var(--text-secondary); outline-offset: 3px; }
.endurance-error,.endurance-dialog-foot .endurance-error { color: #9b2c2c; font-size: 13px; line-height: 1.5; }
.endurance-loading { padding: 48px 0; color: var(--text-secondary); }
.endurance-fact { border-top: 1px solid var(--line); margin-top: 24px; padding-top: 16px; }
.endurance-fact summary { cursor: pointer; min-height: 44px; font-size: 14px; font-weight: 600; }
.endurance-actual-row { display: grid; gap: 6px; border-bottom: 1px solid var(--line); padding: 12px 0; font-size: 13px; color: var(--text-secondary); font-variant-numeric: tabular-nums; }
@media(max-width: 900px) { .endurance-editor { grid-template-columns: minmax(0,1fr); gap: 24px; } .endurance-editor-side { position: static; } }
@media(max-width: 600px) { .endurance-dialog { width: 100%; max-height: 100dvh; height: 100dvh; border-radius: 0; border: 0; margin: 0; } .endurance-dialog-head,.endurance-dialog-body { padding: 16px; } .endurance-basics { grid-template-columns: minmax(0,1fr); } .endurance-step-head { align-items: start; } .endurance-recovery { grid-template-columns: minmax(0,1fr); } .endurance-dialog-foot { flex-direction: column; align-items: stretch; gap: 12px; padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); } .endurance-dialog-foot > div { width: 100%; } .endurance-dialog-foot button { flex: 1; } .endurance-step-grid { gap: 12px; } .endurance-template-row { align-items: stretch; flex-direction: column; } }
@media(prefers-reduced-motion: reduce) { .endurance-dialog * { scroll-behavior: auto; transition: none; } }
