.bk-page{margin:0;background:#f4f7f8;color:#1b272c;font:16px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.bk-page *{box-sizing:border-box}.bk-page a{color:inherit;text-underline-offset:4px}.bk-header,.bk-footer{max-width:1180px;margin:auto;padding:30px 24px;display:flex;justify-content:space-between;gap:24px}.bk-brand{font-weight:850;letter-spacing:.04em;text-decoration:none;font-size:22px}.bk-shell{max-width:1180px;margin:32px auto 80px;padding:0 24px;display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:start}.bk-intro{padding-top:30px;position:sticky;top:24px}.bk-eyebrow{color:#426b7d;font-weight:650}.bk-intro h1{font-size:clamp(32px,4vw,48px);line-height:1.1;letter-spacing:-.035em;margin:20px 0 26px}.bk-intro>p{max-width:380px}.bk-facts{display:grid;gap:12px;border-top:1px solid #d7e2e7;padding:24px 0;margin-top:32px}.bk-surface{background:#fff;border:1px solid #dce7eb;border-radius:24px;padding:32px;box-shadow:0 16px 50px #1b272c08;min-width:0}.bk-surface h2{font-size:26px;line-height:1.25;margin:0 0 24px;letter-spacing:-.02em}.bk-surface h3{font-size:16px;margin:20px 0 12px}.bk-month-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.bk-month-nav h3{margin:0;text-transform:capitalize}.bk-page button,.bk-page input{font:inherit}.bk-page button{cursor:pointer}.bk-month-nav button{border:1px solid #dae5e9;background:white;border-radius:50%;width:42px;height:42px}.bk-weekdays,.bk-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;text-align:center}.bk-weekdays{font-size:14px;color:#576e79;margin-bottom:8px}.bk-days button{aspect-ratio:1;border:0;border-radius:12px;background:#e7f2f7;color:#174859;font-weight:650;min-height:40px}.bk-days button:disabled{background:transparent;color:#94a4ac;cursor:default}.bk-days button[aria-pressed=true],.bk-times button[aria-pressed=true]{background:#27718e;color:white}.bk-times{display:flex;flex-wrap:wrap;gap:8px}.bk-times button{min-height:44px;border:1px solid #a3c3d0;color:#1d596f;background:#fff;border-radius:10px;padding:8px 16px}.bk-page form{margin-top:28px}.bk-page label{display:block;font-weight:650;margin:18px 0 6px}.bk-page input{display:block;width:100%;min-height:48px;border:1px solid #b8cad2;border-radius:10px;padding:10px 12px;background:white;color:#1b272c}.bk-page input:focus-visible,.bk-page button:focus-visible,.bk-page a:focus-visible{outline:3px solid #308aaf;outline-offset:3px}.bk-primary{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:12px 22px;background:#78bad3;color:#122c38!important;border:0;border-radius:12px;font-weight:700;text-decoration:none}.bk-page button:disabled{cursor:default;opacity:.55}.bk-secondary{padding:10px 0;background:none;border:0;text-decoration:underline;text-underline-offset:4px;color:#426b7d}.bk-small{font-size:14px;color:#526771}.bk-optional{font-weight:400;color:#657a83}.bk-selection{background:#edf5f8;border-radius:12px;padding:16px;font-weight:600}.bk-success-mark{display:block;font-size:40px;color:#2f7d5a;margin-bottom:16px}.bk-surface [hidden],.bk-page [hidden],#adminManagementBookingsPane [hidden]{display:none!important}.bk-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.bk-footer{justify-content:center;font-size:14px}#bookingStatus:empty{display:none}#bookingStatus.is-error{background:#fff1ed;color:#943d27;border-radius:10px;padding:14px}#bookingCode{font-size:26px;letter-spacing:.25em;margin-bottom:18px}#bookingVerifyForm .bk-primary{width:100%}
/* Admin surface uses the existing dashboard theme and controls. */
/* Shared booking widget and native landing-page dialog. */
.bk-widget{min-width:0;text-align:left}.bk-widget-facts{display:flex;flex-wrap:wrap;gap:8px 20px;color:#536973;font-size:13px;margin-bottom:22px}.bk-widget-facts span:empty{display:none}
.bk-progress{display:flex;list-style:none;padding:0;margin:0 0 28px;gap:24px;font-size:14px;color:#6b7f89}.bk-progress li{display:flex;align-items:center;gap:8px;line-height:1.2}.bk-progress li>span:first-child{display:grid;place-items:center;flex:0 0 27px;height:27px;border-radius:50%;background:#edf2f4;font-weight:700}.bk-progress li[aria-current=step]{color:#195e77;font-weight:700}.bk-progress li[aria-current=step]>span:first-child{background:#237d9c;color:#fff}
.bk-widget h2{font-size:24px;line-height:1.25;letter-spacing:-.025em;margin:0 0 20px;color:#1b272c}.bk-widget form{margin-top:0}.bk-widget .bk-secondary{font-weight:500}.bk-picker-columns{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:28px}.bk-times-panel{border-left:1px solid #e0e9ed;padding-left:26px;min-width:0}.bk-times-panel h3{font-size:15px;line-height:1.4;margin:10px 0 20px}.bk-widget .bk-times{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:280px;overflow-y:auto;overscroll-behavior:contain;padding:4px}.bk-times button{font-weight:600;padding:8px;min-height:49px}.bk-times button small{display:block;font-size:10px;font-weight:400;line-height:1.25}.bk-widget .bk-times button:disabled{background:#f0f3f5;color:#83919a;border-color:#e7edf0;opacity:1;cursor:not-allowed}.bk-days button:disabled{opacity:1!important;cursor:not-allowed!important}.bk-days button:not(:disabled):hover,.bk-times button:not(:disabled):hover{background:#dceef5;color:#195e77}.bk-calendar-note{font-size:12px;line-height:1.5;color:#6b7f89;margin:16px 0 0;display:flex;gap:8px;align-items:flex-start}.bk-calendar-note>span:first-child{width:9px;height:9px;background:#b5c1c7;border-radius:50%;flex-shrink:0;margin-top:4px}
.bk-help{margin:24px 0 0;padding-top:20px;border-top:1px solid #e0e9ed;font-size:13px;color:#62757e}.bk-widget .bk-primary{width:100%;margin-top:8px}.bk-widget .bk-selection{font-size:14px;line-height:1.5;overflow-wrap:anywhere}.bk-widget #bookingForm,.bk-widget #bookingVerifyForm{max-width:490px;margin-left:auto;margin-right:auto}.bk-widget #bookingEditTime{margin:0 0 18px;padding-top:0}.bk-widget #bookingSuccess{max-width:510px;margin:20px auto 0;text-align:center}.bk-widget #bookingStatus{font-size:15px;overflow-wrap:anywhere}.bk-widget #bookingStatus.is-error{background:#fff1ed;color:#943d27;border-radius:10px;padding:14px}.bk-widget [hidden]{display:none!important}
/* Landing dialogs blur a paused, poster-only background. */
.bk-modal.bk-page{position:fixed;inset:0;margin:auto;width:calc(100% - 32px);max-width:860px;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);padding:32px;border:1px solid #dce7eb;border-radius:24px;background:#fff;color:#1b272c;box-shadow:0 30px 100px #102d3e38;overflow:auto;overscroll-behavior:contain;text-align:left}.bk-modal:not([open]){display:none}.bk-modal::backdrop{background:#142e3db3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.bk-dialog-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin:0 0 18px}.bk-dialog-header .bk-eyebrow{font-size:13px;margin:0 0 8px;color:#367790}.bk-dialog-header h2{font-size:30px;line-height:1.18;letter-spacing:-.035em;margin:0 0 12px;color:#1b272c}.bk-dialog-header #bookingDialogDescription{font-size:15px;line-height:1.55;max-width:580px;color:#5b717c;margin:0}.bk-modal .bk-close{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;min-height:38px;padding:9px;border:0;border-radius:50%;background:#f0f5f7;color:#385565;cursor:pointer}.bk-close:hover{background:#dcecf2}.bk-close svg{display:block;width:20px;height:20px;stroke:currentColor;stroke-width:1.8;fill:none}.bk-modal:focus{outline:none}
.bk-shell .bk-picker-columns{grid-template-columns:1fr}.bk-shell .bk-times-panel{border:0;padding-left:0}
@media(max-width:600px){.bk-modal.bk-page{padding:22px 18px;width:calc(100% - 16px);max-height:calc(100dvh - 16px);border-radius:18px}.bk-dialog-header{gap:10px;margin-bottom:14px}.bk-dialog-header h2{font-size:25px}.bk-dialog-header #bookingDialogDescription{font-size:14px}.bk-widget-facts{font-size:12px;gap:6px;margin-bottom:20px;flex-direction:column}.bk-progress{gap:12px;font-size:12px;margin-bottom:22px}.bk-progress li{gap:5px}.bk-progress li>span:first-child{flex-basis:23px;height:23px}.bk-picker-columns{grid-template-columns:1fr;gap:18px}.bk-times-panel{border-left:0;border-top:1px solid #e0e9ed;padding:0}.bk-times-panel h3{margin:16px 0 10px}.bk-widget .bk-times{max-height:165px;grid-template-columns:repeat(3,minmax(0,1fr))}.bk-widget h2{font-size:22px}.bk-calendar-note{font-size:11px}.bk-help{line-height:1.5}.bk-modal .bk-close{flex-basis:34px;width:34px;height:34px;min-height:34px;padding:7px}}
#adminBookingStatus:empty,#adminBookingReadiness:empty{display:none}
#adminManagementBookingsPane .bk-admin-schedule{display:grid;gap:10px;margin:16px 0 24px}
#adminManagementBookingsPane .bk-admin-schedule-day{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:start}
#adminManagementBookingsPane .bk-admin-slot-times{display:flex;flex-wrap:wrap;gap:6px}
#adminManagementBookingsPane .bk-admin-slot-time{padding:4px 8px;border-radius:6px;background:var(--re7-surface-2,var(--bg-card,#eaf0f3));color:var(--text-main,inherit);font-variant-numeric:tabular-nums}
#adminManagementBookingsPane details{margin:16px 0}#adminManagementBookingsPane details>summary{cursor:pointer;font-weight:600}
#adminManagementBookingsPane h3>small{font-size:.7em;font-weight:500;color:var(--text-muted,inherit)}
#adminManagementBookingsPane .bk-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}#adminManagementBookingsPane .card{padding:24px;min-width:0}#adminManagementBookingsPane h3{margin-top:0}#adminManagementBookingsPane label{display:block;margin:12px 0 5px}#adminManagementBookingsPane input:not([type=checkbox]),#adminManagementBookingsPane select{width:100%;min-height:42px}#adminManagementBookingsPane .bk-admin-inline{display:grid;grid-template-columns:1fr 1fr;gap:12px}#adminManagementBookingsPane .bk-admin-hours{display:grid;grid-template-columns:70px 1fr 1fr;gap:8px;align-items:center;margin:8px 0}#adminManagementBookingsPane .bk-admin-hours label{margin:0}#adminManagementBookingsPane .bk-admin-list{list-style:none;padding:0;margin:14px 0}#adminManagementBookingsPane .bk-admin-list li{border-bottom:1px solid var(--border-color,#6d879333);padding:14px 0;overflow-wrap:anywhere}#adminManagementBookingsPane .bk-admin-list button{margin-top:8px}#adminManagementBookingsPane .bk-admin-list small{display:block;margin-top:5px}#adminManagementBookingsPane .bk-admin-status{white-space:pre-line;padding:12px 0}#adminManagementBookingsPane .bk-admin-warning{color:#b56626}#adminManagementBookingsPane form>.primary-btn{margin-top:20px}
@media(max-width:760px){.bk-shell{grid-template-columns:1fr;gap:24px;margin-top:0}.bk-intro{position:static;padding-top:0}.bk-intro h1{font-size:34px}.bk-intro>p{max-width:none}.bk-facts{display:flex;flex-wrap:wrap;margin-top:12px;padding:16px 0}.bk-intro>.bk-small{display:none}.bk-surface{padding:22px}.bk-header{font-size:14px}.bk-days{gap:4px}.bk-days button{min-height:36px;border-radius:9px}#adminManagementBookingsPane .bk-admin-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.bk-page *{scroll-behavior:auto}}
