/* Endurance Lab 12.3 — My Week, simplified.
 * Presentation-only layer; planning, recovery and check-in state stay untouched. */
#view-calendar{--week-bg:#102432;--week-border:rgba(165,198,211,.2);--week-green:#c9ed9f}
#view-calendar .week-page-head{max-width:850px;margin-bottom:19px}
#view-calendar .week-page-head h1{font-size:clamp(32px,4vw,48px);letter-spacing:-.055em;margin:5px 0 7px}
#view-calendar .week-page-head p{font-size:14px;line-height:1.5;max-width:650px}
#view-calendar .week-title-dot{color:#c4e793}
#view-calendar .cal-top{background:linear-gradient(140deg,#1b3543,#152b3a 85%);border:1px solid var(--week-border);
 border-radius:16px;padding:clamp(16px,2.4vw,25px);margin-bottom:0}
#view-calendar .cal-toolbar{margin:0 0 14px;gap:14px}
#view-calendar .cal-toolbar h2{font-size:clamp(18px,2.6vw,25px);margin:3px 0 7px;letter-spacing:-.03em}
#view-calendar #calBlockInfo{font-size:12px;line-height:1.5;color:#a3bcc9}
#view-calendar .cal-toolbar .cal-actions{gap:7px}
#view-calendar .cal-toolbar .cal-actions .btn{font-size:12px;min-height:38px}
#view-calendar .week-main-actions{display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap}
#view-calendar .week-add-btn{min-height:43px;padding:10px 19px;font-weight:800}
#view-calendar .week-more-actions{position:relative;z-index:8}
#view-calendar .week-more-actions summary{cursor:pointer;min-height:43px;display:inline-flex;align-items:center;
 justify-content:center;padding:10px 17px;border-radius:9px;list-style:none;border:1px solid #405c6d;color:#e5f4ef}
#view-calendar .week-more-actions summary::-webkit-details-marker{display:none}
#view-calendar .week-more-actions summary:hover{background:#29485b}
#view-calendar .week-more-actions summary:focus-visible,
#view-calendar .week-expandable>summary:focus-visible,
#view-calendar .week-deep-dive>summary:focus-visible,
#view-calendar .week-text-action:focus-visible{outline:3px solid #d6f4a3;outline-offset:3px}
#view-calendar .week-more-menu{position:absolute;top:calc(100% + 7px);left:0;z-index:20;min-width:252px;max-width:min(340px,calc(100vw - 54px));
 padding:11px;background:#162e3d;border-radius:12px;border:1px solid #507084;box-shadow:0 20px 45px #020e18c9;
 display:grid;gap:7px}
#view-calendar .week-more-menu .btn{justify-content:flex-start;text-align:left;min-height:39px;font-size:12px}
#view-calendar .week-more-menu p{font-size:11px;line-height:1.55;color:#a8c3d0;padding:8px 4px 0;margin:2px 0 0;border-top:1px solid #3b5362}
#view-calendar .cal-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:13px 0 16px}
#view-calendar .cal-stat{padding:13px 15px;border:1px solid var(--week-border);
 background:rgba(21,45,58,.65);border-radius:11px;min-height:87px}
#view-calendar .cal-stat small{color:#a7c0ce;font-size:11px;line-height:1.35}
#view-calendar .cal-stat b{font-size:22px;letter-spacing:-.02em;color:#edf9f6;margin:5px 0}
#view-calendar .week-essentials{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:13px;margin:10px 0 26px}
#view-calendar .week-quick-card{position:relative;min-width:0;background:linear-gradient(135deg,#1b3944,#142a3a);border:1px solid var(--week-border);
 border-radius:15px;padding:19px 20px;display:flex;flex-direction:column;align-items:flex-start;gap:7px}
#view-calendar .week-coach-card{border-color:rgba(170,225,169,.32);background:linear-gradient(135deg,#203e3e,#172e3e 80%)}
#view-calendar .week-coach-rest{border-color:rgba(255,199,157,.5);background:linear-gradient(135deg,#46352f,#1b3040 83%)}
#view-calendar .week-coach-easy{border-color:rgba(116,206,235,.4)}
#view-calendar .week-quick-label{color:#9dbbc9;letter-spacing:.14em;font-size:10px;font-weight:900;display:flex;align-items:center;gap:7px}
#view-calendar .week-quick-icon{font-size:14px;color:#c7e7a1}
#view-calendar .week-quick-chip{font-size:10px;color:#cbebae;background:rgba(142,194,151,.12);border-radius:100px;
 border:1px solid rgba(168,217,158,.26);padding:5px 10px;font-weight:800;letter-spacing:.05em}
#view-calendar .week-coach-rest .week-quick-chip{color:#ffe0b4;border-color:rgba(255,196,146,.4);background:rgba(148,86,48,.12)}
#view-calendar .week-quick-card h2{font-size:clamp(19px,2.5vw,24px);letter-spacing:-.03em;line-height:1.25;color:#f3fcfc;margin:4px 0 0}
#view-calendar .week-quick-card p{font-size:12px;line-height:1.6;color:#bbcfdb;margin:0 0 8px;max-width:480px;flex:1 1 auto}
#view-calendar .week-text-action{background:none;border:0;padding:5px 0;margin-top:auto;cursor:pointer;text-align:left;
 font-size:12px;font-weight:900;color:#c6eaa2;min-height:30px}
#view-calendar .week-text-action span{margin-left:5px}
#view-calendar .week-text-action:hover{text-decoration:underline}
#view-calendar .week-calendar-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin:20px 2px 12px}
#view-calendar .week-calendar-heading h2{font-size:23px;letter-spacing:-.03em;margin:5px 0 6px}
#view-calendar .week-calendar-heading p{font-size:12px;color:#a4bdcc;margin:0;line-height:1.5}
#view-calendar .week-calendar-hint{font-size:11px;color:#9cb5c4;text-align:right;max-width:230px}
#view-calendar .cal-grid{gap:8px;margin:0 0 25px}
#view-calendar .cal-day{min-height:160px;padding:11px;border-radius:13px;background:linear-gradient(165deg,#1b3242,#142635);
 border-color:rgba(135,175,198,.21)}
#view-calendar .cal-day.today{border-color:#bedf8c;box-shadow:0 0 0 1px rgba(175,221,129,.13)}
#view-calendar .cal-dayhead{padding-bottom:8px;margin-bottom:10px}
#view-calendar .cal-dayhead b{color:#e5f2f2}
#view-calendar .cal-empty{display:none}
#view-calendar .cal-rest{font-style:normal;color:#89a6b6;font-size:11px;padding:3px 0}
#view-calendar .cal-session{padding:9px 8px;border-radius:8px}
#view-calendar .cal-session .cal-mini{margin-top:9px}
#view-calendar .cal-dayhead button:focus-visible{outline:2px solid #d7f7a7}
#view-calendar .week-expandable{border:1px solid var(--week-border);border-radius:14px;background:#142a3a;margin:14px 0;overflow:visible}
#view-calendar .week-expandable>summary{list-style:none;cursor:pointer;padding:19px 20px;display:flex;align-items:center;gap:12px;
 min-height:75px;border-radius:14px;background:linear-gradient(130deg,#1c3646,#142b3b)}
#view-calendar .week-expandable>summary::-webkit-details-marker{display:none}
#view-calendar .week-expandable>summary:hover{background:#213f4c}
#view-calendar .week-summary-icon{display:flex;justify-content:center;align-items:center;flex:none;width:38px;height:38px;border-radius:11px;
 background:rgba(180,230,160,.12);font-size:20px;color:#c3eaa5}
#view-calendar .week-expandable>summary>span:nth-child(2){display:flex;flex-direction:column;gap:4px;min-width:0}
#view-calendar .week-expandable>summary strong{font-size:15px;color:#effaf7}
#view-calendar .week-expandable>summary small{font-size:11px;color:#adc5d1;line-height:1.5}
#view-calendar .week-summary-chevron{margin-left:auto;font-size:26px;color:#a1c8b2;transition:transform .2s ease}
#view-calendar .week-expandable[open]>summary .week-summary-chevron{transform:rotate(180deg)}
#view-calendar .week-expandable[open]>summary{border-radius:14px 14px 0 0;border-bottom:1px solid var(--week-border)}
#view-calendar .week-coach-expandable .ac-panel{border:0!important;border-radius:0 0 14px 14px;margin:0!important;
 background:#142a3a!important;padding:clamp(15px,2vw,24px)!important}
#view-calendar .week-review-content{padding:14px 16px 18px}
#view-calendar .week-review-content>.grid{margin:0 0 15px}
#view-calendar .week-review-content .panel{background:#172f3e}
#view-calendar .week-review-content>.panel{margin:0}
#view-calendar .week-deep-dive{border:1px solid var(--week-border);border-radius:10px;margin:12px 0 16px}
#view-calendar .week-deep-dive>summary{cursor:pointer;font-size:12px;color:#c6e3d1;font-weight:850;padding:13px 14px}
#view-calendar .week-deep-dive .ac-readiness-trends{margin:0 14px 14px}
@media(max-width:1050px){#view-calendar .cal-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
 #view-calendar .cal-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){#view-calendar .cal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 #view-calendar .week-essentials{grid-template-columns:1fr}
 #view-calendar .week-quick-card{padding:18px}
 #view-calendar .week-calendar-hint{display:none}
 #view-calendar .cal-toolbar{align-items:flex-start}}
@media(max-width:520px){#view-calendar .cal-top{padding:15px}
 #view-calendar .cal-toolbar .cal-actions{width:100%;display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}
 #view-calendar .cal-toolbar .cal-actions .btn{font-size:11px;padding:9px 6px;white-space:nowrap}
 #view-calendar .cal-stats{gap:7px}
 #view-calendar .cal-stat{padding:12px 10px;min-height:80px}
 #view-calendar .cal-stat b{font-size:20px}
 #view-calendar .cal-grid{grid-template-columns:1fr;gap:8px}
 #view-calendar .cal-day{min-height:0;padding:12px}
 #view-calendar .week-main-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 #view-calendar .week-add-btn{width:100%}
 #view-calendar .week-more-actions summary{width:100%}
 #view-calendar .week-more-menu{left:auto;right:0}
 #view-calendar .week-expandable>summary{padding:15px 13px;gap:10px}
 #view-calendar .week-expandable>summary strong{font-size:14px}
 #view-calendar .week-summary-icon{width:34px;height:34px}
 #view-calendar .week-review-content{padding:12px}
 #view-calendar .cal-review-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){#view-calendar .week-summary-chevron{transition:none}}
