:root{--accent: #d7241d;--accent-dark: #b91f1a;--text: #202123;--muted: #6f7479;--soft-text: #92979c;--surface: #ffffff;--sidebar: #f7f7f8;--soft: #f3f4f5;--soft-hover: #e9eaec;--line: #e4e5e7;--success: #279765;--warning: #d39a2f}html,body,#root{width:100%;height:100%;margin:0}body{min-width:320px;overflow:hidden;color:var(--text);background:var(--surface);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}.page-shell,.assistant-layout{width:100%;height:100dvh}.assistant-layout{display:grid;grid-template-columns:280px minmax(0,1fr)}.desktop-faq-column{min-width:0;min-height:0;background:var(--sidebar);border-right:1px solid var(--line)}.faq-panel{width:100%;height:100%;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);background:var(--sidebar)}.faq-panel-header{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 18px 12px}.faq-label{display:block;margin-bottom:4px;color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.9px;text-transform:uppercase}.faq-panel-header h2{margin:0;font-size:16px;font-weight:700;line-height:1.3;letter-spacing:-.2px}.faq-question-list{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:8px 10px 18px;scrollbar-width:thin;scrollbar-color:#c9cccf transparent}.faq-question-list::-webkit-scrollbar,.chat-window::-webkit-scrollbar{width:6px}.faq-question-list::-webkit-scrollbar-thumb,.chat-window::-webkit-scrollbar-thumb{background:#c9cccf;border-radius:999px}.faq-question-button{width:100%;min-height:46px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 11px;color:#3d4145;background:transparent;border:0;border-radius:9px;text-align:left;cursor:pointer;transition:background .15s ease,color .15s ease}.faq-question-button:hover:not(:disabled){color:var(--text);background:var(--soft-hover)}.faq-question-button:disabled{opacity:.48;cursor:not-allowed}.faq-question-text{min-width:0;font-size:13px;font-weight:530;line-height:1.45}.chevron-icon{flex:0 0 auto;color:#fff}.app-shell{min-width:0;min-height:0;display:grid;grid-template-rows:64px minmax(0,1fr);overflow:hidden;background:var(--surface)}.app-header{position:relative;z-index:5;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 22px;background:#fffffff5;border-bottom:1px solid var(--line)}.header-left,.header-actions,.brand{display:flex;align-items:center}.header-left,.header-actions,.brand{min-width:0;gap:10px}.brand-mark{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;color:var(--accent);background:#fff2f1;border-radius:9px}.brand-text{min-width:0}.brand-text h1{margin:0;overflow:hidden;font-size:14px;font-weight:700;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.brand-text p{margin:2px 0 0;color:var(--muted);font-size:10.5px}.icon-button{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;padding:0;color:#5d6267;background:transparent;border:0;border-radius:9px;cursor:pointer;transition:background .15s ease,color .15s ease}.icon-button:hover{color:var(--text);background:var(--soft)}.faq-trigger{display:none}.status-pill{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:10px;font-weight:650}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--warning)}.status-ok .status-dot{background:var(--success)}.status-down .status-dot{background:var(--accent)}.chat-stage{position:relative;min-width:0;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;overflow:hidden}.chat-window{min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain;background:var(--surface);scrollbar-width:thin;scrollbar-color:#c9cccf transparent}.chat-inner{width:min(100%,860px);min-height:100%;margin:0 auto;display:flex;flex-direction:column;gap:4px;padding:28px 24px 34px}.is-idle .chat-stage{display:block}.is-idle .chat-window{height:100%;display:grid;place-items:center;overflow:hidden;padding:24px 24px 152px}.welcome-state{width:min(100%,620px);text-align:center}.welcome-icon{width:48px;height:48px;margin:0 auto 18px;display:grid;place-items:center;color:var(--accent);background:#fff2f1;border-radius:14px}.welcome-state h2{margin:0;font-size:clamp(24px,3vw,34px);font-weight:680;line-height:1.18;letter-spacing:-.8px}.welcome-state p{max-width:500px;margin:12px auto 0;color:var(--muted);font-size:14px;line-height:1.6}.message-row{width:100%;display:flex;gap:11px;padding:12px 0}.from-user{justify-content:flex-end}.from-bot{justify-content:flex-start}.avatar{width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;color:#5f6469;background:var(--soft);border-radius:9px}.message-content{min-width:0;max-width:min(78%,680px);font-size:14px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}.message-bot{padding:3px 0;color:#2f3235}.message-user{padding:10px 14px;color:#2f3235;background:var(--soft);border-radius:16px 16px 4px}.message-error{color:#a32b26}.bot-meta{display:flex;flex-direction:column;gap:10px;margin-top:12px}.chip-row{display:flex;flex-wrap:wrap;gap:6px}.chip{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;color:#4b5054;background:var(--soft);border-radius:999px;font-size:10.5px}.chip-label{color:var(--accent);font-size:8.5px;font-weight:800;letter-spacing:.4px;text-transform:uppercase}.chip-value{font-weight:650}.availability-card{padding:14px;background:#fafafa;border-radius:12px}.availability-title{margin-bottom:10px;color:#555a5e;font-size:10px;font-weight:800;letter-spacing:.45px;text-transform:uppercase}.availability-empty{color:var(--muted);font-size:12.5px}.room-list{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.room-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;padding:10px 11px;background:var(--surface);border-radius:9px}.room-name{min-width:0;font-size:12.5px;font-weight:700}.room-price{color:var(--accent);font-size:12.5px;font-weight:800;text-align:right}.room-desc{grid-column:1 / -1;color:var(--muted);font-size:11.5px;line-height:1.5}.availability-raw{overflow-x:auto;margin:0;padding:11px;color:#f3f3f3;background:#292c2f;border-radius:9px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10.5px;line-height:1.5}.booking-link{align-self:flex-start;display:inline-flex;align-items:center;gap:4px;min-height:36px;padding:8px 12px;color:#fff;background:var(--accent);border-radius:9px;font-size:11.5px;font-weight:700;text-decoration:none}.booking-link:hover{background:var(--accent-dark)}.typing{width:46px;min-height:28px;display:inline-flex;align-items:center;justify-content:center;gap:4px}.dot{width:5px;height:5px;border-radius:50%;background:#858a8e;animation:typing-bounce 1.15s infinite ease-in-out}.dot:nth-child(2){animation-delay:.14s}.dot:nth-child(3){animation-delay:.28s}@keyframes typing-bounce{0%,80%,to{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.composer{width:min(100% - 32px,760px);min-height:58px;display:flex;align-items:center;gap:8px;margin:0 auto 18px;padding:8px 8px 8px 18px;background:var(--soft);border:1px solid transparent;border-radius:20px;transition:border-color .15s ease,background .15s ease}.is-idle .composer{position:absolute;z-index:3;top:50%;left:50%;margin:52px 0 0;transform:translate(-50%,-50%)}.has-conversation .composer{position:relative;z-index:4;flex:0 0 auto}.composer:focus-within{background:#f0f1f2;border-color:#dadcdf}.composer-input{flex:1;min-width:0;padding:9px 0;color:var(--text);background:transparent;border:0;outline:none;font-size:14px}.composer-input::placeholder{color:#8c9196}.composer-send{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;color:#fff;background:#2f3235;border:0;border-radius:13px;cursor:pointer;transition:background .15s ease,opacity .15s ease}.composer-send:hover:not(:disabled){background:var(--accent)}.composer-send:disabled{opacity:.22;cursor:not-allowed}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.42);border-top-color:#fff;border-radius:50%;animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.drawer-backdrop,.faq-drawer{display:none}@media (max-width: 1024px){.assistant-layout{display:block}.desktop-faq-column{display:none}.faq-trigger{display:grid}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:block;visibility:hidden;background:#14161861;opacity:0;transition:opacity .18s ease,visibility .18s ease}.drawer-backdrop.is-open{visibility:visible;opacity:1}.faq-drawer{position:fixed;inset:0 auto 0 0;z-index:50;width:min(88vw,340px);display:block;overflow:hidden;background:var(--sidebar);transform:translate(-100%);transition:transform .21s ease}.faq-drawer.is-open{transform:translate(0)}.faq-panel-drawer{background:var(--sidebar)}.drawer-close{display:grid}.app-header{padding:0 16px}}@media (max-width: 640px){.app-shell{grid-template-rows:58px minmax(0,1fr)}.app-header{padding:0 10px}.header-left,.header-actions{gap:6px}.brand-mark{width:31px;height:31px;flex-basis:31px}.brand-text h1{font-size:13px}.brand-text p{display:none}.status-pill{font-size:0}.status-pill .status-dot{width:8px;height:8px}.chat-inner{gap:2px;padding:18px 12px 24px}.message-row{gap:8px;padding:10px 0}.avatar{width:28px;height:28px;flex-basis:28px}.message-content{max-width:86%;font-size:13px;line-height:1.6}.message-user{padding:9px 12px}.is-idle .chat-window{padding:20px 18px 158px}.welcome-state{transform:translateY(-12px)}.welcome-icon{width:43px;height:43px;margin-bottom:14px}.welcome-state h2{font-size:24px;letter-spacing:-.5px}.welcome-state p{margin-top:9px;font-size:12.5px}.composer{width:calc(100% - 20px);min-height:54px;margin-bottom:max(10px,env(safe-area-inset-bottom));padding:6px 6px 6px 14px;border-radius:18px}.is-idle .composer{width:calc(100% - 28px);margin-top:62px}.composer-input{font-size:13px}.composer-send{width:38px;height:38px;flex-basis:38px;border-radius:12px}.room-item{grid-template-columns:1fr}.room-price{text-align:left}}.icon-button:focus-visible,.faq-question-button:focus-visible,.composer-send:focus-visible,.booking-link:focus-visible{outline:3px solid rgba(215,36,29,.18);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}:root{color-scheme:light;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%}body{background:radial-gradient(1200px 600px at 10% -10%,rgba(99,102,241,.18),transparent 60%),radial-gradient(900px 500px at 110% 10%,rgba(16,185,129,.15),transparent 60%),linear-gradient(180deg,#f8fafc,#eef2f7);color:#0f172a}button,input{font-family:inherit}
