/* HoneyBee Inn — Unified System UI vFinal
   VISUAL-ONLY OVERRIDES. No functional selectors, form actions, routes or JS hooks are changed. */
:root{
  --hb-final-gold:#D89A16;
  --hb-final-gold2:#F1BE3F;
  --hb-final-gold-deep:#9B6800;
  --hb-final-navy:#0E1B2B;
  --hb-final-navy2:#16283D;
  --hb-final-cream:#F8F2E5;
  --hb-final-warm:#FFFDF8;
  --hb-final-line:#E7D6AD;
  --hb-final-ink:#1C2B40;
  --hb-final-muted:#766C5D;
  --hb-final-shadow:0 12px 32px rgba(45,32,10,.10);
}

/* ---------------- ADMIN / CASHIER APP SHELL ---------------- */
body.hb-admin-page,
body.dashboard-home,
body.view-bookings,
body.view-receipts,
body.embedded-cashier{
  background:var(--hb-final-cream)!important;
  color:var(--hb-final-ink)!important;
}

body.dashboard-home .app,
body.hb-admin-page .app,
body.embedded-cashier .app,
.app{
  background:var(--hb-final-cream)!important;
}

/* Dark premium sidebar */
.hb-admin-sidebar,
body .sidebar,
.app > .sidebar{
  background:linear-gradient(180deg,#0B1827 0%,#102236 56%,#0B1726 100%)!important;
  border-right:1px solid rgba(216,154,22,.75)!important;
  box-shadow:10px 0 32px rgba(4,12,22,.22)!important;
  color:#fff!important;
}
.hb-admin-sidebar:after,
body .sidebar:after{
  content:"⬡ ⬡\A  ⬡ ⬡";
  white-space:pre;
  position:absolute;
  right:-3px;
  bottom:24px;
  color:rgba(216,154,22,.16);
  font-size:30px;
  line-height:.72;
  pointer-events:none;
}
.hb-admin-brand{padding:18px 10px 12px!important;color:#fff!important}
.hb-admin-brand>a{height:120px!important}
.hb-admin-brand img{width:96px!important;height:96px!important;filter:drop-shadow(0 7px 14px rgba(0,0,0,.35))}
.hb-admin-brand-name{font-size:24px!important;color:#fff!important;letter-spacing:-.5px!important}
.hb-admin-brand-name::first-letter{color:#fff}
.hb-admin-brand-tag{color:#D7DEE7!important;letter-spacing:3px!important}
.hb-admin-nav{margin-top:15px!important;gap:7px!important}
.hb-admin-nav a{
  min-height:48px!important;height:48px!important;
  background:transparent!important;
  border:1px solid transparent!important;
  color:#E9EEF4!important;
  border-radius:11px!important;
  font-size:12px!important;
  font-weight:700!important;
}
.hb-admin-nav a .hb-icon{
  width:38px!important;height:38px!important;min-width:38px!important;
  border-radius:11px!important;
  background:rgba(255,255,255,.045)!important;
  border:1px solid rgba(216,154,22,.7)!important;
  color:#F2B52C!important;
  box-shadow:none!important;
}
.hb-admin-nav a:hover{
  background:rgba(216,154,22,.10)!important;
  border-color:rgba(216,154,22,.35)!important;
  color:#fff!important;
  box-shadow:none!important;
}
.hb-admin-nav a.active{
  background:linear-gradient(90deg,#E5A51B,#C68100)!important;
  border-color:#F1C557!important;
  color:#fff!important;
  box-shadow:0 8px 20px rgba(197,129,0,.25)!important;
}
.hb-admin-nav a.active:before{display:none!important}
.hb-admin-nav a.active .hb-icon{background:rgba(255,255,255,.16)!important;color:#fff!important;border-color:rgba(255,255,255,.48)!important}

/* Header */
.topbar,.header,.page-header{
  background:linear-gradient(180deg,#0E1B2B,#14283D)!important;
  color:#fff!important;
  border:0!important;
  border-bottom:1px solid rgba(216,154,22,.55)!important;
  box-shadow:0 10px 28px rgba(4,12,22,.18)!important;
}
.topbar{min-height:76px!important}
.topbar-title{color:#fff!important;font-family:Georgia,"Times New Roman",serif!important;font-weight:800!important}
.topbar-subtitle{color:#C8D2DE!important}
.topbar-search{
  background:#263C54!important;
  border:1px solid rgba(255,255,255,.16)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05)!important;
}
.topbar-search input{color:#fff!important}
.topbar-search input::placeholder{color:#D0D8E1!important}
.topbar-search button,.notif-btn{color:#F2B52C!important}
.toggle-btn{color:#fff!important}
.topbar-actions .btn,.topbar-actions button{color:#fff!important}

/* Main content */
.main,
body.hb-admin-page .main{
  background:linear-gradient(180deg,#FBF7EE 0%,#F5EEDF 100%)!important;
}
.dashboard-home .main,
.view-bookings .main,
.view-receipts .main{min-width:0!important}

/* Cards / panels */
.card,.panel,.section-card,.content-card,.table-card,.form-card,.filter-panel,.chart-card,
.dashboard-card,.report-card,.data-card,.booking-page-card,.booking-dashboard-card,
.summary-card,.stats-card,.stat-card,.modal-content{
  background:linear-gradient(145deg,#FFFDF9,#FFF8EA)!important;
  border:1px solid var(--hb-final-line)!important;
  border-radius:16px!important;
  box-shadow:var(--hb-final-shadow)!important;
  color:var(--hb-final-ink)!important;
}
.card:hover,.stat-card:hover,.report-card:hover,.data-card:hover{transform:none!important;box-shadow:0 16px 38px rgba(45,32,10,.13)!important}

/* Dashboard stats */
.dashboard-grid,.summary-grid,.stats-grid,.booking-dashboard-grid{gap:14px!important}
.booking-dashboard-card{border-radius:14px!important;min-height:100px!important}
.booking-dashboard-card-icon,.stat-card .icon,.stat-icon{
  background:linear-gradient(145deg,#FFF1C9,#D89A16)!important;
  color:#8B5B00!important;
  border:1px solid #E0AE38!important;
  box-shadow:0 8px 18px rgba(185,122,0,.16)!important;
}
.booking-dashboard-card strong,.stat-card strong{color:#1C2B40!important}
.booking-dashboard-card p,.stat-card small{color:#756A5B!important}

/* Headings */
h1,h2,h3,h4,.page-title,.hb-page-title{color:#1B2B40!important}
.hb-page-title{font-family:Georgia,"Times New Roman",serif!important}

/* Tables — consistent warm headers and sticky headings */
table{border-collapse:separate!important;border-spacing:0!important}
thead th,
.table thead th,
.data-table thead th,
.table-responsive table thead th{
  position:sticky!important;
  top:0!important;
  z-index:8!important;
  background:linear-gradient(180deg,#FFF0C7,#F5E2B3)!important;
  color:#5E430F!important;
  border-bottom:1px solid #E1C982!important;
  font-weight:800!important;
}
tbody td{border-bottom:1px solid #EEE4D0!important;color:#3D4651!important}
tbody tr:hover td{background:#FFF9EA!important}
.table-responsive,.table-scroll,.table-wrap,.data-table-wrap,.booking-table-wrap{overflow:auto!important}

/* Buttons */
.btn,.button,button[type="submit"],input[type="submit"],.btn-primary,.btn-sm,.btn-edit{
  border-radius:10px!important;
}
.btn-primary,.btn-gold,.btn-edit,.btn-sm.btn-edit{
  background:linear-gradient(145deg,#F0BC3D,#C78300)!important;
  border-color:#D39A22!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(185,122,0,.18)!important;
}
.btn-primary:hover,.btn-gold:hover,.btn-edit:hover{background:linear-gradient(145deg,#FFD46A,#B87300)!important;transform:translateY(-1px)!important}

/* Inputs */
input:not([type="checkbox"]):not([type="radio"]),select,textarea,.form-control{
  background:#FFFDF8!important;
  color:#263548!important;
  border:1px solid #DCC896!important;
  border-radius:10px!important;
}
input:focus,select:focus,textarea:focus,.form-control:focus{
  border-color:#D99A13!important;
  box-shadow:0 0 0 3px rgba(217,154,19,.14)!important;
}

/* Status badges */
.badge,.status-badge,.booking-status,.room-status-badge{border-radius:999px!important;font-weight:800!important}

/* Alerts */
.alert,.dashboard-alert{border-radius:12px!important;box-shadow:none!important}

/* Profile / dropdowns */
.dropdown-menu,.settings-drawer,.modal-content{border:1px solid var(--hb-final-line)!important;border-radius:14px!important;box-shadow:0 22px 55px rgba(23,31,42,.18)!important;background:#FFFDF8!important}

/* Prevent horizontal page overflow; tables scroll inside their containers */
html,body{max-width:100%;overflow-x:hidden!important}

/* ---------------- CASHIER ---------------- */
body.cashier-page,
body.cashier-dashboard,
body.embedded-cashier{background:var(--hb-final-cream)!important}
.cashier-header{background:linear-gradient(135deg,#0E1B2B,#18324B)!important;border-bottom:1px solid rgba(216,154,22,.55)!important}
.cashier-nav a:hover,.cashier-nav a.active{background:#D89A16!important;color:#fff!important}

/* ---------------- GUEST ---------------- */
body.guest-site,body.guest-homepage{
  background:linear-gradient(180deg,#FBF7EE 0%,#F4EBDD 100%)!important;
}
body.guest-site .site-header,body.guest-homepage .site-header,
body.guest-site .hero-navbar,body.guest-homepage .hero-navbar{
  background:rgba(14,27,43,.96)!important;
  color:#fff!important;
  border-bottom:1px solid rgba(216,154,22,.55)!important;
}
body.guest-site .hotel-room-card,body.guest-homepage .hotel-room-card,
body.guest-site .reservation-card,body.guest-homepage .reservation-card,
body.guest-site .payment-panel,body.guest-homepage .payment-panel{
  background:#FFFDF8!important;border-color:#E7D6AD!important;border-radius:18px!important;
}

/* ---------------- MOBILE ---------------- */
@media(max-width:900px){
  body.hb-admin-page,body.dashboard-home,body.view-bookings,body.view-receipts{padding-left:0!important}
  .hb-admin-sidebar{transform:translateX(-100%);transition:transform .22s ease!important}
  .hb-admin-sidebar.hb-open{transform:translateX(0)!important}
  .topbar{margin-left:0!important}
  .dashboard-grid,.summary-grid,.stats-grid{grid-template-columns:1fr 1fr!important}
}
@media(max-width:600px){
  .dashboard-grid,.summary-grid,.stats-grid,.booking-dashboard-grid{grid-template-columns:1fr!important}
  .topbar{padding:10px 12px!important}
  .topbar-center{display:none!important}
  .hb-admin-page-shell{padding:16px!important}
}

/* ---------------- PRINT ---------------- */
@media print{
  .hb-admin-sidebar,.topbar{display:none!important}
  body.hb-admin-page{padding-left:0!important}
}

/* ==========================================================
   FINAL UNIFIED ADMIN SIDEBAR — MATCH DASHBOARD REFERENCE
   Applies to Dashboard, Bookings, Receipts and every Admin page.
   ========================================================== */
.hb-admin-sidebar{
  position:fixed!important;left:0!important;top:0!important;bottom:0!important;
  width:230px!important;height:100vh!important;min-height:100vh!important;max-height:100vh!important;
  z-index:1200!important;box-sizing:border-box!important;
  display:flex!important;flex-direction:column!important;overflow:hidden!important;
  padding:0!important;
  background:linear-gradient(180deg,#0b1b2b 0%,#10253a 56%,#0b1929 100%)!important;
  border-right:1px solid rgba(214,162,26,.72)!important;
  box-shadow:8px 0 24px rgba(5,15,26,.18)!important;
}
.hb-admin-brand{flex:0 0 auto!important;text-align:center!important;padding:14px 10px 10px!important;background:transparent!important}
.hb-admin-brand>a{height:102px!important;width:100%!important;display:flex!important;align-items:center!important;justify-content:center!important}
.hb-admin-brand img{
  width:88px!important;height:88px!important;max-width:88px!important;max-height:88px!important;
  object-fit:contain!important;display:block!important;background:transparent!important;
  border:0!important;border-radius:0!important;mix-blend-mode:normal!important;
  filter:drop-shadow(0 5px 10px rgba(0,0,0,.30))!important;
}
.hb-admin-brand-name{color:#fff!important;font:700 20px/1.05 Georgia,"Times New Roman",serif!important;letter-spacing:.5px!important;margin-top:2px!important}
.hb-admin-brand-tag{color:#d8dfe7!important;font:700 9px/1 Arial,sans-serif!important;letter-spacing:3px!important;margin-top:6px!important}
.hb-admin-nav{
  flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;
  display:flex!important;flex-direction:column!important;gap:4px!important;margin:0!important;padding:8px 10px 16px!important;
  scrollbar-width:thin!important;scrollbar-color:rgba(214,162,26,.55) transparent!important;
}
.hb-admin-nav::-webkit-scrollbar{width:5px!important}
.hb-admin-nav::-webkit-scrollbar-thumb{background:rgba(214,162,26,.55)!important;border-radius:10px!important}
.hb-admin-nav a{
  min-height:48px!important;height:48px!important;width:100%!important;box-sizing:border-box!important;
  display:flex!important;align-items:center!important;gap:10px!important;padding:0 9px!important;
  border:1px solid transparent!important;border-radius:10px!important;background:transparent!important;
  color:#f1f4f7!important;font:700 12px/1.15 Arial,sans-serif!important;box-shadow:none!important;
}
.hb-admin-nav a:hover{background:rgba(214,162,26,.09)!important;border-color:rgba(214,162,26,.25)!important;color:#fff!important}
.hb-admin-nav a.active{background:linear-gradient(90deg,#dfa61b,#c98400)!important;border-color:#efc75a!important;color:#fff!important;box-shadow:0 7px 18px rgba(190,126,0,.22)!important}
.hb-admin-nav a.active:before{display:none!important}
.hb-admin-nav a .hb-icon{
  width:36px!important;height:36px!important;min-width:36px!important;border-radius:9px!important;
  display:grid!important;place-items:center!important;background:transparent!important;border:0!important;
  color:#e7ad22!important;box-shadow:none!important;font-size:17px!important;
}
.hb-admin-nav a.active .hb-icon{color:#fff!important;background:transparent!important;border:0!important}
body.hb-admin-page{padding-left:230px!important;box-sizing:border-box!important}
@media(max-width:900px){.hb-admin-sidebar{width:230px!important;transform:translateX(-100%)!important}.hb-admin-sidebar.hb-open{transform:translateX(0)!important}body.hb-admin-page{padding-left:0!important}}

/* ============================================================
   HONEYBEE — SIDEBAR LOCK / IDENTICAL ON EVERY ADMIN PAGE
   UI ONLY. Do not alter navigation, routes, permissions or logic.
   ============================================================ */
:root{--hb-sidebar-lock-width:230px;--hb-sidebar-lock-navy:#0b1b2b;--hb-sidebar-lock-navy2:#10253a;--hb-sidebar-lock-gold:#d6a21a}

/* One fixed sidebar geometry for Dashboard, Bookings, Receipts,
   Manage Rooms, Reports, Transactions, Backup, Cancellations,
   Refunds, Accounts and Settings. */
.hb-admin-sidebar,
body.hb-admin-page .hb-admin-sidebar,
.dashboard-home .hb-admin-sidebar,
.view-bookings .hb-admin-sidebar,
.view-receipts .hb-admin-sidebar,
body.cashier-page .hb-admin-sidebar,
body.cashier-dashboard .hb-admin-sidebar{
  position:fixed!important;
  left:0!important;
  top:0!important;
  bottom:auto!important;
  width:var(--hb-sidebar-lock-width)!important;
  height:100vh!important;
  min-height:100vh!important;
  max-height:100vh!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
  z-index:9999!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  flex:none!important;
  background:linear-gradient(180deg,var(--hb-sidebar-lock-navy) 0%,var(--hb-sidebar-lock-navy2) 56%,#0b1929 100%)!important;
  border-right:1px solid rgba(214,162,26,.72)!important;
  box-shadow:8px 0 24px rgba(5,15,26,.18)!important;
}

/* Brand/logo area never moves when another sidebar item/page is opened. */
.hb-admin-sidebar .hb-admin-brand{
  flex:0 0 auto!important;
  width:100%!important;
  height:auto!important;
  min-height:184px!important;
  margin:0!important;
  padding:14px 10px 10px!important;
  box-sizing:border-box!important;
  text-align:center!important;
  background:transparent!important;
}
.hb-admin-sidebar .hb-admin-brand>a{
  width:100%!important;
  height:102px!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:transparent!important;
  box-shadow:none!important;
}
.hb-admin-sidebar .hb-admin-brand img{
  width:88px!important;
  height:88px!important;
  max-width:88px!important;
  max-height:88px!important;
  min-width:88px!important;
  min-height:88px!important;
  object-fit:contain!important;
  display:block!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  padding:0!important;
  margin:0!important;
  mix-blend-mode:normal!important;
  opacity:1!important;
  filter:drop-shadow(0 5px 10px rgba(0,0,0,.30))!important;
}
.hb-admin-sidebar .hb-admin-brand-name{
  display:block!important;
  margin:2px 0 0!important;
  color:#fff!important;
  font:700 20px/1.05 Georgia,"Times New Roman",serif!important;
  letter-spacing:.5px!important;
}
.hb-admin-sidebar .hb-admin-brand-tag{
  display:block!important;
  margin:6px 0 0!important;
  color:#d8dfe7!important;
  font:700 9px/1 Arial,sans-serif!important;
  letter-spacing:3px!important;
}

/* Only the menu scrolls. The logo/brand stays visible. */
.hb-admin-sidebar .hb-admin-nav{
  flex:1 1 auto!important;
  min-height:0!important;
  width:100%!important;
  margin:0!important;
  padding:8px 10px 16px!important;
  box-sizing:border-box!important;
  display:flex!important;
  flex-direction:column!important;
  gap:4px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  scrollbar-gutter:stable!important;
  scrollbar-width:thin!important;
  scrollbar-color:rgba(214,162,26,.55) transparent!important;
}
.hb-admin-sidebar .hb-admin-nav::-webkit-scrollbar{width:5px!important}
.hb-admin-sidebar .hb-admin-nav::-webkit-scrollbar-track{background:transparent!important}
.hb-admin-sidebar .hb-admin-nav::-webkit-scrollbar-thumb{background:rgba(214,162,26,.55)!important;border-radius:10px!important}

/* Identical item dimensions on every page; active state does not resize or move items. */
.hb-admin-sidebar .hb-admin-nav a{
  flex:0 0 48px!important;
  width:100%!important;
  height:48px!important;
  min-height:48px!important;
  max-height:48px!important;
  margin:0!important;
  padding:0 9px!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  border:1px solid transparent!important;
  border-radius:10px!important;
  background:transparent!important;
  color:#f1f4f7!important;
  text-decoration:none!important;
  font:700 12px/1.15 Arial,sans-serif!important;
  box-shadow:none!important;
  transform:none!important;
}
.hb-admin-sidebar .hb-admin-nav a:hover{
  background:rgba(214,162,26,.09)!important;
  border-color:rgba(214,162,26,.25)!important;
  color:#fff!important;
}
.hb-admin-sidebar .hb-admin-nav a.active{
  background:linear-gradient(90deg,#dfa61b,#c98400)!important;
  border-color:#efc75a!important;
  color:#fff!important;
  box-shadow:0 7px 18px rgba(190,126,0,.22)!important;
}
.hb-admin-sidebar .hb-admin-nav a.active:before{display:none!important}
.hb-admin-sidebar .hb-admin-nav a .hb-icon{
  flex:0 0 36px!important;
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  min-height:36px!important;
  max-width:36px!important;
  max-height:36px!important;
  margin:0!important;
  padding:0!important;
  border-radius:9px!important;
  display:grid!important;
  place-items:center!important;
  box-sizing:border-box!important;
  background:transparent!important;
  border:0!important;
  color:#e7ad22!important;
  box-shadow:none!important;
  font-size:17px!important;
}
.hb-admin-sidebar .hb-admin-nav a.active .hb-icon{color:#fff!important;background:transparent!important;border:0!important}

/* Reserve exactly the same sidebar space everywhere on desktop. */
@media(min-width:901px){
  body.hb-admin-page,
  body.dashboard-home,
  body.view-bookings,
  body.view-receipts,
  body.cashier-page,
  body.cashier-dashboard{
    padding-left:var(--hb-sidebar-lock-width)!important;
    box-sizing:border-box!important;
  }
  .app>.main,
  body.dashboard-home .main,
  body.view-bookings .main,
  body.view-receipts .main{
    margin-left:var(--hb-sidebar-lock-width)!important;
    width:calc(100% - var(--hb-sidebar-lock-width))!important;
    max-width:none!important;
    box-sizing:border-box!important;
    min-width:0!important;
  }
}

/* Mobile keeps the same sidebar design; it becomes a drawer only when the existing
   mobile menu behavior opens it. */
@media(max-width:900px){
  .hb-admin-sidebar{width:var(--hb-sidebar-lock-width)!important;transform:translateX(-100%)!important}
  .hb-admin-sidebar.hb-open{transform:translateX(0)!important}
  body.hb-admin-page,body.dashboard-home,body.view-bookings,body.view-receipts,body.cashier-page,body.cashier-dashboard{padding-left:0!important}
}

/* ============================================================
   HONEYBEE FINAL SIDEBAR CONSISTENCY + TRUE LOGO TRANSPARENCY
   Dashboard / Bookings / Receipts / Rooms / Reports / all Admin
   Same geometry on every page; only the active item changes.
   ============================================================ */
.hb-admin-sidebar,
body .hb-admin-sidebar,
.app > .hb-admin-sidebar{
  width:230px!important;
  min-width:230px!important;
  max-width:230px!important;
  height:100vh!important;
  min-height:100vh!important;
  max-height:100vh!important;
  position:fixed!important;
  left:0!important;
  top:0!important;
  bottom:auto!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  background:linear-gradient(180deg,#0b1b2b 0%,#10253a 56%,#0b1929 100%)!important;
  border-right:1px solid rgba(214,162,26,.72)!important;
  z-index:9999!important;
}

/* Logo area is identical on every page and never scrolls. */
.hb-admin-sidebar .hb-admin-brand,
body .hb-admin-sidebar .hb-admin-brand{
  flex:0 0 184px!important;
  width:230px!important;
  height:184px!important;
  min-height:184px!important;
  max-height:184px!important;
  padding:14px 10px 10px!important;
  margin:0!important;
  box-sizing:border-box!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  text-align:center!important;
  background:transparent!important;
}
.hb-admin-sidebar .hb-admin-brand>a,
body .hb-admin-sidebar .hb-admin-brand>a{
  width:100%!important;
  height:102px!important;
  min-height:102px!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:transparent!important;
  box-shadow:none!important;
}
.hb-admin-sidebar .hb-admin-brand img,
body .hb-admin-sidebar .hb-admin-brand img{
  width:88px!important;
  height:88px!important;
  min-width:88px!important;
  min-height:88px!important;
  max-width:88px!important;
  max-height:88px!important;
  object-fit:contain!important;
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  padding:0!important;
  margin:0!important;
  mix-blend-mode:normal!important;
  filter:drop-shadow(0 5px 10px rgba(0,0,0,.30))!important;
}
.hb-admin-sidebar .hb-admin-brand-name,
body .hb-admin-sidebar .hb-admin-brand-name{
  width:100%!important;
  margin:2px 0 0!important;
  color:#fff!important;
  font:700 20px/1.05 Georgia,"Times New Roman",serif!important;
  letter-spacing:.5px!important;
  text-align:center!important;
}
.hb-admin-sidebar .hb-admin-brand-tag,
body .hb-admin-sidebar .hb-admin-brand-tag{
  width:100%!important;
  margin:6px 0 0!important;
  color:#d8dfe7!important;
  font:700 9px/1 Arial,sans-serif!important;
  letter-spacing:3px!important;
  text-align:center!important;
}

/* Only the menu scrolls. Brand/logo stays fixed and visible. */
.hb-admin-sidebar .hb-admin-nav,
body .hb-admin-sidebar .hb-admin-nav{
  flex:1 1 auto!important;
  width:230px!important;
  min-width:230px!important;
  min-height:0!important;
  margin:0!important;
  padding:8px 10px 16px!important;
  box-sizing:border-box!important;
  display:flex!important;
  flex-direction:column!important;
  gap:4px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  scrollbar-width:thin!important;
  scrollbar-color:rgba(214,162,26,.55) transparent!important;
}

/* Exactly the same menu geometry on every Admin page. */
.hb-admin-sidebar .hb-admin-nav a,
body .hb-admin-sidebar .hb-admin-nav a{
  flex:0 0 48px!important;
  width:210px!important;
  min-width:210px!important;
  max-width:210px!important;
  height:48px!important;
  min-height:48px!important;
  max-height:48px!important;
  margin:0!important;
  padding:0 9px!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  border:1px solid transparent!important;
  border-radius:10px!important;
  background:transparent!important;
  color:#f1f4f7!important;
  font:700 12px/1.15 Arial,sans-serif!important;
  text-decoration:none!important;
  box-shadow:none!important;
  transform:none!important;
}
.hb-admin-sidebar .hb-admin-nav a:hover,
body .hb-admin-sidebar .hb-admin-nav a:hover{
  background:rgba(214,162,26,.09)!important;
  border-color:rgba(214,162,26,.25)!important;
  color:#fff!important;
}
.hb-admin-sidebar .hb-admin-nav a.active,
body .hb-admin-sidebar .hb-admin-nav a.active{
  background:linear-gradient(90deg,#dfa61b,#c98400)!important;
  border-color:#efc75a!important;
  color:#fff!important;
  box-shadow:0 7px 18px rgba(190,126,0,.22)!important;
  transform:none!important;
}
.hb-admin-sidebar .hb-admin-nav a.active:before,
.hb-admin-sidebar .hb-admin-nav a:after{display:none!important;content:none!important}
.hb-admin-sidebar .hb-admin-nav a .hb-icon,
body .hb-admin-sidebar .hb-admin-nav a .hb-icon{
  flex:0 0 36px!important;
  width:36px!important;height:36px!important;
  min-width:36px!important;min-height:36px!important;
  max-width:36px!important;max-height:36px!important;
  margin:0!important;padding:0!important;
  display:grid!important;place-items:center!important;
  border-radius:9px!important;
  background:transparent!important;
  border:0!important;
  color:#e7ad22!important;
  box-shadow:none!important;
  font-size:17px!important;
}
.hb-admin-sidebar .hb-admin-nav a.active .hb-icon,
body .hb-admin-sidebar .hb-admin-nav a.active .hb-icon{
  color:#fff!important;background:transparent!important;border:0!important;
}

/* All desktop Admin content begins after the same 230px sidebar. */
body.hb-admin-page .main,
body.dashboard-home .main,
body.view-bookings .main,
body.view-receipts .main{
  margin-left:230px!important;
  width:calc(100% - 230px)!important;
  max-width:none!important;
  box-sizing:border-box!important;
}

@media(max-width:900px){
  .hb-admin-sidebar,
  body .hb-admin-sidebar,
  .app > .hb-admin-sidebar{
    width:230px!important;
    min-width:230px!important;
    max-width:230px!important;
    transform:translateX(-100%)!important;
  }
  .hb-admin-sidebar.hb-open{transform:translateX(0)!important}
  body.hb-admin-page .main,
  body.dashboard-home .main,
  body.view-bookings .main,
  body.view-receipts .main{
    margin-left:0!important;
    width:100%!important;
  }
}


/* FINAL HEADER FLUSH FIX — Sales Report + Backup & Restore.
   Keep the page header flush against the top edge; no artificial top gap. */
@media (min-width:901px){
  body.hb-admin-page > .container{
    padding-top:0!important;
  }
  body.hb-admin-page > .container > .topbar{
    margin-top:0!important;
  }
  body.hb-admin-page > .wrap{
    margin-top:0!important;
    padding-top:0!important;
  }
}
@media (max-width:900px){
  body.hb-admin-page > .container{
    padding-top:0!important;
  }
  body.hb-admin-page > .wrap{
    margin-top:0!important;
    padding-top:0!important;
  }
}


/* ================================================================
   FINAL TOP-EDGE HEADER FIX — REPORTS + BACKUP/RESTORE
   Header must touch the top edge with no blank strip.
   Sidebar remains at the left; page content scrolls underneath.
   ================================================================ */
@media (min-width:901px){
  body.hb-admin-page > .container{
    position:fixed!important;
    left:230px!important;
    top:0!important;
    right:0!important;
    width:auto!important;
    height:100vh!important;
    max-width:none!important;
    margin:0!important;
    padding:0 32px 56px!important;
    box-sizing:border-box!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }
  body.hb-admin-page > .container > .topbar{
    position:sticky!important;
    top:0!important;
    z-index:100!important;
    margin:0!important;
    border-radius:0!important;
    width:100%!important;
    box-sizing:border-box!important;
  }
  body.hb-admin-page > .wrap{
    position:fixed!important;
    left:230px!important;
    top:0!important;
    right:0!important;
    width:auto!important;
    height:100vh!important;
    max-width:none!important;
    margin:0!important;
    padding:0 32px 48px!important;
    box-sizing:border-box!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }
  body.hb-admin-page > .wrap > .top{
    position:sticky!important;
    top:0!important;
    z-index:100!important;
    margin:0!important;
    padding:18px 0 16px!important;
    background:#faf7ef!important;
    box-sizing:border-box!important;
  }
}
@media (max-width:900px){
  body.hb-admin-page > .container,
  body.hb-admin-page > .wrap{
    margin:0!important;
    padding:0 20px 30px!important;
    max-width:none!important;
    width:100%!important;
    box-sizing:border-box!important;
  }
  body.hb-admin-page > .container > .topbar,
  body.hb-admin-page > .wrap > .top{
    position:sticky!important;
    top:0!important;
    z-index:100!important;
    margin:0!important;
    border-radius:0!important;
  }
}


/* ================================================================
   FINAL UNIFORM ADMIN PAGE HEADER
   Reference: Manage Rooms header.
   Applies only to Admin/Sidebar pages; Guest pages are untouched.
   ================================================================ */

body.hb-admin-page .topbar,
body.hb-admin-page .page-header,
body.hb-admin-page .main > .topbar,
body.hb-admin-page .container > .topbar,
body.hb-admin-page .page-shell > .page-header,
body.hb-admin-page .top > .topbar,
body.dashboard-home .main > .topbar,
body.view-bookings .main > .topbar,
body.view-receipts .main > .topbar,
body.cashier-page .main > .topbar,
body.cashier-dashboard .main > .topbar{
  width:100%!important;
  max-width:none!important;
  min-height:76px!important;
  height:auto!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:14px 20px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  border:0!important;
  border-bottom:1px solid rgba(214,162,26,.78)!important;
  border-radius:0!important;
  background:linear-gradient(180deg,#0d2134 0%,#0b1b2b 100%)!important;
  color:#fff!important;
  box-shadow:0 7px 20px rgba(0,0,0,.14)!important;
  position:relative!important;
  top:auto!important;
  z-index:40!important;
  overflow:visible!important;
}

/* The content pane must start immediately beside the fixed sidebar. */
@media(min-width:901px){
  body.hb-admin-page > .container,
  body.hb-admin-page > .page-shell,
  body.hb-admin-page > main.page{
    margin-top:0!important;
    padding-top:0!important;
  }

  body.hb-admin-page > .container > .topbar,
  body.hb-admin-page > .page-shell > .page-header{
    margin-top:0!important;
  }
}

/* Header title language matches Manage Rooms. */
body.hb-admin-page .topbar .title,
body.hb-admin-page .topbar .topbar-title,
body.hb-admin-page .page-header h1,
body.hb-admin-page .topbar h1,
body.hb-admin-page .topbar h2{
  color:#fff!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-weight:800!important;
  line-height:1.1!important;
  margin:0!important;
}

/* Subtitle stays readable under the title. */
body.hb-admin-page .topbar .subtitle,
body.hb-admin-page .topbar .topbar-subtitle,
body.hb-admin-page .page-header p,
body.hb-admin-page .topbar > div > div[style*="font-size"]{
  color:#c8d2de!important;
}

/* Right-side actions match the Manage Rooms header. */
body.hb-admin-page .topbar .actions,
body.hb-admin-page .page-header .actions,
body.hb-admin-page .topbar-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  margin-left:auto!important;
}

body.hb-admin-page .topbar .actions .btn,
body.hb-admin-page .page-header .actions .btn,
body.hb-admin-page .topbar-actions .btn{
  min-height:42px!important;
  border-radius:10px!important;
}

/* No white/cream strip above standalone admin headers. */
body.hb-admin-page:has(.topbar),
body.hb-admin-page:has(.page-header){
  padding-top:0!important;
}

/* Mobile keeps the same header language while allowing wrapping. */
@media(max-width:900px){
  body.hb-admin-page .topbar,
  body.hb-admin-page .page-header{
    min-height:70px!important;
    padding:12px 14px!important;
    flex-wrap:wrap!important;
  }
}



/* ================================================================
   HONEYBEE ADMIN UNIFORM SHELL — MANAGE ROOMS REFERENCE
   UI/layout only. Keep sidebar width and page content geometry uniform.
   ================================================================ */
@media (min-width:901px){
  body.hb-admin-page{
    overflow-x:hidden!important;
  }

  /* Every sidebar page gets the same content pane geometry as Manage Rooms. */
  body.hb-admin-page > .app > .main,
  body.hb-admin-page > .main,
  body.hb-admin-page > .container,
  body.hb-admin-page > main.page,
  body.hb-admin-page > .wrap{
    box-sizing:border-box!important;
    width:calc(100% - 230px)!important;
    max-width:none!important;
    min-width:0!important;
    margin-left:230px!important;
    margin-right:0!important;
    margin-top:0!important;
  }

  body.hb-admin-page > .app > .main,
  body.hb-admin-page > .main{
    padding:22px 28px 48px!important;
  }

  body.hb-admin-page > .container{
    padding:0 28px 48px!important;
  }

  body.hb-admin-page > main.page{
    padding:22px 28px 48px!important;
  }

  body.hb-admin-page > .wrap{
    padding:0 28px 48px!important;
  }

  /* Reference header geometry: full content width, compact 76-ish px band. */
  body.hb-admin-page .topbar,
  body.hb-admin-page .page-header,
  body.hb-admin-page .wrap > .top,
  body.hb-admin-page .container > .topbar{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    min-height:76px!important;
    box-sizing:border-box!important;
    margin:0 0 16px!important;
    padding:14px 16px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:14px!important;
    flex-wrap:nowrap!important;
    overflow:visible!important;
    border-radius:14px!important;
    border:1px solid #e2bd58!important;
    background:linear-gradient(180deg,#0d2134 0%,#102a40 100%)!important;
    color:#fff!important;
    box-shadow:0 6px 18px rgba(30,45,65,.12)!important;
  }

  /* Backup & Restore uses .top instead of .topbar. */
  body.hb-admin-page .wrap > .top{
    position:relative!important;
    top:auto!important;
    padding:14px 16px!important;
  }

  /* Transaction History uses .top inside main.page. */
  body.hb-admin-page main.page > .top{
    width:100%!important;
    max-width:none!important;
    min-height:76px!important;
    margin:0 0 16px!important;
    padding:14px 16px!important;
    box-sizing:border-box!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:14px!important;
    border-radius:14px!important;
    border:1px solid #e2bd58!important;
    background:linear-gradient(180deg,#0d2134 0%,#102a40 100%)!important;
    color:#fff!important;
  }

  /* Header typography follows the Manage Rooms hierarchy. */
  body.hb-admin-page .topbar .title,
  body.hb-admin-page .topbar .topbar-title,
  body.hb-admin-page .topbar h1,
  body.hb-admin-page .page-header h1,
  body.hb-admin-page .wrap > .top h1,
  body.hb-admin-page main.page > .top h1{
    margin:0!important;
    color:#fff!important;
    font-family:Georgia,"Times New Roman",serif!important;
    font-size:28px!important;
    font-weight:800!important;
    line-height:1.15!important;
  }

  body.hb-admin-page .topbar p,
  body.hb-admin-page .topbar .subtitle,
  body.hb-admin-page .topbar .topbar-subtitle,
  body.hb-admin-page .page-header .subtitle,
  body.hb-admin-page .wrap > .top p,
  body.hb-admin-page main.page > .top p{
    margin:4px 0 0!important;
    color:#c8d2de!important;
    line-height:1.35!important;
  }

  /* Keep right-side controls on one clean line like Manage Rooms. */
  body.hb-admin-page .topbar .actions,
  body.hb-admin-page .page-header .actions,
  body.hb-admin-page .wrap > .top .actions,
  body.hb-admin-page main.page > .top .toolbar{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:8px!important;
    margin-left:auto!important;
    flex-wrap:wrap!important;
    min-width:0!important;
  }

  body.hb-admin-page .topbar .actions .btn,
  body.hb-admin-page .page-header .actions .btn,
  body.hb-admin-page .wrap > .top .actions .btn,
  body.hb-admin-page main.page > .top .toolbar .btn{
    min-height:42px!important;
    box-sizing:border-box!important;
    border-radius:9px!important;
  }

  /* Prevent cards/forms from becoming wider than the page content pane. */
  body.hb-admin-page .container > *,
  body.hb-admin-page .main > *,
  body.hb-admin-page main.page > *,
  body.hb-admin-page .wrap > *{
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  /* Standard two-column/card layouts should not be clipped. */
  body.hb-admin-page .cards,
  body.hb-admin-page .card-grid,
  body.hb-admin-page .form-grid,
  body.hb-admin-page .content-grid,
  body.hb-admin-page .stat-grid,
  body.hb-admin-page .chart-grid{
    min-width:0!important;
    width:100%!important;
  }

  body.hb-admin-page table{
    max-width:100%!important;
  }
}

@media (max-width:900px){
  body.hb-admin-page > .app > .main,
  body.hb-admin-page > .main,
  body.hb-admin-page > .container,
  body.hb-admin-page > main.page,
  body.hb-admin-page > .wrap{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:14px!important;
    box-sizing:border-box!important;
  }

  body.hb-admin-page .topbar,
  body.hb-admin-page .page-header,
  body.hb-admin-page .wrap > .top,
  body.hb-admin-page main.page > .top{
    width:100%!important;
    min-height:70px!important;
    margin:0 0 14px!important;
    padding:12px 14px!important;
    flex-wrap:wrap!important;
    border-radius:12px!important;
  }

  body.hb-admin-page .topbar .topbar-title,
  body.hb-admin-page .topbar h1,
  body.hb-admin-page .page-header h1,
  body.hb-admin-page .wrap > .top h1,
  body.hb-admin-page main.page > .top h1{
    font-size:22px!important;
  }
}
