/* =========================================================
   ONE COIN GARDENS — SHADCN UI KIT HOTEL THEME (CSS ONLY)
   Loads after all other themes. Re-skins AdminLTE/Bootstrap 3
   classes. No markup, modules, logic, or features changed.
   Look: charcoal sidebar • white cards • gold accents
   ========================================================= */

/* ---- Remap legacy --sneat-* tokens to hotel palette ----
   (dashboard inline styles use --sneat-*; they follow auto) */
:root {
  --sneat-bg: #F4F4F5;
  --sneat-surface: #FFFFFF;
  --sneat-surface-2: #FAFAFA;
  --sneat-text: #09090B;
  --sneat-muted: #71717A;
  --sneat-border: #E4E4E7;
  --sneat-primary: #09090B;
  --sneat-primary-600: #27272A;
  --sneat-primary-700: #18181B;
  --sneat-primary-400: #71717A;
  --sneat-primary-100: #E4E4E7;
  --sneat-primary-50: #FAFAFA;
  --sneat-accent: #C9A227;
  --sneat-success: #16A34A;
  --sneat-danger: #DC2626;
  --sneat-warning: #D97706;
  --sneat-shadow: 0 1px 2px rgba(0,0,0,.04), 0 4px 16px -8px rgba(0,0,0,.08);
  --sneat-radius: 12px;
}

/* =========================================================
   BASE
   ========================================================= */
body {
  background: var(--hotel-bg, #F4F4F5) !important;
  color: #09090B !important;
  font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif !important;
}
h1, h2, h3, h4, h5, h6 { color: #09090B; font-weight: 600; letter-spacing: -0.01em; }
a { color: #09090B; }
a:hover { color: #C9A227; }
::selection { background: #FBF3D9; color: #09090B; }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #D4D4D8; border-radius: 8px; border: 2px solid #F4F4F5; }
::-webkit-scrollbar-thumb:hover { background: #A1A1AA; }

/* =========================================================
   LAYOUT SHELL
   ========================================================= */
.wrapper { background: transparent !important; }
.content-wrapper { background: var(--hotel-bg, #F4F4F5) !important; }

/* Content page title + breadcrumb */
.content-header { padding: 18px 8px 6px !important; }
.content-header > h1 {
  font-size: 1.55rem !important;
  font-weight: 700 !important;
  color: #09090B !important;
}
.content-header .breadcrumb {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  padding: 4px 2px !important;
  font-size: 12.5px;
}
.content-header .breadcrumb > li + li:before { color: #A1A1AA; }
.content-header .breadcrumb > li > a { color: #71717A; font-weight: 500; }
.content-header .breadcrumb > li.active { color: #09090B; font-weight: 600; }

/* =========================================================
   CARDS / BOXES — shadcn Card
   ========================================================= */
.box,
.nav-tabs-custom {
  background: #FFFFFF !important;
  border: 1px solid #E4E4E7 !important;
  border-radius: 12px !important;
  box-shadow: 0 1px 2px rgba(0,0,0,.04), 0 4px 16px -8px rgba(0,0,0,.08) !important;
  overflow: hidden;
}
.box-header {
  background: transparent !important;
  border-bottom: 1px solid #F4F4F5 !important;
  padding: 14px 18px !important;
}
.box-header.with-border { border-bottom: 1px solid #E4E4E7 !important; }
.box-title { font-weight: 600 !important; color: #09090B !important; font-size: 15px !important; }
.box-body { padding: 18px !important; color: #09090B; }
.box-footer {
  background: #FAFAFA !important;
  border-top: 1px solid #E4E4E7 !important;
  padding: 14px 18px !important;
  border-radius: 0 0 12px 12px;
}
.box-tools .btn { border-radius: 8px !important; }
.box-tools .btn-group > .btn { border-radius: 8px !important; margin-left: 2px; }

/* Filter / toggle button groups (box-tools) — segmented control */
.box-tools .btn-default { background: #FFFFFF !important; border: 1px solid #E4E4E7 !important; color: #3F3F46 !important; }
.box-tools .btn-default:hover { background: #FAFAFA !important; color: #09090B !important; }

/* =========================================================
   BUTTONS — shadcn Button
   ========================================================= */
.btn {
  border-radius: 8px !important;
  font-weight: 500 !important;
  transition: all .15s ease;
  border: 1px solid transparent;
}
.btn:focus, .btn:focus-visible {
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(22,163,74,.30) !important;
}
.btn-default, .btn.bg-white {
  background: #FFFFFF !important;
  border-color: #D4D4D8 !important;
  color: #09090B !important;
  box-shadow: 0 1px 2px rgba(0,0,0,.04);
}
.btn-default:hover, .btn-default:focus {
  background: #FAFAFA !important;
  border-color: #A1A1AA !important;
  color: #09090B !important;
}
.btn-primary { background: #16A34A !important; border-color: #16A34A !important; color: #fff !important; }
.btn-primary:hover, .btn-primary:focus { background: #15803D !important; border-color: #15803D !important; }
.btn-success { background: #16A34A !important; border-color: #16A34A !important; color: #fff !important; }
.btn-success:hover, .btn-success:focus { background: #15803D !important; border-color: #15803D !important; }
.btn-warning { background: #D97706 !important; border-color: #D97706 !important; color: #fff !important; }
.btn-warning:hover, .btn-warning:focus { background: #B45309 !important; border-color: #B45309 !important; }
.btn-danger { background: #DC2626 !important; border-color: #DC2626 !important; color: #fff !important; }
.btn-danger:hover, .btn-danger:focus { background: #B91C1C !important; border-color: #B91C1C !important; }
.btn-info { background: #2563EB !important; border-color: #2563EB !important; color: #fff !important; }
.btn-info:hover, .btn-info:focus { background: #1D4ED8 !important; border-color: #1D4ED8 !important; }
.btn-group > .btn { border-radius: 8px !important; }
.btn-group > .btn + .btn { margin-left: 2px !important; }
.btn-app { border-radius: 10px !important; background: #fff !important; color: #3F3F46 !important; border: 1px solid #E4E4E7 !important; }
.btn-app:hover { background: #FAFAFA !important; color: #09090B !important; }

/* =========================================================
   LABELS / BADGES — shadcn Badge (soft, pill)
   ========================================================= */
.label {
  border-radius: 999px !important;
  padding: 4px 10px !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .01em;
  display: inline-block;
  line-height: 1.4;
}
.label-default { background: #F4F4F5 !important; color: #3F3F46 !important; border: 1px solid #E4E4E7 !important; }
.label-primary { background: #E4E4E7 !important; color: #09090B !important; }
.label-success { background: #DCFCE7 !important; color: #15803D !important; }
.label-warning { background: #FEF3C7 !important; color: #B45309 !important; }
.label-danger  { background: #FEE2E2 !important; color: #B91C1C !important; }
.label-info    { background: #DBEAFE !important; color: #1D4ED8 !important; }
.badge { border-radius: 999px; font-weight: 600; }

/* =========================================================
   TABLES — shadcn Table
   ========================================================= */
.table { margin-bottom: 0 !important; color: #09090B !important; }
.table > thead > tr > th {
  background: #FAFAFA !important;
  color: #52525B !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: .05em;
  border-bottom: 1px solid #E4E4E7 !important;
}
.table > tbody > tr > td {
  border-top: 1px solid #F4F4F5 !important;
  vertical-align: middle !important;
  padding: 12px 8px !important;
}
.table > tbody > tr:hover > td, .table-hover > tbody > tr:hover {
  background: #FAFAFA !important;
}
.table-striped > tbody > tr:nth-of-type(odd) { background: transparent !important; }
.table-bordered, .table-bordered > thead > tr > th,
.table-bordered > thead > tr > td, .table-bordered > tbody > tr > td {
  border-color: #E4E4E7 !important;
}
.table > thead > tr > th:first-child, .table > tbody > tr > td:first-child { padding-left: 18px !important; }
.table > thead > tr > th:last-child, .table > tbody > tr > td:last-child { padding-right: 18px !important; }
.table-responsive { border: none !important; }

/* =========================================================
   FORMS — shadcn Input
   ========================================================= */
.form-control {
  border-radius: 8px !important;
  border: 1px solid #D4D4D8 !important;
  box-shadow: 0 1px 2px rgba(0,0,0,.04) !important;
  color: #09090B !important;
  background: #FFFFFF !important;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.form-control:focus {
  border-color: #16A34A !important;
  box-shadow: 0 0 0 3px rgba(22,163,74,.22) !important;
}
.form-control::placeholder { color: #A1A1AA; }
.input-group-addon {
  background: #FAFAFA !important;
  border: 1px solid #D4D4D8 !important;
  border-radius: 8px !important;
  color: #52525B !important;
}
.input-group .form-control:first-child, .input-group-addon:first-child { border-radius: 8px 0 0 8px !important; }
.input-group .input-group-addon:last-child { border-radius: 0 8px 8px 0 !important; }
label { color: #09090B; font-weight: 600 !important; }
.help-block { color: #71717A; }
.radio label, .checkbox label { font-weight: 500 !important; }

/* =========================================================
   TOP HEADER — white bar, charcoal logo, gold accents
   ========================================================= */
.main-header { box-shadow: none !important; }
.main-header .navbar {
  background: #FFFFFF !important;
  background-image: none !important;
  border-bottom: 1px solid #E4E4E7 !important;
}
.main-header .logo {
  background: #FFFFFF !important;
  color: #09090B !important;
  border-bottom: 1px solid #E4E4E7 !important;
  box-shadow: none !important;
}
.main-header .logo:hover { background: #FAFAFA !important; }
.main-header .logo span[style*="color:#ffffff"],
.main-header .logo span[style*="color: #ffffff"] { color: #09090B !important; }
.main-header .navbar .sidebar-toggle { color: #09090B !important; }
.main-header .navbar .sidebar-toggle:hover { background: #FAFAFA !important; color: #C9A227 !important; }
.navbar-custom-menu > .navbar-nav > li > a { color: #09090B !important; }
.navbar-custom-menu > .navbar-nav > li > a:hover { background: #FAFAFA !important; }
.main-header .label-warning,
.main-header .label.label-warning {
  background: #16A34A !important;
  color: #FFFFFF !important;
  border-radius: 999px !important;
  font-weight: 700 !important;
  border: none !important;
}

/* Header dropdowns — shadcn popover look */
.main-header .dropdown-menu {
  border: 1px solid #E4E4E7 !important;
  border-radius: 12px !important;
  box-shadow: 0 12px 32px -12px rgba(0,0,0,.18) !important;
  padding: 6px !important;
  overflow: hidden;
}
.main-header .dropdown-menu > li > a,
.main-header .dropdown-menu .menu > li > a {
  border-radius: 8px !important;
  color: #09090B !important;
  border-bottom: none !important;
  transition: background .15s ease;
}
.main-header .dropdown-menu > li > a:hover,
.main-header .dropdown-menu .menu > li > a:hover { background: #FAFAFA !important; }
.main-header .notifications-menu .menu { max-height: 320px; overflow-y: auto; }
.main-header .dropdown-menu .header,
.main-header .dropdown-menu .footer {
  background: transparent !important;
  border-color: #E4E4E7 !important;
  color: #71717A !important;
  font-weight: 600;
}
.main-header .dropdown-menu .footer > a { color: #C9A227 !important; font-weight: 700; }

/* =========================================================
   SIDEBAR — LIGHT with gold active accent
   ========================================================= */
.main-sidebar {
  background: #FFFFFF !important;
  box-shadow: 1px 0 0 #E4E4E7 inset;
}
.main-sidebar .sidebar { background: transparent !important; }
.user-panel > .image > img { border: 2px solid #C9A227 !important; }
.user-panel > .info, .user-panel > .info > a { color: #09090B !important; }
.user-panel > .info > a:hover { color: #C9A227 !important; }
.sidebar-menu > li.header {
  background: transparent !important;
  color: #A1A1AA !important;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: 11px;
  font-weight: 700;
  padding: 18px 16px 6px !important;
}
.sidebar-menu > li > a {
  color: #52525B !important;
  border-left: 3px solid transparent !important;
  border-radius: 10px;
  margin: 2px 10px;
  padding: 11px 14px !important;
  font-weight: 500;
  transition: background .15s ease, color .15s ease;
}
.sidebar-menu > li > a .fa { color: inherit; }
.sidebar-menu > li:hover > a {
  background: #F4F4F5 !important;
  color: #09090B !important;
  border-left-color: #16A34A !important;
}
.sidebar-menu > li.active > a {
  background: #F0FDF4 !important;
  color: #09090B !important;
  border-left-color: #16A34A !important;
  font-weight: 600;
}
.sidebar-menu > li.active > a .fa { color: #16A34A !important; }
.sidebar-menu > li > .treeview-menu {
  background: #FAFAFA !important;
  border: 1px solid #F4F4F5;
  border-radius: 10px;
  margin: 2px 10px 8px 26px;
  padding: 6px !important;
}
.treeview-menu > li > a {
  color: #71717A !important;
  border-radius: 8px;
  padding: 8px 12px !important;
  transition: background .15s ease, color .15s ease;
}
.treeview-menu > li > a:hover { background: #F4F4F5 !important; color: #09090B !important; }
.treeview-menu > li.active > a { color: #B45309 !important; font-weight: 600; }
.treeview-menu > li.active > a .fa { color: #C9A227 !important; }
.sidebar-mini.sidebar-collapse .sidebar-menu > li > a {
  margin: 4px 8px;
  padding: 12px 0 !important;
  text-align: center;
}
.sidebar-mini.sidebar-collapse .sidebar-menu > li.header { padding: 12px 0 4px !important; font-size: 10px; }

/* =========================================================
   TABS — shadcn Tabs inside .nav-tabs-custom
   ========================================================= */
.nav-tabs-custom > .nav-tabs {
  border-bottom: 1px solid #E4E4E7 !important;
  margin: 0 !important;
  padding: 6px 10px 0 !important;
  background: #FFFFFF !important;
  border-radius: 12px 12px 0 0;
}
.nav-tabs-custom > .nav-tabs > li { margin: 0 2px !important; border: none !important; }
.nav-tabs-custom > .nav-tabs > li > a {
  border: none !important;
  border-radius: 8px 8px 0 0 !important;
  color: #71717A !important;
  font-weight: 600 !important;
  padding: 10px 16px !important;
  transition: color .15s ease, background .15s ease;
}
.nav-tabs-custom > .nav-tabs > li > a:hover { color: #09090B !important; background: #FAFAFA !important; }
.nav-tabs-custom > .nav-tabs > li.active { border-top: none !important; }
.nav-tabs-custom > .nav-tabs > li.active > a,
.nav-tabs-custom > .nav-tabs > li.active > a:hover {
  color: #09090B !important;
  background: transparent !important;
  border: none !important;
  border-bottom: 2px solid #16A34A !important;
}
.nav-tabs-custom > .tab-content { background: #FFFFFF !important; padding: 18px !important; }
.nav-tabs { border-bottom: 1px solid #E4E4E7 !important; }
.nav-tabs > li > a { border-radius: 8px 8px 0 0 !important; color: #71717A !important; transition: color .15s ease, background .15s ease; }
.nav-tabs > li > a:hover { background: #FAFAFA !important; color: #09090B !important; }
.nav-tabs > li.active > a, .nav-tabs > li.active > a:focus, .nav-tabs > li.active > a:hover {
  color: #09090B !important;
  border: 1px solid #E4E4E7 !important;
  border-bottom-color: #FFFFFF !important;
  box-shadow: inset 0 -2px 0 #16A34A;
}

/* =========================================================
   MODALS — shadcn Dialog
   ========================================================= */
.modal-content {
  border: 1px solid #E4E4E7 !important;
  border-radius: 14px !important;
  box-shadow: 0 24px 48px -12px rgba(0,0,0,.25) !important;
}
.modal-header { border-bottom: 1px solid #F4F4F5 !important; }
.modal-header .modal-title { font-weight: 600; color: #09090B; }
.modal-body { color: #09090B; }
.modal-footer {
  background: #FAFAFA !important;
  border-top: 1px solid #E4E4E7 !important;
  border-radius: 0 0 14px 14px;
}

/* =========================================================
   PAGINATION — shadcn Pagination
   ========================================================= */
.pagination > li > a, .pagination > li > span {
  border: 1px solid #E4E4E7 !important;
  background: #FFFFFF !important;
  color: #3F3F46 !important;
  border-radius: 8px !important;
  margin: 0 2px !important;
  box-shadow: 0 1px 2px rgba(0,0,0,.04) !important;
  transition: background .15s ease, border-color .15s ease;
}
.pagination > li > a:hover { background: #FAFAFA !important; border-color: #A1A1AA !important; color: #09090B !important; }
.pagination > .active > a, .pagination > .active > span {
  background: #16A34A !important;
  border-color: #16A34A !important;
  color: #FFFFFF !important;
}

/* DataTables chrome */
.dataTables_wrapper .dataTables_filter input {
  border: 1px solid #D4D4D8 !important;
  border-radius: 8px !important;
  padding: 6px 10px !important;
  margin-left: 8px !important;
  outline: none;
}
.dataTables_wrapper .dataTables_filter input:focus {
  border-color: #16A34A !important;
  box-shadow: 0 0 0 3px rgba(22,163,74,.22);
}
.dataTables_wrapper .dataTables_length select {
  border: 1px solid #D4D4D8 !important;
  border-radius: 8px !important;
  padding: 4px 8px !important;
  outline: none;
}
.dataTables_wrapper .dataTables_info { color: #71717A !important; padding-top: 12px !important; }
.dataTables_wrapper .dataTables_paginate .paginate_button {
  border-radius: 8px !important;
  border: 1px solid transparent !important;
  color: #3F3F46 !important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
  background: #FAFAFA !important;
  color: #09090B !important;
  border: 1px solid #E4E4E7 !important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.current {
  background: #16A34A !important;
  color: #FFFFFF !important;
  border-radius: 8px !important;
  border: 1px solid #16A34A !important;
}

/* =========================================================
   KPI CARDS — info-box / small-box
   ========================================================= */
.info-box {
  border-radius: 12px !important;
  border: 1px solid #E4E4E7 !important;
  background: #FFFFFF !important;
  box-shadow: 0 1px 2px rgba(0,0,0,.04) !important;
  min-height: 88px;
}
.info-box-icon {
  border-radius: 10px !important;
  background: #F4F4F5 !important;
  color: #09090B !important;
  height: 56px !important;
  line-height: 56px !important;
  width: 56px !important;
  margin: 16px 0 16px 16px !important;
}
.info-box-content { padding: 16px 16px 16px 12px !important; }
.info-box-text { color: #71717A !important; font-weight: 600 !important; font-size: 12px !important; text-transform: uppercase; letter-spacing: .04em; }
.info-box-number { color: #09090B !important; font-weight: 700 !important; font-size: 22px !important; letter-spacing: -0.01em; }
.small-box { border-radius: 12px !important; color: #fff !important; box-shadow: 0 1px 2px rgba(0,0,0,.04), 0 4px 16px -8px rgba(0,0,0,.08) !important; }
.small-box .icon { color: rgba(255,255,255,.28) !important; }
.small-box > .small-box-footer { background: rgba(0,0,0,.14) !important; color: rgba(255,255,255,.95) !important; transition: background .15s ease; }
.small-box > .small-box-footer:hover { background: rgba(0,0,0,.24) !important; color: #FFFFFF !important; }
.small-box.bg-green { background: #16A34A !important; }
.small-box.bg-aqua  { background: #0891B2 !important; }
.small-box.bg-blue, .small-box.bg-light-blue { background: #2563EB !important; }
.small-box.bg-yellow { background: #D97706 !important; }
.small-box.bg-red { background: #DC2626 !important; }
.small-box.bg-orange { background: #EA580C !important; }
.small-box.bg-teal { background: #0D9488 !important; }
.small-box.bg-purple { background: #7C3AED !important; }
.small-box.bg-navy { background: #1E293B !important; }
.small-box.bg-maroon { background: #9F1239 !important; }

/* =========================================================
   FOOTER & ALERTS
   ========================================================= */
.main-footer {
  background: transparent !important;
  border-top: 1px solid #E4E4E7 !important;
  color: #71717A !important;
  font-size: 12.5px;
}
.main-footer strong { color: #09090B; }
.alert { border-radius: 10px !important; border: 1px solid transparent !important; }
.alert-success { background: #F0FDF4 !important; border-color: #BBF7D0 !important; color: #15803D !important; }
.alert-warning { background: #FFFBEB !important; border-color: #FDE68A !important; color: #B45309 !important; }
.alert-danger  { background: #FEF2F2 !important; border-color: #FECACA !important; color: #B91C1C !important; }
.alert-info    { background: #EFF6FF !important; border-color: #BFDBFE !important; color: #1D4ED8 !important; }

/* =========================================================
   SNEAT DASHBOARD CARDS — shadcn Card style
   ========================================================= */
.sneat-card {
  background: #FFFFFF !important;
  border: 1px solid #E4E4E7 !important;
  border-radius: 12px !important;
  box-shadow: 0 1px 2px rgba(0,0,0,.04), 0 4px 16px -8px rgba(0,0,0,.08) !important;
}
.sneat-card-header {
  padding: 14px 18px !important;
  border-bottom: 1px solid #F4F4F5 !important;
  display: flex !important;
  align-items: center;
  gap: 10px;
}
.sneat-card-title { font-weight: 600 !important; color: #09090B !important; font-size: 15px !important; }
.sneat-card-body { padding: 16px 18px !important; color: #09090B; }
.sneat-kpi {
  background: #FFFFFF !important;
  border: 1px solid #E4E4E7 !important;
  border-radius: 12px !important;
  box-shadow: 0 1px 2px rgba(0,0,0,.04) !important;
}
.sneat-kpi-title { color: #71717A !important; font-weight: 600 !important; }
.sneat-kpi-value { color: #09090B !important; font-weight: 700 !important; letter-spacing: -0.01em; }
.sneat-kpi-sub { color: #71717A !important; }

/* =========================================================
   CHARTS & PLUGINS
   ========================================================= */
.morris-hover { border-radius: 10px !important; border: 1px solid #E4E4E7 !important; box-shadow: 0 12px 32px -12px rgba(0,0,0,.18) !important; }
.morris-hover .morris-hover-row-label { background: #09090B !important; border-radius: 6px; font-weight: 600; }
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
  border: 1px solid #D4D4D8 !important;
  border-radius: 8px !important;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--focus .select2-selection--multiple {
  border-color: #16A34A !important;
  box-shadow: 0 0 0 3px rgba(22,163,74,.22);
}
.select2-dropdown { border: 1px solid #E4E4E7 !important; border-radius: 10px !important; box-shadow: 0 12px 32px -12px rgba(0,0,0,.18) !important; }
.select2-container--default .select2-results__option--highlighted[aria-selected] { background: #FAFAFA !important; color: #09090B !important; }
.daterangepicker {
  border: 1px solid #E4E4E7 !important;
  border-radius: 12px !important;
  box-shadow: 0 12px 32px -12px rgba(0,0,0,.18) !important;
  font-family: 'Inter', sans-serif !important;
}
.daterangepicker .calendar-table { border-radius: 10px !important; }
.daterangepicker td.active, .daterangepicker td.active:hover { background: #16A34A !important; color: #fff !important; border-radius: 6px; }
.daterangepicker td.in-range { background: #F0FDF4 !important; color: #09090B; }
.daterangepicker .ranges li.active { background: #16A34A !important; color: #fff !important; border-radius: 8px; }
.daterangepicker .applyBtn { background: #16A34A !important; border-color: #16A34A !important; border-radius: 8px !important; }
.daterangepicker .cancelBtn { background: #FFFFFF !important; border: 1px solid #D4D4D8 !important; border-radius: 8px !important; color: #09090B !important; }
.progress { border-radius: 999px !important; background: #F4F4F5 !important; box-shadow: none !important; }
.progress-bar { border-radius: 999px; }
.panel { border: 1px solid #E4E4E7 !important; border-radius: 12px !important; box-shadow: 0 1px 2px rgba(0,0,0,.04) !important; }
.panel-heading { border-radius: 11px 11px 0 0 !important; background: #FAFAFA !important; border-bottom: 1px solid #E4E4E7 !important; }
.well { background: #FAFAFA !important; border: 1px solid #E4E4E7 !important; border-radius: 10px !important; box-shadow: none !important; }

/* SweetAlert2 — shadcn Dialog feel */
.swal2-popup { border-radius: 14px !important; font-family: 'Inter', sans-serif !important; }
.swal2-confirm { background: #16A34A !important; border-radius: 8px !important; }
.swal2-cancel { background: #FFFFFF !important; border: 1px solid #D4D4D8 !important; color: #09090B !important; border-radius: 8px !important; }

/* Print stays clean and readable */
@media print {
  .main-sidebar, .main-header, .main-footer { display: none !important; }
  .content-wrapper { background: #FFFFFF !important; }
  .box, .nav-tabs-custom { box-shadow: none !important; border: 1px solid #DDD !important; }
}

/* =========================================================
   OVERHAUL POLISH — v2 refinements
   ========================================================= */

/* Table-row action buttons → subtle ghost icon buttons
   (scoped to table cells only; primary action buttons outside
   tables keep their solid colors) */
.table td .btn,
.table th .btn,
.btn-group .btn[data-action],
.table .btn-group .btn {
  background: #FFFFFF !important;
  border: 1px solid #E4E4E7 !important;
  color: #52525B !important;
  box-shadow: 0 1px 2px rgba(0,0,0,.04) !important;
  padding: 5px 9px !important;
  line-height: 1.2;
}
.table td .btn .fa { color: inherit !important; }
.table td .btn:hover,
.table .btn-group .btn:hover { background: #F4F4F5 !important; color: #09090B !important; border-color: #D4D4D8 !important; }
.table td .btn-danger:hover { color: #DC2626 !important; border-color: #FECACA !important; background: #FEF2F2 !important; }
.table td .btn-warning:hover { color: #D97706 !important; border-color: #FDE68A !important; background: #FFFBEB !important; }
.table td .btn-success:hover { color: #16A34A !important; border-color: #BBF7D0 !important; background: #F0FDF4 !important; }
.table td .btn-info:hover { color: #2563EB !important; border-color: #BFDBFE !important; background: #EFF6FF !important; }
.table td .btn-primary:hover { color: #09090B !important; }

/* Compact button sizes */
.btn-sm { border-radius: 7px !important; }
.btn-xs { border-radius: 6px !important; padding: 3px 7px !important; font-size: 11px !important; }

/* Card hover — subtle lift */
.box,
.sneat-card,
.info-box { transition: box-shadow .2s ease, transform .2s ease; }
.box:hover,
.sneat-card:hover { box-shadow: 0 2px 4px rgba(0,0,0,.05), 0 12px 28px -12px rgba(0,0,0,.14) !important; }

/* KPI small-box lift */
.small-box { transition: transform .2s ease, box-shadow .2s ease; }
.small-box:hover { transform: translateY(-2px); }

/* Content header hairline */
.content-header { border-bottom: 1px solid #E4E4E7 !important; margin-bottom: 4px !important; }

/* Treeview arrows muted */
.sidebar-menu .pull-right-container > .fa,
.sidebar-menu .fa-angle-left { color: #A1A1AA !important; }
.sidebar-menu > li.active .pull-right-container > .fa { color: #C9A227 !important; }

/* Logo image in header on light block */
.main-header .logo img { background: #FFFFFF !important; box-shadow: none !important; }

/* DataTables length/info spacing harmony */
.dataTables_wrapper { padding-top: 2px; color: #71717A; }
.dataTables_wrapper .dataTables_length, .dataTables_wrapper .dataTables_filter { color: #71717A; }

/* Empty states */
.text-muted { color: #A1A1AA !important; }

/* Global focus ring for keyboard users */
a:focus-visible, .btn:focus-visible, .form-control:focus-visible {
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(22,163,74,.30) !important;
}

/* Notification dropdown labels harmony */
.main-header .notifications-menu .menu .fa-warning { color: #D97706 !important; }
.main-header .notifications-menu .menu .fa-check { color: #16A34A !important; }

/* =========================================================
   DASHBOARD HARMONIZATION — unified hotel palette
   (fixes the many-colors issue on the overview page)
   ========================================================= */

/* KPI cards: uniform white cards with a slim green top accent */
.sneat-kpi {
  background: #FFFFFF !important;
  border: 1px solid #E4E4E7 !important;
  box-shadow: 0 1px 2px rgba(0,0,0,.04) !important;
  border-top: 3px solid #16A34A !important;
  position: relative;
}
.sneat-kpi-value,
.sneat-kpi-value small,
.sneat-kpi-value span {
  color: #09090B !important;
}
/* neutralize legacy green from the dashboard's own style block */
.sneat-kpi-value { color: #09090B !important; letter-spacing: -0.01em; }
.sneat-kpi-title { color: #71717A !important; }
.sneat-kpi-sub { color: #71717A !important; }

/* Dashboard section titles neutral */
.sneat-section-title { color: #09090B !important; }

/* Card header icons: gold, subtle */
.sneat-card-header > i { color: #C9A227 !important; }

/* Room number pill in Recent Reservations → neutral chip (was green) */
.sneat-card .table td .label.label-success.pull-right {
  background: #F4F4F5 !important;
  color: #3F3F46 !important;
  border: 1px solid #E4E4E7 !important;
  font-weight: 600;
}

/* Dashboard legend dots recolored to match new chart palette */
.sneat-card .fa-circle[style*="--sneat-primary"] { color: #16A34A !important; }
.sneat-card .fa-circle[style*="#f56954"] { color: #DC2626 !important; }

/* Dashboard chart area tones */
.sneat-card .chart { color: #71717A; }

/* Summary strip in analytics card → neutral values */
.sneat-card [style*="font-weight:900"] { letter-spacing: -0.01em; }

/* Morris line points: green */
#sneat-sales-chart svg circle { fill: #16A34A; }

/* =========================================================
   HOTEL METRIC CARDS — Current Occupancy / ADR / RevPAR
   Green-valued cards on the dashboard KPI row
   ========================================================= */
.sneat-kpi.sneat-kpi-green {
  border-top-color: #16A34A !important;
  background: linear-gradient(180deg, #F0FDF4 0%, #FFFFFF 55%) !important;
}
.sneat-kpi.sneat-kpi-green .sneat-kpi-title { color: #15803D !important; }
.sneat-kpi.sneat-kpi-green .sneat-kpi-value,
.sneat-kpi.sneat-kpi-green .sneat-kpi-value small { color: #16A34A !important; }
.sneat-kpi.sneat-kpi-green .sneat-kpi-sub { color: #71717A !important; }

/* "View All" links inside card headers — compact ghost style */
.sneat-card-header > .btn.btn-primary.btn-sm {
  background: #FFFFFF !important;
  color: #09090B !important;
  border: 1px solid #D4D4D8 !important;
}
.sneat-card-header > .btn.btn-primary.btn-sm:hover {
  background: #FAFAFA !important;
  border-color: #A1A1AA !important;
}

/* Housekeeping queue box → neutral (was green-tinted inline) */
.sneat-card [style*="rgba(0,100,0"] {
  border-color: #E4E4E7 !important;
  background: #FAFAFA !important;
}
.sneat-card [style*="#14532d"] { color: #09090B !important; }

/* Analytics summary values: unify to near-black / red only for expenses */
.sneat-card [style*="#b91c1c"] { color: #DC2626 !important; }

/* =========================================================
   FIXED SIDEBAR — stays pinned while the page scrolls
   (desktop only; mobile keeps AdminLTE off-canvas behavior)
   ========================================================= */
@media (min-width: 768px) {
  .main-sidebar {
    position: fixed !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    height: 100vh !important;
    z-index: 810 !important;
  }
  /* Sidebar content gets its own scrollbar — page scroll no longer moves it */
  .main-sidebar .sidebar {
    height: calc(100vh - 50px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch;
  }
  /* Slim elegant scrollbar for the sidebar area */
  .main-sidebar .sidebar::-webkit-scrollbar { width: 6px; }
  .main-sidebar .sidebar::-webkit-scrollbar-thumb { background: #D4D4D8; border-radius: 999px; border: none; }
  .main-sidebar .sidebar::-webkit-scrollbar-thumb:hover { background: #A1A1AA; }

  /* Collapsed mini-sidebar: keep the fixed pin consistent */
  .sidebar-mini.sidebar-collapse .main-sidebar { width: 50px !important; }
}

/* Ensure the sidebar scroll container does not clip rounded menu pills */
.main-sidebar .sidebar { padding-right: 2px; }

/* =========================================================
   AVAILABILITY CALENDAR — rooms × dates grid
   ========================================================= */
.cal-table {
  border-collapse: separate;
  border-spacing: 0;
  width: 100%;
  font-size: 12.5px;
  table-layout: fixed;
}
.cal-table th, .cal-table td { border: none !important; background: transparent !important; }

/* First column: room */
.cal-table .cal-room-col {
  position: sticky;
  left: 0;
  z-index: 5;
  background: #FFFFFF !important;
  min-width: 150px;
  width: 150px;
  max-width: 150px;
  padding: 8px 10px !important;
  border-right: 1px solid #E4E4E7 !important;
}
.cal-room-name { display: flex; align-items: center; gap: 6px; color: #09090B; font-size: 13px; }
.cal-room-type { font-size: 11px; color: #A1A1AA; margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Room status dots */
.dot { width: 8px; height: 8px; border-radius: 999px; display: inline-block; flex: 0 0 auto; }
.dot-available   { background: #16A34A; }
.dot-occupied    { background: #A1A1AA; }
.dot-cleaning    { background: #D97706; }
.dot-maintenance { background: #DC2626; }

/* Day headers */
.cal-day-head {
  padding: 6px 2px !important;
  text-align: center;
  font-weight: 700;
  color: #71717A;
  border-bottom: 1px solid #E4E4E7 !important;
  background: #FAFAFA !important;
}
.cal-day-head .cal-dow { display: block; font-size: 9px; font-weight: 600; color: #A1A1AA; text-transform: uppercase; }
.cal-day-head .cal-daynum { display: block; font-size: 12px; }

/* Cells */
.cal-cell {
  height: 40px;
  padding: 0 !important;
  text-align: center;
  vertical-align: middle !important;
  border-right: 1px solid #F4F4F5 !important;
  border-bottom: 1px solid #F4F4F5 !important;
  min-width: 30px;
}
.cal-weekend { background: #FAFAFA !important; }
.cal-today-col { box-shadow: inset 0 0 0 2px rgba(22,163,74,.55) !important; }

/* Empty (available) drop targets */
.cal-drop { cursor: pointer; transition: background .12s ease, box-shadow .12s ease; }
.cal-drop:hover { background: #F0FDF4 !important; }
.cal-drop-hover { background: #DCFCE7 !important; box-shadow: inset 0 0 0 2px #16A34A !important; }

/* Booking blocks */
.cal-bk { cursor: pointer; user-select: none; }
.cal-bk[draggable="true"]:active { cursor: grabbing; }
.cal-bk-pending    { background: #FEF3C7 !important; }
.cal-bk-pending .cal-bk-code { color: #B45309; }
.cal-bk-confirmed  { background: #DCFCE7 !important; }
.cal-bk-confirmed .cal-bk-code { color: #15803D; }
.cal-bk-checked_in { background: #16A34A !important; }
.cal-bk-checked_in .cal-bk-code { color: #FFFFFF; }
.cal-bk-checked_in.cal-weekend { background: #16A34A !important; }

/* Span edges */
.cal-bk-start { border-radius: 6px 0 0 6px; border-left: 2px solid rgba(22,163,74,.65) !important; }
.cal-bk-end   { border-radius: 0 6px 6px 0; border-right: 2px solid rgba(22,163,74,.65) !important; }
.cal-bk.cal-bk-start.cal-bk-end { border-radius: 6px; }

.cal-bk-code { font-size: 10px; font-weight: 700; letter-spacing: .02em; white-space: nowrap; }
.cal-bk-mid  { font-size: 9px; color: rgba(0,0,0,.28); }
.cal-bk-endmark { font-size: 9px; color: rgba(0,0,0,.28); }

/* Legend */
.cal-legend { display: inline-flex; align-items: center; gap: 5px; margin-left: 12px; font-weight: 600; }
.cal-legend .chip { width: 10px; height: 10px; border-radius: 3px; display: inline-block; }
.chip-pending    { background: #FEF3C7; border: 1px solid #FDE68A; }
.chip-confirmed  { background: #DCFCE7; border: 1px solid #BBF7D0; }
.chip-checked_in { background: #16A34A; }
.chip-today      { background: #FFFFFF; border: 2px solid #16A34A; }

/* Sidebar entry parity for the new page */
.sidebar-menu > li > a .fa-calendar-check-o { font-size: 14px; }
/* =========================================================
   BRAND CONSISTENCY LAYER
   Maps AdminLTE's default blues to the brand green across
   every module (current and future) - no markup changes.
   ========================================================= */

a { color: #15803D; }
a:hover { color: #14532D; }

.btn-primary {
    background-color: #16A34A;
    border-color: #15803D;
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active {
    background-color: #15803D;
    border-color: #14532D;
}

.bg-primary,
.label-primary {
    background-color: #16A34A !important;
}

.box.box-primary,
.box.box-default,
.box.box-info {
    border-top-color: #16A34A;
}

.box.box-solid.box-primary > .box-header,
.box.box-solid.box-default  > .box-header,
.box.box-solid.box-info     > .box-header {
    color: #FFFFFF;
    background: #16A34A;
}

.pagination > li > a { color: #15803D; }
.pagination > .active > a,
.pagination > .active > a:hover,
.pagination > .active > span {
    background-color: #16A34A !important;
    border-color: #16A34A !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
    background: #16A34A !important;
    color: #FFFFFF !important;
    border: 1px solid #15803D;
}
.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    background: #15803D;
    color: #FFFFFF !important;
}
