:root{color:#233d35;font-synthesis:none;--green:#174e43;--ink:#233d35;--muted:#7a877f;--line:#e4e8e1;--gold:#b19158;background:#f6f5f0;font-family:PingFang SC,Microsoft YaHei,system-ui,sans-serif;font-weight:400}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible{outline-offset:4px;outline:3px solid #b19158}input:focus,select:focus,textarea:focus{outline-offset:2px;outline:2px solid #96b8a7}a{color:inherit;text-decoration:none}button{background:0 0;border:0}h1,h2,h3,p{margin:0}h1{letter-spacing:.035em;font-size:34px;font-weight:600}h2{font-size:20px;font-weight:600}h3{font-size:16px;font-weight:600}p{line-height:1.8}small{font-size:12px}.guest-shell{min-height:100vh}.topbar{border-bottom:1px solid var(--line);background:#fcfcf9;justify-content:space-between;align-items:center;gap:24px;height:86px;padding:0 max(32px,50vw - 590px);display:flex}.guest-brand{white-space:nowrap;align-items:center;gap:12px;display:flex}.guest-brand>span{letter-spacing:.16em;font-size:23px;font-weight:600}.guest-brand small{letter-spacing:.18em;margin-top:2px;font-size:9px;font-weight:500;display:block}.hotel-name{color:#65786e;letter-spacing:.08em;font-size:14px}.language{white-space:nowrap;align-items:center;gap:8px;display:flex}.language select{color:#385349;background:0 0;border:0;max-width:100px;font-size:12px}.guest-nav{border-bottom:1px solid var(--line);align-items:center;gap:40px;max-width:1180px;height:70px;margin:auto;display:flex}.guest-nav>button{color:#75837a;align-items:center;gap:9px;height:70px;padding:0 5px;font-size:14px;display:flex;position:relative}.guest-nav>button.selected{color:var(--green);font-weight:600}.guest-nav>button.selected:after{background:var(--green);content:"";height:3px;position:absolute;bottom:0;left:0;right:0}.nav-symbol{font-size:21px;font-weight:400}.guest-nav b{background:#e3ebe2;border-radius:12px;padding:2px 5px;font-size:10px}.room-chip{letter-spacing:.1em;margin-left:auto;font-size:12px}.room-chip b{background:0 0;margin-left:8px;font-size:15px;font-weight:600}.page-content{max-width:1180px;margin:auto;padding:34px 0 56px}.welcome{justify-content:space-between;align-items:center;padding:8px 0 35px;display:flex}.eyebrow{color:var(--gold);letter-spacing:.18em;margin-bottom:14px;font-size:10px;font-weight:600;display:block}.welcome p{color:var(--muted);margin-top:13px;font-size:14px}.welcome-room{text-align:right;flex-direction:column;gap:4px;display:flex}.welcome-room small,.welcome-room span{color:var(--muted);font-size:11px}.welcome-room strong{color:#4f6559;font-size:28px;font-weight:500}.home-grid{grid-template-columns:minmax(0,1fr) 340px;gap:24px;display:grid}.concierge-card,.quick-card,.room-preview{border:1px solid var(--line);background:#fff;border-radius:17px;overflow:hidden}.card-heading{align-items:center;gap:12px;padding:24px 26px;display:flex}.assistant-mark{width:43px;height:43px;color:var(--green);background:#edf3ed;border:1px solid #dfe8de;border-radius:12px;place-items:center;font-family:serif;font-size:23px;display:grid}.card-heading h2{font-size:16px}.card-heading p{color:var(--muted);margin-top:5px;font-size:11px}.live-tag{color:#6b7c6c;white-space:nowrap;align-items:center;gap:5px;margin-left:auto;font-size:10px;display:flex}.live-tag i{background:#75a87d;border-radius:50%;width:5px;height:5px}.voice-zone{text-align:center;background:radial-gradient(at 50% 38%,#f2f7ef,#0000 65%);padding:26px 30px 28px}.voice-orbit{border:1px solid #dde9db;border-radius:50%;place-items:center;width:140px;height:140px;margin:0 auto 18px;display:grid;position:relative}.voice-orbit:before{content:"";border:1px solid #e0ebdc;border-radius:50%;position:absolute;inset:10px}.voice-button{background:var(--green);color:#fbfcf9;border-radius:50%;place-items:center;width:100px;height:100px;display:grid;position:relative;box-shadow:0 8px 24px #174e4326}.voice-button svg{width:33px;height:33px}.voice-button:disabled{opacity:.88;cursor:not-allowed}.voice-zone h3{margin-bottom:11px;font-size:15px}.voice-description{color:#859086;max-width:460px;margin:auto;font-size:11px;line-height:1.8}.voice-tools{justify-content:center;gap:15px;margin-top:15px;display:flex}.voice-tools button{border:1px solid #ccd9cf;border-radius:30px;padding:7px 12px;font-size:11px}.active .voice-orbit{animation:2s ease-in-out infinite glow}.wave{font-size:19px;animation:1s ease-in-out infinite glow}.chat-area{border-top:1px solid #eef1eb;padding:23px 26px 24px}.chat-caption{color:#9aa496;letter-spacing:.04em;justify-content:space-between;align-items:center;margin-bottom:17px;font-size:10px;display:flex}.starter>span{color:var(--muted);font-size:11px}.starter>div{flex-wrap:wrap;gap:8px;margin-top:12px;margin-bottom:24px;display:flex}.starter button{background:#fbfcf8;border:1px solid #e4e9df;border-radius:7px;padding:9px 12px;font-size:11px}.chat-form{background:#f8faf5;border:1px solid #e0e7dd;border-radius:9px;gap:8px;padding:7px 8px 7px 14px;display:flex}.chat-form input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:none;font-size:12px}.chat-form input::placeholder{color:#9aa697}.chat-form button{background:var(--green);color:#fff;border-radius:7px;flex-shrink:0;width:34px;height:34px;font-size:22px}.messages{flex-direction:column;gap:9px;max-height:270px;margin-bottom:17px;padding-right:5px;display:flex;overflow-y:auto}.messages p{white-space:pre-wrap;overflow-wrap:anywhere;border-radius:10px;max-width:90%;padding:9px 12px;font-size:12px}.messages .user{background:#e9f0e6;align-self:flex-end}.messages .assistant{background:#f5f5f0;align-self:flex-start}.live-transcript{background:#f4f8f1;max-height:160px;padding:14px 26px;font-size:12px;overflow-y:auto}.home-aside{flex-direction:column;gap:22px;display:flex}.quick-card{padding:25px}.section-heading{justify-content:space-between;align-items:center;display:flex}.section-heading .eyebrow{margin-bottom:10px;font-size:9px}.section-heading h2{font-size:18px}.section-heading p{color:var(--muted);margin-top:7px;font-size:11px}.section-heading>span{color:#b4bdab;font-size:29px}.quick-grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:23px;display:grid}.quick-grid button{text-align:left;background:#fafbf7;border:1px solid #e7ebe3;border-radius:10px;padding:13px;font-size:11px;transition:background .2s;position:relative}.quick-grid button:hover{background:#eaf2e7}.quick-grid button>span{color:#668574;margin-bottom:10px;font-size:24px;display:block}.quick-grid button small{color:#a1ae99;position:absolute;bottom:12px;right:10px}.cleaning-row{color:#587464;justify-content:space-between;width:100%;margin-top:17px;padding:6px 0;font-size:11px;display:flex}.room-preview{background:#f0f2e9;border-color:#e1e6d7;padding:25px;position:relative}.room-preview h2{font-size:18px}.room-preview p{color:var(--muted);margin-top:8px;font-size:11px}.temperature{justify-content:space-between;align-items:center;margin:26px 0;display:flex}.temperature strong{font-size:47px;font-weight:400;line-height:1}.temperature sup{vertical-align:top;margin-left:3px;font-size:17px}.temperature span{color:var(--muted);font-size:11px}.outline-button{background:0 0;border:1px solid #cdd9c8;border-radius:7px;justify-content:space-between;gap:15px;padding:10px 13px;font-size:12px;display:flex}.room-preview .outline-button{width:100%}.sim-label{color:#8b967c;letter-spacing:.04em;font-size:9px}.room-preview>.sim-label{position:absolute;top:25px;right:22px}.page-footer{border-top:1px solid var(--line);color:#929b8e;letter-spacing:.04em;justify-content:space-between;align-items:center;max-width:1180px;margin:auto;padding:23px 0 33px;font-size:10px;display:flex}.page-footer button{font-size:10px}.section-title{margin:8px 0 30px}.section-title p{color:var(--muted);margin-top:12px;font-size:13px}.section-title h1{justify-content:space-between;align-items:center;display:flex}.device-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.device-card{border:1px solid var(--line);background:#fff;border-radius:14px;min-height:205px;padding:24px;position:relative}.device-card>div{justify-content:space-between;display:flex}.device-symbol{color:#6b8878;font-size:26px}.device-card h2{margin:22px 0 7px;font-size:17px}.device-card p{color:var(--muted);font-size:12px}.switch{background:#d9dfd4;border-radius:20px;width:46px;height:25px;padding:3px;position:absolute;bottom:31px;right:25px}.switch span{background:#fff;border-radius:50%;width:19px;height:19px;transition:transform .15s;display:block}.switch.on{background:var(--green)}.switch.on span{transform:translate(21px)}.device-value{margin:11px 0;font-size:28px;font-weight:400;display:block}.device-card input[type=range]{width:100%;accent-color:var(--green);margin-top:12px}.sleep-card{background:var(--green);color:#fff;text-align:left;border-radius:12px;align-items:center;gap:22px;width:100%;margin-top:22px;padding:24px 28px;display:flex}.sleep-card>span{color:#ccdac1;font-size:30px}.sleep-card>span:last-child{margin-left:auto}.sleep-card p{color:#b7ccbe;margin-top:6px;font-size:12px}.audit{color:#8b9787;margin-top:25px;font-size:11px}.audit p{margin-top:10px}.service-grid{grid-template-columns:repeat(5,1fr);gap:15px;display:grid}.service-grid>button{border:1px solid var(--line);text-align:left;background:#fff;border-radius:10px;justify-content:space-between;padding:26px 19px;font-size:14px;display:flex}.service-grid>button span{color:var(--gold)}.menu-title{margin-top:45px}.menu-grid{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.menu-card{border:1px solid var(--line);background:#fff;border-radius:15px;overflow:hidden}.dish-art{background:radial-gradient(circle at 52% 70%,#faf7ed 0 47%,#0000 47%),linear-gradient(120deg,#e1e6d6,#f0eddf);justify-content:center;align-items:center;height:155px;display:flex;position:relative}.dish-art>span{color:#7c8c66;text-align:center;border:1px solid #c9d3bc;border-radius:50%;width:100px;height:100px;font-family:serif;font-size:55px;line-height:98px}.dish-art small{background:#fff9;border-radius:20px;padding:5px 10px;font-size:9px;position:absolute;top:14px;right:14px}.menu-card:nth-child(2n) .dish-art{background:radial-gradient(circle at 52% 70%,#faf7ed 0 47%,#0000 47%),linear-gradient(120deg,#ece1d0,#eae8d7)}.menu-body{padding:23px}.menu-body p{color:var(--muted);min-height:44px;margin-top:10px;font-size:12px}.menu-body footer{justify-content:space-between;align-items:center;margin-top:20px;display:flex}.menu-body footer strong{font-size:18px;font-weight:500}.menu-body footer button{border:1px solid #cfdbca;border-radius:6px;padding:7px 15px;font-size:11px}.empty-requests{text-align:center;border:1px solid var(--line);background:#fff;border-radius:15px;padding:70px}.empty-requests>span{color:#b2bea4;font-size:45px}.empty-requests h2{margin:20px 0 12px}.empty-requests p{color:var(--muted);font-size:12px}.request-list{flex-direction:column;gap:16px;display:flex}.request-list article{border:1px solid var(--line);background:#fff;border-radius:12px;justify-content:space-between;gap:18px;padding:26px;display:flex}.request-list article>div:first-child{gap:19px;display:flex}.request-icon{background:#edf3e8;border-radius:12px;flex-shrink:0;place-items:center;width:45px;height:45px;font-size:23px;display:grid}.request-list h3 small{color:var(--muted);font-weight:400}.request-list p{color:var(--muted);margin-top:8px;font-size:11px}.request-list small{color:#9ba68f;font-size:10px}.request-actions{flex-direction:column;align-items:flex-end;gap:16px;display:flex}.status{color:#8b7a42;white-space:nowrap;background:#f3f0df;border-radius:20px;padding:6px 12px;font-size:11px}.status.IN_PROGRESS{color:#3b6d79;background:#e8f3f3}.status.COMPLETED{color:#3f7555;background:#e8f1e5}.status.CANCELLED{color:#85857c;background:#eeeeea}.request-actions button{color:var(--muted);font-size:11px}.feedback{overflow-wrap:anywhere;border-radius:8px;justify-content:space-between;gap:20px;margin-bottom:20px;padding:12px 16px;font-size:12px;display:flex}.error{color:#93483d;background:#fceee8}.success{color:#376c50;background:#e8f3e7}.entry-card{text-align:center;border:1px solid var(--line);background:#fff;border-radius:22px;max-width:630px;margin:100px auto;padding:45px}.entry-card h1{margin:28px 0 16px;font-size:27px}.entry-card p{color:var(--muted);font-size:14px}.modal-cover{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:200;background:#142a2466;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.guest-modal{background:#fffdf8;border-radius:18px;width:100%;max-width:460px;max-height:90vh;padding:32px;overflow-y:auto;box-shadow:0 20px 90px #16382f33}.guest-modal h2{margin:8px 0 20px}.guest-modal p{margin:12px 0;font-size:13px;line-height:1.8}.guest-modal label{margin:18px 0;font-size:12px;display:block}.guest-modal input,.guest-modal textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #d8dfd1;border-radius:7px;margin-top:9px;padding:11px;display:block}.modal-actions{justify-content:flex-end;gap:16px;margin-top:25px;display:flex}.modal-actions button{border:1px solid #d9dfd1;border-radius:7px;padding:11px 17px;font-size:13px}.modal-actions .primary-button{background:var(--green);color:#fff;border-color:var(--green)}.order-total{font-weight:500;font-size:23px!important}.guest-modal .muted-copy{color:var(--muted);font-size:11px}.confirmation-line{border-bottom:1px solid var(--line);justify-content:space-between;padding:13px 0;font-size:14px;display:flex}@keyframes glow{50%{opacity:.6;transform:scale(1.03)}}@media (width<=1250px){.topbar{padding:0 32px}.guest-nav,.page-content,.page-footer{margin-left:32px;margin-right:32px}.home-grid{grid-template-columns:minmax(0,1fr) 300px}.card-heading{padding:22px}.live-tag{font-size:9px}.quick-card,.room-preview{padding:22px}}@media (width<=850px){.home-grid{grid-template-columns:1fr}.home-aside{grid-template-columns:1fr 1fr;display:grid}.device-grid{grid-template-columns:repeat(2,1fr)}.service-grid{grid-template-columns:repeat(3,1fr)}.menu-grid{grid-template-columns:repeat(2,1fr)}.hotel-name{display:none}.guest-nav{gap:26px}}@media (width<=560px){.topbar{height:72px;padding:0 20px}.guest-brand>span{font-size:20px}.guest-brand img{width:33px;height:33px}.guest-nav{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f6f5f0f5;justify-content:space-between;gap:0;height:60px;margin:0;padding:0 15px;position:sticky;top:0}.guest-nav>button{gap:5px;height:60px;font-size:12px}.nav-symbol{font-size:18px}.room-chip{display:none}.page-content{margin:0 18px;padding-top:25px;padding-bottom:32px}h1{font-size:27px}.welcome{padding-bottom:25px}.welcome p{font-size:12px}.welcome-room strong{font-size:22px}.welcome-room span{display:none}.welcome .eyebrow{letter-spacing:.12em;font-size:8px}.home-grid{gap:18px}.card-heading{gap:9px;padding:20px 18px}.card-heading h2{font-size:14px}.card-heading p{font-size:10px}.live-tag{white-space:normal;max-width:60px;font-size:8px}.assistant-mark{flex-shrink:0;width:36px;height:36px;font-size:21px}.voice-zone{padding:15px 18px 23px}.voice-description{max-width:280px;font-size:10px}.chat-area{padding:20px 17px}.starter button{padding:8px 9px;font-size:10px}.chat-form input{font-size:11px}.home-aside{grid-template-columns:1fr;gap:18px}.quick-card{padding:22px}.quick-grid{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:20px}.quick-grid button{padding:10px 8px;font-size:10px}.quick-grid button>span{font-size:22px}.quick-grid button small{display:none}.room-preview{padding:23px}.room-preview .temperature{margin:20px 0}.device-grid{gap:12px}.device-card{min-height:190px;padding:18px}.device-card h2{font-size:14px}.switch{bottom:27px;right:16px}.device-card .sim-label{font-size:8px}.device-value{font-size:24px}.sleep-card{gap:12px;padding:21px 20px}.sleep-card p{font-size:10px}.service-grid{grid-template-columns:repeat(2,1fr);gap:10px}.service-grid>button{padding:20px 15px;font-size:12px}.menu-grid{grid-template-columns:1fr}.dish-art{height:145px}.menu-body p{min-height:0}.page-footer{gap:20px;margin:0 18px;padding:22px 0;font-size:9px}.page-footer button{font-size:9px}.request-list article{gap:8px;padding:19px}.request-list article>div:first-child{gap:12px}.request-icon{display:none}.request-list h3{font-size:14px}.request-list p{font-size:10px}.request-list article>div{min-width:0}.request-actions .status{padding:5px 9px;font-size:10px}.empty-requests{padding:45px 20px}.section-title h1 .outline-button{font-size:10px}.entry-card{margin:55px 18px;padding:35px 24px}.entry-card p{font-size:12px}.guest-modal{padding:26px}.modal-cover{padding:18px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
