/* Guest app: one scroll surface, persistent navigation, restrained Lamacido motion. */
#client-dialog{--guest-ease:cubic-bezier(.22,1,.36,1);width:min(780px,calc(100vw - 32px));height:min(860px,calc(100dvh - 40px));max-height:calc(100dvh - 40px);margin:auto;overflow:hidden;border-radius:28px;box-shadow:0 32px 100px #142b3150}#client-dialog[open]{display:flex;flex-direction:column;animation:guest-window-in .36s var(--guest-ease)}#client-dialog .client-top{flex:none;padding:10px 22px;background:#f7f5ecf5;position:relative;z-index:4}.client-top>span{font-size:13px;letter-spacing:.025em}.client-top button{font:14px EstateSans,Arial,sans-serif;color:#203d31;border:1px solid #203d3120;border-radius:100px;padding:9px 15px;min-height:42px;background:#fff7}#client-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;padding:28px 32px;scroll-padding-block:18px;position:relative}#client-body h1{font-size:40px;margin:10px 0 12px}#client-body h2{font-size:27px}#client-body p{font-size:16px;line-height:1.65}#client-body button{font-size:15px;transition:transform .18s var(--guest-ease),background .2s,box-shadow .2s;touch-action:manipulation}#client-body button:active:not(:disabled){transform:scale(.975)}#client-body button:disabled{cursor:default}#client-body input,#client-body select{min-height:50px;border-radius:13px;border-color:#ccd4c8;background:#fffc;transition:border-color .2s,box-shadow .2s}#client-body input:focus,#client-body select:focus{border-color:#688364;box-shadow:0 0 0 3px #839b7020;outline:none}#client-body label{font-size:14px;line-height:1.5}#client-body [role=alert]:not(:empty){padding:12px 15px;background:#fff0e8;border:1px solid #e8c9b8;border-radius:12px;line-height:1.5}#client-body .client-primary{min-height:52px;border-radius:14px;font-weight:600;box-shadow:0 3px 0 #203d3110;display:inline-flex;align-items:center;justify-content:center;gap:10px}#client-body .guest-auth-art{height:118px;overflow:hidden;margin:-10px -10px 15px;border-radius:18px;position:relative}.guest-auth-art img{width:100%;height:100%;object-fit:cover;object-position:50% 53%;mask-image:linear-gradient(#000 60%,transparent)}#client-body.guest-auth-body{padding:24px max(24px,calc((100% - 480px)/2)) 32px}#client-body.guest-auth-body>.eyebrow{display:block;margin-top:5px;font-size:12px}#client-body.guest-auth-body>p{color:#566959}#client-body .guest-password{position:relative;display:block}.guest-password input{padding-right:90px!important}#client-body .guest-password-toggle{position:absolute;inset:4px 4px 4px auto;padding:8px 12px;border:0;background:transparent;min-height:40px;font-size:14px}.guest-session-note{text-align:center;font-size:13px!important;color:#5a6b5b;margin:15px 0 0}#client-body.guest-auth-body>.client-switch{display:block;margin:14px auto 0;font-size:15px;text-decoration:none;background:#e8edde;border:1px solid #d8dfcf;min-width:200px}#client-body .guest-staff-login{border-top:1px solid #dbe1d4;margin-top:24px;color:#5a6b5b}#client-body .guest-staff-login summary{font-size:13px;min-height:44px}.guest-staff-login .client-switch{margin:0!important;font-size:14px!important}#client-body .guest-welcome{min-height:108px;padding:0 0 20px}#client-body .guest-welcome h1{font-size:38px}#client-body .guest-welcome p{font-size:14px;color:#586d5a}.guest-welcome>img{opacity:.3;right:-26px;bottom:-5px;width:260px;height:170px}.guest-panel-heading{margin:5px 0 20px}.guest-panel-heading .eyebrow{font-size:12px}.guest-panel-heading h2{margin:10px 0!important}.guest-panel-heading>p{color:#5a6b5b}.guest-home-shortcuts>h2{font:14px EstateSans,Arial,sans-serif!important;margin:0 0 10px!important;letter-spacing:.02em}#client-body .guest-quick-grid{margin:0 0 22px;gap:12px}#client-body .guest-quick{min-height:110px;align-items:center;padding:17px;border-radius:20px;background:#203d31;box-shadow:0 4px 10px #203d310b}#client-body .guest-quick strong{font-size:15px;font-weight:600}.guest-quick small{font-size:13px}.guest-quick-icon{font-size:25px}.guest-quick>span:last-child{display:none}.guest-quick.is-confirmed{background:#e5ecd9!important;color:#203d31!important;box-shadow:inset 0 0 0 1px #9ab184!important}.guest-quick.is-confirmed small{color:#436442}.guest-section-heading{margin-top:6px}.guest-stay{padding:22px;border-radius:22px;background:#fffdf7;border-color:#dbe0d3;margin:16px 0}.guest-stay h3{font-size:29px;margin-top:18px}.guest-stay .guest-balance{background:#e8eedf;margin-top:0;border-radius:14px;padding:18px}.guest-amounts{padding:18px 0}.guest-amounts span{font-size:14px}.guest-stay-top{font-size:14px}.guest-stay-top .client-status{font-size:13px;padding:7px 10px}.guest-notice:not(:empty){position:sticky;top:0;z-index:3;background:#dfebd4;border:1px solid #a9be98;box-shadow:0 5px 18px #203d3112;padding:13px 16px;font-size:14px!important;line-height:1.5!important}.guest-panel>.guest-menu{padding:8px 18px;border:1px solid #d8dfd0;background:#e9edde;border-radius:18px}.guest-linen{padding:20px;border-radius:20px;background:#fffdf7;border-color:#dbe0d3}.guest-linen>p{font-size:14px!important;color:#536a55}.guest-linen-room{padding:12px 0 20px}.guest-linen-room:last-of-type{border-bottom:0}.guest-linen-room>h3{font-size:16px}.guest-linen-room label{max-width:230px!important}.guest-stepper{max-width:230px;margin-top:8px;display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;padding:4px;background:#edf0e5;border-radius:14px;border:1px solid #d8dfcf}.guest-stepper input{border:0!important;text-align:center;background:transparent!important;padding:8px!important;appearance:textfield;-moz-appearance:textfield}.guest-stepper input::-webkit-inner-spin-button{appearance:none}#client-body .guest-stepper button{border:0;background:#fffdf6;min-height:44px;padding:8px;font-size:23px;box-shadow:0 1px 4px #203d3110}.guest-linen-cost{font-size:13px!important;margin:12px 0 16px;color:#4d6650;opacity:1!important}.guest-linen .client-actions button{border-radius:13px;background:#edf0e5!important;min-height:50px}#client-body #guest-service{border:1px solid #b8c9a9;background:#fffdf7;border-radius:20px;padding:20px;box-shadow:0 8px 24px #203d310a;margin:0 0 20px}#guest-service [data-confirmed]:not(:empty){padding:12px;background:#e5eddc;border-radius:12px;font-size:14px}#guest-service [data-cancel-meal]{background:transparent;border-color:#d1d9c9;color:#626f5c}.guest-navigation{flex:none;position:relative;z-index:5;padding:12px 24px max(14px,env(safe-area-inset-bottom));background:#f7f5ecf5;border-top:1px solid #dce1d3;--guest-tab:0}.guest-navigation-track{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:5px;border-radius:20px;background:#e8edde;gap:0}.guest-navigation-indicator{position:absolute;left:5px;top:5px;width:calc((100% - 10px)/3);height:calc(100% - 10px);border-radius:16px;background:#203d31;box-shadow:0 3px 8px #203d3120;transform:translateX(calc(var(--guest-tab)*100%));transition:transform .42s cubic-bezier(.22,1.12,.36,1)}.guest-navigation button{position:relative;z-index:1;min-width:0;border:0;background:transparent;color:#52654f;border-radius:16px;min-height:58px;display:flex;align-items:center;justify-content:center;gap:9px;font:14px EstateSans,Arial,sans-serif;padding:10px;transition:color .22s}.guest-navigation button[aria-selected=true]{color:#fffdf6}.guest-navigation svg{width:20px;height:20px;flex-shrink:0}.guest-navigation button:focus-visible{outline:3px solid #8fa673;outline-offset:2px}.guest-account{margin:0;border-top:0}.guest-history{border:1px solid #d8dfce;border-radius:16px;padding:4px 15px;background:#fff9;margin-top:22px}.guest-account>button[data-logout]{color:#8c493a!important;border-color:#d7c4b9!important}.guest-help{margin-bottom:0}.guest-help>a{border:1px solid #d6dfcc;border-radius:14px;min-height:55px}#client-body .guest-refresh{display:flex;align-items:center;gap:7px;font-size:13px}.guest-refresh svg{width:18px;height:18px}.guest-refresh.is-loading svg{animation:guest-spin .8s linear infinite}.guest-loading{padding:50px 0;text-align:center}.guest-loading-mark{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;animation:guest-spin 1.1s cubic-bezier(.6,.08,.35,.95) infinite}.guest-loading-mark svg{width:36px;height:36px;fill:#203d31}.guest-loading h1{font-size:28px!important}.guest-loading p{font-size:14px!important;color:#617157}.guest-skeleton{height:92px;border-radius:18px;margin-top:24px;background:linear-gradient(100deg,#e6ebdd 30%,#f3f5ed 50%,#e6ebdd 70%);background-size:200%;animation:guest-shimmer 1.8s infinite}.guest-skeleton.short{height:52px;margin-top:12px}.guest-button-spinner{display:inline-block;width:15px;height:15px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:guest-spin .7s linear infinite}.guest-confirm{width:min(430px,calc(100vw - 32px));margin:auto;padding:26px;border:1px solid #d4ddca;border-radius:24px;background:#f7f5ec;color:#203d31;box-shadow:0 24px 90px #142b3160;font:16px EstateSans,Arial,sans-serif}.guest-confirm::backdrop{background:#16352980;backdrop-filter:blur(4px)}.guest-confirm h2{font:30px/1.2 EstateSerif,Georgia,serif;margin:15px 0}.guest-confirm p{font-size:16px;line-height:1.65}.guest-confirm-actions{display:grid;grid-template-columns:1fr 1.2fr;gap:10px;margin-top:24px}.guest-confirm button{min-height:50px;border-radius:13px;border:1px solid #c8d3bf;background:transparent;font:14px EstateSans,Arial,sans-serif;color:#203d31;padding:12px}.guest-confirm [data-yes]{background:#203d31;color:#fffdf6;border:0}.guest-confirm .eyebrow{font-size:12px}@keyframes guest-window-in{from{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:none}}@keyframes guest-spin{to{transform:rotate(360deg)}}@keyframes guest-shimmer{to{background-position:-200% 0}}@media(max-width:600px){#client-dialog{width:100%;height:100dvh;max-width:100%;max-height:100dvh;border:0;border-radius:0;margin:0}.client-top>span{font-size:13px}#client-dialog .client-top{padding:calc(8px + env(safe-area-inset-top)) 18px 8px}#client-body{padding:22px 18px 26px}#client-body.guest-auth-body{padding:20px 24px 30px}#client-body .guest-auth-art{height:115px}#client-body .guest-welcome{min-height:100px;padding-bottom:20px}#client-body .guest-welcome h1{font-size:35px}.guest-welcome>img{width:215px;height:142px;right:-45px;bottom:0;opacity:.2}#client-body .guest-quick{padding:15px 13px;min-height:116px;flex-wrap:wrap;gap:8px;align-items:flex-start}.guest-quick>span:nth-child(2){flex-basis:100%}.guest-quick strong{font-size:14px!important}.guest-quick-icon{font-size:21px}.guest-navigation{padding:9px 14px max(12px,env(safe-area-inset-bottom))}.guest-navigation-track{border-radius:20px}.guest-navigation button{flex-direction:column;gap:5px;min-height:61px;font-size:12px;padding:8px 4px}.guest-navigation svg{width:21px;height:21px}.guest-stay{padding:18px;margin:14px 0}.guest-stay h3{font-size:27px}.guest-stay .guest-balance{padding:15px}.guest-balance strong{font-size:26px}.guest-linen{padding:17px}#client-body #guest-service{padding:18px 15px}.guest-panel-heading>p{font-size:15px!important}.guest-help>a{flex-direction:row;align-items:center}.guest-help>a span{font-size:13px}.guest-confirm{padding:23px}.guest-stay-top{font-size:13px}.guest-amounts strong{font-size:25px}}@media(prefers-reduced-motion:reduce){#client-dialog[open],.guest-loading-mark,.guest-skeleton,.guest-button-spinner,.guest-refresh.is-loading svg{animation:none}.guest-navigation-indicator,#client-body button{transition:none}.guest-navigation button{transition:none}}

/* Guest refinement: dates, decisions and price belong together. */
#client-dialog .client-top{gap:10px;align-items:center}#client-dialog .client-top>span{margin-right:auto}#client-dialog .guest-reception-link{font:13px EstateSans,Arial,sans-serif;color:#203d31;text-decoration:none;padding:10px 12px;min-height:42px;display:inline-flex;align-items:center;border-radius:100px;background:#e8edde;white-space:nowrap}#client-dialog .guest-reception-link:hover{background:#dbe6cc}#client-dialog .guest-reception-link:focus-visible{outline:2px solid #688364;outline-offset:3px}
#client-body .guest-stay-dates{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;margin:18px 0 0;padding:15px 0;border-block:1px solid #203d3114}#client-body .guest-stay-dates>div{display:grid;gap:5px}#client-body .guest-stay-dates>div:last-child{text-align:right}#client-body .guest-stay-dates span{font-size:12px;color:#62705f}#client-body .guest-stay-dates strong{font-size:20px;font-weight:500}#client-body .guest-night-count{font-size:12px;color:#62705f;margin:8px 0 0}
#client-body .guest-attendance{border:0;padding:0;margin:16px 0;min-width:0}#client-body .guest-attendance legend{font-size:14px;margin-bottom:9px}#client-body .guest-attendance>div{display:grid;grid-template-columns:1fr 1fr;gap:5px;background:#e8edde;border-radius:15px;padding:5px}#client-body .guest-attendance button{border:0;background:transparent;border-radius:11px;color:#4c614e;min-height:48px;padding:10px 8px;font-size:14px;line-height:1.3}#client-body .guest-attendance button[aria-pressed=true]{background:#fffdf7;color:#203d31;box-shadow:0 2px 7px #203d3112;font-weight:600}#client-body .guest-attendance button:disabled{opacity:.6}#client-body .guest-attendance button:focus-visible{outline:2px solid #688364;outline-offset:1px}
#client-body .guest-meal-room{font-size:13px;margin:0;color:#586d5a;padding:10px 13px;background:#edf0e5;border-radius:10px}#client-body .guest-meal-total{margin:8px 0 16px;border-top:1px solid #203d3120;padding-top:16px}#client-body .guest-meal-total>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px}#client-body .guest-meal-total span{font-size:14px}#client-body .guest-meal-total strong{font-size:27px;font-weight:500;white-space:nowrap}#client-body .guest-meal-total small{display:block;font-size:12px;color:#60715e;margin-top:6px}#client-body .guest-meal-total.is-invalid{color:#98482b}#client-body .guest-meal-stepper{margin:9px 0 15px;width:min(100%,240px)}#client-body .guest-meal-stepper input{text-align:center;min-width:0;width:100%;padding-inline:4px}#client-body .guest-meal-stepper button:disabled{opacity:.35}#client-body .guest-dinner-preview{background:#e9edde;border:1px solid #d4ddc9;border-radius:16px;padding:18px;margin:16px 0 20px}#client-body .guest-dinner-preview .eyebrow{font-size:10px;letter-spacing:.15em}#client-body .guest-dinner-preview p{font-size:14px;margin:10px 0 0}#client-body .guest-dinner-preview h3{font-size:20px}#client-body [data-quick-form]>[type=submit]{width:100%}#client-body [data-cancel-meal]{background:transparent;border:0;box-shadow:none;color:#62705f;text-decoration:underline;text-underline-offset:4px;min-height:44px}#client-body [data-confirmed]:not(:empty){font-size:14px;color:#385937;padding:11px 13px;border-radius:11px;background:#e4eddb}#client-body .guest-meal-total,#client-body .guest-attendance button{transition:background .2s,color .2s,box-shadow .2s}
@media(max-width:600px){#client-dialog .client-top{padding-inline:14px;gap:7px}#client-dialog .client-top>span{font-size:11px;letter-spacing:0}#client-dialog .client-top button{padding-inline:11px}#client-dialog .guest-reception-link{padding-inline:10px;font-size:12px}#client-body .guest-stay-dates{gap:10px}#client-body .guest-stay-dates strong{font-size:19px}#client-body .guest-attendance button{font-size:13px}#client-body .guest-dinner-preview{padding:15px}#client-body .guest-meal-total strong{font-size:25px}}
@media(prefers-reduced-motion:reduce){#client-body .guest-attendance button,#client-body .guest-meal-total{transition:none}}
