/**
 * Utilitaires icônes Lucide — alignement, tailles, couleurs charte COKPIT.
 */

.icon {
  display: inline-block;
  vertical-align: -0.125em;
  flex-shrink: 0;
  overflow: visible;
}

.icon-inline {
  vertical-align: -0.15em;
}

/* Tailles (défaut HTML = 16px) */
.icon-xs { width: 12px; height: 12px; }
.icon-sm { width: 14px; height: 14px; }
.icon-md { width: 16px; height: 16px; }
.icon-lg { width: 20px; height: 20px; }
.icon-xl { width: 28px; height: 28px; }
.icon-2xl { width: 40px; height: 40px; }

/* Couleurs sémantiques (currentColor par défaut) */
.icon-muted { color: #6c757d; }
.icon-primary { color: #0A0082; }
.icon-success { color: #1ab394; }
.icon-danger { color: #ed5565; }
.icon-warning { color: #f8ac59; }
.icon-info { color: #23c6c8; }

/* Animation chargement */
.icon-spin {
  animation: icon-spin 1s linear infinite;
}

@keyframes icon-spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

/* Boutons / liens : espacement cohérent avec le texte */
.btn .icon,
.nav-link .icon,
.dropdown-item .icon {
  margin-right: 0.35em;
}

.btn .icon:only-child {
  margin-right: 0;
  margin-left: 0;
}

.btn .icon:not(:only-child):last-child,
.nav-link .icon.icon-trailing {
  margin-right: 0;
  margin-left: 0.35em;
}

.nav-link .icon,
.dropdown-item .icon {
  width: 16px;
  height: 16px;
}

/* Navbar icône accueil (ex fa-2x, légèrement réduite) */
.navbar-nav .nav-link > .icon.icon-nav-home {
  width: 28px;
  height: 28px;
}

/* Boutons et colonnes d'action des tableaux */
.btn .icon,
table .btn .icon,
table .icon.icon-action {
  width: 14px;
  height: 14px;
}

table .icon.icon-action {
  cursor: pointer;
}

table .icon.icon-action + .icon.icon-action {
  margin-left: 0.5rem;
}

/* Titres de page : icône proportionnelle au corps du titre */
.ibox-title h1 .icon,
.ibox-title h2 .icon,
.ticket-header h1 .icon {
  width: 1.1em;
  height: 1.1em;
}
