[data-bs-theme="light"] .table.table-bordered,
[data-bs-theme="light"] .table.table-bordered> :not(caption)>*,
[data-bs-theme="light"] .table.table-bordered> :not(caption)>*>* {
  border-color: #d1d5db !important;
}

/* Avoid double-thick edges: remove outer table border, keep cell borders */
[data-bs-theme="light"] .table.table-bordered {
  border: 0 !important;
}

[data-bs-theme="light"] .table.table-bordered thead th {
  border-bottom-color: #d1d5db !important;
}

/* Global Font Size and Content Area Adjustments */

/* Adjust page heading font sizes */
.page-heading.fs-3 {
  font-size: 1.4rem !important;
  /* Slightly reduced from ~1.5rem */
}

.page-heading.fs-2x {
  font-size: 1.7rem !important;
  /* Slightly reduced from ~2rem */
}

/* Adjust toolbar padding */
.app-toolbar.py-3.py-lg-6 {
  padding-top: 1rem !important;
  /* Slightly reduced from original */
  padding-bottom: 1rem !important;
  /* Slightly reduced from original */
}

.app-toolbar.py-4.py-lg-7 {
  padding-top: 1rem !important;
  /* Slightly reduced from original */
  padding-bottom: 1rem !important;
  /* Slightly reduced from original */
}

@media (min-width: 992px) {
  .app-toolbar.py-3.py-lg-6 {
    padding-top: 1.35rem !important;
    /* Slightly reduced from 1.5rem */
    padding-bottom: 1.35rem !important;
    /* Slightly reduced from 1.5rem */
  }

  .app-toolbar.py-4.py-lg-7 {
    padding-top: 1.35rem !important;
    /* Slightly reduced from 1.75rem */
    padding-bottom: 1.35rem !important;
    /* Slightly reduced from 1.75rem */
  }
}

/* Adjust content container padding */
#kt_app_content_container.app-container {
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}

@media (min-width: 992px) {
  #kt_app_content_container.app-container {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
  }
}

/* Adjust card body padding */
.card-body {
  padding: 1.35rem !important;
  /* Slightly reduced from default 1.5rem */
}

/* Adjust form control font size */
.form-control,
.form-select {
  font-size: 0.95rem !important;
  /* Slightly smaller */
}

.form-label {
  font-size: 0.925rem !important;
  /* Slightly smaller */
}

/* Adjust table font size */
.table {
  font-size: 0.925rem !important;
}

.table th {
  font-size: 0.925rem !important;
  padding: 0.75rem 1rem !important;
  /* Slightly reduced padding */
}

.table td {
  padding: 0.75rem 1rem !important;
  /* Slightly reduced padding */
}

/* Adjust button font size */
.btn {
  font-size: 0.925rem !important;
}

.btn-sm {
  font-size: 0.875rem !important;
}

/* Adjust breadcrumb font size */
.breadcrumb {
  font-size: 0.875rem !important;
  /* Slightly reduced from fs-7 */
}

/* Adjust spacing in form rows */
.row .mb-3 {
  margin-bottom: 0.95rem !important;
  /* Slightly reduced from 1rem */
}

.row .mb-4 {
  margin-bottom: 1.35rem !important;
  /* Slightly reduced from 1.5rem */
}

/* Adjust h5 font size */
h5 {
  font-size: 1.15rem !important;
}

/* Adjust general content spacing */
.app-content {
  padding-top: 0.875rem !important;
  padding-bottom: 0.875rem !important;
}

/* Light Mode Background Color Adjustments */
[data-bs-theme="light"] body {
  background-color: #e9ecef !important;
  /* Darker gray background */
}

[data-bs-theme] html,
[data-bs-theme] body,
[data-bs-theme] #kt_app_root,
[data-bs-theme] .app-root,
[data-bs-theme] #kt_app_page,
[data-bs-theme] .app-page,
[data-bs-theme] #kt_app_wrapper,
[data-bs-theme] .app-wrapper,
[data-bs-theme] #kt_app_main,
[data-bs-theme] .app-main {
  min-height: 100vh;
}

[data-bs-theme="light"] #kt_app_root,
[data-bs-theme="light"] .app-root {
  background-color: #e9ecef !important;
}

[data-bs-theme="light"] #kt_app_page,
[data-bs-theme="light"] .app-page {
  background-color: #e9ecef !important;
}

[data-bs-theme="light"] #kt_app_wrapper,
[data-bs-theme="light"] .app-wrapper {
  background-color: #e9ecef !important;
}

[data-bs-theme="light"] #kt_app_main,
[data-bs-theme="light"] .app-main {
  background-color: #e9ecef !important;
}

[data-bs-theme="light"] .body-bg {
  background-color: #e9ecef !important;
}

[data-bs-theme="light"] #kt_app_content,
[data-bs-theme="light"] .app-content {
  background-color: #e9ecef !important;
}

/* Dark Mode Background Color Adjustments (ensure full-height coverage with #151521) */
[data-bs-theme="dark"] body {
  background-color: #151521 !important;
}

[data-bs-theme="dark"] #kt_app_root,
[data-bs-theme="dark"] .app-root,
[data-bs-theme="dark"] #kt_app_page,
[data-bs-theme="dark"] .app-page,
[data-bs-theme="dark"] #kt_app_wrapper,
[data-bs-theme="dark"] .app-wrapper,
[data-bs-theme="dark"] #kt_app_main,
[data-bs-theme="dark"] .app-main,
[data-bs-theme="dark"] #kt_app_content,
[data-bs-theme="dark"] .app-content,
[data-bs-theme="dark"] .body-bg {
  background-color: #151521 !important;
}

/* Readonly Field Styling - Bootstrap Secondary Background */
.form-control[readonly],
.form-control[readonly]:focus,
input[readonly],
input[readonly]:focus,
textarea[readonly],
textarea[readonly]:focus {
  background-color: var(--bs-secondary-bg, #e9ecef) !important;
  color: var(--bs-secondary-color, #6c757d) !important;
  cursor: not-allowed !important;
  opacity: 1 !important;
}

/* Disabled fields with readonly - ensure consistent styling */
.form-control[readonly][disabled],
input[readonly][disabled],
textarea[readonly][disabled] {
  background-color: var(--bs-secondary-bg, #e9ecef) !important;
  color: var(--bs-secondary-color, #6c757d) !important;
  cursor: not-allowed !important;
  opacity: 1 !important;
}

/* Handle Select2 readonly styling */
.select2-container--default .select2-selection--single[readonly],
.select2-container--default .select2-selection--single[readonly] .select2-selection__rendered {
  background-color: var(--bs-secondary-bg, #e9ecef) !important;
  color: var(--bs-secondary-color, #6c757d) !important;
  cursor: not-allowed !important;
}

/* Handle Flatpickr readonly styling */
.flatpickr-input[readonly],
input.flatpickr-input[readonly] {
  background-color: var(--bs-secondary-bg, #e9ecef) !important;
  color: var(--bs-secondary-color, #6c757d) !important;
  cursor: not-allowed !important;
}

[data-bs-theme="dark"] .flatpickr-input[readonly],
[data-bs-theme="dark"] input.flatpickr-input[readonly] {
  background-color: #495057 !important;
  color: #ffffff !important;
  cursor: not-allowed !important;
}

/* Dark theme readonly fields */
[data-bs-theme="dark"] .form-control[readonly],
[data-bs-theme="dark"] .form-control[readonly]:focus,
[data-bs-theme="dark"] input[readonly],
[data-bs-theme="dark"] input[readonly]:focus,
[data-bs-theme="dark"] textarea[readonly],
[data-bs-theme="dark"] textarea[readonly]:focus {
  background-color: var(--bs-secondary-bg, #6c757d) !important;
  color: var(--bs-secondary-color, #ffffff) !important;
  cursor: not-allowed !important;
  opacity: 1 !important;
}

/* Dark theme disabled readonly fields */
[data-bs-theme="dark"] .form-control[readonly][disabled],
[data-bs-theme="dark"] input[readonly][disabled],
[data-bs-theme="dark"] textarea[readonly][disabled] {
  background-color: var(--bs-secondary-bg, #6c757d) !important;
  color: var(--bs-secondary-color, #ffffff) !important;
  cursor: not-allowed !important;
  opacity: 1 !important;
}

/* -------------------------------------------------------------------------
   Dark theme – app content and modals (whole project)
   When data-bs-theme="dark" is set, cards, headings, tables and modals
   use theme-aware colors so light/dark mode works everywhere.
   ------------------------------------------------------------------------- */

[data-bs-theme="dark"] .app-content .page-heading.text-dark,
[data-bs-theme="dark"] .modal .page-heading.text-dark {
  color: var(--bs-body-color, #fff) !important;
}

[data-bs-theme="dark"] .app-content .card-header.bg-light,
[data-bs-theme="dark"] .modal .card-header.bg-light {
  background-color: var(--bs-secondary-bg, #2b2b40) !important;
  color: var(--bs-body-color, #fff) !important;
  border-color: var(--bs-border-color, #323248) !important;
}

[data-bs-theme="dark"] .app-content .card .card-title.text-dark,
[data-bs-theme="dark"] .app-content .card .text-dark,
[data-bs-theme="dark"] .modal .card .card-title.text-dark,
[data-bs-theme="dark"] .modal .card .text-dark {
  color: var(--bs-body-color, #fff) !important;
}

[data-bs-theme="dark"] .app-content .text-gray-800,
[data-bs-theme="dark"] .modal .text-gray-800 {
  color: var(--bs-body-color, #fff) !important;
}

[data-bs-theme="dark"] .app-content .text-muted,
[data-bs-theme="dark"] .modal .text-muted,
[data-bs-theme="dark"] .app-toolbar .text-muted {
  color: var(--bs-secondary-color, rgba(255, 255, 255, 0.75)) !important;
}

[data-bs-theme="dark"] .app-content .card-header .text-muted,
[data-bs-theme="dark"] .modal .card-header .text-muted {
  color: var(--bs-secondary-color, rgba(255, 255, 255, 0.75)) !important;
}

[data-bs-theme="dark"] .app-content .card .bg-white,
[data-bs-theme="dark"] .modal .card .bg-white {
  background-color: var(--bs-body-bg, #1e1e2d) !important;
  border-color: var(--bs-border-color, #323248) !important;
}

[data-bs-theme="dark"] .app-content .table thead.bg-light,
[data-bs-theme="dark"] .app-content .table thead th,
[data-bs-theme="dark"] .modal .table thead.bg-light,
[data-bs-theme="dark"] .modal .table thead th {
  background-color: var(--bs-secondary-bg, #2b2b40) !important;
  color: var(--bs-body-color, #fff) !important;
  border-color: var(--bs-border-color, #323248) !important;
}

[data-bs-theme="dark"] #dashboard-content .table-responsive table thead,
[data-bs-theme="dark"] #dashboard-content .table-responsive table thead th {
  background-color: var(--bs-secondary-bg, #2b2b40) !important;
  color: var(--bs-body-color, #fff) !important;
  border-color: var(--bs-border-color, #323248) !important;
}

/* Modal-specific: sticky table thead and content blocks with hardcoded bg */
[data-bs-theme="dark"] #description-content table thead,
[data-bs-theme="dark"] #description-content table thead th,
[data-bs-theme="dark"] #appointments-content table thead,
[data-bs-theme="dark"] #appointments-content table thead th {
  background-color: var(--bs-secondary-bg, #2b2b40) !important;
  color: var(--bs-body-color, #fff) !important;
  border-color: var(--bs-border-color, #323248) !important;
}

[data-bs-theme="dark"] #questionnaire-questions-container .question-item {
  background-color: var(--bs-secondary-bg, #2b2b40) !important;
  border-color: var(--bs-border-color, #323248);
}

/* -------------------------------------------------------------------------
   SweetAlert2 (Swal) dark theme
   When data-bs-theme="dark", popups use dark background and light text.
   ------------------------------------------------------------------------- */

[data-bs-theme="dark"] .swal2-container {
  background-color: rgba(0, 0, 0, 0.6);
}

[data-bs-theme="dark"] .swal2-popup {
  background: var(--bs-body-bg, #1e1e2d) !important;
  color: var(--bs-body-color, #fff) !important;
  border: 1px solid var(--bs-border-color, #323248);
}

[data-bs-theme="dark"] .swal2-title {
  color: var(--bs-body-color, #fff) !important;
}

[data-bs-theme="dark"] .swal2-html-container {
  color: var(--bs-body-color, #fff) !important;
}

[data-bs-theme="dark"] .swal2-content,
[data-bs-theme="dark"] .swal2-input,
[data-bs-theme="dark"] .swal2-textarea,
[data-bs-theme="dark"] .swal2-select {
  color: var(--bs-body-color, #fff) !important;
}

[data-bs-theme="dark"] .swal2-input,
[data-bs-theme="dark"] .swal2-textarea,
[data-bs-theme="dark"] .swal2-select {
  background-color: var(--bs-secondary-bg, #2b2b40) !important;
  border-color: var(--bs-border-color, #323248) !important;
  color: var(--bs-body-color, #fff) !important;
}

[data-bs-theme="dark"] .swal2-validation-message {
  background-color: var(--bs-danger, #f1416c) !important;
  color: #fff !important;
}

[data-bs-theme="dark"] .swal2-footer {
  border-top-color: var(--bs-border-color, #323248) !important;
  color: var(--bs-body-color, #fff) !important;
}

[data-bs-theme="dark"] .swal2-actions .swal2-styled {
  border: 0;
}

[data-bs-theme="dark"] .swal2-progress-steps .swal2-progress-step {
  background: var(--bs-secondary-bg, #2b2b40) !important;
  color: var(--bs-body-color, #fff) !important;
}

[data-bs-theme="dark"] .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step {
  background: var(--bs-primary, #009ef7) !important;
  color: #fff !important;
}

[data-bs-theme="dark"] .swal2-progress-steps .swal2-progress-step-line {
  background: var(--bs-border-color, #323248) !important;
}

[data-bs-theme="dark"] .swal2-timer-progress-bar {
  background: var(--bs-primary, #009ef7) !important;
}

/*
 * Lead status badges (.badge-theme-auto[data-badge-color]):
 * light mode → solid (badge-*) — not light
 * dark mode  → badge-light-* look
 */
html:not([data-bs-theme="dark"]) .badge.badge-theme-auto[data-badge-color="primary"] {
  color: var(--bs-primary-inverse) !important;
  background-color: var(--bs-primary) !important;
}
html:not([data-bs-theme="dark"]) .badge.badge-theme-auto[data-badge-color="secondary"] {
  color: var(--bs-secondary-inverse) !important;
  background-color: var(--bs-secondary) !important;
}
html:not([data-bs-theme="dark"]) .badge.badge-theme-auto[data-badge-color="success"] {
  color: var(--bs-success-inverse) !important;
  background-color: var(--bs-success) !important;
}
html:not([data-bs-theme="dark"]) .badge.badge-theme-auto[data-badge-color="info"] {
  color: var(--bs-info-inverse) !important;
  background-color: var(--bs-info) !important;
}
html:not([data-bs-theme="dark"]) .badge.badge-theme-auto[data-badge-color="warning"] {
  color: var(--bs-warning-inverse) !important;
  background-color: var(--bs-warning) !important;
}
html:not([data-bs-theme="dark"]) .badge.badge-theme-auto[data-badge-color="danger"] {
  color: var(--bs-danger-inverse) !important;
  background-color: var(--bs-danger) !important;
}

[data-bs-theme="dark"] .badge.badge-theme-auto[data-badge-color="primary"] {
  color: var(--bs-primary) !important;
  background-color: var(--bs-primary-light) !important;
}
[data-bs-theme="dark"] .badge.badge-theme-auto[data-badge-color="secondary"] {
  color: var(--bs-secondary) !important;
  background-color: var(--bs-secondary-light) !important;
}
[data-bs-theme="dark"] .badge.badge-theme-auto[data-badge-color="success"] {
  color: var(--bs-success) !important;
  background-color: var(--bs-success-light) !important;
}
[data-bs-theme="dark"] .badge.badge-theme-auto[data-badge-color="info"] {
  color: var(--bs-info) !important;
  background-color: var(--bs-info-light) !important;
}
[data-bs-theme="dark"] .badge.badge-theme-auto[data-badge-color="warning"] {
  color: var(--bs-warning) !important;
  background-color: var(--bs-warning-light) !important;
}
[data-bs-theme="dark"] .badge.badge-theme-auto[data-badge-color="danger"] {
  color: var(--bs-danger) !important;
  background-color: var(--bs-danger-light) !important;
}
/* Dashboard table search: our own clear (×) button replaces the browser's */
.dashboard-search-input::-webkit-search-cancel-button {
  -webkit-appearance: none;
  display: none;
}

/* -------------------------------------------------------------------------
   Responsive (phones / small tablets)
   Page-specific fixes live in each view; these cover patterns shared by
   every page. Desktop (≥ 992px) is unaffected.
   ------------------------------------------------------------------------- */

@media (max-width: 991.98px) {
  /* Page toolbar: title + action buttons wrap instead of overflowing */
  #kt_app_toolbar_container {
    flex-wrap: wrap;
    row-gap: 0.75rem;
  }

  #kt_app_toolbar_container > .d-flex:not(.page-title) {
    flex-wrap: wrap;
  }

  /* Card toolbars with several buttons/filters */
  .card-header .card-toolbar,
  .card-header .card-toolbar > .d-flex {
    flex-wrap: wrap;
    gap: 0.5rem;
  }

  /* Dropdown menus (notifications, user menu, filters) never wider than the screen */
  .menu-sub-dropdown {
    max-width: calc(100vw - 1rem);
  }

  /* DataTables controls */
  .dataTables_wrapper .pagination {
    flex-wrap: wrap;
  }

  /* FullCalendar header (title + prev/next + view buttons) */
  .fc .fc-header-toolbar {
    flex-wrap: wrap;
    gap: 0.5rem;
  }

  /* In-page settings sidebars reuse .app-sidebar-logo for their heading,
     which the theme hides below lg */
  [class*="-settings-sidebar"] > .app-sidebar-logo {
    display: flex;
    height: auto;
  }
}

@media (max-width: 767.98px) {
  .card-header .card-title {
    flex-wrap: wrap;
  }

  /* Line tabs: one swipeable row instead of wrapping into ragged rows */
  .nav.nav-line-tabs {
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    padding-bottom: 1px;
  }

  .nav.nav-line-tabs::-webkit-scrollbar {
    display: none;
  }

  .nav.nav-line-tabs .nav-item {
    flex-shrink: 0;
  }

  .nav.nav-line-tabs .nav-item .nav-link {
    white-space: nowrap;
    margin: 0 0.75rem;
  }

  .nav.nav-line-tabs .nav-item:first-child .nav-link {
    margin-left: 0;
  }

  .nav.nav-line-tabs .nav-link.fs-5 {
    font-size: 1rem !important;
  }

  /* Card header with title + search: title on top, search fills the row below */
  .card > .card-header {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    row-gap: 0.5rem;
  }

  .card-header .card-toolbar:has(> .position-relative input) {
    flex: 1 1 100%;
    margin: 0;
  }

  .card-header .card-title > .position-relative,
  .card-header .card-toolbar > .position-relative {
    max-width: 100% !important;
    min-width: 0 !important;
    width: 100%;
    flex: 1 1 auto;
  }

  /* Slightly tighter table cells so more columns fit before scrolling */
  .table th,
  .table td {
    padding: 0.6rem 0.75rem !important;
  }

  .dataTables_wrapper .dataTables_length,
  .dataTables_wrapper .dataTables_filter,
  .dataTables_wrapper .dataTables_info,
  .dataTables_wrapper .dataTables_paginate {
    text-align: center !important;
    justify-content: center !important;
  }
}

@media (max-width: 575.98px) {
  /* Page toolbar: title on its own row, action buttons below it */
  #kt_app_toolbar_container > .page-title {
    flex: 1 1 100%;
    margin-right: 0 !important;
  }

  #kt_app_toolbar_container .btn {
    white-space: nowrap;
  }

  .card > .card-header {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
}
