/*!
 * bootstrap3-compat.css
 * ---------------------
 * Couche de compatibilite transitoire : reimplemente sur Bootstrap 5 le
 * vocabulaire Bootstrap 3 encore utilise par AdminLTE 2 et par les vues Razor.
 *
 * Objectif : migration a iso-visuel (port fidele). Les valeurs reprennent
 * celles de Bootstrap 3.3.7 afin qu'aucun ecran ne bouge.
 *
 * CE FICHIER EST APPELE A DISPARAITRE. Chaque bloc porte le nombre
 * d'occurrences restantes dans le depot ; quand un compteur tombe a zero,
 * supprimer le bloc. Ne rien ajouter ici sans compteur.
 *
 * A charger APRES bootstrap.min.css et AVANT adminLTE.min.css.
 *
 * ---------------------------------------------------------------------
 * ORDRE DE RESORPTION
 *
 * Les classes ci-dessous ne sont pas toutes resorbables au meme moment.
 * adminLTE.css et skins/*.css ciblent eux-memes certaines d'entre elles :
 * les renommer dans les vues casserait le style d'AdminLTE.
 *
 *   VERROUILLEES tant qu'AdminLTE 2 est present
 *     .form-group               (14)   .label / .label-*   (16)
 *     .help-block               (3)    .has-error          (4)
 *     .btn-default              (7)
 *
 *   PURGES (plus aucune occurrence dans le depot)
 *     .panel*  .input-group-addon  .control-label  .table-condensed
 *     .input-group-btn -> bouton place directement dans .input-group (2)
 *     .progress-striped -> .progress-bar-striped sur la barre (1)
 *     .text-right/left  .label-default/primary/success/info/danger
 *     .checkbox  .well  .img-responsive
 *
 *   LIBRES restantes (pas d'equivalent direct en Bootstrap 5)
 *     .caret (14)   .form-control-feedback (4)   .btn-block (17)
 *     .nav-stacked  .progress-striped  .icon-bar  (styles par adminLTE.css)
 *
 *   CONTRASTE -- Bootstrap 5 a bascule certains textes en noir
 *     .btn-warning et .btn-info (blanc en Bootstrap 3)
 *     Verifie : bg-*, btn-secondary, alert-* et progress-bar-* ne sont
 *     pas concernes (non utilises, ou redefinis par adminLTE.css)
 *
 *   ELEMENTS DE BASE (Reboot) -- sans classe, donc sans signal dans le code
 *     a (soulignement)  p  ul/ol  hr  small  code
 *     marges hautes des titres h1-h6 (Bootstrap 5 les met a 0)
 *
 *   STRUCTURE DE NAVIGATION -- Bootstrap 5 a remplace le selecteur
 *   ".nav > li > a" par la classe ".nav-link", que notre markup n'emet pas
 *     .nav > li > a   .nav-tabs > li   .nav-tabs > li > a
 *     .nav-justified  .nav-stacked     .nav-pills > li.active > a
 *     .dropdown-menu > li > a          .breadcrumb > li (+ separateur)
 *     .progress / .progress-bar (metriques)
 *     .btn-group + .btn-block (boutons scindes)
 *
 *   ATTENTION : ces classes sont STRUCTURELLES. Les tester isolement ne
 *   revele rien -- il faut les instancier dans leur markup reel (voir la
 *   sonde contextuelle du banc de test).
 *
 *   DEJA RESORBEES
 *     .col-xs-*      -> .col-*      (171 occurrences)
 *     .img-responsive-> .img-fluid  (10)
 *     .glyphicon-*   -> Font Awesome (4)
 *     .sr-only       -> .visually-hidden (16)
 *     .hidden-xs     -> .d-none .d-md-inline / .d-md-block (5)
 *     .list-inline   -> .list-inline + .list-inline-item (8)
 *     .pull-right/left-> .float-end / .float-start (83, + 10 selecteurs
 *                       dans adminLTE.css ; .pull-right-container conservee)
 *     .img-circle    -> .rounded-circle (14, dont UiAvatar.cs)
 *     .embed-responsive-> .ratio / .ratio-16x9 (3)
 *     .navbar-static-top-> supprimee (classe morte depuis Bootstrap 4)
 * ---------------------------------------------------------------------
 */

/* ==========================================================================
   Base : Bootstrap 3 = 14px / 1.428571429, Bootstrap 5 = 16px / 1.5.
   Sans cela toute l'application grossit de ~14%.

   Les composants Bootstrap 5 dimensionnent en rem (donc relativement a
   <html>, pas a <body>) : il ne suffit pas de fixer body, il faut aussi
   ramener chaque composant aux metriques de Bootstrap 3.
   ========================================================================== */
:root {
    --bs-body-font-size: 14px;
    --bs-body-line-height: 1.42857143;
    --bs-body-color: #333;
}

body {
    font-size: 14px;
    line-height: 1.42857143;
    color: #333;
}

/* Titres : Bootstrap 5 les a tous agrandis (h4 : 18px -> 24px)
   et a porte leur interlignage de 1.1 a 1.2. */
h1, .h1 { font-size: 36px; }
h2, .h2 { font-size: 30px; }
h3, .h3 { font-size: 24px; }
h4, .h4 { font-size: 18px; }
h5, .h5 { font-size: 14px; }
h6, .h6 { font-size: 12px; }

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
    line-height: 1.1;
}

/* Bootstrap 5 met margin-top:0 sur tous les titres ; Bootstrap 3 leur
   donnait un espacement haut, dont depend le rythme vertical des
   panneaux (barre de configuration, en-tetes de boites). */
h1, h2, h3,
.h1, .h2, .h3 {
    margin-top: 20px;
    margin-bottom: 10px;
}

h4, h5, h6,
.h4, .h5, .h6 {
    margin-top: 10px;
    margin-bottom: 10px;
}

/* Bootstrap 5 (Reboot) neutralise le style des <label>. */
label {
    margin-bottom: 5px;
    font-weight: 700;
}

/* <b> et <strong> : Bootstrap 5 utilise "bolder", valeur RELATIVE au
   parent. Dans le logo (font-weight:300 chez AdminLTE) cela donne 400 --
   le nom de l'application cesse d'etre gras. Bootstrap 3 fixait 700. */
b, strong {
    font-weight: 700;
}

/* <small> dans un titre : Bootstrap 3 lui donnait une taille reduite et
   un gris distinct, que Bootstrap 5 ne reprend pas (sous-titres de page). */
h1 small, h2 small, h3 small,
.h1 small, .h2 small, .h3 small {
    font-size: 65%;
}

h4 small, h5 small, h6 small,
.h4 small, .h5 small, .h6 small {
    font-size: 75%;
}

h1 small, h2 small, h3 small, h4 small, h5 small, h6 small,
.h1 small, .h2 small, .h3 small, .h4 small, .h5 small, .h6 small {
    font-weight: 400;
    line-height: 1;
    color: #777;
}

/* Couleurs contextuelles de texte : Bootstrap 5 a change toute la palette
   (text-muted : #777 -> gris translucide ; text-success : #3c763d ->
   #198754...). text-muted est utilise 24 fois dans le depot.
   Bootstrap 5 les declare en !important : il faut le meme poids. */
.text-muted { color: #777 !important; }
.text-primary { color: #337ab7 !important; }
.text-success { color: #3c763d !important; }
.text-info { color: #31708f !important; }
.text-warning { color: #8a6d3b !important; }
.text-danger { color: #a94442 !important; }

/* Liens : Bootstrap 5 souligne TOUS les liens par defaut (text-decoration
   est ecrit en dur dans son Reboot, sans variable pour le desactiver).
   Bootstrap 3 ne soulignait qu'au survol -- ce dont dependent AdminLTE
   et l'ensemble des menus, qui ne redefinissent pas text-decoration. */
a {
    text-decoration: none;
}

a:hover,
a:focus {
    text-decoration: underline;
}

/* .btn-link : meme changement que pour les liens, mais sur une classe --
   la regle "a { text-decoration: none }" ne l'atteint pas, car le markup
   emet <button class="btn-link"> (7 occurrences, sans .btn).
   Bootstrap 3 ne le soulignait qu'au survol. */
.btn-link {
    text-decoration: none;
}

.btn-link:hover,
.btn-link:focus {
    text-decoration: underline;
}

/* ==========================================================================
   Elements de base (Reboot)
   Bootstrap 5 a revu les marges, tailles et couleurs des elements HTML
   bruts. Ces ecarts ne portent aucune classe : ils touchent donc toutes
   les pages a la fois, sans signal dans le code.
   ========================================================================== */

/* Paragraphes : 10px en Bootstrap 3, 1rem (16px) en Bootstrap 5. */
p {
    margin-top: 0;
    margin-bottom: 10px;
}

/* Listes : Bootstrap 5 impose padding-left 2rem (32px) et une marge de
   1rem, la ou Bootstrap 3 laissait le retrait natif du navigateur. */
ul,
ol {
    margin-top: 0;
    margin-bottom: 10px;
    padding-left: 40px;
}

/* Filets : Bootstrap 5 les rend semi-transparents (opacity .25) et
   reprend la couleur du texte ; Bootstrap 3 tracait un trait gris clair. */
hr {
    margin-top: 20px;
    margin-bottom: 20px;
    border: 0;
    border-top: 1px solid #eee;
    opacity: 1;
    color: inherit;
}

/* <small> : 85% en Bootstrap 3, .875em en Bootstrap 5. */
small,
.small {
    font-size: 85%;
}

/* <code> : Bootstrap 5 a supprime le fond et les espacements. */
code {
    padding: 2px 4px;
    font-size: 90%;
    color: #c7254e;
    background-color: #f9f2f4;
    border-radius: 4px;
}

/* Gouttieres : 30px en Bootstrap 3, 24px en Bootstrap 5. */
.row {
    --bs-gutter-x: 30px;
}

/* Controles de formulaire : hauteur 34px de Bootstrap 3. */
.form-control,
.form-select {
    padding: 6px 12px;
    font-size: 14px;
    line-height: 1.42857143;
    color: #555;
}

/* Boutons : metriques Bootstrap 3. */
.btn {
    --bs-btn-font-size: 14px;
    --bs-btn-line-height: 1.42857143;
    --bs-btn-padding-y: 6px;
    --bs-btn-padding-x: 12px;
    --bs-btn-border-radius: 3px;
}

.btn-sm {
    --bs-btn-font-size: 12px;
    --bs-btn-line-height: 1.5;
    --bs-btn-padding-y: 5px;
    --bs-btn-padding-x: 10px;
    --bs-btn-border-radius: 3px;
}

/* .btn-lg : le bloc .btn ci-dessus est charge APRES bootstrap.min.css et
   a la meme specificite (une classe) -- il ecrase donc les variables de
   .btn-lg, qui perd sa taille. Il faut redeclarer les valeurs Bootstrap 3
   (38 usages directs + 13 via size="Large" sur <ui-button>/<ui-link>). */
.btn-lg {
    --bs-btn-font-size: 18px;
    --bs-btn-line-height: 1.3333333;
    --bs-btn-padding-y: 10px;
    --bs-btn-padding-x: 16px;
    --bs-btn-border-radius: 6px;
}

/* Bootstrap 5 a bascule le texte de .btn-warning et .btn-info en NOIR
   (regle de contraste sur fonds clairs) ; Bootstrap 3 les mettait en
   blanc. Ces variantes sont produites a l'execution par <ui-button> a
   partir de l'enumeration BootstrapColor : aucune occurrence en dur
   dans les vues, donc aucun signal a la relecture du code. */
.btn-warning,
.btn-info {
    --bs-btn-color: #fff;
    --bs-btn-hover-color: #fff;
    --bs-btn-active-color: #fff;
    --bs-btn-disabled-color: #fff;
}

/* Tableaux : Bootstrap 5 impose un fond blanc et une couleur de texte
   opaques via --bs-table-*, ce qui ecrase le theme AdminLTE. Il ajoute
   en outre une bordure basse sur chaque cellule, alors qu'AdminLTE
   trace une bordure haute : sans cela les lignes apparaissent doublees. */
.table {
    --bs-table-bg: transparent;
    --bs-table-color: inherit;
    --bs-table-border-color: #f4f4f4;
    /* 20px en Bootstrap 3, 1rem (16px) en Bootstrap 5 : sur une page
       empilant plusieurs tableaux, l'ecart se cumule verticalement. */
    margin-bottom: 20px;
}

.table > :not(caption) > * > * {
    border-bottom-width: 0;
}

/* .table-bordered : Bootstrap 5 borde aussi les LIGNES
   (".table-bordered > :not(caption) > *" cible les <tr>), avec une
   couleur heritee. Or les vues de facturation declarent
   <table class="table table-bordered" style="border:none">, et la forme
   courte "border:none" reinitialise border-color a currentColor -- soit
   du noir. Resultat : un trait noir en travers des lignes de totaux.
   Bootstrap 3 ne bordait que les cellules ; AdminLTE le fait deja. */
.table-bordered > :not(caption) > * {
    border-width: 0;
}

/* Bootstrap 3 supprimait la bordure haute de la premiere ligne d'en-tete
   via une regle plus specifique que celle d'AdminLTE (qui est chargee
   apres cette feuille). Il faut reproduire cette specificite. */
.table > thead:first-child > tr:first-child > th,
.table > thead:first-child > tr:first-child > td {
    border-top: 0;
}

.dropdown-menu {
    --bs-dropdown-font-size: 14px;
    --bs-dropdown-padding-y: 5px;
    --bs-dropdown-border-radius: 4px;
}

/* Pastilles : Bootstrap 3 les dimensionnait en valeurs ABSOLUES (12px,
   padding 3px 7px, pilule de 10px). Bootstrap 5 passe en em, RELATIF au
   parent : dans un titre <h1> a 24px la pastille grossit a 18px, dans un
   tableau a 14px elle retrecit a 10,5px. <ui-badge> en emet partout. */
.badge {
    --bs-badge-padding-x: 7px;
    --bs-badge-padding-y: 3px;
    --bs-badge-font-size: 12px;
    --bs-badge-border-radius: 10px;
    min-width: 10px;
    vertical-align: middle;
    /* Bootstrap 3 donnait un fond gris PAR DEFAUT aux pastilles ; Bootstrap 5
       l'a supprime et attend une classe .bg-*. Une pastille dont la classe de
       couleur est absente ou inexistante (ex. "bg-grey", que le theme n'a
       jamais defini -- il connait "bg-gray") devient donc transparente.
       Les classes .bg-* du theme sont en !important et priment sur ceci. */
    background-color: #777;
}

/* Barres de progression : Bootstrap 5 les a amincies (20px -> 1rem),
   a supprime leur marge basse et change leur fond. */
.progress {
    height: 20px;
    margin-bottom: 20px;
    font-size: 14px;
    line-height: 20px;
    background-color: #f5f5f5;
    border-radius: 4px;
}

.progress-bar {
    font-size: 12px;
    line-height: 20px;
}


/* Bootstrap 5 ajoute automatiquement un caret ::after sur tout
   .dropdown-toggle, la ou Bootstrap 3 exigeait un <span class="caret">
   explicite -- que le code fournit deja (14 occurrences). Sans cela :
   caret affiche en double, et +16px de largeur sur chaque menu. */
.dropdown-toggle::after {
    display: none;
}

/* ==========================================================================
   Passage flex de Bootstrap 5 : casse les flottants d'AdminLTE 2.
   AdminLTE construit son en-tete sur le modele bloc/flottant de
   Bootstrap 3 ; .navbar et .nav sont devenus flex en Bootstrap 4/5.
   ========================================================================== */
.main-header .navbar {
    display: block;
    padding: 0;
    flex-wrap: nowrap;
}

.main-header .navbar-nav,
.main-header .nav.navbar-nav {
    display: block;
    float: left;
    flex-direction: row;
    padding-left: 0;
    margin-bottom: 0;
    list-style: none;
}

/* Bootstrap 3 appliquait un clearfix implicite a .nav ; sans lui la liste
   ne reprend pas la hauteur de ses <li> flottants et l'en-tete s'effondre. */
.main-header .navbar-nav::after {
    display: block;
    clear: both;
    content: "";
}

.main-header .navbar-nav > li {
    position: relative;
    display: block;
    float: left;
}

.main-header .navbar-nav > li > a {
    position: relative;
    display: block;
    padding: 15px;
}

/* ==========================================================================
   Navigation en <ul class="nav"> : Bootstrap 5 a remplace le selecteur
   structurel ".nav > li > a" par une classe ".nav-link" a poser sur le
   lien. Notre markup (AdminLTE, <ui-tab-control>, <ui-wizard>, barre de
   configuration) emet toujours la structure Bootstrap 3 : sans ces regles
   les liens d'onglets repassent en display:inline, sans espacement.
   ========================================================================== */
.nav > li > a {
    position: relative;
    display: block;
    padding: 10px 15px;
}

/* Chevauchement d'1px de l'onglet actif sur la bordure du conteneur. */
.nav-tabs > li {
    position: relative;
    margin-bottom: -1px;
}

/* Fil d'Ariane : meme substitution, ".breadcrumb > li" est devenu
   ".breadcrumb-item". AdminLTE ne surcharge QUE le contenu du separateur
   (content: '>') et hereditait de Bootstrap 3 son espacement et sa
   couleur -- d'ou un chevron colle au libelle precedent et en noir.
   <ui-page-breadcrums> emet la structure Bootstrap 3. */
.breadcrumb {
    display: block;
    padding: 8px 15px;
    margin-bottom: 20px;
    list-style: none;
    background-color: #f5f5f5;
    border-radius: 4px;
}

.breadcrumb > li {
    display: inline-block;
}

.breadcrumb > li + li::before {
    padding: 0 5px;
    color: #ccc;
    content: "/\00a0";
}

.breadcrumb > .active {
    color: #777;
}

/* Meme substitution pour les menus deroulants : Bootstrap 5 a remplace
   ".dropdown-menu > li > a" par la classe ".dropdown-item". Sans cette
   regle les entrees de menu repassent en display:inline -- elles
   n'occupent plus la largeur du menu, et tout centrage devient sans
   effet (lien "Voir tout" des notifications, menu utilisateur,
   <ui-dropdown-menu>). */
.dropdown-menu > li > a {
    display: block;
    padding: 3px 20px;
    clear: both;
    font-weight: 400;
    line-height: 1.42857143;
    color: #333;
    white-space: nowrap;
}

.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
    color: #262626;
    text-decoration: none;
    background-color: #f5f5f5;
}

/* .nav-justified (barre de configuration laterale) : supprimee en
   Bootstrap 5. Sans elle la liste d'onglets se reduit a la largeur de
   son contenu au lieu d'occuper toute la largeur du panneau.

   ATTENTION : on ne peut PAS reprendre la technique de Bootstrap 3
   (<li> en display:table-cell + width:1%). Bootstrap 5 fait de .nav un
   conteneur flex, qui "blockifie" ses enfants : table-cell redevient
   block et width:1% s'applique litteralement -- des onglets de 2px.
   L'equivalent flex donne le meme rendu : des colonnes de largeur egale. */
.nav-justified {
    width: 100%;
    border-bottom: 0;
}

.nav-justified > li {
    flex: 1 1 0;
    float: none;
}

.nav-justified > li > a {
    text-align: center;
}

.nav-tabs.nav-justified > li > a {
    margin-right: 0;
}

/* .nav-stacked : empile les elements verticalement. Supprimee en
   Bootstrap 5, ou .nav est un conteneur flex en ligne : sans cette regle
   les listes partent a l'horizontale et se replient sur plusieurs lignes
   (Plan comptable, Modeles de mail, Statut du systeme).

   Comme pour .nav-justified, le "float: none" de Bootstrap 3 ne suffit
   pas : les flottants n'ont aucun effet sur un enfant de conteneur flex.
   C'est flex-direction qui porte l'empilement. */
.nav-stacked {
    flex-direction: column;
}

.nav-stacked > li {
    float: none;
}

.nav-stacked > li + li {
    margin-top: 2px;
    margin-left: 0;
}

/* .nav-pills : Bootstrap 5 a deplace l'etat actif de "li.active > a" vers
   la classe ".nav-link.active" sur le lien. Sans cela l'element selectionne
   perd son fond bleu et son texte blanc (liste des classes comptables,
   modeles de mail, statut du systeme). */
.nav-pills > li > a {
    border-radius: 4px;
}

.nav-pills > li + li {
    margin-left: 2px;
}

.nav-pills > li.active > a,
.nav-pills > li.active > a:hover,
.nav-pills > li.active > a:focus {
    color: #fff;
    background-color: #337ab7;
}

.nav-stacked > li + li {
    margin-left: 0;
}

/* .nav-tabs : bordures de l'onglet, supprimees avec le passage a .nav-link. */
.nav-tabs > li > a {
    margin-right: 2px;
    line-height: 1.42857143;
    border: 1px solid transparent;
    border-radius: 4px 4px 0 0;
}

/* Modales : Bootstrap 5 a change largeur (600 -> 500), espacements
   (15 -> 16px) et arrondis. AdminLTE aplatit les angles. */
.modal {
    --bs-modal-width: 600px;
    --bs-modal-padding: 15px;
    --bs-modal-header-padding: 15px;
    --bs-modal-footer-gap: 0px;
    --bs-modal-border-radius: 0;
    --bs-modal-inner-border-radius: 0;
}

/* <ui-modal-header> emet le markup Bootstrap 3 (bouton .close flottant,
   puis titre, puis sous-titre .help-block), qui suppose un contexte
   bloc et non flex. */
.modal-header {
    display: block;
}

.modal-header .close {
    margin-top: -2px;
}

/* .modal-title est un <h4> : Bootstrap 3 annulait explicitement ses
   marges de titre, sans quoi l'en-tete de modale grandit de 10px. */
.modal-title {
    margin: 0;
    font-size: 18px;
    line-height: 1.42857143;
}

.modal-footer {
    text-align: right;
}

/* .modal-footer est flex : le float de <ui-modal-cancel-button> n'y
   produit plus rien, on le remplace par un equivalent flex.

   La specificite compte ici : Style.css definit ".btn:not(:last-child)
   { margin-right: 5px }", de meme specificite (0,2,0) mais charge APRES
   cette feuille. Le selecteur ci-dessous ajoute une classe pour passer
   devant, sinon le bouton Annuler reste colle a Valider, a droite. */
.modal-footer .float-start,
.modal-footer .btn.float-start {
    margin-right: auto;
}

/* ==========================================================================
   Formulaires : .form-group (101), .help-block (35), .has-error (4)
   .form-group a disparu en Bootstrap 5 ; l'attribut public
   default-class="form-group" de <ui-validation-group> le conserve.
   ========================================================================== */
.form-group {
    margin-bottom: 15px;
}

.help-block {
    display: block;
    margin-top: 5px;
    margin-bottom: 10px;
    color: #737373;
}

.has-error .help-block,
.has-error label,
.has-error .form-check-label {
    color: #a94442;
}

.has-error .form-control,
.has-error .form-select {
    border-color: #a94442;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
}

.has-error .form-control:focus,
.has-error .form-select:focus {
    border-color: #843534;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483;
}

.has-error .input-group-text {
    color: #a94442;
    background-color: #f2dede;
    border-color: #a94442;
}

/* Retours de saisie : .has-feedback (2) / .form-control-feedback (4)
   Supprimes en Bootstrap 4/5. Utilises par l'ecran de connexion pour
   incruster les icones enveloppe et cadenas dans les champs. */
.has-feedback {
    position: relative;
}

.has-feedback .form-control {
    padding-right: 42.5px;
}

.form-control-feedback {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
    display: block;
    width: 34px;
    height: 34px;
    line-height: 34px;
    text-align: center;
    pointer-events: none;
}

/* Cases a cocher / boutons radio : conteneurs Bootstrap 3 (2 occurrences) */
.radio {
    position: relative;
    display: block;
    margin-top: 10px;
    margin-bottom: 10px;
}

.radio label {
    min-height: 20px;
    padding-left: 20px;
    margin-bottom: 0;
    font-weight: 400;
    cursor: pointer;
}

.radio input[type="radio"] {
    position: absolute;
    margin-top: 4px;
    margin-left: -20px;
}


/* ==========================================================================
   Boutons : .btn-default (107), .btn-xs (6)
   .btn-default n'a pas d'equivalent direct en Bootstrap 5 ; on reprend
   les valeurs exactes de Bootstrap 3 plutot que d'approximer avec
   .btn-light ou .btn-outline-secondary.
   ========================================================================== */
.btn-default {
    --bs-btn-color: #333;
    --bs-btn-bg: #fff;
    --bs-btn-border-color: #ccc;
    --bs-btn-hover-color: #333;
    --bs-btn-hover-bg: #e6e6e6;
    --bs-btn-hover-border-color: #adadad;
    --bs-btn-active-color: #333;
    --bs-btn-active-bg: #d4d4d4;
    --bs-btn-active-border-color: #8c8c8c;
    --bs-btn-disabled-color: #333;
    --bs-btn-disabled-bg: #fff;
    --bs-btn-disabled-border-color: #ccc;
    --bs-btn-focus-shadow-rgb: 204, 204, 204;
}

/* .btn-block (17 fichiers) : supprime en Bootstrap 5 au profit de .d-grid.
   Sans cette regle les boutons pleine largeur redeviennent auto-dimensionnes
   (bouton de connexion, actions de formulaire, boutons de la sidebar). */
.btn-block {
    display: block;
    width: 100%;
}

.btn-block + .btn-block {
    margin-top: 5px;
}

/* .btn-group + .btn-block sur le meme element (boutons scindes de type
   "Exporter | v") : en Bootstrap 3, .btn-group etait declare APRES
   .btn-block et l'emportait donc -- le groupe restait inline-block avec
   des boutons flottants, insensibles aux espaces du markup.

   Ici .btn-block ecraserait le inline-flex de .btn-group, remettant les
   boutons en flux inline : le saut de ligne entre eux devient alors un
   espace visible et le groupe se disjoint. On rend la main a .btn-group. */
.btn-group.btn-block {
    display: inline-flex;
}

/* .btn-block impose width:100% au groupe. En Bootstrap 3 les boutons
   etaient flottants et gardaient leur largeur naturelle, laissant le
   reste vide ; en flex ils se repartiraient toute la largeur. */
.btn-group.btn-block > .btn {
    flex: 0 0 auto;
}

/* Bouton scinde : Bootstrap 3 resserrait le bouton du chevron
   (8px au lieu de 12px), regle non reprise en Bootstrap 5. */
.btn-group > .btn + .dropdown-toggle {
    padding-right: 8px;
    padding-left: 8px;
}

input[type="submit"].btn-block,
input[type="reset"].btn-block,
input[type="button"].btn-block {
    width: 100%;
}

.btn-xs {
    --bs-btn-padding-y: 1px;
    --bs-btn-padding-x: 5px;
    --bs-btn-font-size: 12px;
    --bs-btn-line-height: 1.5;
    --bs-btn-border-radius: 3px;
}

/* .caret (26) : supprime en Bootstrap 4/5, remplace par un pseudo-element.
   Les vues l'utilisent en <span class="caret"></span> explicite. */
.caret {
    display: inline-block;
    width: 0;
    height: 0;
    margin-left: 2px;
    vertical-align: middle;
    border-top: 4px dashed;
    border-top: 4px solid \9;
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
}

.dropup .caret {
    border-top: 0;
    border-bottom: 4px dashed;
}

/* .close (2) : Bootstrap 5 fournit .btn-close, qui utilise une image de fond
   au lieu du caractere multiplication. Les composants emettent encore le
   markup Bootstrap 3 (<button class="close">&times;</button>). */
.close {
    float: right;
    padding: 0;
    font-size: 21px;
    font-weight: 700;
    line-height: 1;
    color: #000;
    text-shadow: 0 1px 0 #fff;
    background: transparent;
    border: 0;
    opacity: .2;
}

.close:hover,
.close:focus {
    color: #000;
    text-decoration: none;
    opacity: .5;
}

/* ==========================================================================
   Etiquettes : .label / .label-* (9)
   Devenu .badge en Bootstrap 4/5. AdminLTE s'appuie aussi sur .label
   pour les compteurs de la sidebar et du menu notifications.
   ========================================================================== */
.label {
    display: inline;
    padding: .2em .6em .3em;
    font-size: 75%;
    font-weight: 700;
    line-height: 1;
    color: #fff;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: .25em;
}

.label:empty { display: none; }

.label-warning { background-color: #f0ad4e; }

/* ==========================================================================
   Divers
   ========================================================================== */

/* Alignements : supprimes au profit de .text-start / .text-end */

/* .table-condensed -> .table-sm */
.table-condensed > thead > tr > th,
.table-condensed > tbody > tr > th,
.table-condensed > tfoot > tr > th,
.table-condensed > thead > tr > td,
.table-condensed > tbody > tr > td,
.table-condensed > tfoot > tr > td {
    padding: 5px;
}
