/* EnduroLab v24: progressive enhancement, preserving existing My Week calendar. */
#calGrid [data-cal-session]{cursor:pointer;outline-offset:3px;touch-action:pan-y}
#calGrid [data-cal-session]:focus-visible{outline:3px solid var(--lime)!important}
#calGrid [data-cal-session]:hover{box-shadow:0 0 0 1px var(--lime) inset}
.v24-week-tap-hint{color:var(--muted);font-size:12px;margin:8px 0 16px}
.v24-coach{margin:15px 0 24px;display:grid;gap:16px}
.v24-coach-top{display:flex;gap:16px;justify-content:space-between;align-items:flex-start}
.v24-coach-top h2{margin:4px 0 7px;font-size:23px}
.v24-coach-top p{color:var(--soft);margin:0;max-width:710px}
.v24-chip{border:1px solid var(--border);border-radius:100px;background:var(--panel2);color:var(--lime);font-weight:700;font-size:11px;white-space:nowrap;padding:6px 11px;text-transform:capitalize}
.v24-coach-recommend{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px;border:1px solid var(--border);border-radius:14px;background:var(--panel2)}
.v24-coach-recommend strong{font-size:16px}
.v24-coach-recommend p{margin:4px 0;font-size:13px;color:var(--soft)}
.v24-coach-details{border:1px solid var(--border);border-radius:12px;padding:10px 14px}
.v24-coach-details summary{color:var(--soft);cursor:pointer;font-weight:600}
.v24-coach-details p,.v24-muted,.v24-hint{font-size:12px;line-height:1.65;color:var(--muted)}
.v24-adjustments{display:grid;gap:10px}
.v24-adjustments>strong{font-size:14px}
.v24-advice-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:11px;border-radius:11px;background:var(--panel2);border:1px solid var(--border);font-size:12px}
.v24-advice-row span{color:var(--soft)}
.v24-advice-row b{display:block;color:var(--text);margin:4px 0 0}
.v24-advice-row button{white-space:nowrap}
.v24-builder-wrap{margin:18px 0 22px}
.v24-builder-wrap>summary,.v24-analytics-wrap>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;cursor:pointer;list-style:none;color:var(--text)}
.v24-builder-wrap>summary::-webkit-details-marker,.v24-analytics-wrap>summary::-webkit-details-marker{display:none}
.v24-builder-wrap>summary strong,.v24-analytics-wrap>summary strong{font-size:17px}
.v24-builder-wrap>summary span,.v24-analytics-wrap>summary span{font-size:12px;color:var(--muted);text-align:right}
.v24-builder-body{padding-top:20px}
#v24BuilderForm{display:grid;gap:13px}
#v24BuilderForm label{display:grid;gap:6px;color:var(--soft);font-size:12px;font-weight:600}
#v24BuilderForm input,#v24BuilderForm textarea,#v24BuilderForm select{min-width:0;max-width:100%;width:100%;padding:10px 11px;border:1px solid var(--border);border-radius:10px;background:var(--panel2);color:var(--text)}
.v24-builder-head{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
.v24-steps-head,.v24-builder-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}
.v24-steps-head h3{margin:8px 0}
#v24Steps{display:grid;gap:13px}
.v24-step{background:var(--panel2);border:1px solid var(--border);padding:15px;border-radius:13px;display:grid;gap:11px}
.v24-step-head{display:flex;justify-content:space-between;align-items:center}
.v24-step-grid{display:grid;grid-template-columns:2fr .7fr 1fr 1.3fr .7fr 1.2fr;gap:8px}
.v24-templates{margin-top:24px;padding-top:16px;border-top:1px solid var(--border)}
.v24-template{display:flex;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--border)}
.v24-template div{flex:1}
.v24-template small{display:block;color:var(--muted)}
.v24-detail-hero{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.v24-lead{font-size:14px;color:var(--soft)}
.v24-blocks{padding-left:25px;display:grid;gap:8px}
.v24-blocks li{padding:9px 12px;background:var(--panel2);border:1px solid var(--border);border-radius:10px}
.v24-blocks li strong{display:block;font-size:14px}
.v24-blocks li span{display:block;color:var(--soft);font-size:12px}
.v24-blocks li small{display:block;font-size:12px;color:var(--muted);margin-top:3px}
.v24-matched{padding:10px;background:var(--panel2);border:1px solid var(--border);border-radius:9px}
.v24-analytics-wrap{margin:16px 0}
.v24-analytics-wrap[open]>summary{padding-bottom:12px;border-bottom:1px solid var(--border)}
.v24-analytics-heading{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;margin:20px 0}
.v24-analytics-heading h2{margin:5px 0}
.v24-analytics-heading p{color:var(--muted)}
.v24-metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.v24-metric-grid>div{background:var(--panel2);border:1px solid var(--border);border-radius:13px;padding:17px;min-width:0}
.v24-metric-grid h3{margin:0 0 10px}
.v24-metric-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--border);font-size:12px}
.v24-metric-row span{color:var(--soft)}
.v24-metric-row strong{white-space:nowrap;color:var(--lime)}
@media(max-width:1030px){.v24-step-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.v24-builder-head{grid-template-columns:1fr 1fr}.v24-coach-top{flex-wrap:wrap}.v24-metric-grid{grid-template-columns:1fr}.v24-builder-wrap>summary span{max-width:45%}}
@media(max-width:520px){.v24-builder-head,.v24-step-grid{grid-template-columns:1fr 1fr}.v24-step-grid>label:first-child{grid-column:1/-1}.v24-advice-row{flex-wrap:wrap}.v24-coach-recommend{flex-wrap:wrap}.v24-coach-recommend>button{width:100%}.v24-template{flex-wrap:wrap}.v24-analytics-heading{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){#calGrid [data-cal-session]{transition:none!important}}

.v24-suggested-legacy{background:var(--panel2);border-left:3px solid var(--lime);border-radius:9px;padding:12px 15px;margin:13px 0}.v24-suggested-legacy p{margin:7px 0 0;color:var(--soft);font-size:13px;line-height:1.6}
