/* Club Hub Planning Studio — TSC blue, scoped to planning classes */
.plan-intro{margin:0 0 18px;background:linear-gradient(100deg,#edf5ff,#f7faff);border:1px solid #d9e7f8;border-radius:15px;padding:14px 17px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.plan-intro>div{display:flex;gap:12px;align-items:flex-start}.plan-intro b{font-size:13px;color:#124d87;white-space:nowrap}.plan-intro span:not(.pill){font-size:12px;color:#536b84}
.plan-inline{min-width:198px}.plan-inline select{min-width:160px}
.plan-steps,.plan-weeknav{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 20px}
.plan-steps button,.plan-weeknav button{border:1px solid #dce6f2;background:#fff;border-radius:12px;padding:12px 17px;color:#2c496a;cursor:pointer;font-weight:750;text-align:center}
.plan-steps button.active,.plan-weeknav button.active{background:#143d6c;border-color:#143d6c;color:white}
.plan-steps button:hover,.plan-weeknav button:hover{border-color:#3673ae}
.plan-weeknav button{flex:1;min-width:75px;display:flex;flex-direction:column;gap:3px}
.plan-weeknav button small{font-size:11px;font-weight:500;color:#667e9b}.plan-weeknav button.active small{color:#e4eefb}
.plan-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:15px 0}
.plan-stat{border:1px solid #e0e9f2;background:white;border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:4px}
.plan-stat span{color:#647891;font-size:12px;font-weight:600}.plan-stat b{font-size:26px;color:#123e72;letter-spacing:-.5px}.plan-stat small{font-size:11px;color:#7489a3}
.plan-source-list>div{padding:13px 0;border-bottom:1px solid #e9eef5}.plan-source-list b{font-size:12px;color:#1a4c80}.plan-source-list p{margin:4px 0;color:#526a81}
.plan-refs{display:flex;gap:7px;flex-wrap:wrap;padding-top:18px}.plan-refs>b{width:100%;font-size:12px}.plan-refs p{width:100%;margin:0 0 5px;font-size:12px;color:#73859c}.plan-refs a{display:inline-block;padding:6px 9px;border-radius:8px;text-decoration:none;background:#eaf2fb;border:1px solid #dceafb;color:#17558f;font-size:11px;font-weight:650}
.plan-month-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:16px 0}
.plan-month{border:1px solid #e1e9f3;border-radius:12px;background:#f8fbff;padding:13px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;gap:7px;cursor:pointer;min-height:127px}
.plan-month.active{background:#e8f3ff;border-color:#2776bc;box-shadow:inset 0 0 0 1px #2776bc}
.plan-month>b{font-size:13px;color:#164977}.plan-month small{font-size:11px;color:#6c829a;line-height:1.25;min-height:30px}.plan-month span{font-size:11px;color:#536d88}.plan-month span strong{font-size:20px;color:#0b3b70}.plan-month em{font-size:10px;color:#68819c;font-style:normal}
.plan-month-editor{border-top:1px solid #e5edf5;padding-top:18px}.plan-month-editor h3{margin:0 0 10px}
.plan-checks{display:flex;flex-direction:column;gap:10px;margin:10px 0}.plan-check{display:flex;gap:12px;border:1px solid #e1e9f4;padding:13px 14px;background:#f9fbfe;border-radius:11px}
.plan-check.caution{background:#fffbf2;border-color:#f0dfba}.plan-check.tip{background:#f3f8ff;border-color:#daebfa}.plan-check.good{background:#f0fbf7;border-color:#c7e8d8}
.plan-flag{display:inline-flex;flex:0 0 23px;justify-content:center;align-items:center;align-self:flex-start;height:23px;border-radius:50%;background:#dceafb;color:#1d568c;font-weight:800}.plan-check.caution .plan-flag{background:#f8e8c5;color:#a46d13}
.plan-check b{font-size:12px;color:#25476b}.plan-check p{font-size:12px;color:#586e87;margin:3px 0}.plan-check small{font-size:10px;color:#879ab0}
.plan-event{padding:12px 0;border-bottom:1px solid #edf1f6;display:flex;align-items:center;gap:14px}.plan-event b{display:block;font-size:12px}.plan-event small{display:block;font-size:11px;color:#6f84a0}.plan-event .link{margin-left:auto}.plan-date{font-size:12px;padding:7px;border:1px solid #e2eaf3;border-radius:7px;color:#24547e;font-weight:700;background:#f3f8ff}
.plan-toolbar{padding:13px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#fff;border:1px solid #e3eaf4;border-radius:13px}
.plan-weekpicker{align-items:flex-end!important}.plan-weekpicker input{width:175px}.plan-weekpicker label{min-width:175px}
.plan-ytp-context{display:grid;grid-template-columns:2fr 1fr .9fr auto;gap:12px;align-items:center;padding:15px;border-radius:13px;background:#e9f3fc;border:1px solid #d3e4f6;margin:15px 0}
.plan-ytp-context>div{display:flex;flex-direction:column;gap:2px}.plan-ytp-context small{color:#52708a;font-size:11px}.plan-ytp-context b{font-size:14px;color:#164b82}.plan-ytp-context p{color:#56738e;font-size:12px;line-height:1.35;margin:4px 0}
.plan-choice{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}.plan-choice label{display:flex;gap:8px;align-items:center;padding:12px 15px;background:#f3f7fc;border:1px solid #dfe7ef;border-radius:11px;cursor:pointer;font-weight:600}
.plan-choice input{accent-color:#1768bc}.plan-day-head{display:flex;justify-content:space-between;align-items:center;padding:9px 1px;border-bottom:1px solid #e0e9f3;margin-bottom:8px}.plan-day-head small{color:#66819c}
.plan-session{display:grid;grid-template-columns:minmax(140px,215px) minmax(0,1fr);align-items:start;gap:14px;border-bottom:1px solid #e9eef5;padding:15px 0}
.plan-session-title{display:flex;flex-direction:column;gap:4px}.plan-session-title b{color:#163e6b;font-size:13px}.plan-session-title small{color:#788da2;font-size:11px}
.plan-session-fields{display:grid;grid-template-columns:minmax(185px,1.5fr) minmax(115px,1fr) minmax(80px,.65fr);gap:10px}.plan-session-fields label{font-size:11px;font-weight:650;color:#607892;display:flex;flex-direction:column;gap:5px}.plan-session-fields select,.plan-session-fields input{width:100%;min-width:0;border:1px solid #dce6f1;border-radius:8px;min-height:39px;background:white;padding:8px;color:#253e5c;font:inherit;font-size:12px}
.plan-session-fields .plan-note-input{grid-column:1/-1}
.plan-none{padding:30px 18px;text-align:center;background:#f7fafe;border:1px dashed #ccdaeb;border-radius:12px}.plan-none strong{color:#174876}.plan-none p{color:#72879f;font-size:12px}
.plan-event-banner{padding:9px 12px;color:#15558b;font-size:12px;border-radius:8px;background:#e9f5ff;border:1px solid #c9e3fa;margin-top:12px}
.plan-review-day{display:grid;grid-template-columns:96px minmax(0,1fr) 36px;gap:9px;padding:12px 0;border-bottom:1px solid #e4edf6;font-size:12px;align-items:center}.plan-review-day>span{color:#1f5487;font-weight:700}.plan-review-day>div{display:flex;flex-direction:column;gap:5px}.plan-review-day small{font-size:11px;color:#59748e}
.plan-calendar-week{border-top:1px solid #e4edf6;padding-top:14px;margin-top:16px}.plan-calendar-week h4{margin:0 0 10px}.plan-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.plan-calendar-grid>div{border:1px solid #e2eaf4;border-radius:10px;padding:10px;background:#fbfdff;min-height:102px;display:flex;flex-direction:column;gap:7px}.plan-calendar-grid b{font-size:11px;color:#1d4f7e}.plan-calendar-grid small{font-size:10px;color:#42668a;padding:4px 5px;border-radius:6px;background:#eaf2fc}.plan-calendar-grid span{font-size:11px}
.plan-footer{font-size:11px;color:#8194a8;margin:22px 0 10px;text-align:center}
@media(max-width:1100px){.plan-month-grid{grid-template-columns:repeat(4,1fr)}.plan-ytp-context{grid-template-columns:1.8fr 1fr}.plan-calendar-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:750px){.plan-metrics{grid-template-columns:repeat(2,1fr)}.plan-month-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.plan-ytp-context{grid-template-columns:1fr}.plan-intro,.plan-intro>div{flex-direction:column;align-items:flex-start}.plan-session{grid-template-columns:1fr}.plan-session-fields{grid-template-columns:1fr 1fr}.plan-session-fields label:first-child{grid-column:1/-1}.plan-calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-review-day{grid-template-columns:80px 1fr 30px}}
.plan-context-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0}.plan-context-grid>div{padding:14px;border-radius:10px;background:#f7fafe;border:1px solid #e5edf6;display:flex;flex-direction:column;gap:7px}.plan-context-grid b{font-size:12px;color:#174c7e}.plan-context-grid small{font-size:11px;color:#607894}
@media(max-width:750px){.plan-context-grid{grid-template-columns:1fr}}
/* Snow access / school calendar integration */
.access-guide{background:linear-gradient(110deg,#e8f4ff,#f6fbff);border:1px solid #cce1f6;border-radius:14px;padding:17px;display:flex;gap:13px;margin:18px 0}
.access-guide-icon{background:#175d95;color:white;border-radius:12px;width:43px;height:43px;display:grid;place-items:center;font-size:24px;flex:none}
.access-guide b{color:#124877;font-size:14px}.access-guide p{color:#57718d;font-size:12px;margin:5px 0 0}
.access-matrix{border:1px solid #dce8f4;border-radius:12px;overflow:hidden;background:#fff;margin:5px 0 12px}
.access-matrix-head,.access-matrix-row{display:grid;grid-template-columns:80px repeat(4,minmax(0,1fr));gap:0;align-items:center}
.access-matrix-head{background:#eaf3fc;color:#185184}.access-matrix-head b{font-size:10px;padding:11px 3px;text-align:center}.access-matrix-head b:first-child{text-align:left;padding-left:14px}
.access-matrix-row{border-top:1px solid #e9eff6;min-height:40px}.access-matrix-row strong{font-size:12px;color:#496781;padding-left:14px}
.access-matrix-row label{display:flex;justify-content:center;align-items:center;padding:8px 3px}.access-matrix-row input,.access-times input,.access-board-grid input,.access-check input{accent-color:#1768bc;width:16px;height:16px;cursor:pointer}
.access-check{display:flex;align-items:flex-start;gap:9px;font-size:12px;font-weight:700;color:#275179;padding:9px 10px;border-radius:10px;background:#f2f7fd}
.access-board-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.access-board-grid label{border:1px solid #e1eaf4;border-radius:10px;padding:10px;display:flex;align-items:center;flex-wrap:wrap;column-gap:6px;color:#254c78;font-size:12px;font-weight:700}.access-board-grid small{display:block;flex-basis:100%;padding-left:25px;font-size:10px;font-weight:450;color:#7a8da4}
.access-level{max-width:230px}.access-divide{margin:16px 0;border-top:1px solid #e5edf6}
.access-ref-links{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}.access-ref-links a{font-size:10px;font-weight:650;background:#eff6ff;border:1px solid #d7e9fa;color:#205486;border-radius:8px;padding:7px;text-decoration:none}
.access-holiday{display:flex;gap:12px;align-items:center;justify-content:space-between;border-bottom:1px solid #ebf1f7;padding:10px 0;font-size:12px;color:#26486d}.access-holiday span{color:#6a8199;font-size:11px;text-align:right}.access-entry{display:flex;gap:9px;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid #e8eef5}.access-entry b{font-size:12px;color:#255382}.access-entry small{display:block;font-size:11px;color:#6e86a0}
.access-times{display:flex;flex-wrap:wrap;gap:12px;padding:9px;background:#f6faff;border-radius:9px}.access-times label{display:flex;align-items:center;gap:5px;font-size:12px;color:#4c6680}
.access-week-strip{background:#f6faff;border:1px solid #d9e6f5;border-radius:12px;padding:15px;margin:16px 0}.access-week-strip strong{color:#144a7c;font-size:13px}.access-week-strip p{font-size:11px;color:#6c8195;margin:6px 0}.access-week-strip>.caption{display:block;margin-top:9px}.access-week-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin-top:12px}.access-week-days>div{background:white;border:1px solid #e2e9f3;border-radius:9px;padding:9px 7px;min-height:72px;display:flex;flex-direction:column;gap:5px}
.access-week-days b{font-size:11px;color:#285887}.access-week-days small{font-size:10px;color:#617e97}.access-week-days em{font-style:normal;color:#176c73;font-weight:700;font-size:10px;background:#e7f6f3;border-radius:6px;padding:4px}.access-week-days .access-away{color:#7b5f20}
.access-day-banner{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#f6fbff;border:1px solid #d9e9f7;padding:12px 14px;border-radius:10px;margin:14px 0}.access-day-banner>div{flex:1;min-width:250px}.access-day-banner b{color:#154b7c;font-size:12px}.access-day-banner p{font-size:11px;color:#56758f;margin:5px 0}.access-day-banner p strong{color:#174b7d}
.plan-session-fields:has(select[data-cat-field="site"]){grid-template-columns:minmax(160px,1.5fr) minmax(110px,1fr) minmax(70px,.6fr) minmax(95px,.8fr)}
@media(max-width:1050px){.access-week-days{grid-template-columns:repeat(4,1fr)}.plan-session-fields:has(select[data-cat-field="site"]){grid-template-columns:1fr 1fr}}
@media(max-width:750px){.access-board-grid{grid-template-columns:1fr}.access-week-days{grid-template-columns:repeat(2,1fr)}.access-guide{flex-direction:column}.access-matrix-head,.access-matrix-row{grid-template-columns:48px repeat(4,minmax(0,1fr))}.access-matrix-head b{font-size:9px}.plan-session-fields:has(select[data-cat-field="site"]){grid-template-columns:1fr 1fr}.access-day-banner{flex-direction:column;align-items:stretch}.access-day-banner>div{min-width:0}}
/* Keep checkbox names available to assistive technology without duplicating them visually. */
.access-matrix .sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* Activity block-first planning / competition-first YTP */
.plan-readiness{border:1px solid #bcd7f1;border-left:4px solid #1768bc;border-radius:12px;background:#eff7ff;padding:14px 16px;margin:16px 0;color:#1d4b79}
.plan-readiness>b{font-size:13px}.plan-readiness p{font-size:12px;line-height:1.5;color:#536f88;margin:7px 0 10px}.plan-readiness .pill{display:inline-flex}
.plan-category-group{border:1px solid #e0eaf5;border-radius:12px;margin:12px 0;padding:12px;background:#fcfdff}
.plan-category-group .plan-session{border:none;border-radius:0;padding:4px;margin:0;background:transparent}
.plan-category-group .plan-extra-block{border-top:1px dashed #c3d7ea;margin-top:13px;padding-top:14px}
.plan-fixed-block{border:1px solid #d3e6f4;background:#ebf5ff;border-radius:9px;padding:7px 9px;display:flex;flex-direction:column;justify-content:center;gap:3px;min-height:58px}
.plan-fixed-block small{font-size:10px;color:#6686a2}.plan-fixed-block b{font-size:13px;color:#155d96}.plan-fixed-block span{font-size:10px;color:#64839b}
.plan-add-block{font-size:11px!important;margin:10px 0 0 4px!important}.plan-remove-block{font-size:11px!important;align-self:end}
.plan-block-legend{display:flex;flex-wrap:wrap;gap:8px;margin:13px 0}.plan-block-legend span{background:#eef6ff;color:#4a6985;font-size:11px;border:1px solid #cbdff3;padding:8px 11px;border-radius:9px}.plan-block-legend b{color:#20588b}
@media(max-width:760px){.plan-category-group{padding:8px}.plan-category-group .plan-session-fields{grid-template-columns:1fr 1fr}.plan-category-group .plan-fixed-block{min-height:60px}.plan-block-legend span{flex:1 1 calc(50% - 8px)}}

/* v0.6 — explicit two-block full-day workflow */
.plan-full-day-note{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#eaf3fd;border:1px solid #b9d6f3;border-radius:12px;padding:11px 14px;margin:12px 0;color:#173e66}
.plan-full-day-note span{font-size:.82rem;flex:1;min-width:180px}
@media(max-width:700px){.plan-full-day-note{align-items:flex-start;flex-direction:column}.plan-full-day-note .btn{width:100%}}
