/* your styles go here */

/* ==========================================
   LIGHT SURFACE NORMALIZATION
   Keep light mode on the enterprise palette instead of the old cream theme.
   ========================================== */
body:not(.dark-mode) {
  background-color: var(--ent-bg) !important;
}

body:not(.dark-mode) .card,
body:not(.dark-mode) .bg-white,
body:not(.dark-mode) .admin-footer {
  background: var(--ent-surface) !important;
  width: 100%;
}

body:not(.dark-mode) .table {
  background-color: transparent;
}

body:not(.dark-mode) .modal-content,
body:not(.dark-mode) .dropdown-menu,
body:not(.dark-mode) .form-control,
body:not(.dark-mode) .list-group-item,
body:not(.dark-mode) .popover {
  background-color: var(--ent-surface);
}

body:not(.dark-mode) .input-group-text {
  background-color: var(--ent-surface-muted);
}

/* Catch common inline light backgrounds in light mode */
body:not(.dark-mode) [style*="background: white"],
body:not(.dark-mode) [style*="background: #fff"],
body:not(.dark-mode) [style*="background:#fff"],
body:not(.dark-mode) [style*="background: #ffffff"],
body:not(.dark-mode) [style*="background:#ffffff"],
body:not(.dark-mode) [style*="background-color: white"],
body:not(.dark-mode) [style*="background-color: #fff"],
body:not(.dark-mode) [style*="background-color:#fff"],
body:not(.dark-mode) [style*="background-color: #ffffff"],
body:not(.dark-mode) [style*="background-color:#ffffff"] {
  background: var(--ent-surface) !important;
}

body:not(.dark-mode) [style*="background: #f8f9fc"],
body:not(.dark-mode) [style*="background:#f8f9fc"],
body:not(.dark-mode) [style*="background: #f8f9fa"],
body:not(.dark-mode) [style*="background:#f8f9fa"],
body:not(.dark-mode) [style*="background: #f8fafc"],
body:not(.dark-mode) [style*="background:#f8fafc"] {
  background: var(--ent-surface-muted) !important;
}

/* ==========================================
   Embedded <style> light-mode overrides
   Normalize hardcoded light surfaces
   in PHP page-level <style> blocks
   ========================================== */

/* --- Stat cards & dashboards --- */
body:not(.dark-mode) .stat-card,
body:not(.dark-mode) .stat-box {
  background: var(--ent-surface) !important;
}

/* --- Card headers & containers --- */
body:not(.dark-mode) .card-header:not([style*="background"]) {
  background: var(--ent-surface-muted);
}
body:not(.dark-mode) .log-card-header,
body:not(.dark-mode) .admin-card,
body:not(.dark-mode) .passkey-card,
body:not(.dark-mode) .settings-card {
  background: var(--ent-surface) !important;
}

/* --- Filters, toolbars & tabs --- */
body:not(.dark-mode) .filter-section,
body:not(.dark-mode) .filter-tab,
body:not(.dark-mode) .filters-card,
body:not(.dark-mode) .dup-toolbar,
body:not(.dark-mode) .tool-tab,
body:not(.dark-mode) .tool-tab.active,
body:not(.dark-mode) .tool-content,
body:not(.dark-mode) .modify-form,
body:not(.dark-mode) .ledger-tab.active {
  background: var(--ent-surface) !important;
}

/* --- Table containers --- */
body:not(.dark-mode) .table-card,
body:not(.dark-mode) .sales-table-card,
body:not(.dark-mode) .ledger-table-card,
body:not(.dark-mode) .detail-table {
  background: var(--ent-surface) !important;
}

/* --- Table headers & stripes --- */
body:not(.dark-mode) .log-table thead th,
body:not(.dark-mode) .booking-subrow td,
body:not(.dark-mode) #dayModal .booking-table th {
  background-color: var(--ent-surface-muted) !important;
}

/* --- Security alerts page --- */
body:not(.dark-mode) .alert-card,
body:not(.dark-mode) .session-card,
body:not(.dark-mode) .sidebar-panel,
body:not(.dark-mode) .quick-action-btn,
body:not(.dark-mode) .security-header .btn-light,
body:not(.dark-mode) .pagination-modern a:not(.active) {
  background: var(--ent-surface) !important;
}

/* Keep active pagination visibly selected in light mode */
body:not(.dark-mode) .security-page .pagination-modern a.active,
body:not(.dark-mode) .security-page .pagination-modern a.active:hover,
body:not(.dark-mode) .security-page .pagination-modern a.active:focus {
  background: #1e293b !important;
  border-color: #1e293b !important;
  color: #ffffff !important;
}

/* --- Buttons & actions --- */
body:not(.dark-mode) .period-btn.active,
body:not(.dark-mode) .period-btn-group .btn,
body:not(.dark-mode) .quick-filter-btn,
body:not(.dark-mode) .view-btn.active,
body:not(.dark-mode) .view-btn-group .btn-outline-success,
body:not(.dark-mode) .view-btn-group .btn-outline-warning,
body:not(.dark-mode) .view-btn-group .btn-outline-info,
body:not(.dark-mode) .export-btn,
body:not(.dark-mode) .print-btn,
body:not(.dark-mode) .btn-print-outline,
body:not(.dark-mode) .btn-dismiss,
body:not(.dark-mode) #refreshBtn {
  background: var(--ent-surface) !important;
}

/* --- City ledger & duplicates --- */
body:not(.dark-mode) .company-card,
body:not(.dark-mode) .aging-item,
body:not(.dark-mode) .dup-card,
body:not(.dark-mode) .match-tag,
body:not(.dark-mode) .empty-box,
body:not(.dark-mode) .empty-state {
  background: var(--ent-surface) !important;
}

/* --- Calendar & booking modals --- */
body:not(.dark-mode) .month-nav-btn,
body:not(.dark-mode) .modal-booking-list li,
body:not(.dark-mode) .availability-room-item,
body:not(.dark-mode) .status-menu {
  background: var(--ent-surface) !important;
}

/* --- Check-in & guests --- */
body:not(.dark-mode) .batch-guest-suggestions,
body:not(.dark-mode) .guest-dropdown,
body:not(.dark-mode) .room-no-select,
body:not(.dark-mode) .room-no-select option {
  background-color: var(--ent-surface) !important;
}

/* --- Rate management --- */
body:not(.dark-mode) .search-box input,
body:not(.dark-mode) .history-pagination .page-btn {
  background: var(--ent-surface) !important;
}

/* --- Settings & icons --- */
body:not(.dark-mode) .admin-card .card-icon,
body:not(.dark-mode) .key-display,
body:not(.dark-mode) .preview-navbar,
body:not(.dark-mode) .order-item,
body:not(.dark-mode) .auth-method-card,
body:not(.dark-mode) .user-card {
  background: var(--ent-surface) !important;
}

/* --- Guests page --- */
body:not(.dark-mode) select.form-control-modern option {
  background: var(--ent-surface) !important;
}

/* --- Additional coverage --- */
body:not(.dark-mode) .security-page,
body:not(.dark-mode) .alert-card-header,
body:not(.dark-mode) .sidebar-panel-header,
body:not(.dark-mode) .session-table thead th,
body:not(.dark-mode) .lockout-table thead th,
body:not(.dark-mode) .attempts-table thead th,
body:not(.dark-mode) .credits-table thead th,
body:not(.dark-mode) .detail-content,
body:not(.dark-mode) .rate-box,
body:not(.dark-mode) .rate-table thead th,
body:not(.dark-mode) .history-table thead th,
body:not(.dark-mode) .room-type-status,
body:not(.dark-mode) #availabilityResults {
  background: var(--ent-surface) !important;
}

/* ==========================================
   Confirmation review modals
   ========================================== */
.confirm-review-modal .modal-content {
  border: 1px solid #d9e2ec;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 14px 28px rgba(15, 23, 42, 0.14);
}

.confirm-review-modal .modal-header {
  border-bottom: 1px solid #dde7f0;
  background: linear-gradient(135deg, #15324d 0%, #214d73 100%);
  padding: 0.82rem 1rem 0.76rem;
}

.confirm-review-modal .modal-title {
  color: #ffffff;
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.01em;
}

.confirm-review-modal .close {
  color: #ffffff;
  opacity: 0.88;
  text-shadow: none;
}

.confirm-review-modal .close:hover {
  color: #ffffff;
  opacity: 1;
}

.confirm-review-modal .modal-body {
  padding: 0.8rem 1rem 0.92rem;
}

.confirm-review-modal .modal-footer {
  border-top: 1px solid #dde7f0;
  padding: 0.68rem 1rem 0.82rem;
}

.confirm-review-shell {
  background: #fffdfa;
  border: 1px solid #e4eaf1;
  border-radius: 12px;
  padding: 0.78rem;
}

.confirm-review-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0.85rem;
  flex-wrap: wrap;
  margin-bottom: 0.82rem;
}

.confirm-review-eyebrow {
  color: #64748b;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 0.3rem;
}

.confirm-review-guest {
  color: #0f172a;
  font-size: 1.04rem;
  font-weight: 800;
  line-height: 1.2;
}

.confirm-review-meta {
  color: #475569;
  font-size: 0.84rem;
  font-weight: 500;
  margin-top: 0.28rem;
}

.confirm-review-badges {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.confirm-review-badge {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  border: 1px solid transparent;
  font-size: 0.71rem;
  font-weight: 700;
  line-height: 1;
  padding: 0.42rem 0.68rem;
  white-space: nowrap;
}

.confirm-review-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
  gap: 0.58rem;
}

.confirm-review-card {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 0.68rem 0.78rem;
  min-height: 0;
}

.confirm-review-label {
  color: #64748b;
  font-size: 0.67rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  margin-bottom: 0.5rem;
  text-transform: uppercase;
}

.confirm-review-value {
  color: #0f172a;
  font-size: 0.98rem;
  font-weight: 800;
  line-height: 1.25;
}

.confirm-review-badge.is-neutral,
.confirm-review-value.is-neutral {
  color: #334155;
}

.confirm-review-badge.is-info {
  background: #e8f2ff;
  border-color: #cfe0ff;
  color: #1d4f91;
}

.confirm-review-value.is-info {
  color: #1d4f91;
}

.confirm-review-badge.is-success {
  background: #e8f7ef;
  border-color: #c9ecd7;
  color: #137a43;
}

.confirm-review-value.is-success {
  color: #137a43;
}

.confirm-review-badge.is-warning {
  background: #fff3d6;
  border-color: #ffe0a3;
  color: #9a6400;
}

.confirm-review-value.is-warning {
  color: #9a6400;
}

.confirm-review-badge.is-danger {
  background: #fde8e8;
  border-color: #f6c7c7;
  color: #b42318;
}

.confirm-review-value.is-danger {
  color: #b42318;
}

.confirm-review-value.is-money {
  color: #123c73;
}

.confirm-review-note {
  display: none;
  margin-top: 0.78rem;
  padding: 0.64rem 0.78rem;
  border: 1px solid #dbeafe;
  border-radius: 12px;
  background: #eff6ff;
  color: #1e3a5f;
  font-size: 0.8rem;
  font-weight: 600;
  line-height: 1.35;
}

.guest-suggestion-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0.75rem;
}

.guest-suggestion-main {
  min-width: 0;
}

.guest-suggestion-name {
  color: #0f172a;
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.2;
}

.guest-suggestion-sub {
  color: #64748b;
  font-size: 0.75rem;
  margin-top: 0.16rem;
}

.guest-suggestion-tags {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 0.34rem;
}

.guest-suggestion-tag {
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 700;
  line-height: 1;
  padding: 0.34rem 0.56rem;
  white-space: nowrap;
}

.guest-suggestion-tag.is-credit {
  background: #eff6ff;
  color: #1d4ed8;
}

.guest-suggestion-tag.is-prepaid-credit {
  background: #ecfdf3;
  color: #166534;
}

.guest-suggestion-tag.is-prepaid-due {
  background: #fef2f2;
  color: #b42318;
}

.guest-suggestion-tag.is-prepaid-zero {
  background: #f8fafc;
  color: #475569;
}

.guest-suggestion-tag.is-alert {
  background: #fff7e6;
  color: #9a6400;
}

.guest-ledger-link,
.prepaid-indicator-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  border: 1px solid #d7e0ea;
  background: #ffffff;
  color: #475569;
  text-decoration: none;
  transition: all 0.18s ease;
}

.guest-ledger-link:hover,
.prepaid-indicator-link:hover {
  text-decoration: none;
  transform: translateY(-1px);
  box-shadow: 0 4px 10px rgba(15, 23, 42, 0.12);
}

.guest-ledger-link.is-credit,
.prepaid-indicator-link.is-credit {
  background: #ecfdf3;
  border-color: #ccefd8;
  color: #166534;
}

.guest-ledger-link.is-due,
.prepaid-indicator-link.is-due {
  background: #fef2f2;
  border-color: #fecaca;
  color: #b42318;
}

.guest-ledger-link.is-zero,
.prepaid-indicator-link.is-zero {
  background: #f8fafc;
  border-color: #e2e8f0;
  color: #475569;
}

.booking-legend .legend-prepaid {
  background: rgba(15, 118, 110, 0.12);
}

.booking-legend .legend-prepaid-due {
  background: rgba(185, 28, 28, 0.1);
}

.confirm-review-note.is-neutral {
  background: #f8fafc;
  border-color: #e2e8f0;
  color: #475569;
}

.confirm-review-note.is-info {
  background: #eff6ff;
  border-color: #dbeafe;
  color: #1e3a5f;
}

.confirm-review-note.is-success {
  background: #ecfdf3;
  border-color: #ccefd8;
  color: #166534;
}

.confirm-review-note.is-warning {
  background: #fff7e6;
  border-color: #ffe3ab;
  color: #9a6400;
}

.confirm-review-note.is-danger {
  background: #fef2f2;
  border-color: #fecaca;
  color: #b42318;
}

@media (max-width: 575.98px) {
  .confirm-review-modal .modal-body,
  .confirm-review-modal .modal-header,
  .confirm-review-modal .modal-footer {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .confirm-review-shell {
    padding: 0.9rem;
  }

  .confirm-review-card {
    min-height: 0;
  }
}
body:not(.dark-mode) .room-badge,
body:not(.dark-mode) .ai-explanation-row,
body:not(.dark-mode) .modal-footer-ai,
body:not(.dark-mode) .form-control-modern {
  background: #faf9f6 !important;
}

/* --- Datepicker & clickable inputs --- */
body:not(.dark-mode) input[type="date"],
body:not(.dark-mode) input[type="datetime-local"],
body:not(.dark-mode) .form-control[type="date"],
body:not(.dark-mode) .form-control[type="datetime-local"],
body:not(.dark-mode) .form-control.flatpickr-input,
body:not(.dark-mode) input.flatpickr-input,
body:not(.dark-mode) input.form-control.input {
  background-color: #f0ece5 !important;
  border: 2px solid #d4cfc7 !important;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
}

body:not(.dark-mode) input[type="date"]:hover,
body:not(.dark-mode) input[type="datetime-local"]:hover,
body:not(.dark-mode) .form-control[type="date"]:hover,
body:not(.dark-mode) .form-control[type="datetime-local"]:hover,
body:not(.dark-mode) .form-control.flatpickr-input:hover,
body:not(.dark-mode) input.flatpickr-input:hover,
body:not(.dark-mode) input.form-control.input:hover {
  border-color: #b8a898 !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
  background-color: #e9e4dc !important;
}

body:not(.dark-mode) input[type="date"]:focus,
body:not(.dark-mode) input[type="datetime-local"]:focus,
body:not(.dark-mode) .form-control[type="date"]:focus,
body:not(.dark-mode) .form-control[type="datetime-local"]:focus,
body:not(.dark-mode) .form-control.flatpickr-input:focus,
body:not(.dark-mode) input.flatpickr-input:focus,
body:not(.dark-mode) input.form-control.input:focus {
  border-color: #a89888 !important;
  box-shadow: 0 0 0 3px rgba(168, 152, 136, 0.2);
  background-color: #e9e4dc !important;
}

body:not(.dark-mode) input.form-control.input.active {
  border-color: #a89888 !important;
  box-shadow: 0 0 0 3px rgba(168, 152, 136, 0.2);
  background-color: #e9e4dc !important;
}

/* --- Select dropdowns clickable --- */
body:not(.dark-mode) .custom-select,
body:not(.dark-mode) select.form-control {
  background-color: #f0ece5;
  border: 2px solid #d4cfc7;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
}

body:not(.dark-mode) .custom-select:hover,
body:not(.dark-mode) select.form-control:hover {
  border-color: #b8a898;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
  background-color: #e9e4dc;
}

/* --- Keyboard Shortcut Hint (global) --- */
.shortcut-hint {
  position: fixed;
  bottom: 20px;
  right: 20px;
  background: #1e293b;
  color: white;
  padding: 10px 16px;
  border-radius: 10px;
  font-size: 11.5px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
  display: none;
  gap: 14px;
  z-index: 1050;
  flex-wrap: wrap;
  max-width: 420px;
  animation: shortcutSlideIn 0.2s ease-out;
}

.shortcut-hint.show {
  display: flex;
}

.shortcut-hint kbd {
  background: #334155;
  padding: 2px 7px;
  border-radius: 4px;
  font-family: monospace;
  font-size: 11px;
  border: 1px solid #475569;
}

@keyframes shortcutSlideIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

/* --- Flatpickr calendar popup --- */
body:not(.dark-mode) .flatpickr-calendar {
  background: #faf9f6;
  border: 1px solid #e0dbd4;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

body:not(.dark-mode) .flatpickr-months {
  background: #f5f2ed;
  border-radius: 8px 8px 0 0;
}

body:not(.dark-mode) .flatpickr-weekdays {
  background: #f5f2ed;
}

body:not(.dark-mode) .flatpickr-day:hover {
  background: #f0ece5;
  border-color: #e0dbd4;
}

body:not(.dark-mode) .flatpickr-day.selected {
  background: #1f4fd6 !important;
  border-color: #1f4fd6 !important;
}

body:not(.dark-mode) .flatpickr-day.today {
  border-color: #1f4fd6;
}

/* --- Text contrast improvements --- */
body:not(.dark-mode) .text-muted {
  color: #64605a !important;
}

body:not(.dark-mode) .text-secondary {
  color: #5a5650 !important;
}

body:not(.dark-mode) .text-gray {
  color: #78736c !important;
}

/* --- Table hover on cream --- */
body:not(.dark-mode) .table-hover tbody tr:hover {
  background-color: #f5f2ed;
}

body:not(.dark-mode) .table thead th {
  background-color: #f5f2ed;
  color: #3d3a36;
  border-bottom-color: #e0dbd4;
}

/* --- Borders to match cream --- */
body:not(.dark-mode) .card {
  border-color: #e8e3dc;
}

body:not(.dark-mode) .border,
body:not(.dark-mode) .border-top,
body:not(.dark-mode) .border-bottom {
  border-color: #e8e3dc !important;
}

body:not(.dark-mode) hr {
  border-top-color: #e8e3dc;
}

/* --- Badge improvements on cream --- */
body:not(.dark-mode) .badge-light {
  background-color: #f0ece5;
  color: #3d3a36;
}

/* --- Dashboard pulse animations --- */
@keyframes pulse-green-cream {
  0%, 100% { background-color: #faf9f6; }
  50% { background-color: rgba(40, 167, 69, 0.08); }
}
@keyframes pulse-blue-cream {
  0%, 100% { background-color: #faf9f6; }
  50% { background-color: rgba(0, 123, 255, 0.08); }
}
@keyframes pulse-yellow-cream {
  0%, 100% { background-color: #faf9f6; }
  50% { background-color: rgba(255, 193, 7, 0.08); }
}
@keyframes pulse-red-cream {
  0%, 100% { background-color: #faf9f6; }
  50% { background-color: rgba(220, 53, 69, 0.08); }
}

/* ==========================================
   AJAX NAVIGATION - Progress Bar & Transitions
   ========================================== */

/* Progress bar at top of page */
#ajax-progress-bar {
  position: fixed;
  top: 0;
  left: 0;
  height: 3px;
  background: #1f4fd6;
  width: 0;
  z-index: 999999;
  transition: width 0.3s ease;
  opacity: 0;
  pointer-events: none;
}

#ajax-progress-bar.active {
  opacity: 1;
}

/* Content loading transition */
.page-holder {
  transition: opacity 0.15s ease;
}

.page-holder.ajax-loading {
  opacity: 0.6;
  pointer-events: none;
}

/* Smooth content appearance */
@keyframes fadeInContent {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

.ajax-loaded .container-fluid {
  animation: fadeInContent 0.2s ease-out;
}

/* ==========================================
   MODERN SIDEBAR STYLES - Clean & Simple
   ========================================== */

/* Base sidebar styling */
#sidebar.sidebar {
  background: #faf9f6;
  box-shadow: none;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  border-right: 1px solid #e5e7eb;
}

/* Glass scrollbar */
#sidebar.sidebar::-webkit-scrollbar {
  width: 6px;
}

#sidebar.sidebar::-webkit-scrollbar-track {
  background: transparent;
}

#sidebar.sidebar::-webkit-scrollbar-thumb {
  background: rgba(156, 163, 175, 0.4);
  border-radius: 10px;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

#sidebar.sidebar::-webkit-scrollbar-thumb:hover {
  background: rgba(156, 163, 175, 0.6);
}

/* Firefox scrollbar */
#sidebar.sidebar {
  scrollbar-width: thin;
  scrollbar-color: rgba(156, 163, 175, 0.4) transparent;
}

/* Section headers */
#sidebar .text-gray-400 {
  color: #9ca3af !important;
  font-size: 0.65rem;
  letter-spacing: 1.5px;
  padding: 1.25rem 1.25rem 0.5rem !important;
  margin-top: 0.25rem;
}

#sidebar .text-gray-400:first-child {
  margin-top: 0;
}

/* Sidebar menu items */
#sidebar .sidebar-menu {
  padding: 0 0.5rem;
}

#sidebar .sidebar-list-item {
  margin: 1px 0;
  border-radius: 10px;
  overflow: hidden;
}

/* Sidebar links - base state */
#sidebar .sidebar-link {
  color: #4b5563 !important;
  padding: 0.7rem 1rem;
  border-radius: 10px;
  transition: all 0.15s ease;
  position: relative;
  font-weight: 500;
  font-size: 0.875rem;
}

#sidebar .sidebar-link i {
  color: #9ca3af !important;
  font-size: 1.1rem;
  width: 22px;
  text-align: center;
  transition: all 0.15s ease;
}

#sidebar .sidebar-link span {
  transition: all 0.15s ease;
}

/* Hover state */
#sidebar .sidebar-link:hover {
  background: #f3f4f6 !important;
  color: #1f2937 !important;
}

#sidebar .sidebar-link:hover i {
  color: #1f4fd6 !important;
}

/* Keep dropdown toggle styled when submenu is open (not blue) */
#sidebar .sidebar-link[data-toggle="collapse"][aria-expanded="true"] {
  background: #f3efe8 !important;
  color: #1f2937 !important;
  box-shadow: none;
  transform: none;
}

#sidebar .sidebar-link[data-toggle="collapse"][aria-expanded="true"] i {
  color: #1f4fd6 !important;
}

/* Active state */
#sidebar .sidebar-link.active {
  background: #1f4fd6 !important;
  color: #fff !important;
  box-shadow: none;
  transform: none;
}

#sidebar .sidebar-link.active i {
  color: #fff !important;
}

#sidebar .sidebar-link.active::before {
  color: #fff !important;
}

/* Collapse arrow styling */
#sidebar .sidebar-link[data-toggle="collapse"]::before {
  color: #9ca3af;
  font-size: 0.7rem;
  right: 0.75rem;
  transition: all 0.2s ease;
}

#sidebar .sidebar-link[data-toggle="collapse"]:hover::before {
  color: #1f4fd6;
}

/* Submenu styling */
#sidebar .collapse .sidebar-menu,
#sidebar .collapsing .sidebar-menu {
  background: #f5f2ed;
  border-radius: 10px;
  margin: 0.25rem 0 0.5rem 0.75rem;
  padding: 0.35rem !important;
  border-left: 2px solid #1f4fd6 !important;
}

#sidebar .collapse .sidebar-link,
#sidebar .collapsing .sidebar-link {
  padding: 0.5rem 0.75rem !important;
  font-size: 0.813rem;
  border-radius: 8px;
}

/* Badge styling */
#sidebar .badge {
  font-size: 0.65rem;
  padding: 0.3em 0.55em;
  border-radius: 50px;
  font-weight: 600;
}

#sidebar .badge-warning {
  background: #f59e0b;
  color: #fff;
}

#sidebar .badge-danger {
  background: #ef4444;
  animation: pulse-badge 2s infinite;
}

@keyframes pulse-badge {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.7; }
}

/* ==========================================
   SHRINK/MINIMIZED SIDEBAR STYLES
   ========================================== */

#sidebar.shrink {
  width: 70px;
}

#sidebar.shrink .text-gray-400 {
  font-size: 0;
  padding: 0.5rem !important;
  text-align: center;
}

#sidebar.shrink .text-gray-400::after {
  content: '•';
  font-size: 1rem;
  color: #d1d5db;
}

#sidebar.shrink .sidebar-menu {
  padding: 0 0.35rem;
}

#sidebar.shrink .sidebar-list-item {
  position: relative;
}

#sidebar.shrink .sidebar-link {
  justify-content: center;
  padding: 0.85rem 0.5rem;
}

#sidebar.shrink .sidebar-link i {
  margin: 0 !important;
  font-size: 1.2rem;
}

#sidebar.shrink .sidebar-link span {
  position: absolute;
  left: 72px;
  background: #faf9f6;
  color: #1f2937 !important;
  padding: 0.5rem 0.9rem;
  border-radius: 8px;
  font-size: 0.813rem;
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  transform: translateX(-8px);
  transition: all 0.15s ease;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12);
  border: 1px solid #e5e7eb;
  z-index: 1000;
  pointer-events: none;
}

#sidebar.shrink .sidebar-link span::before {
  content: '';
  position: absolute;
  left: -7px;
  top: 50%;
  transform: translateY(-50%);
  border: 7px solid transparent;
  border-right-color: #faf9f6;
  filter: drop-shadow(-2px 0 2px rgba(0, 0, 0, 0.05));
}

#sidebar.shrink .sidebar-link:hover span {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
}

#sidebar.shrink .sidebar-link[data-toggle="collapse"]::before {
  display: none;
}

/* Hide submenu in shrink mode */
#sidebar.shrink .collapse,
#sidebar.shrink .collapsing {
  display: none !important;
}

/* Badge as dot in shrink mode */
#sidebar.shrink .badge {
  position: absolute;
  top: 6px;
  right: 6px;
  font-size: 0;
  width: 8px;
  height: 8px;
  padding: 0;
  min-width: 8px;
}

/* ==========================================
   MOBILE RESPONSIVE STYLES
   ========================================== */

@media (max-width: 1199.98px) {
  #sidebar.sidebar {
    width: 70px;
    margin-left: -70px;
  }
  
  #sidebar.sidebar.show {
    margin-left: 0;
  }
  
  #sidebar .text-gray-400 {
    font-size: 0;
    padding: 0.5rem !important;
    text-align: center;
  }
  
  #sidebar .text-gray-400::after {
    content: '•';
    font-size: 1rem;
    color: #d1d5db;
  }
  
  #sidebar .sidebar-menu {
    padding: 0 0.35rem;
  }
  
  #sidebar .sidebar-list-item {
    position: relative;
  }
  
  #sidebar .sidebar-link {
    justify-content: center;
    padding: 0.85rem 0.5rem;
  }
  
  #sidebar .sidebar-link i {
    margin: 0 !important;
    font-size: 1.2rem;
  }
  
  #sidebar .sidebar-link span {
    position: absolute;
    left: 72px;
    background: #faf9f6;
    color: #1f2937 !important;
    padding: 0.5rem 0.9rem;
    border-radius: 8px;
    font-size: 0.813rem;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    transform: translateX(-8px);
    transition: all 0.15s ease;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12);
    border: 1px solid #e5e7eb;
    z-index: 1000;
    pointer-events: none;
  }
  
  #sidebar .sidebar-link span::before {
    content: '';
    position: absolute;
    left: -7px;
    top: 50%;
    transform: translateY(-50%);
    border: 7px solid transparent;
    border-right-color: #faf9f6;
  }
  
  #sidebar .sidebar-link:hover span {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
  }
  
  #sidebar .sidebar-link[data-toggle="collapse"]::before {
    display: none;
  }
  
  #sidebar .collapse,
  #sidebar .collapsing {
    display: none !important;
  }
  
  #sidebar .badge {
    position: absolute;
    top: 6px;
    right: 6px;
    font-size: 0;
    width: 8px;
    height: 8px;
    padding: 0;
    min-width: 8px;
  }
}

/* ==========================================
   DARK MODE SIDEBAR
   ========================================== */

body.dark-mode #sidebar.sidebar {
  background: #1f2937;
  border-right-color: #374151;
}

body.dark-mode #sidebar .text-gray-400 {
  color: #6b7280 !important;
}

body.dark-mode #sidebar .sidebar-link {
  color: #d1d5db !important;
}

body.dark-mode #sidebar .sidebar-link i,
body.dark-mode #sidebar .sidebar-link .text-gray,
body.dark-mode #sidebar .sidebar-link [class^="o-"] {
  color: #9ca3af !important;
}

body.dark-mode #sidebar .sidebar-link:hover {
  background: #374151 !important;
  color: #fff !important;
}

body.dark-mode #sidebar .sidebar-link:hover i,
body.dark-mode #sidebar .sidebar-link:hover .text-gray,
body.dark-mode #sidebar .sidebar-link:hover [class^="o-"] {
  color: #9cbaff !important;
}

body.dark-mode #sidebar .sidebar-link.active {
  background: rgba(31, 79, 214, 0.15) !important;
  color: #fff !important;
}

body.dark-mode #sidebar .sidebar-link.active i,
body.dark-mode #sidebar .sidebar-link.active .text-gray,
body.dark-mode #sidebar .sidebar-link.active [class^="o-"] {
  color: #dbe7ff !important;
}

body.dark-mode #sidebar .collapse .sidebar-menu,
body.dark-mode #sidebar .collapsing .sidebar-menu {
  background: #111827;
}

body.dark-mode #sidebar.shrink .sidebar-link span {
  background: #374151;
  color: #fff !important;
  border-color: #4b5563;
}

body.dark-mode #sidebar.shrink .sidebar-link span::before {
  border-right-color: #374151;
}

body.dark-mode #sidebar.sidebar::-webkit-scrollbar-thumb {
  background: rgba(107, 114, 128, 0.5);
}

/* Table row highlight for active sessions - light green background */
.table-success-light,
.table-success-light > th,
.table-success-light > td {
  background-color: rgba(40, 167, 69, 0.1) !important;
}

.table-hover .table-success-light:hover,
.table-hover .table-success-light:hover > td,
.table-hover .table-success-light:hover > th {
  background-color: rgba(40, 167, 69, 0.2) !important;
}

/* Dark mode support for table-success-light */
body.dark-mode .table-success-light,
body.dark-mode .table-success-light > th,
body.dark-mode .table-success-light > td {
  background-color: rgba(81, 207, 102, 0.1) !important;
  color: inherit !important;
}

body.dark-mode .table-hover .table-success-light:hover,
body.dark-mode .table-hover .table-success-light:hover > td,
body.dark-mode .table-hover .table-success-light:hover > th {
  background-color: rgba(81, 207, 102, 0.2) !important;
}

/* ==========================================
   DARK MODE - SALES REPORT
   ========================================== */

body.dark-mode .stat-card {
  background: #1f2937;
  border-color: #374151;
}

body.dark-mode .stat-card .stat-label {
  color: #9ca3af;
}

body.dark-mode .stat-card .stat-value {
  color: #f3f4f6;
}

body.dark-mode .stat-card.revenue .stat-icon { background: rgba(16, 185, 129, 0.15); }
body.dark-mode .stat-card.checked-in .stat-icon { background: rgba(59, 130, 246, 0.15); }
body.dark-mode .stat-card.guests .stat-icon { background: rgba(118, 75, 162, 0.15); }
body.dark-mode .stat-card.reservations .stat-icon { background: rgba(245, 158, 11, 0.15); }

body.dark-mode .period-toggle {
  background: #374151;
}

body.dark-mode .period-btn {
  color: #9ca3af;
}

body.dark-mode .period-btn:hover {
  color: #9cbaff;
}

body.dark-mode .period-btn.active {
  background: #1f2937;
  color: #9cbaff;
  box-shadow: 0 2px 8px rgba(0,0,0,0.3);
}

body.dark-mode .filters-card {
  background: #1f2937;
  border-color: #374151;
}

body.dark-mode .quick-filter-btn {
  background: #374151;
  border-color: #4b5563;
  color: #d1d5db;
}

body.dark-mode .quick-filter-btn:hover {
  border-color: #818cf8;
  color: #9cbaff;
  background: rgba(31, 79, 214, 0.15);
}

body.dark-mode .quick-filter-btn.active {
  background: #1f4fd6;
  color: white;
  border-color: #1f4fd6;
}

body.dark-mode .sales-table-card {
  background: #1f2937;
  border-color: #374151;
}

body.dark-mode .table-header {
  border-bottom-color: #374151;
}

body.dark-mode .table-header h5 {
  color: #f3f4f6;
}

body.dark-mode .sales-table th {
  background: #111827;
  color: #9ca3af;
  border-bottom-color: #374151;
}

body.dark-mode .sales-table td {
  color: #e5e7eb;
  border-bottom-color: #374151;
}

body.dark-mode .sales-table tbody tr:hover {
  background: #374151;
}

body.dark-mode .guest-name {
  color: #f3f4f6;
}

body.dark-mode .room-type-tag {
  background: linear-gradient(135deg, rgba(14, 165, 233, 0.15) 0%, rgba(6, 182, 212, 0.15) 100%);
  color: #67e8f9;
  border-color: rgba(6, 182, 212, 0.3);
}

body.dark-mode .room-badge {
  background: #374151;
  color: #e5e7eb;
}

body.dark-mode .date-info .date {
  color: #e5e7eb;
}

body.dark-mode .amount-cell {
  color: #f3f4f6;
}

body.dark-mode .btn-print-outline {
  background: #374151;
  border-color: #4b5563;
  color: #e5e7eb;
}

body.dark-mode .btn-print-outline:hover {
  border-color: #818cf8;
  color: #9cbaff;
  background: rgba(31, 79, 214, 0.15);
}

body.dark-mode .print-btn-group {
  border-top-color: #374151;
}

body.dark-mode .empty-state {
  color: #6b7280;
}

/* ==========================================
   DARK MODE - COMMON PMS ELEMENTS
   ========================================== */

/* Cards with white backgrounds */
body.dark-mode .card {
  background: #1f2937 !important;
  border-color: #374151 !important;
}

body.dark-mode .card-header {
  background: #111827 !important;
  border-bottom-color: #374151 !important;
  color: #f3f4f6;
}

body.dark-mode .card-body {
  background: #1f2937 !important;
}

body.dark-mode .card-footer {
  background: #111827 !important;
  border-top-color: #374151 !important;
}

/* Form controls */
body.dark-mode .form-control {
  background: #374151 !important;
  border-color: #4b5563 !important;
  color: #f3f4f6 !important;
}

body.dark-mode .form-control:focus {
  background: #374151 !important;
  border-color: #1f4fd6 !important;
  color: #f3f4f6 !important;
}

body.dark-mode .form-control::placeholder {
  color: #9ca3af !important;
}

body.dark-mode select.form-control {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%239ca3af' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e") !important;
}

body.dark-mode .input-group-text {
  background: #374151 !important;
  border-color: #4b5563 !important;
  color: #d1d5db !important;
}

/* Tables */
body.dark-mode .table {
  color: #e5e7eb;
}

body.dark-mode .table thead th {
  background: #111827 !important;
  color: #9ca3af !important;
  border-color: #374151 !important;
}

body.dark-mode .table td,
body.dark-mode .table th {
  border-color: #374151 !important;
}

body.dark-mode .table-striped tbody tr:nth-of-type(odd) {
  background-color: rgba(255, 255, 255, 0.02) !important;
}

body.dark-mode .table-hover tbody tr:hover {
  background-color: rgba(255, 255, 255, 0.05) !important;
}

body.dark-mode .table-primary {
  background-color: rgba(59, 130, 246, 0.15) !important;
}

body.dark-mode .table-success {
  background-color: rgba(34, 197, 94, 0.15) !important;
}

body.dark-mode .table-warning {
  background-color: rgba(245, 158, 11, 0.15) !important;
}

body.dark-mode .table-danger {
  background-color: rgba(239, 68, 68, 0.15) !important;
}

body.dark-mode .table-info {
  background-color: rgba(31, 79, 214, 0.15) !important;
}

body.dark-mode .table-secondary {
  background-color: rgba(107, 114, 128, 0.15) !important;
}

/* Modals */
body.dark-mode .modal-content {
  background: #1f2937 !important;
  border-color: #374151 !important;
}

body.dark-mode .modal-header {
  background: #111827 !important;
  border-bottom-color: #374151 !important;
}

body.dark-mode .modal-header .modal-title {
  color: #f3f4f6 !important;
}

body.dark-mode .modal-header .close {
  color: #9ca3af !important;
}

body.dark-mode .modal-body {
  color: #e5e7eb !important;
}

body.dark-mode .modal-footer {
  background: #111827 !important;
  border-top-color: #374151 !important;
}

/* Dropdowns */
body.dark-mode .dropdown-menu {
  background: #1f2937 !important;
  border-color: #374151 !important;
}

body.dark-mode .dropdown-item {
  color: #e5e7eb !important;
}

body.dark-mode .dropdown-item:hover,
body.dark-mode .dropdown-item:focus {
  background: #374151 !important;
  color: #f3f4f6 !important;
}

body.dark-mode .dropdown-divider {
  border-color: #374151 !important;
}

/* Alerts */
body.dark-mode .alert-info {
  background: rgba(59, 130, 246, 0.15) !important;
  border-color: rgba(59, 130, 246, 0.3) !important;
  color: #93c5fd !important;
}

body.dark-mode .alert-warning {
  background: rgba(245, 158, 11, 0.15) !important;
  border-color: rgba(245, 158, 11, 0.3) !important;
  color: #fcd34d !important;
}

body.dark-mode .alert-danger {
  background: rgba(239, 68, 68, 0.15) !important;
  border-color: rgba(239, 68, 68, 0.3) !important;
  color: #fca5a5 !important;
}

body.dark-mode .alert-success {
  background: rgba(34, 197, 94, 0.15) !important;
  border-color: rgba(34, 197, 94, 0.3) !important;
  color: #86efac !important;
}

/* List groups */
body.dark-mode .list-group-item {
  background: #1f2937 !important;
  border-color: #374151 !important;
  color: #e5e7eb !important;
}

body.dark-mode .list-group-item:hover {
  background: #374151 !important;
}

body.dark-mode .list-group-item.active {
  background: #1f4fd6 !important;
  border-color: #1f4fd6 !important;
}

/* Buttons - outline variants */
body.dark-mode .btn-outline-secondary {
  color: #d1d5db !important;
  border-color: #4b5563 !important;
}

body.dark-mode .btn-outline-secondary:hover {
  background: #374151 !important;
  color: #f3f4f6 !important;
}

body.dark-mode .btn-outline-primary {
  color: #9cbaff !important;
  border-color: #1f4fd6 !important;
}

body.dark-mode .btn-outline-primary:hover {
  background: rgba(31, 79, 214, 0.2) !important;
  color: #c7d2fe !important;
}

/* Text colors */
body.dark-mode .text-muted {
  color: #9ca3af !important;
}

body.dark-mode .text-dark {
  color: #f3f4f6 !important;
}

body.dark-mode h1, body.dark-mode h2, body.dark-mode h3,
body.dark-mode h4, body.dark-mode h5, body.dark-mode h6 {
  color: #f3f4f6;
}

body.dark-mode label {
  color: #d1d5db !important;
}

body.dark-mode p {
  color: #e5e7eb;
}

/* Page header */
body.dark-mode .page-header {
  color: #f3f4f6 !important;
}

/* Pagination */
body.dark-mode .page-link {
  background: #374151 !important;
  border-color: #4b5563 !important;
  color: #d1d5db !important;
}

body.dark-mode .page-link:hover {
  background: #4b5563 !important;
  color: #f3f4f6 !important;
}

body.dark-mode .page-item.active .page-link {
  background: #1f4fd6 !important;
  border-color: #1f4fd6 !important;
}

body.dark-mode .page-item.disabled .page-link {
  background: #1f2937 !important;
  color: #6b7280 !important;
}

/* Calendar specific */
body.dark-mode .fc-theme-standard td,
body.dark-mode .fc-theme-standard th {
  border-color: #374151 !important;
}

body.dark-mode .fc-theme-standard .fc-scrollgrid {
  border-color: #374151 !important;
}

body.dark-mode .fc-col-header-cell {
  background: #111827 !important;
}

body.dark-mode .fc-daygrid-day {
  background: #1f2937 !important;
}

body.dark-mode .fc-daygrid-day:hover {
  background: #374151 !important;
}

body.dark-mode .fc-daygrid-day-number {
  color: #e5e7eb !important;
}

/* Card encoder specific */
body.dark-mode .encoder-card {
  background: #1f2937 !important;
}

body.dark-mode .encoder-card.pending {
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.1) 0%, #1f2937 100%) !important;
}

body.dark-mode .encoder-card.launched {
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.1) 0%, #1f2937 100%) !important;
}

/* Booking filters */
body.dark-mode .filter-row {
  background: #111827 !important;
  border-color: #374151 !important;
}

body.dark-mode .booking-legend {
  background: #111827 !important;
  border-color: #374151 !important;
}

body.dark-mode .booking-legend span {
  color: #d1d5db !important;
}

/* Guest bills, city ledger specific */
body.dark-mode .nav-tabs {
  border-color: #374151 !important;
}

body.dark-mode .nav-tabs .nav-link {
  color: #9ca3af !important;
}

body.dark-mode .nav-tabs .nav-link:hover {
  border-color: #374151 !important;
}

body.dark-mode .nav-tabs .nav-link.active {
  background: #1f2937 !important;
  border-color: #374151 #374151 #1f2937 !important;
  color: #f3f4f6 !important;
}

/* Badges in dark mode - keep vibrant */
body.dark-mode .badge-warning {
  background: #f59e0b !important;
  color: #000 !important;
}

body.dark-mode .badge-danger {
  background: #ef4444 !important;
}

body.dark-mode .badge-success {
  background: #22c55e !important;
}

body.dark-mode .badge-info {
  background: #3b82f6 !important;
}

body.dark-mode .badge-secondary {
  background: #6b7280 !important;
}

/* Borders */
body.dark-mode hr {
  border-color: #374151 !important;
}

body.dark-mode .border {
  border-color: #374151 !important;
}

body.dark-mode .border-top {
  border-top-color: #374151 !important;
}

body.dark-mode .border-bottom {
  border-bottom-color: #374151 !important;
}

/* Backgrounds */
body.dark-mode .bg-white {
  background: #1f2937 !important;
}

body.dark-mode .bg-light {
  background: #111827 !important;
}

/* Links */
body.dark-mode a:not(.btn):not(.nav-link):not(.dropdown-item):not(.list-group-item) {
  color: #93c5fd;
}

body.dark-mode a:not(.btn):not(.nav-link):not(.dropdown-item):not(.list-group-item):hover {
  color: #bfdbfe;
}

/* ==========================================
   DARK MODE - CHECKIN, BOOKGUESTS, RESERVEGUESTS
   Modern form pages with gradient headers
   ========================================== */

body.dark-mode .modern-card-header {
  background: #1f4fd6 !important;
}

body.dark-mode .section-divider {
  background: #374151 !important;
  color: #e5e7eb !important;
}

body.dark-mode .section-divider i {
  color: #9cbaff !important;
}

body.dark-mode .line {
  background: #374151 !important;
  border-color: #374151 !important;
}

/* Guest autocomplete dropdown */
body.dark-mode .list-group {
  background: #1f2937 !important;
  border-color: #374151 !important;
}

/* ==========================================
   DARK MODE - BOOKINGS.PHP
   All guests table view
   ========================================== */

body.dark-mode .filter-row {
  background: #111827 !important;
  border-color: #374151 !important;
}

body.dark-mode .filter-row label {
  color: #d1d5db !important;
}

body.dark-mode .booking-legend {
  background: #111827 !important;
  border-color: #374151 !important;
}

body.dark-mode .booking-legend span {
  color: #d1d5db !important;
}

/* Payment badges in bookings */
body.dark-mode .payment-badge-link {
  box-shadow: 0 1px 3px rgba(0,0,0,0.3) !important;
}

/* ==========================================
   DARK MODE - ARRIVALS.PHP, BOOKED/RESERVED/CHECKEDIN GUESTS
   Guest list tables
   ========================================== */

body.dark-mode .arrivals-card,
body.dark-mode .guest-list-card {
  background: #1f2937 !important;
  border-color: #374151 !important;
}

body.dark-mode .arrivals-card .card-header,
body.dark-mode .guest-list-card .card-header {
  background: #111827 !important;
}

/* ==========================================
   DARK MODE - PAYMENTS.PHP, GUESTCREDITS.PHP
   Financial pages with stat cards
   ========================================== */

body.dark-mode .stat-card,
body.dark-mode .summary-card,
body.dark-mode .credit-card {
  background: #1f2937 !important;
  border-color: #374151 !important;
}

body.dark-mode .stat-card .stat-value,
body.dark-mode .summary-card .value,
body.dark-mode .credit-value {
  color: #f3f4f6 !important;
}

body.dark-mode .stat-card .stat-label,
body.dark-mode .summary-card .label,
body.dark-mode .credit-label {
  color: #9ca3af !important;
}

body.dark-mode .stat-icon,
body.dark-mode .summary-icon {
  background: rgba(31, 79, 214, 0.15) !important;
}

body.dark-mode .stat-card.revenue .stat-icon,
body.dark-mode .stat-card.income .stat-icon {
  background: rgba(34, 197, 94, 0.15) !important;
}

body.dark-mode .stat-card.expense .stat-icon,
body.dark-mode .stat-card.refunds .stat-icon {
  background: rgba(239, 68, 68, 0.15) !important;
}

/* Icon backgrounds for different types */
body.dark-mode [class*="stat-icon"][style*="background: #ecfdf5"],
body.dark-mode [class*="stat-icon"][style*="background: #fef2f2"],
body.dark-mode [class*="stat-icon"][style*="background: #eff6ff"],
body.dark-mode [class*="stat-icon"][style*="background: #fefce8"],
body.dark-mode [class*="stat-icon"][style*="background: #f5f3ff"] {
  background: rgba(31, 79, 214, 0.15) !important;
}

/* ==========================================
   DARK MODE - CITYLEDGER.PHP
   Company accounts ledger
   ========================================== */

body.dark-mode .ledger-card,
body.dark-mode .company-card {
  background: #1f2937 !important;
  border-color: #374151 !important;
}

body.dark-mode .ledger-header {
  background: linear-gradient(135deg, #1f2937 0%, #111827 100%) !important;
  border-bottom-color: #374151 !important;
}

body.dark-mode .balance-display {
  color: #f3f4f6 !important;
}

body.dark-mode .transaction-row {
  border-bottom-color: #374151 !important;
}

body.dark-mode .transaction-row:hover {
  background: #374151 !important;
}

/* ==========================================
   DARK MODE - GUESTBILLS.PHP
   Guest folio/bills page
   ========================================== */

body.dark-mode .bill-card,
body.dark-mode .folio-card {
  background: #1f2937 !important;
  border-color: #374151 !important;
}

body.dark-mode .bill-header,
body.dark-mode .folio-header {
  background: #111827 !important;
  border-bottom-color: #374151 !important;
}

body.dark-mode .bill-item,
body.dark-mode .charge-item {
  border-bottom-color: #374151 !important;
}

body.dark-mode .bill-total,
body.dark-mode .folio-total {
  background: #111827 !important;
  border-top-color: #374151 !important;
}

/* ==========================================
   DARK MODE - ADMINTOOLS.PHP
   Admin tools and settings
   ========================================== */

body.dark-mode .tool-card,
body.dark-mode .settings-card {
  background: #1f2937 !important;
  border-color: #374151 !important;
}

body.dark-mode .tool-card:hover {
  background: #374151 !important;
}

body.dark-mode .danger-zone {
  background: rgba(239, 68, 68, 0.1) !important;
  border-color: rgba(239, 68, 68, 0.3) !important;
}

body.dark-mode .info-box,
body.dark-mode .help-box {
  background: rgba(59, 130, 246, 0.1) !important;
  border-color: rgba(59, 130, 246, 0.3) !important;
  color: #93c5fd !important;
}

body.dark-mode .warning-box {
  background: rgba(245, 158, 11, 0.1) !important;
  border-color: rgba(245, 158, 11, 0.3) !important;
  color: #fcd34d !important;
}

/* ==========================================
   DARK MODE - ACTIVITY_LOG.PHP
   Activity/audit log page
   ========================================== */

body.dark-mode .log-entry,
body.dark-mode .activity-item {
  background: #1f2937 !important;
  border-color: #374151 !important;
}

body.dark-mode .log-entry:hover,
body.dark-mode .activity-item:hover {
  background: #374151 !important;
}

body.dark-mode .log-action {
  color: #e5e7eb !important;
}

body.dark-mode .log-timestamp {
  color: #9ca3af !important;
}

body.dark-mode .log-details {
  background: #111827 !important;
  border-color: #374151 !important;
}

/* ==========================================
   DARK MODE - USERS.PHP
   User management page
   ========================================== */

body.dark-mode .user-card {
  background: #1f2937 !important;
  border-color: #374151 !important;
}

body.dark-mode .user-avatar {
  background: #1f4fd6 !important;
}

body.dark-mode .role-badge {
  background: rgba(31, 79, 214, 0.15) !important;
  color: #9cbaff !important;
  border-color: rgba(31, 79, 214, 0.3) !important;
}

/* ==========================================
   DARK MODE - ROOMCATALOG.PHP
   Room inventory page
   ========================================== */

body.dark-mode .room-card {
  background: #1f2937 !important;
  border-color: #374151 !important;
}

body.dark-mode .room-card:hover {
  background: #374151 !important;
}

body.dark-mode .room-status {
  border-color: #374151 !important;
}

body.dark-mode .room-number {
  color: #f3f4f6 !important;
}

body.dark-mode .room-type {
  color: #9ca3af !important;
}

body.dark-mode .room-price {
  color: #9cbaff !important;
}

/* ==========================================
   DARK MODE - INDEX.PHP (DASHBOARD)
   Main dashboard page
   ========================================== */

body.dark-mode .dashboard-card,
body.dark-mode .overview-card {
  background: #1f2937 !important;
  border-color: #374151 !important;
}

body.dark-mode .occupancy-card {
  background: #1f2937 !important;
}

/* Occupancy state backgrounds */
body.dark-mode .occupancy-full {
  background: linear-gradient(135deg, rgba(34, 197, 94, 0.15) 0%, #1f2937 100%) !important;
}

body.dark-mode .occupancy-high {
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.15) 0%, #1f2937 100%) !important;
}

body.dark-mode .occupancy-medium {
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.15) 0%, #1f2937 100%) !important;
}

body.dark-mode .occupancy-low {
  background: linear-gradient(135deg, rgba(239, 68, 68, 0.15) 0%, #1f2937 100%) !important;
}

body.dark-mode .quick-action-btn {
  background: #374151 !important;
  border-color: #4b5563 !important;
  color: #e5e7eb !important;
}

body.dark-mode .quick-action-btn:hover {
  background: #4b5563 !important;
  color: #f3f4f6 !important;
}

/* ==========================================
   DARK MODE - GUESTS.PHP
   Guest directory page
   ========================================== */

body.dark-mode .guest-card,
body.dark-mode .guest-profile {
  background: #1f2937 !important;
  border-color: #374151 !important;
}

body.dark-mode .guest-name-display {
  color: #f3f4f6 !important;
}

body.dark-mode .guest-info-label {
  color: #9ca3af !important;
}

body.dark-mode .guest-info-value {
  color: #e5e7eb !important;
}

body.dark-mode .guest-history-item {
  background: #111827 !important;
  border-color: #374151 !important;
}

/* ==========================================
   DARK MODE - CARD_ENCODER.PHP
   Card encoding page
   ========================================== */

body.dark-mode .encoder-card {
  background: #1f2937 !important;
  border-color: #374151 !important;
}

body.dark-mode .encoder-card.pending {
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.1) 0%, #1f2937 100%) !important;
  border-left-color: #f59e0b !important;
}

body.dark-mode .encoder-card.launched {
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.1) 0%, #1f2937 100%) !important;
  border-left-color: #3b82f6 !important;
}

body.dark-mode .card-type-badge.card-type-guest {
  background: rgba(59, 130, 246, 0.15) !important;
  color: #93c5fd !important;
}

body.dark-mode .card-type-badge.card-type-master {
  background: rgba(236, 72, 153, 0.15) !important;
  color: #f9a8d4 !important;
}

body.dark-mode .card-type-badge.card-type-staff {
  background: rgba(168, 85, 247, 0.15) !important;
  color: #d8b4fe !important;
}

body.dark-mode .key-display {
  background: #111827 !important;
  border-color: #374151 !important;
}

body.dark-mode #room-search-results {
  background: #1f2937 !important;
  border-color: #374151 !important;
}

body.dark-mode #room-search-results .list-group-item {
  background: #1f2937 !important;
  border-color: #374151 !important;
}

body.dark-mode #room-search-results .list-group-item:hover {
  background: #374151 !important;
}

/* ==========================================
   DARK MODE - RESTAURANT MODULE
   Restaurant pages
   ========================================== */

body.dark-mode .order-card {
  background: #1f2937 !important;
  border-color: #374151 !important;
}

body.dark-mode .order-item {
  background: #111827 !important;
  border-color: #374151 !important;
}

body.dark-mode .menu-item-card {
  background: #1f2937 !important;
  border-color: #374151 !important;
}

body.dark-mode .menu-item-card:hover {
  background: #374151 !important;
}

body.dark-mode .section-header {
  background: #111827 !important;
  color: #f3f4f6 !important;
}

/* ==========================================
   DARK MODE - LOADING OVERLAYS
   ========================================== */

body.dark-mode .loading-overlay {
  background: rgba(17, 24, 39, 0.8) !important;
}

body.dark-mode .search-highlight {
  background: rgba(245, 158, 11, 0.3) !important;
}

/* ==========================================
   DARK MODE - COMPLETEDSTAYS.PHP, EARLYCHECKOUT.PHP
   ========================================== */

body.dark-mode .booking-subrow {
  background: #111827 !important;
  border-color: #374151 !important;
}

body.dark-mode .booking-subrow:hover {
  background: rgba(31, 79, 214, 0.1) !important;
}

/* ==========================================
   DARK MODE - FLASH ANIMATIONS
   ========================================== */

body.dark-mode .flash-success {
  animation: flash-dark-success 0.5s ease !important;
}

@keyframes flash-dark-success {
  0%, 100% { background-color: transparent; }
  50% { background-color: rgba(34, 197, 94, 0.2); }
}

body.dark-mode .flash-warning {
  animation: flash-dark-warning 0.5s ease !important;
}

@keyframes flash-dark-warning {
  0%, 100% { background-color: transparent; }
  50% { background-color: rgba(245, 158, 11, 0.2); }
}

body.dark-mode .flash-danger {
  animation: flash-dark-danger 0.5s ease !important;
}

@keyframes flash-dark-danger {
  0%, 100% { background-color: transparent; }
  50% { background-color: rgba(239, 68, 68, 0.2); }
}

/* ==========================================
   DARK MODE - INLINE STYLE OVERRIDES
   Force override common hardcoded colors
   ========================================== */

body.dark-mode [style*="background: white"],
body.dark-mode [style*="background: #fff"],
body.dark-mode [style*="background:#fff"],
body.dark-mode [style*="background: #ffffff"],
body.dark-mode [style*="background:#ffffff"],
body.dark-mode [style*="background-color: white"],
body.dark-mode [style*="background-color: #fff"],
body.dark-mode [style*="background-color:#fff"],
body.dark-mode [style*="background-color: #ffffff"],
body.dark-mode [style*="background-color:#ffffff"] {
  background: #1f2937 !important;
}

body.dark-mode [style*="background: #f8f9fa"],
body.dark-mode [style*="background:#f8f9fa"],
body.dark-mode [style*="background-color: #f8f9fa"],
body.dark-mode [style*="background-color:#f8f9fa"],
body.dark-mode [style*="background: #f8fafc"],
body.dark-mode [style*="background:#f8fafc"],
body.dark-mode [style*="background: #f1f5f9"],
body.dark-mode [style*="background:#f1f5f9"],
body.dark-mode [style*="background: #f3f4f6"],
body.dark-mode [style*="background:#f3f4f6"],
body.dark-mode [style*="background: #faf9f6"],
body.dark-mode [style*="background:#faf9f6"] {
  background: #111827 !important;
}

body.dark-mode [style*="color: #1f2937"],
body.dark-mode [style*="color:#1f2937"],
body.dark-mode [style*="color: #374151"],
body.dark-mode [style*="color:#374151"],
body.dark-mode [style*="color: #344054"],
body.dark-mode [style*="color:#344054"] {
  color: #e5e7eb !important;
}

body.dark-mode [style*="border-color: #e5e7eb"],
body.dark-mode [style*="border-color:#e5e7eb"],
body.dark-mode [style*="border: 1px solid #e5e7eb"],
body.dark-mode [style*="border: 1px solid #e2e8f0"],
body.dark-mode [style*="border: 1px solid #dee2e6"],
body.dark-mode [style*="border: 1px solid #d0d5dd"] {
  border-color: #374151 !important;
}

/* ==========================================
   DARK MODE - MISC COMMON ELEMENTS
   ========================================== */

body.dark-mode .breadcrumb {
  background: #111827 !important;
}

body.dark-mode .breadcrumb-item a {
  color: #93c5fd !important;
}

body.dark-mode .breadcrumb-item.active {
  color: #9ca3af !important;
}

body.dark-mode .progress {
  background: #374151 !important;
}

body.dark-mode .toast {
  background: #1f2937 !important;
  border-color: #374151 !important;
}

body.dark-mode .toast-header {
  background: #111827 !important;
  border-bottom-color: #374151 !important;
  color: #f3f4f6 !important;
}

body.dark-mode .toast-body {
  color: #e5e7eb !important;
}

body.dark-mode .popover {
  background: #1f2937 !important;
  border-color: #374151 !important;
}

body.dark-mode .popover-header {
  background: #111827 !important;
  border-bottom-color: #374151 !important;
  color: #f3f4f6 !important;
}

body.dark-mode .popover-body {
  color: #e5e7eb !important;
}

body.dark-mode .tooltip-inner {
  background: #374151 !important;
  color: #f3f4f6 !important;
}

body.dark-mode .custom-select {
  background-color: #374151 !important;
  border-color: #4b5563 !important;
  color: #f3f4f6 !important;
  /* Don't set background or background-image here - let dark-mode.css handle the arrow */
}

body.dark-mode .custom-control-label::before {
  background: #374151 !important;
  border-color: #4b5563 !important;
}

body.dark-mode .custom-checkbox .custom-control-input:checked ~ .custom-control-label::before {
  background: #1f4fd6 !important;
  border-color: #1f4fd6 !important;
}

/* DataTables dark mode */
body.dark-mode .dataTables_wrapper .dataTables_length select,
body.dark-mode .dataTables_wrapper .dataTables_filter input {
  background: #374151 !important;
  border-color: #4b5563 !important;
  color: #f3f4f6 !important;
}

body.dark-mode .dataTables_wrapper .dataTables_info {
  color: #9ca3af !important;
}

body.dark-mode .dataTables_wrapper .dataTables_paginate .paginate_button {
  background: #374151 !important;
  border-color: #4b5563 !important;
  color: #d1d5db !important;
}

body.dark-mode .dataTables_wrapper .dataTables_paginate .paginate_button:hover {
  background: #4b5563 !important;
  color: #f3f4f6 !important;
}

body.dark-mode .dataTables_wrapper .dataTables_paginate .paginate_button.current {
  background: #1f4fd6 !important;
  border-color: #1f4fd6 !important;
  color: #fff !important;
}

/* Flatpickr dark mode */
body.dark-mode .flatpickr-calendar {
  background: #1f2937 !important;
  border-color: #374151 !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.4) !important;
}

body.dark-mode .flatpickr-months {
  background: #111827 !important;
}

body.dark-mode .flatpickr-month {
  color: #f3f4f6 !important;
}

body.dark-mode .flatpickr-weekdays {
  background: #111827 !important;
}

body.dark-mode .flatpickr-weekday {
  color: #9ca3af !important;
}

body.dark-mode .flatpickr-day {
  color: #e5e7eb !important;
}

body.dark-mode .flatpickr-day:hover {
  background: #374151 !important;
}

body.dark-mode .flatpickr-day.selected {
  background: #1f4fd6 !important;
  border-color: #1f4fd6 !important;
}

body.dark-mode .flatpickr-day.today {
  border-color: #1f4fd6 !important;
}

body.dark-mode .flatpickr-day.disabled {
  color: #4b5563 !important;
}

body.dark-mode .flatpickr-current-month input.cur-year,
body.dark-mode .flatpickr-current-month .flatpickr-monthDropdown-months {
  background: transparent !important;
  color: #f3f4f6 !important;
}

body.dark-mode .numInputWrapper:hover {
  background: #374151 !important;
}

/* ==========================================
   DARK MODE - CHECKIN/BOOKGUESTS/RESERVEGUESTS SPECIFIC
   Override inline styles defined in <style> blocks
   ========================================== */

/* Section dividers */
body.dark-mode .section-divider {
  background: linear-gradient(90deg, #374151 0%, #4b5563 50%, #374151 100%) !important;
  color: #d1d5db !important;
}

body.dark-mode .section-divider span {
  background: #1f2937 !important;
}

/* Booking rows (checkin.php) */
body.dark-mode .booking-row {
  background: #1f2937 !important;
  border-color: #374151 !important;
}

body.dark-mode .booking-row:hover {
  background: #374151 !important;
  border-color: #1f4fd6 !important;
}

/* Form sections */
body.dark-mode .form-section {
  background: #1f2937 !important;
  border-color: #374151 !important;
}

/* Button secondary (used in checkin forms) */
body.dark-mode .btn-secondary {
  background: #374151 !important;
  border-color: #4b5563 !important;
  color: #e5e7eb !important;
}

body.dark-mode .btn-secondary:hover {
  background: #4b5563 !important;
  border-color: #6b7280 !important;
  color: #f3f4f6 !important;
}

/* Modal footer */
body.dark-mode .modal-footer {
  background: #111827 !important;
  border-top-color: #374151 !important;
}

/* Line divider */
body.dark-mode .line {
  background: linear-gradient(90deg, transparent, #374151, transparent) !important;
}

/* Small text and labels */
body.dark-mode small.text-muted,
body.dark-mode .text-muted {
  color: #9ca3af !important;
}

/* Result list items (autocomplete dropdowns) */
body.dark-mode #results .list-group-item,
body.dark-mode #guestResults .list-group-item,
body.dark-mode .autocomplete-results .list-group-item {
  background: #1f2937 !important;
  border-color: #374151 !important;
  color: #e5e7eb !important;
}

body.dark-mode #results .list-group-item:hover,
body.dark-mode #guestResults .list-group-item:hover,
body.dark-mode .autocomplete-results .list-group-item:hover {
  background: #374151 !important;
}

body.dark-mode #results .list-group-item small,
body.dark-mode #guestResults .list-group-item small {
  color: #9ca3af !important;
}

/* Alert boxes */
body.dark-mode .alert-success {
  background: linear-gradient(135deg, rgba(34, 197, 94, 0.15), rgba(22, 163, 74, 0.2)) !important;
  color: #86efac !important;
  border-color: rgba(34, 197, 94, 0.3) !important;
}

body.dark-mode .alert-danger {
  background: linear-gradient(135deg, rgba(239, 68, 68, 0.15), rgba(220, 38, 38, 0.2)) !important;
  color: #fca5a5 !important;
  border-color: rgba(239, 68, 68, 0.3) !important;
}

body.dark-mode .alert-warning {
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.15), rgba(217, 119, 6, 0.2)) !important;
  color: #fcd34d !important;
  border-color: rgba(245, 158, 11, 0.3) !important;
}

body.dark-mode .alert-info {
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.15), rgba(37, 99, 235, 0.2)) !important;
  color: #93c5fd !important;
  border-color: rgba(59, 130, 246, 0.3) !important;
}

/* ==========================================
   DARK MODE - ARRIVALS / GUEST LIST PAGES
   Override specific inline styles
   ========================================== */

/* Legend card style */
body.dark-mode .legend-card {
  background: #1f2937 !important;
  border-color: #374151 !important;
}

/* Payment badges */
body.dark-mode .badge-paid {
  background: linear-gradient(145deg, #22c55e 0%, #16a34a 100%) !important;
}

body.dark-mode .badge-unpaid {
  background: linear-gradient(145deg, #ef4444 0%, #dc2626 100%) !important;
}

body.dark-mode .badge-partial {
  background: linear-gradient(145deg, #f59e0b 0%, #d97706 100%) !important;
}

/* Guest count badges */
body.dark-mode .guest-count-badge {
  background: rgba(31, 79, 214, 0.15) !important;
  color: #9cbaff !important;
}

/* ==========================================
   DARK MODE - PAYMENTS/REFUNDS PAGE
   ========================================== */

body.dark-mode .payment-card {
  background: #1f2937 !important;
  border-color: #374151 !important;
}

body.dark-mode .refund-card {
  background: #1f2937 !important;
  border-color: #374151 !important;
}

body.dark-mode .payment-method-icon {
  background: rgba(31, 79, 214, 0.15) !important;
}

body.dark-mode .amount-display {
  color: #f3f4f6 !important;
}

body.dark-mode .transaction-date {
  color: #9ca3af !important;
}

/* ==========================================
   DARK MODE - CALENDAR PAGE
   ========================================== */

body.dark-mode .fc-theme-standard td,
body.dark-mode .fc-theme-standard th {
  border-color: #374151 !important;
}

body.dark-mode .fc-theme-standard .fc-scrollgrid {
  border-color: #374151 !important;
}

body.dark-mode .fc-col-header-cell {
  background: #111827 !important;
}

body.dark-mode .fc-col-header-cell-cushion {
  color: #e5e7eb !important;
}

body.dark-mode .fc-daygrid-day {
  background: #1f2937 !important;
}

body.dark-mode .fc-daygrid-day:hover {
  background: #374151 !important;
}

body.dark-mode .fc-day-today {
  background: rgba(31, 79, 214, 0.1) !important;
}

body.dark-mode .fc-daygrid-day-number {
  color: #e5e7eb !important;
}

body.dark-mode .fc-daygrid-day-top {
  color: #e5e7eb !important;
}

body.dark-mode .fc-event {
  border-color: transparent !important;
}

body.dark-mode .fc-toolbar-title {
  color: #f3f4f6 !important;
}

body.dark-mode .fc-button-primary {
  background: #374151 !important;
  border-color: #4b5563 !important;
}

body.dark-mode .fc-button-primary:hover {
  background: #4b5563 !important;
}

body.dark-mode .fc-button-primary:not(:disabled).fc-button-active {
  background: #1f4fd6 !important;
  border-color: #1f4fd6 !important;
}

/* ==========================================
   DARK MODE - FORM INPUT SPECIFIC OVERRIDES
   ========================================== */

/* Input group text */
body.dark-mode .input-group-text {
  background: #374151 !important;
  border-color: #4b5563 !important;
  color: #d1d5db !important;
}

/* Read-only inputs */
body.dark-mode input[readonly],
body.dark-mode .form-control[readonly] {
  background: #374151 !important;
  border-color: #4b5563 !important;
  color: #d1d5db !important;
}

/* Disabled inputs */
body.dark-mode input:disabled,
body.dark-mode .form-control:disabled,
body.dark-mode select:disabled {
  background: #1f2937 !important;
  border-color: #374151 !important;
  color: #6b7280 !important;
}

/* ==========================================
   DARK MODE - SPECIAL TABLE ROWS
   ========================================== */

body.dark-mode tr.table-light {
  background: #1f2937 !important;
}

body.dark-mode tr.table-light td {
  background: inherit !important;
  color: #e5e7eb !important;
}

body.dark-mode tr.bg-light {
  background: #1f2937 !important;
}

body.dark-mode tr.bg-light td {
  background: inherit !important;
}

/* Detail/sub rows */
body.dark-mode tr.detail-row td {
  background: #111827 !important;
  border-color: #374151 !important;
}

/* ==========================================
   DARK MODE - SELECT2 PLUGIN
   ========================================== */

body.dark-mode .select2-container--default .select2-selection--single {
  background: #374151 !important;
  border-color: #4b5563 !important;
}

body.dark-mode .select2-container--default .select2-selection--single .select2-selection__rendered {
  color: #f3f4f6 !important;
}

body.dark-mode .select2-dropdown {
  background: #1f2937 !important;
  border-color: #374151 !important;
}

body.dark-mode .select2-search--dropdown .select2-search__field {
  background: #374151 !important;
  border-color: #4b5563 !important;
  color: #f3f4f6 !important;
}

body.dark-mode .select2-results__option {
  background: #1f2937 !important;
  color: #e5e7eb !important;
}

body.dark-mode .select2-results__option--highlighted {
  background: #374151 !important;
  color: #f3f4f6 !important;
}

body.dark-mode .select2-container--default .select2-results__option--selected {
  background: #4b5563 !important;
}

/* ==========================================
   DARK MODE - SUMMARY/TOTALS SECTIONS
   ========================================== */

body.dark-mode .summary-section,
body.dark-mode .totals-section {
  background: #111827 !important;
  border-color: #374151 !important;
}

body.dark-mode .total-label {
  color: #9ca3af !important;
}

body.dark-mode .total-value {
  color: #f3f4f6 !important;
}

body.dark-mode .grand-total {
  background: rgba(31, 79, 214, 0.12) !important;
  border-color: rgba(31, 79, 214, 0.3) !important;
}

/* ==========================================
   DARK MODE - HEADER/TITLE AREAS
   ========================================== */

body.dark-mode .page-header {
  background: #1f2937 !important;
  border-bottom-color: #374151 !important;
}

body.dark-mode .page-title {
  color: #f3f4f6 !important;
}

body.dark-mode .page-subtitle {
  color: #9ca3af !important;
}

/* Filter/toolbar sections */
body.dark-mode .filter-toolbar,
body.dark-mode .search-toolbar {
  background: #1f2937 !important;
  border-color: #374151 !important;
}

/* ==========================================
   DARK MODE - STATUS INDICATORS
   ========================================== */

body.dark-mode .status-dot {
  box-shadow: 0 0 0 2px #1f2937 !important;
}

body.dark-mode .status-available {
  background: #22c55e !important;
}

body.dark-mode .status-occupied {
  background: #3b82f6 !important;
}

body.dark-mode .status-blocked {
  background: #ef4444 !important;
}

body.dark-mode .status-maintenance {
  background: #f59e0b !important;
}

/* ==========================================
   DARK MODE - EMPTY STATE
   ========================================== */

body.dark-mode .empty-state {
  color: #6b7280 !important;
}

body.dark-mode .empty-state-icon {
  color: #4b5563 !important;
}

body.dark-mode .empty-state-text {
  color: #9ca3af !important;
}

/* ==========================================
   GLOBAL TOAST NOTIFICATIONS
   ========================================== */

.toast-container {
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 9999;
}

.toast-notification {
  min-width: 280px;
  padding: 12px 16px;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  animation: slideIn 0.3s ease-out;
}

.toast-notification.success {
  background: #28a745;
  border-left: 4px solid #1f8a39;
  color: #ffffff;
}

.toast-notification.error {
  background: #f8d7da;
  border-left: 4px solid #dc3545;
  color: #721c24;
}

.toast-notification.info {
  background: #d1ecf1;
  border-left: 4px solid #17a2b8;
  color: #0c5460;
}

.toast-notification.warning {
  background: #fff3cd;
  border-left: 4px solid #ffc107;
  color: #856404;
}

.toast-notification i {
  margin-right: 10px;
  font-size: 16px;
}

.toast-notification .close-toast {
  margin-left: auto;
  cursor: pointer;
  opacity: 0.7;
}

.toast-notification .close-toast:hover {
  opacity: 1;
}

@keyframes slideIn {
  from {
    transform: translateX(100%);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}

@keyframes slideOut {
  from {
    transform: translateX(0);
    opacity: 1;
  }
  to {
    transform: translateX(100%);
    opacity: 0;
  }
}

/* Dark mode toast notifications */
body.dark-mode .toast-notification.success {
  background: #2ea44f;
  border-left-color: #1f7a38;
  color: #ffffff;
}

body.dark-mode .toast-notification.error {
  background: rgba(220, 53, 69, 0.2);
  border-left-color: #dc3545;
  color: #f5a6ae;
}

body.dark-mode .toast-notification.info {
  background: rgba(23, 162, 184, 0.2);
  border-left-color: #17a2b8;
  color: #7ddbe8;
}

body.dark-mode .toast-notification.warning {
  background: rgba(255, 193, 7, 0.2);
  border-left-color: #ffc107;
  color: #ffe083;
}
