:root{--ink:#162c33;--deep:#102c32;--muted:#77878d;--mint:#147f68;--mint-2:#e2f3ec;--sky:#ecf3f5;--border:#e5ebec;--white:#fff;--bg:#f5f8f8;--sand:#f4e9d6;--gold:#ba9060;--danger:#b44c43;--shadow:0 12px 32px rgba(15,43,48,.045)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:"DM Sans",Arial,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-family:Manrope,"DM Sans",sans-serif;letter-spacing:-.045em}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.48;cursor:not-allowed}svg{display:block;flex:none}input,select,textarea{outline:none;min-width:0}input:focus,select:focus,textarea:focus{border-color:#86b4a8!important;box-shadow:0 0 0 3px rgba(20,127,104,.1)}.launch{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;color:var(--deep)}.launch-mark,.brand-mark{width:43px;height:43px;border-radius:13px;background:linear-gradient(135deg,#163d41,#082327);color:#d8f3e4;display:grid;place-items:center;font:800 26px Manrope;letter-spacing:-.12em;padding-right:4px}.launch p{font:800 20px Manrope}.launch small{color:var(--muted)}.app-shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--deep);color:#d6e5e4;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;overflow:auto;scrollbar-width:thin;z-index:40}.side-brand{display:flex;align-items:center;gap:12px;padding:28px 20px 26px;border-bottom:1px solid rgba(255,255,255,.08)}.side-brand .brand-mark{border:1px solid #49716d}.side-brand strong{display:block;color:#fff;font:800 16px Manrope;letter-spacing:-.05em}.side-brand small{font-size:10px;letter-spacing:.17em;font-weight:800;color:#8fb6ab;text-transform:uppercase}.side-group{padding:22px 12px 5px}.side-label{padding:4px 13px 10px;color:#799a99;font-weight:800;font-size:10px;letter-spacing:.14em;text-transform:uppercase}.nav-item{border:0;background:transparent;color:#b3ceca;display:flex;align-items:center;gap:12px;width:100%;padding:11px 13px;border-radius:10px;text-align:left;font-weight:600;margin:2px 0;transition:.2s}.nav-item:hover{background:rgba(255,255,255,.07);color:#fff}.nav-item.active{background:#25504e;color:#fff;box-shadow:inset 3px 0 0 #94d6ba}.nav-item svg{width:19px;height:19px;opacity:.85}.side-end{margin-top:auto;padding:18px 14px 20px}.side-upgrade{border:1px solid #38625e;background:#1b4342;border-radius:16px;padding:17px;margin-bottom:14px}.side-upgrade .sparkle{font-size:17px;color:#cbe2ad}.side-upgrade b{display:block;color:#fff;font-size:13px;margin:8px 0 4px}.side-upgrade p{font-size:11px;line-height:1.6;color:#a4c1bc}.side-user{border-top:1px solid rgba(255,255,255,.1);padding-top:15px;display:flex;align-items:center;gap:10px}.avatar{width:36px;height:36px;border-radius:11px;background:#dcebe5;color:#326154;display:grid;place-items:center;font-weight:800;flex:none}.side-user b{font-size:12px;color:#fff;display:block}.side-user small{font-size:10px;color:#92b3ae}.main{min-width:0}.topbar{height:86px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 35px;gap:16px}.crumb{display:flex;align-items:center;gap:9px;color:#8c9c9c;font-size:12px}.crumb strong{color:#223c3e;font-weight:700}.top-actions{display:flex;align-items:center;gap:12px}.top-icon{background:#f6f8f7;border:1px solid #edf0ee;width:38px;height:38px;display:grid;place-items:center;border-radius:11px;color:#46615d}.top-icon svg{width:18px}.hotel-chip{display:flex;gap:11px;align-items:center;border-left:1px solid #e5eceb;padding-left:16px}.hotel-chip b{font-size:12px;display:block}.hotel-chip small{font-size:10px;color:var(--muted)}.hotel-chip .avatar{background:#edf3ef}.content{max-width:1540px;margin:auto;padding:34px 35px 50px}.eyebrow{font-size:10px;color:var(--mint);font-weight:800;letter-spacing:.13em;text-transform:uppercase}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:26px}.page-head h1{font-size:29px;font-weight:800;margin:7px 0}.page-head p{font-size:13px;color:var(--muted);line-height:1.6}.head-buttons{display:flex;gap:9px;flex-wrap:wrap}.btn{border:1px solid transparent;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 16px;font-weight:700;font-size:12px;transition:.2s;white-space:nowrap}.btn svg{width:16px;height:16px}.btn.primary{background:var(--mint);color:#fff;box-shadow:0 8px 16px rgba(20,127,104,.12)}.btn.primary:hover{background:#0c6855;transform:translateY(-1px)}.btn.ghost{background:#fff;border-color:#dce5e3;color:var(--ink)}.btn.ghost:hover{border-color:#a6c5bd;background:#fafffd}.btn.soft{background:var(--mint-2);color:#12654f}.btn.danger{background:#fae9e8;color:#a33e39}.btn.sm{padding:8px 11px;border-radius:8px;font-size:11px}.btn.block{width:100%}.btn.round{padding:10px;width:40px;height:40px}.card{background:var(--white);border:1px solid var(--border);border-radius:19px;box-shadow:var(--shadow);min-width:0}.card-pad{padding:23px}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.stat-card{padding:22px;position:relative;overflow:hidden}.stat-card:after{content:"";position:absolute;width:125px;height:125px;border-radius:50%;background:rgba(31,140,114,.04);right:-45px;top:-45px}.stat-header{display:flex;align-items:center;justify-content:space-between;color:#7d8f91;font-size:12px;font-weight:600}.stat-icon{width:39px;height:39px;border-radius:11px;background:var(--sky);display:grid;place-items:center;color:#4a7b78}.stat-icon svg{width:19px}.stat-value{font:800 31px Manrope;letter-spacing:-.06em;margin:14px 0 8px;color:#182f33}.stat-sub{font-size:11px;color:#8b9e9e}.growth{display:inline-flex;align-items:center;gap:2px;border-radius:20px;background:#e3f5ec;color:#1a8c5d;font-size:10px;font-weight:800;padding:5px 8px}.columns-2{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,1fr);gap:17px;margin-top:18px}.columns-equal{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-top:18px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:19px}.card-head h3{font-size:16px;font-weight:800}.card-head small{color:var(--muted);font-size:11px}.chart-area{height:210px;display:flex;align-items:flex-end;gap:10px;padding:15px 6px 0;position:relative}.chart-area:before{content:"";position:absolute;inset:16px 0 30px;background:repeating-linear-gradient(to top,transparent 0,transparent calc(25% - 1px),#edf2f0 calc(25% - 1px),#edf2f0 25%);pointer-events:none}.chart-col{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:9px;min-width:0}.chart-bar{width:min(45px,72%);border-radius:7px 7px 4px 4px;background:linear-gradient(180deg,#66bea4,#c8e9dd);min-height:5px;transition:.25s}.chart-col.selected .chart-bar{background:linear-gradient(180deg,#16866d,#58b49a)}.chart-col span{font-size:10px;color:#91a2a3}.right-summary{background:#eff8f4;border:1px solid #d8eee5;border-radius:15px;padding:18px;display:flex;align-items:center;justify-content:space-between;gap:10px}.right-summary small{display:block;color:#6f9183;margin-bottom:5px}.right-summary strong{font:800 23px Manrope}.summary-list{display:grid;gap:14px;margin-top:20px}.summary-item{display:flex;align-items:center;justify-content:space-between;gap:12px}.summary-item span{color:#738587;font-size:12px}.summary-item b{font-size:13px}.indicator{display:flex;gap:11px;align-items:center}.indicator-dot{width:8px;height:8px;border-radius:50%;background:#1a9672}.indicator-dot.gold{background:#d9aa5f}.indicator-dot.blue{background:#6e93d7}.indicator-dot.gray{background:#aabac0}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}.data-table th{font-size:10px;color:#859697;letter-spacing:.06em;text-transform:uppercase;font-weight:800;padding:13px 16px;background:#f8faf9;border-bottom:1px solid var(--border)}.data-table td{font-size:12px;padding:15px 16px;border-bottom:1px solid #edf1f0}.data-table tr:last-child td{border-bottom:0}.data-table tr:hover td{background:#fbfdfc}.table-user{display:flex;align-items:center;gap:9px;font-weight:700}.mini-avatar{width:29px;height:29px;border-radius:9px;background:#ebf2ef;color:#4c8270;display:grid;place-items:center;font-size:10px;font-weight:800}.status{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:7px;font-size:10px;font-weight:800;background:#ebf2f5;color:#557787}.status:before{content:"";width:6px;height:6px;background:currentColor;border-radius:50%}.status.confirmed{background:#fff4df;color:#a77b38}.status.in_house{background:#e2f6ed;color:#24815b}.status.checked_out{background:#edf2f5;color:#768992}.status.pending{background:#f4edf9;color:#8a62aa}.status.cancelled{background:#fbeaea;color:#b45d54}.section-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:20px 0 12px}.section-bar h3{font-size:16px}.filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.field{display:flex;flex-direction:column;gap:7px}.field label{font-size:11px;color:#6e8182;font-weight:800}.input{width:100%;min-height:43px;border:1px solid #dde7e4;background:#fff;border-radius:10px;color:#17343b;padding:10px 12px;font-size:12px}.input.with-icon{padding-left:40px}.search-wrap{position:relative}.search-wrap>svg{position:absolute;top:50%;left:12px;transform:translateY(-50%);color:#829792;width:18px}.search-wrap .input{padding-left:37px}.pill{padding:8px 12px;border:1px solid #e2ebe8;border-radius:10px;background:#fff;color:#637a79;font-weight:700;font-size:11px}.pill.active{background:#e4f3ed;border-color:#aed5c6;color:#126b55}.map-shell{overflow:hidden}.map-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:17px 19px;border-bottom:1px solid #eaf0ee;flex-wrap:wrap}.map-legend{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.legend{display:flex;align-items:center;gap:6px;color:#809396;font-size:11px}.legend i{width:9px;height:9px;border-radius:3px;background:#a0b9c4}.legend i.occupied{background:#278e75}.legend i.reserved{background:#dbb272}.legend i.pending{background:#a78cc5}.calendar-scroll{width:100%;overflow:auto}.calendar{border-collapse:separate;border-spacing:0;min-width:780px;width:100%;table-layout:fixed}.calendar th{position:sticky;top:0;background:#f9fbfa;z-index:4;color:#708889;padding:15px 7px;font-size:10px;border-bottom:1px solid var(--border);font-weight:800}.calendar th:first-child{position:sticky;left:0;z-index:5;width:148px;text-align:left;padding-left:20px;border-right:1px solid var(--border)}.calendar th.today{color:#188268}.calendar td{height:76px;border-bottom:1px solid #eef2f1;border-right:1px solid #f2f4f3;text-align:center;padding:6px;position:relative;cursor:pointer}.calendar td:first-child{position:sticky;left:0;z-index:3;background:#fff;text-align:left;padding:9px 13px 9px 20px;cursor:default;border-right:1px solid #eaf0ee}.calendar td:hover:not(:first-child){background:#f2f9f5}.calendar td b{font-size:12px;display:block}.calendar td small{font-size:10px;color:#94a7a6}.cal-block{width:100%;height:56px;border:1px solid transparent;border-radius:9px;text-align:left;padding:9px 7px;display:flex;flex-direction:column;justify-content:center;gap:4px;overflow:hidden}.cal-block b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px}.cal-block small{font-size:9px;color:inherit;opacity:.75}.cal-block.confirmed{background:#fff0d8;border-color:#f2ddb5;color:#936b36}.cal-block.pending{background:#f0e9fa;border-color:#e5d6f4;color:#8061a2}.cal-block.in_house{background:#dff4ea;border-color:#c9e9dd;color:#267356}.cal-block.checked_out{background:#eff3f5;color:#829297}.room-state{margin-top:4px;font-size:9px!important}.empty{padding:34px;text-align:center;color:#8ba0a0;font-size:12px}.empty svg{margin:auto auto 12px;color:#a1b7b3}.compact-actions{display:flex;gap:5px}.metric-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.metric{padding:18px;background:#f8fbfa;border-radius:12px;border:1px solid #ebf0ee}.metric small{color:#8ba19e;display:block;margin-bottom:7px}.metric strong{font:800 21px Manrope}.rows{display:grid;gap:10px}.list-row{border:1px solid #e7edeb;border-radius:12px;padding:12px;display:flex;align-items:center;justify-content:space-between;gap:14px}.list-row b{display:block;font-size:12px}.list-row small{display:block;margin-top:4px;font-size:11px;color:var(--muted)}.room-card{padding:18px;min-height:170px;display:flex;flex-direction:column;justify-content:space-between}.room-num{font:800 23px Manrope}.room-ico{width:39px;height:39px;border-radius:11px;background:#eff7f3;color:#24856b;display:grid;place-items:center}.room-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.banner{background:linear-gradient(120deg,#10383a,#145b52);color:white;border-radius:20px;padding:27px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:20px}.banner:after{content:"";position:absolute;width:220px;height:220px;right:12%;top:-150px;border:1px solid rgba(255,255,255,.2);border-radius:50%;box-shadow:0 0 0 35px rgba(255,255,255,.035),0 0 0 70px rgba(255,255,255,.025)}.banner h2{font-size:23px;margin:8px 0;position:relative;z-index:1}.banner p{color:#afcfcb;font-size:12px;line-height:1.6;max-width:510px;position:relative;z-index:1}.banner .btn{background:#e4f8ee;color:#124d3e;position:relative;z-index:1}.ai-chat{height:430px;overflow:auto;display:flex;flex-direction:column;gap:15px;padding:20px;border:1px solid #e7eeeb;border-radius:15px;background:#fbfdfc}.bubble{max-width:85%;padding:14px 16px;border-radius:14px;font-size:13px;line-height:1.75;white-space:pre-wrap}.bubble.bot{background:#eaf4f0;color:#244d43;align-self:flex-start;border-bottom-left-radius:4px}.bubble.mine{background:#183f41;color:#fff;align-self:flex-end;border-bottom-right-radius:4px}.chat-entry{display:flex;gap:10px;margin-top:15px}.chat-entry input{flex:1}.suggestions{display:flex;gap:9px;flex-wrap:wrap;margin:13px 0}.screen-cover{position:fixed;inset:0;background:rgba(12,35,38,.5);backdrop-filter:blur(4px);z-index:100;display:grid;place-items:center;padding:20px}.modal{width:min(560px,100%);max-height:min(90vh,880px);overflow:auto;background:white;border-radius:20px;box-shadow:0 25px 100px rgba(0,0,0,.18)}.modal-header{padding:24px 26px 18px;display:flex;justify-content:space-between;align-items:start;border-bottom:1px solid #edf1f0}.modal-header h2{font-size:19px;margin:6px 0}.modal-body{padding:23px 26px}.modal-footer{padding:17px 26px 24px;display:flex;justify-content:flex-end;gap:9px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field.full{grid-column:1/-1}.hint{font-size:11px;color:#869798;line-height:1.6;margin-top:6px}.toast{position:fixed;bottom:22px;right:22px;background:#153b3f;color:#fff;padding:13px 18px;border-radius:12px;box-shadow:0 18px 40px #10303633;z-index:200;max-width:380px;font-size:12px;line-height:1.5;display:none}.toast.show{display:block}.toast.error{background:#993f3b}.notice{background:#fff6e6;color:#7c623f;border:1px solid #f3e3c4;border-radius:12px;padding:11px 14px;font-size:12px;line-height:1.6;margin-bottom:18px}.demo-ribbon{background:#eaf5f0;color:#25775e;padding:7px 17px;font-size:11px;text-align:center;font-weight:700;border-bottom:1px solid #c9e5d7}.login-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#f7f9f8}.login-visual{background:linear-gradient(155deg,#09282c,#1e5c51);color:#fff;padding:60px clamp(28px,6vw,90px);display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-visual:before{content:"";position:absolute;width:550px;height:550px;border:1px solid #ffffff17;border-radius:50%;right:-240px;top:25%;box-shadow:0 0 0 60px #ffffff07,0 0 0 120px #ffffff05,0 0 0 180px #ffffff04}.login-logo{display:flex;align-items:center;gap:12px;position:relative;z-index:1;font:800 20px Manrope}.login-visual h1{font-size:clamp(35px,4vw,60px);line-height:1.14;max-width:550px;position:relative;z-index:1}.login-visual p{font-size:14px;line-height:1.9;color:#a8cbc4;max-width:430px;margin-top:20px;position:relative;z-index:1}.login-visual .tagline{font-size:11px;color:#7fab9e;letter-spacing:.12em;font-weight:800;position:relative;z-index:1}.login-panel{display:flex;justify-content:center;align-items:center;padding:30px}.login-form{width:min(420px,100%)}.login-form h2{font-size:30px;margin:10px 0}.login-form>p{font-size:13px;color:var(--muted);line-height:1.7;margin-bottom:30px}.login-form .field{margin-bottom:17px}.login-form .input{min-height:49px}.login-form .btn{min-height:48px}.login-alt{display:flex;justify-content:center;margin:20px 0;gap:8px;color:var(--muted);font-size:11px}.login-alt button{border:0;background:transparent;color:var(--mint);font-weight:800}.divider-text{display:flex;align-items:center;gap:12px;color:#9caeaa;font-size:11px;margin:18px 0}.divider-text:before,.divider-text:after{content:"";height:1px;background:#e4eae7;flex:1}.mobile-toggle{display:none}.booking-page{background:#f5f8f7;min-height:100vh}.booking-nav{background:#123638;color:#fff;padding:19px max(26px,calc((100vw - 1160px)/2));display:flex;justify-content:space-between;align-items:center}.booking-hero{padding:60px 24px 55px;background:linear-gradient(135deg,#133b3c,#1a6a56);text-align:center;color:white}.booking-hero h1{font-size:clamp(32px,4vw,52px);margin:12px 0}.booking-hero p{color:#bbd8d0}.booking-content{max-width:1050px;margin:-24px auto 50px;padding:0 20px;position:relative}.booking-form{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:14px;align-items:end}.booking-room{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:20px 0;border-bottom:1px solid #e9efec}.booking-room:last-child{border:0}.booking-room h3{font-size:16px;margin-bottom:5px}.booking-room p{font-size:12px;color:var(--muted)}.booking-room .price{font-size:20px;font-weight:800}.subtle{color:var(--muted)}.mt{margin-top:20px}.mb{margin-bottom:20px}.flex{display:flex;align-items:center;gap:10px}.space{display:flex;align-items:center;justify-content:space-between;gap:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.mobile-overlay{display:none}@media(max-width:1250px){.room-list{grid-template-columns:repeat(3,1fr)}.stat-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:980px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:0;top:0;bottom:0;width:260px;transform:translateX(-102%);transition:transform .25s}.app-shell.nav-open .sidebar{transform:translateX(0)}.mobile-overlay{display:block;position:fixed;inset:0;z-index:35;background:#0c242999;opacity:0;pointer-events:none}.nav-open .mobile-overlay{opacity:1;pointer-events:auto}.mobile-toggle{display:grid}.topbar{height:74px;padding:0 24px}.content{padding:28px 24px}.columns-2{grid-template-columns:1fr}.booking-form{grid-template-columns:1fr 1fr}.login-page{grid-template-columns:1fr}.login-visual{min-height:230px;padding:30px}.login-visual h1{font-size:30px;margin-top:24px}.login-visual p,.login-visual .tagline{display:none}.login-panel{padding:38px 24px}}@media(max-width:630px){.content{padding:24px 15px 50px}.topbar{padding:0 15px}.topbar .crumb span{display:none}.hotel-chip small{display:none}.page-head{align-items:flex-start;flex-direction:column}.page-head h1{font-size:25px}.stat-grid,.columns-equal{grid-template-columns:1fr 1fr;gap:10px}.stat-card{padding:16px}.stat-value{font-size:24px}.stat-header{font-size:10px}.stat-icon{width:30px;height:30px}.card-pad{padding:17px}.room-list{grid-template-columns:1fr 1fr;gap:10px}.room-card{min-height:155px;padding:14px}.metric-strip{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.modal-header{padding:20px}.modal-body{padding:20px}.modal-footer{padding:16px 20px}.booking-form{grid-template-columns:1fr}.booking-hero{padding:45px 18px}.booking-room{flex-direction:column;align-items:start}.booking-room>div:last-child{width:100%;display:flex;justify-content:space-between;align-items:center}.login-visual{min-height:180px}.login-visual h1{font-size:24px}.stat-sub{font-size:10px}.top-icon:nth-child(2){display:none}.map-tools{align-items:start}.head-buttons{width:100%}.head-buttons .btn{flex:1}.card-head{align-items:start;flex-direction:column}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}