/* SLPT R17 - Design 4 Programme Builder + deterministic local training intelligence */
.r17-design4{grid-template-columns:minmax(205px,245px) minmax(520px,1fr) minmax(300px,360px)!important;gap:14px!important;align-items:start}
.r17-design4 .builder-blocks{grid-column:1;position:sticky;top:88px;max-height:calc(100vh - 112px);overflow:auto}
.r17-design4 #builderCanvas{grid-column:2;min-width:0;border-top:0!important;background:transparent!important;padding:0!important;box-shadow:none!important}
.r17-session-editor{grid-column:3;position:sticky;top:88px;max-height:calc(100vh - 112px);overflow:auto;padding:0!important;min-width:0}
.r17-block-rail .builder-block{min-height:66px!important;padding:11px 10px!important;border-left-color:var(--r17-accent,var(--r16-accent))!important}
.r17-block-rail .builder-block .r17-rail-meta{grid-column:1/-1;color:var(--text-muted);font-size:.67rem;font-weight:650}
.r17-design4-canvas{--r17-accent:#b43a4a}.r17-block-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 15px;border:1px solid var(--border);border-left:4px solid var(--r17-accent);border-radius:14px 14px 10px 10px;background:color-mix(in srgb,var(--r17-accent) 4%,var(--surface-1));margin-bottom:8px}.r17-block-head>div:first-child{min-width:0;display:grid;gap:3px}.r17-block-head .inline-title{font-size:1.08rem;font-weight:850;padding:2px 0;border:0;background:transparent;min-width:0;color:var(--text)}.r17-block-head small{color:var(--text-muted)}.r17-kicker{font-size:.61rem;letter-spacing:.13em;text-transform:uppercase;color:var(--r17-accent,#8f2530);font-weight:900}
.r17-week-stack{display:grid;grid-template-columns:1fr!important;gap:7px;min-width:0}.r17-week-row{display:block!important;width:100%!important;min-width:0!important;padding:0!important;margin:0!important;border:1px solid var(--border)!important;border-left:3px solid color-mix(in srgb,var(--r17-accent) 68%,transparent)!important;border-radius:10px!important;overflow:hidden;background:var(--surface-1)!important}.r17-week-row.expanded{box-shadow:0 10px 26px color-mix(in srgb,var(--r17-accent) 7%,transparent);border-color:color-mix(in srgb,var(--r17-accent) 30%,var(--border))!important}.r17-week-summary{display:grid!important;grid-template-columns:minmax(115px,.65fr) minmax(105px,.6fr) minmax(180px,1.5fr) minmax(110px,.7fr) auto;gap:10px;align-items:center;padding:10px 11px!important;background:color-mix(in srgb,var(--r17-accent) 2.8%,var(--surface-1))}.r17-week-toggle{display:flex;align-items:center;gap:7px;border:0;background:transparent;color:inherit;padding:0;text-align:left;cursor:pointer;font:inherit}.r17-week-toggle b{font-size:.8rem}.r17-chevron{display:grid;place-items:center;width:22px;height:22px;border-radius:7px;background:var(--surface-2);font-size:.95rem}.r17-week-stat,.r17-week-focus{font-size:.72rem;color:var(--text-muted);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.r17-week-focus{color:var(--text);opacity:.76}.r17-week-actions{display:flex;gap:3px;justify-content:flex-end}.r17-week-actions button{width:25px;height:25px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--text-muted);cursor:pointer;padding:0}.r17-week-actions button:hover{background:var(--surface-2);color:var(--text)}.r17-week-actions button.danger:hover{background:rgba(190,50,60,.08);color:#b2303c}.r17-week-actions button:disabled{opacity:.25;cursor:not-allowed}.r17-week-sessions{display:flex;flex-wrap:wrap;gap:7px;padding:9px 11px 12px;border-top:1px solid var(--border);background:var(--surface-2)}.r17-session-chip,.r17-add-session{flex:1 1 165px;min-width:150px;max-width:250px;border:1px solid var(--border);border-radius:9px;padding:8px 10px;background:var(--surface-1);color:inherit;text-align:left;display:grid;gap:2px;cursor:pointer;font:inherit}.r17-session-chip:hover,.r17-session-chip.active{border-color:color-mix(in srgb,var(--r17-accent) 45%,var(--border));background:color-mix(in srgb,var(--r17-accent) 6%,var(--surface-1))}.r17-session-chip b{font-size:.66rem;color:var(--text-muted)}.r17-session-chip span{font-size:.78rem;font-weight:800}.r17-session-chip small{font-size:.64rem;color:var(--text-muted)}.r17-add-session{display:grid;place-items:center;border-style:dashed;text-align:center;font-weight:800;color:var(--r17-accent);min-height:58px}
.r17-editor-empty{padding:28px 20px;text-align:center;display:grid;gap:5px}.r17-editor-empty span{font-size:.62rem;letter-spacing:.14em;font-weight:900;color:var(--text-muted)}.r17-editor-empty h3{margin:0}.r17-editor-empty p{margin:0;color:var(--text-muted);font-size:.78rem;line-height:1.5}.r17-editor-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:15px 16px;border-bottom:1px solid var(--border);background:var(--surface-1)}.r17-editor-head h2{font-size:1rem;margin:3px 0 0}.r17-session-details{padding:13px 15px;display:grid;gap:10px;border-bottom:1px solid var(--border)}.r17-session-details label,.r17-exercise-fields label{display:grid;gap:4px;font-size:.68rem;font-weight:800;color:var(--text-muted)}.r17-session-details input,.r17-session-details textarea,.r17-exercise-fields input{width:100%;box-sizing:border-box;border:1px solid var(--border);background:var(--surface-1);color:var(--text);border-radius:8px;padding:8px 9px;font:inherit;font-size:.76rem}.r17-session-details textarea{min-height:60px;resize:vertical}.r17-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.r17-editor-section-head{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:12px 15px}.r17-editor-section-head h3{margin:0;font-size:.88rem}.r17-editor-section-head small{color:var(--text-muted);font-size:.63rem}.r17-exercise-card{border-top:1px solid var(--border);background:var(--surface-1)}.r17-exercise-card>summary{display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:6px;align-items:center;padding:10px 13px;cursor:pointer;list-style:none}.r17-exercise-card>summary::-webkit-details-marker{display:none}.r17-exercise-card>summary b{font-size:.76rem}.r17-exercise-card>summary span:last-child{font-size:.64rem;color:var(--text-muted)}.r17-drag{color:var(--text-muted);font-weight:900}.r17-exercise-fields{padding:0 13px 12px;display:grid;gap:9px}.r17-toggle-row{display:flex;gap:12px;flex-wrap:wrap}.r17-toggle-row label{display:flex!important;align-items:center;gap:6px!important;color:var(--text)!important}.r17-toggle-row input{width:auto!important}.r17-alternate{padding:9px;border-radius:9px;background:var(--surface-2);border-left:3px solid #4b79c9}.r17-alternate>b{display:block;margin-bottom:7px;font-size:.72rem}.r17-exercise-actions{justify-content:flex-end}.r17-session-actions{position:sticky;bottom:0;display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:12px 14px;border-top:1px solid var(--border);background:color-mix(in srgb,var(--surface-1) 94%,transparent);backdrop-filter:blur(12px)}.r17-session-actions .btn-primary{grid-column:1/-1}.r17-session-actions .danger{color:#b2303c;border-color:rgba(178,48,60,.25)}

.r17-analysis-btn{border-color:rgba(75,121,201,.3)!important;color:#315f9e!important}.r17-intelligence-banner{display:flex;align-items:center;gap:15px;margin:0 0 14px;padding:11px 13px;border:1px solid rgba(45,141,118,.22);border-radius:13px;background:rgba(45,141,118,.045)}.r17-intelligence-banner>div{display:grid;gap:2px;white-space:nowrap}.r17-intelligence-banner span{font-size:.6rem;letter-spacing:.13em;font-weight:900;color:#2d8d76}.r17-intelligence-banner b{font-size:.82rem}.r17-intelligence-banner p{margin:0;color:var(--text-muted);font-size:.74rem}.r17-metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.r17-metric{position:relative;overflow:hidden;min-height:132px;display:grid;align-content:start;gap:4px}.r17-metric small{color:var(--text-muted);font-size:.68rem}.r17-metric>b{font-size:1.35rem;line-height:1.1}.r17-metric>span{font-size:.67rem;color:var(--text-muted)}.r17-spark{width:100%;height:40px;margin-top:auto;color:#4b79c9}.r17-spark-empty{margin-top:auto;font-size:.65rem;color:var(--text-muted)}.r17-analysis-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:12px;margin-top:12px}.r17-exercise-trends{display:grid;gap:5px}.r17-exercise-trends>div{display:grid;grid-template-columns:minmax(0,1.4fr) .7fr .7fr;gap:9px;align-items:center;padding:8px 5px;border-bottom:1px solid var(--border)}.r17-exercise-trends span{display:grid;gap:1px}.r17-exercise-trends small{font-size:.62rem;color:var(--text-muted)}.r17-observations{margin-top:12px}.r17-observation-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.r17-observation{border:1px solid var(--border);border-radius:11px;padding:10px;background:var(--surface-1)}.r17-observation b{font-size:.74rem}.r17-observation p{margin:4px 0 0;font-size:.68rem;line-height:1.45;color:var(--text-muted)}.r17-observation.positive{border-color:rgba(45,141,118,.25);background:rgba(45,141,118,.04)}.r17-observation.warning{border-color:rgba(212,132,55,.28);background:rgba(212,132,55,.045)}.r17-observation.info{border-color:rgba(75,121,201,.25);background:rgba(75,121,201,.04)}

/* Live fatigue panel is injected into the existing R7 tracker closure by R17. */
#content .r17-fatigue-panel{margin-top:16px}#content .r17-fatigue-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:13px}#content .r17-fatigue-head h3{margin:0}#content .r17-fatigue-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}#content .r17-fatigue-scale-block{display:grid;gap:7px}#content .r17-fatigue-scale-block>label{font-size:11px;font-weight:800;color:#718096}#content .r17-fatigue-scale{display:grid;grid-template-columns:repeat(11,1fr);gap:4px}#content .r17-fatigue-scale button{aspect-ratio:1;border:1px solid #dfe5ed;border-radius:8px;background:#fff;color:#526174;font-size:10px;font-weight:800;cursor:pointer;padding:0}#content .r17-fatigue-scale button.active{background:#a12d30;color:#fff;border-color:#a12d30;box-shadow:0 5px 13px rgba(161,45,48,.2)}#content .r17-fatigue-labels{display:flex;justify-content:space-between;font-size:9px;color:#718096}#content .r17-fatigue-notes{margin-top:12px}#content .r17-fatigue-notes textarea{width:100%;box-sizing:border-box;min-height:72px;border:1px solid #dfe5ed;border-radius:10px;padding:10px;font:inherit;resize:vertical}#content .r17-fatigue-actions{display:flex;align-items:center;gap:10px;justify-content:flex-end;margin-top:10px}#content .r17-fatigue-status{font-size:10px;color:#718096;margin-right:auto}#content .r17-summary-extra{display:contents}

html[data-theme="dark"] .r17-week-row,html[data-theme="dark"] .r17-session-chip,html[data-theme="dark"] .r17-session-editor,html[data-theme="dark"] .r17-exercise-card{background:rgba(8,18,35,.72)!important}html[data-theme="dark"] #content .r17-fatigue-scale button{background:#101d32;border-color:#263753;color:#b8c7df}html[data-theme="dark"] #content .r17-fatigue-scale button.active{background:#a12d30;color:#fff;border-color:#a12d30}
@media(max-width:1280px){.r17-design4{grid-template-columns:210px minmax(0,1fr)!important}.r17-session-editor{grid-column:1/-1;position:static;max-height:none}.r17-observation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.r17-design4{grid-template-columns:1fr!important}.r17-design4 .builder-blocks,.r17-design4 #builderCanvas,.r17-session-editor{grid-column:1;position:static;max-height:none}.r17-week-summary{grid-template-columns:1fr auto}.r17-week-focus,.r17-week-summary>.r17-week-stat:nth-of-type(2){display:none}.r17-week-actions{grid-column:1/-1;justify-content:flex-start}.r17-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.r17-analysis-grid{grid-template-columns:1fr}#content .r17-fatigue-grid{grid-template-columns:1fr}}
@media(max-width:560px){.r17-metric-grid,.r17-observation-grid{grid-template-columns:1fr}.r17-form-grid{grid-template-columns:1fr}.r17-week-summary{padding:9px!important}.r17-week-sessions{display:grid}.r17-session-chip,.r17-add-session{max-width:none;min-width:0}.r17-exercise-card>summary{grid-template-columns:18px 1fr}.r17-exercise-card>summary span:last-child{grid-column:2}.r17-intelligence-banner{align-items:flex-start;flex-direction:column}}


/* R20_PERIODISATION_BLOCK_DELETE */
.r17-block-head .r20-delete-block{color:#b2303c!important;border-color:rgba(178,48,60,.28)!important;background:rgba(178,48,60,.035)!important}.r17-block-head .r20-delete-block:hover{background:rgba(178,48,60,.09)!important;border-color:rgba(178,48,60,.42)!important}.r20-no-blocks{min-height:220px;display:grid;place-content:center;justify-items:center;gap:6px;text-align:center}.r20-no-blocks b{font-size:.92rem}.r20-no-blocks span{max-width:360px;color:var(--text-muted);font-size:.75rem;line-height:1.5}
