.fz-12
{
    font-size: 12px !important;
}
.fz-14
{
    font-size: 14px !important;
}
.fz-16
{
    font-size: 16px !important;
}
.fz-18
{
    font-size: 18px !important;
}
.fz-20
{
    font-size: 20px !important;
}

.pad-6
{
padding-left:  6px !important;
}
.pad-8
{
padding-left:  8px !important;
}
.pad-10
{
padding-left:  10px !important;
}
.pad-12
{
padding-left:  12px !important;
}
.pad-14
{
padding-left:  14px !important;
}
.brand
{
    width: 95%;

}
#main-content 
{
      padding: 20px;
}

.select2-container--default .select2-selection--multiple {
  min-height: 80px !important; /* ou plus, selon le besoin */
  min-width: 400px !important; /* ou plus, selon le besoin */
  padding: 6px 8px;
}

.hms-20
{
 max-width: 20px !important;
}

.hms-50
{
 min-width: 50px !important;
}

.hms-70
{
 min-width: 70px !important;
}

.hms-80{
     min-width: 80px !important;    
}
 
.hms-100
{
     min-width: 100px !important;
}
.hms-120
{
     min-width: 120px !important;
}
.hms-150
{
     min-width: 150px !important;
}
.hms-200
{
     min-width: 200px !important;
}
.hms-220
{
     min-width: 220px !important;
}

.hms-280
{
     min-width: 280px !important;
}

.hms-300
{
     min-width: 300px !important;
}

.hms-400
{
     min-width: 400px !important;
}



    @media (min-width: 576px) {
    .modal-dialog {
        max-width:700px;
        margin: 1.75rem auto;
    }
}




.dsh-card
{
    border-top:solid 6px;
    border-color: rgb(12, 148, 238);
    background-color: #f6f6f6;
    box-shadow: 2px 2px 10px; 
    position: relative; /* pour positionner la pastille en haut-droite */
}

.dsh-card>img
{
max-height: 80px;
min-height: 80px; 
padding-left:2%;

}

.put-lock
{
    max-width: 100%; 
    padding-left:2%; padding-right: 2%;
}

.ft-black
{
    color:black !important;
}


/* Anime fade in */

.fade-in {
  opacity: 0;
  transform: translateY(10px);
  animation: fadeInMove 0.8s ease-out forwards;
}

@keyframes fadeInMove {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Utilities for print pages (replace inline styles) */
.w-15p { width: 15% !important; }
.w-17p { width: 17% !important; }

.signature-line {
  height: 60px;
  border-bottom: 1px solid #000;
  margin-top: 10px;
}

/* Justificatifs FRB (thumbnails) */
.justif-cell {
  display: flex;
  flex-direction: column;
  gap: 6px;
  align-items: flex-start;
  min-width: 140px; /* Assurer un minimum d'espace pour l'affichage horizontal */
}
.justif-thumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  max-width: auto; /* Limiter la largeur pour forcer le wrap après quelques vignettes */
}
.justif-thumb {
  position: relative;
  width: 64px;
  height: 64px;
  border: 1px solid #ddd;
  border-radius: 4px;
  overflow: hidden;
  background: #fff;
}
.justif-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.justif-remove {
  position: absolute;
  top: -6px;
  right: -6px;
  background: #dc3545;
  color: #fff;
  border: none;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  line-height: 18px;
  text-align: center;
  font-size: 12px;
  cursor: pointer;
}
.justif-remove:focus { outline: none; }

/* Modal affichage justificatif */
.justif-modal {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.7);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 1050;
  padding: 20px;
}
.justif-modal-content {
  position: relative;
  background: #000;
  border-radius: 6px;
  max-width: 90vw;
  max-height: 90vh;
  padding: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.justif-modal-content img {
  max-width: 88vw;
  max-height: 86vh;
  object-fit: contain;
  background: #111;
  border-radius: 4px;
}
.justif-modal-close {
  position: absolute;
  top: -10px;
  right: -10px;
  width: 32px;
  height: 32px;
  background: #dc3545;
  color: #fff;
  border: none;
  border-radius: 50%;
  font-size: 20px;
  line-height: 30px;
  text-align: center;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(0,0,0,0.3);
}

/* Garder les boutons d'actions sur une seule ligne (DataTables) */
.actions-btns {
  display: inline-flex;
  gap: 6px;
  flex-wrap: nowrap;
  align-items: center;
}
.actions-btns .btn {
  white-space: nowrap;
}
.dataTables_wrapper .actions-btns {
  flex-wrap: nowrap !important;
}

/* Pas de retour à la ligne pour la dernière colonne (Actions) */
.dt-nowrap {
  white-space: nowrap !important;
}

/* Alignement vertical au milieu dans les cellules pour une meilleure présentation */
.dataTables_wrapper table.dataTable td {
  vertical-align: middle;
}

/* Fallbacks robustes pour garder les actions sur une seule ligne,
   même si un wrapper n'est pas présent ou si DataTables recalcule les largeurs */
#bonTable td:last-child {
  white-space: nowrap !important;
}
#bonTable td .btn {
  display: inline-block !important;
  margin-right: 6px;
  vertical-align: middle;
}
#bonTable td .btn + .btn {
  margin-left: 0;
}

/* Forcer la ligne "Total documents à Valider" à 100% de largeur */
.input-group-prepend.fullw {
  flex: 0 0 100% !important;
  max-width: 100% !important;
  width: 100% !important;
}
.input-group-text.fullw-text {
  display: block !important;
  width: 100% !important;
  justify-content: flex-start;
}

/* Indicateur (point rouge) si documents à valider dans la liste des affaires */
.doc-indicator {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-left: 6px;
  border-radius: 50%;
  background-color: #dc3545; /* rouge bootstrap */
  vertical-align: middle;
  box-shadow: 0 0 0 2px rgba(220,53,69,0.2);
}

/* Pastille de notification (sans chiffre) en haut droite des cartes client */
.corner-badge {
  position: absolute;
  top: 6px;
  right: 6px;
  z-index: 2;
}
.corner-badge.corner-badge-dot {
  display: inline-block;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #dc3545; /* rouge bootstrap */
  box-shadow: 0 0 0 2px rgba(220,53,69,0.15);
}

/* Variante compteur: badge plus grand avec total */
.corner-badge.corner-badge-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  border-radius: 999px;
  background: #dc3545; /* rouge bootstrap */
  color: #fff;
  font-weight: 700;
  font-size: 12px;
  line-height: 22px;
  box-shadow: 0 0 0 2px rgba(220,53,69,0.15);
}

.hidden { display: none !important; }

/* Dashboard: pastilles par catégorie (documents à valider) */
.val-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 6px 8px;
  align-items: center;
}
.val-pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 8px;
  border-radius: 12px;
  font-size: 12px;
  color: #fff;
  line-height: 1.4;
}
.val-pill .fa { font-size: 12px; }

.val-pill-rmht { background: #007bff; }     /* bleu */
.val-pill-ab   { background: #6f42c1; }     /* violet */
.val-pill-ar   { background: #e83e8c; }     /* rose */
.val-pill-frb  { background: #17a2b8; }     /* cyan/teal info */
.val-pill-hebdo{ background: #fd7e14; }     /* orange */
.val-pill-fact { background: #28a745; }     /* vert (Facturation) */

.val-pill.is-zero { opacity: .55; }

.bTopW{

  border-top-color: rgb(130, 130, 130);
}

/* Utilities to replace inline styles (accessibility/webhint) */
.w-100 { width: 100% !important; }              /* fallback if not using Bootstrap utility */
.maxw-45 { max-width: 45px !important; }

/* Percent widths for table headers (replace style="width: X%") */
.w-5p  { width: 5% !important; }
.w-8p  { width: 8% !important; }
.w-10p { width: 10% !important; }
.w-12p { width: 12% !important; }
.w-13p { width: 13% !important; }
.w-15p { width: 15% !important; } /* already defined above for print pages */
.w-17p { width: 17% !important; } /* already defined above for print pages */
.w-20p { width: 20% !important; }
.w-45p { width: 45% !important; }

/* Min-width helpers for table headers (replace style="min-width: XXXpx") */
.minw-90   { min-width: 90px !important; }
.minw-95   { min-width: 95px !important; }
.minw-120  { min-width: 120px !important; }
.minw-130  { min-width: 130px !important; }
.minw-140  { min-width: 140px !important; }
.minw-180  { min-width: 180px !important; }
.minw-240  { min-width: 240px !important; }
.minw-260  { min-width: 260px !important; }

/* Image preview (replace inline style on previews) */
.img-preview { max-height: 100px; display: none; }
.d-none { display: none !important; }           /* ensure available if Bootstrap not loaded */

/* Print/header helpers to remove inline styles */
.print-header { width: 100%; display: flex; align-items: center; margin-bottom: 8px; }
.logo-60 { height: 60px; }
.logo-50 { height: 50px; }
.mr-24px { margin-right: 24px !important; }
.mr-20px { margin-right: 20px !important; }
.flex-1 { flex: 1 1 auto !important; }
.flex-grow-1 { flex-grow: 1 !important; }
.flex-grow-2 { flex-grow: 2 !important; }
.minh-32 { min-height: 32px !important; }
.minh-48 { min-height: 48px !important; }
.p-4px { padding: 4px !important; }
.text-left { text-align: left !important; }

/* Extra utilities */
.w-45px { width: 45px !important; }
.print-title { margin: 0 !important; font-size: 16px !important; }
.text-center { text-align: center !important; }
.mb-12px { margin-bottom: 12px !important; }
