:root{--color-surface: #ffffff;--color-surface-alt: #f7f8f6;--color-screen: #eef0ed;--color-border: #e3e7e2;--color-border-strong: #c8cfc7;--color-track: #e6eae4;--color-chip-bg: #eef2ec;--color-text: #062f28;--color-text-2: #3d4f4a;--color-text-3: #6b7773;--color-placeholder: #8c9692;--color-action: #062f28;--color-action-hover: #0c463b;--color-action-50: #ebf9df;--color-action-50-text: #1c4a10;--color-accent: #9fe870;--color-accent-hover: #8edb5c;--color-accent-strong: #5fb52e;--color-error: #b3261e;--color-error-bg: #fdecea;--color-error-text: #8a1e17;--color-error-text-2: #6b241e;--color-dark: #062f28;--color-dark-border: #1f4a41;--color-dark-muted: #a9bab4;--radius-sm: .875rem;--radius-md: 1.25rem;--radius-lg: 1.75rem;--radius-pill: 999px;--shadow-card: 0 1px 2px rgba(6, 47, 40, .04), 0 .5rem 1.5rem rgba(6, 47, 40, .06);--shadow-raised: 0 1px 2px rgba(6, 47, 40, .06), 0 .75rem 2rem rgba(6, 47, 40, .1);--font-heading: "Urbanist", system-ui, -apple-system, sans-serif;--font-body: "Urbanist", system-ui, -apple-system, sans-serif;--font-mono: "Space Grotesk", ui-monospace, monospace;color-scheme:light}*{box-sizing:border-box}html{font-size:16px}@media(min-width:1200px){html{font-size:17px}}@media(min-width:1440px)and (min-height:760px){html{font-size:19px}}@media(min-width:1800px)and (min-height:960px){html{font-size:21px}}html,body{height:100%}body{margin:0;font-family:var(--font-body);background:var(--color-screen);color:var(--color-text);-webkit-font-smoothing:antialiased;font-size:1.0625rem;line-height:1.5}h1,h2,h3,h4{font-family:var(--font-heading);color:var(--color-text);margin:0;font-weight:700;letter-spacing:-.02em}p{margin:0}button{font-family:inherit}a{color:var(--color-action);font-family:var(--font-heading);font-weight:600}a:hover{color:var(--color-text)}:focus-visible{outline:.1875rem solid var(--color-action);outline-offset:2px}.app-shell{min-height:100vh;display:flex;flex-direction:column}.screen{flex:1;width:100%;max-width:73.75rem;margin:0 auto;padding:1.75rem 2.5rem 2.5rem;display:flex;flex-direction:column;gap:1.5rem}.screen--narrow{max-width:40rem}.screen--center{justify-content:center;align-items:center;text-align:center}.screen-header{display:flex;flex-direction:column;gap:.375rem}.screen-header--center{align-items:center;text-align:center}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:600;font-family:var(--font-heading);color:var(--color-text-3)}.title-xl{font-size:clamp(1.75rem,3.6vw,2.125rem);line-height:1.15}.title-lg{font-size:clamp(1.5rem,3vw,1.875rem);line-height:1.2}.subtitle{color:var(--color-text-2);font-size:1.0625rem;max-width:40rem}.text-muted{color:var(--color-text-2)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1.5rem}.card--tight{padding:1.125rem 1.25rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;width:100%;border:0;border-radius:var(--radius-sm);padding:0 1.75rem;min-height:3.75rem;font-family:var(--font-heading);font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,opacity .15s ease}.btn:active:not(:disabled){opacity:.88}.btn:disabled{cursor:not-allowed;opacity:.5}.btn.primary{background:var(--color-action);color:#fff}.btn.primary:hover:not(:disabled){background:var(--color-action-hover)}.btn.secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border-strong);min-height:3.5rem}.btn.secondary:hover:not(:disabled){border-color:var(--color-text-3)}.btn.ghost{background:transparent;color:var(--color-text);padding:.625rem 1rem;min-height:auto;width:auto;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm)}.btn.ghost:hover:not(:disabled){border-color:var(--color-text-3)}.btn.success{background:var(--color-action);color:#fff}.btn-row{display:flex;gap:.75rem;flex-wrap:wrap}.btn-row .btn{flex:1;min-width:12.5rem}.spinner{width:1.125rem;height:1.125rem;border-radius:50%;border:.1875rem solid rgba(255,255,255,.4);border-top-color:#fff;animation:spin .8s linear infinite}.btn.secondary .spinner,.btn.ghost .spinner{border-color:#1a1c1733;border-top-color:var(--color-text)}@keyframes spin{to{transform:rotate(360deg)}}.state-card{border-radius:var(--radius-md);padding:1.75rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.875rem;border:1px solid var(--color-border);background:var(--color-surface)}.state-card.error{background:var(--color-error-bg);border-color:#f2c9c4;color:var(--color-error-text-2)}.state-card.error h3{color:var(--color-error-text)}.state-card.info{background:var(--color-surface-alt)}.state-card.empty{background:var(--color-surface)}.state-icon{font-size:2rem}.error-banner{display:flex;gap:.875rem;padding:1rem 1.25rem;background:var(--color-error-bg);border:1px solid #f2c9c4;border-radius:var(--radius-md)}.error-banner__bar{width:.25rem;border-radius:2px;background:var(--color-error);flex:none}.error-banner__title{font:700 1rem/1.3 var(--font-heading);color:var(--color-error-text)}.error-banner__text{font:400 .875rem/1.4 var(--font-body);color:var(--color-error-text-2)}.topbar{height:4rem;flex:none;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 1.5rem;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.topbar__brand{display:flex;align-items:center;gap:.75rem;min-width:0}.topbar__mark{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;flex:none;border-radius:.375rem;background:var(--color-action);color:#fff;font:700 .875rem/1 var(--font-heading)}.topbar__name{font:600 .9375rem/1 var(--font-heading);white-space:nowrap}.topbar__sep{width:1px;height:1.25rem;background:var(--color-border);flex:none}.topbar__context{font:500 .8125rem/1 var(--font-body);color:var(--color-text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar__actions{display:flex;align-items:center;gap:.625rem;flex:none}.topbar__badge{display:inline-flex;align-items:center;gap:.375rem;background:var(--color-action-50);color:var(--color-action-50-text);border-radius:.25rem;padding:.5rem .75rem;font:600 .8125rem/1 var(--font-heading);white-space:nowrap}.topbar--back{justify-content:flex-start}.topbar--back .topbar__title{flex:1;text-align:center;font:500 .8125rem/1 var(--font-body);color:var(--color-text-3);margin-right:2.5rem}.progress-track{flex:none;height:.1875rem;background:var(--color-border)}.progress-track__fill{height:.1875rem;background:var(--color-action);transition:width .2s ease}.progress-track--done{background:var(--color-action)}.step-tabs{flex:none;display:flex;gap:1.375rem;padding:0 1.5rem;background:var(--color-surface);border-bottom:1px solid var(--color-border);overflow-x:auto}.step-tab{display:flex;align-items:center;gap:.4375rem;padding:.75rem 0;border-bottom:2px solid transparent;font:500 .8125rem/1 var(--font-heading);color:var(--color-text-3);white-space:nowrap}.step-tab.active{border-bottom-color:var(--color-action);font-weight:600;color:var(--color-text)}.step-tab.done{color:var(--color-text-3)}.step-tab__bullet{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;flex:none;border-radius:50%;background:var(--color-chip-bg);font:600 .6875rem/1 var(--font-heading);color:var(--color-text-3)}.step-tab.active .step-tab__bullet,.step-tab.done .step-tab__bullet{background:var(--color-action);color:#fff}.step-tab__label{display:none}@media(min-width:560px){.step-tab__label{display:inline}}.flow-body{flex:1;display:flex;min-height:0}.flow-main{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column}.reservation-summary{width:18.75rem;flex:none;border-left:1px solid var(--color-border);background:var(--color-surface-alt);padding:1.5rem;display:flex;flex-direction:column;gap:.875rem;overflow-y:auto}.reservation-summary__title{font:600 .75rem/1 var(--font-heading);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-3)}.reservation-summary__row{display:flex;justify-content:space-between;align-items:center;gap:.75rem;font:400 .9375rem/1.4 var(--font-body)}.reservation-summary__row-label{color:var(--color-text-3)}.reservation-summary__row-value{font-weight:600;text-align:right}.reservation-summary__row-value--pending{color:var(--color-placeholder);font-weight:400}.reservation-summary__edit{font:600 .8125rem/1 var(--font-heading);white-space:nowrap}.reservation-summary__divider{height:1px;background:var(--color-border)}.reservation-summary__total{display:flex;justify-content:space-between;align-items:baseline}.reservation-summary__total-label{font:600 .9375rem/1 var(--font-heading)}.reservation-summary__total-value{font:700 1.25rem/1 var(--font-heading)}.reservation-summary__total-value--pending{color:var(--color-placeholder)}.reservation-summary__hint{font:400 .875rem/1.5 var(--font-body);color:var(--color-text-2)}.reservation-summary__cabin{display:flex;align-items:center;gap:.75rem}.reservation-summary__cabin-thumb{width:3.5rem;height:2.75rem;flex:none;border-radius:.375rem;background:repeating-linear-gradient(135deg,var(--color-track) 0 .5rem,var(--color-screen) .5rem 1rem)}img.reservation-summary__cabin-thumb{object-fit:cover;display:block}.reservation-summary__cabin-name{font:600 1rem/1.2 var(--font-heading)}@media(max-width:900px){.flow-body{flex-direction:column}.reservation-summary{width:auto;flex:none;border-left:none;border-top:1px solid var(--color-border);flex-direction:row;flex-wrap:wrap;align-items:center;gap:.5rem 1.5rem;padding:.75rem 1.25rem}.reservation-summary__title{width:100%}.reservation-summary__divider,.reservation-summary__hint{display:none}.reservation-summary__total{margin-left:auto}}.action-bar{position:sticky;bottom:0;flex:none;min-height:5.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.5rem;background:var(--color-surface);border-top:1px solid var(--color-border);margin-top:auto}.action-bar .btn{width:auto}.action-bar__end{display:flex;align-items:center;gap:1rem}.action-bar__note{font:400 .9375rem/1 var(--font-body);color:var(--color-text-2)}@media(max-width:600px){.action-bar{flex-wrap:wrap}.action-bar__end{flex:1;justify-content:flex-end}}.menu-grid{display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.menu-option{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--color-surface);border:none;border-bottom:1px solid var(--color-border);padding:1.375rem 1.5rem;min-height:3.5rem;cursor:pointer;text-align:left;font-family:inherit;color:var(--color-text)}.menu-grid>.menu-option:last-child{border-bottom:none}.menu-option:hover{background:var(--color-surface-alt)}.menu-option__text{display:flex;flex-direction:column;gap:.1875rem;min-width:0}.menu-option__title{font:600 1.125rem/1.2 var(--font-heading)}.menu-option__desc{color:var(--color-text-3);font:400 .875rem/1.3 var(--font-body)}.menu-option__arrow{font:400 1.125rem/1 var(--font-body);color:var(--color-text-3);flex:none}.menu-option--hero{background:var(--color-action);border:none;border-radius:var(--radius-md);padding:1.5rem;margin-bottom:.25rem}.menu-option--hero .menu-option__title{color:#fff;font-size:1.375rem}.menu-option--hero .menu-option__desc{color:#c9d6be;font-size:.9375rem}.menu-option--hero .menu-option__arrow{color:#fff;font-size:1.375rem}.menu-option--hero:hover{background:var(--color-action-hover)}.counter-row{display:flex;align-items:center;justify-content:space-between;gap:1.25rem}.counter-row__label{display:flex;flex-direction:column;gap:.1875rem}.counter-row__title{font:600 1.125rem/1.2 var(--font-heading)}.counter-row__desc{font:400 .875rem/1.3 var(--font-body);color:var(--color-text-3)}.counter{display:flex;align-items:center;gap:1.25rem}.counter__btn{width:3.5rem;height:3.5rem;border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);background:var(--color-surface);font:400 1.5rem/1 var(--font-body);color:var(--color-text);cursor:pointer}.counter__btn.filled{background:var(--color-action);border:none;color:#fff}.counter__btn:disabled{opacity:.4;cursor:not-allowed}.counter__value{min-width:3rem;text-align:center;font:500 2.125rem/1 var(--font-mono)}.notice-row{display:flex;gap:.75rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1.125rem 1.25rem}.notice-row__bar{width:.1875rem;background:var(--color-border-strong);border-radius:2px;flex:none}.notice-row__text{font:400 .9375rem/1.5 var(--font-body);color:var(--color-text-2)}.date-pills{display:flex;gap:.75rem}.date-pill{flex:1;background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:.75rem 1rem;display:flex;flex-direction:column;gap:2px}.date-pill.active{border-color:var(--color-action);box-shadow:0 0 0 .1875rem var(--color-action-50)}.date-pill__label{font:600 .6875rem/1 var(--font-heading);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-3)}.date-pill.active .date-pill__label{color:var(--color-action)}.date-pill__value{font:600 1.1875rem/1.2 var(--font-heading);text-transform:capitalize}.calendar{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1.125rem 1.25rem;display:flex;flex-direction:column;gap:.75rem}.calendar__head{display:flex;align-items:center;justify-content:space-between}.calendar__nav{width:2.75rem;height:2.75rem;border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);background:var(--color-surface);font:400 1rem/1 var(--font-body);cursor:pointer}.calendar__nav:disabled{opacity:.35;cursor:not-allowed}.calendar__month{font:600 1.0625rem/1 var(--font-heading);text-transform:capitalize}.calendar__weekdays,.calendar__days{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem}.calendar__weekdays span{font:600 .6875rem/1 var(--font-heading);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-3);text-align:center;padding-bottom:.25rem}.calendar__day{height:2.75rem;display:flex;align-items:center;justify-content:center;font:500 .9375rem/1 var(--font-body);color:var(--color-text);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer}.calendar__day:disabled{color:var(--color-border-strong);cursor:not-allowed}.calendar__day.in-range{background:var(--color-action-50);border-radius:0}.calendar__day.range-start{background:var(--color-action);color:#fff;font-weight:600;border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.calendar__day.range-end{background:var(--color-action);color:#fff;font-weight:600;border-radius:0 var(--radius-sm) var(--radius-sm) 0}.calendar__day.range-start.range-end{border-radius:var(--radius-sm)}.cabin-list{display:flex;flex-direction:column;gap:.75rem}.cabin-row{display:flex;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.cabin-row__image{width:10.625rem;flex:none;display:flex;align-items:flex-end;padding:.75rem;font:500 .6875rem/1 var(--font-mono);color:#fff}img.cabin-row__image{height:100%;min-height:6rem;object-fit:cover;padding:0}.cabin-row__gallery{position:relative;width:10.625rem;flex:none;overflow:hidden}.cabin-row__gallery .cabin-row__image{width:100%}.cabin-row__nav{position:absolute;top:50%;transform:translateY(-50%);width:2rem;height:2rem;border-radius:50%;border:none;background:#ffffffd9;color:var(--color-text);font-size:1.25rem;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer}.cabin-row__nav--prev{left:.5rem}.cabin-row__nav--next{right:.5rem}.cabin-row__dots{position:absolute;bottom:.5rem;left:0;right:0;display:flex;justify-content:center;gap:.3125rem}.cabin-row__dot{width:.375rem;height:.375rem;border-radius:50%;background:#ffffff8c}.cabin-row__dot--active{background:#fff}.cabin-row__body{flex:1;display:flex;align-items:center;justify-content:space-between;gap:1.25rem;padding:1.125rem 1.25rem;min-width:0}.cabin-row__info{display:flex;flex-direction:column;gap:.375rem;min-width:0}.cabin-row__name{font:700 1.25rem/1.2 var(--font-heading)}.cabin-row__capacity{font:400 .875rem/1.4 var(--font-body);color:var(--color-text-2)}.cabin-row__rate{font:400 .8125rem/1 var(--font-body);color:var(--color-text-3)}.cabin-row__price{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem;flex:none}.cabin-row__total{font:700 1.5rem/1 var(--font-heading);white-space:nowrap}.cabin-row__nights{font:400 .8125rem/1 var(--font-body);color:var(--color-text-3);white-space:nowrap}.cabin-row__price .btn{width:auto;min-height:3.25rem;padding:0 1.5rem}@media(max-width:720px){.cabin-row{flex-direction:column}.cabin-row__image,.cabin-row__gallery{width:auto;height:8.125rem}.cabin-row__body{flex-direction:column;align-items:stretch}.cabin-row__price{align-items:stretch}.cabin-row__price .btn{width:100%}}.field{display:flex;flex-direction:column;gap:.4375rem}.field label{font:600 .75rem/1 var(--font-heading);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-2)}.field input{min-height:3.5rem;padding:0 1rem;font-size:1.125rem;font-family:var(--font-body);border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text)}.field input:focus{border-color:var(--color-action);box-shadow:0 0 0 .1875rem var(--color-action-50);outline:none}.field input.mono{font-family:var(--font-mono)}.field-error{font-size:.875rem;color:var(--color-error)}.field-hint{font-size:.8125rem;color:var(--color-text-2)}.field-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(14.375rem,1fr));gap:1rem}.checkbox-row{display:flex;gap:.75rem;align-items:flex-start;font:400 .9375rem/1.5 var(--font-body);color:var(--color-text-2);cursor:pointer}.checkbox-row__box{width:1.5rem;height:1.5rem;flex:none;border-radius:.3125rem;border:1px solid var(--color-border-strong);background:var(--color-surface);display:inline-flex;align-items:center;justify-content:center;font:600 .8125rem/1 var(--font-heading);color:transparent}.checkbox-row__box.checked{background:var(--color-action);border-color:var(--color-action);color:#fff}.summary-list{display:flex;flex-direction:column}.summary-row{display:flex;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid var(--color-border);font:400 1rem/1.3 var(--font-body)}.summary-row:last-child{border-bottom:none}.summary-row__label{color:var(--color-text-3)}.summary-row__value{font-weight:600;text-align:right}.summary-row--total{align-items:baseline;padding:1.25rem;background:var(--color-surface-alt)}.summary-row--total .summary-row__label{font:700 1.0625rem/1 var(--font-heading);color:var(--color-text)}.summary-row--total .summary-row__value{font:700 1.75rem/1 var(--font-heading)}.badge{display:inline-flex;align-items:center;gap:.375rem;border-radius:.25rem;padding:.4375rem .75rem;font:600 .8125rem/1 var(--font-heading)}.badge--neutral{background:var(--color-chip-bg);color:var(--color-text-2)}.badge--success{background:var(--color-action-50);color:var(--color-action-50-text)}.badge--error{background:var(--color-error-bg);color:var(--color-error-text-2)}.payment-method{display:flex;align-items:center;gap:.875rem;padding:1.25rem;border-bottom:1px solid var(--color-border)}.payment-method:last-child{border-bottom:none}.payment-method__dot{width:1.375rem;height:1.375rem;border-radius:50%;border:1px solid var(--color-border-strong);background:var(--color-surface);flex:none}.payment-method__dot.selected{border:.375rem solid var(--color-action)}.payment-method__text{display:flex;flex-direction:column;gap:2px;flex:1}.payment-method__title{font:700 1.125rem/1.2 var(--font-heading)}.payment-method__desc{font:400 .875rem/1.3 var(--font-body);color:var(--color-text-2)}.payment-method__tag{font:600 .875rem/1 var(--font-heading);color:var(--color-action-50-text)}.qr-panel{flex:1;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;gap:1.5rem;padding:1.5rem;flex-wrap:wrap}.qr-code{position:relative;width:10rem;height:10rem;flex:none;background:repeating-conic-gradient(var(--color-dark) 0% 25%,#fff 0% 50%) 0 0 / .875rem .875rem}img.qr-code{object-fit:contain;background:#fff;border-radius:.25rem;padding:.5rem;box-sizing:border-box}.qr-code__eye{position:absolute;width:2.375rem;height:2.375rem;border:.5rem solid var(--color-dark);background:#fff}.qr-code__eye--tl{top:0;left:0}.qr-code__eye--tr{top:0;right:0}.qr-code__eye--bl{bottom:0;left:0}.qr-panel--dark{background:var(--color-dark);border:none}.qr-panel--dark .qr-code{background:repeating-conic-gradient(var(--color-dark) 0% 25%,#fff 0% 50%) 0 0 / 1.0625rem 1.0625rem;border:.625rem solid #fff}.access-panel{background:var(--color-dark);border-radius:var(--radius-md);padding:1.5rem 1.75rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}.access-panel__label{font:600 .75rem/1 var(--font-heading);letter-spacing:.14em;text-transform:uppercase;color:var(--color-dark-muted)}.access-panel__code{display:flex;gap:1rem;margin-top:.625rem}.access-panel__code span{font:500 clamp(3rem,8vw,5.5rem)/1 var(--font-mono);color:#fff;letter-spacing:.02em}.access-panel__meta{display:flex;gap:1rem;flex-wrap:wrap}.access-panel__meta-item{display:flex;flex-direction:column;gap:2px;border-left:2px solid var(--color-dark-border);padding-left:.75rem}.access-panel__meta-label{font:600 .6875rem/1 var(--font-heading);letter-spacing:.1em;text-transform:uppercase;color:var(--color-dark-muted)}.access-panel__meta-value{font:500 1rem/1.3 var(--font-body);color:#fff}.info-cards{display:flex;gap:.75rem;flex-wrap:wrap}.info-card{flex:1;min-width:12.5rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1.125rem 1.25rem;display:flex;flex-direction:column;gap:.375rem}.info-card__label{font:600 .75rem/1 var(--font-heading);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-3)}.info-card__value{font:500 1.0625rem/1.3 var(--font-mono)}.wifi-layout{flex:1;display:flex;min-height:0;flex-wrap:wrap}.wifi-layout__main{flex:1;min-width:17.5rem;display:flex;flex-direction:column;gap:1rem;padding:2rem}.wifi-layout__qr{width:21.25rem;flex:none;border-left:1px solid var(--color-border);background:var(--color-dark);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem}.wifi-credentials{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.wifi-credentials__row{padding:1.125rem 1.25rem;border-bottom:1px solid var(--color-border);display:flex;align-items:flex-end;justify-content:space-between;gap:.75rem}.wifi-credentials__row:last-child{border-bottom:none}.wifi-credentials__label{font:600 .75rem/1 var(--font-heading);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-3)}.wifi-credentials__value{font:500 1.75rem/1.2 var(--font-mono)}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.keypad__key{min-height:3.75rem;border-radius:var(--radius-sm);background:var(--color-surface);border:1px solid var(--color-border-strong);font:500 1.375rem/1 var(--font-mono);color:var(--color-text);cursor:pointer}.keypad__key--action{background:var(--color-chip-bg);font:600 .875rem/1 var(--font-heading);color:var(--color-text-2)}.phone-display{min-height:4rem;background:var(--color-surface);border:1px solid var(--color-action);box-shadow:0 0 0 .1875rem var(--color-action-50);border-radius:var(--radius-sm);display:flex;align-items:center;padding:0 1.25rem;font:500 1.625rem/1 var(--font-mono)}.faq-list{display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.faq-item{display:flex;align-items:center;justify-content:space-between;background:transparent;border:none;border-top:1px solid var(--color-border);padding:1.125rem 1.25rem;min-height:3.5rem;font:600 1rem/1.2 var(--font-heading);color:var(--color-text);text-align:left;cursor:pointer}.faq-list>.faq-item:first-child{border-top:none}.faq-item__arrow{font-weight:400;color:var(--color-text-3)}h1,h2,h3,h4{letter-spacing:-.015em}.eyebrow{display:inline-flex;align-items:center;gap:.5rem;align-self:flex-start;letter-spacing:.1em;color:var(--color-text-2)}.eyebrow:before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:var(--color-accent);box-shadow:0 0 0 .25rem var(--color-action-50)}.screen-header--center .eyebrow{align-self:center}.title-xl{font-size:clamp(2rem,3.4vw,2.75rem);font-weight:700;line-height:1.1}.title-lg{font-size:clamp(1.625rem,2.8vw,2.125rem);font-weight:700}.card,.menu-grid,.calendar,.cabin-row,.notice-row,.state-card,.info-card,.qr-panel,.wifi-credentials,.faq-list{border-color:transparent;border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.state-card.info{background:var(--color-surface)}.state-card.info h3{color:var(--color-text)}.state-card.error{border-color:transparent}.btn{border-radius:var(--radius-pill);font-weight:700;letter-spacing:.01em;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .08s ease}.btn:active:not(:disabled){opacity:1;transform:scale(.985)}.btn.primary{box-shadow:0 .375rem 1rem #062f282e}.btn.secondary{border-color:var(--color-border);box-shadow:0 1px 2px #062f280f}.btn.secondary:hover:not(:disabled),.btn.ghost:hover:not(:disabled){border-color:var(--color-text-3)}.btn.ghost{border-radius:var(--radius-pill);border-color:var(--color-border);background:var(--color-surface);padding:.625rem 1.25rem}.btn.success{background:var(--color-accent);color:var(--color-action);box-shadow:0 .375rem 1rem #5fb52e40}.btn.success:hover:not(:disabled){background:var(--color-accent-hover)}.btn.success .spinner{border-color:#062f2833;border-top-color:var(--color-action)}.topbar{border-bottom-color:transparent;box-shadow:0 1px 0 var(--color-border),0 .25rem 1rem #062f280a;position:relative;z-index:2}.topbar__mark{width:2.25rem;height:2.25rem;border-radius:50%;background:var(--color-accent);color:var(--color-action)}.topbar__name{font-weight:700;font-size:1.0625rem}.topbar__badge{border-radius:var(--radius-pill);background:var(--color-action-50)}.progress-track,.progress-track__fill{height:.25rem}.progress-track__fill,.progress-track--done{background:var(--color-accent-strong)}.step-tab{border-bottom-width:.1875rem;font-weight:600}.step-tab.active{border-bottom-color:var(--color-accent)}.step-tab.done .step-tab__bullet{background:var(--color-accent);color:var(--color-action)}.reservation-summary{background:var(--color-surface);border-left-color:var(--color-border)}.reservation-summary__total-value{font-family:var(--font-mono);font-weight:600}.reservation-summary__cabin-thumb{border-radius:var(--radius-sm)}.flow-main>:not(router-outlet){flex:1 0 auto;display:flex;flex-direction:column}app-reservation-summary{display:flex;flex-direction:column;flex:none}app-reservation-summary>.reservation-summary{flex:1}.action-bar{border-top-color:transparent;box-shadow:0 -1px 0 var(--color-border),0 -.25rem 1rem #062f280a}.screen>.action-bar{bottom:1rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-raised)}.screen--home{justify-content:center}@media(min-width:720px)and (min-height:700px){.screen--home .menu-option--hero{min-height:12rem}.screen--home .menu-grid>.menu-option{min-height:11rem}}@media(max-width:719px){.menu-grid{gap:.75rem}.menu-option--hero{min-height:0;padding:1.5rem}.menu-option--hero .menu-option__arrow{width:3rem;height:3rem}}.menu-option--hero{position:relative;overflow:hidden;min-height:9.5rem;padding:2rem;border-radius:var(--radius-lg);background:radial-gradient(120% 140% at 100% 0%,#ffffff73,#fff0 55%),linear-gradient(135deg,#b4f08a 0%,var(--color-accent) 55%,#86d957 100%);box-shadow:0 .75rem 2rem #5fb52e47}.menu-option--hero:hover{background:radial-gradient(120% 140% at 100% 0%,#ffffff80,#fff0 55%),linear-gradient(135deg,#a9ec7c 0%,var(--color-accent-hover) 55%,#7ccf4d 100%)}.menu-option--hero:disabled{opacity:.55;cursor:not-allowed}.menu-option--hero .menu-option__title{color:var(--color-action);font-size:clamp(1.75rem,2.6vw,2.25rem);font-weight:700}.menu-option--hero .menu-option__desc{color:#062f28bf;font-size:1.0625rem}.menu-option__arrow{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:50%;background:var(--color-chip-bg);color:var(--color-action)}.menu-option--hero .menu-option__arrow{width:3.75rem;height:3.75rem;background:var(--color-action);color:var(--color-accent);font-size:1.5rem}.menu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1rem;background:transparent;box-shadow:none;overflow:visible}.menu-grid>.menu-option{border:none;border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}@media(min-width:720px){.menu-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.menu-grid>.menu-option{flex-direction:column;align-items:flex-start;justify-content:space-between;gap:1.5rem;min-height:9rem}.menu-grid>.menu-option .menu-option__arrow{align-self:flex-end}}.menu-option:hover{background:var(--color-surface);box-shadow:var(--shadow-raised)}.counter__btn{border-radius:50%;border-color:var(--color-border);box-shadow:0 1px 2px #062f280f}.counter__btn.filled{background:var(--color-action);color:var(--color-accent)}.date-pill{border-color:var(--color-border);border-radius:var(--radius-md)}.date-pill.active{border-color:var(--color-accent-strong);box-shadow:0 0 0 .25rem var(--color-action-50)}.date-pill.active .date-pill__label{color:var(--color-accent-strong)}.calendar__nav{border-radius:50%;border-color:var(--color-border)}.calendar__day{border-radius:var(--radius-pill)}.calendar__days{column-gap:0}.calendar__month{display:inline-block;text-transform:lowercase}.calendar__month:first-letter{text-transform:uppercase}.calendar__day.range-start{border-radius:var(--radius-pill) 0 0 var(--radius-pill)}.calendar__day.range-end{border-radius:0 var(--radius-pill) var(--radius-pill) 0}.calendar__day.range-start.range-end{border-radius:var(--radius-pill)}.calendar__day.range-start,.calendar__day.range-end{color:var(--color-accent)}.cabin-row__total{font-family:var(--font-mono);font-weight:600}.cabin-row__nav{box-shadow:0 1px 4px #062f282e}.field label{color:var(--color-text-2);letter-spacing:.06em}.field input{border-color:var(--color-border-strong);border-radius:var(--radius-sm);font-weight:500}.field input:focus{border-color:var(--color-accent-strong);box-shadow:0 0 0 .25rem var(--color-action-50)}.summary-row--total{background:var(--color-action-50);border-radius:var(--radius-md)}.screen--center app-button{display:block;width:100%;max-width:30rem}.summary-row--total .summary-row__value{font-family:var(--font-mono);font-weight:600}.badge{border-radius:var(--radius-pill)}.payment-method__dot.selected{border-color:var(--color-accent-strong)}.access-panel{border-radius:var(--radius-lg);padding:2rem;background:radial-gradient(90% 120% at 100% 0%,#9fe8702e,#9fe87000 60%),var(--color-dark);box-shadow:var(--shadow-raised)}.access-panel__code span{color:var(--color-accent);font-weight:600;letter-spacing:.06em}.wifi-layout__qr{background:radial-gradient(90% 120% at 100% 0%,#9fe8702e,#9fe87000 60%),var(--color-dark)}.keypad{gap:.625rem}.keypad__key{border-radius:var(--radius-md);border-color:var(--color-border);box-shadow:0 1px 2px #062f280f}.keypad__key:active{background:var(--color-action-50)}.phone-display{border-color:var(--color-accent-strong);box-shadow:0 0 0 .25rem var(--color-action-50);border-radius:var(--radius-md)}.house-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:3rem 1rem;color:var(--color-text-2);font-weight:600;text-align:center}.house-loader{display:inline-block;width:4rem;height:4rem;background:linear-gradient(to top,var(--color-accent-strong) 0 50%,#dde4db 50% 100%) 0 0 / 100% 200% no-repeat;-webkit-mask:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M12 2 1.5 11.2h3V22h15V11.2h3Z M10 22v-6.5h4V22Z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M12 2 1.5 11.2h3V22h15V11.2h3Z M10 22v-6.5h4V22Z'/%3E%3C/svg%3E") center / contain no-repeat;animation:house-fill 1.1s ease-in-out infinite alternate}@keyframes house-fill{0%{background-position:0 0}to{background-position:0 100%}}@media(prefers-reduced-motion:reduce){.house-loader{animation-duration:2.4s}}@media(max-width:900px){.screen{padding:1.25rem 1.25rem 1.75rem;gap:1.25rem}.wifi-layout__qr{width:100%;border-left:none;border-top:1px solid var(--color-border)}}@media(max-width:600px){body{font-size:1rem}.screen{padding:1rem 1rem 1.5rem;gap:1.125rem}.topbar{padding:0 1rem}.card{padding:1.125rem}.btn-row{flex-direction:column}.btn-row .btn{min-width:0;width:100%}.counter__btn{width:3rem;height:3rem;font-size:1.25rem}.counter__value{font-size:1.75rem;min-width:2.5rem}.cabin-row__price{width:100%}.field input{font-size:1rem}}
