@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;600;700&family=Noto+Serif+SC:wght@500;600&display=swap');

:root{--ink:#15242a;--muted:#66757a;--line:#dde3e1;--paper:#f6f7f4;--white:#fff;--brand:#0f3139;--brand2:#174955;--gold:#c78d43;--gold2:#e2b56f;--orange:#d97735;--green:#2c8269;--blue:#4a7e9b;--shadow:0 20px 60px rgba(14,38,48,.13);--radius:18px;--serif:"Noto Serif SC","Songti SC",serif;--sans:"Noto Sans SC","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:16px;line-height:1.6}button,input,select,textarea{font:inherit;color:inherit}button,a{cursor:pointer}a{text-decoration:none;color:inherit}button{border:0;background:none}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:38px;height:38px;border:1px solid rgba(255,255,255,.48);border-radius:50% 50% 45% 45%;display:grid;place-items:center;color:var(--gold2);font-family:var(--serif);font-size:19px;flex:none}.brand span:last-child{display:flex;flex-direction:column;line-height:1.25}.brand strong{font-family:var(--serif);font-weight:600;letter-spacing:.08em}.brand small{font-size:11px;color:rgba(255,255,255,.62);letter-spacing:.04em}.primary{background:var(--gold);color:#171d1e;border-radius:9px;padding:13px 21px;font-weight:700;transition:.2s;box-shadow:0 8px 22px rgba(199,141,67,.22)}.primary:hover{background:#d9a35a;transform:translateY(-1px)}.primary.small{padding:9px 16px;font-size:14px}.primary.wide{width:100%;margin-top:10px}.icon-button{min-width:38px;height:38px;border-radius:9px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.22);color:inherit}.outline-button{border:1px solid var(--line);border-radius:9px;padding:8px 14px;background:#fff;font-size:14px}.text-button{font-weight:600;color:var(--brand2)}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.2em;color:var(--gold2);margin:0 0 10px;text-transform:uppercase}.eyebrow.dark{color:#9a6e35}.toast{position:fixed;left:50%;bottom:28px;z-index:90;transform:translate(-50%,30px);background:#122d35;color:#fff;padding:11px 18px;border-radius:10px;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:.25s;font-size:14px}.toast.show{opacity:1;transform:translate(-50%,0)}

.language-switch{height:38px;display:flex;align-items:center;gap:4px;border:1px solid rgba(255,255,255,.24);border-radius:9px;padding:0 8px;background:rgba(255,255,255,.08);color:inherit}.language-switch>span{font-size:11px;opacity:.68}.language-switch select{border:0;outline:0;background:transparent;color:inherit;font-size:12px;font-weight:600;cursor:pointer}.language-switch option{color:#17272b;background:#fff}.admin-topbar .language-switch{border-color:var(--line);background:#fff;color:var(--brand)}

/* guest */
.guest-header{height:76px;position:absolute;top:0;left:0;right:0;z-index:10;display:flex;align-items:center;padding:0 clamp(20px,4.5vw,72px);color:#fff;border-bottom:1px solid rgba(255,255,255,.17);gap:36px}.guest-nav{display:flex;align-items:stretch;height:100%;gap:30px;margin:auto}.guest-nav a{display:grid;place-items:center;font-size:14px;position:relative;color:rgba(255,255,255,.82)}.guest-nav a.active:after{content:"";position:absolute;bottom:0;height:3px;width:28px;background:var(--gold2);border-radius:3px}.header-actions{display:flex;gap:10px;align-items:center}.hero{height:min(820px,94vh);min-height:650px;position:relative;color:white;display:flex;align-items:flex-end}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{background:linear-gradient(90deg,rgba(5,13,18,.7),rgba(5,13,18,.12) 67%),linear-gradient(0deg,rgba(5,13,18,.72),transparent 50%)}.hero-copy{position:relative;z-index:2;margin:0 clamp(20px,8vw,132px) 190px;max-width:620px}.hero-copy h1{font-family:var(--serif);font-size:clamp(42px,5vw,72px);font-weight:500;letter-spacing:.08em;margin:0 0 20px;line-height:1.18}.hero-copy>p:last-child{max-width:520px;color:rgba(255,255,255,.76);font-size:17px}.booking-bar{position:absolute;z-index:3;left:50%;bottom:42px;transform:translateX(-50%);width:min(1180px,calc(100% - 40px));background:rgba(255,255,255,.97);color:var(--ink);border-radius:14px;display:grid;grid-template-columns:1fr 1fr .75fr auto;padding:13px;box-shadow:0 22px 60px rgba(0,0,0,.28)}.booking-bar label{display:flex;flex-direction:column;padding:2px 20px;border-right:1px solid var(--line)}.booking-bar label span{font-size:12px;color:var(--muted);font-weight:600}.booking-bar input,.booking-bar select{border:0;background:transparent;padding:5px 0 0;font-weight:600;outline:none;min-width:0}.booking-bar .primary{min-width:140px}.section{max-width:1320px;margin:auto;padding:92px clamp(20px,4.5vw,72px)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:34px}.section-heading h2,.service-copy h2{font-family:var(--serif);font-size:clamp(30px,3vw,44px);font-weight:500;margin:0;line-height:1.3;letter-spacing:.04em}.section-heading p:not(.eyebrow){margin:8px 0 0;color:var(--muted)}.chip-row{display:flex;gap:8px}.chip{border:1px solid var(--line);border-radius:999px;padding:8px 17px;background:#fff;font-size:14px}.chip.active{background:var(--brand);color:#fff;border-color:var(--brand)}.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.room-card{background:#fff;border-radius:var(--radius);overflow:hidden;border:1px solid rgba(12,49,57,.08);transition:.25s}.room-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.room-visual{height:215px;position:relative;background:linear-gradient(140deg,#345f66,#9cb3a8);overflow:hidden}.room-visual:before,.room-visual:after{content:"";position:absolute}.room-visual:before{inset:0;background:linear-gradient(155deg,rgba(255,255,255,.1),transparent 45%),linear-gradient(0deg,rgba(7,26,32,.55),transparent 60%)}.room-visual:after{width:58%;height:38%;right:8%;bottom:12%;border-radius:5px;background:linear-gradient(#f1ece2 0 34%,#c7a371 35% 47%,#e8e2d7 48%);box-shadow:-90px 3px 0 -45px #b8c8bd}.room-card:nth-child(2) .room-visual{background:linear-gradient(145deg,#1e4453,#bf9a72)}.room-card:nth-child(3) .room-visual{background:linear-gradient(145deg,#59726a,#c5b19b)}.room-tag{position:absolute;z-index:2;top:16px;left:16px;background:rgba(255,255,255,.9);padding:5px 10px;border-radius:99px;font-size:12px}.room-card-content{padding:20px}.room-card-content h3{font-family:var(--serif);font-size:21px;margin:0 0 6px}.room-meta{color:var(--muted);font-size:13px}.room-price{display:flex;align-items:end;justify-content:space-between;margin-top:18px}.room-price strong{font-size:24px;color:var(--brand)}.room-price strong small{font-size:12px;font-weight:500;color:var(--muted)}.room-price button{border-bottom:1px solid var(--ink);padding:4px 0;font-weight:600}.service-band{background:var(--brand);color:#fff;display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;padding:86px max(6vw,30px)}.service-copy{max-width:520px;margin-left:auto}.service-copy>p:not(.eyebrow){color:rgba(255,255,255,.65);margin:20px 0 28px}.light-button{background:#fff;color:var(--brand);padding:11px 18px;border-radius:8px;font-weight:700}.service-list{max-width:670px}.service-list button{width:100%;display:grid;grid-template-columns:48px 1fr auto;align-items:center;color:#fff;text-align:left;padding:24px 0;border-bottom:1px solid rgba(255,255,255,.17)}.service-list button>span{font-family:var(--serif);color:var(--gold2)}.service-list strong{font-family:var(--serif);font-size:20px;font-weight:500}.service-list small{color:rgba(255,255,255,.54)}.service-list button:after{content:"→";margin-left:24px}.split-section{padding-bottom:45px}.mall-section{padding-top:45px}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.product-card{background:#fff;border:1px solid rgba(12,49,57,.08);border-radius:14px;overflow:hidden}.product-visual{height:150px;display:grid;place-items:center;background:#e8eeec;font-size:54px}.product-card:nth-child(2n) .product-visual{background:#f0e9dc}.product-content{padding:16px}.product-content h3{font-size:16px;margin:0 0 5px}.product-content p{font-size:13px;color:var(--muted);margin:0;min-height:42px}.product-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:14px}.product-bottom strong{color:var(--brand);font-size:18px}.add-button{width:34px;height:34px;border-radius:50%;background:var(--brand);color:#fff;font-size:20px}.guest-footer{background:#0a2229;color:#fff;padding:45px clamp(20px,5vw,80px);display:flex;justify-content:space-between;align-items:center;gap:22px}.guest-footer>p,.guest-footer>a{color:rgba(255,255,255,.5);font-size:13px}.chat-fab{position:fixed;right:26px;bottom:26px;z-index:40;background:var(--brand);color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:8px 17px 8px 8px;box-shadow:var(--shadow);display:flex;align-items:center;gap:9px}.chat-fab span,.avatar{width:37px;height:37px;display:grid;place-items:center;border-radius:50%;background:var(--gold);color:#15242a;font-family:var(--serif)}.chat-fab strong{font-size:14px}.chat-panel{position:fixed;right:24px;bottom:24px;z-index:60;width:min(390px,calc(100vw - 30px));height:min(630px,calc(100vh - 40px));background:#fff;border-radius:20px;box-shadow:0 28px 90px rgba(5,22,28,.28);display:flex;flex-direction:column;transform:translateY(30px) scale(.96);opacity:0;pointer-events:none;transition:.25s;overflow:hidden}.chat-panel.open{opacity:1;transform:none;pointer-events:auto}.chat-head{background:var(--brand);color:#fff;padding:17px;display:flex;align-items:center;justify-content:space-between}.chat-head>div{display:flex;align-items:center;gap:10px}.chat-head small{display:block;color:rgba(255,255,255,.64);font-size:12px}.chat-head small i{display:inline-block;width:7px;height:7px;background:#65d4a4;border-radius:50%;margin-right:5px}.chat-messages{flex:1;overflow:auto;padding:20px;background:#f2f5f3}.message{max-width:82%;padding:11px 14px;border-radius:13px;margin:8px 0;font-size:14px;line-height:1.6}.message.bot{background:#fff;border-bottom-left-radius:3px}.message.user{background:var(--brand);color:#fff;margin-left:auto;border-bottom-right-radius:3px}.quick-replies{display:flex;flex-wrap:wrap;gap:7px;margin:13px 0}.quick-replies button{border:1px solid #cad8d4;border-radius:99px;padding:6px 10px;background:#fff;font-size:12px;color:var(--brand)}.chat-input{padding:12px;display:flex;gap:8px;border-top:1px solid var(--line)}.chat-input .icon-button{border-color:var(--line);color:var(--brand)}.chat-input input{flex:1;border:0;outline:none;min-width:0}.send-button{background:var(--brand);color:#fff;padding:8px 13px;border-radius:8px;font-weight:600}.checkout-modal{border:0;padding:0;border-radius:18px;box-shadow:var(--shadow);width:min(500px,calc(100% - 30px))}.checkout-modal::backdrop{background:rgba(4,19,24,.62);backdrop-filter:blur(3px)}.modal-card{padding:25px}.modal-head{display:flex;justify-content:space-between;align-items:start}.modal-head h3{font-family:var(--serif);font-size:25px;margin:0}.modal-head .icon-button{border-color:var(--line);font-size:22px}.order-summary{background:#f3f5f3;padding:15px;border-radius:10px;margin:18px 0}.order-summary>div{display:flex;justify-content:space-between;margin:7px 0}.order-summary .total{border-top:1px solid var(--line);padding-top:9px;font-weight:700}.field{display:flex;flex-direction:column;margin:13px 0}.field span{font-size:13px;color:var(--muted);margin-bottom:4px}.field input{border:1px solid var(--line);padding:11px 12px;border-radius:8px;outline:none}.field input:focus{border-color:var(--brand2)}

/* admin */
.admin-page{background:#f2f4f3}.admin-sidebar{position:fixed;left:0;top:0;bottom:0;width:246px;background:#102c34;color:#fff;padding:22px 14px;display:flex;flex-direction:column;z-index:50}.admin-brand{padding:0 10px 20px}.tenant-switch{display:grid;grid-template-columns:37px 1fr auto;align-items:center;gap:9px;background:rgba(255,255,255,.07);color:#fff;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:10px;text-align:left}.tenant-icon{width:37px;height:37px;border-radius:8px;background:linear-gradient(135deg,var(--gold),#855d2e);display:grid;place-items:center}.tenant-switch strong{font-size:13px;display:block}.tenant-switch small{font-size:11px;color:rgba(255,255,255,.48)}.admin-nav{margin-top:19px;overflow:auto}.admin-nav p{font-size:11px;color:rgba(255,255,255,.38);padding:0 13px;margin:17px 0 6px}.admin-nav button{width:100%;display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.66);padding:10px 12px;border-radius:8px;text-align:left;font-size:14px;margin:2px 0}.admin-nav button>span{width:20px;text-align:center}.admin-nav button.active{background:rgba(255,255,255,.1);color:#fff}.admin-nav em{margin-left:auto;background:#37525a;border-radius:10px;min-width:20px;text-align:center;font-size:11px;font-style:normal}.admin-nav em.orange{background:#a9582c}.sidebar-user{margin-top:auto;border-top:1px solid rgba(255,255,255,.1);padding:17px 6px 0;display:grid;grid-template-columns:35px 1fr auto;gap:9px;align-items:center}.sidebar-user>span{width:35px;height:35px;background:#426068;border-radius:50%;display:grid;place-items:center}.sidebar-user strong{font-size:13px;display:block}.sidebar-user small{font-size:11px;color:rgba(255,255,255,.45)}.sidebar-user button{color:#fff}.admin-shell{margin-left:246px;min-height:100vh}.admin-topbar{height:85px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 30px;position:sticky;top:0;z-index:20}.admin-topbar p{font-size:12px;color:var(--muted);margin:0}.admin-topbar h1{font-size:21px;margin:0}.top-actions{display:flex;align-items:center;gap:9px}.date-button{font-size:13px;color:var(--muted)}.admin-topbar .icon-button{border-color:var(--line);position:relative}.notification i{position:absolute;right:7px;top:7px;width:6px;height:6px;background:#e46f45;border-radius:50%}.mobile-menu{display:none;font-size:22px}.admin-content{padding:25px 28px;max-width:1700px;margin:auto}.admin-view{display:none}.admin-view.active{display:block}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px}.summary-card{background:#fff;border:1px solid #e4e8e6;border-radius:13px;padding:19px;min-height:132px}.summary-card p{font-size:13px;color:var(--muted);margin:0 0 11px}.summary-card>strong,.summary-card>div>strong{font-size:27px;letter-spacing:-.02em}.summary-card strong small{font-size:13px;color:var(--muted);font-weight:500}.summary-card>small,.summary-card>div>small{display:block;margin-top:9px;color:var(--muted);font-size:12px}.summary-card small b{color:var(--green)}.summary-card small b.warn{color:var(--orange)}.summary-card.revenue{background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:space-between;border:0}.summary-card.revenue p,.summary-card.revenue small{color:rgba(255,255,255,.62)}.summary-card.revenue>span{font-family:var(--serif);font-size:30px;width:52px;height:52px;background:rgba(255,255,255,.1);border-radius:50%;display:grid;place-items:center;color:var(--gold2)}.progress{height:5px;background:#e7ece9;border-radius:5px;margin:12px 0 0}.progress i{height:100%;display:block;background:var(--green);border-radius:5px}.dashboard-grid{display:grid;grid-template-columns:1.45fr .8fr;gap:18px}.panel{background:#fff;border:1px solid #e2e7e5;border-radius:13px}.panel-head{display:flex;align-items:start;justify-content:space-between;padding:18px 20px 10px}.panel-head h2{font-size:16px;margin:0}.panel-head p{font-size:12px;color:var(--muted);margin:3px 0}.chart-panel{min-height:335px}.chart{height:245px;margin:0 20px 20px;display:flex;align-items:end;justify-content:space-around;gap:10px;border-bottom:1px solid var(--line);background:repeating-linear-gradient(to top,transparent 0,transparent 53px,#edf0ee 54px)}.chart-group{height:100%;flex:1;display:flex;align-items:end;justify-content:center;gap:5px;position:relative;padding-bottom:25px}.bar{width:min(24px,35%);border-radius:5px 5px 0 0;background:var(--brand);position:relative;transition:.4s}.bar.alt{background:var(--gold2)}.chart-group label{position:absolute;bottom:0;font-size:11px;color:var(--muted)}.legend{font-size:11px;color:var(--muted)}.legend i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--brand);margin:0 5px 0 12px}.legend i:nth-child(2){background:var(--gold2)}.occupancy-panel{min-height:335px}.donut-row{display:flex;align-items:center;gap:24px;padding:24px}.donut{width:145px;height:145px;border-radius:50%;background:conic-gradient(var(--brand) 0 79.6%,#50a787 79.6% 87%,#d4a35f 87% 94%,#dbe1df 94%);display:grid;place-items:center;position:relative}.donut:before{content:"";position:absolute;inset:18px;border-radius:50%;background:#fff}.donut span{position:relative;text-align:center}.donut strong{display:block;font-size:22px}.donut small{font-size:11px;color:var(--muted)}.donut-row ul{list-style:none;padding:0;margin:0;flex:1}.donut-row li{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:8px;font-size:12px;margin:11px 0}.donut-row li i{width:7px;height:7px;border-radius:50%;background:var(--brand)}.donut-row li i.clean{background:#50a787}.donut-row li i.dirty{background:#d4a35f}.donut-row li i.maintain{background:#dbe1df}.tasks-panel,.orders-panel{min-height:285px}.task-list button{width:100%;display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;text-align:left;padding:13px 20px;border-top:1px solid #edf0ef}.task-list button b{font-size:12px;color:var(--brand2)}.task-icon{width:35px;height:35px;border-radius:9px;display:grid;place-items:center}.task-icon.amber{background:#fbefdf;color:#a96826}.task-icon.blue{background:#e5eff4;color:#477792}.task-icon.green{background:#e3f2eb;color:#2c8269}.task-list strong{display:block;font-size:13px}.task-list small{color:var(--muted);font-size:11px}.table-wrap{overflow:auto}.orders-panel{grid-column:2}.orders-panel table{min-width:520px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px 16px;border-top:1px solid #edf0ef;white-space:nowrap;font-size:12px}th{color:var(--muted);font-weight:500;background:#fafbfa}.status{font-size:11px;padding:4px 8px;border-radius:99px;background:#e6f2ec;color:#26725c}.status.pending{background:#fff0df;color:#a46222}.status.service{background:#e7eff5;color:#46728c}.view-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:15px}.tabs{display:flex;gap:5px;background:#e7ebea;padding:4px;border-radius:9px}.tabs button{padding:7px 14px;border-radius:6px;font-size:13px}.tabs button.active{background:#fff;box-shadow:0 2px 8px rgba(14,38,48,.07)}.search{display:flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:7px 11px}.search input{border:0;outline:none;min-width:190px}.room-board{padding:20px}.floor-row{display:grid;grid-template-columns:70px repeat(6,1fr);gap:9px;margin-bottom:10px;align-items:center}.floor-row>strong{font-size:13px}.room-cell{border:1px solid var(--line);border-radius:8px;padding:10px;background:#f8faf9}.room-cell strong{display:block;font-size:13px}.room-cell small{font-size:10px;color:var(--muted)}.room-cell.occupied{background:#e8f1ef;border-color:#b5cfca}.room-cell.dirty{background:#fff4e5;border-color:#e7c894}.room-cell.maintain{background:#f1f1f1}.service-workspace{height:calc(100vh - 136px);display:grid;grid-template-columns:260px 1fr 260px;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.conversation-list{border-right:1px solid var(--line);overflow:auto}.conversation-head{padding:17px;display:flex;align-items:center;justify-content:space-between}.conversation-head h2{font-size:16px;margin:0}.conversation-head span{font-size:10px;background:#fff0df;color:#a46222;padding:3px 7px;border-radius:99px}.conversation-list>.search{margin:0 12px 10px}.conversation-list .search input{min-width:0}.conversation{width:100%;padding:13px;text-align:left;border-top:1px solid #eef1f0;display:grid;grid-template-columns:38px 1fr auto;gap:8px}.conversation.active{background:#eef4f2;border-left:3px solid var(--brand)}.conversation>span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#dfe9e6}.conversation strong{font-size:12px;display:block}.conversation small{font-size:10px;color:var(--muted)}.conversation time{font-size:9px;color:var(--muted)}.agent-chat{display:flex;flex-direction:column;min-width:0}.agent-chat-head{padding:13px 16px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.agent-chat-head>div{display:flex;gap:9px;align-items:center}.guest-avatar{background:#dfeae6}.agent-chat-head strong{display:block;font-size:13px}.agent-chat-head small{display:block;font-size:10px;color:var(--muted)}.agent-chat-body{flex:1;overflow:auto;padding:16px 24px;background:#f5f7f6}.agent-chat-body .time{text-align:center;color:var(--muted);font-size:10px}.system-note{text-align:center;font-size:11px;color:#a46421;background:#fff0df;border-radius:99px;padding:5px 12px;margin:18px auto;width:max-content;max-width:100%}.agent-input{border-top:1px solid var(--line);padding:10px}.agent-input textarea{width:100%;border:0;resize:none;outline:none;min-height:55px}.agent-input>div{display:flex;justify-content:space-between}.guest-profile{border-left:1px solid var(--line);padding:18px;overflow:auto}.guest-profile h3{font-size:13px;margin:0 0 12px}.guest-profile dl{display:grid;grid-template-columns:60px 1fr;font-size:11px;gap:9px;margin-bottom:25px}.guest-profile dt{color:var(--muted)}.guest-profile dd{margin:0}.guest-profile p{font-size:12px;color:var(--muted);background:#f4f6f5;padding:10px;border-radius:8px}.empty-state{background:#fff;border:1px solid var(--line);border-radius:13px;min-height:450px;display:grid;place-items:center;align-content:center;text-align:center;padding:30px}.empty-state>span{font-size:48px;color:var(--gold)}.empty-state h2{margin:5px}.empty-state p{color:var(--muted);max-width:430px}.tenant-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.tenant-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:20px}.tenant-card h2{font-family:var(--serif);font-size:18px;margin:7px 0}.tenant-card p{font-size:12px;color:var(--muted)}.tenant-card footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:13px}.settings-panel{max-width:650px;padding:24px}.settings-panel h2{margin-top:0}.settings-panel label{display:flex;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--line)}.settings-panel button{margin-top:20px}.sidebar-overlay{display:none}

@media(max-width:1100px){.guest-nav{display:none}.room-grid{grid-template-columns:repeat(2,1fr)}.product-grid{grid-template-columns:repeat(2,1fr)}.summary-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.orders-panel{grid-column:auto}.service-workspace{grid-template-columns:230px 1fr}.guest-profile{display:none}.tenant-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){body{font-size:15px}.guest-header{height:66px;padding:0 16px}.guest-header .brand small,.guest-header .icon-button{display:none}.header-actions{margin-left:auto}.hero{min-height:720px;height:94vh}.hero-copy{margin:0 20px 300px}.hero-copy h1{font-size:43px}.booking-bar{bottom:24px;grid-template-columns:1fr 1fr;padding:11px}.booking-bar label{padding:5px 10px}.booking-bar label:nth-child(3){grid-column:1/2;border-top:1px solid var(--line);padding-top:10px}.booking-bar .primary{min-width:0}.section{padding:64px 18px}.section-heading{align-items:start;flex-direction:column}.room-grid{grid-template-columns:1fr}.service-band{grid-template-columns:1fr;padding:62px 22px}.service-copy{margin:0}.service-list button{grid-template-columns:38px 1fr}.service-list small{display:none}.product-grid{grid-template-columns:repeat(2,1fr);gap:10px}.product-visual{height:120px}.guest-footer{flex-direction:column;align-items:flex-start}.chat-fab{right:15px;bottom:15px}.chat-panel{right:8px;bottom:8px;width:calc(100vw - 16px);height:calc(100vh - 16px)}.admin-sidebar{transform:translateX(-100%);transition:.25s}.admin-sidebar.open{transform:none}.sidebar-overlay.open{display:block;position:fixed;z-index:45;inset:0;background:rgba(5,20,25,.45)}.admin-shell{margin-left:0}.admin-topbar{height:72px;padding:0 15px}.mobile-menu{display:block}.admin-topbar>div:first-of-type{margin-right:auto}.admin-topbar p{display:none}.top-actions .date-button,.top-actions .notification,.top-actions .platform-link{display:none}.admin-content{padding:16px}.summary-grid{grid-template-columns:1fr 1fr;gap:10px}.summary-card{padding:15px}.service-workspace{height:calc(100vh - 105px);grid-template-columns:1fr}.conversation-list{display:none}.tenant-cards{grid-template-columns:1fr}.floor-row{grid-template-columns:45px repeat(3,1fr)}.floor-row .room-cell:nth-child(n+5){display:none}}
@media(max-width:480px){.hero-copy h1{font-size:36px}.hero-copy>p:last-child{font-size:14px}.booking-bar{grid-template-columns:1fr 1fr}.booking-bar label span{font-size:10px}.booking-bar input,.booking-bar select{font-size:13px}.booking-bar .primary{padding:11px 8px}.room-visual{height:190px}.product-content{padding:12px}.product-content p{display:none}.product-visual{font-size:42px}.summary-grid{grid-template-columns:1fr}.summary-card{min-height:115px}.chart-panel{display:none}.donut-row{padding:16px;gap:15px}.donut{width:120px;height:120px}.view-toolbar{align-items:stretch;flex-direction:column}.tabs{overflow:auto}.service-workspace{margin:-16px;border-radius:0;border-left:0;border-right:0}.agent-chat-body{padding:13px}.message{max-width:90%}}

@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Keep responsive grid items from forcing the page wider than the viewport. */
.dashboard-grid>*{min-width:0}.donut{flex:none}.donut-row ul{min-width:0}.donut-row li{grid-template-columns:10px minmax(58px,1fr) auto}

/* SaaS platform console */
.saas-page{--brand:#123a43;--brand2:#1b5863;--gold:#d19a4c}.saas-sidebar{background:linear-gradient(180deg,#0b2830,#123941)}.platform-scope{display:grid;grid-template-columns:37px 1fr;align-items:center;gap:10px;margin:2px 0 4px;padding:11px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08);border-radius:10px}.platform-scope>span{width:37px;height:37px;display:grid;place-items:center;background:linear-gradient(135deg,#d5a354,#88612d);border-radius:9px;color:#17272b;font-weight:700}.platform-scope strong,.platform-scope small{display:block}.platform-scope strong{font-size:13px}.platform-scope small{color:rgba(255,255,255,.48);font-size:10px}.live-badge{display:flex;align-items:center;gap:7px;color:#3d6e60;background:#e9f4ee;border-radius:99px;padding:6px 11px;font-size:11px;font-weight:600}.live-badge i{width:7px;height:7px;background:#3e9a77;border-radius:50%;box-shadow:0 0 0 4px rgba(62,154,119,.12)}.saas-content{padding-top:22px}.saas-hero-strip{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:22px 26px;margin-bottom:18px;border-radius:15px;background:linear-gradient(115deg,#123b44 0%,#1a5961 68%,#337177 100%);color:#fff;position:relative;overflow:hidden}.saas-hero-strip:after{content:"";position:absolute;width:270px;height:270px;border:1px solid rgba(255,255,255,.1);border-radius:50%;right:11%;top:-185px;box-shadow:0 0 0 55px rgba(255,255,255,.035),0 0 0 110px rgba(255,255,255,.025)}.saas-hero-strip>div,.saas-hero-strip>button{position:relative;z-index:1}.saas-hero-strip p{margin:0;color:rgba(255,255,255,.6);font-size:11px}.saas-hero-strip h2{margin:3px 0 2px;font-family:var(--serif);font-size:24px;font-weight:500}.saas-hero-strip span{color:rgba(255,255,255,.7);font-size:12px}.saas-summary .metric-split{display:flex;gap:14px;margin-top:9px;color:var(--muted);font-size:11px}.saas-dashboard-grid{grid-template-columns:1.35fr .75fr}.saas-line-chart{height:245px;display:flex;margin:0 20px 20px;border-bottom:1px solid var(--line);background:repeating-linear-gradient(to top,transparent 0,transparent 53px,#edf0ee 54px)}.chart-axis{width:35px;display:flex;flex-direction:column;justify-content:space-between;padding:3px 0 23px;color:#9aa5a2;font-size:9px}.chart-columns{flex:1;display:flex;align-items:end;justify-content:space-around;gap:14px;padding:0 9px}.growth-column{height:100%;flex:1;display:flex;align-items:end;justify-content:center;position:relative;padding-bottom:24px}.growth-column>b{width:min(40px,60%);display:block;background:linear-gradient(180deg,#2f7880,#123a43);border-radius:6px 6px 0 0;position:relative;min-height:32px}.growth-column>b i{position:absolute;top:-20px;left:50%;transform:translateX(-50%);font-style:normal;color:#5b6c70;font-size:10px}.growth-column>span{position:absolute;bottom:0;color:var(--muted);font-size:10px}.health-panel{min-height:335px}.health-list{padding:8px 20px 18px}.health-list>div{display:flex;align-items:center;justify-content:space-between;padding:13px 0;border-top:1px solid #edf0ef;font-size:12px}.health-list span{display:flex;align-items:center;gap:9px;color:#55676b}.health-list i{width:8px;height:8px;border-radius:50%;background:#49a47e;box-shadow:0 0 0 4px #e6f2ed}.health-list strong{font-size:13px}.tenant-rank-panel{min-height:305px}.tenant-rank button{width:100%;display:grid;grid-template-columns:30px 1fr 105px;align-items:center;gap:10px;text-align:left;padding:12px 20px;border-top:1px solid #edf0ef}.tenant-rank button>b{color:#94a29f;font-size:11px}.tenant-rank strong,.tenant-rank small{display:block}.tenant-rank strong{font-size:12px}.tenant-rank small{font-size:10px;color:var(--muted)}.tenant-rank button>span{font-size:10px;color:var(--muted);text-align:right}.tenant-rank button>span i{display:block;height:4px;background:#e8edeb;border-radius:4px;margin-top:4px;overflow:hidden}.tenant-rank button>span em{height:100%;display:block;background:var(--brand2);border-radius:4px}.platform-tasks{min-height:305px}.toolbar-actions{display:flex;gap:10px;align-items:center}.saas-table td:first-child strong,.saas-table td:first-child small{display:block}.saas-table td:first-child small{color:var(--muted);font-size:10px;margin-top:2px}.table-usage{display:flex;align-items:center;gap:8px}.table-usage>i{display:block;width:70px;height:5px;background:#e6ecea;border-radius:9px;overflow:hidden}.table-usage>i em{height:100%;display:block;background:var(--brand2);border-radius:9px}.no-data{text-align:center!important;padding:46px!important;color:var(--muted)}.section-intro{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.section-intro h2{margin:0 0 3px;font-size:20px}.section-intro p{margin:0;color:var(--muted);font-size:12px}.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:18px}.plan-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;position:relative;overflow:hidden}.plan-card.featured{border-color:#cda263;box-shadow:0 8px 30px rgba(171,127,61,.11)}.recommend{position:absolute;right:-31px;top:15px;transform:rotate(40deg);background:var(--gold);padding:4px 34px;color:#243134;font-size:9px;font-weight:700}.plan-card>p{margin:0;color:var(--muted);font-size:12px}.plan-card h3{font-size:27px;margin:7px 0 0}.plan-card h3 small{font-size:11px;color:var(--muted)}.plan-card>em{font-size:11px;color:var(--muted);font-style:normal}.plan-card ul{list-style:none;padding:13px 0;margin:13px 0;border-top:1px solid #edf0ef;border-bottom:1px solid #edf0ef}.plan-card li{font-size:11px;margin:8px 0}.plan-card footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.plan-card footer>span{font-size:10px;color:var(--muted)}.plan-card footer .outline-button{font-size:11px;padding:6px 9px}.billing-panel{margin-bottom:30px}.usage-layout{display:grid;grid-template-columns:1.3fr .7fr;gap:18px}.usage-list{padding:0 20px 17px}.usage-list>div{border-top:1px solid #edf0ef;padding:14px 0}.usage-list header,.usage-list footer{display:flex;align-items:center;justify-content:space-between}.usage-list header strong,.usage-list header small{display:block}.usage-list header strong{font-size:12px}.usage-list header small,.usage-list footer{font-size:10px;color:var(--muted)}.usage-list>div>i{display:block;height:6px;background:#e6ecea;border-radius:9px;overflow:hidden;margin:8px 0 5px}.usage-list>div>i em{height:100%;display:block;background:#327c76;border-radius:9px}.usage-list>div>i em.warning{background:#d39a4d}.usage-list>div>i em.danger{background:#cc6450}.alert-list{padding:0 20px 18px}.alert-list>div{display:grid;grid-template-columns:auto 1fr;gap:5px 9px;border-top:1px solid #edf0ef;padding:14px 0}.alert-list b{align-self:start;border-radius:4px;background:#f7ded9;color:#a64938;padding:2px 5px;font-size:9px}.alert-list b.medium{background:#fff0d8;color:#9a681f}.alert-list span{font-size:11px}.alert-list time{grid-column:2;color:var(--muted);font-size:9px}.audit-panel{max-width:920px}.audit-timeline{padding:0 23px 24px}.audit-timeline>div{display:grid;grid-template-columns:90px 34px 1fr;gap:12px;align-items:start;position:relative;padding:14px 0;border-top:1px solid #edf0ef}.audit-timeline time{font-size:10px;color:var(--muted);padding-top:7px}.audit-timeline>div>span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#e6efec;color:var(--brand);font-size:11px}.audit-timeline p{margin:0;font-size:11px}.audit-timeline p strong{margin-right:6px}.audit-timeline p small{display:block;color:var(--muted);margin-top:3px}.tenant-modal{width:min(650px,calc(100% - 30px));border:0;border-radius:17px;padding:0;box-shadow:var(--shadow)}.tenant-modal::backdrop{background:rgba(5,20,25,.62);backdrop-filter:blur(3px)}.tenant-modal form{padding:24px}.tenant-modal .modal-head p{color:var(--gold);margin:0;font-size:10px;font-weight:700;letter-spacing:.15em}.tenant-modal .modal-head .icon-button{border-color:var(--line);font-size:20px}.tenant-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.tenant-modal input,.tenant-modal select,.tenant-modal textarea{border:1px solid var(--line);border-radius:8px;padding:10px 11px;background:#fff;outline:none}.tenant-modal textarea{min-height:75px;resize:vertical}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}

@media(max-width:1100px){.saas-dashboard-grid{grid-template-columns:1fr}.plan-grid{grid-template-columns:1fr}.usage-layout{grid-template-columns:1fr}.toolbar-actions{align-items:stretch}.toolbar-actions .search{flex:1}}
@media(max-width:800px){.live-badge{display:none}.saas-content{padding:13px}.saas-hero-strip{align-items:flex-start;padding:20px;flex-direction:column}.saas-hero-strip h2{font-size:20px}.saas-summary{grid-template-columns:1fr 1fr}.tenant-rank button{grid-template-columns:25px 1fr 75px}.view-toolbar .toolbar-actions{flex-direction:column}.view-toolbar .toolbar-actions .search{width:100%}.plan-card{padding:18px}.tenant-form-grid{grid-template-columns:1fr}}
@media(max-width:480px){.saas-summary{grid-template-columns:1fr}.saas-hero-strip span{display:block}.saas-line-chart{margin:0 12px 14px}.growth-column>b i{display:none}.top-actions .outline-button{font-size:11px;padding:7px 9px}.audit-timeline>div{grid-template-columns:55px 30px 1fr;gap:8px}.tenant-modal form{padding:18px}.modal-actions{flex-direction:column-reverse}.modal-actions button{width:100%}}
@media(max-width:800px){.language-switch{height:34px;padding:0 6px}.language-switch>span{display:none}.language-switch select{max-width:54px}.guest-header .language-switch{display:flex}.admin-topbar .language-switch{margin-left:4px}}

/* PMS and per-hotel knowledge base */
.room-availability{display:block;color:#39725f;margin-top:8px}.integration-banner{display:flex;align-items:center;gap:10px;padding:12px 16px;margin-bottom:15px;border:1px solid #b9d8cc;background:#edf7f2;border-radius:10px;color:#285f4d;font-size:12px}.integration-banner i{width:9px;height:9px;border-radius:50%;background:#3fa178;box-shadow:0 0 0 4px rgba(63,161,120,.14)}.integration-banner span{color:#5d746c}.integration-banner.error{border-color:#e7b9b2;background:#fff1ef;color:#9b463a}.inventory-card{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:18px 6px}.inventory-card:last-child{border-bottom:0}.inventory-card h3{margin:8px 0 3px;font-size:15px}.inventory-card p{margin:0;color:var(--muted);font-size:11px}.inventory-number{text-align:right}.inventory-number strong{display:block;font-size:30px;color:var(--brand)}.inventory-number small,.inventory-number b{display:block}.inventory-number small{color:var(--muted);font-size:10px}.inventory-number b{margin-top:6px;font-size:12px}.knowledge-layout{display:grid;grid-template-columns:360px minmax(0,1fr);gap:18px;align-items:start}.knowledge-form{padding:22px;position:sticky;top:92px}.knowledge-form h2{font-size:18px;margin:0 0 16px}.knowledge-form label{display:grid;gap:6px;margin-bottom:13px;color:#526361;font-size:11px}.knowledge-form input,.knowledge-form select,.knowledge-form textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:10px 11px;background:#fff;color:var(--ink);outline:none}.knowledge-form textarea{min-height:150px;resize:vertical}.knowledge-form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.knowledge-list{display:grid;gap:12px}.knowledge-card{padding:19px}.knowledge-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.knowledge-card header span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--gold)}.knowledge-card h3{font-size:15px;margin:4px 0}.knowledge-card p{color:#536562;font-size:12px;line-height:1.8;white-space:pre-wrap}.knowledge-card footer{display:flex;align-items:center;gap:6px;flex-wrap:wrap;border-top:1px solid #edf0ef;padding-top:12px}.knowledge-card footer small{background:#eef3f1;border-radius:99px;padding:3px 8px;color:#56706a}.knowledge-card footer time{margin-left:auto;color:var(--muted);font-size:9px}
@media(max-width:900px){.knowledge-layout{grid-template-columns:1fr}.knowledge-form{position:static}.integration-banner{align-items:flex-start;flex-wrap:wrap}.inventory-card{padding:15px 2px}}
