/* Availability keeps each service and its open-calendar rules easy to scan. */
.crew-desk .scheduling-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin:1.25rem 0 1rem;padding-bottom:1rem;border-bottom:1px solid #2d3d47}
.crew-desk .scheduling-switch button{display:grid;gap:.3rem;min-height:78px;padding:1rem 1.1rem;border:1px solid #30434e;border-bottom:3px solid #30434e;background:#0f181e;color:#b9c9d2;text-align:left;font:inherit;cursor:pointer}
.crew-desk .scheduling-switch button:hover{border-color:#5f7a89;background:#14232b;color:#fff}
.crew-desk .scheduling-switch button:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.crew-desk .scheduling-switch button.is-active{border-color:#1685b1;border-bottom-color:var(--blue);background:linear-gradient(135deg,#12303d,#101d23);color:#fff}
.crew-desk .scheduling-switch strong{font-family:var(--display);font-size:1.18rem;letter-spacing:.03em}
.crew-desk .scheduling-switch small{color:#9db4c0;font-size:.76rem;line-height:1.35}
.crew-desk .scheduling-loading{min-height:270px;padding:2rem;border:1px solid #30434e;background:#10191f}
.crew-desk .scheduling-loading h3{margin:.35rem 0 1rem;font-family:var(--display);font-size:2rem}
.crew-desk .scheduling-calendar>.help-text{max-width:680px;margin:0 0 1rem}
.crew-desk .scheduling-manual-link{margin:0 0 1rem}
.crew-desk .scheduling-settings{gap:1.25rem;padding:1.4rem;border:1px solid #30434e;background:#10191f}
.crew-desk .scheduling-settings-top{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,1.7fr);gap:1.25rem;align-items:stretch}
.crew-desk .scheduling-open-switch{align-items:center!important;padding:1rem;border:1px solid #315262;background:#10232c}
.crew-desk .scheduling-open-switch input{width:24px;height:24px;min-height:24px;accent-color:var(--blue)}
.crew-desk .scheduling-open-switch strong{display:block;color:#fff;font-size:1rem;margin-bottom:.2rem}
.crew-desk .scheduling-booking-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.crew-desk .scheduling-planning-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:1.25rem;align-items:start}
.crew-desk .scheduling-week{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem 1rem;margin:0;padding:1rem;border:1px solid #30434e;background:#0d151a}
.crew-desk .scheduling-week legend{padding:0 .4rem;color:#e9f5f8;font-weight:700}
.crew-desk .scheduling-week legend small{color:#94aab6;font-size:.78rem;font-weight:400}
.crew-desk .scheduling-week label{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:.65rem}
.crew-desk .scheduling-week label>span{color:#a8bdc7;font-size:.875rem;font-weight:600}
.crew-desk .scheduling-week input{min-height:42px;padding:.6rem}
.crew-desk .scheduling-overrides{display:grid;gap:.8rem;padding:1rem;border:1px solid #30434e;background:#0d151a}
.crew-desk .scheduling-overrides>div:first-child strong{color:#fff}
.crew-desk .scheduling-overrides .help-text{margin:.35rem 0 0}
.crew-desk .scheduling-override-list{display:grid;gap:.55rem}
.crew-desk .scheduling-override-list>label{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.55rem;padding:.5rem;border:1px solid #2d414d;background:#111c22;color:#c5d5dd;font-size:.875rem}
.crew-desk .scheduling-override-list input{min-height:38px;padding:.45rem}
.crew-desk .scheduling-override-list .link-button{font-size:.8rem}
.crew-desk .scheduling-slots{margin-top:1.75rem}
.crew-desk .scheduling-reset{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;margin-top:1rem;padding:1rem;border:1px solid #5c4540;background:#1a1515}
.crew-desk .scheduling-reset strong{display:block;color:#fff;margin-bottom:.2rem}
.crew-desk .scheduling-reset .help-text{max-width:650px;margin:0}
.crew-desk .scheduling-reset-button{flex:0 0 auto;border-color:#976253;color:#ffd8cd}
.crew-desk .scheduling-reset-button:hover{border-color:#d48a77;background:#2a1a18;color:#fff}
.crew-desk .scheduling-slots .admin-section-head{margin-bottom:.8rem}
.crew-desk .scheduling-slot-list{display:grid;border:1px solid #30434e}
.crew-desk .scheduling-slot{display:grid;grid-template-columns:minmax(210px,1.3fr) minmax(100px,.6fr) minmax(90px,.5fr) auto;align-items:center;gap:1rem;padding:.8rem 1rem;border-bottom:1px solid #2a3b45;background:#10191f;color:#aabcc5;font-size:.875rem}
.crew-desk .scheduling-slot:last-child{border-bottom:0}
.crew-desk .scheduling-slot:hover{background:#14232b}
.crew-desk .scheduling-slot time{color:#edf7fa;font-weight:600}
.crew-desk .scheduling-slot .status-tag{justify-self:end}
.crew-desk .scheduling-manual-return{margin-left:auto}
.crew-desk .scheduling-manual .admin-section-head{flex-wrap:wrap}
.crew-desk .consultation-slot-editor{padding-top:1rem}
@media(max-width:1100px){.crew-desk .scheduling-settings-top,.crew-desk .scheduling-planning-grid{grid-template-columns:1fr}.crew-desk .scheduling-booking-controls{grid-template-columns:repeat(3,minmax(0,1fr))}.crew-desk .scheduling-slot{grid-template-columns:minmax(160px,1fr) auto auto}.crew-desk .scheduling-slot span:nth-of-type(1){display:none}}
@media(max-width:620px){.crew-desk .scheduling-switch{grid-template-columns:1fr}.crew-desk .scheduling-switch button{min-height:0}.crew-desk .scheduling-booking-controls,.crew-desk .scheduling-week{grid-template-columns:1fr}.crew-desk .scheduling-reset{align-items:stretch;flex-direction:column}.crew-desk .scheduling-reset-button{width:100%}.crew-desk .scheduling-slot{grid-template-columns:minmax(0,1fr) auto}.crew-desk .scheduling-slot span:not(.status-tag){display:none}.crew-desk .scheduling-override-list>label{grid-template-columns:1fr auto}.crew-desk .scheduling-override-list>label>span{display:none}.crew-desk .scheduling-manual-return{margin-left:0}}
