.booking-page{background:#f0efe8}.booking-intro{padding:50px 6% 35px;border-bottom:1px solid #d3d0c6}.booking-intro h1{font-size:66px;color:#bc3427;margin:14px 0 18px}.booking-intro>p:not(.eyebrow){font-size:19px}.booking-intro .booking-timezone{font-size:14px!important;margin-top:12px}.booking-workspace{padding:30px 4% 65px;max-width:1700px;margin:auto}.booking-account{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 24px;border:1px solid #d3d0c6;background:#fff;font-size:16px}.booking-account p{font-size:16px}.booking-account .button{font-size:20px;min-height:45px;padding:10px 20px}.booking-account>a{color:#bc3427;text-decoration:underline}.booking-tabs{display:flex;margin:30px 0 22px;border-bottom:2px solid #171717;gap:15px}.booking-tabs button{background:none;border:0;padding:12px 20px;font-family:'Barlow Condensed',Impact,sans-serif;font-weight:700;font-size:25px}.booking-tabs .selected{background:#bc3427;color:#fff}.booking-tabs button[hidden]{display:none}.booking-status{padding:0;font-size:17px;color:#205d38;white-space:pre-line}.booking-status:not(:empty){padding:17px 20px;margin:15px 0;background:#e1eadb;border:1px solid #b6c8a8}.booking-status.is-error{color:#a42a20;background:#fae6e0;border-color:#d5aaa2}.booking-filter{display:flex;flex-wrap:wrap;gap:12px;margin:25px 0}.booking-filter button{background:none;color:#171717;border:1px solid #bdb7ab;padding:10px 17px;border-radius:3px;font-size:16px}.booking-filter button.selected{background:#171717;color:white;border-color:#171717}.calendar-toolbar{display:flex;justify-content:space-between;gap:25px;align-items:center;margin:30px 0}.calendar-toolbar button{background:none;border:1px solid #bdb7ab;padding:10px 15px;font-size:15px}.calendar-toolbar button:disabled{opacity:.4;cursor:not-allowed}.calendar-toolbar>div{text-align:center}.calendar-toolbar h2{font-size:34px}.calendar-toolbar #this-week{border:0;text-decoration:underline;font-size:14px;padding:5px}.calendar-toolbar label{font-size:13px}.calendar-toolbar input{margin:3px 0 0;padding:9px;font-size:15px;max-width:180px;border:1px solid #bdb7ab}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;min-height:220px}.calendar-day{min-width:0}.calendar-day>h3{font-size:25px;padding-top:12px;border-top:3px solid #bc3427}.calendar-day-date{font-size:13px;margin:4px 0 17px}.time-card{background:#fff;border:1px solid #d7d2c7;padding:14px 10px;margin-bottom:12px;border-radius:3px}.slot-time{font-size:16px;font-weight:700;display:block;line-height:1.5}.slot-note{font-size:12px;line-height:1.6;min-height:21px;margin:7px 0 12px}.slot-book{display:block;width:100%;background:#bc3427;color:white;border:1px solid #bc3427;padding:9px 5px;border-radius:2px;font-family:'Barlow Condensed',Impact,sans-serif;font-size:19px;font-weight:700;margin-top:7px;line-height:1.15}.slot-book.private{background:none;color:#bc3427}.slot-book:disabled{border-color:#d4d1c8;background:#e8e5de;color:#777;cursor:not-allowed}.slot-admin{border:0;background:none;text-decoration:underline;font-size:12px;color:#777;margin-top:12px;padding:0}.unavailable{background:#e6e3db;opacity:.7}.calendar-empty{font-size:15px;padding:15px 0}.calendar-help{font-size:15px;line-height:1.8;margin:20px 0 30px}.calendar-loading{padding:30px 0;grid-column:1/-1}.booking-schedule{padding:23px 0}.booking-schedule summary{font-size:19px}.schedule-scroll{overflow-x:auto}.booking-schedule table{width:100%;border-collapse:collapse;margin:20px 0;font-size:16px;min-width:560px}.booking-schedule th,.booking-schedule td{text-align:left;border:1px solid #ccc7bb;padding:15px}.booking-schedule th{background:#e5e0d5}.booking-schedule p{font-size:14px}.booking-payment-note{font-size:14px;margin-top:35px;padding-top:25px;border-top:1px solid #bdb7ab}.day-picker{display:none}#mine-panel h2,#admin-panel h2{font-size:43px;color:#bc3427;margin:35px 0 25px}#admin-panel>p{font-size:16px;max-width:900px;margin-bottom:25px}.reservation-row{display:flex;justify-content:space-between;gap:30px;padding:25px;border:1px solid #d0c9bb;background:#fff;margin-bottom:18px;align-items:flex-start}.reservation-row h3{font-size:28px;margin-bottom:12px}.reservation-row p{font-size:16px;margin:7px 0}.reservation-row small{font-size:13px;color:#777;display:block;margin-top:12px}.reservation-row a{font-size:16px;color:#bc3427}.reservation-row .reservation-notes{white-space:pre-wrap;font-size:15px}.reservation-row.cancelled{opacity:.55}.cancel-booking{background:none;border:1px solid #bc3427;color:#bc3427;padding:10px 15px;font-size:15px}.booking-empty{padding:25px 0;font-size:18px}dialog{border:0;box-shadow:0 12px 60px #0004;background:#f0efe8;color:#171717;width:min(560px,calc(100vw - 30px));padding:30px;border-radius:4px;max-height:90dvh;overflow:auto}dialog::backdrop{background:#0009}.reserve-heading{display:flex;gap:25px;justify-content:space-between;align-items:flex-start;margin-bottom:15px}.reserve-heading h2{font-size:36px}.reserve-heading button{border:0;background:none;font-size:30px;line-height:1}.reserve-heading+p{font-size:17px;font-weight:600}#reserve-payment{font-size:15px;margin:15px 0 25px}#reserve-form label{display:block;font-size:15px;margin:16px 0 8px}#reserve-form label[hidden]{display:none}#reserve-form input,#reserve-form select,#reserve-form textarea{display:block;width:100%;margin:9px 0 0;border:1px solid #bdb7ab;background:#fff;font:16px/1.5 'DM Sans',sans-serif;padding:12px;border-radius:2px}#reserve-form label>span{font-size:13px;color:#777}.reserve-policy{font-size:13px;line-height:1.75;margin:20px 0}#reserve-error{color:#a1271c;font-size:15px;margin:15px 0}#confirm-reserve{width:100%;font-size:25px}#confirm-reserve:disabled{opacity:.5;cursor:wait}
@media(max-width:1100px) and (min-width:701px){.calendar-grid{gap:7px}.time-card{padding:12px 7px}.slot-time{font-size:13px}.slot-book{font-size:17px}.calendar-toolbar{gap:15px}.calendar-toolbar h2{font-size:29px}}
@media(max-width:700px){.booking-intro{padding:35px 7% 30px}.booking-intro h1{font-size:54px}.booking-intro>p:not(.eyebrow){font-size:17px}.booking-workspace{padding:25px 6% 45px}.booking-account{flex-direction:column;align-items:flex-start;padding:20px;gap:15px;font-size:16px}.booking-account .button{width:100%}.booking-tabs{gap:0}.booking-tabs button{font-size:23px;padding:12px 14px;flex:1}.booking-filter{gap:9px}.booking-filter button{padding:9px 12px;font-size:14px}.calendar-toolbar{flex-wrap:wrap;gap:12px;margin:23px 0}.calendar-toolbar>div{order:-1;width:100%;text-align:left}.calendar-toolbar h2{font-size:33px}.calendar-toolbar button{font-size:14px;padding:10px}.calendar-toolbar label{flex-basis:100%;display:flex;gap:12px;align-items:center}.calendar-toolbar input{margin:0;max-width:none;flex:1}.day-picker{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin:20px 0}.day-picker button{padding:11px 3px;background:none;border:1px solid #bdb7ab;font-size:12px;line-height:1.6}.day-picker button.selected{background:#bc3427;border-color:#bc3427;color:white}.calendar-grid{display:block}.calendar-day{display:none}.calendar-day.selected-day{display:block}.calendar-day>h3{font-size:30px}.calendar-day-date{font-size:16px;margin-bottom:18px}.time-card{padding:18px;margin-bottom:14px}.slot-time{font-size:22px}.slot-note{font-size:15px;margin:8px 0 13px}.slot-book{font-size:24px;padding:12px}.slot-admin{font-size:14px;padding:5px 0}.calendar-help{font-size:15px}.booking-payment-note{font-size:14px}.reservation-row{flex-direction:column;gap:15px;padding:22px}.reservation-row h3{font-size:30px}.reservation-row p{font-size:16px}.reservation-row small{font-size:13px}.cancel-booking{width:100%;font-size:16px}dialog{padding:25px 22px}.reserve-heading h2{font-size:34px}}
.booking-account>.button{color:#fff}
/* One action per time, driven by the account's purchased lesson plan. */
.plan-account-summary{display:flex;flex-direction:column;gap:5px}.plan-account-name{font-size:14px;color:#666}.plan-balance{font-size:20px}.plan-missing{font-size:15px!important;margin:0}.time-card{padding:15px 12px}.slot-copy{min-width:0}.slot-note{font-size:12px;line-height:1.5;margin:5px 0 11px;min-height:0}.slot-book{font-family:'DM Sans',Arial,sans-serif;text-transform:none;font-size:15px;font-weight:600;padding:8px 10px;margin:0}.time-card.unavailable{opacity:1;background:#e9e6de}.slot-coach-controls{border:0;padding:8px 0 0;margin:0}.slot-coach-controls summary{font-size:11px;color:#777;line-height:1.4;font-weight:400;display:block}.slot-coach-controls summary:after{display:none}.slot-admin{margin-top:9px;font-size:12px}.plan-management{margin:25px 0 40px}.plan-management>summary{font-size:22px}.plan-management>p{font-size:15px;margin:20px 0;max-width:850px}#grant-form{background:white;border:1px solid #d3d0c6;padding:25px;max-width:850px;margin:20px 0 30px}#grant-form label{display:block;font-size:15px;margin-bottom:20px}#grant-form input,#grant-form select{display:block;border:1px solid #bbb6a9;margin:8px 0 0}#grant-form label[hidden]{display:none}.grant-fields{display:flex;gap:20px}.grant-fields>label{flex:1;min-width:0}#grant-form .grant-confirm{display:flex;align-items:flex-start;gap:12px;font-size:14px}#grant-form .grant-confirm input{width:auto;flex:none;margin:5px 0 0}#grant-status{font-size:15px;margin-top:18px}.student-plan-row{padding:20px 0;border-bottom:1px solid #d3d0c6;font-size:15px}.student-plan-row>strong,.student-plan-row>span{display:block}.student-plan-row p{margin:10px 0}.student-plan-row button{background:none;border:0;border-bottom:1px solid #bc3427;cursor:pointer;font-size:17px}.admin-reservations-title{font-size:30px;margin:20px 0}
@media(max-width:700px){.time-card{display:grid;grid-template-columns:minmax(0,1fr) 82px;gap:8px 16px;align-items:center;padding:17px 18px;border-radius:7px;margin-bottom:11px}.slot-time{font-size:19px;line-height:1.4}.slot-note{font-size:14px;margin:5px 0 0;min-height:0}.slot-book{font-size:16px;min-height:43px;padding:10px 12px;border-radius:4px}.slot-coach-controls{grid-column:1/-1;padding-top:0}.slot-coach-controls summary{font-size:12px}.slot-coach-controls .slot-admin{font-size:14px}.plan-balance{font-size:19px}.booking-account{padding:19px}.booking-filter button{font-size:15px;padding:9px 13px}.grant-fields{display:block}#grant-form{padding:22px}#grant-form input,#grant-form select{font-size:16px}.plan-management>summary{font-size:19px}}

.booking-account select{font:inherit;font-size:18px;padding:12px;max-width:100%;border:1px solid #bbb;background:#fff;color:#191919;border-radius:5px}.migration-panel{margin-top:30px;padding:22px;border:1px solid #aaa}.migration-panel input{display:block;margin:18px 0}.migration-panel button{font:inherit;padding:12px;margin:8px 12px 8px 0}.migration-panel p{overflow-wrap:anywhere}
