/* ============================================================================
   fonctions_globales.css
   ----------------------------------------------------------------------------
   Styles des composants HTML produits par les fonctions globales de
   fonctions.php. Ce fichier ne contient QUE des declarations sorties telles
   quelles d'attributs `style=` inline : memes proprietes, memes valeurs, meme
   ordre. Aucune "amelioration" au passage, aucun !important ajoute.

   Il doit etre charge EN DERNIER dans load_css() (fonctions_menu.php), apres
   main.css et dashboard-modern.css : plusieurs de ces regles remplacent un
   style inline qui battait ces feuilles, et n'ont la meme priorite qu'a cette
   condition. Le prefixe est `ebf-` (eBrigade fonctions).

   Deux regles portent un selecteur compose en plus de la classe nue
   (.ebf-cw-alert, .ebf-export-icon) : une feuille chargee plus tot y pose la
   MEME propriete avec une specificite superieure, sans !important. L'ancien
   inline gagnait ; une classe seule perdrait. Les declarations, elles, restent
   identiques a l'inline d'origine — seule la specificite du selecteur monte.
   ============================================================================ */


/* ---------------------------------------------------------------------------
   write_competence_warning() — bandeau des compétences expirées / à expirer
   (fonctions.php, lignes 932-943)
   --------------------------------------------------------------------------- */
/* Selecteur double : `body .alert.ebf-cw-alert` (0,2,1) est necessaire pour
   tenir tete a `body.eb-has-topbar-v2 .alert` (dashboard-modern.css), qui pose
   `align-items: flex-start` et `gap: 10px` SANS !important — donc battus par
   l'ancien inline, mais gagnants sur une simple classe (0,1,0). Le
   `padding: 14px 16px !important` de cette meme regle, lui, battait deja
   l'inline : on ne cherche pas a le reprendre, sinon on change le rendu. */
.ebf-cw-alert,
body .alert.ebf-cw-alert {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    padding: 8px 12px;
}

.ebf-cw-icon-expired {
    margin-right: 6px;
    color: #ef4444;
}

.ebf-cw-item-expired {
    background: #ef4444;
    color: #fff;
    border-radius: 4px;
    padding: 2px 10px;
    font-size: 0.88em;
    font-weight: 500;
}

.ebf-cw-icon-expiring {
    margin-right: 6px;
    color: #f97316;
}

.ebf-cw-item-expiring {
    background: #f97316;
    color: #fff;
    border-radius: 4px;
    padding: 2px 10px;
    font-size: 0.88em;
    font-weight: 500;
}


/* ---------------------------------------------------------------------------
   push_monitoring_info() — bloc de sortie verbeuse (configuration.php)
   (fonctions.php, ligne 19018)
   --------------------------------------------------------------------------- */
.ebf-monitor-debug {
    margin: auto;
    padding: 10px;
}


/* ---------------------------------------------------------------------------
   no_result_card() — état vide « Aucun résultat »
   (fonctions.php, lignes 19223-19227)
   --------------------------------------------------------------------------- */
.ebf-empty-icon-tile {
    width: 58px;
    height: 58px;
    border-radius: 16px;
    background: rgba(148,163,184,0.12);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 14px;
}

.ebf-empty-icon {
    font-size: 24px;
    color: var(--eb-text-muted, #94a3b8);
}

.ebf-empty-title {
    font-size: 1.05rem;
    font-weight: 600;
    margin: 0 0 4px;
    color: var(--eb-text, #1e293b);
}

.ebf-empty-text {
    font-size: 0.9rem;
    color: var(--eb-text-secondary, #64748b);
    margin: 0 auto;
    max-width: 340px;
    line-height: 1.5;
    text-align: center;
}


/* ---------------------------------------------------------------------------
   write_stats_container_new() — ligne d'aide sous une tuile de stats
   (fonctions.php, ligne 20836)
   --------------------------------------------------------------------------- */
.ebf-stat-hint {
    display: block;
    font-size: 11px;
    opacity: .7;
    line-height: 1.2;
    margin-top: 2px;
}


/* ---------------------------------------------------------------------------
   write_alert() — encart d'alerte à liseré gauche
   (fonctions.php, ligne 20888)
   --------------------------------------------------------------------------- */
.ebf-alert-block {
    border-left: solid 2px;
    background-color: var(--bkg-color1);
}


/* ---------------------------------------------------------------------------
   write_export_menu() / write_export_button() — picto ⬇ du bouton bleu
   (fonctions.php, lignes 20954 et 21018)
   --------------------------------------------------------------------------- */
/* Le picto vit toujours dans un `<a class='btn btn-primary'>`, et main.css pose
   `A.btn i, .btn i { color: inherit }` (0,1,2) : une simple classe (0,1,0) ne
   s'appliquerait jamais, la ou l'inline `color:#FFFFFF` gagnait toujours.
   `.btn i.ebf-export-icon` (0,2,1) repasse devant, sans !important. */
.ebf-export-icon,
.btn i.ebf-export-icon {
    color: #FFFFFF;
}


/* ---------------------------------------------------------------------------
   bindAddressCountry() — engrenage « Gérer les adresses pré-enregistrées »
   (fonctions.php, ligne 21616)
   --------------------------------------------------------------------------- */
.ebf-addr-manage-ico {
    font-size: 13px;
}


/* ---------------------------------------------------------------------------
   displayLogFeed() — fil d'historique (pastille, dates, gouttière)
   (fonctions.php, lignes 21975/21983 et 21996-22005)
   --------------------------------------------------------------------------- */
.ebf-logfeed-marker {
    position: relative;
    bottom: 60px;
    left: 10px;
}

.ebf-logfeed-row {
    margin-top: -10px;
    margin-right: -10px;
}

.ebf-logfeed-inner {
    margin-top: -40px;
}

.ebf-logfeed-spacer {
    top: 70px;
    right: -30px;
    z-index: 100;
    height: 48px;
}

.ebf-logfeed-date {
    margin-bottom: 0px;
    font-size: 11px;
    margin-left: 0px;
}

.ebf-logfeed-axis {
    max-width: 50px;
    min-width: 50px;
    z-index: 1;
}


/* ---------------------------------------------------------------------------
   write_buttons_band() — pastille blanche de la bande d'actions du bas
   (fonctions.php, ligne 23474)
   --------------------------------------------------------------------------- */
.ebf-band-pill {
    background: var(--bkg-color1);
    border-radius: 10px;
}


/* ---------------------------------------------------------------------------
   create_signature_input_html() et createSignatureInput() — pavé de signature
   (fonctions.php, lignes 23649-23660 et 23717-23729)
   --------------------------------------------------------------------------- */
.ebf-sign-canvas {
    border: 1px solid;
    background-color: var(--bkg-color137);
}

.ebf-sign-underline {
    position: relative;
    bottom: 30px;
    border-bottom: 1px solid black;
}

.ebf-sign-text-input {
    position: relative;
}

.ebf-sign-preview-img {
    width: 200px !important;
}


/* ---------------------------------------------------------------------------
   get_personnel_fields_customs() / get_personnel_fields() /
   get_personnel_fields_parametrage() — badges « Confidentiel » et « Module »
   (fonctions.php, lignes 25974, 26150, 26315 et 26341)
   --------------------------------------------------------------------------- */
.ebf-field-badge-secret {
    background-color: #615C5C;
    color: #FFFFFF;
}

.ebf-field-badge-module {
    background-color: var(--bkg-color103);
    color: var(--txt-color28);
}


/* ---------------------------------------------------------------------------
   ProgressBarPlafondSwal() — jauge de plafond des notes de frais
   (fonctions.php, lignes 28697 et 28699)
   --------------------------------------------------------------------------- */
.ebf-plafond-progress {
    width: 70%;
    margin: auto;
}

.ebf-plafond-rest {
    margin: auto;
}


/* ---------------------------------------------------------------------------
   write_icone_upload_row() — champ fichier masqué du sélecteur d'icône
   (fonctions.php, ligne 29965)
   --------------------------------------------------------------------------- */
.ebf-icone-file-input {
    display: none;
}


/* ---------------------------------------------------------------------------
   generateTypeEvenementSelect() — message « champ obligatoire »
   (fonctions.php, ligne 30795)
   --------------------------------------------------------------------------- */
.ebf-te-error {
    float: inline-start;
}
