.title{margin-top:20px;font-size:26px}.subtitle{color:#8a8270;margin-top:6px;font-size:14px}.board{grid-template-columns:repeat(auto-fill,minmax(95px,1fr));gap:10px;display:grid}.room-price{color:#8a8270;margin-top:2px;font-size:11px}.room.vacant{border-top:4px solid #3a9d63}.room.occupied{background:#fcf8ee;border-top:4px solid #c79a3b}.room.cleaning{border-top:4px solid #c2562f}*{box-sizing:border-box;margin:0;padding:0}button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}body{color:#2b2620;background:#f4efe4;font-family:Segoe UI,system-ui,sans-serif}.screen{max-width:1200px;margin:0 auto;padding:24px 20px 60px}.topbar{border-bottom:1px solid #e3dccb;justify-content:space-between;align-items:center;padding-bottom:16px;display:flex}.brand{letter-spacing:.28em;color:#c79a3b;font-size:18px;font-weight:800}.hotel{color:#c79a3b;font-size:16px;font-weight:700}.title{text-align:center;margin-top:20px;font-size:30px;font-weight:800}.subtitle{color:#5e574a;text-align:center;margin-top:8px;font-size:15px;font-weight:600}.view-label{letter-spacing:.14em;text-transform:uppercase;color:#c79a3b;margin-top:22px;font-size:12px;font-weight:800}.result-name{font-size:14px;font-weight:700}.result-phone{color:#8a8270;font-size:12px}.muted-line{color:#8a8270;margin-top:22px;font-size:14px}.appbar{max-width:1200px;margin:0 auto;padding:24px 20px 0}.nav-toggle{background:#efe8d8;border-radius:12px;gap:6px;padding:4px;display:flex}.nav{color:#8a8270;cursor:pointer;background:0 0;border:none;border-radius:9px;padding:8px 18px;font-family:inherit;font-size:14px;font-weight:700}.nav.on{color:#2b2620;background:#fff;box-shadow:0 2px 6px -2px #0003}.section-title{margin-top:34px;font-size:17px;font-weight:800}.login-wrap{background:radial-gradient(135% 95% at 50% 0,#1e4a3c 0%,#163a30 46%,#0f2a22 100%);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:#fffdf7;border:1px solid #ece1c6;border-radius:20px;width:100%;max-width:400px;padding:34px 30px 30px;position:relative;overflow:hidden;box-shadow:0 34px 80px -34px #000000a6,0 6px 16px -8px #00000047}.login-card:before{content:"";background:linear-gradient(90deg,#e6c157,#c1923a,#f2d888,#9c6f24);height:4px;position:absolute;top:0;left:0;right:0}.login-title{text-align:center;color:#20402f;letter-spacing:.01em;margin:6px 0 4px;font-family:Georgia,Times New Roman,serif;font-size:26px;font-weight:700}.topbar-right{align-items:center;gap:14px;display:flex}.signout{color:#8a8270;cursor:pointer;background:#fff;border:1px solid #e3dccb;border-radius:9px;padding:7px 14px;font-family:inherit;font-size:13px;font-weight:700}.signout:hover{color:#2b2620;border-color:#c79a3b}.overlay{z-index:90;background:#1e1a1473;animation:.2s fade;position:fixed;inset:0}.scroll-locked{overflow:hidden!important}@keyframes fade{0%{opacity:0}to{opacity:1}}.panel{top:0;right:0;bottom:var(--bottom-nav-h,0px);width:380px;max-width:90vw;height:auto;padding:26px 24px calc(28px + env(safe-area-inset-bottom,0px));z-index:91;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:#fffdf7;animation:.25s cubic-bezier(.2,.7,.2,1) slidein;position:fixed;overflow-y:auto;box-shadow:-20px 0 50px -20px #0006}@keyframes slidein{0%{transform:translate(100%)}to{transform:none}}.panel-head{justify-content:space-between;align-items:flex-start;display:flex}.panel-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:#c79a3b;font-size:11px;font-weight:800}.panel-room{margin-top:4px;font-size:26px;font-weight:800}.panel-meta{color:#8a8270;margin-top:2px;font-size:13px}.close{color:#8a8270;cursor:pointer;background:0 0;border:none;font-size:18px}.info-list{flex-direction:column;margin-top:22px;display:flex}.info-row{border-bottom:1px solid #efe8d8;justify-content:space-between;gap:14px;padding:13px 2px;font-size:14px;display:flex}.info-row span{color:#8a8270}.info-row b{text-align:right}.cap{text-transform:capitalize}.field-label{margin:26px 0 8px;font-size:13px;font-weight:700;display:block}.search-input{border:1px solid #e3dccb;border-radius:11px;width:100%;padding:13px 14px;font-family:inherit;font-size:15px}.search-input:focus{border-color:#c79a3b;outline:none;box-shadow:0 0 0 3px #c79a3b2e}.results{flex-direction:column;gap:8px;margin-top:12px;display:flex}.result{cursor:pointer;border:1px solid #e3dccb;border-radius:10px;padding:11px 13px;transition:border-color .12s,background .12s}.result:hover{border-color:#c79a3b}.result.chosen{background:#fcf8ee;border-color:#c79a3b}.no-result{color:#8a8270;padding:8px 2px;font-size:13px}.chosen-box{color:#2b5;background:#f0f7f1;border:1px solid #cfe6d6;border-radius:10px;margin-top:18px;padding:12px;font-size:14px}.chosen-box b{color:#2b2620}.blacklist-warn{color:#b23c14;background:#fbe9e3;border:1px solid #e6a78f;border-radius:10px;margin-top:14px;padding:12px 13px;font-size:13.5px;font-weight:600;line-height:1.45}.newguest-btn{color:#a87f2a;cursor:pointer;background:0 0;border:1px dashed #c79a3b;border-radius:10px;width:100%;margin-top:12px;padding:11px;font-size:14px;font-weight:700}.newguest-block{margin-top:8px}.pay-toggle{gap:10px;margin-top:14px;display:flex}.pay{cursor:pointer;color:#8a8270;background:#fff;border:1px solid #e3dccb;border-radius:10px;flex:1;padding:11px;font-size:14px;font-weight:700}.pay.on{color:#2f7d4f;background:#f0f7f1;border-color:#3a9d63}.pay.on.warn{color:#b23c14;background:#fcefe9;border-color:#c2562f}.confirm-btn{color:#1f1709;cursor:pointer;background:#c79a3b;border:none;border-radius:12px;width:100%;margin-top:18px;padding:15px;font-size:15px;font-weight:800}.confirm-btn:disabled{opacity:.5;cursor:not-allowed}.success-box{text-align:center;padding:30px 6px}.success-tick{color:#fff;background:#3a9d63;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 16px;font-size:32px;display:flex}.success-title{font-size:22px;font-weight:800}.success-sub{color:#8a8270;margin-top:8px;font-size:14px;line-height:1.5}.again{color:#8a8270;cursor:pointer;background:0 0;border:1px solid #e3dccb;border-radius:10px;margin-top:22px;padding:11px 22px;font-weight:700}.nights-row{background:#fff;border:1px solid #e3dccb;border-radius:12px;align-items:stretch;margin-top:8px;display:flex;overflow:hidden}.step{cursor:pointer;color:#c79a3b;background:#faf6ea;border:none;flex-shrink:0;width:54px;font-size:24px;font-weight:800;transition:background .12s}.step:hover{background:#f1e6c9}.step:active{background:#e8d9b0}.nights-input{text-align:center;color:#2b2620;appearance:textfield;border:none;flex:1;min-width:0;padding:14px 6px;font-family:inherit;font-size:19px;font-weight:800}.nights-input:focus{outline:none}.nights-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.nights-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.amount-preview{color:#8a8270;background:#faf6ea;border:1px solid #ecd9a6;border-radius:10px;margin-top:12px;padding:12px 13px;font-size:14px}.amount-preview b{color:#2b2620}.checkout-btn{color:#fff;cursor:pointer;background:#c2562f;border:none;border-radius:12px;width:100%;margin-top:22px;padding:15px;font-size:15px;font-weight:600}.checkout-btn:disabled{opacity:.5;cursor:not-allowed}.room-pick{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.pick{cursor:pointer;color:#2b2620;background:#fff;border:1px solid #d8cdb0;border-radius:10px;padding:9px 14px;font-family:inherit;font-size:14px;font-weight:700}.pick.on{color:#fff;background:#c79a3b;border-color:#c79a3b}.collect-box{background:#faf6ea;border:1px solid #ecd9a6;border-radius:12px;margin-top:18px;padding:14px}.collect-bal{color:#6b6353;margin-bottom:10px;font-size:14px}.collect-bal b{color:#2b2620}.collect-btn{color:#fff;cursor:pointer;background:#2f7d4f;border:none;border-radius:10px;width:100%;padding:13px;font-family:inherit;font-size:14px;font-weight:800}.flag-btn{color:#c2562f;cursor:pointer;background:#fbeae3;border:1px solid #e7c3b3;border-radius:10px;width:100%;margin-top:10px;padding:11px;font-size:14px;font-weight:700}.flag-btn.remove{width:auto;margin-top:8px;padding:7px 14px}.badge-flag{color:#c2562f;background:#fbeae3;border:1px solid #e7c3b3;border-radius:20px;margin-left:8px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.policy{border:1px solid var(--line);background:#faf6ea;border-radius:12px;margin-top:16px;padding:13px 15px}.policy-title{color:var(--ink);margin-bottom:8px;font-size:13px;font-weight:700}.policy-body{color:#6b5f3e;white-space:pre-line;font-size:13px;line-height:1.6}.agree-row{color:var(--ink);align-items:flex-start;gap:10px;margin-top:12px;font-size:13.5px;display:flex}.agree-row input{width:19px;height:19px;accent-color:var(--gold);flex-shrink:0;margin-top:1px}.group{margin-top:18px}.group-head{border-bottom:1px solid #e9e2d2;align-items:baseline;gap:10px;margin-bottom:10px;padding-bottom:6px;display:flex}.group-name{color:#2b2620;font-size:15px;font-weight:800}.group-count{color:#a89e88;font-size:12px}.board{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:11px;margin-top:8px;display:grid}.room{cursor:pointer;text-align:center;background:#fff;border:1px solid #e3dccb;border-radius:12px;padding:13px 10px;transition:transform .12s,box-shadow .12s}.room:hover{transform:translateY(-2px);box-shadow:0 8px 18px -10px #0000004d}.room-num{font-size:23px;font-weight:800}.room-type{color:#6b6353;margin-top:3px;font-size:12px;font-weight:600}.room-status{text-transform:uppercase;letter-spacing:.07em;margin-top:9px;font-size:10px;font-weight:700}.room.vacant{background:#f6fbf7;border:1px solid #bfe3cb;border-top:4px solid #3a9d63}.room.vacant .room-status{color:#3a9d63}.room.occupied{background:#fcf6e8;border:1px solid #ecd9a6;border-top:4px solid #c79a3b}.room.occupied .room-status{color:#c79a3b}.room.cleaning{background:#fcf0ea;border:1px solid #ecc3b2;border-top:4px solid #c2562f}.room.cleaning .room-status{color:#c2562f}.room{position:relative}.due-flag{color:#fff;letter-spacing:.05em;text-transform:uppercase;background:#c2562f;border-radius:20px;padding:3px 7px;font-size:9px;font-weight:800;position:absolute;top:-8px;right:-6px;box-shadow:0 2px 6px -1px #0000004d}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-top:26px;display:grid}.stat{background:#fff;border:1px solid #e3dccb;border-radius:16px;padding:20px}.stat.big{color:#fff;background:#2b2620;border-color:#2b2620;grid-column:1/-1}.stat-label{color:#8a8270;text-transform:uppercase;letter-spacing:.06em;font-size:13px;font-weight:700}.stat.big .stat-label{color:#c79a3b}.stat-value{margin-top:8px;font-size:32px;font-weight:800}.stat.big .stat-value{font-size:44px}.stat-sub{color:#a89e88;margin-top:4px;font-size:13px}.refund-btn{color:#f7f2e7;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff47;border-radius:10px;margin-top:16px;padding:9px 16px;font-family:inherit;font-size:13px;font-weight:700}.refund-btn:hover{background:#fff3}.money-breakdown{gap:18px;margin-top:10px;font-size:13px;font-weight:700;display:flex}.money-breakdown span{color:#f7f2e7bf}.money-breakdown .out{color:#e9a98c}.activity{flex-direction:column;gap:8px;margin-top:12px;display:flex}.act-row{background:#fff;border:1px solid #e3dccb;border-radius:12px;justify-content:space-between;align-items:center;padding:13px 15px;display:flex}.act-main{font-size:14px}.act-reason{color:#6b6353;font-style:italic}.act-sub{color:#a89e88;margin-top:2px;font-size:12px}.act-right{text-align:right}.act-amount{font-size:15px;font-weight:800}.act-amount.out{color:#c2562f}.pill{text-transform:uppercase;letter-spacing:.05em;border-radius:20px;margin-top:4px;padding:2px 8px;font-size:10px;font-weight:800;display:inline-block}.pill.paid{color:#2f7d4f;background:#e7f3ea}.pill.unpaid{color:#c2562f;background:#fbeae3}.pill.partial{color:#a87f2a;background:#faf2e0}.date-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;display:flex}.cash-hidden .cash,.cash-hidden .money-breakdown,.cash-hidden .act-amount{-webkit-filter:blur(9px);-webkit-user-select:none;user-select:none;transition:filter .12s}.datebtn{color:#6b6353;cursor:pointer;background:#fff;border:1px solid #e3dccb;border-radius:10px;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:700}.datebtn.on{color:#fff;background:#2b2620;border-color:#2b2620}.date-input{color:#2b2620;background:#fff;border:1px solid #e3dccb;border-radius:10px;padding:8px 12px;font-family:inherit;font-size:13px}.flagged-list{flex-direction:column;gap:10px;margin-bottom:20px;display:flex}.flagged-row{background:#fbeae3;border:1px solid #e7c3b3;border-radius:12px;justify-content:space-between;align-items:flex-start;gap:12px;padding:13px 15px;display:flex}.flagged-name{color:#c2562f;font-weight:700}.flagged-phone{color:#6b5f3e;margin-top:2px;font-size:13px}.flagged-reason{color:#2b2620;margin-top:5px;font-size:13.5px;font-style:italic}.flagged-meta{color:#6b5f3e;margin-top:5px;font-size:12.5px;font-weight:500}.book-form{max-width:460px;margin-top:10px}.book-form select.search-input{cursor:pointer;background:#fff}.pill.advance{color:#4a54b8;background:#eef0fb}.upcoming{margin-bottom:8px}.resv-row{background:#fff;border:1px solid #e3dccb;border-radius:12px;justify-content:space-between;align-items:flex-start;margin-top:10px;padding:13px 15px;display:flex}.resv-name{color:#2b2620;font-size:15px;font-weight:800}.resv-meta{color:#6b6353;margin-top:3px;font-size:12.5px}.resv-note{color:#a89e88;margin-top:4px;font-size:12px;font-style:italic}.resv-right{text-align:right;white-space:nowrap;margin-left:12px}.resv-amount{color:#2b2620;font-size:15px;font-weight:800}.resv-balance{color:#c2562f;margin-top:4px;font-size:12px}.resv-balance b{color:#c2562f}.resv-checkin{cursor:pointer;color:#fff;background:#2b2620;border:none;border-radius:9px;margin-top:8px;margin-left:auto;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:700;display:block}.resv-manage{color:#5a5340;cursor:pointer;background:#ece7da;border:none;border-radius:8px;margin-top:6px;padding:8px 14px;font-size:13px;font-weight:600}.mg-actions{gap:8px;margin-top:6px;display:flex}.mg-cancel,.mg-noshow{cursor:pointer;border:none;border-radius:8px;flex:1;padding:11px;font-size:14px;font-weight:600}.mg-cancel{color:#9a3434;background:#f3e0e0}.mg-noshow{color:#8a6a1a;background:#f3ecd9}.resv-btns{gap:8px;margin-top:6px;display:flex}.staff-list{flex-direction:column;gap:10px;margin-bottom:24px;display:flex}.staff-row{background:var(--card,#fffdf7);border:1px solid var(--line,#e4dcc8);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:13px 15px;display:flex}.staff-row.left{opacity:.6}.staff-name{color:var(--ink,#2b2620);font-weight:700}.staff-tag{color:#8a8270;background:#eee7d6;border-radius:20px;margin-left:8px;padding:2px 8px;font-size:11px;font-weight:700}.staff-meta{color:#5a4f33;text-transform:capitalize;margin-top:4px;font-size:14px;line-height:1.5}.staff-toggle{border:1px solid var(--line,#e4dcc8);color:#6b5f3e;cursor:pointer;background:#fff;border-radius:9px;width:auto;margin:0;padding:8px 14px;font-size:13px;font-weight:600}.staff-add{border:1px solid var(--line,#e4dcc8);background:#faf6ea;border-radius:14px;padding:18px}.add-title{margin-bottom:6px;font-family:Fraunces,serif;font-size:18px}.staff-tag.nologin{color:#8a7f63;background:#ece7da}.staff-left{flex:auto;min-width:0}.staff-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}@media (width<=520px){.staff-row{flex-wrap:wrap}.staff-actions{justify-content:flex-end;width:100%;margin-top:6px}.ghist-row{flex-wrap:wrap}}.staff-edit{color:#5a5340;cursor:pointer;background:#ece7da;border:none;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:600}.staff-edit:hover{background:#e2dccb}.ghist{flex-direction:column;gap:8px;margin-top:8px;display:flex}.ghist-row{background:#faf8f3;border:1px solid #ece7da;border-radius:10px;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.ghist-main{color:#3a3526;font-size:14px;font-weight:600}.ghist-sub{color:#8a7f63;margin-top:2px;font-size:12px}.ghist-right{text-align:right}.ghist-amount{color:#3a3526;font-size:14px;font-weight:700}.ghist-paid{color:#5a5346;text-align:right;margin-top:2px;font-size:14px}@media (width<=720px){.topbar{flex-wrap:wrap;gap:8px}.topbar-right{flex-wrap:wrap;flex:100%;justify-content:flex-end;gap:8px;min-width:0}.topbar-right>*{flex:none;max-width:100%}.nav-toggle{-webkit-overflow-scrolling:touch;white-space:nowrap;order:3;gap:6px;width:100%;padding-bottom:4px;display:flex;overflow-x:auto}.nav-toggle::-webkit-scrollbar{height:0}.nav{flex:none}.hotel{display:none}}.date-field{min-width:0;display:inline-flex;position:relative}.date-field>input{width:100%}.date-field>input.is-empty::-webkit-datetime-edit{opacity:0}.date-field-hint{pointer-events:none;color:#a89e88;white-space:nowrap;font-size:14px;font-weight:600;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.dept-tabs{gap:8px;width:100%;max-width:620px;margin:2px auto 12px;display:flex}.dept-tabs>button{cursor:pointer;white-space:nowrap;border-radius:10px;flex:1 1 0;min-width:0;padding:10px 8px;font-family:inherit;font-size:14px;font-weight:700}@media (width<=430px){.dept-tabs{gap:6px}.dept-tabs>button{padding:10px 4px;font-size:12.5px}}.dept-shell .screen{padding-bottom:calc(104px + env(safe-area-inset-bottom,0px))}.no-spin::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.no-spin::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.no-spin{appearance:textfield}
