:root{font-family:Segoe UI,Arial,sans-serif;color:#203d36;background:#f4f6f2;font-size:14px}*{box-sizing:border-box}body{margin:0}aside{position:fixed;width:244px;background:#123d32;color:#e9f1e7;height:100vh;padding:30px 20px;display:flex;flex-direction:column}.brand{display:flex;gap:11px;align-items:center;font-size:12px;font-weight:700;letter-spacing:1px}.logo{font-family:Georgia;font-size:31px;border:1px solid #91aa8c;padding:3px 13px;border-radius:50%}small{display:block;font-size:11px;color:#7b8e85;line-height:1.8}.brand small{font-size:8px;letter-spacing:2px;color:#a3b9a7}.property{border:1px solid #426356;border-radius:9px;margin:37px 0 24px;padding:14px}.property small{padding-left:22px;color:#a3b9a7}nav{display:grid;gap:8px}nav button{background:none;color:#b9d0c4;border:0;text-align:left;padding:13px 17px}nav button.active{background:#31594b;color:white}.aside-bottom{margin-top:auto;color:#bed0ae;font-size:12px}.aside-bottom small{color:#96aea1;margin-top:5px}main{margin-left:244px;padding:32px 38px;max-width:1800px}header{display:flex;justify-content:space-between;align-items:center;gap:20px}h1{font-size:29px;font-weight:600;margin:6px 0 25px;letter-spacing:-.7px}h2{font-size:19px;margin:0 0 8px}h3{margin:0 0 12px}button,input,select,textarea{font:inherit}button{cursor:pointer;background:white;border:1px solid #d7dfd5;border-radius:7px;padding:10px 15px;color:#254b3e}button:hover{filter:brightness(.96)}.primary{background:#225b43;color:white;border-color:#225b43}.danger{color:#ad4539}.actions{display:flex;align-items:center;gap:15px}.actions span{font-size:12px;color:#687e71}.demo{padding:12px 16px;border:1px solid #dbe3cf;background:#ecf0e3;border-radius:8px;font-size:10px;letter-spacing:1px;color:#6c754b;margin-bottom:26px}.demo span{font-size:12px;letter-spacing:0;margin-left:12px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:27px}.stat,.panel{background:white;border:1px solid #e1e7dd;border-radius:10px;padding:22px}.stat label{font-size:12px;color:#718477}.stat strong{display:block;font-size:29px;margin:12px 0 4px;font-weight:600}.stat small{font-size:11px}.toolbar{display:flex;gap:10px;align-items:center;margin:20px 0;flex-wrap:wrap}.toolbar input{flex:1;min-width:180px}input,select,textarea{border:1px solid #d7e0d4;border-radius:6px;padding:10px;background:white;color:#274237;min-width:0}input:focus,select:focus{outline:2px solid #8ab59b}.floor{display:flex;align-items:center;gap:14px;margin:25px 0 13px;font-size:11px;letter-spacing:1px;color:#6a7b6b}.floor:after{content:'';height:1px;background:#e0e5dc;flex:1}.rooms{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.room{padding:18px;background:white;border:1px solid #dbe5d6;border-top:3px solid #7ea98e;border-radius:9px;text-align:left;min-height:158px;transition:transform .15s}.room:hover{transform:translateY(-2px)}.room-top{display:flex;align-items:center;justify-content:space-between}.room b{font-size:23px;font-weight:600}.room p{font-size:12px;color:#6b8072;margin:11px 0}.room .guest{color:#244737;margin-top:18px}.room.inhouse{border-top-color:#477ea1;background:#f6fafe}.room.booked{border-top-color:#c79c48;background:#fffdf6}.room.dirty{border-top-color:#c37e64;background:#fff9f6}.room.maintenance{border-top-color:#89928b;background:#f1f3f0}.badge{font-size:10px;border-radius:15px;padding:5px 8px;background:#e9f3e8;color:#477453;white-space:nowrap}.badge.inhouse{background:#e3eff8;color:#3c6c90}.badge.booked{background:#fff0d3;color:#98702c}.badge.dirty{background:#f7e6db;color:#a36543}.badge.maintenance,.badge.cancelled{background:#e6e9e4;color:#758071}.badge.checkedout{background:#eae6f1;color:#766087}.legend{font-size:11px;color:#6d7e70;display:flex;gap:18px;flex-wrap:wrap}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px;background:#7ea98e}.empty{padding:35px;text-align:center;color:#819082}table{border-collapse:collapse;width:100%;font-size:12px}th{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:#7a8b7d;background:#f7f8f4;padding:13px}td{padding:14px 12px;border-bottom:1px solid #edf0e8}tr.clickable{cursor:pointer}tr.clickable:hover{background:#f6f9f2}.scroll{overflow:auto}.sub{color:#839184;font-size:11px;margin-top:5px}.panel{margin-bottom:20px}.section-head{display:flex;justify-content:space-between;gap:16px;align-items:center}.amount{font-variant-numeric:tabular-nums;white-space:nowrap}.debt{color:#ad6747}.calendar th,.calendar td{text-align:center;min-width:64px;border:1px solid #e7ecdf}.calendar th:first-child,.calendar td:first-child{position:sticky;left:0;background:#fff;min-width:85px}.calbar{font-size:10px;border:0;padding:8px 4px;border-radius:4px;background:#dbece2;display:block;width:100%;white-space:nowrap;overflow:hidden;max-width:95px}.calbar.booked{background:#f9edcf}.calbar.checkedout{background:#e6e4ee}dialog{border:0;border-radius:14px;width:730px;max-width:95vw;padding:28px;color:#203d36;max-height:90vh;box-shadow:0 30px 90px #0004}dialog::backdrop{background:#142e2666}.modal-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:23px}.modal-head button{border:0;font-size:20px;padding:0 6px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}label.field{display:flex;flex-direction:column;gap:7px;font-size:12px}.wide{grid-column:1/-1}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}.summary{padding:17px;background:#f0f5eb;border-radius:8px;line-height:1.9;margin:18px 0}.split{display:flex;justify-content:space-between}.bill-actions{display:flex;gap:8px;flex-wrap:wrap;margin:17px 0}.error{color:#ad4539;font-size:12px;min-height:18px;margin-top:12px}#toast{position:fixed;bottom:25px;right:25px;background:#214e3c;color:white;padding:14px 20px;border-radius:8px;display:none;z-index:9}footer{font-size:10px;color:#94a28f;margin-top:35px}.bar{height:8px;background:#e8eedf;border-radius:5px;margin:10px 0}.bar span{display:block;height:100%;background:#709878;border-radius:5px}.note{font-size:12px;color:#728172;line-height:1.7}@media(max-width:1100px){aside{width:200px;padding:24px 14px}main{margin-left:200px;padding:26px 22px}.rooms{grid-template-columns:repeat(3,1fr)}.stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){aside{position:static;width:auto;height:auto;padding:15px}aside .property,.aside-bottom{display:none}nav{display:flex;overflow:auto;margin-top:15px}nav button{white-space:nowrap;padding:8px}main{margin:0;padding:18px}header{align-items:start}.actions{flex-direction:column;gap:5px}h1{font-size:23px}.rooms{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}.demo span{display:block;margin:5px 0}}

.rate-cards{display:grid;gap:18px;margin:22px 0}.rate-card{border:1px solid #dfe6d9;border-radius:8px;padding:18px}.rate-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.rate-fields input{width:100%}.fee-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.fee-item{display:flex;justify-content:space-between;align-items:center;gap:8px;border:1px solid #e0e6db;border-radius:7px;padding:10px}.fee-item input{width:72px}.fee-item b{font-size:12px}button:disabled{opacity:.5;cursor:wait}@media(max-width:760px){.rate-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.fee-grid{grid-template-columns:1fr}}
/* Green Westlake Hotel · emerald and warm ivory */
:root{color:#213f38;background:#f3f6f4;font-size:14px}body{background:radial-gradient(ellipse at 90% 0,#e5eee6 0,transparent 40%),#f5f7f5}aside{width:250px;background:linear-gradient(160deg,#173f37,#0b2d27);padding:32px 20px;border-right:1px solid #ffffff10;z-index:2}.brand{font-size:12px;line-height:1.5;letter-spacing:.7px}.brand small{font-size:8px;letter-spacing:1.7px}.logo{border-color:#cbb881;color:#ead9a7;background:#ffffff08;border-radius:16px;font-size:32px;padding:6px 13px}.property{background:#ffffff08;border-color:#ffffff15;border-radius:12px;margin:32px 0 26px;padding:16px 12px;font-size:13px}.property small{color:#b8c9be}nav{gap:7px}nav button{border-radius:9px;font-size:13px;padding:13px 16px;color:#b6cfc2;transition:background .15s}nav button.active{color:#f2e9cf;background:linear-gradient(90deg,#40644e,#254f40);box-shadow:inset 3px 0 #d6bf82}nav button:hover{background-color:#ffffff0b;filter:none}main{margin-left:250px;padding:34px 38px;max-width:1700px}header{margin-bottom:6px}#eyebrow{letter-spacing:2px;font-size:9px;color:#7d9486}h1{font-size:31px;letter-spacing:-.9px;margin:5px 0 24px;color:#163c31}h2{font-size:19px;font-weight:650}small{color:#6d8275}button{border-radius:9px;min-height:40px;transition:box-shadow .15s,background .15s}button:focus-visible{outline:3px solid #c0ad69;outline-offset:3px}.primary{background:linear-gradient(135deg,#286649,#174e39);border:1px solid #235a41;box-shadow:0 4px 12px #153e2516;font-weight:600}.primary:hover{box-shadow:0 5px 18px #153e2530}.actions span{padding:9px 13px;background:#fff;border:1px solid #e3e9df;border-radius:9px;color:#67806c;font-size:11px}.demo{border:1px solid #dbe5d8;background:linear-gradient(90deg,#e9efdf,#f1f4e9);color:#748351;font-size:9px;padding:13px 17px;margin-bottom:25px;border-radius:10px}.demo span{color:#63765c;font-size:11px}.stats{gap:16px;margin-bottom:30px}.stat{border:1px solid #e4e9df;border-radius:14px;box-shadow:0 5px 18px #133d2605;padding:21px;position:relative;overflow:hidden}.stat:before{content:'';position:absolute;right:17px;top:17px;width:29px;height:29px;border-radius:10px;background:#eef3e8}.stat:after{content:'↗';position:absolute;right:25px;top:21px;color:#879b72;font-size:14px}.stat:nth-child(2):before{background:#e4f0e8}.stat:nth-child(3):before{background:#f6eedc}.stat:nth-child(4):before{background:#e6edf4}.stat label{font-size:11px;padding-right:30px}.stat strong{font-size:32px;font-weight:650;letter-spacing:-1px;margin:17px 0 4px;line-height:1.1}.stat small{font-size:10px}.section-head>div>small{font-size:11px}.toolbar{background:#fff;border:1px solid #e2e9df;border-radius:12px;padding:12px;margin:20px 0 24px;gap:10px}.toolbar input,.toolbar select{background:#f7f9f5;border-color:#e4e9de;min-height:41px}input,select,textarea{border-radius:8px;padding:11px;border-color:#dce4d8}input:focus,select:focus,textarea:focus{outline:2px solid #acc9b3;outline-offset:1px}.rooms{gap:16px;grid-template-columns:repeat(4,minmax(0,1fr))}.room{border:1px solid #dde7dc;border-left:4px solid #84ad8b;border-top:1px solid #dde7dc;border-radius:12px;padding:17px;min-height:164px;box-shadow:0 4px 14px #123b2504}.room:hover{box-shadow:0 9px 20px #163e2510;border-color:#9fbaa1}.room b{font-size:27px;letter-spacing:-.6px;color:#264c3b}.room .guest{font-size:12px;margin-top:19px;font-weight:600;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.room p{font-size:11px;margin-top:8px}.room small{font-size:10px}.room.inhouse{background:linear-gradient(140deg,#fff,#edf5fb);border-left-color:#6a9ebc;border-top-color:#dce7ee}.room.booked{background:linear-gradient(140deg,#fff,#fcf7e8);border-left-color:#c7a25f;border-top-color:#e9e1cc}.room.dirty{background:linear-gradient(140deg,#fff,#fcf0e9);border-left-color:#cc9879;border-top-color:#edddcf}.room.maintenance{border-left-color:#9aa79c;border-top-color:#dce3db}.badge{font-size:10px;padding:6px 9px;line-height:1;background:#e6f0e3;font-weight:500;display:inline-flex;gap:5px;align-items:center}.badge:before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor}.floor{font-size:10px;letter-spacing:1.1px;margin:24px 0 12px;font-weight:650}.legend{gap:7px}.panel{border-radius:14px;border-color:#e0e7db;padding:24px;box-shadow:0 4px 18px #173b2404}th{font-size:10px;background:#f2f5ee;padding:14px;color:#6c806e}td{padding:16px 12px}.summary{background:linear-gradient(120deg,#edf3e7,#f4f7ef);border:1px solid #e4ebdc;border-radius:12px;padding:19px;line-height:2}.summary .split:last-child{border-top:1px solid #dbe5d3;margin-top:8px;padding-top:8px}dialog{border:1px solid #e8eddf;border-radius:18px;box-shadow:0 30px 100px #0d2e2845;padding:29px}dialog::backdrop{background:#123c325c;backdrop-filter:blur(3px)}.modal-head{border-bottom:1px solid #ecf0e7;padding-bottom:16px}.modal-head small{letter-spacing:1.5px;font-size:8px}.modal-head h2{margin-top:4px}.fee-item{background:#fbfcf8;border-color:#e0e7d9;padding:12px;border-radius:10px}.rate-card{background:linear-gradient(120deg,#fbfcf8,#fff);border-radius:12px}.note{line-height:1.8;font-size:12px}footer{display:flex;align-items:center;gap:12px;color:#849780;margin-top:34px;font-size:10px}#userPanel{border-top:1px solid #ffffff17;margin-top:25px;padding-top:20px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}#userPanel b{font-size:12px;color:#e3eadd}#userPanel small{font-size:9px;color:#a8bfae}.user-avatar{width:32px;height:32px;display:grid;place-items:center;background:#496951;border:1px solid #849a71;color:#f3e7bf;border-radius:10px}.user-actions{display:flex;gap:8px;width:100%}.user-actions button{border:0;background:#ffffff0b;color:#adc5b4;font-size:10px;padding:7px 10px;min-height:30px}.aside-bottom{margin-top:auto;padding-top:22px;font-size:10px}#authScreen{display:none}.auth-mode>aside,.auth-mode>main{display:none}.auth-mode #authScreen{display:grid;grid-template-columns:1fr 1fr;min-height:100dvh}.auth-art{background:radial-gradient(ellipse at 30% 15%,#41694e,transparent 70%),linear-gradient(145deg,#1a493b,#092c25);padding:10vh 8vw;color:#ede8d6;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.auth-art:before,.auth-art:after{content:'';position:absolute;width:650px;height:230px;border:1px solid #c9c49b25;border-radius:50%;bottom:-110px;left:-200px;transform:rotate(-18deg)}.auth-art:after{bottom:-80px;left:-160px}.auth-monogram{font-family:Georgia,serif;display:grid;place-items:center;width:80px;height:80px;border:1px solid #c8b67c;border-radius:22px;color:#eddfa8;font-size:55px;margin-bottom:24px}.auth-art small{color:#c6d1b4;letter-spacing:2.5px;font-size:10px}.auth-art h1{color:#faf3dd;font-family:Georgia,'Times New Roman',serif;font-size:44px;line-height:1.3;font-weight:400;margin:32px 0 18px;letter-spacing:-1px}.auth-art p{font-size:14px;color:#bbd0b9;line-height:1.9}.lake-lines{font-size:70px;color:#9aab7740;margin-top:40px}.auth-form{display:flex;flex-direction:column;justify-content:center;padding:65px max(35px,7vw);max-width:680px;width:100%;margin:auto}.auth-tag{font-size:9px;color:#8b9e77;letter-spacing:2px}.auth-form h2{font-size:29px;margin:13px 0 10px;letter-spacing:-.6px}.auth-form form{display:grid;gap:20px;margin:20px 0}.auth-form form label{font-size:12px;gap:9px}.auth-form input{min-height:47px;background:#fff}.auth-form form button{min-height:48px;margin-top:7px}.auth-form>small{font-size:10px;color:#8d9b86}.auth-form .error{margin:0}.auth-form .note{max-width:360px}
@media(min-width:1400px){.rooms{grid-template-columns:repeat(4,minmax(0,1fr))}main{padding:40px 48px}.room{min-height:174px}}
@media(max-width:1150px){aside{width:215px;padding:27px 16px}main{margin-left:215px;padding:28px 24px}.brand{font-size:10px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.rooms{grid-template-columns:repeat(3,minmax(0,1fr))}.section-head{align-items:flex-start}.legend{max-width:240px}}
@media(max-width:760px){aside{position:static;width:auto;height:auto;padding:20px 18px 0;border-radius:0 0 20px 20px}.brand{font-size:12px}.brand .logo{font-size:25px;border-radius:12px;padding:3px 11px}.brand small{font-size:7px}nav{gap:7px;display:flex;overflow-x:auto;margin-top:18px;padding-bottom:14px}nav button{padding:10px 12px;font-size:11px;min-height:37px;flex-shrink:0}#userPanel{margin:0;padding:10px 0 15px;border-top:1px solid #ffffff15;gap:8px}#userPanel .user-avatar{width:25px;height:25px;font-size:11px}#userPanel .user-actions{width:auto;margin-left:auto}#userPanel small{font-size:8px}.user-actions button{padding:5px 7px;font-size:9px}aside .aside-bottom{display:none}main{margin:0;padding:22px 16px}header{align-items:center;gap:9px}h1{font-size:25px;margin-bottom:16px}#eyebrow{font-size:8px;letter-spacing:1.3px}.actions{gap:6px}.actions span{font-size:10px;padding:4px 9px;border:0;background:transparent}.actions .primary{font-size:11px;padding:9px 12px}.demo{padding:11px 13px;margin-bottom:17px}.demo span{margin:4px 0 0;font-size:10px}.stats{gap:10px;margin-bottom:22px}.stat{padding:16px;min-height:127px;border-radius:12px}.stat strong{font-size:27px;margin-top:13px}.stat label{font-size:10px}.stat small{font-size:9px}.stat:before,.stat:after{display:none}.section-head{flex-wrap:wrap;gap:11px}.section-head h2{font-size:17px}.legend{max-width:none;gap:5px}.legend .badge{font-size:9px}.toolbar{gap:8px;padding:10px;margin:15px 0}.toolbar input{min-width:100%;width:100%}.toolbar select{flex:1;max-width:100%;font-size:11px}.rooms{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.room{padding:13px;min-height:151px;border-radius:11px}.room b{font-size:25px}.room-top{gap:5px;flex-wrap:wrap}.badge{font-size:9px;padding:5px 6px}.room .guest{font-size:11px;margin-top:16px}.room small{font-size:9px}.floor{margin-top:21px}.panel{padding:17px;border-radius:12px}.form-grid{grid-template-columns:1fr}.form-actions{flex-wrap:wrap}.bill-actions button{flex:1;white-space:nowrap;min-height:43px;font-size:12px}dialog{padding:21px 17px;border-radius:15px;max-width:96vw;max-height:93dvh;width:730px}.modal-head h2{font-size:18px}.split{gap:12px;font-size:12px}.amount{font-size:11px}table{font-size:11px}th{font-size:9px;padding:11px}td{padding:12px 9px}.rate-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.fee-grid{grid-template-columns:1fr 1fr;gap:7px}.fee-item{padding:9px;gap:5px}.fee-item input{width:48px;padding:9px 3px}.fee-item b{font-size:10px}.fee-item small{font-size:9px}.auth-mode #authScreen{grid-template-columns:1fr}.auth-art{padding:28px 25px;min-height:190px;border-radius:0 0 28px 28px;justify-content:flex-start}.auth-monogram{width:48px;height:48px;font-size:32px;border-radius:14px;margin-bottom:13px}.auth-art small{font-size:8px}.auth-art h1{font-size:27px;margin:17px 0 4px}.auth-art h1 br{display:none}.auth-art p,.lake-lines{display:none}.auth-form{padding:35px 25px 45px}.auth-form h2{font-size:26px}.auth-form form{gap:17px}.auth-form .note{max-width:none}footer{font-size:9px;flex-wrap:wrap;padding-bottom:env(safe-area-inset-bottom)}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}.room:hover{transform:none}}
.room-map{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 22px}.floor-block{min-width:0}.floor-block .rooms{grid-template-columns:repeat(2,minmax(0,1fr))}.floor-block .floor{margin-top:13px}.floor-block .room{min-height:154px}@media(max-width:760px){.room-map{grid-template-columns:1fr;gap:8px}.floor-block .room{min-height:145px}}
@media(max-width:760px){nav{scrollbar-width:none}nav::-webkit-scrollbar{display:none}}
