/* Booking components share LMS typography, surfaces and controls. */
.lms-page .cr-shell,.lms-page .cr-dialog{min-width:0;color:#2d3b45}.cr-shell *,.cr-dialog *{min-width:0;box-sizing:border-box}.cr-shell button,.cr-dialog button{min-height:38px;border:1px solid #c7cdd1;border-radius:3px;padding:8px 14px;background:#f5f5f5;color:#2d3b45;font:inherit;font-size:14px}.cr-shell button:hover,.cr-dialog button:hover{background:#e8e8e8}.cr-shell .cr-primary,.cr-dialog .cr-primary{background:#d20f17;border-color:#d20f17;color:white}.cr-shell .cr-danger,.cr-dialog .cr-danger{border-color:#b52a2a;color:#b52a2a;background:white}.cr-eyebrow{font-size:12px;color:#56616a;margin:0 0 6px}.cr-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;border-bottom:1px solid #c7cdd1;padding-bottom:12px;margin-bottom:24px}.cr-hero h1{margin-bottom:12px}.cr-hero p,.cr-my p,.cr-staff p,.cr-help p{font-size:14px;line-height:21px}.cr-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.cr-hero-actions a{text-decoration:underline;font-size:14px}.cr-availability{display:flex;align-items:center;gap:24px;background:#f5f5f5;border:1px solid #c7cdd1;padding:16px;margin-bottom:12px}.cr-availability h2{margin:0;font-size:16px;font-weight:700}.cr-availability #cr-free{display:flex;flex-wrap:wrap;gap:8px;font-size:14px}.cr-calendar{border:1px solid #c7cdd1;margin-top:24px}.cr-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px}.cr-date-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.cr-date-controls .cr-date-label{display:flex;gap:8px;align-items:center;font-size:14px}.cr-calendar-meta{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:12px;line-height:18px;color:#56616a;padding:0 16px 12px}.cr-calendar-meta p{margin:0}.cr-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin:0 5px 0 10px}.cr-dot:first-child{margin-left:0}.cr-free-dot{background:white;border:1px solid #6b7780}.cr-shared-dot{background:#0374b5}.cr-blocked-dot{background:#6b7780}.cr-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid #c7cdd1;border-bottom:1px solid #c7cdd1}.cr-days button{border:0;border-radius:0;background:white;display:grid;justify-items:center;gap:4px;padding:10px 2px;font-size:12px}.cr-days strong{font-size:18px;font-weight:400}.cr-days .is-selected{background:#f5f5f5;box-shadow:inset 0 -3px #d20f17}.cr-footnote{font-size:12px;line-height:18px;color:#56616a;margin:12px 0}.cr-calendar>.cr-footnote{padding:0 16px}.cr-error{color:#a12b2b;background:#fff7f7;border:1px solid #df9a9a;padding:12px;font-size:14px;line-height:21px}.cr-calendar>.cr-error{margin:0 16px 12px}.cr-bookings{padding:0 16px}.cr-booking-row{display:grid;grid-template-columns:140px 1fr auto;gap:8px 16px;align-items:center;padding:16px 0;border-bottom:1px solid #c7cdd1;overflow-wrap:anywhere}.cr-booking-row:last-child{border-bottom:0}.cr-booking-row.is-blocked{color:#56616a}.cr-booking-row small{font-size:12px;color:#56616a}.cr-empty{padding:18px 0;color:#56616a;font-size:14px}.cr-my{display:grid;grid-template-columns:1fr 1.4fr;gap:24px;margin-top:32px;padding:24px 0;border-top:1px solid #c7cdd1}.cr-my label{font-size:14px;margin-bottom:6px}.cr-lookup-row{display:flex;gap:8px}.cr-lookup-row input{flex:1;width:0}.cr-lookup-row button{flex-shrink:0}#cr-saved{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}#cr-saved button{font-size:12px}.cr-shell .cr-text-button{padding:0;min-height:30px;border:0;background:none;text-decoration:underline;font-size:12px}.cr-help{margin-top:24px}.cr-help summary,.cr-staff summary{cursor:pointer;padding:12px 0}.cr-help p{margin-top:12px}.cr-staff{border-top:1px solid #c7cdd1;padding-top:24px;margin-top:24px}.cr-section-heading{display:flex;gap:14px;justify-content:space-between;align-items:center;margin-bottom:12px}.cr-staff-row{border-top:1px solid #c7cdd1;padding:16px 0;display:flex;gap:16px;justify-content:space-between;align-items:center}.cr-staff-row p{font-size:13px;overflow-wrap:anywhere}.cr-dialog{width:min(620px,calc(100vw - 24px));max-height:calc(100dvh - 32px);overflow:auto;margin:auto;border:1px solid #c7cdd1;border-radius:3px;padding:24px;background:white;box-shadow:0 4px 20px #0004}.cr-dialog::backdrop{background:#0006}.cr-dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}.cr-dialog #cr-close{font-size:28px;border:0;background:none;padding:0;width:38px;flex-shrink:0}.cr-dialog fieldset{border:0;padding:0;margin:0}.cr-dialog label{font-size:14px;margin:18px 0 6px}.cr-dialog label span{display:inline-block;font-size:12px;color:#56616a;margin-left:6px}.cr-dialog input:not([type=hidden]),.cr-dialog select,.cr-dialog textarea{width:100%}.cr-time-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.cr-use-date{grid-column:1/-1}.cr-time-fields :is(input,select){margin-top:6px}.cr-duration{padding:10px 12px;background:#f5f5f5;font-size:14px;margin-top:12px}.cr-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.cr-code-details summary{font-size:14px;cursor:pointer;padding:12px 0}.cr-code-details button{margin-top:8px}.cr-code-details input{font-family:monospace}.cr-receipt{border:1px solid #c7cdd1;background:#f5f5f5;padding:16px}.cr-receipt p{white-space:pre-line;font-size:14px}.cr-calendar-target{outline:2px solid #0374b5;outline-offset:3px;scroll-margin-top:20px}
@media(max-width:767px){.cr-hero{flex-direction:column;gap:12px}.cr-hero-actions{width:100%;justify-content:space-between}.cr-availability{align-items:flex-start;flex-direction:column;gap:12px}.cr-toolbar{padding:12px;flex-wrap:wrap}.cr-date-controls{gap:4px}.cr-date-controls button{padding:8px}.cr-date-controls .cr-date-label{gap:4px}.cr-date-label input{max-width:145px}.cr-toolbar>#cr-refresh{margin-left:auto}.cr-calendar-meta{padding:0 12px 12px}.cr-calendar-meta>span{width:100%}.cr-my{grid-template-columns:1fr;gap:12px}.cr-section-heading,.cr-staff-row{align-items:flex-start;flex-direction:column}.cr-dialog{padding:18px}.cr-dialog h2{font-size:20px}.cr-booking-row{grid-template-columns:1fr}.cr-bookings{padding:0 12px}.cr-form-actions{position:sticky;bottom:-18px;background:white;padding:12px 0}}
