.nav-button{border:0;background:transparent;color:var(--navy);font:inherit;font-size:.94rem;font-weight:700;cursor:pointer}.auth-main{min-height:calc(100vh - 82px);display:grid;place-items:center;padding:70px 20px;background:linear-gradient(135deg,var(--sky),#fff)}.auth-card{width:min(100%,470px);padding:42px;background:#fff;border-radius:7px;box-shadow:var(--shadow)}.auth-card h1{font-size:3rem;margin-bottom:.5rem}.form.single{grid-template-columns:1fr}.page-hero.compact{padding:55px 0}.member-heading{display:flex;align-items:center;justify-content:space-between;gap:30px}.booking-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.8fr);gap:42px;align-items:start}.booking-panel{background:var(--sky);border-radius:7px;padding:28px;position:sticky;top:105px}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between}.calendar-toolbar h2{margin:0}.icon-button{width:42px;height:42px;border:1px solid #c7d6dd;border-radius:50%;background:#fff;color:var(--navy);font-size:1.3rem;cursor:pointer}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.week-head{margin:28px 0 7px;text-align:center;font-size:.78rem;font-weight:700;color:var(--muted)}.calendar-day{min-height:105px;padding:8px;border:1px solid #d5e1e6;border-radius:4px;background:#fff;text-align:left;color:var(--ink);cursor:pointer}.calendar-day:hover{border-color:var(--blue)}.calendar-day strong{display:block;margin-bottom:7px}.calendar-day small{display:block;margin:3px 0;padding:2px 4px;border-radius:3px;background:#dce8ed;font-size:.67rem}.calendar-day small.booking-mine{background:#bfe6f5}.calendar-key{display:flex;gap:18px;margin-top:25px;font-size:.8rem}.key-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px}.key-dot.booked{background:#a9b7bd}.key-dot.mine{background:var(--blue)}.booking-list{display:grid;gap:9px;font-size:.82rem}.booking-item{display:flex;align-items:center;gap:8px;padding:10px;background:#fff;border-radius:4px}.booking-item span{flex:1}.booking-item button{border:0;background:transparent;color:#a12b2b;text-decoration:underline;cursor:pointer}.time-field{margin:0;padding:0;border:0;display:grid;gap:6px}.time-field legend{margin-bottom:6px;font-weight:700;color:var(--navy)}.time-field>label,.time-selects label{font-size:.86rem;font-weight:700;color:var(--navy)}.time-field input,.time-selects select{width:100%;border:1px solid #bccbd3;border-radius:4px;padding:10px;font:inherit;background:#fff}.time-selects{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:8px}.time-selects label{display:grid;gap:6px}.time-selects span{padding-bottom:10px;font-size:1.2rem;font-weight:700}
@media(max-width:900px){.booking-layout{grid-template-columns:1fr}.booking-panel{position:static}.calendar-day{min-height:85px}.member-heading{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.auth-card{padding:28px 22px}.calendar{gap:2px}.calendar-day{min-height:58px;padding:4px}.calendar-day small{font-size:0;color:var(--blue);width:7px;height:7px;border-radius:50%;padding:0}.week-head{font-size:.65rem}.booking-panel{padding:22px}}

.password-panel{max-width:470px;padding:28px;background:var(--sky);border-radius:7px}

.calendar-day[aria-pressed="true"]{outline:3px solid var(--blue);outline-offset:-3px;background:#dff1fa}
.day-bookings{margin-top:28px;scroll-margin-top:130px}.day-bookings h3{margin-bottom:8px}.day-bookings>p{font-size:.85rem;color:var(--muted)}
.day-bookings-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}.day-period{display:grid;grid-template-columns:120px minmax(0,1fr);gap:4px 12px;padding:12px 14px;border-radius:4px;border-left:4px solid #a9b7bd;background:#f2f4f5;font-size:.9rem}.day-period.mine{background:var(--sky);border-color:var(--blue)}.day-period small{grid-column:1/-1;color:var(--muted)}
@media(max-width:560px){.day-period{grid-template-columns:1fr}.day-bookings{scroll-margin-top:90px}}

.upcoming-bookings{grid-column:1/-1;background:var(--sky);border-radius:7px;padding:28px}.upcoming-bookings h2{margin-bottom:18px}

.date-picker-field { position: relative; min-width: 0; }
.date-picker-field > input { width: 100%; min-width: 0; padding-right: 48px; }
.date-picker-control { position: absolute; top: 1px; right: 1px; bottom: 1px; display: grid; place-items: center; width: 42px; color: var(--navy); font-size: 1.5rem; pointer-events: none; }
.date-picker-field:focus-within { outline: 2px solid var(--blue); outline-offset: 2px; border-radius: 4px; }
.date-picker-control input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; pointer-events: none; }
