/* The booking surface is a repeating timetable, with one column for each weekday. */
.weekly-label{font-size:11px;letter-spacing:.015em;color:var(--brand-green);white-space:nowrap}
.weekly-table-wrap{border:1px solid var(--line);overflow-x:auto}
.weekly-pt-table{width:100%;border-collapse:collapse;table-layout:fixed;text-align:center;font-size:13px}
.weekly-pt-table th,.weekly-pt-table td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:0}
.weekly-pt-table tr:last-child>*{border-bottom:0}.weekly-pt-table tr>*:last-child{border-right:0}
.weekly-pt-table thead th{padding:18px 7px;font-weight:500;background:#ecefe6}
.weekly-pt-table thead th:first-child{width:110px;background:transparent;font-size:11px;color:var(--muted)}
.weekly-pt-table tbody th{font-weight:500;padding:10px 4px}
.weekly-pt-table tbody th small{display:block;font-size:9px;color:var(--muted);margin-top:3px;font-weight:400}
.weekly-pt-table td button{display:block;width:100%;min-height:48px;font-size:12px;transition:background .15s,color .15s}
.weekly-pt-table td button:not(:disabled):hover{background:#e7eddc}
.weekly-pt-table td button[aria-pressed=true]{background:var(--ink);color:var(--lime)}
.weekly-pt-table td button:disabled{opacity:1;color:#92988a;background:#f0f0e9;cursor:default}
.weekly-pt-table td button.reserved{background:var(--lime);color:var(--ink);font-size:11px}
.weekly-key{display:flex;gap:25px;font-size:10px;color:var(--muted);padding:16px 0}
.weekly-key span{display:flex;align-items:center;gap:6px}.weekly-key i{width:9px;height:9px;border:1px solid var(--line);background:var(--paper)}.weekly-key i.reserved{background:var(--lime);border-color:var(--lime)}
.weekly-pt .slot-action{margin-top:7px}.weekly-pt .schedule-head{margin-top:32px}
.weekly-pt .slot-action{position:static!important}
.weekly-selection{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:28px;padding:24px 0;border-top:1px solid var(--line)}
.weekly-selection p{font-size:14px;margin:9px 0 5px}.weekly-selection small{font-size:10px;color:var(--muted)}
.weekly-selection .button{background:var(--lime)!important;color:var(--ink)!important;border-color:var(--lime)!important;white-space:nowrap}
.weekly-selection .button span{color:var(--ink)!important}.weekly-class button[aria-pressed=true]{background:var(--ink);color:var(--lime)}
.weekly-review-list{margin:24px 0}.weekly-review-list>div{display:flex;flex-direction:column;gap:6px;border-bottom:1px solid var(--line);padding:14px 0}.weekly-review-list strong{font-size:13px;font-weight:500}.weekly-review-list span{font-size:11px;color:var(--muted)}
.weekly-selection>div{margin-right:auto}.weekly-selection>.text-link,.clear-review{font-size:11px;white-space:nowrap}.clear-review{margin-top:20px}
@media(max-width:580px){.weekly-selection{align-items:stretch;flex-direction:column;gap:18px}.weekly-selection .button{justify-content:space-between}.weekly-selection p{font-size:12px}.weekly-selection small{font-size:9px}}
.day-short{display:none}.weekly-class .class-date strong,.weekly-booking .date-tile strong{font-family:var(--sans);font-size:20px;font-weight:500;letter-spacing:-.04em}
.weekly-class .class-date{display:flex;flex-direction:column;gap:8px}.weekly-class .class-date span{font-size:8px;white-space:nowrap}
.weekly-booking .date-tile{padding-right:15px}.weekly-booking{grid-template-columns:70px 1fr auto auto}
.owner-days button span{font-size:12px}.week-grid-heading{min-height:42px}.week-grid-heading span{font-size:12px;font-weight:500}
@media(max-width:800px){.weekly-pt .schedule-head{gap:15px}.weekly-class .class-date strong{font-size:17px}.weekly-pt-table thead th:first-child{width:75px}.weekly-pt-table td button{font-size:11px}.weekly-pt-table th{font-size:11px}}
@media(max-width:580px){.day-full{display:none}.day-short{display:inline}.weekly-pt-table thead th{padding:14px 2px}.weekly-pt-table thead th:first-child{width:53px;font-size:9px}.weekly-pt-table tbody th{font-size:10px}.weekly-pt-table tbody th small{font-size:8px}.weekly-pt-table td button{font-size:10px;min-height:45px}.weekly-pt-table td button.reserved{font-size:9px}.weekly-label{font-size:10px}.weekly-key{font-size:9px;gap:15px}.weekly-booking{grid-template-columns:43px 1fr auto}.weekly-booking .date-tile strong{font-size:17px}.weekly-class .class-date span{font-size:7px}.weekly-class .button{font-size:9px;padding:8px}.owner-days button span{font-size:10px}.weekly-pt .slot-action{position:sticky;bottom:0;background:var(--paper);padding-bottom:12px;z-index:4}}
