.booking-main{max-width:1060px}.booking-panel{padding:30px}.booking-tabs{display:flex;gap:12px;border-bottom:1px solid #dce7df;padding-bottom:18px;margin-bottom:25px}.tab-button,.secondary-button,.text-button,.action-button,.slot-button{font:inherit;cursor:pointer}.tab-button{border:1px solid #bfd3c7;background:white;border-radius:25px;padding:10px 22px;color:#206354;font-size:13px}.tab-button.active{background:#e9f5ef}.flow-content h2{font-size:26px;margin:20px 0 12px}.flow-content h3{font-size:18px}.muted{font-size:12px;color:#64766c;line-height:1.9}.booking-progress{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:0;margin:25px 0}.booking-progress li{font-size:11px;padding:10px 12px;border-radius:8px;background:#f2f5f3;color:#687e71}.booking-progress li.current{background:#16816c;color:white}.booking-progress li.done{background:#def0e7}.teacher-select-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:25px 0}.teacher-select-card{font:inherit;cursor:pointer;border:1px solid #dce7df;background:#fff;border-radius:18px;padding:24px;display:grid;grid-template-columns:65px 1fr;gap:10px 18px;text-align:left;color:#203e4b}.teacher-select-card.selected{border:2px solid #16816c;background:#f1faf6;padding:23px}.teacher-select-card:disabled{opacity:.55;cursor:not-allowed}.teacher-initial{grid-row:1/4;display:grid;place-items:center;background:#e5f2ec;border-radius:50%;height:65px;width:65px;font-size:16px;font-weight:700}.teacher-select-card strong{font-size:20px;align-self:center}.teacher-select-card small{font-size:11px;color:#6d8073}.lesson-pill{display:inline-block;border-radius:20px;font-size:10px;background:#e6f2e9;color:#167a68;padding:4px 10px;width:max-content}.field{display:block;font-size:13px;font-weight:700;margin-top:24px}.field input:not([type=checkbox]),.field textarea,.field select{display:block;background:#fff;width:100%;padding:13px 15px;border:1px solid #bdcfc3;border-radius:9px;font:inherit;font-size:14px;margin-top:8px;color:#203e4b}.field textarea{resize:vertical;min-height:160px}.course-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.course-fields .action-button{grid-column:1/-1}.action-button,.secondary-button{display:block;width:100%;border:0;border-radius:30px;padding:15px 24px;margin-top:24px;font-size:13px;font-weight:700}.action-button{background:#ed7545;color:#fff}.secondary-button{background:#edf5f0;color:#206354;border:1px solid #cbded2}.text-button{border:0;background:none;color:#167a68;font-size:12px;text-decoration:underline;padding:10px 0;display:block}.action-button:disabled,.secondary-button:disabled{opacity:.5;cursor:wait}.slot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:24px}.slot-button{border:1px solid #bfd4c7;background:#f4faf6;border-radius:12px;padding:20px 12px;color:#206354;font-size:13px}.slot-button:hover{background:#dff2e7}.consent-row{display:flex;flex-wrap:wrap;gap:9px;font-size:12px;margin:24px 0;align-items:flex-start}.consent-row input{width:18px;height:18px;margin:3px 0}.consent-row span{flex:1;min-width:200px}.consent-row a{margin-left:27px;color:#167a68;text-decoration:underline}.review-list{display:grid;grid-template-columns:130px 1fr;font-size:13px;border-top:1px solid #dce7df}.review-list dt,.review-list dd{margin:0;padding:15px 12px;border-bottom:1px solid #dce7df;white-space:pre-wrap;overflow-wrap:anywhere}.review-list dt{background:#f5f8f6;color:#63766b}.notice,.deadline-box,.empty-state{padding:20px 24px;border-radius:13px;background:#fff6e9;font-size:12px;margin:20px 0}.deadline-box{background:#e8f4ed}.empty-state{background:#f4f7f5;color:#64776a}.my-booking{padding:22px 25px;border:1px solid #dce7df;border-radius:16px;margin:18px 0}.my-booking h3{margin:12px 0}.submission-list{margin:24px 0}.file-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:15px 0;border-bottom:1px solid #e0e9e3}.file-row strong{font-size:13px;overflow-wrap:anywhere}.file-row small{font-size:10px;display:block;color:#64776a;margin-top:5px}.drop-zone{display:block;background:#f6faf7;border:2px dashed #bdd1c2;border-radius:16px;padding:25px;margin:24px 0 12px;text-align:center}.drop-zone strong{font-size:15px}.drop-zone span,.drop-zone small{display:block;font-size:11px;margin-top:8px}.drop-zone input{display:block;width:100%;margin-top:20px;font:inherit;font-size:12px}.preview-banner{background:#fff1d5;color:#624c21;border-bottom:1px solid #e2cba3;padding:14px 5%;font-size:12px;line-height:1.7}.preview-banner strong{display:block}.preview-banner a{color:#624c21;text-decoration:underline}.preview .booking-main{padding-top:32px}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #d19b45;outline-offset:3px}.account-actions{display:flex;align-items:center;justify-content:space-between;font-size:12px}.account-actions button{background:white;border:1px solid #bfd3c7;border-radius:20px;padding:8px 16px;cursor:pointer}.account-actions p{margin:0}.member-heading{border-bottom:1px solid #dde7e1;padding-bottom:20px;margin-bottom:20px}.request-details .secondary-button{margin-bottom:-10px}@media(max-width:650px){.booking-main{padding-left:5%;padding-right:5%}.booking-panel{padding:20px}.teacher-select-grid,.slot-grid{grid-template-columns:1fr}.teacher-select-card{padding:20px}.teacher-select-card.selected{padding:19px}.booking-progress{gap:5px}.booking-progress li{font-size:9px;padding:9px 6px;white-space:nowrap}.flow-content h2{font-size:22px}.course-fields{grid-template-columns:1fr}.review-list{grid-template-columns:90px 1fr;font-size:11px}.review-list dt,.review-list dd{padding:12px 9px}.file-row{align-items:flex-start}.file-row .text-button{white-space:nowrap}.preview-banner{font-size:10px}.booking-tabs{gap:8px}.tab-button{padding:9px 18px;font-size:12px}.notice,.deadline-box,.empty-state{padding:17px;font-size:11px}}
.schedule-group{margin-top:32px}.schedule-group>h3{padding-bottom:12px;border-bottom:2px solid #dce7df;font-size:19px}.schedule-date{font-size:16px;font-weight:700}.my-booking h4{font-size:20px;margin:12px 0}.upload-form{padding:20px;border:1px solid #dce7df;border-radius:16px;margin-top:22px}.upload-form h3{margin:0;font-size:18px}.upload-form .drop-zone{margin-top:16px}.upload-form input:disabled{opacity:.5}.upload-form:has(input:disabled){background:#f8faf8}.schedule-group .secondary-button{text-align:center}.account-link{white-space:nowrap}@media(max-width:800px){nav>a.account-link{display:block!important;font-size:10px;margin-right:12px}}
fieldset.upload-form{min-inline-size:0;margin-inline:0;margin-bottom:22px}
fieldset.upload-form legend{font-weight:700;padding-inline:6px}
fieldset.upload-form input[type=file]{max-inline-size:100%;min-inline-size:0}
