/* Shared visual language for booking, editing and course enrollment. */
.booking-status{display:inline-flex;align-items:center;gap:.4rem;max-width:100%;padding:.3rem .6rem;border:1px solid currentColor;border-radius:7px;font-size:.75rem;font-weight:600;line-height:1.4;white-space:normal}
.booking-status--confirmed{color:light-dark(#246247,#9bdfb8);background:light-dark(#f0f8f3,#193829)}
.booking-status--pending,.booking-status--waiting{color:light-dark(#855500,#f1cd89);background:light-dark(#fff8e9,#392d18)}
.booking-status--cancelled,.booking-status--absent{color:var(--text-secondary,#596474);background:var(--bg-secondary,#f1f3f5)}
.booking-status--rejected{color:light-dark(#9a3434,#ffb4b4);background:light-dark(#fff2f2,#422525)}
.booking-status-note{font-size:.75rem;color:var(--text-secondary);overflow-wrap:anywhere}
.booking-editor,.booking-flow-dialog{width:min(680px,calc(100vw - 32px));max-height:calc(100dvh - 32px);border-radius:16px;box-shadow:0 20px 70px #0003;overflow:auto;overscroll-behavior:contain;scroll-padding-block:90px}
.booking-editor h3,.booking-flow-dialog h3{font-size:.95rem;font-weight:650;letter-spacing:normal}
.booking-editor header{position:sticky;top:-20px;z-index:3;background:var(--bg-card,#fff);padding:16px 0;border-bottom:1px solid var(--border-light,#ddd)}
.booking-editor footer,.booking-flow-actions{position:sticky;bottom:0;z-index:3;background:var(--bg-card,#fff);padding:16px 0;isolation:isolate}
.booking-editor :is(button,input:not([type=checkbox]),select),.booking-flow-close{min-height:44px}
.booking-editor header button{min-width:44px;font-size:1.4rem}
.booking-editor section{padding:14px 0;border-bottom:1px solid var(--border-light,#ddd)}
.booking-editor details{padding:12px 0}.booking-editor summary{cursor:pointer;min-height:32px}
#quickBookModal .qb-modal{width:min(680px,calc(100vw - 32px));max-width:680px;max-height:calc(100dvh - 32px);display:flex;flex-direction:column}
#quickBookForm{display:flex;flex-direction:column;min-height:0;overflow:hidden}
#quickBookModal .modal-body{overflow:auto;overscroll-behavior:contain;min-height:0;scroll-padding-block:16px}
#quickBookModal :is(.modal-header,.modal-footer){flex-shrink:0;background:var(--bg-card,#fff)}
#quickBookModal .qb-context{background:var(--bg-secondary,#f4f5f7);border-color:var(--border-light,#ddd);font-weight:500}
.booking-page-container .booking-context{box-shadow:none;background:var(--bg-secondary,#f4f5f7)}
.mb-page .agenda-row{box-shadow:none;gap:10px;padding:18px;border-radius:12px}
.mb-page .agenda-row:hover{border-color:var(--border,#cad0d8)}
.mb-page .mb-col-status{gap:5px;max-width:180px}
.mb-page .mb-col-actions{gap:8px}.mb-page .mb-action-main{min-height:44px}
.mb-page .mb-participants summary{min-height:36px;display:list-item;align-content:center}
:is(.booking-editor,.booking-flow-dialog,#quickBookModal) :focus-visible{outline:3px solid var(--primary,#315aca);outline-offset:3px}
@media(max-width:600px){
 #quickBookModal.modal-overlay{padding:0!important;inset:0!important;align-items:stretch!important}
 html body #quickBookModal .qb-modal{width:100%!important;max-width:100%!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important}
 html body .booking-editor,html body .booking-flow-dialog{border-radius:0!important}
 #quickBookForm{flex:1}
 .booking-editor,.booking-flow-dialog{width:100%;max-width:100%;max-height:100dvh;height:100dvh;margin:0;border-radius:0;border:0;box-sizing:border-box}
 .booking-editor form{padding:16px}.booking-editor header{top:-16px}
 .booking-editor footer,.booking-flow-actions{bottom:0;padding-bottom:max(16px,env(safe-area-inset-bottom));gap:8px}
 .booking-editor footer button,.booking-flow-actions button{flex:1;min-width:0}
 .booking-editor :is(input,select,textarea){font-size:16px!important}
 #quickBookModal .qb-modal{width:100%;max-height:100dvh;height:100dvh;border-radius:0;margin:0}
 #quickBookModal .modal-footer{padding-bottom:max(16px,env(safe-area-inset-bottom))!important}
 .mb-page .agenda-row{padding:14px}.mb-page .mb-col-status{max-width:145px}
}

.booking-editor [data-editor-message]:empty{display:none}
