:root{color:#173042;font-synthesis:none;background:#f4f7f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.hero{color:#fff;background:linear-gradient(145deg,#12344b,#1f5a70);border-radius:0 0 28px 28px;padding:20px 20px 34px}.topbar{justify-content:space-between;align-items:center;max-width:820px;margin:auto;display:flex}.brand-pill{letter-spacing:.02em;font-weight:800}.icon-btn,.language{color:inherit;background:#ffffff21;border:0;border-radius:999px;align-items:center;gap:7px;padding:9px 12px;display:flex}.welcome{max-width:820px;margin:32px auto 0}.welcome p{opacity:.85;margin:0 0 6px}.welcome h1{max-width:650px;margin:0;font-size:clamp(24px,6vw,38px);line-height:1.05}.stay-meta{flex-wrap:wrap;gap:16px;margin-top:18px;display:flex}.stay-meta span{align-items:center;gap:6px;font-weight:650;display:flex}main{max-width:820px;margin:auto;padding:22px 18px 70px}h2{font-size:21px}.quick{margin-top:-43px}.wifi{background:#fff;border:1px solid #dfe8ec;border-radius:18px;align-items:center;gap:13px;padding:17px 18px;display:flex;box-shadow:0 10px 35px #1531411a}.wifi div{flex-direction:column;display:flex}.wifi span{color:#647681;margin-top:2px;font-size:13px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.service-card{text-align:left;background:#fff;border:1px solid #e0e8eb;border-radius:18px;flex-direction:column;align-items:flex-start;min-height:145px;padding:17px;display:flex;box-shadow:0 4px 16px #13344b0a}.service-card:hover{border-color:#93b4c1;transform:translateY(-1px)}.service-card strong{color:#173c52;margin-top:13px;font-size:16px}.service-card>span:last-child{color:#6e7e87;margin-top:5px;font-size:12px;line-height:1.4}.service-icon{color:#1c6077;background:#e8f1f4;border-radius:13px;place-items:center;width:43px;height:43px;display:grid}.mini-info{background:#fff;border:1px solid #e0e8eb;border-radius:18px;margin:20px 0;padding:5px 17px}.mini-info div{border-bottom:1px solid #edf2f4;align-items:center;gap:11px;padding:13px 2px;display:flex}.mini-info div:last-child{border-bottom:0}.mini-info span{justify-content:space-between;width:100%;display:flex}.text-button,.back{color:#1c6077;background:0 0;border:0;padding:10px 0;font-weight:700}.back{align-items:center;gap:5px;display:flex}.panel{background:#fff;border:1px solid #e0e8eb;border-radius:22px;padding:20px;box-shadow:0 5px 22px #13344b0d}.panel-title{align-items:center;gap:11px;margin-bottom:20px;display:flex}.panel-title span{color:#1c6077;background:#e8f1f4;border-radius:13px;place-items:center;width:42px;height:42px;display:grid}.panel-title h2{margin:0}.stack{flex-direction:column;gap:14px;display:flex}.stack label{flex-direction:column;gap:7px;font-size:14px;font-weight:700;display:flex}.stack input,.stack select,.stack textarea{color:#173042;background:#fff;border:1px solid #cbd8dd;border-radius:12px;padding:12px}.stack>button,.login-card form>button{color:#fff;background:#1b5b72;border:0;border-radius:12px;padding:13px 18px;font-weight:800}.choices{gap:9px;display:grid}.choices button{text-align:left;color:#294654;background:#fff;border:1px solid #d6e0e4;border-radius:12px;padding:13px 14px}.choices button.selected{color:#164b5e;background:#e8f3f6;border-color:#277089;font-weight:800}.notice{color:#275a3b;background:#edf8f2;border:1px solid #bfe0cc;border-radius:12px;padding:12px}.hint{color:#677984;font-size:13px;line-height:1.5}.route{margin:20px 0;padding:0;list-style:none}.route li{gap:13px;padding:0 0 22px;display:flex;position:relative}.route li>span{color:#fff;background:#1b5b72;border-radius:50%;flex:0 0 30px;place-items:center;width:30px;height:30px;font-size:13px;font-weight:800;display:grid}.route li:not(:last-child):after{content:"";border-left:2px dashed #b9ccd3;height:calc(100% - 28px);position:absolute;top:31px;left:14px}.route strong{padding-top:4px;display:block}.route p{color:#657882;margin:4px 0;font-size:13px;line-height:1.45}.info-list article{border-bottom:1px solid #edf2f4;padding:15px 0}.info-list article:last-child{border:0}.info-list p{color:#62757f;margin:5px 0;line-height:1.5}.login-shell{background:linear-gradient(145deg,#12344b,#1d6176);place-items:center;min-height:100vh;padding:22px;display:grid}.login-card{background:#fff;border-radius:26px;width:min(100%,430px);padding:28px;box-shadow:0 24px 70px #00000038}.login-mark{color:#1a6077;background:#e7f1f4;border-radius:17px;place-items:center;width:55px;height:55px;display:grid}.login-card h1{margin:18px 0 8px}.login-card>p{color:#657681;line-height:1.5}.login-card .language{color:#1b5b72;background:#eef5f6;margin:15px 0}.login-card form{flex-direction:column;gap:9px;margin-top:18px;display:flex}.login-card label{font-size:14px;font-weight:800}.login-card input{border:1px solid #c8d6dc;border-radius:12px;padding:14px;font-size:18px}.privacy{color:#7d8c94;margin-top:20px;font-size:11px;line-height:1.5}.error{color:#932f2f;background:#fff0f0;border:1px solid #e7bcbc;border-radius:11px;margin-top:12px;padding:11px}.dev-code{color:#9a6917;background:#fff7dc;border-radius:8px;padding:7px}.loading{color:#607782;place-items:center;min-height:100vh;display:grid}@media (width>=680px){.service-grid{grid-template-columns:repeat(3,1fr)}.service-card{min-height:150px}.hero{padding-bottom:48px}.quick{margin-top:-52px}}.product-list{gap:8px;margin:14px 0;display:grid}.product{border:1px solid #e5e7eb;border-radius:14px;justify-content:space-between;align-items:center;padding:12px;display:flex}.product strong,.product span{display:block}.product span{color:#6b7280;margin-top:3px;font-size:12px}.qty{align-items:center;gap:11px;display:flex}.qty button{color:#111827;background:#f3f4f6;border-radius:50%;width:32px;height:32px;padding:0}.qty b{text-align:center;min-width:16px}.request-status{background:#fff;border:1px solid #e0e8eb;border-radius:18px;gap:8px;margin:18px 0;padding:14px 16px;display:grid}.request-status>strong{color:#173c52;font-size:14px}.request-status>div{border-top:1px solid #edf2f4;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding-top:9px;font-size:12px;display:grid}.request-status b{text-transform:capitalize;color:#657882}.request-status button{color:#fff;background:#1b5b72;border:0;border-radius:999px;padding:7px 10px;font-weight:700}@media (width<=520px){.request-status>div{grid-template-columns:1fr auto}.request-status button{grid-column:1/-1}}.journey-strip{flex-wrap:wrap;gap:10px;margin:16px 0;display:flex}.journey-strip span{color:#2a5d3e;background:#eef8f2;border:1px solid #c8e3d2;border-radius:999px;align-items:center;gap:7px;padding:9px 12px;font-size:12px;font-weight:750;display:flex}.request-list{gap:10px;display:grid}.request-list article{border:1px solid #e0e8eb;border-radius:14px;grid-template-columns:1fr auto;align-items:center;gap:8px;padding:13px;display:grid}.request-list article>div{flex-direction:column;gap:3px;display:flex}.request-list article span{color:#6b7c85;font-size:12px}.request-list article small{font-weight:800}.request-list article button{color:#fff;background:#1b5b72;border:0;border-radius:10px;grid-column:1/-1;padding:10px 12px;font-weight:800}.empty-state{color:#6b7c85;align-items:center;gap:8px;padding:16px 3px;display:flex}.check-line{align-items:center;flex-direction:row!important;gap:9px!important;font-weight:650!important;display:flex!important}.check-line input{width:18px;height:18px}.public-review{border-top:1px solid #e5ecef;margin-top:22px;padding-top:18px}.public-review h3{margin:0 0 5px;font-size:16px}.public-review p{color:#667985;font-size:12px;line-height:1.5}.public-review>div{flex-wrap:wrap;gap:8px;display:flex}.public-review a{color:#18596f;border:1px solid #cbdbe1;border-radius:10px;padding:10px 12px;font-size:13px;font-weight:800;text-decoration:none;display:inline-flex}.panel .stack>p{color:#617782;margin:0;line-height:1.55}.panel>button{color:#fff;background:#1b5b72;border:0;border-radius:12px;padding:13px 18px;font-weight:800}.room-switcher{background:#ffffff1f;border:1px solid #ffffff2e;border-radius:12px;align-items:center;gap:8px;width:max-content;max-width:100%;margin-top:16px;padding:8px 10px;display:flex}.room-switcher span{opacity:.86;font-size:12px;font-weight:700}.room-switcher select{color:#173042;background:#fff;border:0;border-radius:8px;max-width:220px;padding:7px 9px;font-weight:800}.login-property{font-weight:800;color:#1b5b72!important;margin:14px 0 -10px!important}.login-methods{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:3px 0 7px;display:grid}.login-methods button{color:#365664;background:#fff;border:1px solid #d6e0e4;border-radius:10px;justify-content:center;align-items:center;gap:5px;padding:9px 6px;font-size:11px;font-weight:750;display:flex}.login-methods button.selected{color:#164b5e;background:#e8f3f6;border-color:#277089}.access-help{border-top:1px solid #edf2f4;margin-top:14px;padding-top:14px}.secondary{color:#18596f;background:#fff;border:1px solid #cbdbe1;border-radius:11px;justify-content:center;align-items:center;gap:7px;width:100%;padding:11px 12px;font-weight:800;display:flex}.stack.compact{gap:8px;margin-top:10px}.stack.compact textarea{resize:vertical;border:1px solid #c8d6dc;border-radius:12px;padding:11px}.frontdesk-call{color:#18596f;justify-content:center;align-items:center;gap:7px;margin-top:10px;padding:10px;font-weight:800;text-decoration:none;display:flex}.access-help .notice{margin-top:10px}@media (width<=430px){.login-methods{grid-template-columns:1fr}.login-methods button{justify-content:flex-start;padding:10px 12px}.room-switcher{justify-content:space-between;width:100%}.room-switcher select{flex:1;min-width:0}}.guest-login-logo{object-fit:contain;max-width:180px;max-height:72px;margin:0 auto 12px;display:block}.guest-top-actions{align-items:center;gap:8px;display:flex}.guest-bell-wrap,.guest-bell{position:relative}.guest-bell b{color:#fff;background:#ff453a;border:2px solid #245a6d;border-radius:999px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:10px;display:grid;position:absolute;top:-5px;right:-3px}.guest-notification-popover{color:#173042;z-index:30;background:#fff;border:1px solid #dbe5e9;border-radius:18px;width:min(360px,100vw - 34px);max-height:430px;padding:10px;position:absolute;top:48px;right:0;overflow:auto;box-shadow:0 18px 55px #04182440}.guest-popover-head{justify-content:space-between;align-items:center;padding:7px 8px 11px;display:flex}.guest-popover-head button{color:#556d79;background:0 0;border:0;padding:5px}.guest-notification-item{text-align:left;color:#173042;background:#fff;border:0;border-top:1px solid #edf2f4;flex-direction:column;gap:4px;width:100%;padding:12px 9px;display:flex}.guest-notification-item.unread{background:#f0f8fb}.guest-notification-item span{font-weight:800}.guest-notification-item small{color:#58717e;line-height:1.35}.guest-notification-item time{color:#8b9aa2;font-size:10px}.chat-shell{gap:12px;display:grid}.chat-status{color:#667b86;align-items:center;gap:7px;font-size:12px;font-weight:750;display:flex}.online-dot,.offline-dot{background:#30b56b;border-radius:50%;width:8px;height:8px}.offline-dot{background:#9aa8af}.chat-messages{background:#f6f8f9;border-radius:16px;flex-direction:column;gap:10px;min-height:260px;max-height:480px;padding:14px;display:flex;overflow:auto}.chat-bubble{background:#fff;border:1px solid #e2e8eb;border-radius:16px;align-self:flex-start;max-width:84%;padding:10px 12px}.chat-bubble.mine{color:#fff;background:#1b5b72;border-color:#1b5b72;align-self:flex-end}.chat-bubble span{opacity:.75;font-size:10px;font-weight:800}.chat-bubble p{white-space:pre-wrap;margin:3px 0 2px;line-height:1.4}.chat-bubble time{opacity:.65;font-size:9px}.chat-empty{text-align:center;color:#7b8d96;max-width:230px;margin:auto}.chat-compose{grid-template-columns:1fr 48px;gap:8px;display:grid}.chat-compose textarea{resize:none;border:1px solid #cad8dd;border-radius:14px;padding:11px}.chat-compose button{color:#fff;background:#1b5b72;border:0;border-radius:14px;place-items:center;display:grid}.rating-grid{gap:8px;display:grid}.star-rating-row{border:1px solid #e1e8eb;border-radius:14px;justify-content:space-between;align-items:center;gap:14px;padding:12px 13px;display:flex}.star-rating-row>div:first-child{flex-direction:column;gap:2px;display:flex}.star-rating-row small{color:#7a8d97;font-size:10px}.stars{gap:2px;display:flex}.stars button{color:#c7d2d7;background:0 0;border:0;padding:3px}.stars button.active{color:#f4a000}.stars button:focus-visible{border-radius:6px;outline:2px solid #1b5b72}@media (width<=430px){.star-rating-row{flex-direction:column;align-items:flex-start}.stars button{padding:4px 6px}}.route-controls{gap:12px;margin-bottom:14px;display:grid}.route-controls>label{gap:6px;font-size:13px;font-weight:800;display:grid}.route-controls select{background:#fff;border:1px solid #cad8dd;border-radius:12px;padding:11px}.property-map-card{background:linear-gradient(#fbfdfe,#f1f6f8);border:1px solid #dbe5e9;border-radius:18px;margin:14px 0;overflow:hidden}.map-card-head{justify-content:space-between;align-items:center;padding:13px 15px;display:flex}.map-card-head div{flex-direction:column;display:flex}.map-card-head span{color:#71838d;font-size:11px}.property-route-map{aspect-ratio:1.6;background:#fff;border-top:1px solid #edf2f4;border-bottom:1px solid #edf2f4;width:100%;display:block}.map-edge{stroke:#d5e0e4;stroke-width:.7px}.map-route{fill:none;stroke:#1684c7;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 1px #1684c740)}.map-node circle{fill:#c5d5db;stroke:#fff;stroke-width:.4px}.map-node.on-route circle{fill:#1684c7}.map-node.current circle{fill:#22a06b}.map-node.destination circle{fill:#ff6b35}.map-node text{fill:#35515f;font-size:3px;font-weight:700}.map-legend{color:#637883;gap:16px;padding:10px 14px;font-size:11px;display:flex}.map-legend span{align-items:center;gap:5px;display:flex}.map-legend .dot{background:#1684c7;border-radius:50%;width:8px;height:8px}.map-legend .dot.current{background:#22a06b}.map-legend .dot.destination{background:#ff6b35}.service-icon img{object-fit:contain;border-radius:6px;width:28px;height:28px}.language-select select{font:inherit;color:inherit;background:0 0;border:0;outline:0;font-weight:700}.loyalty-balance{color:#fff;background:linear-gradient(135deg,#153e55,#1c6e7f);border-radius:18px;gap:4px;padding:20px;display:grid}.loyalty-balance>strong{font-size:40px;line-height:1}.loyalty-balance span,.loyalty-balance small{opacity:.85}.request-list article{border-bottom:1px solid #e5eaed;justify-content:space-between;gap:10px;padding:10px 0;display:flex}.request-list article strong,.request-list article small{display:block}.service-card{transition:transform .15s,box-shadow .15s}.service-card:active{transform:scale(.98)}.login-card.has-hero{padding-top:0;overflow:hidden}.guest-login-hero{background-position:50%;background-size:cover;height:165px;margin:0 -28px 22px}.login-brand-line{align-items:center;min-height:55px;display:flex}.guest-login-logo{object-fit:contain;max-width:190px;max-height:62px;display:block}.login-property{letter-spacing:.03em;color:#54717e;margin:12px 0 4px;font-size:12px;font-weight:800}.wifi-result-card{text-align:center}.wifi-result-card .guest-login-logo{margin:0 auto}.wifi-result-icon{border-radius:22px;place-items:center;width:66px;height:66px;margin:16px auto 5px;display:grid}.wifi-result-icon.connected{color:#137a40;background:#e9f8ef}.wifi-result-icon.pending{color:#a8660b;background:#fff7e8}.wifi-continue{color:#fff;background:#1b5b72;border:0;border-radius:12px;width:100%;margin-top:16px;padding:13px 18px;font-weight:800}.login-methods{grid-template-columns:repeat(auto-fit,minmax(115px,1fr));gap:7px;display:grid}.login-methods button{color:#315667;background:#fff;border:1px solid #d8e2e6;border-radius:10px;justify-content:center;align-items:center;gap:5px;padding:9px 10px;display:flex}.login-methods button.selected{color:#164b5e;background:#e8f3f6;border-color:#28748d;font-weight:800}.access-help{margin-top:14px}.access-help .secondary{color:#275c6d;background:#f8fbfc;border:1px solid #d8e2e6;border-radius:11px;justify-content:center;align-items:center;gap:7px;width:100%;padding:10px;font-weight:750;display:flex}.frontdesk-call{color:#1b5b72;justify-content:center;align-items:center;gap:6px;margin-top:10px;font-weight:800;text-decoration:none;display:flex}.stack.compact{margin-top:10px}
