/* Uttarakhand Ventures CRM - shared visual modernization layer. */
:root {
  --uv-primary: #2563eb;
  --uv-primary-dark: #1d4ed8;
  --uv-accent: #0f766e;
  --uv-bg: #f4f7fb;
  --uv-surface: #ffffff;
  --uv-text: #172033;
  --uv-muted: #64748b;
  --uv-border: #dbe3ef;
  --uv-success: #15803d;
  --uv-warning: #b45309;
  --uv-danger: #b91c1c;
  --uv-shadow-sm: 0 2px 8px rgba(15, 23, 42, .06);
  --uv-shadow-md: 0 12px 30px rgba(15, 23, 42, .09);
  --uv-radius: 14px;
  --uv-ease: cubic-bezier(.2, .75, .25, 1);
}

html { scroll-behavior: smooth; }
body {
  background: var(--uv-bg) !important;
  color: var(--uv-text) !important;
  font-family: 'Inter', 'Segoe UI', system-ui, sans-serif !important;
  -webkit-font-smoothing: antialiased;
}

/* Shared admin and employee navigation */
.sidebar, .left-sidebar {
  background: linear-gradient(180deg, #111c33 0%, #17243c 100%) !important;
  box-shadow: 8px 0 28px rgba(15, 23, 42, .08);
}
.sidebar-brand, .left-sidebar .sidebar-brand {
  min-height: 88px;
  padding: 22px 24px !important;
  border-bottom-color: rgba(255,255,255,.08) !important;
  letter-spacing: -.01em;
}
.sidebar .nav, .left-sidebar .sidebar-nav {
  padding: 22px 14px !important;
  gap: 6px !important;
}
.sidebar .nav-link, .left-sidebar .nav-link {
  min-height: 46px;
  border-radius: 12px !important;
  color: #9aa9c1 !important;
  padding: 12px 16px !important;
  font-weight: 600 !important;
  transition: background .2s var(--uv-ease), color .2s var(--uv-ease), transform .2s var(--uv-ease) !important;
}
.sidebar .nav-link:hover, .sidebar .nav-link.active,
.left-sidebar .nav-link:hover, .left-sidebar .nav-link.active {
  color: #fff !important;
  background: rgba(255,255,255,.095) !important;
  transform: translateX(2px);
}
.sidebar .nav-link.active, .left-sidebar .nav-link.active { box-shadow: inset 3px 0 0 #60a5fa; }
.sidebar .nav-link i, .left-sidebar .nav-link i { color: currentColor; opacity: .95; }

/* Shells and page headers */
.main-wrapper, .layout-body { background: transparent; }
.top-header {
  min-height: 70px !important;
  background: rgba(255,255,255,.92) !important;
  border-bottom: 1px solid var(--uv-border) !important;
  box-shadow: 0 1px 0 rgba(15,23,42,.02), 0 8px 22px rgba(15,23,42,.035);
  backdrop-filter: blur(14px);
}
.top-header h1, .top-header h2, .top-header h5, .page-title-bar h1 { letter-spacing: -.025em; }

/* Cards, panels, statistics and repeated surfaces */
.panel, .summary-panel, .data-card, .manage-card, .form-card, .agent-card,
.employee-card, .hotel-card, .hm-hcard, .hm-stat, .hm-modal, .card {
  border: 1px solid var(--uv-border) !important;
  border-radius: var(--uv-radius) !important;
  box-shadow: var(--uv-shadow-sm);
}
.panel, .data-card, .manage-card, .form-card, .agent-card, .employee-card, .hotel-card, .hm-hcard, .card { background: var(--uv-surface); }
.panel:hover, .data-card:hover, .manage-card:hover, .agent-card:hover, .employee-card:hover, .hm-hcard:hover { box-shadow: var(--uv-shadow-md); }

/* Controls */
.btn, button, .hm-btn {
  border-radius: 10px !important;
  font-weight: 650 !important;
  transition: transform .16s var(--uv-ease), box-shadow .16s var(--uv-ease), background-color .16s ease, border-color .16s ease !important;
}
.btn:hover, button:hover, .hm-btn:hover { transform: translateY(-1px); box-shadow: 0 6px 14px rgba(15,23,42,.10); }
.btn:active, button:active, .hm-btn:active { transform: translateY(0); }
.btn-primary, .hm-btn-brand { background: var(--uv-primary) !important; border-color: var(--uv-primary) !important; }
.btn-primary:hover, .hm-btn-brand:hover { background: var(--uv-primary-dark) !important; border-color: var(--uv-primary-dark) !important; }
.btn-success { background: var(--uv-success) !important; border-color: var(--uv-success) !important; }
.btn-danger, .hm-btn-coral { background: var(--uv-danger) !important; border-color: var(--uv-danger) !important; }
.form-control, .form-select, input, select, textarea {
  border-color: var(--uv-border) !important;
  border-radius: 10px !important;
  min-height: 40px;
  color: var(--uv-text);
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease !important;
}
.form-control:focus, .form-select:focus, input:focus, select:focus, textarea:focus {
  border-color: #60a5fa !important;
  box-shadow: 0 0 0 3px rgba(37,99,235,.13) !important;
  outline: 0;
}
.is-invalid, .query-required-field.is-invalid { border-color: #ef4444 !important; box-shadow: 0 0 0 3px rgba(239,68,68,.12) !important; }

/* Tables and status language */
.table-responsive { border-radius: 12px; }
.table { --bs-table-bg: transparent; color: var(--uv-text); }
.table thead th, .hm-rtable th { background: #eef3f9 !important; color: #334155 !important; border-bottom: 1px solid var(--uv-border) !important; font-size: .72rem; letter-spacing: .035em; text-transform: uppercase; }
.table tbody tr, .hm-rtable tbody tr { transition: background .16s ease, transform .16s ease; }
.table tbody tr:hover, .hm-rtable tbody tr:hover { background: #f8fbff !important; }
.badge, .hm-badge { border-radius: 999px !important; font-weight: 700 !important; letter-spacing: .01em; }
.alert { border: 0 !important; border-radius: 12px !important; box-shadow: var(--uv-shadow-sm); }

/* Tabs, modal and loading feedback */
.nav-tabs { border-bottom-color: var(--uv-border); gap: 4px; }
.nav-tabs .nav-link { border: 0; border-radius: 9px 9px 0 0; color: var(--uv-muted); font-weight: 650; }
.nav-tabs .nav-link.active { color: var(--uv-primary); background: #eff6ff; }
.modal-content, .hm-modal { border: 0 !important; box-shadow: 0 24px 70px rgba(15,23,42,.22) !important; }
.modal-backdrop.show { opacity: .48; }
.fade { transition-duration: .2s !important; }
.hm-overlay { backdrop-filter: blur(4px); }

@keyframes uv-page-in { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: none; } }
.main-wrapper, .layout-body, .login-shell, .section-wrap { animation: uv-page-in .38s var(--uv-ease) both; }
.spinner-border { animation-duration: .75s; }

@media (max-width: 992px) {
  .main-wrapper, .layout-body { margin-left: 0 !important; }
  .main-content, .section-wrap { padding: 20px 16px !important; }
  .top-header { padding: 12px 16px !important; }
  .table-responsive { -webkit-overflow-scrolling: touch; }
}
@media (max-width: 576px) {
  .panel, .data-card, .manage-card, .form-card, .card { border-radius: 12px !important; }
  .btn, .hm-btn { min-height: 40px; }
  .top-header { gap: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

/* Enterprise warm-orange theme shared by every CRM page. */
:root {
  --primary: #ea580c !important;
  --primary-light: #f97316 !important;
  --primary-dark: #c2410c !important;
  --primary-50: #fff7ed !important;
  --primary-100: #ffedd5 !important;
  --primary-200: #fed7aa !important;
  --brand: #ea580c !important;
  --brand-d: #c2410c !important;
  --uv-primary: #ea580c !important;
  --uv-primary-dark: #c2410c !important;
  --uv-accent: #d97706 !important;
  --uv-bg: #f8fafc !important;
  --uv-border: #cbd5e1 !important;
  --accent: #d97706 !important;
  --sidebar-active: rgba(234, 88, 12, .16) !important;
  --shadow-glow: 0 0 20px rgba(234, 88, 12, .16) !important;
  --bs-primary: #ea580c !important;
  --bs-link-color: #c2410c !important;
  --bs-link-hover-color: #9a3412 !important;
}

.sidebar, .left-sidebar {
  background: #0f172a !important;
  border-right-color: rgba(255, 255, 255, .1) !important;
}

.sidebar .nav-link.active, .left-sidebar .nav-link.active {
  background: rgba(234, 88, 12, .16) !important;
  box-shadow: inset 3px 0 0 #ea580c !important;
}

.sidebar-brand .brand-icon,
.sidebar-brand-text .brand-icon {
  background: linear-gradient(135deg, #ea580c 0%, #f97316 100%) !important;
}

.btn-primary, .btn-brand, .hm-btn-brand,
button.btn-primary, input[type="submit"] {
  background: linear-gradient(135deg, #ea580c 0%, #f97316 100%) !important;
  border-color: #ea580c !important;
  box-shadow: 0 2px 8px rgba(234, 88, 12, .28) !important;
  color: #fff !important;
}

.btn-primary:hover, .btn-brand:hover, .hm-btn-brand:hover,
button.btn-primary:hover, input[type="submit"]:hover {
  background: linear-gradient(135deg, #c2410c 0%, #ea580c 100%) !important;
  border-color: #c2410c !important;
}

.form-control:focus, .form-select:focus, input:focus, select:focus, textarea:focus {
  border-color: #ea580c !important;
  box-shadow: 0 0 0 3px rgba(234, 88, 12, .16) !important;
}

.nav-tabs .nav-link.active {
  color: #c2410c !important;
  background: #fff7ed !important;
}

.table thead th, .hm-rtable th {
  background: #fff7ed !important;
  color: #7c2d12 !important;
}

/* Shared CRM design tokens and component finish. */
:root {
  --crm-bg: #f8fafc !important;
  --crm-bg-alt: #f1f5f9 !important;
  --crm-surface: #ffffff !important;
  --crm-surface-hover: #fdf8f5 !important;
  --crm-border: #cbd5e1 !important;
  --crm-border-subtle: #e2e8f0 !important;
  --crm-text: #0f172a !important;
  --crm-text-secondary: #334155 !important;
  --crm-text-muted: #64748b !important;
  --crm-radius-sm: 8px !important;
  --crm-radius-md: 10px !important;
  --crm-radius-lg: 16px !important;
  --crm-radius-pill: 9999px !important;
  --crm-shadow: 0 4px 10px -2px rgba(15, 23, 42, .08) !important;
  --crm-shadow-lg: 0 12px 24px -4px rgba(15, 23, 42, .10) !important;
}

[data-theme="dark"] {
  --crm-bg: #0b0f19 !important;
  --crm-bg-alt: #111827 !important;
  --crm-surface: #161f30 !important;
  --crm-surface-hover: #1e293b !important;
  --crm-border: rgba(255, 255, 255, .14) !important;
  --crm-border-subtle: rgba(255, 255, 255, .08) !important;
  --crm-text: #f8fafc !important;
  --crm-text-secondary: #cbd5e1 !important;
  --crm-text-muted: #94a3b8 !important;
  --primary: #fb923c !important;
  --primary-50: rgba(251, 146, 60, .14) !important;
  --primary-100: rgba(251, 146, 60, .22) !important;
  --primary-200: rgba(251, 146, 60, .32) !important;
}

body { background: var(--crm-bg) !important; color: var(--crm-text) !important; line-height: 1.5; }
h1, h2, h3, h4, h5, h6 { letter-spacing: -.02em; font-weight: 700; }

.panel, .summary-card, .summary-panel, .data-card, .manage-card,
.form-card, .agent-card, .employee-card, .hotel-card, .hm-hcard, .hm-stat,
.hm-modal, .card {
  background: var(--crm-surface) !important;
  border: 1px solid var(--crm-border) !important;
  border-radius: var(--crm-radius-lg) !important;
  box-shadow: var(--crm-shadow) !important;
}
.panel:hover, .summary-card:hover, .data-card:hover, .manage-card:hover,
.agent-card:hover, .employee-card:hover, .hotel-card:hover, .hm-hcard:hover {
  box-shadow: var(--crm-shadow-lg) !important;
}

.btn:not(.btn-primary):not(.btn-brand):not(.btn-success):not(.btn-danger),
.btn-secondary, .btn-outline-primary, .btn-outline-secondary {
  background: var(--crm-surface) !important;
  border-color: var(--crm-border) !important;
  color: var(--crm-text) !important;
}
.btn:not(.btn-primary):not(.btn-brand):not(.btn-success):not(.btn-danger):hover,
.btn-secondary:hover, .btn-outline-primary:hover, .btn-outline-secondary:hover {
  background: var(--crm-surface-hover) !important;
  border-color: #ea580c !important;
  color: #ea580c !important;
}

.form-control, .form-select, input, select, textarea {
  min-height: 42px;
  border: 1.5px solid var(--crm-border) !important;
  border-radius: var(--crm-radius-md) !important;
  background: var(--crm-surface) !important;
  color: var(--crm-text) !important;
}
.table thead th, .hm-rtable th {
  background: var(--crm-bg-alt) !important;
  color: var(--crm-text-muted) !important;
  padding: 13px 18px !important;
  letter-spacing: .05em;
}
.table tbody td, .hm-rtable td {
  color: var(--crm-text) !important;
  border-bottom-color: var(--crm-border-subtle) !important;
  vertical-align: middle;
}
.table tbody tr:hover, .hm-rtable tbody tr:hover { background: var(--crm-surface-hover) !important; }
.badge, .hm-badge, .el-badge, .status-badge { border-radius: var(--crm-radius-pill) !important; font-weight: 600 !important; }
.badge-success { background: #ecfdf5 !important; color: #047857 !important; }
.badge-warning { background: #fffbeb !important; color: #b45309 !important; }
.badge-danger { background: #fef2f2 !important; color: #b91c1c !important; }
.modal-backdrop.show { opacity: .6; backdrop-filter: blur(4px); }
.modal-content, .hm-modal { border: 1px solid var(--crm-border) !important; background: var(--crm-surface) !important; border-radius: var(--crm-radius-lg) !important; box-shadow: 0 20px 30px -6px rgba(0, 0, 0, .5) !important; }

[data-theme="dark"] body, [data-theme="dark"] .panel, [data-theme="dark"] .summary-card,
[data-theme="dark"] .data-card, [data-theme="dark"] .card,
[data-theme="dark"] .form-control, [data-theme="dark"] .form-select,
[data-theme="dark"] input, [data-theme="dark"] select, [data-theme="dark"] textarea {
  color: var(--crm-text) !important;
}
[data-theme="dark"] .badge-success { background: rgba(52, 211, 153, .18) !important; color: #34d399 !important; }
[data-theme="dark"] .badge-warning { background: rgba(245, 158, 11, .18) !important; color: #fbbf24 !important; }
[data-theme="dark"] .badge-danger { background: rgba(248, 113, 113, .18) !important; color: #f87171 !important; }

/* Login portal uses the same orange brand language as the authenticated shell. */
.promo-pane::before { background: radial-gradient(circle, rgba(234, 88, 12, .18) 0%, transparent 70%) !important; }
.brand-badge .brand-icon { background: linear-gradient(135deg, #ea580c, #f97316) !important; }
.promo-list i { color: #fb923c !important; }
.form-control:focus, .form-select:focus { box-shadow: 0 0 0 3.5px rgba(234, 88, 12, .25) !important; }
.btn-login { background: linear-gradient(135deg, #ea580c, #f97316) !important; box-shadow: 0 2px 8px rgba(234, 88, 12, .28) !important; }
.btn-login:hover { box-shadow: 0 4px 14px rgba(234, 88, 12, .4) !important; }

/* Canonical Enterprise Warm Orange / Pitch Slate contract. */
:root {
  --crm-primary: #ea580c !important;
  --crm-primary-hover: #c2410c !important;
  --crm-primary-active: #9a3412 !important;
  --crm-primary-50: #fff7ed !important;
  --crm-primary-100: #ffedd5 !important;
  --crm-primary-200: #fed7aa !important;
  --crm-primary-500: #f97316 !important;
  --crm-primary-600: #ea580c !important;
  --crm-primary-700: #c2410c !important;
  --crm-primary-glow: rgba(234, 88, 12, .28) !important;
  --crm-accent: #d97706 !important;
  --crm-accent-hover: #b45309 !important;
  --crm-accent-50: #fffbeb !important;
  --crm-accent-100: #fef3c7 !important;
  --crm-accent-glow: rgba(217, 119, 6, .25) !important;
  --crm-success: #10b981 !important;
  --crm-success-hover: #059669 !important;
  --crm-success-50: #ecfdf5 !important;
  --crm-success-text: #047857 !important;
  --crm-warning: #f59e0b !important;
  --crm-warning-hover: #d97706 !important;
  --crm-warning-50: #fffbeb !important;
  --crm-warning-text: #b45309 !important;
  --crm-danger: #ef4444 !important;
  --crm-danger-hover: #dc2626 !important;
  --crm-danger-50: #fef2f2 !important;
  --crm-danger-text: #b91c1c !important;
  --crm-info: #0284c7 !important;
  --crm-info-hover: #0369a1 !important;
  --crm-info-50: #f0f9ff !important;
  --crm-info-text: #075985 !important;
  --crm-surface-elevated: #ffffff !important;
  --crm-border-focus: #ea580c !important;
  --crm-text-inverse: #ffffff !important;
  --crm-sidebar-bg: #0f172a !important;
  --crm-sidebar-surface: #1e293b !important;
  --crm-sidebar-border: rgba(255, 255, 255, .08) !important;
  --crm-sidebar-text: #94a3b8 !important;
  --crm-sidebar-text-active: #ffffff !important;
  --crm-sidebar-active-bg: rgba(234, 88, 12, .16) !important;
  --crm-sidebar-active-border: #ea580c !important;
  --crm-sidebar-hover-bg: rgba(255, 255, 255, .06) !important;
  --crm-sidebar-width: 260px !important;
  --crm-header-height: 64px !important;
  --crm-header-bg: rgba(255, 255, 255, .94) !important;
  --crm-header-border: #cbd5e1 !important;
  --crm-shadow-sm: 0 1px 3px rgba(15, 23, 42, .08) !important;
  --crm-shadow-md: 0 4px 8px -2px rgba(15, 23, 42, .08) !important;
  --crm-shadow-xl: 0 20px 30px -6px rgba(15, 23, 42, .14) !important;
  --crm-transition: 200ms cubic-bezier(.16, 1, .3, 1) !important;
}

[data-theme="dark"], .dark-theme {
  --crm-primary: #fb923c !important;
  --crm-primary-hover: #f97316 !important;
  --crm-primary-active: #ea580c !important;
  --crm-primary-glow: rgba(251, 146, 60, .35) !important;
  --crm-accent: #f59e0b !important;
  --crm-accent-hover: #d97706 !important;
  --crm-success: #34d399 !important;
  --crm-warning: #fbbf24 !important;
  --crm-danger: #f87171 !important;
  --crm-info: #38bdf8 !important;
  --crm-bg: #0b0f19 !important;
  --crm-bg-alt: #111827 !important;
  --crm-surface: #161f30 !important;
  --crm-surface-hover: #1e293b !important;
  --crm-surface-elevated: #1f2a3f !important;
  --crm-border: rgba(255, 255, 255, .14) !important;
  --crm-border-subtle: rgba(255, 255, 255, .08) !important;
  --crm-border-focus: #fb923c !important;
  --crm-text: #f8fafc !important;
  --crm-text-secondary: #cbd5e1 !important;
  --crm-text-muted: #94a3b8 !important;
  --crm-header-bg: rgba(17, 24, 39, .94) !important;
  --crm-header-border: rgba(255, 255, 255, .12) !important;
}

body, .main-wrapper, .layout-body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
}
h1, h2, h3, h4 { color: var(--crm-text); font-weight: 700; letter-spacing: -.02em; }
.top-header { min-height: var(--crm-header-height) !important; background: var(--crm-header-bg) !important; border-bottom-color: var(--crm-header-border) !important; }
.sidebar, .left-sidebar { width: var(--crm-sidebar-width); background: var(--crm-sidebar-bg) !important; border-right-color: var(--crm-sidebar-border) !important; }
.sidebar .nav-link, .left-sidebar .nav-link { color: var(--crm-sidebar-text) !important; }
.sidebar .nav-link:hover, .left-sidebar .nav-link:hover { background: var(--crm-sidebar-hover-bg) !important; color: var(--crm-sidebar-text-active) !important; }
.sidebar .nav-link.active, .left-sidebar .nav-link.active { background: var(--crm-sidebar-active-bg) !important; box-shadow: inset 3px 0 0 var(--crm-sidebar-active-border) !important; color: var(--crm-sidebar-text-active) !important; }
.panel, .summary-card, .summary-panel, .data-card, .manage-card, .form-card, .agent-card, .employee-card, .hotel-card, .hm-hcard, .hm-stat, .card { background: var(--crm-surface) !important; border-color: var(--crm-border) !important; border-radius: var(--crm-radius-md) !important; box-shadow: var(--crm-shadow-sm) !important; }
.btn-primary, .btn-brand, .hm-btn-brand, .el-btn-teal, .btn-light.dropdown-toggle { background: var(--crm-primary) !important; border-color: var(--crm-primary) !important; color: #fff !important; box-shadow: 0 2px 8px var(--crm-primary-glow) !important; }
.btn-primary:hover, .btn-brand:hover, .hm-btn-brand:hover, .el-btn-teal:hover, .btn-light.dropdown-toggle:hover { background: var(--crm-primary-hover) !important; border-color: var(--crm-primary-hover) !important; }
.btn:not(.btn-primary):not(.btn-brand):not(.btn-success):not(.btn-danger), .btn-secondary, .btn-outline-primary, .btn-outline-secondary { background: var(--crm-surface) !important; border: 1.5px solid var(--crm-border) !important; color: var(--crm-text) !important; }
.btn:not(.btn-primary):not(.btn-brand):not(.btn-success):not(.btn-danger):hover, .btn-secondary:hover, .btn-outline-primary:hover, .btn-outline-secondary:hover { background: var(--crm-surface-hover) !important; border-color: var(--crm-primary) !important; color: var(--crm-primary) !important; }
.form-control, .form-select, input, select, textarea { min-height: 42px; background: var(--crm-surface) !important; border: 1.5px solid var(--crm-border) !important; color: var(--crm-text) !important; border-radius: var(--crm-radius-sm) !important; }
.form-control::placeholder, input::placeholder, textarea::placeholder { color: var(--crm-text-muted) !important; }
.form-control:focus, .form-select:focus, input:focus, select:focus, textarea:focus { border-color: var(--crm-border-focus) !important; box-shadow: 0 0 0 3px var(--crm-primary-glow) !important; }
.table-responsive, .table-container { border: 1px solid var(--crm-border); border-radius: var(--crm-radius-md); overflow: hidden; }
.table thead th, .hm-rtable th { background: var(--crm-bg-alt) !important; color: var(--crm-text-muted) !important; border-bottom: 1.5px solid var(--crm-border) !important; font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.table tbody td, .hm-rtable td { background: var(--crm-surface) !important; border-bottom: 1px solid var(--crm-border-subtle) !important; color: var(--crm-text) !important; padding: 12px 16px; }
.table tbody tr:hover, .hm-rtable tbody tr:hover { background: var(--crm-surface-hover) !important; }
.badge, .hm-badge, .el-badge, .status-badge { border-radius: var(--crm-radius-pill) !important; padding: 4px 10px; font-size: .75rem; font-weight: 600 !important; }
.modal-content, .hm-modal { background: var(--crm-surface) !important; border: 1.5px solid var(--crm-border) !important; border-radius: var(--crm-radius-lg) !important; box-shadow: var(--crm-shadow-xl) !important; }
.modal-backdrop.show { background: rgba(15, 23, 42, .65); backdrop-filter: blur(4px); opacity: 1; }

[data-theme="dark"] body, .dark-theme body { background: var(--crm-bg) !important; color: var(--crm-text) !important; }
[data-theme="dark"] .badge-success, .dark-theme .badge-success { background: rgba(52, 211, 153, .18) !important; color: #34d399 !important; }
[data-theme="dark"] .badge-warning, .dark-theme .badge-warning { background: rgba(245, 158, 11, .18) !important; color: #fbbf24 !important; }
[data-theme="dark"] .badge-danger, .dark-theme .badge-danger { background: rgba(248, 113, 113, .18) !important; color: #f87171 !important; }

/* Legacy page surfaces: keep every dashboard family on the same compact CRM grid. */
.main-wrapper { margin-left: var(--crm-sidebar-width) !important; min-height: 100vh; background: var(--crm-bg) !important; }
.container-fluid, .section-wrap { background: transparent !important; }
.top-header { height: var(--crm-header-height) !important; min-height: var(--crm-header-height) !important; padding: 0 18px !important; background: var(--crm-header-bg) !important; border-bottom: 1px solid var(--crm-header-border) !important; box-shadow: var(--crm-shadow-sm) !important; }
.sidebar-brand, .left-sidebar .sidebar-brand { min-height: 64px !important; padding: 14px 16px !important; font-size: .86rem !important; }
.sidebar-brand .brand-icon, .sidebar-brand-text .brand-icon { width: 30px !important; height: 30px !important; border-radius: 8px !important; }
.sidebar .nav, .left-sidebar .sidebar-nav { padding: 14px 10px !important; gap: 3px !important; }
.sidebar .nav-link, .left-sidebar .nav-link { min-height: 38px !important; padding: 9px 12px !important; border-radius: 8px !important; font-size: .76rem !important; }
.sidebar .nav-link.active, .left-sidebar .nav-link.active { border-left: 3px solid #ea580c !important; }
.search-bar { height: 36px !important; border: 1px solid var(--crm-border) !important; border-radius: var(--crm-radius-pill) !important; background: var(--crm-surface) !important; color: var(--crm-text) !important; }
.overview-title, .container-fluid h4, .container-fluid h5, .container-fluid h6 { color: var(--crm-text) !important; }
.summary-panel, .data-card, .manage-card, .chart-card, .panel { background: var(--crm-surface) !important; border: 1px solid var(--crm-border) !important; border-radius: var(--crm-radius-md) !important; box-shadow: var(--crm-shadow-sm) !important; }
.summary-panel, .data-card, .manage-card, .chart-card { padding: 14px !important; }
.summary-card, .mini-stat, .kpi-chip { background: var(--crm-surface) !important; border: 1px solid var(--crm-border) !important; border-radius: var(--crm-radius-md) !important; box-shadow: none !important; }
.summary-card { padding: 16px !important; position: relative; overflow: hidden; }
.summary-card::before { content: ''; position: absolute; inset: 0 0 auto; height: 3px; background: linear-gradient(90deg, #ea580c, transparent); opacity: 0; transition: opacity .2s ease; }
.summary-card:hover { transform: translateY(-2px); box-shadow: var(--crm-shadow-lg) !important; }
.summary-card:hover::before { opacity: 1; }
.summary-label, .mini-stat h6, .kpi-chip .label { color: var(--crm-text-muted) !important; text-transform: uppercase; font-size: .68rem !important; font-weight: 700 !important; letter-spacing: .05em; }
.summary-value, .mini-stat .value, .kpi-chip .num { color: var(--crm-text) !important; font-size: clamp(1.25rem, 1.8vw, 1.85rem) !important; font-weight: 800 !important; font-variant-numeric: tabular-nums; }
.mini-stat.soft-green { background: var(--crm-success-50) !important; }
.mini-stat.soft-purple { background: var(--crm-primary-50) !important; }
.filter-form, .filter-grid { gap: 10px !important; }
.filter-form input, .date-input, .filter-grid .form-control, .filter-grid .form-select { height: 40px !important; min-height: 40px !important; background: var(--crm-surface) !important; border: 1.5px solid var(--crm-border) !important; border-radius: var(--crm-radius-sm) !important; color: var(--crm-text) !important; }
.btn-apply { background: var(--crm-primary) !important; border-radius: var(--crm-radius-sm) !important; box-shadow: 0 2px 8px var(--crm-primary-glow) !important; }
.panel-title, .manage-title, .data-card h4 { color: var(--crm-text) !important; }
.progress-thin { background: var(--crm-bg-alt) !important; height: 6px !important; }
.progress-thin .bar { background: linear-gradient(90deg, #ea580c, #d97706) !important; }
.search-result-box { background: var(--crm-bg-alt) !important; border-color: var(--crm-border) !important; }
.property-item, .archived-card { border-bottom: 1px solid var(--crm-border-subtle); }
.agent-card, .employee-card { border-radius: var(--crm-radius-md) !important; padding: 16px !important; background: var(--crm-surface) !important; border-color: var(--crm-border) !important; box-shadow: var(--crm-shadow-sm) !important; }
.agent-card:hover, .employee-card:hover { transform: translateY(-2px) !important; border-color: var(--crm-primary-200) !important; box-shadow: var(--crm-shadow-lg) !important; }
.agent-actions, .employee-actions { border-top: 1px solid var(--crm-border-subtle); padding-top: 10px; }
.modal-header, .modal-footer { border-color: var(--crm-border-subtle) !important; }
.modal-title, .modal-body, .modal-footer { color: var(--crm-text) !important; }
.dropdown-menu { background: var(--crm-surface) !important; border: 1px solid var(--crm-border) !important; box-shadow: var(--crm-shadow-lg) !important; }
.dropdown-item { color: var(--crm-text) !important; border-radius: 8px; }
.dropdown-item:hover { background: var(--crm-surface-hover) !important; }

@media (max-width: 992px) {
  .main-wrapper { margin-left: 0 !important; }
  .top-header { height: auto !important; min-height: 58px !important; padding: 10px 14px !important; }
}

.dashboard-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
  padding: 10px 14px;
  border: 1px solid var(--crm-border);
  border-radius: var(--crm-radius-md);
  background: var(--crm-surface);
  box-shadow: var(--crm-shadow-sm);
}
.dashboard-toolbar-title { display: flex; align-items: center; gap: 8px; color: var(--crm-text); font-size: .82rem; font-weight: 700; }
.dashboard-toolbar-title > i { color: var(--crm-primary); }
.dashboard-header-title { display: flex; flex: 1; min-width: 210px; flex-direction: column; gap: 2px; line-height: 1.1; }
.dashboard-header-title strong { color: var(--crm-text); font-size: 1rem; letter-spacing: -.02em; }
.dashboard-breadcrumb { display: flex; align-items: center; gap: 6px; color: var(--crm-text-muted); font-size: .62rem; }
.dashboard-breadcrumb i { font-size: .52rem; }
.header-action-icon { width: 36px; height: 36px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--crm-border); border-radius: 9px; background: var(--crm-surface); color: var(--crm-text-secondary); }
.header-action-icon:hover { color: var(--crm-primary); border-color: var(--crm-primary); background: var(--crm-surface-hover); }
.theme-toggle { cursor: pointer; color: var(--crm-primary) !important; }
.theme-toggle i { font-size: 15px; }
[data-theme="dark"] .top-header, .dark-theme .top-header { background: var(--crm-header-bg) !important; border-color: var(--crm-header-border) !important; }
[data-theme="dark"] .dashboard-toolbar, .dark-theme .dashboard-toolbar { background: var(--crm-surface) !important; border-color: var(--crm-border) !important; }
.live-pill { display: inline-flex; align-items: center; gap: 5px; padding: 3px 8px; border-radius: var(--crm-radius-pill); background: var(--crm-success-50); color: var(--crm-success-text); font-size: .64rem; font-weight: 600; }
.live-pill i { font-size: .42rem; }
.dashboard-toolbar-actions { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.dashboard-toolbar-actions .btn { min-height: 30px; padding: 5px 10px; font-size: .7rem; }
.dashboard-kpi-row .mini-stat { min-height: 92px; padding: 14px !important; }
.kpi-subtext { display: block; margin-top: 7px; color: var(--crm-text-muted); font-size: .64rem; font-weight: 600; white-space: nowrap; }
.kpi-subtext i { margin-right: 3px; }
.success-text { color: var(--crm-success-text) !important; }
.danger-text { color: var(--crm-danger-text) !important; }
.payment-value { color: var(--crm-primary) !important; }
.payment-icon { color: var(--crm-primary) !important; }
.dashboard-kpi-row + .row { margin-top: 12px !important; }
.chart-card { min-height: 330px; overflow: hidden; }
.chart-card canvas { display: block !important; width: 100% !important; height: 250px !important; max-height: 250px; }
.data-card canvas { display: block !important; width: 100% !important; height: 230px !important; max-height: 230px; }
.chart-card .manage-title { display: flex; align-items: center; gap: 6px; padding-bottom: 12px; border-bottom: 1px solid var(--crm-border-subtle); }
@media (max-width: 720px) {
  .dashboard-toolbar { align-items: flex-start; flex-direction: column; }
  .dashboard-toolbar-actions { width: 100%; }
  .dashboard-header-title { min-width: 0; }
  .dashboard-header-title strong { font-size: .88rem; }
  .dashboard-header-title .dashboard-breadcrumb { display: none; }
}

  /* Reference sidebar: 260px pitch-slate rail with an orange active item. */
  .sidebar, .left-sidebar {
    width: 260px !important;
    min-height: 100vh !important;
    height: 100vh;
    background: #0b1120 !important;
    border-right: 1px solid rgba(255, 255, 255, .08) !important;
    box-shadow: none !important;
  }
  .sidebar-brand, .left-sidebar .sidebar-brand {
    height: 66px !important;
    min-height: 66px !important;
    padding: 12px 20px !important;
    border-bottom: 1px solid rgba(255, 255, 255, .08) !important;
    color: #fff !important;
  }
  .sidebar-brand > span:first-child {
    display: inline-flex !important;
    align-items: center !important;
    gap: 11px !important;
    color: #fff !important;
    font-size: .86rem !important;
    line-height: 1.1 !important;
    letter-spacing: .01em !important;
  }
  .sidebar-brand > span:first-child > i,
  .sidebar-brand .brand-icon,
  .left-sidebar .sidebar-brand-text .brand-icon {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 10px !important;
    background: linear-gradient(135deg, #ea580c, #f97316) !important;
    color: #fff !important;
    font-size: 17px !important;
    margin: 0 !important;
    box-shadow: 0 5px 14px rgba(234, 88, 12, .28) !important;
  }
  .sidebar-brand > span:first-child::after {
    content: 'VENTURES CRM';
    position: absolute;
    margin: 29px 0 0 49px;
    color: #94a3b8;
    font-size: .52rem;
    font-weight: 500;
    letter-spacing: .08em;
  }
  .left-sidebar .sidebar-brand-text { font-size: .84rem !important; }
  .sidebar > .nav, .left-sidebar .sidebar-nav {
    padding: 25px 12px !important;
    gap: 6px !important;
    flex: 1 !important;
  }
  .sidebar > .nav .nav-link, .left-sidebar .sidebar-nav .nav-link {
    min-height: 40px !important;
    padding: 10px 14px !important;
    border-radius: 10px !important;
    border-left: 3px solid transparent !important;
    color: #9aa9c1 !important;
    font-size: .79rem !important;
    font-weight: 500 !important;
    gap: 12px !important;
    transform: none !important;
  }
  .sidebar > .nav .nav-link i, .left-sidebar .sidebar-nav .nav-link i {
    width: 18px !important;
    color: #8fa1ba !important;
    font-size: 15px !important;
    text-align: center;
  }
  .sidebar > .nav .nav-link:hover, .left-sidebar .sidebar-nav .nav-link:hover {
    background: rgba(255, 255, 255, .06) !important;
    color: #fff !important;
  }
  .sidebar > .nav .nav-link.active, .left-sidebar .sidebar-nav .nav-link.active {
    background: rgba(234, 88, 12, .18) !important;
    border-left-color: #ea580c !important;
    color: #fff !important;
    font-weight: 700 !important;
  }
  .sidebar > .nav .nav-link.active i, .left-sidebar .sidebar-nav .nav-link.active i { color: #f97316 !important; }
  .left-sidebar .nav-section-label {
    color: #7185a5 !important;
    font-size: .58rem !important;
    letter-spacing: .12em !important;
    padding: 12px 14px 4px !important;
  }
  .sidebar-footer, .left-sidebar .sidebar-footer {
    padding: 14px 16px !important;
    border-top: 1px solid rgba(255, 255, 255, .08) !important;
    background: rgba(8, 15, 31, .45) !important;
  }
  .sidebar-user, .left-sidebar .sidebar-user { color: #fff !important; }
  .sidebar-avatar, .left-sidebar .sidebar-avatar {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    background: #f97316 !important;
    color: #fff !important;
  }
  .sidebar-user-name, .left-sidebar .sidebar-user-name { color: #fff !important; font-size: .76rem !important; font-weight: 700 !important; }
  .sidebar-user-role, .left-sidebar .sidebar-user-role { color: #94a3b8 !important; font-size: .62rem !important; }
  @media (max-width: 992px) {
    .sidebar, .left-sidebar { width: min(82vw, 260px) !important; }
  }
