:root{--booking-ink:#11110f;--booking-paper:#f3f7ff;--booking-muted:#626b78;--booking-line:#e2e8f1;--booking-acid:#dfff4f;--booking-blue:#5264e8;--booking-danger:#9b352f}*{box-sizing:border-box}html{background:var(--booking-paper);min-width:320px;color:var(--booking-ink);font-family:var(--ib-brand-sans),-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,#root{min-width:320px;min-height:100dvh;margin:0}body{background:radial-gradient(circle at 12% 5%,#dfff4f38,transparent 28rem),radial-gradient(circle at 90% 12%,#5264e81f,transparent 34rem),var(--booking-paper)}button,input,textarea{font:inherit}:where(a,button,input,textarea):focus-visible{outline:3px solid var(--booking-blue);outline-offset:3px}.booking-shell{grid-template-columns:330px minmax(0,1fr);align-items:start;gap:20px;width:min(1080px,100% - 32px);min-height:100dvh;margin:auto;padding:40px 0;display:grid}.booking-summary,.booking-flow,.confirmation-shell>section,.action-shell>section{background:#fff;border-radius:30px;box-shadow:0 0 0 1px #11110f0f,0 24px 70px #1f365c1f}.booking-summary{padding:25px;position:sticky;top:24px;overflow:hidden}.booking-wordmark{align-items:center;width:max-content;min-height:44px;display:flex}.booking-wordmark img{width:136px;height:auto}.booking-creator{grid-template-columns:54px minmax(0,1fr);align-items:center;gap:12px;margin-top:35px;display:grid}.booking-creator>img{object-fit:cover;outline-offset:-1px;border-radius:50%;outline:1px solid #0000001a;width:54px;height:54px}.booking-creator span{gap:4px;min-width:0;display:grid}.booking-creator small,.booking-step header>small,.confirmation-shell section>small,.action-shell section>small{font-family:var(--ib-brand-mono),monospace;letter-spacing:.14em;font-size:8px;font-weight:800}.booking-creator b{overflow-wrap:anywhere;font-size:13px}.booking-service{margin-top:27px}.booking-service h1{letter-spacing:-.045em;text-wrap:balance;margin:0;font-size:31px;line-height:1.02}.booking-service>p{color:var(--booking-muted);text-wrap:pretty;margin:11px 0 0;font-size:12px;line-height:1.55}.booking-service dl{margin:24px 0 0;display:grid}.booking-service dl>div{border-top:1px solid var(--booking-line);justify-content:space-between;align-items:center;gap:12px;min-height:49px;display:flex}.booking-service dt{color:var(--booking-muted);align-items:center;gap:7px;font-size:9px;display:flex}.booking-service dt svg{width:14px}.booking-service dd{font-variant-numeric:tabular-nums;text-align:right;margin:0;font-size:10px;font-weight:800}.booking-policy{background:#f5f7fb;border-radius:15px;margin-top:18px;padding:4px 12px}.booking-policy summary{cursor:pointer;align-items:center;min-height:44px;font-size:10px;font-weight:800;display:flex}.booking-policy p{color:var(--booking-muted);text-wrap:pretty;margin:0 0 12px;font-size:9px;line-height:1.5}.booking-flow{min-height:680px;padding:28px}.booking-steps{grid-template-columns:repeat(3,1fr);gap:7px;margin:0 0 31px;padding:0;list-style:none;display:grid}.booking-steps li{color:#7b8390;background:#f3f5f8;border-radius:13px;align-items:center;gap:8px;min-height:44px;padding:0 10px;font-size:9px;font-weight:800;display:flex}.booking-steps li>span{background:#fff;border-radius:8px;place-items:center;width:22px;height:22px;font-size:8px;display:grid}.booking-steps li svg{width:12px}.booking-steps li.active{background:var(--booking-ink);color:#fff}.booking-steps li.done{color:#4d5c12;background:#eef6cf}.booking-step{max-width:640px;margin:auto}.booking-step header h2{letter-spacing:-.05em;text-wrap:balance;margin:9px 0 6px;font-size:35px;line-height:1}.booking-step header h2:focus{outline:0}.booking-step header p{color:var(--booking-muted);text-wrap:pretty;margin:0;font-size:11px;line-height:1.5}.timezone-field,.visitor-form label{color:#414852;gap:7px;margin-top:20px;font-size:10px;font-weight:800;display:grid}.timezone-field input,.visitor-form input,.visitor-form textarea{width:100%;min-height:48px;color:var(--booking-ink);background:#fafcff;border:1px solid #dce2ea;border-radius:14px;outline:0;padding:0 13px}.visitor-form textarea{resize:vertical;min-height:105px;padding-top:13px}.visitor-form label>small{color:var(--booking-muted);font-weight:500;display:inline}.date-strip{grid-template-columns:repeat(7,minmax(66px,1fr));gap:6px;margin-top:23px;padding:3px;display:grid;overflow-x:auto}.date-strip button{min-width:66px;min-height:82px;color:var(--booking-ink);cursor:pointer;background:#f1f4f8;border:0;border-radius:16px;align-content:center;place-items:center;gap:2px;transition-property:background-color,color,scale,box-shadow;transition-duration:.15s;display:grid}.date-strip button:active,.slot-grid button:active,.booking-primary:active,.booking-secondary:active,.booking-back:active,.booking-danger:active,.action-slots button:active{scale:.96}.date-strip button.selected{background:var(--booking-ink);color:#fff;box-shadow:0 9px 24px #11110f2e}.date-strip small,.date-strip span{font-size:8px}.date-strip b{font-variant-numeric:tabular-nums;font-size:19px}.slot-grid{grid-template-columns:repeat(3,1fr);gap:7px;margin-top:18px;display:grid}.slot-grid button,.action-slots button{min-height:48px;color:var(--booking-ink);font-variant-numeric:tabular-nums;cursor:pointer;background:#fff;border:1px solid #dce2ea;border-radius:13px;font-size:11px;font-weight:800;transition-property:background-color,color,border-color,scale;transition-duration:.15s}.slot-grid button.selected,.action-slots button[aria-pressed=true]{border-color:var(--booking-ink);background:var(--booking-acid)}.booking-primary,.booking-secondary,.booking-back,.booking-danger{cursor:pointer;border:0;border-radius:14px;justify-content:center;align-items:center;gap:9px;min-height:50px;padding:0 17px;font-size:11px;font-weight:850;text-decoration:none;transition-property:background-color,color,scale,box-shadow;transition-duration:.15s;display:inline-flex}.booking-primary{background:var(--booking-ink);color:#fff;margin-top:22px;box-shadow:0 11px 28px #11110f2e}.booking-primary svg,.booking-back svg{width:16px}.booking-primary:disabled{opacity:.45;cursor:not-allowed}.booking-actions{justify-content:space-between;align-items:center;gap:10px;margin-top:21px;display:flex}.booking-actions .booking-primary{margin-top:0}.booking-back{color:#515965;background:0 0}.visitor-form{display:grid}.review-card{gap:9px;margin-top:24px;display:grid}.review-card>div{background:#f4f7fb;border-radius:17px;gap:5px;min-height:86px;padding:15px;display:grid}.review-card span{color:var(--booking-muted);align-items:center;gap:7px;font-size:9px;display:flex}.review-card span svg{width:14px}.review-card strong{font-variant-numeric:tabular-nums;font-size:13px;line-height:1.4}.review-card small{color:var(--booking-muted);font-size:9px}.review-card .review-total{background:#eef6cf;justify-content:space-between;align-items:center;min-height:66px;display:flex}.review-total strong{font-size:22px}.payment-note,.hold-timer{color:var(--booking-muted);text-wrap:pretty;margin:15px 0 0;font-size:10px;line-height:1.55}.hold-timer{background:#fff6dd;border-radius:13px;justify-content:space-between;padding:12px;display:flex}.hold-timer b{font-variant-numeric:tabular-nums}.booking-inline-error,.confirmation-warning{color:#833b34;text-wrap:pretty;background:#fff0ed;border-radius:14px;margin-bottom:18px;padding:13px;font-size:10px;line-height:1.5}.no-slots{text-align:center;align-content:center;place-items:center;min-height:360px;display:grid}.no-slots svg{width:30px;color:var(--booking-muted)}.no-slots h3{margin:13px 0 5px}.no-slots p{max-width:320px;color:var(--booking-muted);margin:0;font-size:11px}.no-slots a{align-items:center;min-height:44px;margin-top:10px;font-size:10px;font-weight:800;display:flex}.booking-state{text-align:center;align-content:center;place-items:center;gap:10px;min-height:100dvh;padding:24px;display:grid}.booking-state>svg{width:30px}.booking-state .lucide-loader-circle,.confirmation-mark.pending svg{animation:1s linear infinite booking-spin}.booking-state h1{margin:5px 0 0}.booking-state p{max-width:420px;color:var(--booking-muted);margin:0;font-size:12px;line-height:1.55}.booking-state button{background:var(--booking-ink);color:#fff;border:0;border-radius:14px;align-items:center;gap:8px;min-height:48px;margin-top:8px;padding:0 16px;display:flex}.confirmation-shell,.action-shell{width:min(680px,100% - 28px);margin:auto;padding:30px 0 70px}.confirmation-shell>.booking-wordmark,.action-shell>.booking-wordmark{margin:0 auto 24px}.confirmation-shell>section,.action-shell>section{text-align:center;padding:clamp(25px,6vw,48px)}.confirmation-mark{background:#f0f2f6;border-radius:22px;place-items:center;width:64px;height:64px;margin:0 auto 22px;display:grid}.confirmation-mark svg{width:26px}.confirmation-mark.confirmed{background:var(--booking-acid)}.confirmation-mark.failed{color:var(--booking-danger);background:#ffe0db}.confirmation-shell h1,.action-shell h1{letter-spacing:-.06em;text-wrap:balance;margin:11px 0 10px;font-size:clamp(38px,8vw,58px);line-height:.98}.confirmation-shell section>p,.action-shell section>p{max-width:470px;color:var(--booking-muted);text-wrap:pretty;margin:0 auto;font-size:13px;line-height:1.6}.confirmation-details,.action-current{background:#f4f7fb;border-radius:20px;gap:5px;margin:26px 0;padding:20px;display:grid}.confirmation-details b,.action-current b{font-variant-numeric:tabular-nums;font-size:15px}.confirmation-details span,.confirmation-details small,.action-current span,.action-current small{color:var(--booking-muted);font-size:10px}.confirmation-details strong{margin-top:8px;font-size:21px}.confirmation-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:24px;display:flex}.confirmation-actions .booking-primary{margin:0}.booking-secondary{color:var(--booking-ink);background:#fff;border:1px solid #dce2ea}.action-slots{grid-template-columns:1fr 1fr;gap:8px;margin:20px 0;display:grid}.booking-danger{color:#fff;background:#9b352f;margin-top:22px}@keyframes booking-spin{to{transform:rotate(360deg)}}@media (width<=760px){.booking-shell{grid-template-columns:minmax(0,1fr);gap:0;width:100%;padding:0}.booking-summary{border-radius:0;padding:16px 18px 20px;position:static}.booking-wordmark img{width:124px}.booking-creator{margin-top:20px}.booking-service{margin-top:18px}.booking-service h1{font-size:27px}.booking-service>p,.booking-service dl,.booking-policy{display:none}.booking-flow{min-height:calc(100dvh - 190px);padding:22px 16px max(26px,env(safe-area-inset-bottom));border-radius:25px 25px 0 0}.booking-steps{margin-bottom:25px}.booking-step header h2{font-size:31px}.date-strip{margin-inline:-3px}.slot-grid{grid-template-columns:1fr 1fr}.booking-actions{margin:21px -16px calc(-1 * max(26px,env(safe-area-inset-bottom)));padding:12px 16px max(14px,env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;position:sticky;bottom:0;box-shadow:0 -1px #11110f12,0 -12px 28px #1f365c12}.booking-step>.booking-primary{width:100%}.confirmation-actions{display:grid}.confirmation-actions>*,.confirmation-actions .booking-primary{width:100%}}@media (width<=390px){.booking-steps li{justify-content:center;padding:0;font-size:0}.booking-steps li>span{font-size:8px}.date-strip{grid-template-columns:repeat(7,66px)}.booking-actions{flex-direction:column-reverse;align-items:stretch}.booking-actions>*{width:100%}.action-slots{grid-template-columns:1fr}.confirmation-shell,.action-shell{width:calc(100% - 20px);padding-top:20px}.confirmation-shell>section,.action-shell>section{border-radius:24px;padding:24px 18px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.booking-overview-actions{gap:12px;margin-top:24px;display:grid}.booking-overview-actions .booking-primary{margin-top:0}.reschedule-picker{text-align:left;min-width:0;margin-top:28px}.reschedule-picker h2{letter-spacing:-.03em;margin:0;font-size:22px}.reschedule-picker>p{color:var(--booking-muted);margin:8px 0;font-size:12px;line-height:1.5}.reschedule-picker h3{margin:24px 0 0;font-size:14px}.reschedule-picker .date-strip{grid-template-columns:repeat(7,minmax(66px,1fr));padding-bottom:12px}.reschedule-picker .slot-grid{margin-top:12px}.reschedule-picker .reschedule-selection{color:var(--booking-ink);margin-top:18px}
