/**
 * Legacy AdminLTE / Bootstrap page harmonization (uses olam-design-system tokens)
 */

.nav-search--spacer {
  flex: 1;
  min-width: 0;
}

/* Legacy list pages: harmonize with design system in light + dark */
.main-content,
.content-body,
[data-header-position="fixed"] .content-body,
[data-header-position="fixed"] .main-content {
  display: flex !important;
  flex-direction: column !important;
  min-height: calc(100vh - var(--olam-header-height, 56px)) !important;
  min-height: calc(100dvh - var(--olam-header-height, 56px)) !important;
  padding-top: 8px !important;
  margin-top: 0 !important;
  box-sizing: border-box !important;
}

.main-content .container-fluid,
.content-body .container-fluid {
  padding: 0 1.25rem 1.5rem !important;
  background: var(--olam-page-bg);
  flex: 1 0 auto !important;
  min-height: 0 !important;
}

.main-content .olam-page-header,
.content-body .olam-page-header,
.main-content .page-titles,
.content-body .page-titles {
  margin-top: 0 !important;
  margin-bottom: 12px !important;
}

[data-theme="dark"] .main-content .card,
[data-theme="dark"] .main-content .card-body {
  background: var(--olam-surface) !important;
  color: var(--olam-text) !important;
  border-color: var(--olam-border) !important;
}

[data-theme="dark"] .main-content .table,
[data-theme="dark"] .main-content table.dataTable,
[data-theme="dark"] .main-content table.display {
  color: var(--olam-text) !important;
}

[data-theme="dark"] .main-content .table td,
[data-theme="dark"] .main-content .table th,
[data-theme="dark"] .main-content table.dataTable td,
[data-theme="dark"] .main-content table.dataTable th {
  background-color: var(--olam-surface) !important;
  border-color: var(--olam-border) !important;
  color: var(--olam-text) !important;
}

[data-theme="dark"] .main-content .form-control,

[data-theme="dark"] .main-content .welcome-text h4,
[data-theme="dark"] .main-content .card-title {
  color: var(--olam-text) !important;
}

.fl-table-card {
  overflow: visible !important;
}

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

.breadcrumb-item a {
  color: var(--olam-primary) !important;
}

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

.breadcrumb-item+.breadcrumb-item::before {
  color: var(--olam-border-strong) !important;
}

.card:not(.mini-stat):not(.bg-info):not(.bg-success):not(.bg-warning):not(.bg-danger):not(.bg-primary):not(.bg-dark) {
  overflow: hidden !important;
  margin-bottom: 20px !important;
}

.card.mini-stat,
.card.bg-info,
.card.bg-success,
.card.bg-warning,
.card.bg-danger,
.card.bg-primary,
.card.bg-dark {
  border: none !important;
  border-radius: var(--olam-radius-md) !important;
  box-shadow: var(--olam-shadow-md) !important;
  margin-bottom: 16px !important;
  overflow: hidden !important;
}

.card-header[class*="bg-"] .card-title,
.card-header[class*="bg-"] h4,
.card-header[class*="bg-"] h5,
.card-header[class*="bg-"] h6,
.card-header.sh-purple .card-title,
.card-header.sh-purple h4,
.card-header.sh-purple h5,
.card-header.sh-purple h6 {
  color: #fff !important;
  margin: 0 !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}

.card>.card-header:not([class*="bg-"]):not(.sh-purple) {
  background: var(--olam-bg-elevated) !important;
  border-bottom: 1px solid var(--olam-border) !important;
  padding: 12px 18px !important;
}

.card>.card-header:not([class*="bg-"]):not(.sh-purple) .card-title,
.card>.card-header:not([class*="bg-"]):not(.sh-purple) h4,
.card>.card-header:not([class*="bg-"]):not(.sh-purple) h5,
.card>.card-header:not([class*="bg-"]):not(.sh-purple) h6 {
  color: var(--olam-text) !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}

.card-header .btn,
.card-header a.btn {
  background: rgba(255, 255, 255, 0.18) !important;
  border: 1px solid rgba(255, 255, 255, 0.4) !important;
  color: #fff !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  border-radius: 4px !important;
  padding: 4px 12px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
  margin-left: auto !important;
}

.card-header .btn:hover,
.card-header a.btn:hover {
  background: rgba(255, 255, 255, 0.32) !important;
  color: #fff !important;
}

.mini-stat-img {
  padding: 18px 16px !important;
}

/* Legacy theme .nav-user targets sidebar profile — reset for top navbar */
.top-navbar .nav-user {
  background: transparent !important;
  margin-bottom: 0 !important;
  padding: 4px 8px !important;
}

.top-navbar .nav-user h5,
.top-navbar .nav-user p {
  color: inherit !important;
}

.countBox {
  border-radius: var(--olam-radius-md) !important;
  padding: 16px 20px !important;
  min-width: 140px;
  margin: 6px 8px 6px 0 !important;
  box-shadow: var(--olam-shadow-md) !important;
}

.input-group-text {
  font-size: 0.8rem !important;
  background: var(--olam-primary-soft) !important;
  border: 1px solid var(--olam-border) !important;
  color: var(--olam-primary) !important;
}

.btn.btn-primary:not(.btn-xs):not(.btn-sm):not([class*="shadow btn-xs"]) {
  background: var(--olam-primary) !important;
  border-color: var(--olam-primary) !important;
  border-radius: var(--olam-radius-sm) !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  padding: 7px 20px !important;
}

.btn.btn-primary:not(.btn-xs):not(.btn-sm):hover {
  background: var(--olam-primary-hover) !important;
  border-color: var(--olam-primary-hover) !important;
}

.btn.light.btn-info {
  background: var(--olam-primary) !important;
  color: #fff !important;
  border-color: var(--olam-primary) !important;
  border-radius: 8px !important;
  font-weight: 700 !important;
  padding: 7px 14px !important;
  box-shadow: var(--olam-shadow-sm) !important;
}

.btn.light.btn-info:hover {
  background: var(--olam-primary-hover) !important;
  border-color: var(--olam-primary-hover) !important;
  color: #fff !important;
}

/* Users list — compact security actions */
.olam-user-security-actions .btn {
  padding: 4px 12px !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  border-radius: var(--olam-radius-sm) !important;
}

.olam-user-security-actions .btn.btn-primary,
.olam-user-security-actions .btn.light.btn-info,
.olam-user-security-actions .js-security-password {
  background: var(--olam-primary) !important;
  border-color: var(--olam-primary) !important;
  color: #fff !important;
}

.olam-user-security-actions .btn.btn-primary:hover,
.olam-user-security-actions .btn.light.btn-info:hover,
.olam-user-security-actions .js-security-password:hover {
  background: var(--olam-primary-hover) !important;
  border-color: var(--olam-primary-hover) !important;
  color: #fff !important;
}

a.btn.shadow.btn-xs.sharp,
button.btn.shadow.btn-xs.sharp {
  width: auto !important;
  min-width: 30px !important;
  height: 30px !important;
  border-radius: 6px !important;
  border: none !important;
  padding: 0 8px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  box-shadow: var(--olam-shadow-sm) !important;
  font-size: 0.68rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.2px;
  transition: transform .12s ease, box-shadow .12s ease, opacity .12s ease;
}

a.btn.shadow.btn-xs.sharp:hover,
button.btn.shadow.btn-xs.sharp:hover {
  transform: translateY(-1px);
  box-shadow: var(--olam-shadow-md) !important;
  opacity: 0.95;
}

a.btn.btn-primary.shadow.btn-xs.sharp {
  background: var(--olam-primary) !important;
  color: #fff !important;
}

a.btn.btn-primary.shadow.btn-xs.sharp[title="View"],
a.btn.btn-primary.shadow.btn-xs.sharp .fa-eye {
  /* keep primary for edit; view handled by olam-act */
}

button.btn.btn-danger.shadow.btn-xs.sharp {
  background: var(--olam-danger) !important;
  color: #fff !important;
}

/* Settings page chrome — same heading as App Dashboard (page-titles + green card header) */
.olam-settings-page-titles.page-titles .welcome-text h4 {
  margin-bottom: 0 !important;
}

.olam-settings-page-sub {
  margin: 4px 0 0;
  font-size: 0.78rem;
  color: var(--olam-text-muted);
  font-weight: 500;
}

.card-header.olam-settings-card-header,
.card.olam-settings-card>.card-header:not(.olam-settings-card-header--tabs) {
  background: linear-gradient(135deg, var(--olam-primary, #059138) 0%, var(--olam-primary-dark, #036b29) 100%) !important;
  border-bottom: none !important;
  padding: 1rem 1.5rem !important;
}

.olam-settings-card-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
}

.olam-settings-card-title {
  margin: 0 !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #ffffff !important;
}

.olam-settings-add-btn,
.olam-settings-card-header .btn-light {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  border-radius: 8px !important;
  font-weight: 700 !important;
  padding: 7px 14px !important;
  white-space: nowrap;
  background: #ffffff !important;
  color: var(--olam-primary, #059138) !important;
  border: none !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12) !important;
}

.olam-settings-add-btn:hover,
.olam-settings-card-header .btn-light:hover {
  background: rgba(255, 255, 255, 0.92) !important;
  color: var(--olam-primary, #059138) !important;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.18) !important;
}

.olam-settings-add-btn i,
.olam-settings-card-header .btn-light i {
  font-size: 0.75rem;
}

.olam-password-checklist {
  list-style: none;
  padding-left: 0;
  margin: 6px 0 0 0;
  color: #475569;
}

.olam-password-checklist li {
  position: relative;
  padding-left: 1.35rem;
  margin: 3px 0;
  font-size: 0.78rem;
  font-weight: 500;
  line-height: 1.4;
  color: #475569;
  transition: color 0.15s ease;
}

.olam-password-checklist li::before {
  content: '\f111';
  font-family: 'FontAwesome', sans-serif;
  position: absolute;
  left: 0;
  top: 2px;
  font-size: 0.45rem;
  color: #94a3b8;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 0.95rem;
  height: 0.95rem;
  border-radius: 50%;
  background: #f1f5f9;
  border: 1px solid #cbd5e1;
}

.olam-password-checklist li.is-ok {
  color: #15803d !important;
  font-weight: 600;
}

.olam-password-checklist li.is-ok::before {
  content: '\f00c';
  font-family: 'FontAwesome';
  font-size: 0.58rem;
  color: #ffffff !important;
  background: #16a34a !important;
  border-color: #15803d !important;
}

.olam-password-checklist li.is-bad {
  color: #b91c1c !important;
  font-weight: 600;
}

.olam-password-checklist li.is-bad::before {
  content: '\f00d';
  font-family: 'FontAwesome';
  font-size: 0.58rem;
  color: #ffffff !important;
  background: #dc2626 !important;
  border-color: #b91c1c !important;
}

.olam-password-hint {
  font-size: 0.75rem;
  font-weight: 500;
  color: #64748b !important;
}

[data-theme="dark"] .olam-password-checklist,
[data-theme-version="dark"] .olam-password-checklist {
  color: #cbd5e1;
}

[data-theme="dark"] .olam-password-checklist li,
[data-theme-version="dark"] .olam-password-checklist li {
  color: #cbd5e1;
}

[data-theme="dark"] .olam-password-checklist li::before,
[data-theme-version="dark"] .olam-password-checklist li::before {
  background: #1e293b;
  border-color: #475569;
  color: #64748b;
}

[data-theme="dark"] .olam-password-checklist li.is-ok,
[data-theme-version="dark"] .olam-password-checklist li.is-ok {
  color: #4ade80 !important;
}

[data-theme="dark"] .olam-password-checklist li.is-ok::before,
[data-theme-version="dark"] .olam-password-checklist li.is-ok::before {
  color: #0f172a !important;
  background: #4ade80 !important;
  border-color: #22c55e !important;
}

[data-theme="dark"] .olam-password-checklist li.is-bad,
[data-theme-version="dark"] .olam-password-checklist li.is-bad {
  color: #f87171 !important;
}

[data-theme="dark"] .olam-password-checklist li.is-bad::before,
[data-theme-version="dark"] .olam-password-checklist li.is-bad::before {
  color: #ffffff !important;
  background: #ef4444 !important;
  border-color: #dc2626 !important;
}

[data-theme="dark"] .olam-password-hint,
[data-theme-version="dark"] .olam-password-hint {
  color: #94a3b8 !important;
}

/* Status / season clickable bars — never show a vertical scrollbar */
.main-content .status-tabs,
.main-content .crop-status-tabs,
.main-content .f360-status-tabs,
.main-content .l2-season-tabs {
  overflow-x: auto !important;
  overflow-y: hidden !important;
}

/* Explicit Collapsible Filter Panel Rules */
.collapse:not(.show) {
  display: none !important;
}

.collapse.show {
  display: block !important;
}

/* ── Season / Year pills on module index pages ── */
.l2-season-tabs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding: 10px 20px 4px;
  margin: 0;
  background: transparent;
}

.l2-season-tab {
  display: inline-flex;
  align-items: center;
  padding: 6px 14px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  color: var(--olam-text-secondary) !important;
  background: var(--olam-surface) !important;
  border: 1px solid var(--olam-border) !important;
  border-radius: 999px;
  text-decoration: none !important;
  white-space: nowrap;
  transition: background .15s ease, color .15s ease, border-color .15s ease, box-shadow .15s ease;
  box-shadow: none;
}

.l2-season-tab:hover {
  color: var(--olam-primary) !important;
  border-color: var(--olam-primary-muted) !important;
  background: var(--olam-primary-soft) !important;
}

.l2-season-tab.active,
.l2-season-tab[aria-selected="true"] {
  color: #fff !important;
  background: var(--olam-primary-gradient, var(--olam-primary)) !important;
  border-color: var(--olam-primary) !important;
  box-shadow: 0 2px 8px rgba(5, 145, 56, 0.28);
}

[data-theme="dark"] .l2-season-tab {
  color: var(--olam-text) !important;
  background: var(--olam-bg-elevated, var(--olam-surface-hover)) !important;
  border-color: var(--olam-border) !important;
}

[data-theme="dark"] .l2-season-tab:hover {
  color: var(--olam-primary-hover, var(--olam-primary)) !important;
  background: var(--olam-primary-soft) !important;
  border-color: var(--olam-primary) !important;
}

[data-theme="dark"] .l2-season-tab.active,
[data-theme="dark"] .l2-season-tab[aria-selected="true"] {
  color: #fff !important;
  background: var(--olam-primary) !important;
  border-color: var(--olam-primary) !important;
  box-shadow: 0 2px 10px rgba(5, 145, 56, 0.4);
}

/* Year & Season settings summary icon pills */
.olam-settings-card .badge.badge-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.25rem;
  min-height: 2.25rem;
  border: 1px solid transparent;
}

[data-theme="dark"] .olam-settings-card .badge.badge-primary {
  background: var(--olam-primary-soft) !important;
  color: var(--olam-primary) !important;
  border-color: var(--olam-primary) !important;
}

[data-theme="dark"] .olam-settings-card .badge.badge-success {
  background: var(--olam-success-bg, var(--olam-primary-soft)) !important;
  color: var(--olam-success, var(--olam-primary)) !important;
  border-color: var(--olam-success-border, var(--olam-primary)) !important;
}

[data-theme="dark"] .olam-settings-card .badge.badge-info {
  background: var(--olam-info-bg) !important;
  color: var(--olam-info) !important;
  border-color: var(--olam-info-border) !important;
}

/* Form footer: Cancel then Submit, both right-aligned */
.olam-settings-form-actions,
.main-content .card-body form .col-12:has(> a.btn-danger):has(> button.btn-primary),
.main-content .card-body form .col-12:has(> a.btn-danger):has(> input.btn-primary),
.main-content .modal-footer.olam-settings-form-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 12px !important;
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
  float: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-top: 0.5rem !important;
  clear: both !important;
}

.olam-settings-form-actions>a.btn,
.olam-settings-form-actions>button.btn,
.olam-settings-form-actions>input.btn,
.main-content .card-body form .col-12:has(> a.btn-danger):has(> button.btn-primary)>a.btn-danger,
.main-content .card-body form .col-12:has(> a.btn-danger):has(> button.btn-primary)>button.btn-primary,
.main-content .card-body form .col-12:has(> a.btn-danger):has(> button.btn-primary)>a.btn,
.main-content .card-body form .col-12:has(> a.btn-danger):has(> button.btn-primary)>button.btn {
  float: none !important;
  margin: 0 !important;
  min-width: 128px !important;
  width: auto !important;
  height: 40px !important;
  padding: 8px 22px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-weight: 700 !important;
  border-radius: 8px !important;
  line-height: 1.2 !important;
  box-sizing: border-box !important;
}

.olam-settings-form-btn {
  min-width: 128px !important;
  height: 40px !important;
  padding: 8px 22px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-weight: 700 !important;
  border-radius: 8px !important;
}

/* Tabbed settings headers (Year & Season) stay elevated, not gradient */
.olam-settings-card-header--tabs {
  background: var(--olam-bg-elevated) !important;
  color: var(--olam-text) !important;
}

.olam-settings-card-header--tabs .olam-settings-card-title,
.olam-settings-card-header--tabs .card-title {
  color: var(--olam-text) !important;
}

/* Labeled row action buttons */
.olam-row-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: nowrap !important;
  gap: 6px !important;
  width: 100%;
}

.olam-act {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  height: 30px;
  padding: 0 10px;
  border-radius: 6px;
  border: 1px solid transparent;
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none !important;
  cursor: pointer;
  transition: transform .12s ease, box-shadow .12s ease, background .12s ease;
  box-shadow: var(--olam-shadow-sm);
}

.olam-act i {
  font-size: 0.74rem;
}

.olam-act:hover {
  transform: translateY(-1px);
  box-shadow: var(--olam-shadow-md);
}

.olam-act--view {
  background: var(--olam-info-bg) !important;
  color: var(--olam-info) !important;
  border-color: var(--olam-info-border) !important;
}

.olam-act--view:hover {
  color: var(--olam-info) !important;
  background: var(--olam-info-bg) !important;
  filter: brightness(0.97);
}

.olam-act--edit {
  background: var(--olam-primary) !important;
  color: #fff !important;
  border-color: var(--olam-primary) !important;
}

.olam-act--edit:hover,
.olam-act--edit:focus,
.olam-act--edit:active {
  color: #fff !important;
  background: var(--olam-primary-hover) !important;
  border-color: var(--olam-primary-hover) !important;
}

.olam-act--delete {
  background: var(--olam-danger-bg) !important;
  color: var(--olam-danger) !important;
  border-color: var(--olam-danger-border) !important;
}

.olam-act--delete:hover {
  color: var(--olam-danger) !important;
  background: var(--olam-danger-bg) !important;
  filter: brightness(0.97);
}

.olam-act--assign,
.olam-act--extra {
  background: var(--olam-primary-soft) !important;
  color: var(--olam-primary) !important;
  border-color: var(--olam-primary-muted) !important;
}

a.btn.shadow.btn-xs.sharp .olam-legacy-act-label,
button.btn.shadow.btn-xs.sharp .olam-legacy-act-label {
  font-size: 0.68rem;
  font-weight: 700;
  line-height: 1;
}

@media (max-width: 576px) {

  a.btn.shadow.btn-xs.sharp .olam-legacy-act-label,
  button.btn.shadow.btn-xs.sharp .olam-legacy-act-label {
    display: none;
  }
}

.badge {
  border-radius: var(--olam-radius-pill) !important;
  font-size: 0.68rem !important;
  font-weight: 600 !important;
  padding: 3px 10px !important;
}

.badge.light.badge-primary,
.badge-primary:not(.no-pill) {
  background: var(--olam-primary-soft) !important;
  color: var(--olam-primary) !important;
  border: 1px solid var(--olam-primary-muted) !important;
}

.dataTables_wrapper .dataTables_filter input {
  border: 1px solid var(--olam-border) !important;
  border-radius: var(--olam-radius-pill) !important;
  padding: 4px 14px !important;
  font-size: 0.78rem !important;
  background: var(--olam-surface) !important;
  color: var(--olam-text) !important;
}

.dataTables_wrapper .dataTables_filter input:focus {
  border-color: var(--olam-primary) !important;
  box-shadow: var(--olam-focus-ring) !important;
}

.dataTables_wrapper .dataTables_length select {
  border: 1px solid var(--olam-border, #cbd5e1) !important;
  background: var(--olam-surface, #ffffff) !important;
  color: var(--olam-text, #0f172a) !important;
  height: 32px !important;
  padding: 4px 8px !important;
  border-radius: 6px !important;
  font-size: 0.8125rem !important;
}

.dataTables_wrapper .dataTables_filter input {
  border: 1px solid var(--olam-border, #cbd5e1) !important;
  background: var(--olam-surface, #ffffff) !important;
  color: var(--olam-text, #0f172a) !important;
  height: 32px !important;
  padding: 4px 10px !important;
  border-radius: 6px !important;
  font-size: 0.8125rem !important;
  outline: none !important;
}
.dataTables_wrapper .dataTables_filter input:focus {
  border-color: var(--olam-primary, #059138) !important;
  box-shadow: 0 0 0 2px rgba(5, 145, 56, 0.15) !important;
}

.dataTables_wrapper .dataTables_info {
  color: var(--olam-text-muted, #64748b) !important;
  font-size: 0.8125rem !important;
  font-weight: 500 !important;
  padding-top: 0.5rem !important;
}

/* ══ CORE MODULES & SETTINGS BLUE PAGINATION (REPORT UI STYLE) ══ */
.dataTables_wrapper .dataTables_paginate,
.dataTables_paginate,
div.dataTables_wrapper div.dataTables_paginate {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  float: right !important;
  gap: 3px !important;
}

.dataTables_wrapper .dataTables_paginate span,
.dataTables_paginate span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 3px !important;
}

.dataTables_wrapper .dataTables_paginate .pagination,
.dataTables_paginate .pagination,
.pagination,
ul.pagination {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  gap: 3px !important;
  display: flex !important;
  align-items: center !important;
}

.pagination .page-item,
.dataTables_paginate .paginate_button,
.dataTables_wrapper .dataTables_paginate .paginate_button {
  border: none !important;
  background: transparent !important;
  margin: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}

.pagination .page-item .page-link,
.pagination .page-link,
.dataTables_paginate .paginate_button a,
.dataTables_paginate a.paginate_button,
.dataTables_wrapper .dataTables_paginate .paginate_button,
.dataTables_wrapper .dataTables_paginate a.paginate_button,
.dataTables_wrapper .dataTables_paginate .paginate_button a,
.dataTables_wrapper .dataTables_paginate span .paginate_button {
  min-width: 32px !important;
  height: 32px !important;
  padding: 0 10px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  border-radius: 6px !important;
  border: 1px solid var(--olam-border, #cbd5e1) !important;
  background: var(--olam-surface, #ffffff) !important;
  color: var(--olam-text, #334155) !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: all .15s ease !important;
  margin: 0 1px !important;
  cursor: pointer !important;
}

.pagination .page-item:not(.active):not(.disabled) .page-link:hover,
.pagination .page-link:not(.active):not(.disabled):hover,
.dataTables_paginate .paginate_button:not(.current):not(.disabled):hover,
.dataTables_paginate .paginate_button:not(.current):not(.disabled) a:hover,
.dataTables_paginate a.paginate_button:not(.current):not(.disabled):hover,
.dataTables_wrapper .dataTables_paginate .paginate_button:hover:not(.current):not(.disabled),
.dataTables_wrapper .dataTables_paginate .paginate_button a:hover:not(.current):not(.disabled),
.dataTables_wrapper .dataTables_paginate span .paginate_button:hover:not(.current):not(.disabled) {
  background: #f1f5f9 !important;
  border-color: #94a3b8 !important;
  color: #0f172a !important;
}

/* Active Page Button (Report Brand Green) */
.pagination .page-item.active .page-link,
.pagination .page-link.active,
.dataTables_paginate .paginate_button.active a,
.dataTables_paginate .paginate_button.current,
.dataTables_paginate a.paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover,
.dataTables_wrapper .dataTables_paginate a.paginate_button.current,
.dataTables_wrapper .dataTables_paginate a.paginate_button.current:hover,
.dataTables_wrapper .dataTables_paginate .paginate_button.active a,
.dataTables_wrapper .dataTables_paginate span .paginate_button.current,
.dataTables_wrapper .dataTables_paginate span .paginate_button.current:hover,
.dataTables_wrapper .dataTables_paginate span a.paginate_button.current,
.dataTables_wrapper .dataTables_paginate span a.paginate_button.current:hover {
  background: var(--olam-primary, #059138) !important;
  border-color: var(--olam-primary, #059138) !important;
  color: #ffffff !important;
  box-shadow: 0 1px 3px rgba(5, 145, 56, 0.3) !important;
  cursor: default !important;
}

/* Disabled Previous / Next buttons */
.pagination .page-item.disabled .page-link,
.pagination .page-link.disabled,
.dataTables_paginate .paginate_button.disabled,
.dataTables_paginate .paginate_button.disabled a,
.dataTables_paginate a.paginate_button.disabled,
.dataTables_paginate a.paginate_button.disabled:hover,
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled,
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover,
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active,
.dataTables_wrapper .dataTables_paginate a.paginate_button.disabled,
.dataTables_wrapper .dataTables_paginate a.paginate_button.disabled:hover,
.dataTables_wrapper .dataTables_paginate span .paginate_button.disabled,
.dataTables_wrapper .dataTables_paginate span .paginate_button.disabled:hover,
.dataTables_wrapper .dataTables_paginate span a.paginate_button.disabled,
.dataTables_wrapper .dataTables_paginate span a.paginate_button.disabled:hover {
  opacity: 0.45 !important;
  cursor: not-allowed !important;
  background: var(--olam-surface, #ffffff) !important;
  border: 1px solid var(--olam-border, #e2e8f0) !important;
  color: var(--olam-text-muted, #94a3b8) !important;
  pointer-events: none !important;
  box-shadow: none !important;
}

.dataTables_wrapper .dataTables_paginate .ellipsis {
  padding: 0 6px !important;
  color: var(--olam-text-muted, #64748b) !important;
}

/* Dark theme pagination */
[data-theme="dark"] .pagination .page-item .page-link,
[data-theme="dark"] .pagination .page-link,
[data-theme="dark"] .dataTables_paginate .paginate_button a,
[data-theme="dark"] .dataTables_paginate a.paginate_button,
[data-theme="dark"] .dataTables_wrapper .dataTables_paginate .paginate_button,
[data-theme="dark"] .dataTables_wrapper .dataTables_paginate .paginate_button a,
[data-theme="dark"] .dataTables_wrapper .dataTables_paginate span .paginate_button,
[data-theme-version="dark"] .pagination .page-item .page-link,
[data-theme-version="dark"] .dataTables_wrapper .dataTables_paginate .paginate_button {
  background: var(--olam-surface, #1e293b) !important;
  border-color: var(--olam-border, #334155) !important;
  color: var(--olam-text, #cbd5e1) !important;
}

[data-theme="dark"] .pagination .page-item:not(.active):not(.disabled) .page-link:hover,
[data-theme="dark"] .dataTables_paginate .paginate_button:not(.current):not(.disabled) a:hover,
[data-theme="dark"] .dataTables_wrapper .dataTables_paginate .paginate_button:hover:not(.current):not(.disabled),
[data-theme="dark"] .dataTables_wrapper .dataTables_paginate span .paginate_button:hover:not(.current):not(.disabled),
[data-theme-version="dark"] .dataTables_wrapper .dataTables_paginate .paginate_button:hover:not(.current):not(.disabled) {
  background: #334155 !important;
  border-color: #475569 !important;
  color: #f8fafc !important;
}

[data-theme="dark"] .pagination .page-item.active .page-link,
[data-theme="dark"] .dataTables_paginate .paginate_button.active a,
[data-theme="dark"] .dataTables_paginate .paginate_button.current,
[data-theme="dark"] .dataTables_wrapper .dataTables_paginate .paginate_button.current,
[data-theme="dark"] .dataTables_wrapper .dataTables_paginate .paginate_button.active a,
[data-theme="dark"] .dataTables_wrapper .dataTables_paginate span .paginate_button.current,
[data-theme-version="dark"] .dataTables_wrapper .dataTables_paginate .paginate_button.current {
  background: var(--olam-primary, #059138) !important;
  border-color: var(--olam-primary, #059138) !important;
  color: #ffffff !important;
  box-shadow: 0 1px 4px rgba(5, 145, 56, 0.4) !important;
}

[data-theme="dark"] .pagination .page-item.disabled .page-link,
[data-theme="dark"] .dataTables_paginate .paginate_button.disabled,
[data-theme="dark"] .dataTables_wrapper .dataTables_paginate .paginate_button.disabled,
[data-theme="dark"] .dataTables_wrapper .dataTables_paginate span .paginate_button.disabled,
[data-theme-version="dark"] .dataTables_wrapper .dataTables_paginate .paginate_button.disabled {
  background: var(--olam-surface, #1e293b) !important;
  border-color: var(--olam-border, #334155) !important;
  color: #64748b !important;
  opacity: 0.45 !important;
  pointer-events: none !important;
  cursor: not-allowed !important;
}

.nav-tabs {
  border-bottom: 2px solid var(--olam-primary-muted) !important;
}

.nav-tabs .nav-link {
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  color: var(--olam-text-muted) !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
  padding: 8px 16px !important;
  margin-bottom: -2px !important;
}

.nav-tabs .nav-link:hover {
  color: var(--olam-primary) !important;
  background: transparent !important;
}

.nav-tabs .nav-link.active {
  color: var(--olam-primary) !important;
  border-bottom-color: var(--olam-primary) !important;
}

.card-body>h5.card-title.bg-primary,
.card-body>h5.card-title.bg-primary.text-white {
  background: var(--olam-primary-gradient) !important;
  color: #fff !important;
  margin: -16px -18px 16px !important;
  padding: 11px 18px !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}

table.table-bordered,
table.table-sm {
  font-size: 0.8rem !important;
  background: var(--olam-surface) !important;
}

table.table-bordered td,
table.table-sm td {
  padding: 7px 12px !important;
  border: 1px solid var(--olam-border) !important;
  color: var(--olam-text) !important;
}

table.table-bordered td:first-child,
table.table-sm td:first-child {
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  color: var(--olam-text-muted) !important;
  text-transform: uppercase !important;
  background: var(--olam-primary-soft) !important;
}

thead.thead-primary th,
table.table-bordered thead th,
table.table-sm thead th {
  background: var(--olam-primary-gradient) !important;
  color: #fff !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  padding: 10px 14px !important;
  border: none !important;
}

.card-footer {
  background: var(--olam-primary-soft) !important;
  border-top: 1px solid var(--olam-border) !important;
  padding: 10px 16px !important;
}

.sb-item .sb-badge {
  margin-left: auto;
  background: var(--olam-primary);
  color: #fff;
  font-size: 0.55rem;
  padding: 2px 6px;
  border-radius: 10px;
  font-weight: 700;
}

.top-navbar .nav-icon.olam-icon-btn {
  position: relative;
}

.close {
  color: inherit;
  opacity: 0.8;
}

.modal-header .close {
  color: #fff;
}

[data-theme="dark"] .btn-secondary {
  background: var(--olam-surface-hover);
  border-color: var(--olam-border);
  color: var(--olam-text);
}

[data-theme="dark"] table.display,
[data-theme="dark"] table.dataTable {
  background: var(--olam-surface) !important;
}

[data-theme="dark"] table.display tbody tr td,
[data-theme="dark"] table.dataTable tbody tr td {
  border-bottom-color: var(--olam-border) !important;
  color: var(--olam-text) !important;
}

/* App copyright footer firmly fixed to the bottom of the viewport */
.main-content>.footer,
.main-content>.footer.olam-app-footer,
.footer.olam-app-footer,
.footer {
  position: fixed !important;
  bottom: 0 !important;
  left: var(--olam-sidebar-width, 232px) !important;
  right: 0 !important;
  z-index: 99 !important;
  padding: 10px 24px !important;
  background: var(--olam-surface, #ffffff) !important;
  border-top: 1px solid var(--olam-border, #e2e8f0) !important;
  box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.04) !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

@media (max-width: 768px) {

  .main-content>.footer,
  .main-content>.footer.olam-app-footer,
  .footer.olam-app-footer,
  .footer {
    left: 0 !important;
  }
}

.main-content,
.content-body {
  padding-bottom: 56px !important;
}

[data-theme="dark"] .main-content>.footer,
[data-theme="dark"] .main-content>.footer.olam-app-footer,
[data-theme="dark"] .footer.olam-app-footer,
[data-theme="dark"] .footer {
  background: var(--olam-surface, #1e222a) !important;
  border-top-color: var(--olam-border, #2d333d) !important;
}

.main-content>.footer .copyright,
.footer .copyright {
  padding: 0 !important;
  background: transparent !important;
}

.main-content>.footer .copyright p,
.footer .copyright p {
  text-align: center;
  margin: 0;
  font-size: 0.78rem;
  color: var(--olam-text-muted) !important;
}

.main-content>.footer .copyright a,
.footer .copyright a {
  color: var(--olam-primary) !important;
  font-weight: 600;
  text-decoration: none;
}

.main-content>.footer .copyright a:hover,
.footer .copyright a:hover {
  color: var(--olam-primary-hover) !important;
  text-decoration: underline;
}

/* Universal Custom Page Buttons (.fl-pagination, .fl-page-btns, .fl-page-btn) */
.fl-pagination {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 12px 18px !important;
  background: var(--olam-bg-elevated, #f8fafc) !important;
  border-top: 1px solid var(--olam-border, #e2e8f0) !important;
  color: #475569 !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
}

[data-theme="dark"] .fl-pagination {
  background: #111d17 !important;
  border-top-color: #233a2e !important;
  color: #cbd5e1 !important;
}

.fl-page-btns {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  flex-wrap: wrap !important;
}

.fl-page-btn,
a.fl-page-btn,
span.fl-page-btn {
  min-width: 32px !important;
  height: 32px !important;
  padding: 0 10px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  border-radius: 6px !important;
  border: 1px solid var(--olam-border, #cbd5e1) !important;
  background: var(--olam-surface, #ffffff) !important;
  color: var(--olam-text, #334155) !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: all .15s ease !important;
  margin: 0 1px !important;
  cursor: pointer !important;
}

.fl-page-btn:hover:not(.active):not(.disabled):not([disabled]),
a.fl-page-btn:hover:not(.active):not(.disabled):not([disabled]) {
  background: #f1f5f9 !important;
  border-color: #94a3b8 !important;
  color: #0f172a !important;
  text-decoration: none !important;
}

.fl-page-btn.active,
a.fl-page-btn.active,
span.fl-page-btn.active {
  z-index: 2 !important;
  background: var(--olam-primary, #059138) !important;
  border-color: var(--olam-primary, #059138) !important;
  color: #ffffff !important;
  font-weight: 600 !important;
  box-shadow: 0 1px 3px rgba(5, 145, 56, 0.3) !important;
  cursor: default !important;
}

.fl-page-btn.disabled,
.fl-page-btn[disabled],
a.fl-page-btn.disabled,
span.fl-page-btn.disabled {
  opacity: 0.45 !important;
  cursor: not-allowed !important;
  background: var(--olam-surface, #ffffff) !important;
  border-color: var(--olam-border, #e2e8f0) !important;
  color: var(--olam-text-muted, #94a3b8) !important;
  pointer-events: none !important;
  box-shadow: none !important;
}

/* Dark Mode Overrides for .fl-page-btn */
[data-theme="dark"] .fl-page-btn,
[data-theme="dark"] a.fl-page-btn,
[data-theme="dark"] span.fl-page-btn {
  background: var(--olam-surface, #1e293b) !important;
  border-color: var(--olam-border, #334155) !important;
  color: var(--olam-text, #cbd5e1) !important;
}

[data-theme="dark"] .fl-page-btn:hover:not(.active):not(.disabled):not([disabled]),
[data-theme="dark"] a.fl-page-btn:hover:not(.active):not(.disabled):not([disabled]) {
  background: #334155 !important;
  border-color: #475569 !important;
  color: #f8fafc !important;
}

[data-theme="dark"] .fl-page-btn.active,
[data-theme="dark"] a.fl-page-btn.active,
[data-theme="dark"] span.fl-page-btn.active {
  background: var(--olam-primary, #059138) !important;
  border-color: var(--olam-primary, #059138) !important;
  color: #ffffff !important;
  box-shadow: 0 1px 4px rgba(5, 145, 56, 0.4) !important;
}

[data-theme="dark"] .fl-page-btn.disabled,
[data-theme="dark"] .fl-page-btn[disabled],
[data-theme="dark"] a.fl-page-btn.disabled,
[data-theme="dark"] span.fl-page-btn.disabled {
  background: var(--olam-surface, #1e293b) !important;
  border-color: var(--olam-border, #334155) !important;
  color: #64748b !important;
}

/* Settings / master CRUD pages (admin sidebar) */
.main-content .welcome-text h4,
.main-content .welcome-text h5 {
  color: var(--olam-text) !important;
  font-weight: 700;
}

.main-content .page-titles {
  padding-top: 0.4rem !important;
  padding-bottom: 0.4rem !important;
  margin-bottom: 0.75rem !important;
}

.card:not(.mini-stat):not(.bg-info):not(.bg-success):not(.bg-warning):not(.bg-danger):not(.bg-primary):not(.bg-dark) {
  background: var(--olam-surface) !important;
  border: 1px solid var(--olam-border) !important;
  box-shadow: var(--olam-shadow-sm) !important;
  border-radius: var(--olam-radius-md) !important;
}

.card-body {
  background: var(--olam-surface) !important;
  color: var(--olam-text) !important;
}

.form-control,
select.form-control,
.custom-select,
textarea.form-control {
  background: var(--olam-bg) !important;
  color: var(--olam-text) !important;
  border-color: var(--olam-border) !important;
}

.form-control:focus,
select.form-control:focus,
.custom-select:focus,
textarea.form-control:focus {
  background: var(--olam-surface) !important;
  color: var(--olam-text) !important;
  border-color: var(--olam-primary) !important;
  box-shadow: var(--olam-focus-ring) !important;
}

.form-control::placeholder {
  color: var(--olam-text-muted) !important;
  opacity: 1;
}

label,
.form-label,
.col-form-label,
.form-group label {
  color: var(--olam-text-secondary, #475569) !important;
}

[data-theme-version="dark"] label,
[data-theme-version="dark"] .form-label,
[data-theme-version="dark"] .col-form-label,
[data-theme-version="dark"] .form-group label,
[data-theme="dark"] label,
[data-theme="dark"] .form-label,
[data-theme="dark"] .col-form-label,
[data-theme="dark"] .form-group label {
  color: #f1f5f9 !important;
}

table.display,
table#example3,
table.olam-settings-table {
  background: var(--olam-surface) !important;
}

table.display tbody tr td,
table#example3 tbody tr td,
table.olam-settings-table tbody tr td {
  color: var(--olam-text) !important;
  border-bottom-color: var(--olam-border) !important;
  background: var(--olam-surface) !important;
}

table.display tbody tr:hover td,
table#example3 tbody tr:hover td,
table.olam-settings-table tbody tr:hover td {
  background: var(--olam-surface-hover) !important;
}

.badge.light.badge-success {
  background: rgba(67, 160, 71, 0.12) !important;
  color: var(--olam-success) !important;
  border: 1px solid rgba(67, 160, 71, 0.35) !important;
}

.badge.light.badge-danger {
  background: rgba(229, 57, 53, 0.12) !important;
  color: var(--olam-danger) !important;
  border: 1px solid rgba(229, 57, 53, 0.35) !important;
}

.input-group-text {
  background: var(--olam-bg-elevated) !important;
}

.fl-table-card .fl-page-links .pagination {
  margin: 0;
}

.fl-table-card .fl-page-links .page-link {
  background: var(--olam-surface);
  border-color: var(--olam-border);
  color: var(--olam-text-secondary);
}

.fl-table-card .fl-page-links .page-item.active .page-link {
  background: var(--olam-primary);
  border-color: var(--olam-primary);
  color: #fff;
}

/* Settings & Table Pagination (Light & Dark Mode Compatibility) */
.pagination,
.fl-page-links .pagination,
nav[role="navigation"] .pagination {
  display: flex !important;
  padding-left: 0 !important;
  list-style: none !important;
  border-radius: 8px !important;
  gap: 4px !important;
  margin: 0 !important;
}

.pagination .page-item .page-link,
.fl-page-links .page-link,
nav[role="navigation"] .page-link {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 6px 14px !important;
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  color: #334155 !important;
  background-color: #ffffff !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 8px !important;
  transition: all 0.2s ease !important;
  text-decoration: none !important;
}

.pagination .page-item:hover .page-link,
.fl-page-links .page-item:hover .page-link,
nav[role="navigation"] .page-item:hover .page-link {
  color: #059138 !important;
  background-color: rgba(5, 145, 56, 0.1) !important;
  border-color: #059138 !important;
}

.pagination .page-item.active .page-link,
.fl-page-links .page-item.active .page-link,
nav[role="navigation"] .page-item.active .page-link {
  z-index: 3 !important;
  color: #ffffff !important;
  background-color: #059138 !important;
  border-color: #059138 !important;
  box-shadow: 0 4px 12px rgba(5, 145, 56, 0.3) !important;
}

.pagination .page-item.disabled .page-link,
.fl-page-links .page-item.disabled .page-link,
nav[role="navigation"] .page-item.disabled .page-link {
  color: #94a3b8 !important;
  pointer-events: none !important;
  background-color: #f1f5f9 !important;
  border-color: #e2e8f0 !important;
  opacity: 0.6 !important;
}

/* Dark Mode Pagination Overrides */
[data-theme="dark"] .pagination .page-item .page-link,
[data-theme="dark"] .fl-page-links .page-link,
[data-theme="dark"] nav[role="navigation"] .page-link {
  color: #e2e8f0 !important;
  background-color: #17261f !important;
  border-color: #263e32 !important;
}

[data-theme="dark"] .pagination .page-item:hover .page-link,
[data-theme="dark"] .fl-page-links .page-item:hover .page-link,
[data-theme="dark"] nav[role="navigation"] .page-item:hover .page-link {
  color: #3dd66d !important;
  background-color: rgba(61, 214, 109, 0.15) !important;
  border-color: #3dd66d !important;
}

[data-theme="dark"] .pagination .page-item.active .page-link,
[data-theme="dark"] .fl-page-links .page-item.active .page-link,
[data-theme="dark"] nav[role="navigation"] .page-item.active .page-link {
  color: #0f172a !important;
  background-color: #3dd66d !important;
  border-color: #3dd66d !important;
  box-shadow: 0 4px 12px rgba(61, 214, 109, 0.35) !important;
}

[data-theme="dark"] .pagination .page-item.disabled .page-link,
[data-theme="dark"] .fl-page-links .page-item.disabled .page-link,
[data-theme="dark"] nav[role="navigation"] .page-item.disabled .page-link {
  color: #64748b !important;
  background-color: #0d1712 !important;
  border-color: #1a2c22 !important;
  opacity: 0.5 !important;
}

.olam-settings-pagination p,
.card-body .pagination+p {
  color: var(--olam-text-muted) !important;
}

.olam-settings-toolbar label {
  display: block;
  margin-bottom: 4px;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--olam-text-secondary) !important;
}

.olam-settings-toolbar .olam-state-checks {
  min-height: 38px;
}

.form-check-label {
  color: var(--olam-text-secondary) !important;
}

.form-check-input {
  background-color: var(--olam-bg) !important;
  border-color: var(--olam-border) !important;
}

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

.olam-state-checks {
  max-height: 120px;
  overflow-y: auto;
  padding: 8px 10px;
  border: 1px solid var(--olam-border);
  border-radius: var(--olam-radius-sm);
  background: var(--olam-bg);
}

/* Alerts */
.alert-success {
  background: rgba(67, 160, 71, 0.12) !important;
  border-color: rgba(67, 160, 71, 0.35) !important;
  color: var(--olam-success) !important;
}

.alert-danger {
  background: rgba(229, 57, 53, 0.12) !important;
  border-color: rgba(229, 57, 53, 0.35) !important;
  color: var(--olam-danger) !important;
}

/* Striped / bordered tables outside settings card pattern */
table.table-striped tbody tr:nth-of-type(odd) {
  background: var(--olam-bg-elevated) !important;
}

table.table-striped tbody tr:nth-of-type(even) {
  background: var(--olam-surface) !important;
}

table.table-striped tbody tr td {
  color: var(--olam-text) !important;
  border-color: var(--olam-border) !important;
}

table.display thead th,
table#example3 thead th,
table.olam-settings-table thead th,
table.farmer-table thead th,
table.data-table thead th,
.table thead th {
  background: var(--olam-primary) !important;
  color: #ffffff !important;
  border-bottom: 2px solid var(--olam-primary-dark) !important;
  font-weight: 700 !important;
}

[data-theme="dark"] table.display thead th,
[data-theme="dark"] table#example3 thead th,
[data-theme="dark"] table.olam-settings-table thead th,
[data-theme="dark"] table.farmer-table thead th,
[data-theme="dark"] table.data-table thead th,
[data-theme="dark"] .table thead th {
  background: var(--olam-primary) !important;
  color: #ffffff !important;
  border-bottom: 2px solid var(--olam-primary-dark) !important;
  font-weight: 700 !important;
}

/* ── Master / settings CRUD — keep purple card headers like Landownership ── */
.main-content .card>.card-header .btn.light.btn-info,
.main-content .card>.card-header a.btn.light.btn-info {
  background: var(--olam-primary) !important;
  color: #fff !important;
  border: 1px solid var(--olam-primary) !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}

.main-content .card>.card-header .btn.light.btn-info:hover,
.main-content .card>.card-header a.btn.light.btn-info:hover {
  background: var(--olam-primary-hover) !important;
  border-color: var(--olam-primary-hover) !important;
  color: #fff !important;
}

/* ── Brand logo: transparent asset, theme-aware (no white plate) ── */
.top-navbar .logo-wrap {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.top-navbar .logo-wrap a {
  display: inline-flex;
  align-items: center;
  background: transparent !important;
}

.top-navbar .logo-wrap .olam-brand-logo {
  height: 40px;
  width: auto;
  max-width: min(240px, 48vw);
  object-fit: contain;
  background: transparent !important;
  mix-blend-mode: normal;
  transition: filter var(--olam-transition, 0.15s ease), opacity var(--olam-transition, 0.15s ease);
}

/* Dark header: invert dark wordmark to light without a white box */
[data-theme="dark"] .top-navbar .logo-wrap .olam-brand-logo {
  filter: brightness(0) invert(1);
  opacity: 0.95;
}

:root:not([data-theme="dark"]) .top-navbar .logo-wrap .olam-brand-logo,
[data-theme="light"] .top-navbar .logo-wrap .olam-brand-logo {
  filter: none;
  opacity: 1;
}

.top-navbar .brand-text {
  color: var(--olam-text) !important;
}

/* ── Native selects (no bootstrap-select chrome) ── */
.main-content select.form-control:not(.tomselected):not(.tomselected),
.main-content select.custom-select:not(.tomselected),
.main-content .form-group select:not(.tomselected),
.main-content .input-group>select.form-control:not(.tomselected) {
  display: block !important;
  width: 100%;
  max-width: 100%;
  height: auto;
  min-height: 38px;
  padding: 0.45rem 2rem 0.45rem 0.75rem;
  appearance: auto;
  -webkit-appearance: menulist;
  -moz-appearance: menulist;
  background-color: var(--olam-bg) !important;
  color: var(--olam-text) !important;
  border: 1px solid var(--olam-border) !important;
  border-radius: var(--olam-radius-sm) !important;
  line-height: 1.4;
}

/* Tom Select hides the original <select> — never force it visible */
.main-content select.tomselected,
.main-content select.tomselected {
  display: none !important;
}

.main-content select.form-control:not(.tomselected):focus,
.main-content select.custom-select:not(.tomselected):focus {
  background-color: var(--olam-surface) !important;
  color: var(--olam-text) !important;
  border-color: var(--olam-primary) !important;
  box-shadow: var(--olam-focus-ring) !important;
  outline: none;
}

.main-content select.form-control option,
.main-content select.custom-select option {
  background: var(--olam-surface);
  color: var(--olam-text);
}

/* Tom Select form controls — match settings form look */
.main-content .ts-wrapper {
  width: 100% !important;
  display: block;
}

.main-content .ts-wrapper .ts-control {
  min-height: 38px;
  padding: 6px 10px;
  background: var(--olam-bg) !important;
  border: 1px solid var(--olam-border) !important;
  border-radius: var(--olam-radius-sm) !important;
  color: var(--olam-text) !important;
  box-shadow: none !important;
}

.main-content .ts-wrapper.single .ts-control,
.main-content .ts-wrapper.multi .ts-control {
  min-height: 38px;
}

.main-content .ts-wrapper.focus .ts-control {
  border-color: var(--olam-primary) !important;
  box-shadow: var(--olam-focus-ring) !important;
  background: var(--olam-surface) !important;
}

.main-content .ts-wrapper .ts-control>input {
  color: var(--olam-text) !important;
}

.main-content .ts-wrapper .ts-control .item {
  color: var(--olam-text) !important;
}

.main-content .ts-wrapper.multi .ts-control .item {
  background: var(--olam-primary-soft) !important;
  color: var(--olam-primary) !important;
  border: 1px solid var(--olam-primary-muted) !important;
  border-radius: 4px;
}

.main-content .ts-dropdown {
  background: var(--olam-surface) !important;
  border: 1px solid var(--olam-border) !important;
  color: var(--olam-text) !important;
  z-index: 1060;
}

.main-content .ts-dropdown .option {
  color: var(--olam-text) !important;
}

.main-content .ts-dropdown .option.active,
.main-content .ts-dropdown .option:hover {
  background: var(--olam-primary-soft) !important;
  color: var(--olam-primary) !important;
}

.main-content .ts-dropdown .option.selected {
  background: var(--olam-primary) !important;
  color: #fff !important;
}

/* If bootstrap-select still wraps a control, prefer the native select */
.main-content .bootstrap-select:not(.olam-keep-selectpicker) {
  width: 100% !important;
}

.main-content .bootstrap-select:not(.olam-keep-selectpicker)>select:not(.tomselected) {
  display: block !important;
  position: static !important;
  opacity: 1 !important;
  height: auto !important;
  max-height: none !important;
  width: 100% !important;
  pointer-events: auto !important;
}

.main-content .bootstrap-select:not(.olam-keep-selectpicker)>.dropdown-toggle,
.main-content .bootstrap-select:not(.olam-keep-selectpicker)>.dropdown-menu {
  display: none !important;
}

/* ── Light / dark typography — all headings & body text use theme tokens ── */
.main-content,
.main-content .card,
.main-content .card-body,
.main-content .container-fluid {
  color: var(--olam-text) !important;
}

.main-content h1,
.main-content h2,
.main-content h3,
.main-content h4,
.main-content h5,
.main-content h6,
.main-content .h1,
.main-content .h2,
.main-content .h3,
.main-content .h4,
.main-content .h5,
.main-content .h6,
.main-content .card-title,
.main-content .welcome-text h4,
.main-content .welcome-text h5,
.main-content .page-titles h4,
.main-content .page-titles h5,
.main-content .modal-title,
.main-content .olam-settings-page-title,
.main-content .olam-settings-card-title {
  color: var(--olam-text) !important;
}

.main-content .font-w400,
.main-content .font-w500,
.main-content .font-w600,
.main-content .font-w700 {
  color: var(--olam-text);
}

.main-content .text-black,
.main-content .text-dark,
.main-content .text-body,
.main-content .text-gray,
.main-content .text-grey,
.main-content .text-primary-dark {
  color: var(--olam-text) !important;
}

.main-content .text-muted,
.main-content .text-secondary,
.main-content .text-light-muted,
.main-content small.text-muted,
.main-content .olam-settings-page-sub,
.main-content .form-text,
.main-content .help-block {
  color: var(--olam-text-muted) !important;
}

/* Semantic colors stay readable in both themes */
.main-content .text-danger {
  color: var(--olam-danger) !important;
}

.main-content .text-success {
  color: var(--olam-success) !important;
}

.main-content .text-warning {
  color: var(--olam-warning) !important;
}

.main-content .text-info {
  color: var(--olam-info) !important;
}

.main-content .text-primary:not(.btn) {
  color: var(--olam-primary) !important;
}

.main-content a:not(.btn):not(.page-link):not(.dropdown-item):not(.nav-link):not(.olam-act) {
  color: var(--olam-primary);
}

.main-content a:not(.btn):not(.page-link):not(.dropdown-item):not(.nav-link):not(.olam-act):hover {
  color: var(--olam-primary-hover);
}

/* Keep white titles on solid / gradient colored headers */
.main-content .card-header[class*="bg-"] .card-title,
.main-content .card-header[class*="bg-"] h4,
.main-content .card-header[class*="bg-"] h5,
.main-content .card-header[class*="bg-"] h6,
.main-content .card-header[class*="bg-"],
.main-content .card-header[class*="bg-"] *,
.main-content .card:not(.mini-stat):not(.bg-info):not(.bg-success):not(.bg-warning):not(.bg-danger):not(.bg-primary):not(.bg-dark):not(.olam-settings-card)>.card-header:not(.olam-settings-card-header):not([class*="bg-"]) .card-title,
.main-content .card:not(.mini-stat):not(.bg-info):not(.bg-success):not(.bg-warning):not(.bg-danger):not(.bg-primary):not(.bg-dark):not(.olam-settings-card)>.card-header:not(.olam-settings-card-header):not([class*="bg-"]) h4,
.main-content .card:not(.mini-stat):not(.bg-info):not(.bg-success):not(.bg-warning):not(.bg-danger):not(.bg-primary):not(.bg-dark):not(.olam-settings-card)>.card-header:not(.olam-settings-card-header):not([class*="bg-"]) h5,
.main-content .card:not(.mini-stat):not(.bg-info):not(.bg-success):not(.bg-warning):not(.bg-danger):not(.bg-primary):not(.bg-dark):not(.olam-settings-card)>.card-header:not(.olam-settings-card-header):not([class*="bg-"]) h6 {
  color: #fff !important;
}

/* Settings card titles are white on green gradient (App Dashboard style) */
.main-content .card.olam-settings-card>.card-header:not(.olam-settings-card-header--tabs) .card-title,
.main-content .card>.card-header.olam-settings-card-header:not(.olam-settings-card-header--tabs) .card-title,
.main-content .card>.card-header.olam-settings-card-header:not(.olam-settings-card-header--tabs) h4,
.main-content .card>.card-header.olam-settings-card-header:not(.olam-settings-card-header--tabs) h5,
.main-content .olam-settings-card-title {
  color: #fff !important;
}

.main-content .card>.card-header.olam-settings-card-header--tabs .card-title,
.main-content .card>.card-header.olam-settings-card-header--tabs h4,
.main-content .card>.card-header.olam-settings-card-header--tabs .olam-settings-card-title {
  color: var(--olam-text) !important;
}

[data-theme="dark"] .main-content .text-white-50 {
  color: rgba(232, 234, 237, 0.55) !important;
}

/* Action button overrides for security actions */
.olam-user-security-actions .btn,
.olam-user-security-actions a.btn {
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  border-radius: 4px !important;
  padding: 6px 14px !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  margin-left: 0 !important;
  border: 1px solid transparent !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1) !important;
}

.olam-user-security-actions .btn-success,
.olam-user-security-actions a.btn-success {
  background: #1b5e20 !important;
  border-color: #1b5e20 !important;
  color: #fff !important;
}

.olam-user-security-actions .btn-danger,
.olam-user-security-actions a.btn-danger {
  background: #f72b50 !important;
  border-color: #f72b50 !important;
  color: #fff !important;
}

.olam-user-security-actions .btn-warning,
.olam-user-security-actions a.btn-warning {
  background: #e65100 !important;
  border-color: #e65100 !important;
  color: #fff !important;
}

.olam-user-security-actions .btn-info,
.olam-user-security-actions a.btn-info {
  background: #0d47a1 !important;
  border-color: #0d47a1 !important;
  color: #fff !important;
}

.olam-user-security-actions .btn-dark,
.olam-user-security-actions a.btn-dark {
  background: var(--olam-surface, #ffffff) !important;
  border: 1px solid var(--olam-border-strong, #cbd5e1) !important;
  color: var(--olam-text, #1a1d21) !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
}

.olam-user-security-actions .btn-dark:hover,
.olam-user-security-actions a.btn-dark:hover {
  background: var(--olam-surface-hover, #f8fafc) !important;
  border-color: var(--olam-primary, #059138) !important;
  color: var(--olam-primary, #059138) !important;
}

/* Checkbox and Radio styling for high visibility in light and dark mode */
input[type="checkbox"]:not(.custom-control-input),
input[type="radio"]:not(.custom-control-input) {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  border: 2px solid var(--olam-border-strong, #cbd5e1) !important;
  border-radius: 4px;
  background-color: var(--olam-bg-elevated, #ffffff) !important;
  display: inline-block;
  vertical-align: middle;
  position: relative;
  cursor: pointer;
  outline: none;
  transition: all 0.2s ease;
}

input[type="radio"]:not(.custom-control-input) {
  border-radius: 50% !important;
}

input[type="checkbox"]:not(.custom-control-input):checked {
  background-color: var(--olam-primary, #059138) !important;
  border-color: var(--olam-primary, #059138) !important;
}

input[type="radio"]:not(.custom-control-input):checked {
  background-color: var(--olam-primary, #059138) !important;
  border-color: var(--olam-primary, #059138) !important;
}

/* Checkmark sign for checked checkboxes */
input[type="checkbox"]:not(.custom-control-input):checked::after {
  content: '';
  position: absolute;
  left: 5px;
  top: 1px;
  width: 5px;
  height: 10px;
  border: solid #ffffff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

/* Center dot for radio buttons */
input[type="radio"]:not(.custom-control-input):checked::after {
  content: '';
  position: absolute;
  left: 4px;
  top: 4px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #ffffff;
}

/* Hover and focus effects */
input[type="checkbox"]:not(.custom-control-input):hover,
input[type="radio"]:not(.custom-control-input):hover {
  border-color: var(--olam-primary, #059138) !important;
}

input[type="checkbox"]:not(.custom-control-input):focus,
input[type="radio"]:not(.custom-control-input):focus {
  box-shadow: 0 0 0 3px rgba(5, 145, 56, 0.2) !important;
}

/* Custom switch, checkbox, and radio controls overrides for Light/Dark mode consistency */
.custom-control-label::before {
  background-color: var(--olam-bg-elevated, #ffffff) !important;
  border-color: var(--olam-border-strong, #cbd5e1) !important;
}

.custom-control-input:checked~.custom-control-label::before {
  background-color: var(--olam-primary, #059138) !important;
  border-color: var(--olam-primary, #059138) !important;
}

/* Fix checked custom radio dot color and alignment */
.custom-radio .custom-control-input:checked~.custom-control-label::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e") !important;
}

/* Fix checked custom checkbox checkmark color and alignment */
.custom-checkbox .custom-control-input:checked~.custom-control-label::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e") !important;
}

/* Fix custom-switch colors, alignment, and circle shape */
.custom-switch .custom-control-label::before {
  border-radius: 0.5rem !important;
}

.custom-switch .custom-control-label::after {
  background-color: var(--olam-text-secondary, #adb5bd) !important;
  border-radius: 50% !important;
  /* Ensure the handle is a perfect circle */
}

.custom-switch .custom-control-input:checked~.custom-control-label::after {
  background-color: #ffffff !important;
}

/* Custom CSS-based Toggle Switch (Bulletproof Pill Toggle Switch) */
.olam-switch {
  position: relative;
  display: inline-block;
  width: 44px !important;
  height: 24px !important;
  min-width: 44px !important;
  min-height: 24px !important;
  vertical-align: middle;
  margin-bottom: 0;
  cursor: pointer;
}

/* Hide default checkbox */
.olam-switch input {
  opacity: 0;
  width: 0;
  height: 0;
  position: absolute;
}

/* Slide track */
.olam-switch-slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: var(--olam-bg-elevated, #ffffff) !important;
  border: 2px solid var(--olam-border-strong, #cbd5e1) !important;
  transition: all .2s ease-in-out;
  border-radius: 24px !important;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.05) !important;
}

/* Slide handle circle */
.olam-switch-slider::before {
  position: absolute;
  content: "";
  height: 16px !important;
  width: 16px !important;
  left: 2px !important;
  bottom: 2px !important;
  background-color: var(--olam-text-secondary, #adb5bd) !important;
  transition: all .2s ease-in-out;
  border-radius: 50% !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15) !important;
}

/* Checked State - Active Track */
.olam-switch input:checked+.olam-switch-slider {
  background-color: var(--olam-primary, #059138) !important;
  border-color: var(--olam-primary, #059138) !important;
}

/* Checked State - Slide Handle Color and Translate */
.olam-switch input:checked+.olam-switch-slider::before {
  transform: translateX(20px) !important;
  background-color: #ffffff !important;
}

/* Hover Effect */
.olam-switch:hover .olam-switch-slider {
  border-color: var(--olam-primary, #059138) !important;
}

/* Premium Edit View Action Buttons */
.olam-user-security-actions,
.olam-header-actions {
  display: flex !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}

.olam-user-security-actions .btn,
.olam-user-security-actions button,
.olam-user-security-actions form,
.olam-header-actions .btn,
.olam-header-actions button,
.olam-header-actions form {
  margin: 0 !important;
}

.olam-user-security-actions .btn,
.olam-user-security-actions button,
.olam-header-actions .btn,
.olam-header-actions button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  padding: 8px 16px !important;
  height: 36px !important;
  border-radius: 6px !important;
  transition: all 0.2s ease-in-out !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
  border: 1px solid transparent !important;
  cursor: pointer !important;
}

/* Hover effects */
.olam-user-security-actions .btn:hover,
.olam-user-security-actions button:hover,
.olam-header-actions .btn:hover,
.olam-header-actions button:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1) !important;
}

/* Success Button (Enable) */
.olam-user-security-actions .btn-success,
.olam-header-actions .btn-success {
  background-color: var(--olam-primary, #059138) !important;
  border-color: var(--olam-primary, #059138) !important;
  color: #ffffff !important;
}

.olam-user-security-actions .btn-success:hover,
.olam-header-actions .btn-success:hover {
  background-color: #047d30 !important;
  border-color: #047d30 !important;
}

/* Danger Button (Disable, Revoke Sessions) */
.olam-user-security-actions .btn-danger,
.olam-header-actions .btn-danger {
  background-color: #f72b50 !important;
  border-color: #f72b50 !important;
  color: #ffffff !important;
}

.olam-user-security-actions .btn-danger:hover,
.olam-header-actions .btn-danger:hover {
  background-color: #e02244 !important;
  border-color: #e02244 !important;
}

/* Warning Button (Offboard (Leaver)) */
.olam-user-security-actions .btn-warning,
.olam-header-actions .btn-warning {
  background-color: #ff9800 !important;
  border-color: #ff9800 !important;
  color: #ffffff !important;
}

.olam-user-security-actions .btn-warning:hover,
.olam-header-actions .btn-warning:hover {
  background-color: #f57c00 !important;
  border-color: #f57c00 !important;
}

/* Clear Device ID / Outline actions */
.olam-user-security-actions a.btn-danger[href*="deviceid"],
.olam-header-actions a.btn-danger[href*="deviceid"] {
  background-color: transparent !important;
  border-color: #f72b50 !important;
  color: #f72b50 !important;
}

.olam-user-security-actions a.btn-danger[href*="deviceid"]:hover,
.olam-header-actions a.btn-danger[href*="deviceid"]:hover {
  background-color: rgba(247, 43, 80, 0.05) !important;
  color: #f72b50 !important;
}

/* Sidebar Submenu Font Styles Consolidation */
.sb-submenu .sb-sub-item,
.sb-nested-menu .sb-sub-item {
  font-size: 0.78rem !important;
  font-weight: 500 !important;
}

.sb-submenu .sb-nested-toggle,
.sb-nested-menu .sb-nested-toggle {
  font-size: 0.78rem !important;
  font-weight: 600 !important;
}

/* Premium Fullscreen Loader Overlay */
.olam-loader-overlay {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  background: rgba(255, 255, 255, 0.78) !important;
  backdrop-filter: blur(5px) !important;
  -webkit-backdrop-filter: blur(5px) !important;
  z-index: 999999 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease-in-out !important;
}

.olam-loader-overlay.active {
  opacity: 1 !important;
  pointer-events: auto !important;
}

[data-theme="dark"] .olam-loader-overlay {
  background: rgba(15, 23, 42, 0.82) !important;
}

.olam-loader-container {
  position: relative !important;
  width: 110px !important;
  height: 110px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.olam-loader-spinner {
  position: absolute !important;
  width: 110px !important;
  height: 110px !important;
  border: 4px solid rgba(5, 145, 56, 0.12) !important;
  border-top: 4px solid var(--olam-primary, #059138) !important;
  border-radius: 50% !important;
  animation: olam-spin 1s linear infinite !important;
}

.olam-loader-logo {
  width: 64px !important;
  height: 64px !important;
  object-fit: contain !important;
  animation: olam-pulse 1.6s ease-in-out infinite !important;
}

.olam-loader-text {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--olam-text, #1e293b) !important;
  letter-spacing: 0.03em !important;
  margin-top: 20px !important;
  animation: olam-fade 1.6s ease-in-out infinite !important;
}

@keyframes olam-spin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

@keyframes olam-pulse {

  0%,
  100% {
    transform: scale(0.92);
    opacity: 0.85;
  }

  50% {
    transform: scale(1.04);
    opacity: 1;
  }
}

@keyframes olam-fade {

  0%,
  100% {
    opacity: 0.55;
  }

  50% {
    opacity: 1;
  }
}

/* ── Profile Page Light & Dark Mode Compatibility ── */
.profile-info-item {
  background: var(--olam-surface-hover, rgba(5, 145, 56, 0.05)) !important;
  border: 1px solid var(--olam-border, rgba(5, 145, 56, 0.15)) !important;
  transition: all 0.2s ease-in-out;
}

.profile-info-item:hover {
  border-color: var(--olam-primary, #059138) !important;
  box-shadow: 0 4px 12px rgba(5, 145, 56, 0.08);
}

.profile-info-label {
  color: var(--olam-text-muted, #64748b) !important;
}

.profile-info-value {
  color: var(--olam-text, #0f172a) !important;
}

[data-theme-version="dark"] .profile-info-value,
[data-theme="dark"] .profile-info-value {
  color: #f8fafc !important;
}

/* Light mode form control and input group harmonization */
[data-theme-version="light"] .form-control,
[data-theme="light"] .form-control {
  background-color: #ffffff !important;
  color: #0f172a !important;
  border: 1px solid #cbd5e1 !important;
}

[data-theme-version="light"] .form-control:focus,
[data-theme="light"] .form-control:focus {
  background-color: #ffffff !important;
  color: #0f172a !important;
  border-color: var(--olam-primary, #059138) !important;
  box-shadow: 0 0 0 3px rgba(5, 145, 56, 0.15) !important;
}

[data-theme-version="light"] .input-group-text,
[data-theme="light"] .input-group-text {
  background-color: #f8fafc !important;
  color: #475569 !important;
  border: 1px solid #cbd5e1 !important;
}

[data-theme-version="light"] label,
[data-theme="light"] label {
  color: #334155 !important;
}

/* Dark mode form control, input group, and helper text harmonization */
[data-theme-version="dark"] .form-control,
[data-theme="dark"] .form-control {
  background-color: #0f172a !important;
  color: #f8fafc !important;
  border: 1px solid #334155 !important;
}

[data-theme-version="dark"] .form-control:focus,
[data-theme="dark"] .form-control:focus {
  background-color: #0f172a !important;
  color: #f8fafc !important;
  border-color: var(--olam-primary, #059138) !important;
  box-shadow: 0 0 0 3px rgba(5, 145, 56, 0.25) !important;
}

[data-theme-version="dark"] .input-group-text,
[data-theme="dark"] .input-group-text {
  background-color: #1e293b !important;
  color: #cbd5e1 !important;
  border: 1px solid #334155 !important;
}

[data-theme-version="dark"] .form-text,
[data-theme="dark"] .form-text,
[data-theme-version="dark"] .text-muted,
[data-theme="dark"] .text-muted {
  color: #94a3b8 !important;
}

[data-theme-version="dark"] .alert-info,
[data-theme="dark"] .alert-info {
  background-color: rgba(14, 165, 233, 0.15) !important;
  border: 1px solid rgba(14, 165, 233, 0.3) !important;
  color: #7dd3fc !important;
}

[data-theme-version="dark"] .alert-info *,
[data-theme="dark"] .alert-info * {
  color: #7dd3fc !important;
}

/* Badge Light compatibility for Light and Dark modes */
.badge-light,
.badge.badge-light {
  background-color: #f1f5f9 !important;
  color: #334155 !important;
  border: 1px solid #cbd5e1 !important;
}

[data-theme-version="dark"] .badge-light,
[data-theme-version="dark"] .badge.badge-light,
[data-theme="dark"] .badge-light,
[data-theme="dark"] .badge.badge-light {
  background-color: rgba(255, 255, 255, 0.12) !important;
  color: #f8fafc !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
}

/* Badge inside alerts */
.alert-info .badge-light,
.alert-info .badge.badge-light {
  background-color: rgba(255, 255, 255, 0.85) !important;
  color: #0369a1 !important;
  border: 1px solid rgba(2, 132, 199, 0.3) !important;
  font-weight: 700 !important;
}

[data-theme-version="dark"] .alert-info .badge-light,
[data-theme-version="dark"] .alert-info .badge.badge-light,
[data-theme="dark"] .alert-info .badge-light,
[data-theme="dark"] .alert-info .badge.badge-light {
  background-color: rgba(14, 165, 233, 0.25) !important;
  color: #38bdf8 !important;
  border: 1px solid rgba(56, 189, 248, 0.4) !important;
  font-weight: 700 !important;
}

[data-theme-version="dark"] .alert-info .badge-light i,
[data-theme-version="dark"] .alert-info .badge.badge-light i,
[data-theme="dark"] .alert-info .badge-light i,
[data-theme="dark"] .alert-info .badge.badge-light i {
  color: #38bdf8 !important;
}

/* ── Create & Edit Pages Light & Dark Mode Theme Harmonization ── */
.olam-settings-card {
  background: var(--olam-surface, #ffffff);
  border: 1px solid var(--olam-border, #e2e8f0) !important;
  color: var(--olam-text, #1e293b);
  border-radius: var(--olam-radius-md, 8px) !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05) !important;
}

[data-theme-version="dark"] .olam-settings-card,
[data-theme="dark"] .olam-settings-card {
  background: var(--olam-surface, #0f172a) !important;
  border-color: var(--olam-border, #1e293b) !important;
  color: var(--olam-text, #f8fafc) !important;
}

[data-theme-version="dark"] label,
[data-theme="dark"] label,
[data-theme-version="dark"] .form-label,
[data-theme="dark"] .form-label {
  color: #f1f5f9 !important;
}

[data-theme-version="dark"] .custom-control-label,
[data-theme="dark"] .custom-control-label {
  color: #e2e8f0 !important;
}

[data-theme-version="dark"] select.form-control option,
[data-theme="dark"] select.form-control option {
  background-color: #0f172a !important;
  color: #f8fafc !important;
}

/* Tom Select Dark Mode Compatibility */





/* Comprehensive Dark Mode Surface & Text Rules */
[data-theme-version="dark"] p,
[data-theme="dark"] p {
  color: #cbd5e1 !important;
}

[data-theme-version="dark"] .card-title,
[data-theme="dark"] .card-title,
[data-theme-version="dark"] .olam-settings-card-title,
[data-theme="dark"] .olam-settings-card-title {
  color: #f8fafc !important;
}

[data-theme-version="dark"] .card-header,
[data-theme="dark"] .card-header,
[data-theme-version="dark"] .olam-settings-card-header,
[data-theme="dark"] .olam-settings-card-header {
  background-color: #0f172a !important;
  border-color: #1e293b !important;
  color: #f8fafc !important;
}

[data-theme-version="dark"] .table,
[data-theme="dark"] .table {
  color: #f8fafc !important;
}

[data-theme-version="dark"] .table td,
[data-theme="dark"] .table td {
  color: #e2e8f0 !important;
  border-color: #1e293b !important;
}

[data-theme-version="dark"] .table th,
[data-theme="dark"] .table th {
  border-color: #1e293b !important;
}

[data-theme-version="dark"] .table-striped tbody tr:nth-of-type(odd),
[data-theme="dark"] .table-striped tbody tr:nth-of-type(odd) {
  background-color: rgba(255, 255, 255, 0.02) !important;
}

[data-theme-version="dark"] .table-hover tbody tr:hover,
[data-theme="dark"] .table-hover tbody tr:hover {
  background-color: rgba(255, 255, 255, 0.05) !important;
}

[data-theme-version="dark"] .page-titles,
[data-theme="dark"] .page-titles {
  background: transparent !important;
  color: #f8fafc !important;
}

[data-theme-version="dark"] .page-titles h4,
[data-theme="dark"] .page-titles h4,
[data-theme-version="dark"] .olam-settings-header__title,
[data-theme="dark"] .olam-settings-header__title {
  color: #f8fafc !important;
}

[data-theme-version="dark"] .breadcrumb-item,
[data-theme="dark"] .breadcrumb-item,
[data-theme-version="dark"] .breadcrumb-item a,
[data-theme="dark"] .breadcrumb-item a {
  color: #94a3b8 !important;
}

[data-theme-version="dark"] .breadcrumb-item.active,
[data-theme="dark"] .breadcrumb-item.active {
  color: #f8fafc !important;
}

[data-theme-version="dark"] .form-control[readonly],
[data-theme="dark"] .form-control[readonly],
[data-theme-version="dark"] .form-control:disabled,
[data-theme="dark"] .form-control:disabled {
  background-color: #1e293b !important;
  color: #94a3b8 !important;
  border-color: #334155 !important;
}

/* ── Edit Button Light & Dark Mode Harmonization ── */
.olam-act--edit,
.rbac-edit-btn,
.btn-outline-primary {
  background: rgba(5, 145, 56, 0.08) !important;
  color: var(--olam-primary, #059138) !important;
  border: 1px solid var(--olam-primary, #059138) !important;
  font-weight: 600;
  transition: all 0.2s ease-in-out;
}

.olam-act--edit:hover,
.olam-act--edit:focus,
.rbac-edit-btn:hover,
.rbac-edit-btn:focus,
.btn-outline-primary:hover,
.btn-outline-primary:focus {
  background: var(--olam-primary, #059138) !important;
  color: #ffffff !important;
  border-color: var(--olam-primary, #059138) !important;
  box-shadow: 0 4px 12px rgba(5, 145, 56, 0.25) !important;
}

[data-theme-version="dark"] .olam-act--edit,
[data-theme="dark"] .olam-act--edit,
[data-theme-version="dark"] .rbac-edit-btn,
[data-theme="dark"] .rbac-edit-btn,
[data-theme-version="dark"] .btn-outline-primary,
[data-theme="dark"] .btn-outline-primary {
  background: rgba(5, 145, 56, 0.2) !important;
  color: #4ade80 !important;
  border: 1px solid rgba(5, 145, 56, 0.5) !important;
  font-weight: 600;
}

[data-theme-version="dark"] .olam-act--edit:hover,
[data-theme="dark"] .olam-act--edit:hover,
[data-theme-version="dark"] .rbac-edit-btn:hover,
[data-theme="dark"] .rbac-edit-btn:hover,
[data-theme-version="dark"] .btn-outline-primary:hover,
[data-theme="dark"] .btn-outline-primary:hover {
  background: #059138 !important;
  color: #ffffff !important;
  border-color: #059138 !important;
  box-shadow: 0 0 12px rgba(5, 145, 56, 0.5) !important;
}

/* ── Comprehensive Form Element Dark Mode Support ── */





[data-theme-version="dark"] .rbac-audit-code,
[data-theme="dark"] .rbac-audit-code {
  background-color: #1e293b !important;
  border-color: #334155 !important;
  color: #e2e8f0 !important;
}

/* ── SweetAlert & Access Restricted Modal Light/Dark Mode Compatibility ── */
.olam-swal-popup,
.swal2-popup,
.sweet-alert {
  background: var(--olam-surface, #ffffff) !important;
  color: var(--olam-text, #1e293b) !important;
  border-radius: 14px !important;
  border: 1px solid var(--olam-border, #e2e8f0) !important;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.12), 0 10px 10px -5px rgba(0, 0, 0, 0.04) !important;
}

.rbac-modal-title {
  color: #1e293b !important;
}

.rbac-modal-body {
  color: #475569 !important;
}

.rbac-modal-sub {
  color: #64748b !important;
}

[data-theme-version="dark"] .olam-swal-popup,
[data-theme-version="dark"] .swal2-popup,
[data-theme-version="dark"] .sweet-alert,
[data-theme="dark"] .olam-swal-popup,
[data-theme="dark"] .swal2-popup,
[data-theme="dark"] .sweet-alert {
  background: #0f172a !important;
  color: #f8fafc !important;
  border-color: #334155 !important;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.6) !important;
}

[data-theme-version="dark"] .rbac-modal-title,
[data-theme="dark"] .rbac-modal-title {
  color: #f8fafc !important;
}

[data-theme-version="dark"] .rbac-modal-body,
[data-theme="dark"] .rbac-modal-body {
  color: #cbd5e1 !important;
}

[data-theme-version="dark"] .rbac-modal-sub,
[data-theme="dark"] .rbac-modal-sub {
  color: #94a3b8 !important;
}

[data-theme-version="dark"] .swal2-title,
[data-theme="dark"] .swal2-content,
[data-theme-version="dark"] .sweet-alert h2,
[data-theme-version="dark"] .sweet-alert p,
[data-theme="dark"] .swal2-title,
[data-theme="dark"] .swal2-content,
[data-theme="dark"] .sweet-alert h2,
[data-theme="dark"] .sweet-alert p {
  color: #f8fafc !important;
}