:root{--ink:#281318;--muted:#806f73;--paper:#f8f2f0;--line:#eadedb;--wine:#201013;--red:#cf0717;--red-dark:#9e101c;--rose:#fcebed;--gold:#b68358;--green:#5b8f73;--shadow:0 16px 40px rgba(73,18,24,.10)}
*{box-sizing:border-box}body{margin:0;background:var(--paper);font-family:Manrope,Arial,sans-serif;color:var(--ink);font-size:13px}.app-shell{display:grid;grid-template-columns:270px 1fr;min-height:100vh}.sidebar{background:linear-gradient(160deg,#170b0d,#35151b 58%,#190b0d);padding:24px 16px 17px;color:#fff;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;gap:8px;align-items:center;flex-direction:column;margin:0 4px 34px;color:#fff;text-decoration:none}.brand-logo{width:100%;height:72px;object-fit:cover;object-position:center;border-radius:6px;background:#fff;border:1px solid #8d1d28}.brand-caption{font:600 8px 'DM Mono';color:#d99da3;letter-spacing:1.5px}.main-nav{display:grid;gap:5px}.nav-item{color:#d4c3c6;background:transparent;border:0;border-radius:8px;padding:12px 13px;text-align:left;font:600 12.5px Manrope;cursor:pointer}.nav-item span{width:22px;display:inline-block;font-size:18px;font-weight:400;vertical-align:-2px}.nav-item.active,.nav-item:hover{background:linear-gradient(90deg,#d50919,#9b101c);color:#fff;box-shadow:0 7px 16px #0b030633}.shift-card{margin:auto 8px 17px;border-radius:10px;padding:14px;background:#31171c;border:1px solid #603038}.shift-card p{display:inline;margin:0 0 7px 6px;color:#d6c1c4;font-size:10px}.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#7fc9a7;box-shadow:0 0 0 4px #5bd3a41c}.shift-card strong{display:block;font-size:10px;font-weight:600}.text-button{border:0;background:none;padding:0;margin-top:12px;color:#ffafb5;font:600 10px Manrope;cursor:pointer}.profile{border-top:1px solid #5c2b32;padding:18px 8px 0;display:flex;align-items:center;gap:8px}.profile strong{font-size:11px;display:block}.profile span{color:#c9adb1;font-size:9px}.profile button{margin-left:auto;background:none;border:0;color:#fff}.avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#e31a2b;color:#fff;font-size:9px;font-weight:800}
.main-content{padding:30px 42px 50px;max-width:1680px;width:100%;margin:auto}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:33px}.breadcrumb span,.eyebrow{font:500 9px 'DM Mono';letter-spacing:1.2px;color:#9a7c81}.breadcrumb h1{font:700 25px 'Playfair Display';margin:4px 0 0;letter-spacing:-.5px}.top-actions{display:flex;gap:12px;align-items:center}.date-chip{padding:9px 12px;border-radius:7px;background:#fff;border:1px solid var(--line);color:#755f64;font:500 10px 'DM Mono'}.icon-button{position:relative;border:1px solid var(--line);background:#fff;border-radius:7px;width:34px;height:34px;cursor:pointer;color:#5a343a}.icon-button i{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--red);right:8px;top:7px}.new-stay,.charge-button{border:0;cursor:pointer;background:linear-gradient(135deg,var(--red),var(--red-dark));color:white;padding:10px 15px;border-radius:7px;font:700 11px Manrope;box-shadow:0 6px 12px #a90e1d2b}.new-stay:hover,.charge-button:hover{filter:brightness(.93)}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:39px}.stat-card{min-height:128px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px 19px;position:relative;overflow:hidden;box-shadow:0 4px 10px #4a101005}.stat-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px}.accent-blue:before{background:var(--red)}.accent-gold:before{background:#da4653}.accent-lilac:before{background:#8c2330}.accent-teal:before{background:#6d3e45}.stat-label{font:600 8.5px 'DM Mono';color:#967f84;letter-spacing:.9px}.stat-card strong{font:700 25px 'Playfair Display';display:block;margin:7px 0 12px}.stat-card em{font:500 13px Manrope;color:#a59699;font-style:normal}.stat-detail{color:#968388;font-size:10px;display:block}.positive{color:#3b8a68}.warning{color:#ae2934}.stat-detail b{height:4px;width:55px;display:inline-block;border-radius:5px;background:#f3e9e7;margin-left:7px;vertical-align:middle;overflow:hidden}.stat-detail b i{height:100%;background:var(--red);display:block}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.section-head h2{font:700 20px 'Playfair Display';letter-spacing:-.4px;margin:3px 0 0}.room-heading{align-items:end}.room-legend{display:flex;gap:17px;align-items:center;font-size:10px;color:#735e63}.room-legend span{display:flex;align-items:center;gap:5px}.room-legend i{height:7px;width:7px;border-radius:50%;display:block}.available{background:#6c9c83}.occupied{background:#dc2635}.cleaning{background:#b68358}.reserved{background:#8b617c}.filter-button,.outline-button{background:#fff;border:1px solid var(--line);padding:8px 10px;border-radius:6px;color:#684e54;font:600 10px Manrope;cursor:pointer}.rooms-grid{display:grid;grid-template-columns:repeat(6,minmax(135px,1fr));gap:12px}.room{height:145px;border-radius:9px;border:1px solid var(--line);background:#fff;padding:15px;text-align:left;cursor:pointer;position:relative;transition:.2s;overflow:hidden}.room:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#d79da4}.room:after{content:"";position:absolute;right:-23px;bottom:-32px;width:100px;height:100px;border-radius:50%;opacity:.6}.room.available:after{background:#eaf3ef}.room.occupied:after{background:#fbeded}.room.cleaning:after{background:#f8eee4}.room.reserved:after{background:#f4ebf1}.room-top{display:flex;justify-content:space-between;align-items:start}.room-number{font:700 21px 'Playfair Display'}.status-dot{height:7px;width:7px;border-radius:50%;margin:3px}.room.available .status-dot{background:#6c9c83}.room.occupied .status-dot{background:#dc2635;box-shadow:0 0 0 4px #dc263520}.room.cleaning .status-dot{background:#b68358}.room.reserved .status-dot{background:#8b617c}.room-name{font-size:10px;color:#806d72;display:block;margin-top:4px}.room-status{position:absolute;bottom:15px;left:15px;color:#7e6b70;font-size:9px}.room.occupied .room-status{color:#b71826;font-weight:700}.room-status strong{display:block;font:500 10px 'DM Mono';margin-top:3px}.view{display:none}.view.active{display:block}
.table-card,.inventory-card,.cart,.chart-card,.top-rooms,.settings-card{background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 4px 10px #4a101005}.table-card{overflow:auto}table{border-collapse:collapse;width:100%;min-width:750px}th{font:600 9px 'DM Mono';color:#997f84;letter-spacing:.8px;text-align:left;padding:17px}td{padding:17px;border-top:1px solid var(--line);font-size:11px}td strong{font-size:11px}.badge{border-radius:20px;padding:4px 7px;font-size:9px;font-weight:700}.badge.fixed{background:#fceded;color:#b71927}.badge.open{background:#eaf3ef;color:#3e8066}.table-action{border:0;background:none;color:var(--red);font:700 10px Manrope;cursor:pointer}.store-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:18px}.inventory-head{padding:16px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.inventory-head strong{font:700 14px 'Playfair Display'}.inventory-head input{border:1px solid var(--line);border-radius:6px;padding:7px 9px;font:10px Manrope}.product-list{display:grid;grid-template-columns:repeat(2,1fr);padding:8px}.product{padding:12px 8px;display:flex;align-items:center;gap:10px;border-bottom:1px solid #f3ecea}.product-icon{width:34px;height:34px;display:grid;place-items:center;background:#fbf2f1;border-radius:8px;font-size:17px}.product-name{display:block;font-weight:700;font-size:10px}.product-stock{display:block;color:#9a898d;font-size:9px;margin-top:2px}.product-price{margin-left:auto;font:600 10px 'DM Mono'}.product button{margin-left:6px;border:0;border-radius:5px;background:var(--rose);color:var(--red);font-size:15px;cursor:pointer;width:23px;height:23px}.cart{padding:20px;align-self:start}.cart h3{font:700 15px 'Playfair Display';margin:5px 0 18px}.cart-items{min-height:180px}.empty-cart{color:#9b8a8e;font-size:10px;line-height:1.7}.cart-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line);font-size:10px}.cart-row small{display:block;color:#9a898d}.cart-total{border-top:1px solid var(--line);padding:14px 0;display:flex;justify-content:space-between;color:#735e63}.cart-total strong{font:700 18px 'Playfair Display';color:var(--ink)}.charge-button{width:100%;margin-top:5px}
.report-actions{display:flex;gap:8px}.report-period{display:flex;border-bottom:1px solid var(--line);gap:3px;margin-bottom:19px}.period{padding:11px 16px;background:none;border:0;color:#9a868b;font:600 10px Manrope;cursor:pointer;border-bottom:2px solid transparent}.period.active{color:var(--red);border-bottom-color:var(--red)}.report-period span{margin-left:auto;align-self:center;color:#9b888d;font:9px 'DM Mono'}.report-grid{display:grid;grid-template-columns:1.2fr .58fr .85fr;gap:15px}.chart-card,.top-rooms{padding:20px}.chart-card h3{font:700 25px 'Playfair Display';margin:6px 0}.chart-card h3 small{font:600 10px Manrope;color:#a21c2a;margin-left:5px}.bar-chart{height:170px;margin-top:11px;display:flex;align-items:end;gap:10%;border-bottom:1px solid var(--line);padding:0 7px}.bar-chart i{width:13%;background:#f0cfd2;border-radius:5px 5px 0 0}.bar-chart .today{background:var(--red)}.chart-labels{display:flex;justify-content:space-around;color:#968488;font:9px 'DM Mono';padding:9px 0 0}.donut{width:130px;height:130px;margin:17px auto;background:conic-gradient(var(--red) 0 72%,#f4e2e3 72%);border-radius:50%;display:grid;place-items:center}.donut:before{content:"";position:absolute;width:96px;height:96px;border-radius:50%;background:#fff}.donut span{position:relative;font:700 27px 'Playfair Display'}.donut small{font:600 11px Manrope}.chart-card p{text-align:center;color:#7a3540;font-size:10px}.top-rooms h3{font:700 16px 'Playfair Display';margin:6px 0 12px}.top-rooms ol{padding:0;margin:0;list-style:none}.top-rooms li{display:flex;gap:10px;padding:10px 0;border-top:1px solid var(--line);align-items:center}.top-rooms li>b{font:700 15px 'Playfair Display';color:#d3c1c3}.top-rooms li span{font-size:10px;font-weight:700;flex:1}.top-rooms li small{display:block;color:#99888c;font-size:9px;font-weight:500;margin-top:2px}.top-rooms li strong{font:600 10px 'DM Mono'}
.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.settings-card{padding:20px}.settings-card.full{grid-column:1/-1}.settings-card h3{font:700 16px 'Playfair Display';margin:0 0 18px}.settings-card label{display:grid;gap:5px;color:#78656a;font-size:10px;margin:11px 0}.settings-card input,.settings-card select{width:100%;padding:9px;border:1px solid var(--line);border-radius:6px;color:var(--ink);font:11px Manrope;background:#fff}.settings-card-head{display:flex;justify-content:space-between;align-items:start}.settings-card-head h3{margin-bottom:4px}.settings-card-head p{margin:0;color:#948186;font-size:10px}.settings-rooms{margin-top:16px}.setting-room{display:grid;grid-template-columns:45px 1.5fr 1fr 1fr 25px;gap:10px;align-items:center;padding:9px 0;border-top:1px solid var(--line)}.setting-room span{font:700 14px 'Playfair Display'}.color-input{height:30px!important;padding:2px!important}
.modal{border:0;border-radius:14px;padding:0;width:min(515px,calc(100vw - 30px));box-shadow:0 28px 80px #26090d66}.modal::backdrop{background:#210b1088;backdrop-filter:blur(3px)}.modal form{padding:24px}.modal-head{display:flex;justify-content:space-between;align-items:start;border-bottom:1px solid var(--line);padding-bottom:17px}.modal h2{font:700 22px 'Playfair Display';margin:4px 0 0}.close-button{border:0;background:#f8eded;border-radius:50%;width:26px;height:26px;font-size:20px;color:#70434a;cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:20px 0}.form-grid label{font:600 10px Manrope;color:#755f64;display:grid;gap:6px}.form-grid select,.form-grid input{border:1px solid var(--line);border-radius:6px;padding:10px;background:#fff;font:11px Manrope;color:var(--ink)}.full-field{grid-column:1/-1}.toggle-group{display:flex;border:1px solid var(--line);border-radius:6px;overflow:hidden}.mode-toggle{flex:1;border:0;background:#fff;color:#8e787d;padding:10px 3px;font:600 9px Manrope;cursor:pointer}.mode-toggle.selected{background:#fcebed;color:var(--red)}.modal-foot{border-top:1px solid var(--line);padding-top:17px;display:flex;justify-content:space-between;align-items:center;color:#79676c;font-size:10px}.modal-foot strong{display:block;color:var(--ink);font:700 19px 'Playfair Display';margin-top:3px}.room-modal-body{padding:20px 0}.room-modal-body p{font-size:11px;color:#79676c}.room-modal-body .modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.modal-info{background:#fbf4f2;border-radius:7px;padding:10px}.modal-info small{display:block;color:#967f84;font:9px 'DM Mono'}.modal-info strong{font-size:12px;margin-top:4px;display:block}.modal-actions{display:flex;gap:8px;margin-top:20px}.modal-actions button{flex:1}.toast{position:fixed;bottom:25px;right:28px;background:#2b1318;color:#fff;padding:12px 17px;border-radius:7px;box-shadow:var(--shadow);font-size:11px;transform:translateY(80px);opacity:0;transition:.25s;z-index:5}.toast.show{transform:translateY(0);opacity:1}.receipt-modal{padding:24px}.receipt{text-align:center;color:#312025}.receipt h2{margin:4px 0 15px}.receipt hr{border:0;border-top:1px dashed #c8afb2}.receipt-row{display:flex;justify-content:space-between;text-align:left;padding:6px 0;font-size:11px}.receipt-total{font:700 18px 'Playfair Display';padding-top:12px}.receipt-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}
@media print{body{background:#fff}.sidebar,.topbar,.report-actions,.report-period,.view:not(#reports-view),.receipt-actions{display:none!important}.main-content{padding:0}.view.active{display:none}.main-content #reports-view{display:block!important}.receipt-modal{position:static;display:block;border:0;box-shadow:none;width:100%}.receipt{max-width:330px;margin:auto}}@media(max-width:1100px){.main-content{padding:25px}.rooms-grid{grid-template-columns:repeat(4,1fr)}.stat-grid{grid-template-columns:repeat(2,1fr)}.report-grid{grid-template-columns:1fr 1fr}.top-rooms{grid-column:1/-1}.store-layout{grid-template-columns:1fr 280px}}@media(max-width:760px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;position:relative;padding:14px;display:block}.brand{margin:0}.brand-logo{width:180px;height:50px}.main-nav{display:flex;overflow:auto;margin-top:15px}.nav-item{white-space:nowrap}.shift-card,.profile{display:none}.main-content{padding:20px 14px}.topbar{align-items:start}.top-actions .date-chip,.top-actions .icon-button{display:none}.breadcrumb h1{font-size:20px}.stat-grid,.rooms-grid,.settings-grid,.report-grid,.store-layout{grid-template-columns:1fr}.room-legend{display:none}.rooms-grid{grid-template-columns:repeat(2,1fr)}.room{height:125px}.chart-card.wide,.top-rooms,.settings-card.full{grid-column:auto}.product-list{grid-template-columns:1fr}.setting-room{grid-template-columns:35px 1fr 1fr;gap:6px}.setting-room input:nth-of-type(2),.setting-room button{display:none}}
