/* ============================================================
   MaxiCare Admin – Modern Minimal Design Override
   Loaded last; overrides theme defaults without breaking JS.
   ============================================================ */

/* ── Variables ── */
:root {
  --mn-primary:       #2563EB;
  --mn-primary-soft:  #EFF6FF;
  --mn-primary-light: #BFDBFE;
  --mn-success:       #16A34A;
  --mn-success-soft:  #F0FDF4;
  --mn-warning:       #D97706;
  --mn-warning-soft:  #FFFBEB;
  --mn-danger:        #DC2626;
  --mn-danger-soft:   #FEF2F2;
  --mn-info:          #0891B2;
  --mn-info-soft:     #F0F9FF;

  --mn-text:          #111827;
  --mn-text-muted:    #6B7280;
  --mn-text-light:    #9CA3AF;

  --mn-border:        #E5E7EB;
  --mn-bg:            #F9FAFB;
  --mn-card-bg:       #FFFFFF;

  --mn-radius:        10px;
  --mn-shadow:        0 1px 3px rgba(0,0,0,.07), 0 1px 2px rgba(0,0,0,.05);
  --mn-shadow-md:     0 4px 6px -1px rgba(0,0,0,.07), 0 2px 4px -1px rgba(0,0,0,.05);
}

/* ── Body ── */
body {
  background-color: var(--mn-bg) !important;
  color: var(--mn-text) !important;
}

/* ── Sidebar shell ── */
.sidebar {
  background-color: #ffffff !important;
  border-right: 1px solid var(--mn-border) !important;
  box-shadow: none !important;
}

/* ── Logo area ── */
.sidebar-logo {
  display: flex !important;
  align-items: center !important;
  padding: 18px 20px !important;
  border-bottom: none !important;
  min-height: 64px !important;
  position: relative !important;
}

/* Brand flourish: blue-to-red gradient underline beneath the logo. */
.sidebar-logo::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--mn-primary) 0%, var(--mn-primary) 55%, var(--mn-danger) 100%);
}

/* Unread notification count: red reads as "needs attention" and puts the
   second brand color to real use, rather than blue-on-blue everywhere. */
#notificationCount {
  color: var(--mn-danger) !important;
  background-color: var(--mn-danger-soft) !important;
}

/* ── Scrollable nav area ── */
.sidebar-menu-area {
  padding: 8px 0 20px !important;
  overflow-y: auto;
  overflow-x: hidden;
}

/* ── Section labels via ::before ── */
.sidebar-menu > li:first-child::before {
  content: "MENU";
  display: block;
  padding: 12px 20px 6px;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: var(--mn-text-light);
  text-transform: uppercase;
  pointer-events: none;
}

.sidebar-menu > li:nth-child(2)::before {
  content: "ADMINISTRATION";
  display: block;
  padding: 6px 20px;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: var(--mn-text-light);
  text-transform: uppercase;
  pointer-events: none;
  border-top: 1px solid #F3F4F6;
  margin: 8px 12px 4px;
  padding-left: 8px;
}

/* ── Top-level nav links ── */
.sidebar-menu > li > a {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 9px 14px !important;
  margin: 2px 10px !important;
  border-radius: 8px !important;
  color: var(--mn-text-muted) !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  transition: background-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease !important;
  position: relative !important;
}

/* hide leftover span-based color text */
.sidebar-menu > li > a span {
  color: inherit !important;
  background: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
  display: inline !important;
}

/* ── Hover ── */
.sidebar-menu > li > a:hover {
  background-color: #F9FAFB !important;
  color: var(--mn-text) !important;
}

/* ── Active page link (exact URL match by app.js) ── */
.sidebar-menu > li > a.active-page,
.sidebar-menu > li > a.active-page span,
.sidebar-menu > li > a.active-page iconify-icon,
.sidebar-menu > li > a.active-page i {
  color: var(--mn-primary) !important;
}

.sidebar-menu > li > a.active-page {
  background-color: var(--mn-primary-soft) !important;
  font-weight: 600 !important;
  box-shadow: inset 3px 0 0 var(--mn-primary) !important;
}

/* ── Open dropdown parent ── */
.sidebar-menu > li.dropdown-open > a {
  color: var(--mn-text) !important;
  background-color: #F9FAFB !important;
  font-weight: 600 !important;
}

/* ── Icons ── */
.sidebar-menu > li > a .menu-icon,
.sidebar-menu > li > a > i[class*="ri-"] {
  font-size: 1.125rem !important;
  flex-shrink: 0 !important;
  width: 20px !important;
  text-align: center !important;
  color: var(--mn-text-light) !important;
  transition: color 0.15s ease !important;
}

.sidebar-menu > li > a:hover .menu-icon,
.sidebar-menu > li > a:hover > i[class*="ri-"] {
  color: var(--mn-text-muted) !important;
}

.sidebar-menu > li.dropdown-open > a .menu-icon,
.sidebar-menu > li.dropdown-open > a > i[class*="ri-"] {
  color: var(--mn-primary) !important;
}

/* hide the old circle-fill dots in submenus */
.sidebar-menu .circle-icon {
  display: none !important;
}

/* ── Chevron arrow for dropdowns ── */
.sidebar-menu > li.dropdown > a::after {
  content: "" !important;
  display: block !important;
  width: 6px !important;
  height: 6px !important;
  border-right: 1.5px solid currentColor !important;
  border-bottom: 1.5px solid currentColor !important;
  transform: rotate(-45deg) !important;
  margin-left: auto !important;
  flex-shrink: 0 !important;
  opacity: 0.45 !important;
  transition: transform 0.2s ease, opacity 0.2s ease !important;
}

.sidebar-menu > li.dropdown-open > a::after {
  transform: rotate(45deg) !important;
  opacity: 0.7 !important;
}

/* ── Submenu container ── */
.sidebar-submenu {
  background: transparent !important;
  padding: 2px 0 6px !important;
  margin-left: 42px !important;
  margin-right: 10px !important;
  position: relative !important;
  border-left: 1.5px solid #E5E7EB !important;
}

/* ── Submenu items ── */
.sidebar-submenu li > a {
  display: flex !important;
  align-items: center !important;
  padding: 7px 10px 7px 14px !important;
  margin: 1px 0 !important;
  border-radius: 0 7px 7px 0 !important;
  font-size: 0.8125rem !important;
  font-weight: 400 !important;
  color: var(--mn-text-muted) !important;
  text-decoration: none !important;
  transition: background-color 0.12s ease, color 0.12s ease !important;
  position: relative !important;
}

/* connecting dot on submenu item */
.sidebar-submenu li > a::before {
  content: "" !important;
  display: inline-block !important;
  width: 5px !important;
  height: 5px !important;
  border-radius: 50% !important;
  background-color: #D1D5DB !important;
  margin-right: 10px !important;
  flex-shrink: 0 !important;
  transition: background-color 0.12s ease, transform 0.12s ease !important;
}

.sidebar-submenu li > a:hover {
  background-color: #F9FAFB !important;
  color: var(--mn-text) !important;
}

.sidebar-submenu li > a:hover::before {
  background-color: var(--mn-text-muted) !important;
}

.sidebar-submenu li > a.active-page {
  background-color: var(--mn-primary-soft) !important;
  color: var(--mn-primary) !important;
  font-weight: 500 !important;
}

.sidebar-submenu li > a.active-page::before {
  background-color: var(--mn-primary) !important;
  transform: scale(1.3) !important;
}

/* ── Sidebar close btn ── */
.sidebar-close-btn {
  color: var(--mn-text-muted) !important;
}

/* ── Navbar / Header ── */
.navbar-header {
  background-color: #ffffff !important;
  border-bottom: 1px solid var(--mn-border) !important;
  box-shadow: none !important;
  padding: 0 24px !important;
  height: 64px !important;
  display: flex !important;
  align-items: center !important;
}

.navbar-header .row {
  width: 100% !important;
}

.navbar-search {
  background-color: var(--mn-bg) !important;
  border: 1px solid var(--mn-border) !important;
  border-radius: 8px !important;
  overflow: hidden !important;
}

.navbar-search input {
  background: transparent !important;
  border: none !important;
  color: var(--mn-text) !important;
  font-size: 0.875rem !important;
}

.navbar-search input::placeholder {
  color: var(--mn-text-light) !important;
}

/* Theme toggle & icon buttons */
.w-40-px.h-40-px.bg-neutral-200 {
  background-color: var(--mn-bg) !important;
  border: 1px solid var(--mn-border) !important;
}

.w-40-px.h-40-px.bg-neutral-200:hover {
  background-color: #F3F4F6 !important;
}

/* ── Page breadcrumb row ── */
.dashboard-main-body > div:first-child h6 {
  color: var(--mn-text) !important;
  font-size: 1.125rem !important;
  font-weight: 600 !important;
}

/* ── Cards ── */
.card {
  background-color: var(--mn-card-bg) !important;
  border: 1px solid var(--mn-border) !important;
  border-radius: var(--mn-radius) !important;
  box-shadow: var(--mn-shadow) !important;
}

/* Replace gradient stat cards with clean colored accents */
.bg-gradient-start-primary,
.bg-gradient-primary {
  background: #ffffff !important;
  border: 1px solid var(--mn-primary-light) !important;
}

.bg-gradient-start-success,
.bg-gradient-success {
  background: #ffffff !important;
  border: 1px solid #BBF7D0 !important;
}

.bg-gradient-start-info,
.bg-gradient-info {
  background: #ffffff !important;
  border: 1px solid #BAE6FD !important;
}

.bg-gradient-start-warning,
.bg-gradient-warning {
  background: #ffffff !important;
  border: 1px solid #FDE68A !important;
}

/* Fix text colors inside formerly-gradient cards */
.bg-gradient-primary .text-white,
.bg-gradient-success .text-white,
.bg-gradient-info .text-white,
.bg-gradient-warning .text-white {
  color: var(--mn-text) !important;
}

/* Stat card icon circles */
.bg-gradient-primary .bg-white.bg-opacity-20,
.bg-gradient-success .bg-white.bg-opacity-20,
.bg-gradient-info .bg-white.bg-opacity-20,
.bg-gradient-warning .bg-white.bg-opacity-20 {
  background-color: var(--mn-primary-soft) !important;
  opacity: 1 !important;
}

.bg-gradient-primary .bg-white.bg-opacity-20 .text-white {
  color: var(--mn-primary) !important;
}

.bg-gradient-success .bg-white.bg-opacity-20 .text-white {
  color: var(--mn-success) !important;
}

.bg-gradient-info .bg-white.bg-opacity-20 .text-white {
  color: var(--mn-info) !important;
}

.bg-gradient-warning .bg-white.bg-opacity-20 .text-white {
  color: var(--mn-warning) !important;
}

/* Footer text in stat cards */
.bg-gradient-primary .text-white.fw-medium.text-sm,
.bg-gradient-success .text-white.fw-medium.text-sm,
.bg-gradient-info .text-white.fw-medium.text-sm,
.bg-gradient-warning .text-white.fw-medium.text-sm {
  color: var(--mn-text-muted) !important;
}

/* ── Tables ── */
.table {
  color: var(--mn-text) !important;
  font-size: 0.875rem !important;
}

.table thead th {
  background-color: var(--mn-bg) !important;
  color: var(--mn-text-muted) !important;
  font-weight: 600 !important;
  font-size: 0.75rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  border-bottom: 1px solid var(--mn-border) !important;
  padding: 12px 16px !important;
}

.table td {
  padding: 12px 16px !important;
  border-color: var(--mn-border) !important;
  vertical-align: middle !important;
}

.table tbody tr:hover td {
  background-color: #FAFAFA !important;
}

.table.bordered-table {
  border: 1px solid var(--mn-border) !important;
  border-radius: var(--mn-radius) !important;
  overflow: hidden !important;
}

/* DataTables controls */
.dataTables_wrapper .dataTables_length select,
.dataTables_wrapper .dataTables_filter input {
  border: 1px solid var(--mn-border) !important;
  border-radius: 6px !important;
  padding: 6px 10px !important;
  font-size: 0.875rem !important;
  color: var(--mn-text) !important;
  background-color: #ffffff !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button {
  border-radius: 6px !important;
  font-size: 0.8125rem !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current {
  background: var(--mn-primary) !important;
  color: #ffffff !important;
  border-color: var(--mn-primary) !important;
}

/* ── Buttons ── */
.btn {
  border-radius: 8px !important;
  font-weight: 500 !important;
  font-size: 0.875rem !important;
  padding: 8px 16px !important;
  transition: all 0.15s ease !important;
}

.btn-primary,
.btn-primary-600 {
  background-color: var(--mn-primary) !important;
  border-color: var(--mn-primary) !important;
  color: #ffffff !important;
}

.btn-primary:hover,
.btn-primary-600:hover {
  background-color: #1D4ED8 !important;
  border-color: #1D4ED8 !important;
}

.btn-outline-primary {
  border-color: var(--mn-primary) !important;
  color: var(--mn-primary) !important;
}

.btn-outline-primary:hover {
  background-color: var(--mn-primary) !important;
  color: #ffffff !important;
}

.btn-danger {
  background-color: var(--mn-danger) !important;
  border-color: var(--mn-danger) !important;
}

.btn-success {
  background-color: var(--mn-success) !important;
  border-color: var(--mn-success) !important;
}

.btn-sm {
  padding: 5px 10px !important;
  font-size: 0.8125rem !important;
}

/* ── Form Controls ── */
.form-control,
.form-select {
  border: 1px solid var(--mn-border) !important;
  border-radius: 8px !important;
  font-size: 0.875rem !important;
  color: var(--mn-text) !important;
  background-color: #ffffff !important;
  padding: 8px 12px !important;
  transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}

.form-control:focus,
.form-select:focus {
  border-color: var(--mn-primary) !important;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1) !important;
}

.form-label {
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  color: var(--mn-text) !important;
  margin-bottom: 6px !important;
}

/* ── Badges & Status Pills ── */
.badge {
  font-weight: 500 !important;
  font-size: 0.75rem !important;
  padding: 4px 8px !important;
  border-radius: 6px !important;
}

.text-success-main,
.badge.bg-success {
  background-color: var(--mn-success-soft) !important;
  color: var(--mn-success) !important;
}

.text-danger-main,
.badge.bg-danger {
  background-color: var(--mn-danger-soft) !important;
  color: var(--mn-danger) !important;
}

.text-warning-main,
.badge.bg-warning {
  background-color: var(--mn-warning-soft) !important;
  color: var(--mn-warning) !important;
}

.text-info-main,
.badge.bg-info {
  background-color: var(--mn-info-soft) !important;
  color: var(--mn-info) !important;
}

/* ── Notification Dropdown ── */
.dropdown-menu {
  border: 1px solid var(--mn-border) !important;
  border-radius: var(--mn-radius) !important;
  box-shadow: var(--mn-shadow-md) !important;
}

.bg-primary-50 {
  background-color: var(--mn-primary-soft) !important;
}

/* ── Footer ── */
.d-footer {
  border-top: 1px solid var(--mn-border) !important;
  background-color: #ffffff !important;
  padding: 16px 24px !important;
  font-size: 0.8125rem !important;
  color: var(--mn-text-muted) !important;
}

/* ── Tabs ── */
.nav-pills .nav-link {
  border-radius: 8px !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  color: var(--mn-text-muted) !important;
  padding: 7px 14px !important;
}

.nav-pills .nav-link.active {
  background-color: var(--mn-primary) !important;
  color: #ffffff !important;
}

.border-gradient-tab .nav-link {
  border: 1px solid transparent !important;
  color: var(--mn-text-muted) !important;
}

.border-gradient-tab .nav-link.active {
  border-color: var(--mn-border) !important;
  background-color: #ffffff !important;
  color: var(--mn-primary) !important;
}

/* ── Modals ── */
.modal-content {
  border: 1px solid var(--mn-border) !important;
  border-radius: 12px !important;
  box-shadow: var(--mn-shadow-md) !important;
}

.modal-header {
  border-bottom: 1px solid var(--mn-border) !important;
  padding: 16px 20px !important;
}

.modal-footer {
  border-top: 1px solid var(--mn-border) !important;
  padding: 12px 20px !important;
}

/* ── Page content header row ── */
.d-flex.flex-wrap.align-items-center.justify-content-between.gap-3.mb-24 {
  margin-bottom: 20px !important;
}

/* ── Alerts ── */
.alert {
  border-radius: var(--mn-radius) !important;
  font-size: 0.875rem !important;
  border: 1px solid transparent !important;
}

.alert-primary {
  background-color: var(--mn-primary-soft) !important;
  color: var(--mn-primary) !important;
  border-color: var(--mn-primary-light) !important;
}

.alert-success {
  background-color: var(--mn-success-soft) !important;
  color: var(--mn-success) !important;
}

.alert-warning {
  background-color: var(--mn-warning-soft) !important;
  color: var(--mn-warning) !important;
}

.alert-danger {
  background-color: var(--mn-danger-soft) !important;
  color: var(--mn-danger) !important;
}

/* ── Scrollbars (webkit) ── */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

::-webkit-scrollbar-track {
  background: var(--mn-bg);
}

::-webkit-scrollbar-thumb {
  background-color: #D1D5DB;
  border-radius: 3px;
}

::-webkit-scrollbar-thumb:hover {
  background-color: #9CA3AF;
}

/* ── Spinner ── */
.spinner-border.text-primary {
  color: var(--mn-primary) !important;
}

/* ── Remove disabled link styling ── */
a.disabled-link {
  display: none !important;
}

/* ── Stat card text override (ensure readability) ── */
.card.bg-gradient-primary p.mb-1,
.card.bg-gradient-success p.mb-1,
.card.bg-gradient-info p.mb-1,
.card.bg-gradient-warning p.mb-1 {
  color: var(--mn-text-muted) !important;
  font-size: 0.8125rem !important;
}

.card.bg-gradient-primary h6,
.card.bg-gradient-success h6,
.card.bg-gradient-info h6,
.card.bg-gradient-warning h6 {
  color: var(--mn-text) !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
}

/* ── Card header divider ── */
.card-header {
  background-color: #ffffff !important;
  border-bottom: 1px solid var(--mn-border) !important;
  padding: 14px 20px !important;
  font-weight: 600 !important;
  font-size: 0.9375rem !important;
  color: var(--mn-text) !important;
}

/* ── Input groups ── */
.input-group .input-group-text {
  background-color: var(--mn-bg) !important;
  border-color: var(--mn-border) !important;
  color: var(--mn-text-muted) !important;
  border-radius: 0 !important;
}

.input-group .form-control:first-child {
  border-right: none !important;
}

/* ═══════════════════════════════════════════════════════════════
   ENHANCED FORMS
═══════════════════════════════════════════════════════════════ */

/* Form section card with labeled header */
.form-section {
  background: #ffffff !important;
  border: 1px solid var(--mn-border) !important;
  border-radius: var(--mn-radius) !important;
  margin-bottom: 20px !important;
  overflow: hidden !important;
}

.form-section-header {
  padding: 14px 20px !important;
  border-bottom: 1px solid var(--mn-border) !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

.form-section-header h6,
.form-section-header .form-section-title {
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  color: var(--mn-text) !important;
  margin: 0 !important;
}

.form-section-header iconify-icon {
  color: var(--mn-primary) !important;
  font-size: 1.1rem !important;
}

.form-section-body {
  padding: 20px !important;
}

/* Required field asterisk */
.form-label .required,
label .required {
  color: var(--mn-danger) !important;
  margin-left: 2px !important;
}

/* Form helper text */
.form-hint {
  font-size: 0.78rem !important;
  color: var(--mn-text-light) !important;
  margin-top: 4px !important;
  display: block !important;
}

/* Better icon-in-field (auth style) */
.icon-field {
  position: relative !important;
}

.icon-field .icon {
  position: absolute !important;
  left: 12px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  color: var(--mn-text-light) !important;
  font-size: 1.05rem !important;
  pointer-events: none !important;
  z-index: 2 !important;
}

.icon-field .form-control {
  padding-left: 38px !important;
}

/* Larger inputs on forms (h-56-px style) */
.form-control.h-56-px,
input.h-56-px {
  height: 48px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Form row spacing */
.form-row-gap {
  row-gap: 16px !important;
}

/* Select with clear arrow */
.form-select {
  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='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e") !important;
  background-size: 14px !important;
}

/* Textarea */
textarea.form-control {
  min-height: 100px !important;
  resize: vertical !important;
}

/* Checkbox / Radio improvements */
.form-check-input {
  width: 16px !important;
  height: 16px !important;
  border: 1.5px solid var(--mn-border) !important;
  border-radius: 4px !important;
  cursor: pointer !important;
}

.form-check-input:checked {
  background-color: var(--mn-primary) !important;
  border-color: var(--mn-primary) !important;
}

.form-check-input:focus {
  box-shadow: 0 0 0 3px rgba(37,99,235,0.12) !important;
}

.form-check-label {
  font-size: 0.875rem !important;
  color: var(--mn-text) !important;
  cursor: pointer !important;
}

/* Inline form action row */
.form-actions {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding-top: 8px !important;
  border-top: 1px solid var(--mn-border) !important;
  margin-top: 20px !important;
}

/* File input */
.form-control[type="file"] {
  padding: 6px 12px !important;
  cursor: pointer !important;
}

/* ═══════════════════════════════════════════════════════════════
   ENHANCED TABLES
═══════════════════════════════════════════════════════════════ */

/* Table wrapper card */
.table-card {
  background: #ffffff !important;
  border: 1px solid var(--mn-border) !important;
  border-radius: var(--mn-radius) !important;
  overflow: hidden !important;
}

.table-card-header {
  padding: 14px 20px !important;
  border-bottom: 1px solid var(--mn-border) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
}

.table-card-header .title {
  font-size: 0.9375rem !important;
  font-weight: 600 !important;
  color: var(--mn-text) !important;
  margin: 0 !important;
}

/* Avatar + name cell */
.user-cell {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

.user-cell .avatar {
  width: 34px !important;
  height: 34px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  flex-shrink: 0 !important;
  background-color: var(--mn-primary-soft) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  color: var(--mn-primary) !important;
}

.user-cell .info .name {
  font-weight: 500 !important;
  font-size: 0.875rem !important;
  color: var(--mn-text) !important;
}

.user-cell .info .sub {
  font-size: 0.78rem !important;
  color: var(--mn-text-muted) !important;
}

/* Status dot + text combo */
.status-dot {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 0.8125rem !important;
  font-weight: 500 !important;
}

.status-dot::before {
  content: "" !important;
  width: 7px !important;
  height: 7px !important;
  border-radius: 50% !important;
  flex-shrink: 0 !important;
}

.status-dot.active { color: var(--mn-success) !important; }
.status-dot.active::before { background: var(--mn-success) !important; }

.status-dot.inactive,
.status-dot.cancelled { color: var(--mn-danger) !important; }
.status-dot.inactive::before,
.status-dot.cancelled::before { background: var(--mn-danger) !important; }

.status-dot.pending { color: var(--mn-warning) !important; }
.status-dot.pending::before { background: var(--mn-warning) !important; }

.status-dot.completed { color: var(--mn-info) !important; }
.status-dot.completed::before { background: var(--mn-info) !important; }

/* Action icon buttons in table rows */
.table-actions {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
}

.btn-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  padding: 0 !important;
  border-radius: 7px !important;
  font-size: 0.9rem !important;
  transition: all 0.15s ease !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  cursor: pointer !important;
}

.btn-icon:hover {
  background-color: var(--mn-bg) !important;
  border-color: var(--mn-border) !important;
}

.btn-icon.edit { color: var(--mn-primary) !important; }
.btn-icon.edit:hover { background-color: var(--mn-primary-soft) !important; border-color: var(--mn-primary-light) !important; }

.btn-icon.delete { color: var(--mn-danger) !important; }
.btn-icon.delete:hover { background-color: var(--mn-danger-soft) !important; border-color: #FECACA !important; }

.btn-icon.view { color: var(--mn-info) !important; }
.btn-icon.view:hover { background-color: var(--mn-info-soft) !important; border-color: #BAE6FD !important; }

.btn-icon.approve { color: var(--mn-warning) !important; }
.btn-icon.approve:hover { background-color: var(--mn-warning-soft) !important; border-color: #FDE68A !important; }

.btn-icon.payout { color: var(--mn-primary) !important; }
.btn-icon.payout:hover { background-color: var(--mn-primary-soft) !important; border-color: var(--mn-primary-light) !important; }

.btn-icon.process { color: var(--mn-success) !important; }
.btn-icon.process:hover { background-color: var(--mn-success-soft) !important; border-color: #BBF7D0 !important; }

/* Empty state */
.table-empty {
  padding: 48px 24px !important;
  text-align: center !important;
  color: var(--mn-text-light) !important;
}

.table-empty iconify-icon {
  font-size: 2.5rem !important;
  display: block !important;
  margin-bottom: 12px !important;
  color: #D1D5DB !important;
}

.table-empty p {
  font-size: 0.875rem !important;
  margin: 0 !important;
}

/* Compact card for a table or small info block within a page — much less
   padding than a full bootstrap .card + .card-header + .card-body stack,
   intended for pages that need several sections without excessive
   whitespace piling up between them. */
.mini-table-card {
  border: 1px solid var(--mn-border) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  margin-bottom: 18px !important;
}

.mini-table-card:last-child {
  margin-bottom: 0 !important;
}

.mini-table-card-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  padding: 10px 14px !important;
  background: var(--mn-bg) !important;
  border-bottom: 1px solid var(--mn-border) !important;
  flex-wrap: wrap !important;
}

.mini-table-card-header .title {
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  color: var(--mn-text) !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}

.mini-table-card-header .title iconify-icon {
  color: var(--mn-text-muted) !important;
  font-size: 1rem !important;
}

.mini-table-card table {
  margin-bottom: 0 !important;
}

.mini-table-card thead th {
  background: #fff !important;
  font-size: 0.68rem !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
  color: var(--mn-text-light) !important;
}

.mini-table-card-body {
  padding: 16px !important;
}

.mini-table-hint {
  font-size: 0.78rem !important;
  color: var(--mn-text-light) !important;
  padding: 8px 14px 0 !important;
  display: block !important;
}

.mini-empty {
  padding: 20px 12px !important;
  text-align: center !important;
  color: var(--mn-text-light) !important;
}

.mini-empty iconify-icon {
  font-size: 1.6rem !important;
  display: block !important;
  margin-bottom: 6px !important;
  color: #D1D5DB !important;
}

.mini-empty span {
  font-size: 0.8125rem !important;
}

/* DataTables: full wrapper improvements */
.dataTables_wrapper {
  font-size: 0.875rem !important;
}

.dataTables_wrapper .dataTables_length label,
.dataTables_wrapper .dataTables_filter label {
  color: var(--mn-text-muted) !important;
  font-size: 0.8125rem !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}

.dataTables_wrapper .dataTables_info {
  color: var(--mn-text-muted) !important;
  font-size: 0.8125rem !important;
  padding-top: 12px !important;
}

.dataTables_wrapper .dataTables_paginate {
  padding-top: 12px !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
  background: var(--mn-bg) !important;
  border-color: var(--mn-border) !important;
  color: var(--mn-text) !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.disabled {
  color: var(--mn-text-light) !important;
}

/* ═══════════════════════════════════════════════════════════════
   ENHANCED MODALS
═══════════════════════════════════════════════════════════════ */

.modal-content {
  border: none !important;
  border-radius: 14px !important;
  box-shadow: 0 20px 60px rgba(0,0,0,.14) !important;
  overflow: hidden !important;
}

.modal-header {
  background-color: #ffffff !important;
  padding: 18px 22px !important;
  border-bottom: 1px solid var(--mn-border) !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

.modal-header .modal-title {
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: var(--mn-text) !important;
  line-height: 1.3 !important;
}

.modal-header .modal-icon {
  width: 36px !important;
  height: 36px !important;
  border-radius: 9px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background-color: var(--mn-primary-soft) !important;
  flex-shrink: 0 !important;
}

.modal-header .modal-icon iconify-icon {
  color: var(--mn-primary) !important;
  font-size: 1.1rem !important;
}

.modal-header .modal-icon.danger {
  background-color: var(--mn-danger-soft) !important;
}

.modal-header .modal-icon.danger iconify-icon {
  color: var(--mn-danger) !important;
}

.modal-header .btn-close {
  margin-left: auto !important;
  opacity: 0.4 !important;
  width: 24px !important;
  height: 24px !important;
  background-size: 12px !important;
}

.modal-header .btn-close:hover {
  opacity: 0.7 !important;
}

.modal-body {
  padding: 22px !important;
  background-color: #ffffff !important;
}

.modal-footer {
  padding: 14px 22px !important;
  background-color: #FAFAFA !important;
  border-top: 1px solid var(--mn-border) !important;
  gap: 8px !important;
  justify-content: flex-end !important;
}

.modal-footer .btn {
  min-width: 88px !important;
}

/* Confirm / danger modal */
.modal-confirm .modal-body {
  text-align: center !important;
  padding: 28px 28px 20px !important;
}

.modal-confirm .confirm-icon {
  width: 60px !important;
  height: 60px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto 16px !important;
}

.modal-confirm .confirm-icon.danger {
  background-color: var(--mn-danger-soft) !important;
}

.modal-confirm .confirm-icon iconify-icon {
  font-size: 1.75rem !important;
  color: var(--mn-danger) !important;
}

.modal-confirm .confirm-title {
  font-size: 1.0625rem !important;
  font-weight: 600 !important;
  color: var(--mn-text) !important;
  margin-bottom: 8px !important;
}

.modal-confirm .confirm-message {
  font-size: 0.875rem !important;
  color: var(--mn-text-muted) !important;
  margin: 0 !important;
}

/* Scrollable modal body */
.modal-body-scroll {
  max-height: 65vh !important;
  overflow-y: auto !important;
}

/* ═══════════════════════════════════════════════════════════════
   PAGE HEADER & BREADCRUMB
═══════════════════════════════════════════════════════════════ */

.page-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-bottom: 24px !important;
}

.page-header .page-title {
  font-size: 1.125rem !important;
  font-weight: 600 !important;
  color: var(--mn-text) !important;
  margin: 0 !important;
}

.page-header .page-subtitle {
  font-size: 0.8125rem !important;
  color: var(--mn-text-muted) !important;
  margin: 2px 0 0 !important;
}

.breadcrumb {
  font-size: 0.8125rem !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
}

.breadcrumb-item a {
  color: var(--mn-primary) !important;
  text-decoration: none !important;
}

.breadcrumb-item.active {
  color: var(--mn-text-muted) !important;
}

.breadcrumb-item + .breadcrumb-item::before {
  color: var(--mn-text-light) !important;
}

/* ═══════════════════════════════════════════════════════════════
   PROFILE / DETAIL CARDS
═══════════════════════════════════════════════════════════════ */

.profile-card {
  text-align: center !important;
  padding: 28px 20px 20px !important;
}

.profile-card .profile-avatar {
  width: 80px !important;
  height: 80px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  border: 3px solid var(--mn-primary-light) !important;
  margin-bottom: 12px !important;
}

.profile-card .profile-name {
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: var(--mn-text) !important;
  margin-bottom: 4px !important;
}

.profile-card .profile-role {
  font-size: 0.8125rem !important;
  color: var(--mn-text-muted) !important;
}

/* Info list in detail views */
.info-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.info-list li {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  padding: 10px 0 !important;
  border-bottom: 1px solid var(--mn-border) !important;
  font-size: 0.875rem !important;
}

.info-list li:last-child {
  border-bottom: none !important;
}

.info-list .info-label {
  width: 130px !important;
  flex-shrink: 0 !important;
  color: var(--mn-text-muted) !important;
  font-size: 0.8125rem !important;
}

.info-list .info-value {
  color: var(--mn-text) !important;
  font-weight: 500 !important;
  word-break: break-word !important;
}

/* ═══════════════════════════════════════════════════════════════
   STAT / SUMMARY CHIPS
═══════════════════════════════════════════════════════════════ */

.stat-chip {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 5px 12px !important;
  border-radius: 20px !important;
  font-size: 0.8125rem !important;
  font-weight: 500 !important;
  background-color: var(--mn-bg) !important;
  color: var(--mn-text-muted) !important;
  border: 1px solid var(--mn-border) !important;
}

.stat-chip.primary {
  background-color: var(--mn-primary-soft) !important;
  color: var(--mn-primary) !important;
  border-color: var(--mn-primary-light) !important;
}

.stat-chip.success {
  background-color: var(--mn-success-soft) !important;
  color: var(--mn-success) !important;
  border-color: #BBF7D0 !important;
}

.stat-chip.warning {
  background-color: var(--mn-warning-soft) !important;
  color: var(--mn-warning) !important;
  border-color: #FDE68A !important;
}

/* ═══════════════════════════════════════════════════════════════
   MISC IMPROVEMENTS
═══════════════════════════════════════════════════════════════ */

/* Divider label */
.divider-label {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  color: var(--mn-text-light) !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.07em !important;
  margin: 16px 0 !important;
}

.divider-label::before,
.divider-label::after {
  content: "" !important;
  flex: 1 !important;
  border-top: 1px solid var(--mn-border) !important;
}

/* Card-scoped loading overlay (use class "card-loading" — avoids conflict with page-level loaders) */
.card-loading {
  position: absolute !important;
  inset: 0 !important;
  background: rgba(255,255,255,0.75) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: inherit !important;
  z-index: 10 !important;
}

/* Page-level full-screen loader */
.page-loader {
  position: fixed !important;
  inset: 0 !important;
  background: rgba(255,255,255,0.92) !important;
  z-index: 9999 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-direction: column !important;
  gap: 16px !important;
}

.page-loader .loader-card {
  background: #ffffff !important;
  border: 1px solid var(--mn-border) !important;
  border-radius: 14px !important;
  padding: 32px 40px !important;
  text-align: center !important;
  box-shadow: 0 8px 30px rgba(0,0,0,0.08) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 14px !important;
}

.page-loader .loader-spinner {
  width: 40px !important;
  height: 40px !important;
  border: 3px solid var(--mn-primary-light) !important;
  border-top-color: var(--mn-primary) !important;
  border-radius: 50% !important;
  animation: mn-spin 0.75s linear infinite !important;
}

.page-loader .loader-text {
  font-size: 0.9375rem !important;
  font-weight: 600 !important;
  color: var(--mn-text) !important;
  margin: 0 !important;
}

.page-loader .loader-sub {
  font-size: 0.8125rem !important;
  color: var(--mn-text-muted) !important;
  margin: 0 !important;
}

.page-loader.hidden { display: none !important; }

/* Thin top progress bar */
.progress-thin {
  height: 3px !important;
  border-radius: 2px !important;
  background-color: var(--mn-primary-light) !important;
}

.progress-thin .progress-bar {
  background-color: var(--mn-primary) !important;
  border-radius: 2px !important;
}

/* Better switch toggle */
.form-switch .form-check-input {
  width: 36px !important;
  height: 20px !important;
  border-radius: 20px !important;
  cursor: pointer !important;
}

/* Search bar improvements */
.search-bar {
  position: relative !important;
}

.search-bar .search-icon {
  position: absolute !important;
  left: 12px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  color: var(--mn-text-light) !important;
  font-size: 1rem !important;
  pointer-events: none !important;
}

.search-bar .form-control {
  padding-left: 36px !important;
}

/* Tag/chip list */
.tag-list {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
}

.tag {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 3px 10px !important;
  background-color: var(--mn-bg) !important;
  border: 1px solid var(--mn-border) !important;
  border-radius: 20px !important;
  font-size: 0.78rem !important;
  color: var(--mn-text-muted) !important;
}

/* Radius helper: match existing theme utility */
.radius-12 { border-radius: 12px !important; }
.radius-8  { border-radius: 8px !important; }

/* ── Spin animation for loading icons ── */
@keyframes mn-spin { to { transform: rotate(360deg); } }
.icon-spin { animation: mn-spin 0.9s linear infinite; display: inline-block; }

/* ═══════════════════════════════════════════════════════════════
   FORM LABEL COLOR FIXES
   Theme utility classes like text-primary-light on labels often
   render as a washed-out blue; force proper dark label color.
═══════════════════════════════════════════════════════════════ */

.form-label,
label.form-label,
.form-label.text-primary-light,
.form-label.text-secondary-light,
.form-label.fw-semibold.text-primary-light {
  color: #374151 !important;
  font-weight: 600 !important;
  font-size: 0.8125rem !important;
  margin-bottom: 6px !important;
}

/* Required asterisk inside labels */
.form-label .text-danger-600,
label .text-danger-600,
.form-label .text-danger {
  color: var(--mn-danger) !important;
}

/* Form control height consistency */
.form-control,
.form-select {
  min-height: 40px !important;
  height: auto !important;
}

.form-control.h-40-px,
.form-select.h-40-px,
input.h-40-px {
  height: 40px !important;
  min-height: 40px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Nested card in form pages (card inside card) */
.card .card.border {
  border: 1px solid var(--mn-border) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}

/* mb-20 spacing utility used in forms */
.mb-20 { margin-bottom: 20px !important; }

/* Card header bg-base override */
.card-header.bg-base {
  background-color: #ffffff !important;
}

/* ── Table filter row top of card ── */
.card-header.border-bottom.bg-base {
  background-color: #ffffff !important;
  padding: 12px 20px !important;
}

/* Table wrapper: remove extra padding on card body for tables */
.card-body.p-24 .table-responsive {
  margin: -4px -4px 0 !important;
}

/* Striped rows */
.table-striped > tbody > tr:nth-of-type(odd) > td {
  background-color: #FAFAFA !important;
}

/* Action button group in tables */
.action-btn-group {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
}

/* Badge improvements for status cells */
.badge.text-success-600,
.badge.text-success-main {
  background-color: var(--mn-success-soft) !important;
  color: var(--mn-success) !important;
}

.badge.text-warning-600,
.badge.text-warning-main {
  background-color: var(--mn-warning-soft) !important;
  color: var(--mn-warning) !important;
}

.badge.text-danger-600,
.badge.text-danger-main {
  background-color: var(--mn-danger-soft) !important;
  color: var(--mn-danger) !important;
}

/* Modal form fields inherit same clean style */
.modal-body .form-label {
  color: #374151 !important;
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  margin-bottom: 6px !important;
}

.modal-body .form-control,
.modal-body .form-select {
  height: 40px !important;
  font-size: 0.875rem !important;
}

.modal-body textarea.form-control {
  height: auto !important;
  min-height: 90px !important;
}

/* Modal size improvements */
@media (min-width: 576px) {
  .modal-dialog { margin: 2.5rem auto !important; }
}

/* Form card submit row */
.card-body .row.justify-content-end .btn {
  min-width: 100px !important;
}

/* Input placeholder text */
.form-control::placeholder,
.form-select option:first-child {
  color: #9CA3AF !important;
}

