:root{color:#e8f7ff;background:#08131f;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(145deg,#07415066,#08131fe6 36%),#08131f}button,select{font:inherit}a{color:inherit}:focus-visible{outline:3px solid #67d5ff;outline-offset:3px}.portal-shell{width:min(1120px,calc(100% - 32px));min-height:100vh;margin:0 auto;display:flex;flex-direction:column;gap:20px;padding:24px 0 32px}.portal-header,.portal-footer{display:flex;align-items:center;justify-content:flex-end;gap:16px}.portal-footer{justify-content:center;color:#98b7c5;font-size:.9rem;text-align:center}.brand{display:inline-flex;align-items:center;gap:12px;color:#f6fbff;font-weight:700;text-decoration:none}.brand img{width:44px;height:44px;border-radius:8px;background:#06111b}.language-picker{display:inline-flex;align-items:center;gap:10px;color:#b9d3df;font-size:.92rem}.language-picker select{color:#e8f7ff;background:#081723e0;border:1px solid rgba(123,208,232,.3);border-radius:8px;padding:8px 34px 8px 10px}.state-panel,.booking-hero,.panel{border:1px solid rgba(127,214,241,.16);border-radius:8px;background:#091825d1;box-shadow:0 24px 70px #00000047}.state-panel{margin:auto 0;padding:clamp(28px,7vw,72px)}.state-panel h1,.booking-hero h1{max-width:780px;margin:0;color:#fff;font-size:clamp(2.2rem,8vw,5.2rem);line-height:.98;letter-spacing:0}.state-panel p,.booking-hero .description,.panel-heading p,.muted,.deferred-note,.question-list p{color:#b6d2df;line-height:1.6}.state-panel p{max-width:660px}.eyebrow{margin:0 0 12px;color:#65d7f9;font-size:.78rem;font-weight:700;letter-spacing:0;text-transform:uppercase}.booking-page{display:flex;flex-direction:column;gap:20px}.booking-hero{padding:clamp(28px,6vw,64px)}.workspace-name{margin:0 0 14px;color:#bdf3ff;font-weight:700;overflow-wrap:anywhere}.description{max-width:760px;margin:20px 0 0;font-size:1.05rem}.booking-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:30px 0 0}.booking-meta div{min-width:0;padding:16px;border-radius:8px;background:#020a1161;border:1px solid rgba(127,214,241,.12)}.booking-meta dt{color:#effbff;font-weight:700}.booking-meta dd{margin:6px 0 0;color:#a8c5d1;overflow-wrap:anywhere}.portal-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:20px}.booking-flow{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}.panel{padding:22px}.panel-heading{margin-bottom:18px}.panel-heading h2{margin:0;color:#f6fbff;font-size:1.25rem;line-height:1.25}.availability-list,.question-list{display:grid;gap:10px;padding:0;margin:0;list-style:none}.availability-picker,.availability-calendar,.question-fields{display:grid;gap:16px}.availability-picker{grid-template-columns:minmax(280px,.9fr) minmax(280px,1.1fr);align-items:start}.calendar-month,.day-slots{min-width:0}.calendar-month h3,.day-slots h3{margin:0 0 10px;color:#f4fbff;font-size:1rem}.calendar-month-header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;margin:0 0 12px}.calendar-month-header h3{margin:0;text-align:center;white-space:nowrap}.month-nav-button{min-width:0;min-height:36px;border:1px solid rgba(127,214,241,.22);border-radius:8px;color:#dff8ff;background:#07111bb8;font-size:.86rem;font-weight:800;cursor:pointer}.month-nav-button:first-child{justify-self:start}.month-nav-button:last-child{justify-self:end}.month-nav-button:hover:not(:disabled){border-color:#65d7f9;background:#0f4152cc}.month-nav-button:disabled{cursor:not-allowed;opacity:.42}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.calendar-weekdays{margin-bottom:6px}.calendar-weekdays span{color:#7fa4b4;font-size:.74rem;font-weight:800;text-align:center;text-transform:uppercase}.calendar-day{min-width:0;min-height:42px;border:1px solid rgba(127,214,241,.1);border-radius:8px;color:#547382;background:#07111b94;font-weight:800}.calendar-day.is-outside-month{opacity:.42}.calendar-day.is-unavailable{color:#627986;background:#3a46502e;cursor:not-allowed}.calendar-day.is-available{color:#eafaff;background:#0a3745d6;border-color:#65d7f957;cursor:pointer}.calendar-day.is-available:hover,.calendar-day.is-selected{color:#03111a;background:#77dcf6;border-color:#77dcf6}.slot-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.slot-option{display:grid;gap:4px;min-height:64px;padding:11px 12px;border-radius:8px;border:1px solid rgba(127,214,241,.18);color:#f7fcff;background:#06121db8;text-align:start;cursor:pointer}.slot-option:hover,.slot-option.is-selected{border-color:#65d7f9;background:#0f4152cc}.slot-option span{font-size:.88rem;font-weight:800;line-height:1.18}.slot-option small{color:#98d9ec;font-size:.72rem;line-height:1.2}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field{display:grid;gap:8px;color:#eaf8ff;font-weight:700}.field>span{display:flex;align-items:center;justify-content:space-between;gap:10px}.field>span small{color:#8fdff5;font-weight:700}.field p{margin:0;color:#b6d2df;font-weight:400;line-height:1.5}.field input,.field textarea{width:100%;min-width:0;border:1px solid rgba(127,214,241,.22);border-radius:8px;padding:12px 13px;color:#f8fdff;background:#020a118c}.field textarea{min-height:110px;resize:vertical}.field input[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:#ffb36c}.field-error,.form-error{color:#ffd2a4}.field-error{font-size:.9rem;font-weight:700}.form-error{margin:0 0 14px;line-height:1.5}.primary-action{width:fit-content;min-width:190px;border:0;border-radius:8px;padding:13px 18px;color:#03111a;background:#77dcf6;font-weight:800;cursor:pointer}.primary-action:hover:not(:disabled){background:#a5eeff}.primary-action:disabled{cursor:not-allowed;opacity:.58}.confirm-panel{display:block}.confirmation-panel{display:grid;gap:18px;padding:clamp(26px,5vw,50px);border:1px solid rgba(127,214,241,.16);border-radius:8px;background:#091825d1}.confirmation-panel h2,.cancellation-panel h2{margin:0;color:#fff;font-size:clamp(1.8rem,6vw,3.6rem);line-height:1}.confirmation-panel p,.cancellation-panel p{color:#b6d2df;line-height:1.6}.confirmation-summary{display:grid;gap:10px;margin:0}.confirmation-summary div,.answer-summary li,.cancellation-link-box{padding:14px;border-radius:8px;border:1px solid rgba(127,214,241,.12);background:#06121d9e}.confirmation-summary dt,.answer-summary h3,.cancellation-link-box h3{color:#f7fcff;font-weight:800}.confirmation-summary dd{margin:6px 0 0;color:#b6d2df}.confirmation-summary small{display:block;margin-top:5px;color:#8fdff5}.answer-summary ul{display:grid;gap:10px;padding:0;margin:10px 0 0;list-style:none}.answer-summary span{color:#f7fcff;font-weight:800}.answer-summary p{margin:8px 0 0;overflow-wrap:anywhere}.cancellation-link-box a{display:block;overflow-wrap:anywhere;color:#8fdff5;font-weight:800}.cancellation-panel{max-width:720px}.cancellation-panel .booking-form{display:grid;gap:16px;margin-top:20px}.availability-list li,.question-list li{min-width:0;padding:14px;border-radius:8px;background:#06121d9e;border:1px solid rgba(127,214,241,.12)}.availability-list span,.question-list span{display:block;color:#f7fcff;font-weight:700;overflow-wrap:anywhere}.availability-list small,.question-list small{display:inline-block;margin-top:6px;color:#8fdff5}.question-list p{margin:8px 0 0}.deferred-note{margin:18px 0 0;padding-top:16px;border-top:1px solid rgba(127,214,241,.12);font-size:.95rem}[dir=rtl] .language-picker select{padding:8px 10px 8px 34px}@media(max-width:760px){.portal-shell{width:min(100% - 24px,1120px);padding-top:16px}.portal-header{align-items:flex-start;flex-direction:column}.booking-meta,.portal-grid,.form-grid,.availability-picker{grid-template-columns:1fr}.calendar-month-header{grid-template-columns:1fr 1fr}.calendar-month-header h3{grid-column:1 / -1;grid-row:1}.month-nav-button:first-child,.month-nav-button:last-child{grid-row:2}.state-panel h1,.booking-hero h1{font-size:clamp(2rem,14vw,3.6rem)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important}}
