:root{--wol-green:#0f6b6d;--wol-green-dark:#0a5557;--wol-green-soft:#e8f3f2;--wol-text:#183034;--wol-muted:#66777a;--wol-border:#d9e2e2;--wol-bg:#f7f9f9;--wol-warn:#9b6415;--wol-red:#a43d3d;--wol-amber:#b57712;--wol-good:#26734d}
.wol-app{box-sizing:border-box;color:var(--wol-text);font:inherit;max-width:1100px;margin:0 auto}.wol-app *{box-sizing:border-box}.wol-app h2,.wol-app h3,.wol-app h4{color:var(--wol-text);margin-top:0}.wol-app a{color:var(--wol-green-dark)}
.wol-card{background:#fff;border:1px solid var(--wol-border);border-radius:12px;padding:18px;margin:0 0 16px}.wol-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--wol-green-soft);border:1px solid var(--wol-border);border-radius:14px;padding:20px;margin-bottom:16px}.wol-hero h2{margin:2px 0 4px}.wol-kicker{display:block;color:var(--wol-green);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.wol-muted,.wol-app small{color:var(--wol-muted)}
.wol-btn,.wol-app button.wol-btn,.wol-app a.wol-btn{appearance:none;border:1px solid var(--wol-green)!important;background:var(--wol-green)!important;color:#fff!important;border-radius:8px;padding:10px 14px;font-weight:700;line-height:1.2;text-decoration:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:42px;box-shadow:none!important}.wol-btn:hover,.wol-btn:focus{background:var(--wol-green-dark)!important;border-color:var(--wol-green-dark)!important;color:#fff!important}.wol-btn-secondary,.wol-app a.wol-btn-secondary{background:#fff!important;color:var(--wol-green-dark)!important}.wol-btn-small{font-size:.85rem;padding:7px 10px;min-height:36px}.wol-btn:disabled,.wol-arrow:disabled{opacity:.42;cursor:not-allowed}
.wol-app input,.wol-app select,.wol-app textarea{width:100%;border:1px solid #bccaca;border-radius:7px;background:#fff;color:var(--wol-text);padding:9px 10px;font:inherit;min-height:42px}.wol-app textarea{min-height:78px}.wol-app input[type=checkbox]{width:auto;min-height:0}.wol-app input[type=range]{padding:0;border:0;min-height:30px}.wol-app label{display:grid;gap:5px;font-weight:650;font-size:.92rem}.wol-check{display:flex!important;align-items:center;gap:8px!important;font-weight:500!important}.wol-inline-form{display:flex;flex-wrap:wrap;align-items:end;gap:12px}.wol-inline-form>label{flex:1 1 180px}.wol-grid-2,.wol-grid-3{display:grid;gap:14px}.wol-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.wol-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.wol-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.wol-dashboard-links,.wol-coach-grid,.wol-metric-grid,.wol-pred-grid,.wol-video-grid{display:grid;gap:12px}.wol-dashboard-links{grid-template-columns:repeat(3,minmax(0,1fr))}.wol-coach-grid,.wol-metric-grid,.wol-pred-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.wol-link-card,.wol-athlete-tile{text-decoration:none!important}.wol-athlete-tile,.wol-metric{border:1px solid var(--wol-border);border-radius:10px;padding:13px;background:var(--wol-bg);display:grid;gap:4px}.wol-metric strong{font-size:1.25rem}.wol-achievement{display:flex;justify-content:space-between;align-items:center;gap:18px}.wol-star-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;min-width:96px;text-align:center;font-size:1.1rem}.wol-star-grid .filled{color:var(--wol-green)}.wol-star-grid .empty{color:#c7d0d0}
.wol-session-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:14px}.wol-session-duration{white-space:nowrap;color:var(--wol-muted)}.wol-session-shell.is-gated{opacity:.38;pointer-events:none}.wol-session-nav{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;gap:8px;margin:0 0 10px}.wol-nav-label{text-align:center;font-size:1.15rem}.wol-arrow{border:0!important;background:var(--wol-green)!important;color:#fff!important;border-radius:8px;min-width:44px;min-height:44px;font-size:1.3rem;cursor:pointer}.wol-restbar{position:sticky;top:8px;z-index:20;display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:#fff;border:2px solid var(--wol-green);border-radius:10px;padding:9px 11px;margin-bottom:12px}.wol-restbar[hidden]{display:none}.wol-rest-time{font-size:1.35rem;color:var(--wol-green);margin-right:auto}.wol-restbar select{width:auto;min-width:120px}.wol-panel{background:#fff;border:1px solid var(--wol-border);border-radius:12px;padding:16px}.wol-panel[hidden]{display:none}.wol-ex-head{display:grid;gap:8px;margin-bottom:10px}.wol-ex-head h3{margin:0}.wol-cue{border-left:4px solid var(--wol-green);background:var(--wol-green-soft);padding:9px 11px;border-radius:0 8px 8px 0}.wol-cue span{display:block;font-size:.72rem;font-weight:800;text-transform:uppercase;color:var(--wol-green)}.wol-support,.wol-substitute{border-top:1px solid var(--wol-border);padding:9px 0}.wol-support summary,.wol-substitute summary{cursor:pointer;font-weight:700;color:var(--wol-green-dark)}
.wol-block{border-top:1px solid var(--wol-border);padding:13px 0}.wol-block:first-child{border-top:0}.wol-block.is-working{border-left:3px solid var(--wol-green);padding-left:10px}.wol-block-head{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;margin-bottom:8px}.wol-pct,.wol-kg{font-weight:800;color:var(--wol-green)}.wol-set-row{border:1px solid var(--wol-border);background:var(--wol-bg);border-radius:9px;padding:10px;margin:8px 0;display:grid;gap:9px}.wol-set-row.is-done{opacity:.68}.wol-set-main{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.wol-set-no{font-weight:800}.wol-set-main label{display:flex;align-items:center;gap:6px;font-weight:500}.wol-set-main input{width:86px}.wol-rep-count{color:var(--wol-green);font-size:1.12rem}.wol-reps{display:flex;flex-wrap:wrap;gap:7px}.wol-rep{width:40px;height:40px;border-radius:50%;border:2px solid #9aabab;background:#fff;color:var(--wol-text);font-weight:800;cursor:pointer}.wol-rep.hit{background:var(--wol-green);border-color:var(--wol-green);color:#fff}.wol-rep.miss{background:var(--wol-red);border-color:var(--wol-red);color:#fff}.wol-override{background:#fff3df;border:1px solid #e4c590;border-radius:8px;padding:9px}
.wol-warmup-panel{display:grid;gap:14px}.wol-warmup-list{display:grid;gap:8px}.wol-warm-component{border-bottom:1px solid var(--wol-border);padding:10px 0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.wol-warm-reps{font-size:1.15rem;font-weight:850;color:var(--wol-green)}.wol-aero{margin-left:auto;display:flex;gap:8px;align-items:center}.wol-aero-time,.wol-cooldown-time{font-size:1.35rem;color:var(--wol-green);font-variant-numeric:tabular-nums}.wol-finish{display:grid;gap:12px}.wol-video-upload{border-top:1px solid var(--wol-border);padding-top:12px;display:grid;gap:9px}.wol-video-upload select{max-width:360px}.wol-session-summary{margin-top:12px}.wol-stack{display:flex;height:18px;border-radius:999px;overflow:hidden;background:#e8eded}.wol-stack .seg{display:block}.wol-stack .warmup{background:#82999a}.wol-stack .technical{background:#5c8f91}.wol-stack .working{background:#0f6b6d}.wol-stack .physical{background:#547366}.wol-stack .accessories{background:#8c7b63}.wol-stack .conditioning{background:#607d98}.wol-session-summary ul{list-style:none;padding:0;margin:8px 0}.wol-session-summary li{display:flex;justify-content:space-between;border-bottom:1px solid var(--wol-border);padding:5px 0}
.wol-bar-wrap{display:flex;align-items:center;justify-content:center;height:34px;margin:5px 0 8px;overflow:hidden}.wol-bar-line{height:4px;background:#666;min-width:46px;flex:1;max-width:110px}.wol-sleeve{width:18px;height:6px;background:#888}.wol-plate{display:inline-block;width:7px;height:29px;border-radius:2px;border:1px solid rgba(0,0,0,.18);margin:0 1px}.p-red{background:#d64242}.p-blue{background:#3378bd}.p-yellow{background:#e4bd37}.p-green{background:#3c9a5b}.p-white{background:#eee}.p-black{background:#222}.p-redsmall{background:#d64242;height:18px!important}
.wol-readiness-gate{border:2px solid var(--wol-green)}.wol-readiness-form input[type=range]+small{display:flex;justify-content:space-between}.wol-readiness-strip{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.wol-ready-dot{min-width:62px;border:1px solid var(--wol-border);border-radius:8px;padding:7px;text-align:center}.wol-ready-dot.green{border-color:#75a98c;background:#eef8f2}.wol-ready-dot.amber{border-color:#d8ae61;background:#fff7e7}.wol-ready-dot.red{border-color:#d59090;background:#fff0f0}.wol-ready-dot span,.wol-ready-dot b{display:block}
.wol-message{border-left:4px solid var(--wol-border);padding:7px 10px;margin:8px 0}.wol-message.high{border-left-color:var(--wol-red);background:#fff4f4}.wol-message small{display:block}.wol-insights{background:#f7faf9;border-radius:8px;padding:10px;margin-top:10px}.wol-calendar-row{display:grid;grid-template-columns:minmax(160px,1fr) minmax(120px,.6fr);gap:5px 12px;border-bottom:1px solid var(--wol-border);padding:10px 0}.wol-calendar-row small{grid-column:1/-1}.wol-calendar-row.is-comp strong{color:var(--wol-green-dark)}
.wol-table-wrap{overflow-x:auto}.wol-table{width:100%;border-collapse:collapse}.wol-table td,.wol-table th{padding:8px;border-bottom:1px solid var(--wol-border);text-align:left}.wol-video-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.wol-video-card{border:1px solid var(--wol-border);border-radius:9px;padding:9px;display:grid;gap:7px}.wol-video-card video{width:100%;background:#000;border-radius:6px;max-height:240px}.wol-video-actions,.wol-retained-row{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.wol-retained-row{padding:8px 0;border-bottom:1px solid var(--wol-border)}
.wol-modal[hidden]{display:none}.wol-modal{position:fixed;inset:0;background:rgba(18,34,36,.55);z-index:9999;display:grid;place-items:center;padding:16px}.wol-modal-card{width:min(520px,100%);background:#fff;border-radius:12px;padding:20px;position:relative}.wol-modal-close{position:absolute;right:10px;top:8px;border:0;background:transparent;font-size:1.6rem;color:var(--wol-text);cursor:pointer}.wol-toast{position:fixed;right:16px;bottom:16px;z-index:10000;background:#173f41;color:#fff;padding:10px 14px;border-radius:8px;max-width:360px}.wol-toast.bad{background:#8c3030}.wol-toast.warn{background:#8a611b}.pb-celebrate{animation:wolPulse .35s ease-in-out 3}@keyframes wolPulse{50%{transform:scale(1.01)}}
@media(max-width:760px){.wol-grid-2,.wol-grid-3,.wol-dashboard-links{grid-template-columns:1fr}.wol-hero,.wol-session-head,.wol-achievement{align-items:flex-start;flex-direction:column}.wol-card,.wol-panel{padding:13px}.wol-restbar{top:4px}.wol-restbar .wol-btn{padding:8px 10px;min-height:38px}.wol-set-main{align-items:flex-end}.wol-aero{margin-left:0;width:100%;flex-wrap:wrap}.wol-calendar-row{grid-template-columns:1fr}.wol-calendar-row small{grid-column:auto}.wol-video-grid{grid-template-columns:1fr}}
.wol-stars{display:grid;grid-template-columns:repeat(4,22px);grid-template-rows:repeat(2,22px);gap:3px;align-items:center;justify-items:center;min-width:97px;font-size:1.05rem;line-height:1}.wol-stars .on{color:var(--wol-green)}.wol-stars .off{color:#c7d0d0}
/* v0.2.0 exact plate-loading visual (Asylum v1.0.9 loading rules, compact WOL renderer) */
.wol-load-visual{margin:4px 0 8px;max-width:620px}.wol-load-svg{display:block;width:100%;height:auto;max-height:118px;overflow:visible}.wol-plate-label{font-size:10px;font-weight:800;fill:var(--wol-text)}.wol-load-total{font-size:13px;font-weight:800;fill:var(--wol-green-dark)}.wol-load-error{color:var(--wol-muted)}
.wol-comp-class small{font-weight:400;color:var(--wol-muted)}
.wol-add-warmup{margin-top:14px;padding:10px;border-top:1px dashed var(--wol-border);display:flex;gap:8px;align-items:end;flex-wrap:wrap}.wol-add-warmup>strong{flex:1 0 100%;color:var(--wol-green-dark)}.wol-add-warmup label{display:grid;gap:4px;min-width:90px}.wol-add-warmup input{width:100px}.wol-add-warmup small{flex:1 0 100%}

/* v0.2.3 page-specific member interfaces */
.wol-profile-card{max-width:980px;margin-inline:auto}.wol-profile-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.wol-profile-form>label{display:flex;flex-direction:column;gap:7px}.wol-profile-form label small,.wol-muted{color:#667085;font-size:.86rem;line-height:1.4}.wol-profile-form .wol-check{flex-direction:row;align-items:center;align-self:center}.wol-profile-save{grid-column:1/-1;display:flex;align-items:center;gap:12px;padding-top:4px}.wol-profile-form.is-readonly{opacity:.92}
.wol-program-hero h2{margin-bottom:8px}.wol-comp-countdown{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:16px;padding:12px 14px;border:1px solid #dde2e8;border-radius:10px}.wol-program-session{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px 0;border-top:1px solid #e7eaee}.wol-program-session:first-of-type{border-top:0}.wol-program-session p{margin:.35rem 0}.wol-program-session.is-locked{opacity:.62}.wol-lock{font-size:.88rem;font-weight:600}.wol-upcoming-row{display:grid;grid-template-columns:110px 1fr;gap:16px;padding:12px 0;border-top:1px solid #e7eaee}.wol-upcoming-row:first-of-type{border-top:0}
.wol-metric-tile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}.wol-metric-tile{appearance:none;border:1px solid #dde2e8;border-radius:12px;background:#fff;padding:14px;text-align:left;display:flex;flex-direction:column;gap:7px;cursor:pointer;min-width:0}.wol-metric-tile:hover{border-color:#98a2b3}.wol-metric-tile>span{font-size:.84rem;font-weight:700;color:#475467}.wol-metric-tile>strong{font-size:1.35rem}.wol-metric-tile>small{font-size:.78rem;color:#667085}.wol-spark{width:100%;height:54px;overflow:visible}.wol-spark polyline{stroke:currentColor;stroke-width:2}.wol-spark-empty{height:54px;display:flex;align-items:center;color:#98a2b3;font-size:.8rem}.wol-metric-tile .is-up{color:#18794e}.wol-metric-tile .is-down{color:#b42318}.wol-gauge-track{height:18px;border-radius:999px;background:#eaecf0;overflow:hidden;margin:18px 0 8px}.wol-gauge-track span{display:block;height:100%;background:currentColor;border-radius:999px}.wol-gauge-labels{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;font-size:.84rem}.wol-gauge-labels strong{text-align:center;font-size:1rem}.wol-gauge-labels span:last-child{text-align:right}.wol-heatmap{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.wol-heat{padding:9px 12px;border-radius:8px;font-size:.8rem;font-weight:700;border:1px solid transparent}.wol-heat.is-green{background:#e7f6ec;border-color:#a6d9b5}.wol-heat.is-amber{background:#fff3cd;border-color:#e7c86c}.wol-heat.is-neutral{background:#f2f4f7;border-color:#d0d5dd;color:#667085}
@media(max-width:800px){.wol-profile-form,.wol-metric-tile-grid{grid-template-columns:1fr}.wol-program-session{align-items:flex-start;flex-direction:column}.wol-upcoming-row{grid-template-columns:1fr;gap:4px}.wol-comp-countdown{align-items:flex-start;flex-direction:column}}
.wol-metric-tile-wrap{min-width:0}.wol-metric-detail{grid-column:1/-1;margin-top:8px;padding:14px;border:1px solid #e4e7ec;border-radius:12px;background:#f8fafc}.wol-metric-detail-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px}.wol-metric-history-list{display:grid;gap:0;margin-top:10px}.wol-metric-history-list>div{display:grid;grid-template-columns:1fr auto minmax(100px,.7fr);gap:12px;padding:8px 0;border-top:1px solid #e4e7ec;align-items:center}.wol-metric-history-list small{text-align:right;color:#667085}
@media(max-width:800px){.wol-metric-history-list>div{grid-template-columns:1fr auto}.wol-metric-history-list small{grid-column:1/-1;text-align:left}}


/* v0.2.4 Goals & Progress */
.wol-goal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:16px}
.wol-goal-card{border:1px solid rgba(0,0,0,.1);border-radius:14px;padding:16px;background:#fff;margin:0 0 12px}
.wol-goal-card .wol-section-head{align-items:flex-start}.wol-goal-status{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;opacity:.65}
.wol-goal-values{display:flex;justify-content:space-between;gap:16px;margin:12px 0}.wol-goal-values span{display:flex;flex-direction:column;gap:2px;font-size:.85rem;opacity:.8}.wol-goal-values strong{font-size:1.05rem;opacity:1}
.wol-goal-track{height:10px;border-radius:999px;background:rgba(0,0,0,.08);overflow:hidden}.wol-goal-track span{display:block;height:100%;background:currentColor;border-radius:999px}
.wol-goal-remaining{margin:8px 0 0}.wol-goal-meta{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:.88rem;opacity:.72}.wol-goal-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.wol-goal-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.wol-goal-form label{display:flex;flex-direction:column;gap:5px}.wol-goal-form label:has(textarea),.wol-goal-form button{grid-column:1/-1}
.wol-mesocycle-goal p{font-size:1.05rem;max-width:760px}.wol-milestone-list{display:grid;gap:10px}.wol-milestone{display:grid;grid-template-columns:110px 1fr;gap:14px;padding:10px 0;border-bottom:1px solid rgba(0,0,0,.08)}.wol-milestone:last-child{border-bottom:0}.wol-milestone time{font-size:.82rem;opacity:.65}.wol-milestone div{display:flex;flex-direction:column}.wol-milestone span{font-size:.9rem;opacity:.72}
.wol-goal-history{display:grid;gap:8px}.wol-history-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid rgba(0,0,0,.08)}.wol-history-row span{opacity:.68}
.wol-text-link{display:inline-block;margin-top:10px;font-weight:600}
@media(max-width:720px){.wol-goal-form{grid-template-columns:1fr}.wol-goal-form label,.wol-goal-form button{grid-column:1}.wol-milestone{grid-template-columns:1fr;gap:2px}.wol-goal-values{flex-direction:column;gap:8px}}

/* v0.2.5 Athlete Bio, metric entry and weekly event agenda */
.wol-profile-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.wol-profile-summary-grid>div{border:1px solid var(--wol-border);background:var(--wol-bg);border-radius:10px;padding:12px;display:grid;gap:3px}.wol-profile-summary-grid small{font-size:.76rem}.wol-profile-summary-grid strong{font-size:1rem}.wol-profile-edit{flex:0 0 auto}.wol-metric-result-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}.wol-metric-result-form .wol-btn{align-self:end}.wol-competition-result-form{margin:12px 0}.wol-competition-result-form .wol-btn{grid-column:1/-1;justify-self:start}.wol-additional-tests{margin-top:16px}
.wol-week-agenda{display:grid;grid-template-columns:repeat(7,minmax(115px,1fr));gap:10px;overflow-x:auto;padding-bottom:6px}.wol-day-column{min-width:115px;border-top:1px solid var(--wol-border);padding-top:7px}.wol-day-column.is-today{border-top:3px solid var(--wol-green)}.wol-day-column header{display:grid;gap:0;margin-bottom:8px}.wol-day-column header strong{font-size:1.55rem;font-weight:500}.wol-day-column header span{font-size:.8rem;color:var(--wol-muted)}.wol-day-events{display:grid;gap:8px}.wol-calendar-event{border-left:4px solid #3bb9ad;padding:7px 6px;background:#fff;display:grid;gap:2px;min-height:46px}.wol-calendar-event time{font-size:.76rem;font-weight:700;color:var(--wol-muted)}.wol-calendar-event strong{font-size:.84rem;line-height:1.25}.wol-calendar-event.is-training{border-left-color:#35b7ab}.wol-calendar-event.is-national{border-left-color:#3954bf}.wol-calendar-event.is-international{border-left-color:#dfba4a}.wol-calendar-event.is-recovery{border-left-color:#9aa4ad;background:#f5f6f7}.wol-calendar-event details{font-size:.75rem;margin-top:3px}.wol-calendar-event details span{display:block}.wol-calendar-comp-fields{display:flex;flex-wrap:wrap;align-items:end;gap:12px;width:100%}.wol-calendar-comp-fields[hidden]{display:none}.wol-calendar-comp-fields>label{flex:1 1 180px}
.wol-upcoming-events{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.wol-event-card{border:1px solid var(--wol-border);border-left:5px solid #3954bf;border-radius:10px;padding:12px;display:grid;grid-template-columns:1fr auto;gap:8px}.wol-event-card.is-international{border-left-color:#dfba4a}.wol-event-card div{display:grid}.wol-event-card span{font-size:.82rem;color:var(--wol-muted)}.wol-event-card b{font-size:.88rem}.wol-event-card details{grid-column:1/-1;font-size:.85rem}.wol-event-card details p{margin:5px 0}
@media(max-width:800px){.wol-profile-summary-grid{grid-template-columns:1fr 1fr}.wol-metric-result-form{grid-template-columns:1fr}.wol-week-agenda{grid-template-columns:repeat(7,minmax(145px,1fr))}.wol-upcoming-events{grid-template-columns:1fr}}

/* v0.2.5 clean collapsed-state fix: author layout rules must never override the HTML hidden state. */
.wol-app [hidden]{display:none!important}

/* v0.2.5 in-place UI correction: collapsed forms, expanded metric entry, fitted weekly agenda. */
.wol-app [hidden],
.wol-profile-form[hidden],
.wol-cycle-opt[hidden],
.wol-calendar-event-form[hidden],
.wol-performance-form[hidden],
.wol-metric-detail[hidden]{display:none!important}

.wol-metric-tile-wrap.is-expanded{grid-column:1/-1}
.wol-metric-tile-wrap.is-expanded .wol-metric-tile{width:100%}
.wol-metric-tile-wrap.is-expanded .wol-metric-detail{width:100%;box-sizing:border-box}
.wol-metric-result-form{grid-template-columns:minmax(160px,1fr) minmax(130px,.7fr) minmax(170px,1fr);align-items:end}
.wol-metric-result-form label{min-width:0}
.wol-metric-result-form input,.wol-metric-result-form select{width:100%;box-sizing:border-box}
.wol-metric-result-form .wol-form-actions{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}

.wol-calendar-event-form{display:grid;grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) minmax(120px,.7fr);gap:12px;align-items:end;margin-bottom:18px}
.wol-calendar-event-form>label{min-width:0}
.wol-calendar-event-form>label:nth-of-type(4){grid-column:1/-1}
.wol-calendar-event-form input,.wol-calendar-event-form select{width:100%;box-sizing:border-box}
.wol-calendar-event-form .wol-calendar-comp-fields{grid-column:1/-1}
.wol-calendar-event-form .wol-form-actions{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}

.wol-week-agenda{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;width:100%;overflow:visible;padding-bottom:0}
.wol-day-column{min-width:0;overflow-wrap:anywhere}
.wol-day-column header span{white-space:normal}
.wol-calendar-event{min-width:0}

@media(max-width:800px){
  .wol-metric-result-form{grid-template-columns:1fr}
  .wol-metric-result-form .wol-form-actions{grid-column:1}
  .wol-calendar-event-form{grid-template-columns:1fr}
  .wol-calendar-event-form>label:nth-of-type(4),.wol-calendar-event-form .wol-calendar-comp-fields,.wol-calendar-event-form .wol-form-actions{grid-column:1}
  .wol-week-agenda{grid-template-columns:repeat(7,minmax(140px,1fr));overflow-x:auto;padding-bottom:6px}
}

/* v0.2.6 performance metric visual system */
.wol-metric-tile-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.wol-metric-tile-wrap{display:flex;min-width:0}
.wol-metric-tile{width:100%;min-height:224px;height:100%;box-sizing:border-box;padding:16px;display:grid;grid-template-rows:auto minmax(72px,1fr) auto;align-content:stretch;gap:12px}
.wol-metric-name{color:var(--wol-teal,#0b6265)!important;font-weight:800!important;font-size:.92rem!important;letter-spacing:.035em;text-transform:uppercase;line-height:1.25;min-height:2.3em}
.wol-metric-summary{display:grid;gap:3px;align-self:end}
.wol-metric-summary strong{font-size:1.03rem;color:var(--wol-text,#16323a)}
.wol-metric-summary small{font-size:.78rem;color:#667085;line-height:1.35}
.wol-spark{height:76px;align-self:center;color:var(--wol-teal,#0f7778)}
.wol-spark polyline{stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
.wol-spark circle{fill:currentColor;stroke:#fff;stroke-width:.65;vector-effect:non-scaling-stroke}
.wol-spark-empty{height:76px}
.wol-metric-tile-wrap.is-expanded{display:grid;grid-column:1/-1}
.wol-metric-detail{min-width:0}
.wol-metric-detail-head>div{display:grid;gap:3px}.wol-metric-detail-head small{color:#667085}
.wol-metric-chart{display:block;width:100%;height:auto;max-height:360px;margin:10px 0 18px;overflow:visible}
.wol-chart-grid{stroke:#e4e7ec;stroke-width:1}.wol-chart-label,.wol-chart-date{fill:#667085;font-size:11px}.wol-chart-line{stroke:var(--wol-teal,#0f7778);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.wol-chart-point{fill:var(--wol-teal,#0f7778);stroke:#fff;stroke-width:2}
.wol-chart-empty{min-height:160px;display:flex;align-items:center;justify-content:center;border:1px dashed #d0d5dd;border-radius:10px;color:#667085;margin:10px 0 18px}
.wol-metric-history-table th,.wol-metric-history-table td{white-space:nowrap}.wol-metric-history-table th:first-child,.wol-metric-history-table td:first-child{white-space:normal}
.wol-heat{appearance:none;font-family:inherit;cursor:default}.wol-heat-expand{cursor:pointer}.wol-heat-expand:focus-visible{outline:3px solid rgba(15,119,120,.25);outline-offset:2px}
.wol-heat-detail{margin-top:12px;padding:14px 16px;border:1px solid #e7c86c;border-radius:10px;background:#fffaf0;display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.wol-heat-detail[hidden]{display:none!important}.wol-heat-detail p{margin:.45rem 0}.wol-heat-detail small{color:#667085}.wol-heat-close{appearance:none;border:0;background:transparent;font-size:1.45rem;line-height:1;cursor:pointer;color:#667085;padding:4px}
@media(max-width:900px){.wol-metric-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.wol-metric-tile-grid{grid-template-columns:1fr}.wol-metric-tile{min-height:210px}.wol-metric-chart{min-width:620px}.wol-metric-detail{overflow-x:auto}.wol-metric-history-table{min-width:560px}}

/* v0.2.6 in-place correction: WOL level achievement visual */
.wol-level-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:2px 0 14px}
.wol-level-head h3{margin:0;min-width:0}
.wol-level-achievement{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.wol-level-icon{display:flex;align-items:center;justify-content:center;min-width:42px;height:42px;font-size:1.7rem;line-height:1}
.wol-level-achievement .wol-stars{min-width:97px}
@media(max-width:520px){.wol-level-head{align-items:flex-start}.wol-level-achievement{gap:6px}.wol-level-icon{min-width:34px;height:34px;font-size:1.4rem}.wol-level-achievement .wol-stars{grid-template-columns:repeat(4,19px);grid-template-rows:repeat(2,19px);min-width:85px}}
/* v0.2.7 next-day carry-over */
.wol-carryover-notice{margin:0 0 14px;padding:11px 13px;border:1px solid #d8c894;border-left:4px solid #b6922e;border-radius:9px;background:#fffaf0;display:grid;gap:3px}.wol-carryover-notice strong{color:var(--wol-text)}.wol-carryover-notice span{font-size:.86rem;color:var(--wol-muted)}.wol-carryover-label{display:block;margin:-2px 0 5px;color:#8c6c13;font-weight:700}

/* v0.2.11: Calculators & Tools restored from the 0.2.10 branch. */
.wol-tools-page{display:grid;gap:14px}.wol-tool-tile{border:1px solid var(--wol-border);border-radius:12px;background:#fff;overflow:hidden}.wol-tool-tile>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;cursor:pointer;font-weight:800;color:var(--wol-green-dark);list-style:none}.wol-tool-tile>summary::-webkit-details-marker{display:none}.wol-tool-body{padding:0 18px 18px;display:grid;gap:14px}.wol-wc-result,.wol-1rm-result,.wol-score-live{padding:12px;border:1px solid var(--wol-border);border-radius:9px;background:var(--wol-bg);display:grid;gap:3px}.wol-wc-result strong,.wol-1rm-result strong,.wol-score-live strong{color:var(--wol-green-dark);font-size:1.2rem}.wol-bw-roadmap{margin-top:10px}.wol-bw-steps{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:6px}.wol-bw-step{border:1px solid var(--wol-border);border-radius:8px;padding:8px 5px;text-align:center}.wol-bw-step small,.wol-bw-step strong{display:block}.wol-score-current{display:flex;align-items:baseline;gap:10px}.wol-score-current strong{font-size:1.8rem;color:var(--wol-green-dark)}
@media(max-width:760px){.wol-bw-steps{grid-template-columns:repeat(3,minmax(0,1fr))}}
.wol-mode-toggle{display:flex;gap:8px}.wol-mode-toggle button{appearance:none;border:1px solid var(--wol-green);background:#fff;color:var(--wol-green-dark);border-radius:8px;padding:9px 12px;font-weight:800;cursor:pointer}.wol-mode-toggle button.is-active{background:var(--wol-green);color:#fff}.wol-live-warmups{display:grid;gap:7px}.wol-warm-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;border:1px solid var(--wol-border);border-radius:8px;padding:9px 11px}.wol-warm-row strong{color:var(--wol-green-dark)}.wol-final-lifts{margin-top:6px;padding-top:12px;border-top:1px solid var(--wol-border);display:grid;gap:9px}.wol-final-lifts-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.wol-final-lifts-display{font-size:1.7rem;color:var(--wol-green-dark);font-variant-numeric:tabular-nums}.wol-final-lifts-actions{display:flex;gap:8px;flex-wrap:wrap}


/* Planner layout repairs: keep controls boxed and resilient to theme form styles. */
.wol-bw-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:end}
.wol-bw-fields>label{min-width:0}.wol-bw-fields input,.wol-bw-fields select{display:block;min-width:0;max-width:100%;margin:0}
.wol-app .wol-mode-toggle button{background:#fff!important;color:var(--wol-green-dark)!important;border-color:var(--wol-green)!important}
.wol-app .wol-mode-toggle button.is-active{background:var(--wol-green)!important;color:#fff!important;border-color:var(--wol-green)!important}
.wol-app .wol-mode-toggle button.wol-comp-lift-tab:not(.is-active){background:#fff!important;color:#0a5557!important;-webkit-text-fill-color:#0a5557!important;opacity:1!important;text-shadow:none!important}
.wol-app .wol-mode-toggle button.wol-comp-lift-tab.is-active{background:#0f6b6d!important;color:#fff!important;-webkit-text-fill-color:#fff!important;opacity:1!important;text-shadow:none!important}
.wol-app .wol-comp-lift-tab .wol-comp-lift-label{display:inline-block!important;visibility:visible!important;opacity:1!important;color:#0a5557!important;-webkit-text-fill-color:#0a5557!important;text-shadow:none!important}
.wol-app .wol-comp-lift-tab.is-active .wol-comp-lift-label{color:#fff!important;-webkit-text-fill-color:#fff!important}
.wol-comp-attempt-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.wol-comp-attempt-card{min-width:0;min-height:86px;border:1px solid var(--wol-border);border-radius:9px;background:var(--wol-bg);padding:11px 12px;align-content:start;display:grid;gap:6px}
.wol-comp-attempt-card small{font-weight:700}.wol-comp-attempt-card strong{display:block;color:var(--wol-green-dark);font-size:1.08rem;line-height:1.25}
.wol-comp-attempt-card input{margin:0;min-width:0}.wol-comp-settings{display:grid;grid-template-columns:minmax(180px,260px);gap:10px}
@media(max-width:900px){.wol-comp-attempt-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.wol-bw-fields,.wol-comp-attempt-grid{grid-template-columns:1fr}.wol-comp-settings{grid-template-columns:1fr}}


/* Component-width responsive foundation: layouts adapt to their actual content area. */
.wol-app{container-type:inline-size;container-name:wol-app}
.wol-app input[type=date]{min-width:0;max-width:100%}
.wol-tool-score-form,.wol-qualification-form{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end}
.wol-tool-score-form>*,.wol-qualification-form>*{min-width:0;max-width:100%}
.wol-tool-score-form input,.wol-tool-score-form select,.wol-qualification-form input,.wol-qualification-form select{min-width:0;max-width:100%;margin:0}
.wol-qualification-form .wol-btn{width:100%;align-self:end}
.wol-qualification-form+.wol-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.wol-qualification-form+.wol-table-wrap .wol-table{min-width:620px}

@container wol-app (max-width:900px){
  .wol-metric-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wol-profile-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container wol-app (max-width:800px){
  .wol-profile-form,.wol-metric-result-form,.wol-calendar-event-form,.wol-upcoming-events{grid-template-columns:1fr}
  .wol-week-agenda{grid-template-columns:repeat(7,minmax(140px,1fr));overflow-x:auto;padding-bottom:6px}
  .wol-program-session{align-items:flex-start;flex-direction:column}
  .wol-upcoming-row{grid-template-columns:1fr;gap:4px}
  .wol-comp-countdown{align-items:flex-start;flex-direction:column}
}
@container wol-app (max-width:700px){
  .wol-tool-score-form,.wol-qualification-form,.wol-bw-fields,.wol-comp-attempt-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wol-tool-score-form .wol-score-live{grid-column:1/-1}
  .wol-grid-3,.wol-dashboard-links{grid-template-columns:1fr}
  .wol-hero,.wol-session-head,.wol-achievement{align-items:flex-start;flex-direction:column}
  .wol-calendar-row{grid-template-columns:1fr}
  .wol-calendar-row small{grid-column:auto}
  .wol-video-grid{grid-template-columns:1fr}
  .wol-goal-form{grid-template-columns:1fr}
  .wol-goal-form label,.wol-goal-form button{grid-column:1}
  .wol-milestone{grid-template-columns:1fr;gap:2px}
  .wol-goal-values{flex-direction:column;gap:8px}
}
@container wol-app (max-width:600px){
  .wol-grid-2,.wol-metric-tile-grid{grid-template-columns:1fr}
  .wol-metric-tile{min-height:210px}
  .wol-metric-detail{overflow-x:auto}
  .wol-metric-chart{min-width:620px}
  .wol-metric-history-table{min-width:560px}
}
@container wol-app (max-width:460px){
  .wol-tool-score-form,.wol-qualification-form,.wol-bw-fields,.wol-comp-attempt-grid,.wol-profile-summary-grid{grid-template-columns:1fr}
  .wol-tool-score-form .wol-score-live{grid-column:auto}
  .wol-comp-settings{grid-template-columns:1fr}
  .wol-tool-body{padding-inline:13px}
  .wol-tool-tile>summary{padding-inline:13px}
  .wol-final-lifts-head{align-items:flex-start;flex-direction:column}
}


/* Keep tool forms compact in narrow desktop/tablet columns, then stack on phones. */
@container wol-app (max-width:700px){
  .wol-tool-score-form.wol-grid-3,.wol-qualification-form.wol-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container wol-app (max-width:460px){
  .wol-tool-score-form.wol-grid-3,.wol-qualification-form.wol-grid-3{grid-template-columns:1fr}
}

/* Keep planner controls inside their grid tracks on compact desktop panels. */
.wol-tool-body>*{min-width:0}
.wol-mode-toggle{display:flex;flex-wrap:wrap;min-width:0}
.wol-mode-toggle button{min-width:0;max-width:100%;white-space:normal}
.wol-comp-settings label{min-width:0}
.wol-comp-settings select{width:100%;min-width:0}
.wol-bw-fields>label,.wol-comp-attempt-card,.wol-tool-score-form>label,.wol-qualification-form>label,.wol-score-live{min-width:0;width:100%}
.wol-bw-fields input,.wol-bw-fields select,.wol-comp-attempt-card input,.wol-tool-score-form input,.wol-tool-score-form select,.wol-qualification-form input,.wol-qualification-form select{width:100%;min-width:0;box-sizing:border-box}
@container wol-app (max-width:860px){
  .wol-bw-fields,.wol-tool-score-form,.wol-qualification-form{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wol-comp-attempt-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wol-tool-score-form .wol-score-live{grid-column:1/-1}
  .wol-qualification-form .wol-btn{grid-column:1/-1}
}
@container wol-app (max-width:460px){
  .wol-bw-fields,.wol-tool-score-form,.wol-qualification-form,.wol-comp-attempt-grid{grid-template-columns:1fr}
  .wol-tool-score-form .wol-score-live{grid-column:auto}
  .wol-qualification-form .wol-btn{grid-column:1}
}

/* Qualification results: preserve the table on wide screens and use labelled cards in narrow components. */
.wol-qualification-table .screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@container wol-app (max-width:700px){
  .wol-qualification-form+.wol-table-wrap{overflow:visible}
  .wol-qualification-form+.wol-table-wrap .wol-qualification-table{display:block;min-width:0}
  .wol-qualification-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  .wol-qualification-table tbody{display:grid;gap:10px}
  .wol-qualification-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;padding:12px;border:1px solid var(--wol-border);border-radius:9px;background:var(--wol-bg)}
  .wol-qualification-table td{display:block;min-width:0;padding:0;border:0;overflow-wrap:anywhere}
  .wol-qualification-table td::before{content:attr(data-label);display:block;margin-bottom:3px;color:var(--wol-muted);font-size:.72rem;font-weight:800;line-height:1.25}
  .wol-qualification-table td[data-label="Competition"],.wol-qualification-table td[data-label="Actions"]{grid-column:1/-1}
  .wol-qualification-table .wol-qual-delete{width:100%}
}
@container wol-app (max-width:460px){
  .wol-qualification-table tr{grid-template-columns:1fr}
  .wol-qualification-table td{grid-column:1}
}

.wol-performance-actions{display:grid;gap:7px;min-width:118px}
.wol-performance-actions>.wol-btn{width:100%}
.wol-performance-edit-form{display:grid;gap:7px;margin-top:4px;padding-top:7px;border-top:1px solid var(--wol-border)}
.wol-performance-edit-form label{display:grid;gap:3px;font-size:.78rem;font-weight:700}
.wol-performance-edit-form input{min-width:0;width:100%;padding:7px 8px;min-height:36px}
.wol-performance-edit-form .wol-form-actions{display:flex;gap:5px;flex-wrap:wrap}
.wol-performance-edit-form .wol-btn{flex:1 1 auto;min-height:34px;padding:6px 8px}
@container wol-app (max-width:600px){.wol-metric-history-table{min-width:700px}}
