.booking-request-notice{color:#426174;background:0 0;border:0;border-bottom:1px solid #e6edf1;align-items:center;gap:10px;margin:0;padding:0 0 16px;display:flex}.booking-request-notice>svg{color:#075076;flex-shrink:0}.booking-request-notice p{flex-wrap:wrap;align-items:center;gap:5px 12px;margin:0;font-size:12px;line-height:1.7;display:flex}.booking-request-notice strong{letter-spacing:.035em;background:#f7fafb;border:1px solid #e0e8ed;border-radius:20px;padding:3px 8px;font-size:10px;font-weight:500}.booking-availability-status{justify-content:space-between;align-items:center;gap:15px;margin:16px 0;display:flex}.booking-availability-status p{color:#496274;margin:0;font-size:13px;line-height:1.7}.booking-availability-status button{flex-shrink:0;align-items:center;gap:7px;min-height:40px;font-size:12px;text-decoration:none;display:inline-flex}.booking-scheduler{isolation:isolate;background:#fff;border:1px solid #d6e3e9;border-radius:22px;position:relative;overflow:hidden;box-shadow:0 12px 35px #153a5108,inset 0 1px #fff}.booking-scheduler:before{content:"";z-index:2;background:linear-gradient(90deg,#bfd36a00,#bfd36a,#99bfd4,#99bfd400);height:2px;position:absolute;top:0;left:0;right:0}.booking-scheduler[aria-busy=true]:before{background:linear-gradient(90deg,#0000,#075076,#0000);animation:1.2s ease-in-out infinite scheduler-loading}.booking-scheduler .booking-time-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;display:grid}.scheduler-calendar,.scheduler-times{min-width:0;padding:24px 20px}.scheduler-times{background:radial-gradient(at 100% 0,#fff 0,#0000 70%),#f3f7fa;border-left:1px solid #e0e9ef}.scheduler-section-title{align-items:center;gap:9px;margin-bottom:24px;display:flex}.scheduler-section-title>span{color:#527287;background:#fff;border:1px solid #dbe5eb;border-radius:8px;place-items:center;width:24px;height:24px;font-size:10px;font-weight:600;display:grid}.scheduler-section-title h3{font:600 14px/1.5 var(--font-body);color:#183d52;margin:0}.preference-calendar{outline-offset:5px;border:0;min-width:0;margin:0;padding:0}.calendar-month{justify-content:space-between;align-items:center;gap:8px;margin-bottom:24px;display:flex}.calendar-month>div:first-child{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.calendar-month strong{font:600 23px/1.3 var(--font-body);letter-spacing:-.04em;text-transform:capitalize;color:#17394d}.calendar-month span{color:#6c8290;font-size:12px}.calendar-month-actions{gap:5px;display:flex}.calendar-month button{color:#235673;cursor:pointer;background:#fff;border:1px solid #dce6ec;border-radius:50%;place-items:center;width:33px;height:33px;transition:background .2s,transform .2s,border-color .2s;display:grid}.calendar-month button:disabled{color:#a4b4bf;cursor:default;border-color:#edf1f4}.calendar-week,.calendar-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.calendar-week{color:#708794;text-align:center;margin-bottom:12px;font-size:10px;font-weight:500}.calendar-page{animation:.32s cubic-bezier(.2,.7,.2,1) both scheduler-month-in}.calendar-days{grid-auto-rows:44px}.calendar-days button{isolation:isolate;color:#214c64;min-width:0;height:44px;font:500 14px/1 var(--font-body);font-variant-numeric:tabular-nums;cursor:pointer;background:#edf4f7;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;padding:0 0 3px;transition:background .2s,box-shadow .2s,transform .2s,color .2s;display:flex;position:relative}.calendar-days button:disabled{color:#b7c3cc;cursor:default;background:0 0}.calendar-days button[aria-current=date]{border-color:#d6e2e9}.calendar-days button[aria-pressed=true]{color:#fff;background:linear-gradient(145deg,#186286,#064370);border-color:#064370;animation:.25s ease-out scheduler-day-select;box-shadow:0 4px 10px #06437025,inset 0 1px #ffffff25}.calendar-available-dot{background:#92a83e;border-radius:50%;width:3px;height:3px;position:absolute;bottom:6px;left:calc(50% - 1.5px)}.calendar-days [aria-pressed=true] .calendar-available-dot{background:#e1ed83}.calendar-legend{color:#6d8491;border-top:1px solid #edf1f3;justify-content:center;gap:20px;margin-top:14px;padding-top:17px;font-size:10px;display:flex}.calendar-legend>span{align-items:center;gap:6px;display:flex}.calendar-legend i{background:#92a83e;border-radius:50%;width:6px;height:6px;display:block}.calendar-legend>span:last-child i{background:#075076}.scheduler-day-label{min-height:38px;font:500 15px/1.6 var(--font-body);color:#35596d;margin:0 0 16px}.scheduler-day-label:first-letter{text-transform:uppercase}.booking-slot-options{border:0;min-width:0;margin:0;padding:0}.scheduler-sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.scheduler-time-groups{gap:21px;display:grid}.scheduler-period{color:#6a8291;align-items:center;gap:7px;margin-bottom:9px;font-size:10px;line-height:1.6;display:flex}.scheduler-period svg{color:#82994e;flex-shrink:0}.scheduler-time-slots{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.scheduler-time-slots label{text-align:center;cursor:pointer;animation:scheduler-slot-in .3s var(--slot-delay,0s) cubic-bezier(.2,.7,.2,1) both;background:linear-gradient(135deg,#fff,#ffffffb5);border:1px solid #dce5eb;border-radius:10px;padding:12px 4px;transition:border-color .2s,box-shadow .2s,background .2s,transform .2s;display:block;position:relative;box-shadow:0 2px 3px #173b5203}.scheduler-time-slots input{opacity:0;width:1px;height:1px;padding:0;position:absolute}.scheduler-time-slots strong{color:#244a60;font-variant-numeric:tabular-nums;font-size:14px;font-weight:600;line-height:1.3;display:block}.scheduler-time-slots label>span{color:#728997;margin-top:4px;font-size:9px;display:block}.scheduler-slot-check{opacity:0;color:#d8e780;transition:opacity .2s,transform .2s;position:absolute;top:5px;right:5px;transform:scale(.5)}.scheduler-time-slots label.is-selected{background:linear-gradient(135deg,#185778,#0c3e5b);border-color:#125074;box-shadow:0 4px 10px #0b3b571a,inset 0 1px #ffffff25}.scheduler-time-slots .is-selected strong{color:#fff}.scheduler-time-slots .is-selected>span{color:#bcd5e2}.scheduler-time-slots .is-selected .scheduler-slot-check{opacity:1;transform:scale(1)}.scheduler-time-slots label:focus-within{outline-offset:3px;outline:2px solid #075076}.booking-slot-options:disabled{opacity:.65}.booking-scheduler.is-flexible .preference-calendar{opacity:.45}.scheduler-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:285px;padding:10px 3px;animation:.3s ease-out both scheduler-slot-in;display:flex}.scheduler-empty-icon{color:#42728a;background:linear-gradient(135deg,#fff,#e9f0f5);border:1px solid #dae5ec;border-radius:22px;place-items:center;width:68px;height:68px;margin-bottom:24px;display:grid;position:relative;box-shadow:0 0 0 9px #ffffff75,0 6px 15px #123d5208}.scheduler-empty>strong{color:#244b61;font-size:15px;font-weight:500;line-height:1.5}.scheduler-empty>p{color:#718694;max-width:24ch;margin:10px 0 24px;font-size:12px;line-height:1.8}.scheduler-empty-slots{opacity:.55;justify-content:center;gap:7px;width:100%;display:flex}.scheduler-empty-slots span{letter-spacing:.05em;color:#718c9b;background:#ffffff7a;border:1px dashed #bfd1dd;border-radius:8px;padding:10px 9px;font-size:11px}.booking-time-summary{color:#fff;background:linear-gradient(115deg,#102f43,#154b63);border:0;border-radius:0;align-items:center;gap:14px;margin:0;padding:22px 24px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff15}.booking-time-summary:after{content:"";pointer-events:none;border:1px solid #ffffff09;border-radius:50%;width:230px;height:230px;position:absolute;top:-95px;right:-30px;box-shadow:0 0 0 25px #ffffff03,0 0 0 50px #ffffff02}.scheduler-summary-icon{color:#bbd3e0;background:#ffffff08;border:1px solid #ffffff23;border-radius:13px;flex-shrink:0;place-items:center;width:43px;height:43px;transition:background .2s,color .2s,border-color .2s;display:grid}.has-selection .scheduler-summary-icon{color:#143449;background:#dce980;border-color:#e4eea0}.scheduler-summary-copy{z-index:1;min-width:0;animation:.24s ease-out scheduler-slot-in;position:relative}.scheduler-summary-copy>span{letter-spacing:.12em;color:#b0ccd9;margin-bottom:6px;font-size:8px;font-weight:500;display:block}.scheduler-summary-copy p{font:500 18px/1.5 var(--font-body);letter-spacing:-.02em;color:#fff;margin:0}.booking-time-summary>small{white-space:nowrap;color:#c3d8e3;z-index:1;align-items:center;gap:6px;margin-left:auto;font-size:11px;display:flex;position:relative}.flexible-time{color:#587283;align-items:center;margin:0;padding:18px 2px 0;font-size:12px}.flexible-time input{accent-color:#075076;flex-shrink:0;width:17px;height:17px;margin:0}.scheduler-refreshing{animation:1.1s linear infinite scheduler-spin}@media (hover:hover) and (pointer:fine){.calendar-month button:not(:disabled):hover{background:#edf5f8;border-color:#bad0dd;transform:translateY(-1px)}.calendar-days button:not(:disabled):not([aria-pressed=true]):hover{background:#dcecf3;transform:translateY(-2px);box-shadow:0 3px 8px #07507610}.scheduler-time-slots label:not(.is-selected):hover{border-color:#94b2c5;transform:translateY(-2px);box-shadow:0 4px 10px #123d5210}}@keyframes scheduler-month-in{0%{opacity:.2;transform:translateX(calc(var(--month-direction,1)*12px))}to{opacity:1;transform:translate(0)}}@keyframes scheduler-slot-in{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes scheduler-day-select{0%{transform:scale(.94)}to{transform:scale(1)}}@keyframes scheduler-loading{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes scheduler-spin{to{transform:rotate(360deg)}}@media (width>=821px) and (width<=1150px){.booking-scheduler .booking-time-grid{grid-template-columns:minmax(0,1fr)}.scheduler-times{border-top:1px solid #e0e9ef;border-left:0}.scheduler-empty{min-height:180px}.scheduler-time-slots{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=560px){.booking-scheduler{border-radius:17px}.booking-scheduler .booking-time-grid{grid-template-columns:minmax(0,1fr)}.scheduler-calendar{padding:22px 15px 20px}.scheduler-times{border-top:1px solid #e0e9ef;border-left:0;padding:22px 17px}.scheduler-section-title{margin-bottom:18px}.calendar-month{margin-bottom:20px}.calendar-days,.calendar-week{gap:4px}.calendar-days{grid-auto-rows:43px}.calendar-days button{border-radius:10px;height:43px;font-size:14px}.scheduler-day-label{min-height:0;margin-bottom:18px;font-size:14px}.scheduler-empty{min-height:195px;padding:14px 0 3px}.scheduler-empty-icon{border-radius:18px;width:54px;height:54px;margin-bottom:18px}.scheduler-empty>p{max-width:28ch}.scheduler-time-slots label{padding:14px 5px}.booking-time-summary{flex-wrap:wrap;gap:11px;padding:20px 16px}.scheduler-summary-copy{flex:1}.scheduler-summary-copy p{font-size:16px}.booking-time-summary>small{flex-basis:100%;margin-left:54px}.booking-availability-status{gap:10px}.booking-availability-status p{font-size:12px}.booking-availability-status button{gap:5px;font-size:11px}.booking-request-notice p{font-size:11px}.flexible-time{font-size:12px;line-height:1.7}.scheduler-summary-copy>span{font-size:8px}}@media (prefers-reduced-motion:reduce){.booking-scheduler *,.booking-scheduler:before,.scheduler-refreshing{transition:none!important;animation:none!important}.calendar-days button:hover,.scheduler-time-slots label:hover,.calendar-month button:hover{transform:none!important}}
