/* Endurance Lab v12 · Adaptive Training Coach — clear, opt-in, responsive */
.ac-panel{margin:18px 0 22px;padding:clamp(18px,3vw,29px)!important;border-color:rgba(183,225,161,.32)!important;background:linear-gradient(128deg,rgba(33,65,57,.29),transparent 65%),#142637}
.ac-heading{display:flex;align-items:start;justify-content:space-between;gap:18px}
.ac-heading h2{font-size:clamp(23px,3vw,31px);margin:6px 0 8px;letter-spacing:-.04em}
.ac-heading p{margin:0 0 14px;font-size:13px;line-height:1.6;color:#b8d0db;max-width:720px}
.ac-heading p strong{color:#e5f1d6}
.ac-badge{display:inline-flex;white-space:nowrap;align-items:center;gap:5px;border:1px solid rgba(177,232,160,.38);border-radius:100px;padding:8px 11px;color:#c8eca9;font-size:10px;font-weight:800;letter-spacing:.08em}
.ac-week{display:flex;flex-wrap:wrap;align-items:center;gap:10px;border:1px solid rgba(167,195,215,.18);background:rgba(10,27,37,.63);border-radius:11px;padding:13px 15px;margin:10px 0 19px}
.ac-week>span{font-size:10px;color:#9bb9ca;font-weight:850;letter-spacing:.1em}
.ac-week>strong{color:#f1fae9;font-size:15px}
.ac-week>small{font-size:11px;color:#a1bdc9;margin-left:auto}
.ac-config{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,1.2fr);gap:20px}
.ac-days{margin:0;padding:0;border:0;min-width:0}
.ac-days legend{margin:0 0 10px;color:#c8dce4;font-size:12px;font-weight:800}
.ac-day-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.ac-day-grid label{cursor:pointer;position:relative;min-width:0}
.ac-day-grid input{position:absolute;width:1px;height:1px;opacity:0}
.ac-day-grid label>span{display:flex;align-items:center;justify-content:center;min-height:42px;border:1px solid #426074;border-radius:9px;background:#152d3d;color:#afc6d5;font-size:11px;font-weight:800}
.ac-day-grid input:checked+span{background:#bced8b;border-color:#bced8b;color:#19322d}
.ac-day-grid input:focus-visible+span{outline:3px solid #e8ffb7;outline-offset:3px}
.ac-config-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.ac-config-options>label{display:flex;flex-direction:column;gap:8px;color:#c3d6e2;font-size:12px;font-weight:750}
.ac-config-options label span{font-weight:450;color:#9ab7c9}
.ac-config-options input,.ac-config-options select{background:#132c3b;border:1px solid #426074;border-radius:9px;color:#eaf8fd;padding:10px;min-height:42px;width:100%;min-width:0;font-size:12px;font-weight:550}
.ac-config-options input:focus-visible,.ac-config-options select:focus-visible{outline:2px solid #c4ef88;outline-offset:3px}
.ac-controls{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:19px 0 7px}
.ac-controls>.btn{min-height:42px}
.ac-small-note{font-size:11px;color:#a9c2cf;flex:1 1 180px;line-height:1.55}
.ac-message{font-size:12px;line-height:1.6;color:#b3cfb9;margin:9px 0}
.ac-message.ac-error{color:#ffc3c7}
.ac-preview{margin:18px 0 12px;padding:17px 15px;border:1px solid rgba(166,211,181,.24);border-radius:14px;background:rgba(8,24,34,.45)}
.ac-preview-top{display:flex;justify-content:space-between;gap:12px;align-items:start;margin-bottom:14px}
.ac-preview-top h3{font-size:18px;margin:0 0 5px}
.ac-preview-top p{font-size:12px;color:#acc2cf;line-height:1.5;margin:0}
.ac-preview-count{font-size:11px;font-weight:800;border:1px solid #436253;border-radius:100px;color:#bdeaa4;padding:7px 11px;white-space:nowrap}
.ac-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}
.ac-stat{display:flex;flex-direction:column;gap:5px;padding:13px;border:1px solid rgba(168,194,212,.2);border-radius:10px;background:rgba(24,48,60,.67)}
.ac-stat small{color:#9fbccc;font-size:11px;font-weight:800}
.ac-stat strong{font-size:20px;color:#eaf9e8;letter-spacing:-.03em}
.ac-stat span{font-size:11px;color:#a3bdca;line-height:1.45}
.ac-explanation{font-size:12px;line-height:1.65;color:#c0d5df;margin:12px 0}
.ac-warnings{border:1px solid rgba(245,194,129,.27);border-radius:10px;background:rgba(77,49,36,.3);padding:10px 13px;margin:13px 0}
.ac-warnings p{font-size:12px;color:#f8d5ae;line-height:1.55;margin:5px 0}
.ac-suggestion-list{display:grid;gap:8px;margin:14px 0}
.ac-suggestion{display:flex;align-items:start;gap:12px;padding:15px 12px;border:1px solid rgba(153,191,213,.22);border-radius:10px;background:#162e3e;cursor:pointer}
.ac-suggestion input{flex:none;width:19px;height:19px;accent-color:#c4ec8a;margin:2px 0 0}
.ac-suggestion-details{display:flex;min-width:0;flex-direction:column;gap:5px}
.ac-suggestion-details strong{color:#f0f8f9;font-size:13px}
.ac-suggestion-details small{color:#c3e7a5;font-size:12px}
.ac-suggestion-details em{font-style:normal;color:#adc4cf;font-size:12px;line-height:1.55}
.ac-empty{padding:28px 15px;text-align:center;color:#b8cdd8;font-size:13px;line-height:1.6}
.ac-approval{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px}
.ac-approval .btn[disabled]{opacity:.45;cursor:not-allowed;transform:none}
@media(max-width:890px){.ac-config{grid-template-columns:1fr}.ac-day-grid{max-width:620px}.ac-week>small{flex-basis:100%;margin-left:0}}
@media(max-width:620px){.ac-badge{display:none}.ac-config-options{grid-template-columns:1fr 1fr}.ac-config-options>label:last-child{grid-column:1/-1}.ac-stats{grid-template-columns:1fr 1fr}.ac-stats>.ac-stat:last-child{grid-column:1/-1}.ac-controls>.btn{flex:1 1 150px}.ac-approval .btn{flex:1 1 150px}.ac-day-grid label>span{font-size:10px;min-height:40px}}

/* v12.1 · Weekly recommendation inside the existing Adaptive Coach */
.ac-advice{--advice-accent:#c9eaa2;--advice-bg:rgba(68,94,66,.16);
  border:1px solid rgba(181,217,170,.32);border-radius:14px;padding:clamp(15px,2vw,23px);
  background:linear-gradient(130deg,var(--advice-bg),rgba(7,28,38,.5) 75%);margin:12px 0 23px}
.ac-advice-maintain{--advice-accent:#c9eaa2;}
.ac-advice-rest{--advice-accent:#ffcb98;--advice-bg:rgba(111,75,44,.28);border-color:rgba(255,200,145,.36)}
.ac-advice-increase{--advice-accent:#b9eda0;--advice-bg:rgba(53,106,67,.25);border-color:rgba(168,228,156,.37)}
.ac-advice-baseline{--advice-accent:#b3cfe2;--advice-bg:rgba(59,88,115,.2);border-color:rgba(168,193,221,.27)}
.ac-advice-top{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}
.ac-advice-eyebrow{font-size:10px;color:var(--advice-accent);font-weight:850;letter-spacing:.15em;margin-bottom:7px}
.ac-advice-top h3{font-size:clamp(19px,2.4vw,26px);color:#f5fcf9;letter-spacing:-.025em;margin:0 0 7px}
.ac-advice-top p{font-size:13px;color:#b9d0da;line-height:1.55;margin:0 0 14px;max-width:660px}
.ac-advice-badge{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;
  font-size:10px;letter-spacing:.075em;font-weight:850;color:var(--advice-accent);
  border:1px solid var(--advice-accent);padding:8px 11px;border-radius:100px}
.ac-advice-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:8px 0 14px}
.ac-advice-stat{padding:13px;border-radius:10px;background:rgba(8,26,37,.53);
  border:1px solid rgba(149,185,205,.17);display:flex;flex-direction:column;gap:5px}
.ac-advice-stat small{font-size:11px;color:#a8c6d2;font-weight:750}
.ac-advice-stat strong{font-size:clamp(17px,2vw,23px);line-height:1.3;color:#f2f9f9;overflow-wrap:anywhere}
.ac-advice-stat span{font-size:11px;color:#a5bbc9;line-height:1.4}
.ac-advice-action{margin:10px 0 14px;padding:12px 15px;border-left:3px solid var(--advice-accent);
  border-radius:0 8px 8px 0;background:rgba(13,37,46,.6);color:#e2eeda;font-size:13px;line-height:1.65}
.ac-advice-details{border-top:1px solid rgba(159,198,203,.17);padding-top:12px}
.ac-advice-details summary{font-size:12px;color:#cae2d9;font-weight:800;cursor:pointer}
.ac-advice-details summary:focus-visible{outline:2px solid var(--advice-accent);outline-offset:4px}
.ac-advice-reasons{padding:7px 4px}
.ac-advice-reasons p{font-size:12px;color:#b5cbd6;line-height:1.6;margin:8px 0}
.ac-advice-footnote{font-size:11px;color:#8eacba;line-height:1.6;margin:10px 0 0}
@media(max-width:620px){
 .ac-advice-top{flex-direction:column;gap:0}
 .ac-advice-badge{margin-bottom:13px}
 .ac-advice-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 .ac-advice-stat:last-child{grid-column:1/-1}
}

/* v12.2 · Rolling workload and recovery-aware calendar adjustments */
.ac-advice-easy{--advice-accent:#8ad9ec;--advice-bg:rgba(40,97,114,.23);
  border-color:rgba(131,212,230,.38)}
.ac-advice-stats:has(.ac-advice-stat:nth-child(4)){grid-template-columns:repeat(4,minmax(0,1fr))}
.ac-advice-stat strong{font-size:clamp(16px,1.8vw,22px)}
.ac-readiness-trends{border-top:1px solid rgba(161,187,200,.2);margin:18px 0 7px;padding-top:17px}
.rr-trend-top{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:17px}
.rr-trend-top>div{padding:13px 16px;background:rgba(8,25,37,.58);border:1px solid rgba(158,187,202,.17);
 border-radius:11px;display:flex;flex-direction:column;gap:5px}
.rr-trend-top small{font-size:10px;letter-spacing:.09em;color:#a4bece;font-weight:850}
.rr-trend-top strong{font-size:23px;letter-spacing:-.03em;color:#f1f8ed}
.rr-trend-top span{font-size:11px;line-height:1.5;color:#b0c9d4}
.rr-chart-legend{display:flex;justify-content:space-between;align-items:baseline;gap:12px;color:#bfd4de;font-size:12px;margin-bottom:9px}
.rr-chart-legend small{font-size:10px;color:#a0bbc8}
.rr-chart{display:grid;grid-template-columns:repeat(35,minmax(0,1fr));align-items:end;gap:3px;height:104px;
 background:rgba(5,20,29,.46);border-radius:11px;border:1px solid rgba(144,180,198,.13);
 padding:8px 10px 9px;position:relative}
.rr-chart-cell{height:100%;position:relative;display:flex;align-items:end;justify-content:center;border-radius:3px}
.rr-chart-cell.rr-recent{background:rgba(166,226,139,.075)}
.rr-chart-bar{background:#628e9e;display:block;width:100%;max-width:17px;min-height:0;border-radius:3px 3px 1px 1px}
.rr-chart-cell.rr-recent .rr-chart-bar{background:#c5ee9e}
.rr-chart-tooltip{display:none;position:absolute;bottom:100%;left:50%;transform:translateX(-50%);
 padding:6px 8px;background:#102b3b;color:#fff;white-space:nowrap;border:1px solid #4c7180;
 font-size:10px;border-radius:5px;z-index:4;pointer-events:none}
.rr-chart-cell:hover .rr-chart-tooltip{display:block}
.rr-chart-foot{display:flex;justify-content:space-between;color:#95b6c5;font-size:10px;margin:7px 4px 0}
.rr-trend-caveat{font-size:11px;color:#a8c1cd;line-height:1.6;margin:12px 0 0}
.ac-recovery-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:17px}
.ac-recovery-actions .btn{min-height:40px}
.ac-recovery-actions button:disabled{opacity:.45;cursor:not-allowed}
.ac-recovery-actions small{font-size:11px;line-height:1.45;color:#a5c0ce;flex:1 1 170px}
.rr-adjust-panel{border:1px solid rgba(180,223,158,.26);border-radius:11px;background:#112c38;padding:16px;margin-top:14px}
.rr-adjust-head h4{font-size:17px;color:#edfcf0;margin:0 0 6px}
.rr-adjust-head p{font-size:12px;color:#b4c9d3;margin:0 0 15px;line-height:1.6}
.rr-adjust-choices{display:grid;gap:10px}
.rr-adjust-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(185px,.9fr);align-items:center;gap:12px;
 border:1px solid rgba(139,187,201,.22);border-radius:9px;padding:13px;background:rgba(6,26,39,.5)}
.rr-adjust-item>div{display:flex;flex-direction:column;gap:6px;min-width:0}
.rr-adjust-item strong{font-size:13px;color:#eaf6ee;overflow-wrap:anywhere}
.rr-adjust-item small{font-size:11px;color:#a3bbc9}
.rr-adjust-item label{display:flex;flex-direction:column;gap:6px;color:#afc9d3;font-size:11px;font-weight:750}
.rr-adjust-item select{width:100%;min-height:40px;border-radius:8px;background:#183749;color:#f3fbff;
 border:1px solid #507487;padding:9px;font-size:12px;min-width:0}
.rr-adjust-item select:focus-visible{outline:2px solid #c4ee9d;outline-offset:3px}
.rr-adjust-footer{display:flex;flex-wrap:wrap;gap:9px;margin-top:15px}
.rr-adjust-footer .btn:disabled{opacity:.45;cursor:not-allowed}
#rrAdjustMessage{font-size:12px;color:#b5d4c0;line-height:1.5;margin:12px 0 0}
@media(max-width:850px){.ac-advice-stats:has(.ac-advice-stat:nth-child(4)){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.rr-chart{gap:2px;padding-inline:5px}.rr-chart-legend{display:block}
 .rr-chart-legend small{display:block;margin-top:4px}.rr-adjust-item{grid-template-columns:1fr}
 .ac-recovery-actions .btn{flex:1 1 100%}.rr-trend-top>div{padding:11px}}
