
.dark .table-striped > tbody > tr:nth-of-type(even) > * {
  --bs-table-accent-bg: #181818 !important;
}
.multiselect-option.is-selected {
  background: var(--bs-primary) !important ;
}
.multiselect-tag:hover {
  background: var(--bs-primary) !important;
}
.multiselect-tag {
  background: var(--bs-primary) !important;
}

.multiselect-option.is-pointed {
  background: var(--bs-primary) !important;
  color: #fff !important;
}
::selection {
  background: var(--bs-primary) !important;
  color: #fff !important;
}

::-moz-selection {
  background: var(--bs-primary) !important;
  color: #fff !important;
}

*::-moz-selection {
  background: var(--bs-primary) !important;
  color: #fff !important;
}

.form-disabled {
  pointer-events: none;
  opacity: 0.4;
}

.sorting_disabled.sorting_asc::after,
.sorting_disabled.sorting_asc::before {
  content: unset !important;
}

.sorting_disabled.sorting_asc {
  padding-right: 0 !important;
  width: 1% !important;
}

[dir="rtl"] .sorting_disabled.sorting_asc{
  padding-right: 1.5rem !important;
  padding-left: 0 !important;
}

.h-4 {
  height: 4rem;
}

.ec-week .ec-toolbar {
  position: absolute;
  left: 0;
  right: 0;
  z-index: 9;
  padding: 0 15px 15px;
  border-bottom: 1px solid var(--bs-border-color);
}
.ec-header {
  display: flex;
  flex-shrink: 0;
  margin-top: 75px;
  position: relative;
}
.ec.ec-week {
  overflow-x: scroll;
}
.ec-header .ec-resource {
  flex-direction: column;
  min-width: 160px;
}
.ec-resource {
  display: flex;
  min-width: 160px;
}

.dropdown-sticky {
  background-color: var(--bs-white);
  box-shadow: 0px -2px 3px rgba(0, 0, 0, 0.2);
  position: fixed;
  width: 100%;
  bottom: 0;
  left: 0;
}
div#datatable_wrapper {
  position: relative;
}
div.dataTables_wrapper div.dataTables_processing {
  top: 105px !important;
  left: 50%;
  z-index: 9;
}

.dropdown-sticky:hover {
  background-color: var(--bs-primary-shade-10);
}

.iq-dropdown .dropdown-menu {
  border-radius: 0.6rem !important;
}

.dark .text-black {
  color: #fff !important;
}

@media only screen and (max-width: 1366px) {
  .ec-header {
    overflow-x: scroll;
  }
}

.iq-service-provider-dropdown:hover {
  background-color: unset !important;
}

.mode-icons {
  display: none;
}
.mode-icons.light-mode {
  display: block;
}

[data-bs-theme="dark"] .mode-icons.light-mode {
  display: none;
}

[data-bs-theme="dark"] .mode-icons.dark-mode {
  display: block;
}

.flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n + 1)),
.flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n + 1)),
.flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n + 1)) {
  box-shadow: -10px 0 0 rgba(var(--bs-primary-rgb), 0.8);
}
:root {
  --animate-duration: 400ms;
  --animate-delay: 1s;
  --animate-repeat: 1;
}

.animate__animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-duration: var(--animate-duration);
  animation-duration: var(--animate-duration);
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

@-webkit-keyframes zoomIn {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }

  50% {
    opacity: 1;
  }
}
@keyframes zoomIn {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }

  50% {
    opacity: 1;
  }
}

.animate__zoomIn {
  -webkit-animation-name: zoomIn;
  animation-name: zoomIn;
}

@-webkit-keyframes zoomOut {
  0% {
    opacity: 1;
  }

  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }

  to {
    opacity: 0;
  }
}

@keyframes zoomOut {
  0% {
    opacity: 1;
  }

  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }

  to {
    opacity: 0;
  }
}

.animate__zoomOut {
  -webkit-animation-name: zoomOut;
  animation-name: zoomOut;
}

@media screen and (max-width: 1024px) {
  .ec-all-day {
    overflow-x: scroll;
  }
  .ec-body {
    overflow-x: scroll !important;
  }
  .ec-resource {
    min-width: 160px !important;
  }
}

fieldset,
legend {
  all: revert;
  margin-bottom: 1rem;
}
fieldset {
  border: 1px solid var(--bs-border-color);
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  border-radius: 5px;
}

legend {
  font-size: 1rem;
  font-weight: bold;
  padding: 0 0.7rem;
  color: var(--bs-primary-shade-80);
}
.dark legend {
  color: white;
}

.tox-tinymce,
.tox-statusbar,
.tox-toolbar__group,
.tox-toolbar__group:not(:last-of-type) {
  border-color: var(--bs-border-color) !important;
}

.tox .tox-toolbar,
.tox .tox-toolbar__overflow,
.tox .tox-toolbar__primary {
  border: 1px solid var(--bs-border-color) !important;
}
.dark .multiselect-tags-search {
  color: inherit;
  background: inherit;
}
.ql-container {
  height: calc(100% - 5rem) !important;
}

.white-space-initial td {
  white-space: initial;
}

.dark .vti__input {
  color: #d7dbdf;
  background-color: #080808;
}

.form-logo {
  width: 130px;
}

/* === NEUROCARE EHR & SIDEBAR REDESIGN === */

/* 1. Menu Latéral Gauche : Effet Bouton Coloré aux couleurs exactes du site (--bs-primary : #1A936F) */
.sidebar-base .iq-main-menu .nav-item {
    margin-bottom: 3px;
}

.sidebar-base .iq-main-menu .nav-item > .nav-link:not(.static-item) {
    border-radius: 10px !important;
    margin: 2px 10px !important;
    padding: 10px 14px !important;
    font-weight: 500 !important;
    transition: all 0.18s ease-in-out !important;
    border: 1px solid transparent !important;
}

/* Survol d'une rubrique non active : contour et fond bouton léger aux couleurs du site */
.sidebar-base .iq-main-menu .nav-item > .nav-link:not(.static-item):not(.active):hover {
    background-color: var(--bs-primary-bg-subtle, rgba(26, 147, 111, 0.12)) !important;
    border-color: var(--bs-primary-border-subtle, rgba(26, 147, 111, 0.28)) !important;
    color: var(--bs-primary, #1A936F) !important;
    transform: translateX(2px);
}

.sidebar-base .iq-main-menu .nav-item > .nav-link:not(.static-item):not(.active):hover i,
.sidebar-base .iq-main-menu .nav-item > .nav-link:not(.static-item):not(.active):hover .item-name {
    color: var(--bs-primary, #1A936F) !important;
}

/* Rubrique active sélectionnée : vrai bouton plein coloré avec la couleur du site (#1A936F) */
.sidebar-base .iq-main-menu > .nav-item > .nav-link.active,
.sidebar-base .iq-main-menu > .nav-item.active > .nav-link:not(.static-item) {
    background: linear-gradient(135deg, var(--bs-primary, #1A936F) 0%, var(--bs-primary-hover-bg, #147558) 100%) !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    box-shadow: 0 4px 12px rgba(26, 147, 111, 0.28) !important;
    border: 1px solid rgba(255, 255, 255, 0.16) !important;
}

.sidebar-base .iq-main-menu > .nav-item > .nav-link.active i,
.sidebar-base .iq-main-menu > .nav-item > .nav-link.active svg,
.sidebar-base .iq-main-menu > .nav-item > .nav-link.active .item-name,
.sidebar-base .iq-main-menu > .nav-item.active > .nav-link:not(.static-item) i,
.sidebar-base .iq-main-menu > .nav-item.active > .nav-link:not(.static-item) svg,
.sidebar-base .iq-main-menu > .nav-item.active > .nav-link:not(.static-item) .item-name {
    color: #ffffff !important;
    stroke: #ffffff !important;
}

/* Sous-menu actif : bouton encadré distinctif aux couleurs du site */
.sidebar-base .iq-main-menu .sub-nav .nav-item > .nav-link.active,
.sidebar-base .iq-main-menu .sub-nav .nav-item.active > .nav-link {
    background: var(--bs-primary-bg-subtle, rgba(26, 147, 111, 0.14)) !important;
    color: var(--bs-primary, #1A936F) !important;
    font-weight: 600 !important;
    border: 1px solid var(--bs-primary-border-subtle, rgba(26, 147, 111, 0.35)) !important;
    border-left: 4px solid var(--bs-primary, #1A936F) !important;
    border-radius: 8px !important;
    margin: 2px 12px 2px 20px !important;
}

.sidebar-base .iq-main-menu .sub-nav .nav-item > .nav-link.active i,
.sidebar-base .iq-main-menu .sub-nav .nav-item > .nav-link.active .item-name {
    color: var(--bs-primary, #1A936F) !important;
}

/* Titres de sections dans la sidebar */
.sidebar-base .iq-main-menu .nav-item.static-item .nav-link.static-item {
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: #64748b !important;
    padding: 14px 18px 4px 18px !important;
}

/* 2. Système Visuel Dossier Patient Informatisé (DPI / EHR) aux couleurs du site */
.ehr-patient-banner {
    background: linear-gradient(135deg, #ffffff 0%, #f4fbf8 100%);
    border: 1px solid #d1e7dd;
    border-left: 5px solid var(--bs-primary, #1A936F);
    border-radius: 12px;
    padding: 16px 20px;
    margin-bottom: 20px;
    box-shadow: 0 2px 10px rgba(26, 147, 111, 0.05);
}

[data-bs-theme="dark"] .ehr-patient-banner {
    background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);
    border-color: #334155;
}

.ehr-patient-avatar {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid var(--bs-primary-border-subtle, #a3cfbb);
    box-shadow: 0 2px 6px rgba(0,0,0,0.08);
}

.ehr-meta-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 0.8rem;
    font-weight: 500;
    background-color: #f1f5f9;
    color: #334155;
    border: 1px solid #e2e8f0;
}

[data-bs-theme="dark"] .ehr-meta-pill {
    background-color: #334155;
    color: #e2e8f0;
    border-color: #475569;
}

.ehr-meta-pill.ehr-pill-primary {
    background-color: var(--bs-primary-bg-subtle, rgba(26, 147, 111, 0.12));
    color: var(--bs-primary, #1A936F);
    border-color: var(--bs-primary-border-subtle, rgba(26, 147, 111, 0.28));
    font-weight: 600;
}

.ehr-meta-pill.ehr-pill-danger {
    background-color: #fef2f2;
    color: #dc2626;
    border-color: #fecaca;
    font-weight: 600;
}

.ehr-meta-pill.ehr-pill-success {
    background-color: #f0fdf4;
    color: #15803d;
    border-color: #bbf7d0;
    font-weight: 600;
}

/* Cartes latérales du Dossier Patient */
.ehr-side-card {
    border: 1px solid #e2e8f0 !important;
    border-radius: 10px !important;
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.03) !important;
    margin-bottom: 16px !important;
}

.ehr-side-card .card-header {
    background-color: #f8fafc !important;
    border-bottom: 1px solid #e2e8f0 !important;
    padding: 12px 16px !important;
    border-radius: 10px 10px 0 0 !important;
}

[data-bs-theme="dark"] .ehr-side-card {
    border-color: #334155 !important;
}
[data-bs-theme="dark"] .ehr-side-card .card-header {
    background-color: #1e293b !important;
    border-bottom-color: #334155 !important;
}

/* Barre d'onglets cliniques (Style DPI Pro) */
.ehr-clinical-tabs {
    background: #f1f5f9;
    padding: 6px;
    border-radius: 10px;
    border: 1px solid #e2e8f0;
    display: inline-flex;
    flex-wrap: wrap;
    gap: 6px !important;
}

[data-bs-theme="dark"] .ehr-clinical-tabs {
    background: #1e293b;
    border-color: #334155;
}

.ehr-clinical-tabs .nav-link {
    border: none !important;
    border-radius: 7px !important;
    padding: 8px 14px !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    color: #475569 !important;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: all 0.15s ease;
    margin-bottom: 0 !important;
}

.ehr-clinical-tabs .nav-link:hover:not(.active) {
    background: rgba(255, 255, 255, 0.6) !important;
    color: #0f172a !important;
}

.ehr-clinical-tabs .nav-link.active {
    background: #ffffff !important;
    color: var(--bs-primary, #1A936F) !important;
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.08) !important;
}

[data-bs-theme="dark"] .ehr-clinical-tabs .nav-link.active {
    background: #0f172a !important;
    color: var(--bs-primary, #1A936F) !important;
}

/* Timeline Historique Patient dans la colonne gauche */
.ehr-timeline-item {
    position: relative;
    padding: 10px 12px;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
    margin-bottom: 8px;
    transition: all 0.15s ease;
    display: block;
    text-decoration: none;
    color: inherit;
    background: #ffffff;
}

.ehr-timeline-item:hover {
    border-color: var(--bs-primary, #1A936F);
    background: #f4fbf8;
    transform: translateX(2px);
}

.ehr-timeline-item.current-encounter {
    border-left: 4px solid var(--bs-primary, #1A936F);
    background: var(--bs-primary-bg-subtle, rgba(26, 147, 111, 0.06));
}

/* 3. Tableau de Bord Praticien & Admin */
.ehr-kpi-card {
    border: 1px solid #e2e8f0 !important;
    border-radius: 10px !important;
    background: #ffffff;
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.03) !important;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.ehr-kpi-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(26, 147, 111, 0.09) !important;
}

.ehr-kpi-icon {
    width: 46px;
    height: 46px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
}

.ehr-worklist-row {
    padding: 12px 14px;
    border-bottom: 1px solid #f1f5f9;
    transition: background-color 0.15s ease;
}

.ehr-worklist-row:last-child {
    border-bottom: none;
}

.ehr-worklist-row:hover {
    background-color: #f4fbf8;
}

.card.dashboard-cards.appointments {
    border: 1px solid #e2e8f0 !important;
    border-left: 4px solid var(--bs-primary, #1A936F) !important;
    border-radius: 10px !important;
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.04) !important;
    transition: transform 0.15s ease, box-shadow 0.15s ease !important;
}
.card.dashboard-cards.appointments:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(26, 147, 111, 0.09) !important;
}
.card.dashboard-cards.appointments .card-body {
    padding: 16px 18px !important;
}
.card.dashboard-cards.appointments .card-body > p {
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    color: #64748b !important;
}
.card.dashboard-cards.appointments .card-body .mt-5 {
    margin-top: 12px !important;
}
.card.dashboard-cards.appointments .card-body img {
    width: 38px !important;
    height: 38px !important;
    object-fit: contain !important;
    opacity: 0.88;
}