/* =========================================================
   LABOQUALI - STYLES FUSIONNÉS
   Fusion de style.css + bootstrap.override.css
   Ordre: générique -> composants -> overrides Bootstrap -> spécifiques métier
   Objectif: conserver le rendu actuel sans régression, tout en clarifiant
   les doublons et en isolant les reliquats Bootstrap 4 en compatibilité.
   ========================================================= */

/* =========================================================
   1) VARIABLES GLOBALES
   ========================================================= */
:root {
  /* Texte des filigranes inchangé. Réglages lus par les générateurs PHP/mPDF.
     Police : identifiant mPDF installé (ex. dejavusans, dejavuserif).
     Graisse : 400 = normal, 700 = gras. Taille entière en pt, plafond réduit
     automatiquement par mPDF selon le texte et la page (120 pt => ~81,9 pt en A4).
     Couleur : #RRGGBB. Opacité : 0 à 1 (0.075 = 7,5 %). Angle : degrés. */
  /*--lq-pdf-draft-font-family: dejavusans;
  --lq-pdf-draft-font-weight: 700;
  --lq-pdf-draft-font-size: 120pt;
  --lq-pdf-draft-color: #000000;
  --lq-pdf-draft-opacity: 0.075;
  --lq-pdf-draft-angle: 45deg;*/
  
  --lq-pdf-draft-font-family: dejavusans;
  --lq-pdf-draft-font-weight: 700;
  --lq-pdf-draft-font-size: 90pt;
  --lq-pdf-draft-color: #000000;
  --lq-pdf-draft-opacity: 0.088;
  --lq-pdf-draft-angle: 45deg;

  /* Palette LABOQUALI de référence — valeurs et composantes RGB synchronisées. */
  --lq-blue: #006881;
  --lq-blue-medium: #087D94;
  --lq-teal: #26B6B4;
  --lq-red: #953735;
  --lq-red-soft: #B65358;
  --lq-pink: #FFC7CE;
  --lq-grey: #9AA4A8;
  --lq-faded: #EEF6FA;
  --lq-neutral-bg: #EEF1F4;
  --lq-light: #F5F7FA;
  --lq-border: #D9E4EA;
  --lq-text: #15323A;
  --lq-muted: #627780;
  --lq-white: #FFFFFF;
  /* Couleurs historiques des rapports, indépendantes des boutons et alertes. */
  --lq-report-text: #24323B;
  --lq-report-muted: #6B7B86;
  --lq-report-company-border: #C9D7DE;
  --lq-report-soft-bg: #F7FBFC;
  --lq-report-box-border: #D7E1E6;
  --lq-report-table-border: #D8E3E8;
  --lq-report-comment-bg: #FBFCFD;
  --lq-report-sample-bg: #D9EDF3;
  --lq-report-sample-text: #1F5F73;
  --lq-report-ok-bg: #D6F1F0;
  --lq-report-ok-border: #006B6B;
  --lq-report-ok-text: #006B6B;
  --lq-warning-bg: #FFF4DB;
  --lq-warning-border: #F2CF7A;
  --lq-warning-text: #9A6700;
  --lq-report-alert-bg: #FDE7EA;
  --lq-report-alert-border: #E7A7B1;
  --lq-report-alert-text: #B42318;
  --lq-report-neutral-bg: #DDE0E6;
  --lq-report-neutral-border: #B7BCC6;
  --lq-report-neutral-text: #A7ADB1;
  --lq-green: var(--lq-blue); /* Compatibilité des usages existants. */
  --lq-blue-rgb: 0, 104, 129;
  --lq-blue-medium-rgb: 8, 125, 148;
  --lq-teal-rgb: 38, 182, 180;
  --lq-red-rgb: 149, 55, 53;
  --lq-red-soft-rgb: 182, 83, 88;
  --lq-pink-rgb: 255, 199, 206;
  --lq-grey-rgb: 154, 164, 168;
  --lq-faded-rgb: 238, 246, 250;
  --lq-neutral-bg-rgb: 238, 241, 244;
  --lq-light-rgb: 245, 247, 250;
  --lq-border-rgb: 217, 228, 234;
  --lq-text-rgb: 21, 50, 58;
  --lq-muted-rgb: 98, 119, 128;
  --lq-white-rgb: 255, 255, 255;
  --lq-report-text-rgb: 36, 50, 59;
  --lq-report-muted-rgb: 107, 123, 134;
  --lq-report-company-border-rgb: 201, 215, 222;
  --lq-report-soft-bg-rgb: 247, 251, 252;
  --lq-report-box-border-rgb: 215, 225, 230;
  --lq-report-table-border-rgb: 216, 227, 232;
  --lq-report-comment-bg-rgb: 251, 252, 253;
  --lq-report-sample-bg-rgb: 217, 237, 243;
  --lq-report-sample-text-rgb: 31, 95, 115;
  --lq-report-ok-bg-rgb: 214, 241, 240;
  --lq-report-ok-border-rgb: 0, 107, 107;
  --lq-report-ok-text-rgb: 0, 107, 107;
  --lq-warning-bg-rgb: 255, 244, 219;
  --lq-warning-border-rgb: 242, 207, 122;
  --lq-warning-text-rgb: 154, 103, 0;
  --lq-report-alert-bg-rgb: 253, 231, 234;
  --lq-report-alert-border-rgb: 231, 167, 177;
  --lq-report-alert-text-rgb: 180, 35, 24;
  --lq-report-neutral-bg-rgb: 221, 224, 230;
  --lq-report-neutral-border-rgb: 183, 188, 198;
  --lq-report-neutral-text-rgb: 167, 173, 177;

  --primary: var(--lq-blue);
  --primary-600: var(--lq-teal);
  --primary-300: var(--lq-neutral-bg);
  --accent: var(--lq-blue-medium);
  --bg: var(--lq-light);
  --card: var(--lq-white);
  --text: var(--lq-text);
  --muted: var(--lq-muted);
  --ok: var(--lq-teal);
  --warn: var(--lq-red);
  --err: var(--lq-red);
  --radius: 10px;
  --shadow: 0 2px 8px rgba(var(--lq-text-rgb), .08);

  --field-h: 42px;
  --field-bg: var(--lq-white);
  --field-bd: var(--lq-border);
  --field-bd-focus: var(--lq-blue);
  --field-radius: 8px;
  --pad-x: 12px;
  --pad-r: 36px;

  --lq-shadow: 0 10px 30px rgba(var(--lq-blue-rgb), 0.08);
  --lq-radius: 18px;

  /* Variables de couleur Bootstrap, sans modification des fichiers vendor. */
  --bs-primary: var(--lq-blue);
  --bs-primary-rgb: var(--lq-blue-rgb);
  --bs-secondary: var(--lq-muted);
  --bs-secondary-rgb: var(--lq-muted-rgb);
  --bs-success: var(--lq-teal);
  --bs-success-rgb: var(--lq-teal-rgb);
  --bs-info: var(--lq-blue-medium);
  --bs-info-rgb: var(--lq-blue-medium-rgb);
  --bs-warning: var(--lq-pink);
  --bs-warning-rgb: var(--lq-pink-rgb);
  --bs-danger: var(--lq-red-soft);
  --bs-danger-rgb: var(--lq-red-soft-rgb);
  --bs-light: var(--lq-light);
  --bs-light-rgb: var(--lq-light-rgb);
  --bs-dark: var(--lq-text);
  --bs-dark-rgb: var(--lq-text-rgb);
  --bs-white: var(--lq-white);
  --bs-white-rgb: var(--lq-white-rgb);
  --bs-black: var(--lq-text);
  --bs-black-rgb: var(--lq-text-rgb);
  --bs-body-color: var(--lq-text);
  --bs-body-color-rgb: var(--lq-text-rgb);
  --bs-body-bg: var(--lq-white);
  --bs-body-bg-rgb: var(--lq-white-rgb);
  --bs-secondary-color: var(--lq-muted);
  --bs-secondary-color-rgb: var(--lq-muted-rgb);
  --bs-tertiary-color: var(--lq-grey);
  --bs-tertiary-color-rgb: var(--lq-grey-rgb);
  --bs-secondary-bg: var(--lq-neutral-bg);
  --bs-secondary-bg-rgb: var(--lq-neutral-bg-rgb);
  --bs-tertiary-bg: var(--lq-light);
  --bs-tertiary-bg-rgb: var(--lq-light-rgb);
  --bs-emphasis-color: var(--lq-text);
  --bs-emphasis-color-rgb: var(--lq-text-rgb);
  --bs-link-color: var(--lq-blue);
  --bs-link-color-rgb: var(--lq-blue-rgb);
  --bs-link-hover-color: var(--lq-blue-medium);
  --bs-link-hover-color-rgb: var(--lq-blue-medium-rgb);
  --bs-border-color: var(--lq-border);
  --bs-border-color-rgb: var(--lq-border-rgb);
}

/* =========================================================
   2) BASE / RESET
   ========================================================= */
* { box-sizing: border-box; }
html, body { height: 100%; }
[hidden] { display: none !important; }

body {
  margin: 0;
  font: 14px/1.5 system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  color: var(--text);
  background: var(--bg);
}

a {
  color: var(--primary);
  text-decoration: none;
}

a:hover {
  color: var(--lq-blue);
  text-decoration: underline;
}

/* =========================================================
   3) LAYOUT GÉNÉRIQUE
   ========================================================= */
.container {
  max-width: 1000px;
  margin: 0 auto;
  padding: 24px;
}

.header {
  background: var(--lq-white);
  border-bottom: 3px solid var(--primary);
  box-shadow: var(--shadow);
}

.header .inner {
  max-width: 1000px;
  margin: 0 auto;
  padding: 16px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.brand {
  display: flex;
  align-items: center;
  gap: 12px;
}

.brand .logo {
  width: 50px;
  border-radius: 50%;
}

.brand .title {
  font-weight: 700;
  color: var(--primary);
}

.nav a {
  margin-left: 16px;
  font-weight: 600;
}

.card {
  background: var(--card);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 5px;
  margin: 10px 0;
}

.footer {
  color: var(--muted);
  font-size: .92rem;
  padding: 24px 0;
}

/* =========================================================
   4) BOUTONS / MESSAGES / TABLES / UTILITAIRES
   ========================================================= */
.btn {
  display: inline-block;
  padding: 10px 16px;
  border-radius: 8px;
  border: 1px solid transparent;
  background: var(--lq-blue);
  color: var(--lq-white);
  font-weight: 600;
  cursor: pointer;
}

.btn:hover {
  background: var(--lq-teal);
}

.btn.secondary {
  background: var(--lq-white);
  color: var(--lq-blue);
  border-color: var(--lq-blue);
}

.btn.secondary:hover {
  background: var(--lq-faded);
  color: var(--lq-blue);
}

.alert {
  padding: 10px 12px;
  border-radius: 8px;
  margin: 10px 0;
  font-weight: 600;
}

.alert.ok {
  background: var(--lq-faded);
  color: var(--ok);
}

.alert.warn {
  background: var(--lq-pink);
  color: var(--warn);
}

.alert.err {
  background: var(--lq-pink);
  color: var(--err);
}

.table {
  width: 100%;
  border-collapse: collapse;
}

.table th,
.table td {
  padding: 10px 12px;
  border-bottom: 1px solid var(--lq-border);
}

.table th {
  background: var(--lq-faded);
  color: var(--lq-text);
  text-align: left;
}

.mt-1 { margin-top: 8px; }
.mt-2 { margin-top: 16px; }
.mt-3 { margin-top: 24px; }
.mt-35 { margin-top: 35px; }
.center { text-align: center; }
.overflow-hidden { overflow: hidden; }

/* =========================================================
   5) FORMULAIRES GÉNÉRIQUES
   ========================================================= */
form { max-width: 1260px; }

label {
  display: block;
  margin: 12px 0;
  position: relative;
  font-weight: 600;
  color: var(--muted);
}

label > input,
label > select,
label > textarea {
  margin-top: 6px;
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="date"],
select,
textarea {
  display: block;
  width: 100%;
  box-sizing: border-box;
  font: 14px/1.2 system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  color: var(--lq-text);
  background: var(--field-bg);
  border: 1px solid var(--field-bd);
  border-radius: var(--field-radius);
  transition: border-color .15s ease, box-shadow .15s ease;
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="date"],
select {
  height: var(--field-h);
  padding: 0 var(--pad-r) 0 var(--pad-x);
}

textarea {
  min-height: calc(var(--field-h) * 2);
  padding: 10px 12px;
  resize: vertical;
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='none' stroke='%23666' stroke-width='2' d='M1 1l5 5 5-5'/></svg>");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 12px 8px;
  padding-right: var(--pad-r);
}

input:focus,
select:focus,
textarea:focus {
  outline: 0;
  border-color: var(--field-bd-focus);
  box-shadow: 0 0 0 3px rgba(var(--lq-blue-rgb), .2);
}

.actions { margin-top: 14px; }

/* Bootstrap 5 - corrige le rendu des switches après les overrides globaux de label */
.form-check-label {
  display: inline-block;
  margin: 0;
  position: static;
}

.form-switch .form-check-input {
  float: none;
  margin-left: 0;
  margin-top: 0;
}

/* Alignement horizontal propre du bloc Ponctuel / switch / Récurrent */
.lq-mandate-switch-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top : 22px;
}

.lq-mandate-side-label {
  margin: 0;
  line-height: 1.2;
  white-space: nowrap;
  padding-left : 10px;
}

.lq-mandate-switch-row .form-check {
  display: flex;
  align-items: center;
  margin: 0 10px 0px -25px;
  min-height: auto;
}

.lq-mandate-switch-row .form-check-input {
  margin: 0;
  vertical-align: middle;
}

.lq-mandate-switch-label {
  margin: 0 0 0 15px !important;
  line-height: 1.2;
  white-space: nowrap;
  font-weight:400;
  color:var(--lq-text);
}

/* =========================================================
   6) AUTOCOMPLÉTION / RECHERCHE / FORMULAIRES SPÉCIFIQUES
   ========================================================= */
.search-line.input-group {
  display: flex;
  align-items: stretch;
  width: 100%;
}

.search-line.input-group > .form-control {
  flex: 1 1 auto;
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

/* Compatibilité markup Bootstrap 4 encore présent dans certaines pages */
.search-line.input-group > .input-group-append {
  display: flex;
  align-items: stretch;
}

.search-line.input-group > .input-group-append > .btn {
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
  height: auto;
  padding: 0 16px;
  white-space: nowrap;
  box-sizing: border-box;
  border-radius: 0 !important;
  border-top-right-radius: var(--field-radius) !important;
  border-bottom-right-radius: var(--field-radius) !important;
  margin-left: 0;
}

.search-line.input-group > .input-group-append > .btn + .btn {
  margin-left: 2mm !important;
}

#btn_lookup { border-radius: 0 !important; }
#entry { float: right !important; }
#contactform { margin-top: -8px !important; }

/* Grille form#f conservée telle quelle pour éviter toute régression */
@media (min-width: 801px) {
  form#f {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
    align-items: start;
  }

  form#f > * {
    float: none !important;
    clear: none !important;
    margin: 0 !important;
  }

  form#f > :where(label, .field) {
    display: block !important;
  }

  form#f > :where(label, .field) > :where(input, select, textarea) {
    width: 100% !important;
  }

  form#f > :where(.full, .actions, .form-actions, table, h1) {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 2400px) {
  form#f { display: block !important; }
}

.lq-ac-wrap { position: relative; }

.lq-ac-list {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  z-index: 1000;
  background: var(--field-bg);
  border: 1px solid var(--field-bd);
  border-radius: var(--field-radius);
  box-shadow: var(--shadow);
  list-style: none;
  margin: 0;
  padding: 4px 0;
  max-height: 240px;
  overflow: auto;
  scrollbar-gutter: stable;
}

.lq-ac-list:empty { display: none; }

.lq-ac-item {
  padding: 8px 12px;
  line-height: 1.3;
  cursor: pointer;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.lq-ac-item:hover,
.lq-ac-item:focus,
.lq-ac-item[aria-selected="true"] {
  background: var(--primary-300);
}

.lq-ac-item span { color: var(--lq-text); }

/* =========================================================
   7) BADGES / ÉLÉMENTS LQ GÉNÉRIQUES
   ========================================================= */
.badge-lq-teal { background: var(--lq-teal); color: var(--lq-white); }
.badge-lq-gray { background: var(--lq-muted); color: var(--lq-white); }
.badge-lq-deepteal { background: var(--lq-blue); color: var(--lq-white); }
.card .badge { margin-right: .25rem; margin-bottom: .25rem; }

.card-updated {
  font-style: italic;
  font-size: .70rem;
}

.lq-badge-soft {
  display: inline-block;
  padding: .28rem .5rem;
  font-size: .72rem;
  font-weight: 600;
  line-height: 1;
  border-radius: .35rem;
  background-color: var(--lq-faded);
  border: 1px solid var(--lq-border);
  color: var(--lq-blue);
}

/* Badges d’état LaboQuali — palette commune sans bordure. */
.lq-badge {
  --lq-badge-bg: var(--lq-neutral-bg);
  --lq-badge-color: var(--lq-muted);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 100%;
  padding: .1875rem .4375rem;
  border: 0;
  border-radius: .25rem;
  box-shadow: none;
  background-color: var(--lq-badge-bg);
  color: var(--lq-badge-color);
  font-size: .75rem;
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
  white-space: nowrap;
}

.lq-badge:hover,
.lq-badge:focus {
  color: var(--lq-badge-color);
  text-decoration: none;
}

.lq-badge--ok-plus {
  --lq-badge-bg: var(--lq-blue-medium);
  --lq-badge-color: var(--lq-white);
}

.lq-badge--ok {
  --lq-badge-bg: var(--lq-teal);
  --lq-badge-color: var(--lq-white);
}

.lq-badge--neutral-plus {
  --lq-badge-bg: var(--lq-faded);
  --lq-badge-color: var(--lq-teal);
}

.lq-badge--neutral {
  --lq-badge-bg: var(--lq-neutral-bg);
  --lq-badge-color: var(--lq-muted);
}

.lq-badge--ko {
  --lq-badge-bg: var(--lq-pink);
  --lq-badge-color: var(--lq-red);
}

.lq-badge--ko-plus {
  --lq-badge-bg: var(--lq-red-soft);
  --lq-badge-color: var(--lq-white);
}

.card .lq-badge {
  margin-right: .25rem;
  margin-bottom: .25rem;
}

.parse-badge {
  display: inline-block;
  width: 32px;
  text-align: center;
}

.lq-copy.fa-copy,
[data-copy].fa-copy,
[data-copy] .fa-copy {
  color: var(--lq-blue) !important;
  cursor: pointer;
}

/* =========================================================
   8) OVERRIDES BOOTSTRAP 5 - COULEURS THÈME
   ========================================================= */
.text-primary,
.text-primary:hover,
.text-primary:focus {
  color: var(--lq-blue) !important;
}

.bg-primary,
.progress-bar.bg-primary {
  background-color: var(--lq-blue) !important;
}

.border-primary {
  border-color: var(--lq-blue) !important;
}

/* Compatibilité héritée Bootstrap 4 */
.badge-primary {
  background-color: var(--lq-blue) !important;
  border-color: var(--lq-blue) !important;
  color: var(--lq-white) !important;
}

.btn-primary {
  background-color: var(--lq-blue) !important;
  border-color: var(--lq-blue) !important;
  color: var(--lq-white) !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active,
.show > .btn-primary.dropdown-toggle {
  background-color: var(--lq-faded) !important;
  border-color: var(--lq-teal) !important;
  color: var(--lq-blue) !important;
}

.btn-primary.disabled,
.btn-primary:disabled {
  background-color: var(--lq-blue) !important;
  border-color: var(--lq-blue) !important;
  color: var(--lq-white) !important;
  opacity: .65;
}

.btn-outline-primary {
  color: var(--lq-blue) !important;
  border-color: var(--lq-teal) !important;
  background-color: var(--lq-white) !important;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active,
.btn-outline-primary.active,
.show > .btn-outline-primary.dropdown-toggle {
  background-color: var(--lq-blue) !important;
  border-color: var(--lq-blue) !important;
  color: var(--lq-white) !important;
}

.alert-primary {
  background-color: var(--lq-faded) !important;
  border-color: var(--lq-blue) !important;
  color: var(--lq-blue) !important;
}

.table-primary,
.table-primary > th,
.table-primary > td {
  background-color: var(--lq-faded) !important;
}

.list-group-item-primary {
  background-color: var(--lq-faded) !important;
  color: var(--lq-blue) !important;
}

.text-success,
.text-success:hover,
.text-success:focus {
  color: var(--lq-teal) !important;
}

.bg-success,
.progress-bar.bg-success {
  background-color: var(--lq-teal) !important;
}

.border-success {
  border-color: var(--lq-teal) !important;
}

/* Compatibilité héritée Bootstrap 4 */
.badge-success {
  background-color: var(--lq-teal) !important;
  border-color: var(--lq-teal) !important;
  color: var(--lq-white) !important;
}

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

.btn-success:hover,
.btn-success:focus,
.btn-success:active,
.btn-success.active,
.show > .btn-success.dropdown-toggle {
  background-color: var(--lq-blue) !important;
  border-color: var(--lq-blue) !important;
  color: var(--lq-white) !important;
}

.btn-success.disabled,
.btn-success:disabled {
  background-color: var(--lq-teal) !important;
  border-color: var(--lq-teal) !important;
  color: var(--lq-white) !important;
  opacity: .65;
}

.btn-outline-success {
  color: var(--lq-blue) !important;
  border-color: var(--lq-teal) !important;
  background-color: var(--lq-white) !important;
}

.btn-outline-success:hover,
.btn-outline-success:focus,
.btn-outline-success:active,
.btn-outline-success.active,
.show > .btn-outline-success.dropdown-toggle {
  background-color: var(--lq-blue) !important;
  border-color: var(--lq-teal) !important;
  color: var(--lq-white) !important;
}

.alert-success {
  background-color: var(--lq-faded) !important;
  border-color: var(--lq-teal) !important;
  color: var(--lq-muted) !important;
}

.table-success,
.table-success > th,
.table-success > td {
  background-color: var(--lq-faded) !important;
}

.list-group-item-success {
  background-color: var(--lq-faded) !important;
  color: var(--lq-muted) !important;
}

/* Warning LaboQuali */
.alert-warning {
  background-color: var(--lq-pink) !important;
  border-color: var(--lq-red-soft) !important;
  color: var(--lq-red) !important;
}

.badge-warning {
  background-color: var(--lq-pink) !important;
  color: var(--lq-red) !important;
}

.btn-warning {
  background-color: var(--lq-faded) !important;
  border-color: var(--lq-teal) !important;
  color: var(--lq-blue) !important;
}

.btn-warning:hover,
.btn-warning:focus,
.btn-warning:active {
  background-color: var(--lq-blue) !important;
  border-color: var(--lq-blue) !important;
  color: var(--lq-white) !important;
}

.text-warning {
  color: var(--lq-red) !important;
}

.bg-warning {
  background-color: var(--lq-pink) !important;
  color: var(--lq-red) !important;
}

.border-warning {
  border-color: var(--lq-red-soft) !important;
}

.bg-danger {
  background-color: var(--lq-red) !important;
  color: var(--lq-white) !important;
}

.border-danger {
  border-color: var(--lq-red) !important;
}

/* Complément des couleurs Bootstrap utilisées par les écrans ERP. */
.btn-primary, .btn-outline-primary { --bs-btn-focus-shadow-rgb: var(--lq-blue-rgb); }
.btn-success, .btn-outline-success { --bs-btn-focus-shadow-rgb: var(--lq-teal-rgb); }
.btn-warning, .btn-outline-warning { --bs-btn-focus-shadow-rgb: var(--lq-blue-rgb); }
.btn-danger, .btn-outline-danger { --bs-btn-focus-shadow-rgb: var(--lq-blue-rgb); }
.btn-secondary, .btn-outline-secondary { --bs-btn-focus-shadow-rgb: var(--lq-blue-rgb); }
.btn-info, .btn-outline-info { --bs-btn-focus-shadow-rgb: var(--lq-teal-rgb); }
.btn-light, .btn-outline-light { --bs-btn-focus-shadow-rgb: var(--lq-blue-rgb); }
.btn-dark, .btn-outline-dark { --bs-btn-focus-shadow-rgb: var(--lq-blue-rgb); }
.btn-danger {
  background-color: var(--lq-faded) !important;
  border-color: var(--lq-blue) !important;
  color: var(--lq-blue) !important;
}
.btn-danger:hover, .btn-danger:focus, .btn-danger:active,
.btn-danger.active, .show > .btn-danger.dropdown-toggle {
  background-color: var(--lq-blue) !important;
  border-color: var(--lq-blue) !important;
  color: var(--lq-white) !important;
}
.btn-danger.disabled, .btn-danger:disabled {
  background-color: var(--lq-faded) !important;
  border-color: var(--lq-blue) !important;
  color: var(--lq-blue) !important;
}
.btn-secondary {
  background-color: var(--lq-blue) !important;
  border-color: var(--lq-blue) !important;
  color: var(--lq-white) !important;
}
.btn-secondary:hover, .btn-secondary:focus, .btn-secondary:active,
.btn-secondary.active, .show > .btn-secondary.dropdown-toggle {
  background-color: var(--lq-faded) !important;
  border-color: var(--lq-teal) !important;
  color: var(--lq-blue) !important;
}
.btn-secondary.disabled, .btn-secondary:disabled {
  background-color: var(--lq-blue) !important;
  border-color: var(--lq-blue) !important;
  color: var(--lq-white) !important;
}
.btn-info {
  background-color: var(--lq-teal) !important;
  border-color: var(--lq-teal) !important;
  color: var(--lq-white) !important;
}
.btn-info:hover, .btn-info:focus, .btn-info:active,
.btn-info.active, .show > .btn-info.dropdown-toggle {
  background-color: var(--lq-blue) !important;
  border-color: var(--lq-blue) !important;
  color: var(--lq-white) !important;
}
.btn-info.disabled, .btn-info:disabled {
  background-color: var(--lq-teal) !important;
  border-color: var(--lq-teal) !important;
  color: var(--lq-white) !important;
}
.btn-light {
  background-color: var(--lq-light) !important;
  border-color: var(--lq-teal) !important;
  color: var(--lq-blue) !important;
}
.btn-light:hover, .btn-light:focus, .btn-light:active,
.btn-light.active, .show > .btn-light.dropdown-toggle {
  background-color: var(--lq-faded) !important;
  border-color: var(--lq-blue) !important;
  color: var(--lq-blue) !important;
}
.btn-light.disabled, .btn-light:disabled {
  background-color: var(--lq-light) !important;
  border-color: var(--lq-teal) !important;
  color: var(--lq-blue) !important;
}
.btn-dark {
  background-color: var(--lq-blue) !important;
  border-color: var(--lq-blue) !important;
  color: var(--lq-white) !important;
}
.btn-dark:hover, .btn-dark:focus, .btn-dark:active,
.btn-dark.active, .show > .btn-dark.dropdown-toggle {
  background-color: var(--lq-faded) !important;
  border-color: var(--lq-teal) !important;
  color: var(--lq-blue) !important;
}
.btn-dark.disabled, .btn-dark:disabled {
  background-color: var(--lq-blue) !important;
  border-color: var(--lq-blue) !important;
  color: var(--lq-white) !important;
}
.btn-outline-danger {
  background-color: var(--lq-white) !important;
  border-color: var(--lq-blue) !important;
  color: var(--lq-blue) !important;
}
.btn-outline-danger:hover, .btn-outline-danger:focus, .btn-outline-danger:active,
.btn-outline-danger.active, .show > .btn-outline-danger.dropdown-toggle {
  background-color: var(--lq-blue) !important;
  border-color: var(--lq-blue) !important;
  color: var(--lq-white) !important;
}
.btn-outline-danger.disabled, .btn-outline-danger:disabled {
  background-color: var(--lq-white) !important;
  border-color: var(--lq-blue) !important;
  color: var(--lq-blue) !important;
}
.btn-outline-secondary {
  background-color: var(--lq-faded) !important;
  border-color: var(--lq-blue) !important;
  color: var(--lq-blue) !important;
}
.btn-outline-secondary:hover, .btn-outline-secondary:focus, .btn-outline-secondary:active,
.btn-outline-secondary.active, .show > .btn-outline-secondary.dropdown-toggle {
  background-color: var(--lq-blue) !important;
  border-color: var(--lq-blue) !important;
  color: var(--lq-white) !important;
}
.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {
  background-color: var(--lq-faded) !important;
  border-color: var(--lq-blue) !important;
  color: var(--lq-blue) !important;
}
.btn-outline-info {
  background-color: var(--lq-white) !important;
  border-color: var(--lq-teal) !important;
  color: var(--lq-blue) !important;
}
.btn-outline-info:hover, .btn-outline-info:focus, .btn-outline-info:active,
.btn-outline-info.active, .show > .btn-outline-info.dropdown-toggle {
  background-color: var(--lq-blue) !important;
  border-color: var(--lq-teal) !important;
  color: var(--lq-white) !important;
}
.btn-outline-info.disabled, .btn-outline-info:disabled {
  background-color: var(--lq-white) !important;
  border-color: var(--lq-teal) !important;
  color: var(--lq-blue) !important;
}
.btn-outline-warning {
  background-color: var(--lq-white) !important;
  border-color: var(--lq-teal) !important;
  color: var(--lq-blue) !important;
}
.btn-outline-warning:hover, .btn-outline-warning:focus, .btn-outline-warning:active,
.btn-outline-warning.active, .show > .btn-outline-warning.dropdown-toggle {
  background-color: var(--lq-blue) !important;
  border-color: var(--lq-teal) !important;
  color: var(--lq-white) !important;
}
.btn-outline-warning.disabled, .btn-outline-warning:disabled {
  background-color: var(--lq-white) !important;
  border-color: var(--lq-teal) !important;
  color: var(--lq-blue) !important;
}
.btn-outline-light {
  background-color: var(--lq-blue) !important;
  border-color: var(--lq-blue) !important;
  color: var(--lq-white) !important;
}
.btn-outline-light:hover, .btn-outline-light:focus, .btn-outline-light:active,
.btn-outline-light.active, .show > .btn-outline-light.dropdown-toggle {
  background-color: var(--lq-faded) !important;
  border-color: var(--lq-teal) !important;
  color: var(--lq-blue) !important;
}
.btn-outline-light.disabled, .btn-outline-light:disabled {
  background-color: var(--lq-blue) !important;
  border-color: var(--lq-blue) !important;
  color: var(--lq-white) !important;
}
.btn-outline-dark {
  background-color: var(--lq-white) !important;
  border-color: var(--lq-blue) !important;
  color: var(--lq-blue) !important;
}
.btn-outline-dark:hover, .btn-outline-dark:focus, .btn-outline-dark:active,
.btn-outline-dark.active, .show > .btn-outline-dark.dropdown-toggle {
  background-color: var(--lq-blue) !important;
  border-color: var(--lq-blue) !important;
  color: var(--lq-white) !important;
}
.btn-outline-dark.disabled, .btn-outline-dark:disabled {
  background-color: var(--lq-white) !important;
  border-color: var(--lq-blue) !important;
  color: var(--lq-blue) !important;
}
/* Actions demandant de l’attention : seul le liseré devient rouge au survol. */
.btn-danger:hover, .btn-outline-danger:hover,
.btn-warning:hover, .btn-outline-warning:hover {
  border-color: var(--lq-red-soft) !important;
}
.alert-danger {
  background-color: var(--lq-pink) !important;
  border-color: var(--lq-red-soft) !important;
  color: var(--lq-red) !important;
}
.alert-secondary {
  background-color: var(--lq-neutral-bg) !important;
  border-color: var(--lq-border) !important;
  color: var(--lq-muted) !important;
}
.alert-info {
  background-color: var(--lq-faded) !important;
  border-color: var(--lq-border) !important;
  color: var(--lq-blue) !important;
}
.alert-light {
  background-color: var(--lq-light) !important;
  border-color: var(--lq-border) !important;
  color: var(--lq-text) !important;
}
.alert-dark {
  background-color: var(--lq-neutral-bg) !important;
  border-color: var(--lq-grey) !important;
  color: var(--lq-text) !important;
}
.alert-primary .alert-link { color: var(--lq-blue) !important; }
.alert-success .alert-link { color: var(--lq-muted) !important; }
.alert-warning .alert-link { color: var(--lq-red) !important; }
.alert-danger .alert-link { color: var(--lq-red) !important; }
.alert-secondary .alert-link { color: var(--lq-muted) !important; }
.alert-info .alert-link { color: var(--lq-blue) !important; }
.alert-light .alert-link { color: var(--lq-text) !important; }
.alert-dark .alert-link { color: var(--lq-text) !important; }
.bg-secondary, .badge-secondary { background-color: var(--lq-muted) !important; }
.badge-secondary { color: var(--lq-white) !important; }
.text-secondary { color: var(--lq-muted) !important; }
.border-secondary { border-color: var(--lq-muted) !important; }
.bg-info, .badge-info { background-color: var(--lq-blue-medium) !important; }
.badge-info { color: var(--lq-white) !important; }
.text-info { color: var(--lq-blue-medium) !important; }
.border-info { border-color: var(--lq-blue-medium) !important; }
.bg-light, .badge-light { background-color: var(--lq-light) !important; }
.badge-light { color: var(--lq-text) !important; }
.text-light { color: var(--lq-light) !important; }
.border-light { border-color: var(--lq-light) !important; }
.bg-dark, .badge-dark { background-color: var(--lq-text) !important; }
.badge-dark { color: var(--lq-white) !important; }
.text-dark { color: var(--lq-text) !important; }
.border-dark { border-color: var(--lq-text) !important; }
.text-danger, .invalid-feedback, .invalid-tooltip { color: var(--lq-red) !important; }
.invalid-tooltip { background-color: var(--lq-pink) !important; }
.badge-danger, .text-bg-danger { background-color: var(--lq-red-soft) !important; color: var(--lq-white) !important; }
.form-control.is-invalid, .form-select.is-invalid, .was-validated .form-control:invalid, .was-validated .form-select:invalid { border-color: var(--lq-red) !important; }
.text-muted { color: var(--lq-muted) !important; }

/* =========================================================
   9) OVERRIDES BOOTSTRAP 5 - INTERACTIONS / PAGINATION / VALIDATION
   ========================================================= */
.form-control:focus {
  border-color: var(--lq-blue) !important;
  box-shadow: 0 0 0 0.2rem rgba(var(--lq-blue-rgb), 0.25) !important;
}

.page-link {
  color: var(--lq-blue) !important;
}

.page-link:hover {
  color: var(--lq-blue) !important;
}

.page-item.active .page-link {
  background-color: var(--lq-blue) !important;
  border-color: var(--lq-blue) !important;
  color: var(--lq-white) !important;
}

.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  background-color: var(--lq-blue) !important;
  color: var(--lq-white) !important;
}

.is-valid,
.form-control.is-valid,
.was-validated .form-control:valid {
  border-color: var(--lq-teal) !important;
}

.form-control.is-valid:focus,
.was-validated .form-control:valid:focus {
  border-color: var(--lq-teal) !important;
  box-shadow: 0 0 0 0.2rem rgba(var(--lq-teal-rgb), 0.25) !important;
}

.valid-feedback {
  color: var(--lq-teal) !important;
}

/* Compatibilité checkbox / custom-control héritée Bootstrap 4 */
input[type="checkbox"],
.form-check-input {
  accent-color: var(--lq-green);
}

.form-check-input:checked {
  background-color: var(--lq-green);
  border-color: var(--lq-green);
}

.form-check-input:focus {
  border-color: var(--lq-green);
  box-shadow: 0 0 0 .2rem rgba(var(--lq-blue-rgb), .25);
}

.custom-control-input:checked ~ .custom-control-label::before {
  border-color: var(--lq-teal) !important;
  background-color: var(--lq-teal) !important;
}

.custom-control-input:focus ~ .custom-control-label::before {
  box-shadow: 0 0 0 0.2rem rgba(var(--lq-blue-rgb), 0.25) !important;
}

/* =========================================================
   10) CHAMPS LECTURE SEULE / ÉTATS DIVERS
   ========================================================= */
.form-control:disabled,
.form-control[readonly],
.form-control:read-only {
  background-color: var(--lq-light) !important;
  color: var(--lq-muted) !important;
  opacity: 1 !important;
}

.btn-outline-primary.appmnu,
.btn-outline-primary.appmnu:hover,
.btn-outline-primary.appmnu:focus,
.btn-outline-primary.appmnu:active,
.btn-outline-primary.appmnu.disabled,
.btn-outline-primary.appmnu:disabled {
  background-color: var(--lq-grey) !important;
  border-color: var(--lq-grey) !important;
  color: var(--lq-white) !important;
  opacity: 1;
  pointer-events: none;
}

/* =========================================================
   11) NAVBAR / MEGA-MENU / HEADER PREMIUM
   ========================================================= */
.lq-navbar.navbar.bg-dark {
  background: linear-gradient(135deg, var(--lq-text) 0%, var(--lq-text) 100%) !important;
  box-shadow: 0 10px 30px rgba(var(--lq-text-rgb), 0.18);
  padding-left: 8px;
  padding-right: 8px;
}

/* Même retrait du logo dans les bandeaux de connexion et de maintenance. */
.lq-login-header > .container-fluid,
.maintenance-public-header > .container-fluid,
.maintenance-console-header > .container-fluid {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Le retrait droit est porté par le bandeau, sans doubler la marge de Déco. */
.lq-navbar > #mainNavbar > .navbar-nav:last-child > .nav-item.me-2:last-child {
  margin-right: 0 !important;
}

.navbar-dark .navbar-nav .nav-link {
  color: rgba(var(--lq-white-rgb), 0.82);
  transition: all 0.18s ease;
}

.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link:focus {
  color: var(--lq-white);
  transform: translateY(-1px);
}

.lq-header-accent {
  height: 3px;
  background: linear-gradient(90deg, var(--lq-blue) 0%, var(--lq-blue-medium) 100%);
  box-shadow: 0 4px 12px rgba(var(--lq-blue-rgb), 0.18);
  margin-bottom: 1rem;
}

.lq-navbar .navbar-collapse {
  align-items: center;
}

.lq-navbar-main {
  gap: 0.15rem;
}

.lq-navbar-right {
  gap: 0.75rem;
}

.lq-mega-dropdown {
  position: static;
}

.lq-mega-menu {
  width: 720px;
  max-width: calc(100vw - 30px);
  margin-top: 0.65rem;
  border-radius: 18px;
  overflow: hidden;
  background: var(--lq-white);
}

.lq-mega-head {
  background: linear-gradient(135deg, rgba(var(--lq-blue-rgb), 0.12) 0%, rgba(var(--lq-blue-rgb), 0.04) 100%);
  border-bottom: 1px solid rgba(var(--lq-text-rgb), 0.05);
}

.lq-mega-title {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--lq-text);
}

.lq-menu-card {
  background: var(--lq-white);
  border: 1px solid var(--lq-border);
  border-radius: 16px;
  padding: 1rem;
  transition: all 0.2s ease;
  box-shadow: 0 4px 14px rgba(var(--lq-text-rgb), 0.04);
}

.lq-menu-card:hover {
  transform: translateY(-2px);
  border-color: rgba(var(--lq-blue-rgb), 0.28);
  box-shadow: 0 12px 26px rgba(var(--lq-text-rgb), 0.10);
}

.lq-menu-card-top {
  display: flex;
  align-items: flex-start;
  gap: 0.9rem;
  margin-bottom: 0.9rem;
}

.lq-menu-icon {
  width: 42px;
  height: 42px;
  min-width: 42px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(var(--lq-blue-rgb), 0.10);
  color: var(--lq-blue);
  font-size: 1rem;
}

.lq-menu-card-title {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--lq-text);
  line-height: 1.2;
}

.lq-menu-card-text {
  font-size: 0.82rem;
  color: var(--lq-muted);
  margin-top: 0.15rem;
}

.lq-menu-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.lq-btn-soft {
  background: var(--lq-light);
  border: 1px solid var(--lq-border);
  color: var(--lq-muted);
  border-radius: 10px;
  font-weight: 600;
  font-size: 0.82rem;
  padding: 0.35rem 0.7rem;
  transition: all 0.18s ease;
}

.lq-btn-soft:hover,
.lq-btn-soft:focus {
  background: var(--lq-blue);
  border-color: var(--lq-blue);
  color: var(--lq-white);
  text-decoration: none;
  box-shadow: 0 8px 18px rgba(var(--lq-blue-rgb), 0.22);
}

.dropdown-menu .dropdown-item {
  font-size: 0.90rem;
}

/* =========================================================
   12) HEADER UTILISATEUR
   ========================================================= */
.lq-user-icon {
  color: var(--lq-teal);
}

.lq-user-status {
  position: relative;
  display: inline-block;
  width: 78px;
  height: 14px;
  margin-left: 8px;
  overflow: visible;
  vertical-align: middle;
  line-height: 1.05;
}

.lq-user-firstname,
.lq-user-lastname,
.lq-user-profile {
  font-size: 13px;
  line-height: 15px;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.lq-user-firstname {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 100%;
  margin-bottom: -1px;
}

.lq-user-lastname {
  display: block;
}

.lq-user-profile {
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  margin-top: -1px;
}

/* =========================================================
   13) FOOTER PREMIUM
   ========================================================= */
.lq-footer {
  background: linear-gradient(135deg, var(--lq-text) 0%, var(--lq-text) 100%);
  color: rgba(var(--lq-white-rgb), 0.82);
  border-top: 1px solid rgba(var(--lq-white-rgb), 0.06);
  box-shadow: 0 -8px 24px rgba(var(--lq-text-rgb), 0.08);
  position: relative;
}

.lq-footer::before {
  content: "";
  display: block;
  height: 3px;
  background: linear-gradient(90deg, var(--lq-blue) 0%, var(--lq-blue-medium) 100%);
}

.lq-footer .row {
  min-height: 30px; /*64px*/
}

.lq-footer-meta {
  text-align: right;
}

.lq-footer-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.32rem 0.72rem;
  border-radius: 999px;
  background: rgba(var(--lq-white-rgb), 0.08);
  color: var(--lq-white);
  font-size: 0.82rem;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
}

.lq-footer-copy {
  font-size: 0.85rem;
  color: rgba(var(--lq-white-rgb), 0.60);
  line-height: 1.2;
}

/* =========================================================
   14) AJUSTEMENTS MÉTIER / PAGES SPÉCIFIQUES
   ========================================================= */
.header-bar { padding: 6px 0 !important; }
.header-bar .logo { height: 150px !important; width: auto !important; }
.env-badge { font-size: .75rem !important; padding: .2rem .35rem !important; }

.avatar {
  width: 120px;
  height: 120px;
  vertical-align: middle;
  border-style: none;
  margin-right: 30px;
  border-radius: 50%;
}

.logout { margin-top: 15px; }

#sepa_inactive + label i { display: none; }
#sepa_inactive:checked + label i { display: inline-block !important; }
#signed_at_sepa { margin-top: 28px !important; }
#posadj { margin-top: 120px;}
#info_lq_sepa { margin-left: 40px !important; }
#cb1_sepa,
#cb2_sepa { margin-left: 70px !important; }

.lq-equal-card { width: 100%; }
.lq-equal-card-header {
  min-height: 60px;
  padding-top: .5rem;
  padding-bottom: .5rem;
}

.lq-form-fullwidth { max-width: none !important; }
.contract_etb_type { padding-left: 40px; }

.read_arrow {
  margin-right: 50px;
  color: var(--lq-grey);
  transform: rotate(90deg) scale(2);
}

.vtrait {
  border-left: 1px solid var(--lq-border);
  padding-left: 15px;
}

.lowlq {
  margin-top: 15px;
  margin-left: 25px;
  color :var(--bs-secondary-color) !important
}

#lqlink {
  color :var(--bs-secondary-color) !important
}

/* =========================================================
   15) RESPONSIVE
   ========================================================= */
@media (max-width: 991.98px) {
  .lq-mega-dropdown {
    position: relative;
  }

  .lq-mega-menu {
    width: 100%;
    max-width: 100%;
  }

  .lq-footer-meta {
    text-align: center;
  }

  .lq-footer .row {
    min-height: auto;
  }
}

@media (min-width: 992px) {
  .lq-navbar-right {
    margin-left: auto;
    padding-left: 2rem;
  }
}


/* =========================================================
   16) TASKS PAGE THEME
   ========================================================= */

.lq-task-create-page {
  max-width: none;
}

.lq-task-create-head {
  margin-bottom: 1.25rem;
}

.lq-task-create-title {
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 1.1;
  color: var(--lq-text);
}

.lq-task-create-planning-btn {
  padding: 0.8rem 1.4rem !important;
  font-size: 1.1rem;
  border-radius: 12px;
}

.lq-task-create-form {
  max-width: none !important;
  margin: 0 !important;
}

.lq-task-create-form.card {
  padding: 0 !important;
}

.lq-task-create-body {
  padding: 2rem 2rem 1rem 2rem !important;
}

.lq-task-create-footer {
  background: var(--lq-white);
  border-top: 0 !important;
  padding: 0 2rem 2rem 2rem !important;
}

/* copyright index.php */

.trd {
	margin-left: 24em  !important;
	margin-top: 11em !important;
}

/* =========================================================
   17) FONDS DES CHAMPS AUTOREMPLIS 
   ========================================================= */

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 1000px var(--lq-faded) inset !important;
  box-shadow: 0 0 0 1000px var(--lq-faded) inset !important;
  -webkit-text-fill-color: var(--lq-text) !important;
  caret-color: var(--lq-text);
}

/* =========================================================
   17) TITRE DES PAGES 
   ========================================================= */

.lq-page-kicker {
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	margin-bottom: 10px;
	padding: 0 14px;
	border-radius: 999px;
	background: var(--lq-border);
	color: var(--primary);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;	
}

.lq-model-kicker {
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	margin-bottom: 10px;
	padding: 0 14px;
	border-radius: 999px;
	background: var(--lq-border);
	color: var(--lq-blue);
	font-size: 17px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}

/* =========================================================
   17) Contrôles de table - Afficher / Recherche
   ========================================================= */

/* Ligne de contrôles commune aux pages list/read avec tableau */
.table-controls {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  margin: 2.75rem 0 1rem 0 !important;
}

/* Labels "Afficher" et "Recherche" alignés horizontalement */
.table-controls label {
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 0.55rem;
  margin: 0 !important;
  color: var(--lq-muted);
  font-weight: 700;
  line-height: 1;
}

/* Groupe "Afficher X lignes" */
.table-controls label:first-child {
  margin-right: auto !important;
}

/* Groupe "Recherche [input]" */
.table-controls label:last-child {
  margin-left: auto !important;
}

/* Select nombre de lignes + champ recherche */
.table-controls select,
.table-controls input[type="search"] {
  height: 38px !important;
  min-height: 38px !important;
  padding: 0.375rem 0.75rem !important;
  border: 1px solid var(--lq-grey) !important;
  border-radius: 0.45rem !important;
  background-color: var(--lq-white) !important;
  color: var(--lq-text) !important;
  font-size: 0.95rem !important;
  line-height: 1.5 !important;
  box-sizing: border-box !important;
}

/* Select plus compact, comme sur la capture */
.table-controls select {
  min-width: fit-content;
  max-width: 70px;
  padding-right: 2rem !important;
}

/* Champ recherche */
.table-controls input[type="search"] {
  width: 250px;
  max-width: 100%;
}

/* Halo focus LaboQuali */
.form-control:focus,
.form-select:focus,
select:focus,
input[type="search"]:focus,
.table-controls select:focus,
.table-controls input[type="search"]:focus {
  border-color: var(--lq-teal) !important;
  box-shadow: 0 0 0 0.2rem rgba(var(--lq-teal-rgb), 0.25) !important;
  outline: 0 !important;
}

@media (max-width: 767.98px) {
  .table-controls {
    justify-content: flex-start;
  }

  .table-controls label,
  .table-controls label:first-child,
  .table-controls label:last-child {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .table-controls input[type="search"] {
    width: 100%;
  }
}


/* =========================================================
   17) Listes ERP : pagination générique app_table_enhance.js 
   ========================================================= */

/* Listes ERP : tri générique FontAwesome */

table[data-lq-table-enhance] .th-sort-icon {
  margin-left: .35rem;
  color: var(--lq-muted);
  font-size: .78rem;
}

.app-table-pager {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .25rem;
  margin: .65rem 0 0;
  font-size: .875rem;
}

.app-table-pager__button {
  min-width: 2rem;
  height: 2rem;
  padding: .25rem .55rem;
  border: 1px solid var(--lq-border);
  border-radius: .45rem;
  background: var(--lq-white);
  color: var(--lq-blue);
  font-weight: 600;
  line-height: 1;
  cursor: pointer;
}

.app-table-pager__button:hover:not(:disabled) {
  border-color: var(--lq-blue);
  background: var(--lq-faded);
  color: var(--lq-blue);
}

.app-table-pager__button--active {
  border-color: var(--lq-blue);
  background: var(--lq-blue);
  color: var(--lq-white);
}

.app-table-pager__button:disabled {
  cursor: default;
  opacity: .45;
}

.app-table-pager__info {
  margin-left: .5rem;
  color: var(--lq-muted);
  font-size: .82rem;
  white-space: nowrap;
}

/* =========================================================
   18) Switch nom de société vers l'enseigne et reciproquement  
   ========================================================= */

.lq-company-sign-switch {
  color: var(--lq-blue);
  background: transparent;
  border: 0;
  box-shadow: none;
  text-decoration: none;
}

.lq-company-sign-switch:hover,
.lq-company-sign-switch:focus,
.lq-company-sign-switch:active {
  color: var(--lq-blue);
  background: transparent;
  border: 0;
  box-shadow: none;
  text-decoration: none;
}

.lq-company-sign-switch-icon {
  color: var(--lq-blue);
}

/* =========================================================
   19) classe CSS “fa-like” avec SVG local
   ========================================================= */

.lq-fa-like {
  display: inline-block;
  width: 1em;
  height: 1em;
  vertical-align: -0.125em;
  background-color: currentColor;

  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;

  -webkit-mask-position: center;
  mask-position: center;

  -webkit-mask-size: contain;
  mask-size: contain;
}

.fa-font-lq {
  -webkit-mask-image: url("/assets/icons/shared/fa-font-lq-mask.svg");
  mask-image: url("/assets/icons/shared/fa-font-lq-mask.svg");
}


/* Bouton Déconnexion uniquement */
.lq-navbar .btn[href="/app/accounts/logout.php"] {
  background-color: var(--lq-blue, #006881) !important;
  border-color: var(--lq-teal, #26B6B4) !important;
  color: #000000 !important;
}

.lq-navbar .btn[href="/app/accounts/logout.php"]:hover,
.lq-navbar .btn[href="/app/accounts/logout.php"]:focus,
.lq-navbar .btn[href="/app/accounts/logout.php"]:active {
  background-color: var(--lq-teal, #26B6B4) !important;
  border-color: var(--lq-teal, #26B6B4) !important;
  color: #000000 !important;
}