@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-400.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-500.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-600.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-weight:700 900;font-display:swap;src:url(/fonts/inter-700.woff)format("woff")}@font-face{font-family:Inter Display;font-style:normal;font-weight:100 600;font-display:swap;src:url(/fonts/inter-display-600.woff)format("woff")}@font-face{font-family:Inter Display;font-style:normal;font-weight:700 900;font-display:swap;src:url(/fonts/inter-display-700.woff)format("woff")}:root{--sy-ink:#0f1b33;--sy-night:#0e1726;--sy-lamp:#ffc24b;--sy-lamp-dark:#8a5a00;--sy-paper:#fff;--sy-soft:#f5f6f9;--sy-mute:#5d6680;--sy-line:#e3e6ee}body{font-family:Inter,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}:root{color:#132140;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--forest-950:#142242;--forest-900:#142242;--forest-800:#28385e;--forest-700:#303f61;--forest-500:#55617c;--mint:#aec1ec;--mint-soft:#e3e6ed;--ivory:#f1f2f6;--paper:#fff;--ink:#132140;--ink-soft:#495267;--copper:#a07317;--line:#d0d5e1;--line-strong:#b2b8c8;--serif:"Inter Display", Inter, system-ui, -apple-system, sans-serif;background:#f1f2f6;font-family:Inter,system-ui,-apple-system,sans-serif}html{background:var(--ivory);min-height:100%}body{min-width:320px;min-height:100dvh;color:var(--ink);background:var(--ivory);margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid var(--copper);outline-offset:3px}.is-hidden{display:none!important}.access-brand{z-index:2;align-items:center;display:inline-flex;position:absolute}.brand-mark,.logo{flex:none;place-items:center;display:inline-grid}.access-security{text-transform:uppercase;align-items:center;gap:9px;margin-bottom:22px;display:inline-flex}.security-dot,.availability-dot{background:#455d94;border-radius:50%;flex:none;width:7px;height:7px;display:inline-block;box-shadow:0 0 0 4px #455d9424}.access-card h1{margin:0;font-weight:400}.access-description{max-width:400px;margin:18px 0 28px}.access-form{gap:8px;display:grid}.access-form label{margin-left:2px}.access-input-wrap{position:relative}.access-form input{border:1px solid var(--line-strong);letter-spacing:6px;outline:none;width:100%;height:56px;padding:0 18px;transition:border-color .18s,box-shadow .18s}.access-form input::placeholder{color:#666f83;letter-spacing:5px}.access-form input:focus{border-color:var(--forest-500);box-shadow:0 0 0 4px #55617c29}.access-form input[aria-invalid=true]{border-color:#a03a3a;box-shadow:0 0 0 4px #a03a3a1f}.access-hint{color:var(--ink-soft);margin:0 2px 8px;font-size:12px;line-height:1.5}.access-form button{border:0;justify-content:space-between;align-items:center;width:100%;min-height:54px;padding:0 22px;transition:background .18s,transform .18s;display:flex}.access-form button:hover{background:var(--forest-800)}.access-form button:active{transform:scale(.99)}.access-form button:disabled{cursor:wait;opacity:.7}.button-arrow{color:var(--mint);font-size:20px}.access-error{color:#a03a3a;min-height:20px;margin:12px 0 0;font-size:13px;line-height:1.45}.access-error:empty{min-height:0;margin:0}.access-footnote{color:var(--ink-soft);flex-wrap:wrap;gap:8px;margin-top:18px;font-size:12px;display:flex}.footnote-separator{color:var(--copper)}.access-powered{color:var(--ink-soft);margin:26px 0 0;font-size:14px;line-height:1.5}.access-powered strong{color:var(--forest-950)}.app{background:var(--ivory);flex-direction:column;height:100dvh;display:flex;overflow:hidden}.topbar{background:var(--ivory);border-bottom:1px solid var(--line);flex:none}.topbar-inner{justify-content:space-between;align-items:center;gap:16px;width:min(100% - 48px,1080px);min-height:72px;margin:0 auto;display:flex}.brand-lockup{align-items:center;gap:12px;min-width:0;display:flex}.logo{color:#e1e3ec;background:var(--forest-950);width:38px;height:38px;font:italic 27px/1 var(--serif);letter-spacing:-3px;border-radius:50%;padding-right:4px}.property-name{min-width:0}.property-name span{color:var(--ink-soft);letter-spacing:1.6px;font-size:11px;font-weight:700;display:block}.property-name h1{min-height:1.2em;color:var(--forest-950);font:400 22px/1.2 var(--serif);letter-spacing:-.4px;text-overflow:ellipsis;white-space:nowrap;margin:2px 0 0;overflow:hidden}.topbar-actions{flex:none;align-items:center;gap:8px;display:flex}.logout-button{min-height:44px;color:var(--forest-700);border:1px solid var(--line-strong);background:0 0;border-radius:999px;padding:0 18px;font-size:13px;font-weight:600;transition:background .18s}.logout-button:hover{color:var(--forest-950);background:var(--mint-soft)}.app main{flex:1;width:min(100% - 48px,1080px);min-height:0;margin:0 auto;padding:24px 0;display:flex}.chat-shell{background:var(--paper);border:1px solid var(--line);border-radius:14px;flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden;box-shadow:0 12px 40px #1422420a}.chat-shell-header{background:var(--mint-soft);border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:flex-start;gap:16px;padding:22px 26px;display:flex}.chat-shell-header>div:first-child{min-width:0}.chat-shell-header strong{color:var(--forest-950);font:400 clamp(22px, 2.6vw, 30px)/1.2 var(--serif);letter-spacing:-.6px;display:block}.chat-shell-header small{color:var(--ink-soft);margin-top:6px;font-size:13px;line-height:1.5;display:block}.status-pill{color:var(--forest-700);background:var(--paper);border-radius:999px;flex:none;align-items:center;gap:8px;padding:8px 12px;font-size:12px;font-weight:600;display:inline-flex}.guest-appliances{border-bottom:1px solid var(--line);background:#f0f1f5;flex:none;padding:14px 26px}.guest-appliances p{color:var(--forest-700);margin:0 0 6px;font-size:14px;line-height:1.5}.guest-appliances a{color:#1b2c52;font-size:14px;text-decoration:underline}.guest-actions{background:var(--ivory);border-bottom:1px solid var(--line);flex-wrap:wrap;flex:none;justify-content:space-between;align-items:center;gap:8px 16px;padding:12px 20px;display:flex}.guest-action-list{flex-wrap:wrap;gap:8px;display:flex}.guest-actions a{min-height:40px;color:var(--forest-950);border:1px solid var(--line);white-space:nowrap;background:#fff;border-radius:999px;align-items:center;gap:8px;padding:0 14px 0 12px;font-size:13px;font-weight:600;text-decoration:none;transition:border-color .18s,background .18s;display:inline-flex}.guest-actions a:hover{background:var(--paper);border-color:var(--line-strong)}.guest-action-icon{color:var(--forest-700);display:grid}.guest-action-icon svg,.quick-icon svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px;display:block}.guest-actions>p{color:var(--ink-soft);margin:0;font-size:12px;line-height:1.5}.guest-actions>p:empty{display:none}.quick-questions{background:var(--paper);border-bottom:1px solid var(--line);flex:none;padding:12px 20px}.quick-list{flex-wrap:wrap;gap:8px;display:flex}.quick-questions button{min-height:44px;color:var(--forest-950);border:1px solid var(--line);white-space:nowrap;background:#eeeff4;border-radius:999px;align-items:center;gap:8px;padding:0 16px 0 6px;font-size:13px;font-weight:600;transition:background .18s,border-color .18s;display:inline-flex}.quick-questions button:hover{border-color:var(--line-strong);background:#fff}.quick-questions button:active{transform:scale(.98)}.quick-questions button:disabled{cursor:wait;opacity:.6}.quick-icon{width:32px;height:32px;color:var(--forest-700);background:var(--mint-soft);border-radius:50%;place-items:center;display:grid}.chat{overscroll-behavior:contain;background:var(--paper);scrollbar-width:thin;scrollbar-color:#14224233 transparent;flex-direction:column;flex:1;gap:14px;min-height:0;padding:24px 26px;display:flex;overflow-y:auto}.message{overflow-wrap:anywhere;border-radius:16px;flex-direction:column;flex:none;gap:6px;max-width:min(85%,640px);padding:14px 18px;line-height:1.65;animation:.28s cubic-bezier(.2,.8,.2,1) both messageIn;display:flex}.message.no-animation{animation:none}.message-meta{color:var(--ink-soft);letter-spacing:1px;text-transform:uppercase;font-size:11px;font-weight:700;display:block}.message-text{white-space:pre-line;font-size:15px;display:block}.assistant-message{color:#212c46;border:1px solid var(--line);background:#edeef3;border-bottom-left-radius:4px;align-self:flex-start}.assistant-message.is-error{color:#6e2f27;background:#f8ecea;border-color:#e6cbc5}.user-message{color:#fff;background:var(--forest-950);border-bottom-right-radius:4px;align-self:flex-end}.user-message .message-meta{color:var(--mint)}.chat-context-photo{margin:10px 0 0}.chat-context-photo img{object-fit:cover;border-radius:12px;width:100%;max-height:290px;display:block}.chat-context-photo figcaption{color:var(--ink-soft);margin-top:6px;font-size:13px}.message-box{background:var(--ivory);border-top:1px solid var(--line);flex:none;gap:10px;padding:14px 20px;display:flex}.message-box input{min-width:0;height:50px;color:var(--forest-950);background:var(--paper);border:1px solid var(--line-strong);border-radius:999px;outline:none;flex:1;padding:0 20px;font-size:16px;transition:border-color .18s,box-shadow .18s}.message-box input::placeholder{color:#666f83}.message-box input:focus{border-color:var(--forest-500);box-shadow:0 0 0 4px #55617c24}.message-box button{background:var(--forest-950);border:0;border-radius:50%;flex:none;place-items:center;width:50px;height:50px;transition:background .17s,transform .17s;display:grid}.message-box button:hover{background:var(--forest-800)}.message-box button:active{transform:scale(.96)}.message-box button:disabled{cursor:not-allowed;opacity:.55}.message-box button svg{fill:none;width:20px;height:20px;stroke:var(--mint);stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.service-note{color:var(--ink-soft);background:var(--ivory);text-align:center;flex:none;margin:0;padding:0 20px 12px;font-size:12px;line-height:1.5}.typing-message{min-width:140px}.typing-row{align-items:center;gap:10px;display:flex}.typing-label{color:var(--ink-soft);font-size:13px}.typing-dots{align-items:center;gap:3px;display:flex}.typing-dots span{background:var(--forest-500);border-radius:50%;width:5px;height:5px;animation:1.15s ease-in-out infinite typingPulse}.typing-dots span:nth-child(2){animation-delay:.14s}.typing-dots span:nth-child(3){animation-delay:.28s}body:not(.marketing-page) .access-form input:focus-visible,body:not(.marketing-page) .message-box input:focus-visible{outline:none}.access-form input:focus,.message-box input:focus{border-color:var(--forest-700);box-shadow:0 0 0 3px #303f6147}@keyframes messageIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes typingPulse{0%,65%,to{opacity:.28;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}.message-feedback{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;font-size:12px;display:flex}.message-feedback span{margin-right:4px}.message-feedback button{background:var(--paper);border:1px solid var(--line);border-radius:999px;place-items:center;width:36px;height:32px;padding:0;font-size:15px;line-height:1;display:grid}.message-feedback button:hover:not(:disabled){border-color:var(--line-strong)}.message-feedback button:disabled{cursor:default;opacity:.5}.message-feedback button.is-selected{opacity:1;background:var(--mint-soft);border-color:var(--forest-500)}@media (height<=760px) and (width>=681px){.chat-shell-header{padding:16px 26px}.chat-shell-header small{display:none}.app main{padding:16px 0}}@media (width<=680px){.topbar-inner{width:calc(100% - 28px);min-height:60px}.logo{width:34px;height:34px;font-size:24px}.property-name span{letter-spacing:1.4px;font-size:11px}.property-name h1{font-size:19px}.logout-button{padding:0 14px}.app main{width:100%;padding:0}.chat-shell{box-shadow:none;border:0;border-radius:0}.chat-shell-header{padding:16px}.chat-shell-header strong{font-size:21px}.chat-shell-header small{font-size:13px}.status-pill{display:none}.guest-appliances{padding:12px 16px}.app.has-conversation .chat-shell-header{display:none}.guest-actions{padding:10px 0;display:block}.guest-actions>p{padding:8px 16px 0}.guest-action-list,.quick-list{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;padding:0 16px;scroll-padding:0 16px;overflow-x:auto}.guest-action-list::-webkit-scrollbar{display:none}.quick-list::-webkit-scrollbar{display:none}.guest-actions a,.quick-questions button{flex:none}.quick-questions{padding:10px 0}.chat{padding:16px}.message{max-width:92%;padding:12px 15px}.message-box{padding:10px 12px}.service-note{padding:0 16px calc(8px + env(safe-area-inset-bottom));font-size:11px}}@media (height<=520px){.app{height:auto;min-height:100dvh;overflow:visible}.chat{min-height:260px}.chat-shell-header{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}html body :is(h1,h2){letter-spacing:-.035em;font-weight:700!important}html body :is(h1,h2) em{color:#4a5677;font-style:normal;font-weight:700!important}html body .brand-arch{background:linear-gradient(170deg,#ffe7b0 0%,#f6c6a0 30%,#7c86b8 62%,#24345e 100%);border-color:#fff;box-shadow:0 0 0 1px #e3e6ee}html body .brand-sun{background:#fff3cf;box-shadow:0 0 40px 10px #ffecb4cc}html body .brand-hill{background:#3a4a78}html body .brand-hill-front{background:#0f1b33}html body .brand-path{opacity:.8;border-color:#ffc24b}html body .admin-login-art{background:linear-gradient(170deg,#ffe7b0 0%,#f6c6a0 28%,#7c86b8 60%,#24345e 85%,#0e1726 100%)}html body .admin-login-art i{background:#fff3cf;box-shadow:0 0 60px 16px #ffecb4b3}html body .admin-login-art b{background:#0f1b33}html body .admin-login-art span{background:#3a4a78}html body :is(.brand-mark,.logo,.host-login-brand>span,.host-logo>span,.admin-brand>span,.admin-empty-detail>span){color:inherit;box-shadow:none!important;background:0 0!important;border:0!important;padding:0!important}html body :is(.brand-mark,.logo,.host-login-brand>span,.host-logo>span,.admin-brand>span){width:36px;height:36px}html body :is(.host-login-brand strong,.host-logo strong,.brand-word,.admin-brand strong){letter-spacing:-.03em;font-family:Inter Display,Inter,system-ui,sans-serif;font-weight:600}html body ::selection{color:#0f1b33;background:#ffc24b}
