:root{--ns-near-black:#0b0f16;--ns-navy:#0f1621;--ns-ivory:#f4ede0;--ns-beige:#c9bfa8;--ns-gold:#c9a24b;--ns-gold-light:#e0c27a;--ns-danger:#e2604f;--ns-serif:"Playfair Display", Georgia, serif;--ns-sans:"Inter", system-ui, -apple-system, sans-serif}body{background:var(--ns-near-black);color:var(--ns-ivory);font-family:var(--ns-sans)}.loginWrap{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.loginCard{background:var(--ns-navy);border:1px solid #c9a24b40;border-radius:14px;flex-direction:column;gap:16px;width:100%;max-width:380px;padding:34px 30px;display:flex}.loginBrand h1{font-family:var(--ns-serif);margin:0;font-size:22px;font-weight:400}.loginBrand p{color:var(--ns-beige);letter-spacing:.16em;text-transform:uppercase;margin:4px 0 0;font-size:12px}.loginCard label{color:var(--ns-beige);flex-direction:column;gap:6px;font-size:13px;display:flex}.loginCard input{color:var(--ns-ivory);background:#f4ede00d;border:1px solid #f4ede026;border-radius:8px;padding:11px 12px;font-size:14px}.passwordRow{gap:8px;display:flex}.passwordRow input{flex:1}.passwordRow button{color:var(--ns-beige);cursor:pointer;background:0 0;border:1px solid #f4ede033;border-radius:8px;padding:0 12px;font-size:12px}.loginError{border:1px solid var(--ns-danger);color:#ffb3a7;background:#e2604f1f;border-radius:8px;padding:10px 12px;font-size:12.5px}.loginSubmit{background:var(--ns-gold);color:var(--ns-near-black);cursor:pointer;border:none;border-radius:8px;padding:12px;font-size:14px;font-weight:700}.loginSubmit:disabled{opacity:.6;cursor:default}.loginNote{color:var(--ns-beige);text-align:center;margin:0;font-size:11px}.adminShell{min-height:100vh;display:flex}.adminSidebar{background:var(--ns-navy);border-right:1px solid #f4ede014;flex-direction:column;flex-shrink:0;width:220px;padding:24px 0;transition:width .15s;display:flex}.adminSidebar.collapsed{width:64px}.adminSidebarBrand{font-family:var(--ns-serif);border-bottom:1px solid #f4ede014;flex-direction:column;padding:0 20px 20px;font-size:15px;display:flex;position:relative}.adminSidebarBrand span{letter-spacing:.2em;text-transform:uppercase;color:var(--ns-gold);margin-top:4px;font-size:9px}.adminCollapseBtn{color:var(--ns-beige);cursor:pointer;background:0 0;border:1px solid #f4ede033;border-radius:6px;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;display:flex;position:absolute;top:0;right:14px}.adminSidebar.collapsed .adminSidebarBrand{align-items:center;padding:0 0 16px}.adminSidebar.collapsed .adminCollapseBtn{position:static}.adminSidebar nav{flex-direction:column;flex:1;gap:12px;padding:14px 10px;display:flex;overflow-y:auto}.adminNavGroup{flex-direction:column;gap:2px;display:flex}.adminNavGroupLabel{text-transform:uppercase;letter-spacing:.1em;color:var(--ns-beige);opacity:.6;padding:6px 12px 2px;font-size:10px}.adminSidebar nav a{color:var(--ns-beige);border-radius:8px;padding:10px 12px;font-size:13.5px;text-decoration:none}.adminSidebar.collapsed nav a{text-align:center;text-transform:uppercase;padding:10px 0;font-size:12px}.adminSidebar nav a.active,.adminSidebar nav a:hover{color:var(--ns-ivory);background:#c9a24b1f}.adminSidebarFooter{border-top:1px solid #f4ede014;flex-direction:column;gap:8px;padding:14px 20px 0;display:flex}.adminSidebar.collapsed .adminSidebarFooter{align-items:center;padding:14px 10px 0}.adminWhoami{color:var(--ns-beige);font-size:12px}.adminSidebarFooter button{color:var(--ns-ivory);cursor:pointer;background:0 0;border:1px solid #f4ede033;border-radius:6px;padding:8px;font-size:12px}.adminMain{flex:1;max-width:1200px;padding:32px 40px}.adminMain h1{font-family:var(--ns-serif);margin:0 0 20px;font-size:24px;font-weight:400}.adminMobileToggle{display:none}.statGrid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px;display:grid}.statCard{background:var(--ns-navy);border:1px solid #f4ede014;border-radius:10px;padding:16px}.statCard span{color:var(--ns-beige);text-transform:uppercase;letter-spacing:.08em;font-size:11px;display:block}.statCard b{font-size:22px;font-family:var(--ns-serif);margin-top:8px;font-weight:600;display:block}.statCard.highlight{background:#c9a24b14;border-color:#c9a24b73}.statCard.muted{opacity:.55}.statCard.muted b{font-family:var(--ns-sans);font-weight:600}.dashSection{margin-bottom:30px}.dashSectionTitle{font-family:var(--ns-serif);align-items:center;gap:10px;margin:0 0 12px;font-size:16px;font-weight:400;display:flex}.dashSubTitle{text-transform:uppercase;letter-spacing:.06em;color:var(--ns-beige);margin:0 0 8px;font-size:12.5px}.statusPill{text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-family:var(--ns-sans);border-radius:20px;padding:3px 9px}.statusPill.offline{color:#ffb3a7;background:#e2604f26;border:1px solid #e2604f4d}.statusPill.online{color:#9fe0b0;background:#78c88c26;border:1px solid #78c88c4d}.alertBox{color:#ffb3a7;background:#e2604f1a;border:1px solid #e2604f4d;border-radius:10px;flex-direction:column;gap:6px;padding:12px 14px;font-size:13px;display:flex}.revenueBreakdown{background:var(--ns-navy);border:1px solid #f4ede014;border-radius:10px;flex-direction:column;gap:10px;max-width:420px;padding:16px 20px;display:flex}.revenueBreakdown>div{justify-content:space-between;font-size:13.5px;display:flex}.revenueBreakdown>div em{color:var(--ns-beige);font-size:11px;font-style:normal}.revenueBreakdown .total{border-top:1px solid #f4ede01a;padding-top:10px;font-weight:700}.revenueBreakdown .total b{font-family:var(--ns-serif);font-size:18px}.quickActions{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.quickActions a{color:var(--ns-ivory);background:#c9a24b1f;border:1px solid #c9a24b4d;border-radius:8px;padding:9px 14px;font-size:12.5px;text-decoration:none}.quickActions a:hover{background:#c9a24b38}.twoCol{grid-template-columns:1fr 1fr;gap:24px;display:grid}.comingSoonCard{background:var(--ns-navy);border:1px dashed #f4ede033;border-radius:12px;padding:22px 24px;font-size:13.5px}.comingSoonSpec{grid-template-columns:1fr 1fr;gap:20px;margin-top:16px;display:grid}.comingSoonSpec b{text-transform:uppercase;letter-spacing:.06em;color:var(--ns-gold);margin-bottom:6px;font-size:11.5px;display:block}.comingSoonSpec ul{flex-direction:column;gap:4px;margin:0;padding-left:18px;display:flex}.comingSoonSpec code{background:#0000004d;border-radius:4px;padding:2px 6px;font-size:12px}.pageHeader{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.pageHeader button,.inlineForm button,.dataTable>button{background:var(--ns-gold);color:var(--ns-near-black);cursor:pointer;border:none;border-radius:6px;padding:8px 14px;font-size:12.5px;font-weight:600}.inlineForm{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px;display:flex}.inlineForm input,.inlineForm select{color:var(--ns-ivory);background:#f4ede00d;border:1px solid #f4ede026;border-radius:6px;padding:9px 10px;font-size:13px}.formError{color:#ffb3a7;font-size:12px}.dataTable{border-collapse:collapse;width:100%;font-size:13px}.dataTable th{text-align:left;color:var(--ns-beige);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid #f4ede01a;padding:10px 12px;font-size:11px}.dataTable td{vertical-align:top;border-bottom:1px solid #f4ede00f;padding:10px 12px}.rowActions{flex-wrap:wrap;gap:6px;display:flex}.rowActions button{color:var(--ns-ivory);cursor:pointer;background:0 0;border:1px solid #f4ede033;border-radius:6px;padding:6px 10px;font-size:11.5px}.tempPasswordBanner{border:1px solid var(--ns-gold);background:#c9a24b1f;border-radius:8px;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;padding:12px 14px;font-size:13px;display:flex}.tempPasswordBanner code{background:#0000004d;border-radius:5px;padding:3px 8px}.tempPasswordBanner button{color:var(--ns-ivory);cursor:pointer;background:0 0;border:1px solid #f4ede033;border-radius:6px;margin-left:auto;padding:6px 10px;font-size:11.5px}.hint{color:var(--ns-beige);margin-top:16px;font-size:12px}.settingsForm{flex-direction:column;gap:14px;max-width:460px;display:flex}.settingsForm label{color:var(--ns-beige);flex-direction:column;gap:6px;font-size:13px;display:flex}.settingsForm input,.settingsForm textarea{color:var(--ns-ivory);font-family:var(--ns-sans);background:#f4ede00d;border:1px solid #f4ede026;border-radius:8px;padding:10px 12px}.settingsForm button{background:var(--ns-gold);color:var(--ns-near-black);cursor:pointer;border:none;border-radius:8px;align-self:flex-start;padding:10px 20px;font-weight:600}.savedNote{color:var(--ns-gold);margin-left:10px;font-size:12.5px}.receptionShell{min-height:100vh}.receptionHeader{background:var(--ns-navy);border-bottom:1px solid #f4ede014;justify-content:space-between;align-items:center;gap:14px;padding:16px 24px;font-size:13px;display:flex}.receptionHeader button{color:var(--ns-ivory);cursor:pointer;background:0 0;border:1px solid #f4ede033;border-radius:6px;padding:7px 12px;font-size:12px}.receptionGrid{flex-direction:column;gap:26px;max-width:1000px;margin:0 auto;padding:24px;display:flex}.searchBox{gap:10px;display:flex}.searchBox input{color:var(--ns-ivory);background:#f4ede00d;border:1px solid #f4ede026;border-radius:8px;flex:1;padding:11px 12px}.searchBox button{background:var(--ns-gold);color:var(--ns-near-black);cursor:pointer;border:none;border-radius:8px;padding:0 18px;font-weight:600}.receptionGrid h2{font-family:var(--ns-serif);margin:0 0 10px;font-size:17px;font-weight:400}.staffModalOverlay{z-index:50;background:#0a0c12b8;justify-content:center;align-items:flex-start;padding:32px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.staffModal{background:var(--ns-navy);border:1px solid #c9a24b40;border-radius:14px;flex-direction:column;width:100%;max-width:720px;max-height:calc(100vh - 64px);padding:0;display:flex}.staffModalHeader{justify-content:space-between;align-items:center;padding:20px 24px 0;display:flex}.staffModalHeader h2{font-family:var(--ns-serif);margin:0;font-size:19px;font-weight:400}.staffModalClose{color:var(--ns-ivory);cursor:pointer;background:0 0;border:1px solid #f4ede033;border-radius:8px;width:30px;height:30px;font-size:14px}.staffSteps{flex-wrap:wrap;gap:6px;padding:16px 24px;display:flex}.staffStepDot{color:var(--ns-beige);white-space:nowrap;border:1px solid #f4ede01f;border-radius:20px;align-items:center;gap:8px;padding:6px 10px;font-size:11.5px;display:flex}.staffStepDot .num{background:#f4ede01a;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;display:flex}.staffStepDot.active{border-color:var(--ns-gold);color:var(--ns-ivory)}.staffStepDot.active .num{background:var(--ns-gold);color:var(--ns-near-black);font-weight:700}.staffStepDot.done .num{color:#9fe0b0;background:#78c88c4d}.staffModalBody{padding:4px 24px 20px;overflow-y:auto}.staffFormSection h3{font-family:var(--ns-serif);margin:0 0 4px;font-size:15px;font-weight:400}.staffFormSection>p.staffSectionHint{color:var(--ns-beige);margin:0 0 16px;font-size:12px}.staffFormGrid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.staffFormGrid.full,.staffFormGrid>.span2{grid-column:1/-1}.staffField{color:var(--ns-beige);flex-direction:column;gap:6px;font-size:12.5px;display:flex}.staffField input,.staffField select,.staffField textarea{color:var(--ns-ivory);font-size:13.5px;font-family:var(--ns-sans);background:#f4ede00d;border:1px solid #f4ede026;border-radius:8px;padding:10px 11px}.staffField input:focus,.staffField select:focus,.staffField textarea:focus{border-color:var(--ns-gold);outline:none}.staffField.invalid input,.staffField.invalid select{border-color:var(--ns-danger)}.staffFieldError{color:#ffb3a7;font-size:11px}.staffPasswordRow{gap:8px;display:flex}.staffPasswordRow input{flex:1}.staffPasswordRow button{color:var(--ns-beige);cursor:pointer;background:0 0;border:1px solid #f4ede033;border-radius:8px;padding:0 12px;font-size:12px}.staffUploadRow{flex-wrap:wrap;gap:20px;display:flex}.staffUploadBox{text-align:center;border:1px dashed #f4ede040;border-radius:10px;flex-direction:column;flex:1;align-items:center;gap:10px;min-width:220px;padding:16px;display:flex}.staffUploadBox.hasFile{border-style:solid;border-color:#c9a24b66}.staffUploadPreview{object-fit:cover;background:#f4ede00f;border-radius:10px;width:84px;height:84px}.staffUploadPreview.round{border-radius:50%}.staffUploadBox .fileMeta{color:var(--ns-beige);font-size:11px}.staffUploadActions{gap:8px;display:flex}.staffUploadActions button{color:var(--ns-ivory);cursor:pointer;background:0 0;border:1px solid #f4ede033;border-radius:6px;padding:6px 10px;font-size:11.5px}.staffUploadActions label{background:var(--ns-gold);color:var(--ns-near-black);cursor:pointer;border-radius:6px;padding:6px 10px;font-size:11.5px;font-weight:600}.staffReviewGrid{grid-template-columns:1fr 1fr;gap:10px 20px;font-size:13px;display:grid}.staffReviewGrid div{border-bottom:1px solid #f4ede00f;flex-direction:column;gap:2px;padding:8px 0;display:flex}.staffReviewGrid span{color:var(--ns-beige);text-transform:uppercase;letter-spacing:.05em;font-size:11px}.staffModalFooter{border-top:1px solid #f4ede014;justify-content:space-between;align-items:center;gap:10px;padding:16px 24px;display:flex}.staffModalFooter .rightBtns{gap:10px;display:flex}.staffBtnGhost{color:var(--ns-ivory);cursor:pointer;background:0 0;border:1px solid #f4ede033;border-radius:8px;padding:10px 18px;font-size:13px}.staffBtnPrimary{background:var(--ns-gold);color:var(--ns-near-black);cursor:pointer;border:none;border-radius:8px;padding:10px 20px;font-size:13px;font-weight:700}.staffBtnPrimary:disabled,.staffBtnGhost:disabled{opacity:.55;cursor:default}.staffFormBanner{color:#ffb3a7;background:#e2604f1a;border:1px solid #e2604f4d;border-radius:8px;margin:0 24px 12px;padding:10px 12px;font-size:12.5px}.staffAvatar{object-fit:cover;vertical-align:middle;background:#f4ede01a;border-radius:50%;width:34px;height:34px;margin-right:8px}.staffAvatarFallback{width:34px;height:34px;color:var(--ns-gold);vertical-align:middle;background:#c9a24b33;border-radius:50%;justify-content:center;align-items:center;margin-right:8px;font-size:12px;font-weight:700;display:inline-flex}.staffIdBadge{color:var(--ns-beige);font-family:monospace;font-size:10.5px}@media (max-width:760px){.staffFormGrid,.staffReviewGrid{grid-template-columns:1fr}.staffModal{border-radius:0;max-width:100%;max-height:100vh}.staffModalOverlay{padding:0}}@media (max-width:960px){.twoCol,.comingSoonSpec{grid-template-columns:1fr}}@media (max-width:760px){.adminShell{flex-direction:column}.adminMobileToggle{z-index:40;background:var(--ns-navy);color:var(--ns-ivory);cursor:pointer;border:1px solid #f4ede033;border-radius:8px;width:38px;height:38px;font-size:16px;display:block;position:fixed;top:14px;left:14px}.adminSidebar{z-index:35;width:250px;padding-top:60px;transition:transform .2s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.adminSidebar.mobileOpen{transform:translate(0)}.adminSidebar.collapsed{width:250px}.adminMobileScrim{z-index:30;background:#00000080;position:fixed;inset:0}.adminMain{padding:64px 18px 24px}.statGrid{grid-template-columns:repeat(2,1fr)}.dataTable{white-space:nowrap;display:block;overflow-x:auto}}@media (min-width:761px) and (max-width:1100px){.statGrid{grid-template-columns:repeat(3,1fr)}}.roomImgGrid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;margin-top:10px;display:grid}.roomImgCard{background:#f4ede00a;border:1px solid #f4ede01f;border-radius:10px;position:relative;overflow:hidden}.roomImgCard img{object-fit:cover;width:100%;height:110px;display:block}.roomImgCoverBadge{background:var(--ns-gold);color:var(--ns-near-black);text-transform:uppercase;letter-spacing:.05em;border-radius:5px;padding:3px 7px;font-size:10px;font-weight:700;position:absolute;top:6px;left:6px}.roomImgActions{flex-wrap:wrap;gap:4px;padding:8px;display:flex}.roomImgActions button{min-width:56px;color:var(--ns-ivory);cursor:pointer;background:0 0;border:1px solid #f4ede033;border-radius:5px;flex:1;padding:5px 4px;font-size:10.5px}.roomImgActions button:disabled{opacity:.35;cursor:default}.roomImgActions button.danger{color:#ffb3a7;border-color:#e2604f66}.roomImgUploadBox{text-align:center;border:1px dashed #f4ede040;border-radius:10px;margin-top:16px;padding:18px}.roomImgUploadBox label{background:var(--ns-gold);color:var(--ns-near-black);cursor:pointer;border-radius:6px;padding:8px 16px;font-size:12.5px;font-weight:600;display:inline-block}.roomImgPendingGrid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:8px;margin-top:14px;display:grid}.roomImgPendingGrid img{object-fit:cover;border:1px solid #c9a24b66;border-radius:6px;width:100%;height:70px}.roomThumbSmall{object-fit:cover;vertical-align:middle;background:#f4ede00f;border-radius:4px;width:44px;height:36px;margin-right:8px}.roomThumbFallback{vertical-align:middle;background:#f4ede014;border-radius:4px;width:44px;height:36px;margin-right:8px;display:inline-block}
