:root{--booking-ink:#10233d;--booking-muted:#63758b;--booking-teal:#02aaa9;--booking-dark:#006b72;--booking-border:#d7e5e9;--booking-bg:#f5fafb;--booking-green:#16b98a;--booking-orange:#f7ad22;--booking-red:#ed3657;--booking-gray:#b8c4cb}
html,body{max-width:100%;overflow-x:hidden}.booking-page{background:linear-gradient(145deg,#f3fbfc 0,#fff 35%,#f7fbfc 100%);color:var(--booking-ink);padding-bottom:76px}.booking-hero{position:relative;overflow:hidden;padding:42px 0 34px;background:linear-gradient(120deg,rgba(229,248,250,.9),rgba(255,255,255,.95) 57%,rgba(197,239,242,.62))}.booking-hero:after{content:"";position:absolute;width:410px;height:410px;border:58px solid rgba(6,181,188,.08);border-radius:45% 55% 60% 40%;right:-150px;top:-165px;transform:rotate(30deg)}.booking-hero__inner{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:50px}.booking-eyebrow{margin:0 0 7px;color:#17647c;font-size:12px;font-weight:700;letter-spacing:.18em}.booking-hero h1{font-size:42px;line-height:1.1;margin:0 0 9px;letter-spacing:-.035em}.booking-lead{color:var(--booking-muted);font-size:15px;line-height:1.5;margin:0}.booking-steps{display:flex;align-items:flex-start;list-style:none;margin:0;padding:0;min-width:560px}.booking-steps li{position:relative;display:flex;gap:12px;width:33.333%;padding-right:28px}.booking-steps li:not(:last-child):after{content:"›";position:absolute;right:9px;top:7px;color:#15949c;font-size:24px}.booking-steps span{flex:0 0 29px;height:29px;border:1px solid #0aa2ac;border-radius:50%;display:grid;place-items:center;color:#087d87;background:#fff}.booking-steps .is-active span{color:#fff;border-color:#087d87;background:linear-gradient(135deg,#006c73,#10aeb1);box-shadow:0 5px 12px rgba(1,123,130,.25)}.booking-steps strong{display:block;font-size:13px;margin:2px 0 5px}.booking-steps small{display:block;color:var(--booking-muted);font-size:11px;line-height:1.35}.booking-content{padding-top:18px}.booking-grid{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(360px,1fr);gap:16px;align-items:start}.booking-card{background:rgba(255,255,255,.96);border:1px solid var(--booking-border);border-radius:12px;box-shadow:0 12px 35px rgba(22,73,91,.065)}.booking-main-card{padding:22px 18px 20px}.calendar-toolbar{display:grid;grid-template-columns:1fr auto 1.3fr;align-items:center;gap:14px;margin-bottom:15px}.calendar-navigation{display:flex;align-items:center;gap:7px}.calendar-navigation h2{font-size:18px;white-space:nowrap;margin:0 0 0 5px}.icon-button,.today-button{border:1px solid var(--booking-border);background:#fff;color:#24506a;border-radius:7px;height:34px;cursor:pointer}.icon-button{width:34px;font-size:24px;line-height:1}.today-button{padding:0 17px;font-size:12px}.calendar-legend{display:flex;justify-content:flex-end;gap:17px;flex-wrap:wrap;font-size:11px;color:var(--booking-muted)}.calendar-legend span{display:flex;align-items:center;gap:6px}.dot{width:9px;height:9px;border-radius:50%;display:inline-block}.dot.available{background:var(--booking-green)}.dot.limited{background:var(--booking-orange)}.dot.full{background:var(--booking-red)}.dot.unavailable{background:var(--booking-gray)}.calendar{border:1px solid var(--booking-border);border-radius:9px;overflow:hidden}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-weekdays span{text-align:center;padding:11px 5px;font-size:12px;color:#425a72;border-right:1px solid #e7eff2}.calendar-weekdays span:last-child{border-right:0}.calendar-day{position:relative;min-height:62px;border:0;border-top:1px solid #e7eff2;border-right:1px solid #e7eff2;background:#fff;color:var(--booking-ink);font-size:13px;cursor:pointer}.calendar-day:nth-child(7n){border-right:0}.calendar-day.other-month{color:#aab7bf;background:#fbfcfd;cursor:default}.calendar-day:disabled{cursor:not-allowed;color:#9eabb3;background:#fafcfc}.calendar-day:not(:disabled):hover{background:#ecfbfb}.calendar-day.is-selected{color:#fff;background:linear-gradient(135deg,#008c8d,#0bbac0);box-shadow:inset 0 0 0 2px rgba(255,255,255,.32)}.calendar-day.is-selected .day-status{background:#fff}.calendar-day.today .day-number:after{content:"";display:block;width:16px;height:2px;background:#08aeb3;margin:3px auto 0}.day-status{position:absolute;bottom:10px;left:50%;width:7px;height:7px;border-radius:50%;transform:translateX(-50%)}.calendar-day[data-state=available] .day-status{background:var(--booking-green)}.calendar-day[data-state=limited] .day-status{background:var(--booking-orange)}.calendar-day[data-state=full] .day-status{background:var(--booking-red)}.calendar-day[data-state=unavailable] .day-status{background:var(--booking-gray)}.slots-section{padding-top:18px}.slots-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.slots-heading h2{font-size:16px;margin:0 0 3px}.slots-heading p{font-size:12px;color:var(--booking-muted);margin:0}.timezone-badge{border:1px solid var(--booking-border);border-radius:7px;padding:8px 12px;color:#3d566e;font-size:11px}.slots-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;min-height:52px}.slot-button{min-height:43px;border:1px solid #bfdae0;border-radius:7px;background:#fff;color:#16334b;font-size:12px;font-weight:700;cursor:pointer}.slot-button small{display:block;color:#008f98;font-size:10px;font-weight:500;margin-top:2px}.slot-button.selected{background:linear-gradient(135deg,#008d87,#09b9bc);border-color:#00a39f;color:#fff;box-shadow:0 5px 12px rgba(0,147,147,.2)}.slot-button.selected small{color:#fff}.slot-button:disabled{cursor:not-allowed;background:#edf1f2;color:#78868f;border-color:#edf1f2}.slot-button.pending{background:#fff8df;color:#8c6200;border-color:#f3d77a}.slot-button.pending small{color:#ad7400}.booking-sidebar{display:grid;gap:12px}.details-card,.upcoming-card{padding:18px}.card-heading{display:flex;gap:11px;margin-bottom:14px}.heading-icon{width:30px;height:30px;border-radius:7px;background:#e7f8f8;color:#008b93;display:grid;place-items:center;font-size:18px}.card-heading h2{font-size:17px;margin:1px 0 2px}.card-heading p{font-size:11px;color:var(--booking-muted);margin:0}.selection-summary{display:grid;gap:7px;margin-bottom:13px}.selection-summary div{display:grid;grid-template-columns:105px 1fr;align-items:center}.selection-summary span,.field-row label,.meeting-types legend{font-size:11px;color:#51657b}.selection-summary strong{font-size:12px;font-weight:600;background:#f5fafb;border:1px solid var(--booking-border);padding:8px 10px;border-radius:6px}.field-row{display:grid;grid-template-columns:105px 1fr;align-items:center;margin-bottom:8px}.field-row select,.form-fields input,.form-fields textarea{width:100%;border:1px solid var(--booking-border);border-radius:6px;background:#fbfdfd;color:#243c53;padding:8px 9px;font-size:12px;outline:none}.field-row select:focus,.form-fields input:focus,.form-fields textarea:focus{border-color:#05aeb3;box-shadow:0 0 0 3px rgba(5,174,179,.1)}.meeting-types{display:grid;grid-template-columns:105px 1fr;border:0;padding:0;margin:5px 0 13px}.meeting-types legend{grid-row:1/3;float:none;width:auto;margin:3px 0 0}.meeting-types label{font-size:12px;margin-bottom:5px}.meeting-types input{accent-color:#008d96;margin-right:7px}.form-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px}.form-fields label{display:block;font-size:10px;color:#51657b;margin:0 0 3px}.form-fields textarea{resize:vertical}.form-field-wide{grid-column:1/-1}.field-error{display:block;min-height:12px;color:#b4233a;font-size:10px;margin-top:2px}.booking-slot-error{margin-left:105px}.book-button{width:100%;border:0;border-radius:7px;background:linear-gradient(90deg,#009a91,#08b5bd);color:#fff;font-size:15px;font-weight:700;padding:12px;margin-top:8px;cursor:pointer;box-shadow:0 8px 20px rgba(0,154,145,.18)}.book-button:disabled{opacity:.48;cursor:not-allowed}.booking-assurance{text-align:center;color:var(--booking-muted);font-size:10px;margin:8px 15px 0}.form-message{padding:10px 12px;border-radius:7px;font-size:12px;margin-bottom:12px}.form-message.success{color:#08643f;background:#e8f8f0;border:1px solid #b5e5cf}.form-message.error{color:#8e2634;background:#fff0f2;border:1px solid #f5c1c8}.booking-honeypot{position:absolute!important;left:-10000px!important}.upcoming-item{display:grid;grid-template-columns:46px 1fr auto;gap:10px;align-items:center;padding:10px 0;border-top:1px solid #e7eff1}.upcoming-date{border-radius:7px;background:#eaf7f8;text-align:center;padding:5px 2px;color:#087986;font-size:10px;font-weight:700}.upcoming-date strong{display:block;font-size:16px}.upcoming-info strong{display:block;font-size:12px}.upcoming-info small{font-size:10px;color:var(--booking-muted)}.status-pill{border-radius:12px;padding:4px 9px;font-size:9px;font-weight:700;text-transform:capitalize}.status-pill.confirmed{color:#087344;background:#e1f7ec}.status-pill.pending{color:#9a6800;background:#fff3c8}.empty-state{grid-column:1/-1;color:var(--booking-muted);font-size:12px;margin:12px 0}
@media(max-width:1199px){.booking-hero__inner{align-items:flex-start;flex-direction:column}.booking-steps{min-width:0;width:100%;max-width:650px}.booking-grid{grid-template-columns:1fr}.booking-sidebar{grid-template-columns:1fr 1fr}.slots-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:767px){.booking-hero{padding:30px 0}.booking-hero h1{font-size:34px}.booking-lead br{display:none}.booking-steps{display:grid;gap:12px}.booking-steps li{width:100%}.booking-steps li:after{display:none}.booking-grid,.booking-sidebar{display:grid;grid-template-columns:1fr}.calendar-toolbar{grid-template-columns:1fr auto}.calendar-legend{grid-column:1/-1;justify-content:flex-start}.calendar-day{min-height:52px}.slots-grid{grid-template-columns:repeat(2,1fr)}.form-fields{grid-template-columns:1fr}.form-field-wide{grid-column:auto}.selection-summary div,.field-row,.meeting-types{grid-template-columns:1fr}.meeting-types legend{grid-row:auto}.booking-slot-error{margin-left:0}}
@media(max-width:480px){.booking-content{padding-left:10px;padding-right:10px}.booking-main-card{padding:14px 10px 16px}.calendar-toolbar{display:flex;flex-wrap:wrap;gap:10px}.calendar-navigation{width:100%;gap:6px}.calendar-navigation h2{font-size:16px;margin-left:2px}.calendar-actions{display:flex;gap:7px}.today-button{padding:0 12px}.calendar-legend{width:100%;gap:9px;font-size:10px}.calendar-day{min-height:43px;font-size:12px}.day-status{bottom:7px}.calendar-weekdays span{padding:8px 1px;font-size:10px}.slots-heading{align-items:flex-start;flex-direction:column;gap:9px}.timezone-badge{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.details-card{padding:15px}.booking-hero h1{font-size:30px}.booking-steps strong{font-size:12px}.booking-steps small{font-size:10px}}
