.learner-summary{background:#f4f4f4;border-radius:14px;flex-wrap:wrap;justify-content:space-between;gap:16px;margin:24px 0;padding:18px 22px;font-size:15px;display:flex}.booking-feedback{border:1px solid #ccc;border-radius:12px;margin:18px 0;padding:16px 20px;line-height:1.8}.booking-feedback a{margin-left:8px;text-decoration:underline}.appointment-list{gap:16px;display:grid}.appointment-card{background:#fff;border:1px solid #ddd;border-radius:20px;justify-content:space-between;align-items:center;gap:24px;padding:28px;display:flex}.appointment-card h2{margin:8px 0;font-size:24px;font-weight:500}.appointment-time{font-variant-numeric:tabular-nums;font-size:28px;font-weight:500}.appointment-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.appointment-actions small{color:#666;flex-basis:100%;max-width:330px}.button-outline{background:#fff;border:1px solid #ccc}.learner-policy{color:#666;margin:20px 0;font-size:14px;line-height:1.8}.booking-history{margin-top:40px}.booking-history h2{font-size:22px;font-weight:500}.booking-history>div{border-bottom:1px solid #ddd;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:18px 0;display:flex}.booking-history>div>span:last-child{color:#777;font-size:14px}.booking-page button:disabled{opacity:.45;cursor:not-allowed}.booking-page .time-option{justify-content:space-between}.booking-page .time-option small{font-size:12px}.booking-page .calendar-heading>span{font-size:13px}@media (max-width:640px){.appointment-card{flex-direction:column;align-items:flex-start;padding:22px}.appointment-card h2{font-size:21px}.appointment-time{font-size:25px}.learner-summary{padding:16px;font-size:14px}.booking-modal{padding:24px}.booking-history>div{font-size:14px}}.booking-sync{color:#666;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:-8px 0 24px;font-size:13px;display:flex}.booking-sync button{min-height:44px}.booking-page .calendar-heading{flex-wrap:wrap;gap:12px}.booking-page .calendar-heading h2{font-size:24px}.booking-page .weekdays{font-size:13px}.booking-page .date-cell{min-height:70px;font-size:18px}.booking-page .date-cell small{font-size:12px;line-height:1.5}.booking-page .date-cell:disabled{opacity:1;color:#888}.booking-page .date-cell:disabled small{color:#888}.booking-page .date-cell.full{background:repeating-linear-gradient(135deg,#f1f1f1,#f1f1f1 4px,#f7f7f7 4px 8px)}.booking-page .date-cell.today{box-shadow:inset 0 0 0 1px #999}.booking-page .date-cell.selected{box-shadow:inset 0 0 0 2px #151515}.booking-page .calendar-legend{flex-wrap:wrap;font-size:12px;line-height:1.6}.booking-page .calendar-legend>span:last-child{margin-left:0}.booking-page .slot-panel{scroll-margin-top:20px}.booking-page .time-option{min-height:56px}.booking-page .time-option.chosen{color:#fff;background:#202020}.booking-page .slot-bottom>small{font-size:12px;line-height:1.8}.booking-page .slot-bottom .button{gap:8px}.booking-history summary{cursor:pointer;min-height:48px;padding:12px 0;font-size:21px;font-weight:500}.booking-history summary span{color:#666;margin-left:8px;font-size:14px;font-weight:400}@media (min-width:901px){.booking-page .slot-panel{align-self:start;min-height:380px;position:sticky;top:24px}}@media (max-width:600px){.booking-page .date-cell{min-height:60px;font-size:16px}.booking-page .date-cell small{font-size:11px}.booking-page .calendar-heading h2{font-size:22px}.booking-page .calendar-panel{padding:16px 12px}.booking-page .calendar-legend{gap:8px;font-size:11px}.booking-modal .appointment-actions{grid-template-columns:1fr;width:100%;display:grid}.booking-modal .appointment-actions button{width:100%}.booking-sync{font-size:12px}}
