/* ADMIN.CSS */
.admin-tabs { display:flex; gap:4px; margin-bottom:16px; border-bottom:1px solid var(--border); padding-bottom:0; }
.admin-tab { padding:9px 18px; font-size:12px; font-weight:600; color:var(--text-muted); cursor:pointer; border:none; background:none; font-family:inherit; border-bottom:2px solid transparent; margin-bottom:-1px; transition:all 0.15s; border-radius:6px 6px 0 0; }
.admin-tab:hover { color:var(--text); background:var(--wood-pale); }
.admin-tab.active { color:var(--accent); border-bottom-color:var(--accent); }
.admin-section { display:none; }
.admin-section.active { display:block; }
.admin-card { background:var(--white); border:1px solid var(--border); border-radius:12px; padding:16px 20px; }
.admin-card-title { font-size:13px; font-weight:700; color:var(--wood-dark); margin-bottom:14px; }
.admin-table { width:100%; border-collapse:collapse; font-size:13px; }
.admin-table th { text-align:left; padding:8px 10px; background:var(--wood-pale); font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:0.05em; color:var(--text-muted); }
.admin-table td { padding:10px; border-bottom:1px solid var(--border); vertical-align:middle; }
.admin-table tr:last-child td { border-bottom:none; }
.admin-table tr:hover td { background:var(--wood-pale); }

/* ═══════════════════════════════════════ */
/* Avatars utilisateurs                      */
/* ═══════════════════════════════════════ */
.user-avatar-sm {
  width: 36px;
  height: 36px;
  border-radius:50%;
  object-fit: cover;
  display: block;
}
.user-avatar-lg {
  width: 80px;
  height: 80px;
  border-radius:50%;
  object-fit: cover;
  display: block;
}
.user-avatar-initials {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--accent);
  color: #fff;
  font-weight: 700;
  text-transform: uppercase;
}
.user-avatar-sm.user-avatar-initials { font-size: 13px; }
.user-avatar-lg.user-avatar-initials { font-size: 28px; }

.dep-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-top: 4px;
}
.dep-check {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  cursor: pointer;
  padding: 6px 8px;
  border: 1px solid var(--border);
  border-radius:8px;
  background: #fff;
}
.dep-check input { accent-color: var(--accent); }

@media (max-width: 600px) {
  .dep-grid { grid-template-columns: 1fr 1fr; }
}

/* ═══════════════════════════════════════ */
/* Navigation Admin à 2 niveaux (familles)   */
/* ═══════════════════════════════════════ */
.admin-families {
  display: flex;
  gap: 8px;
  margin-bottom: 4px;
  flex-wrap: wrap;
}
.admin-family {
  padding: 11px 20px;
  font-size: 13.5px;
  font-weight: 700;
  color: var(--text-muted);
  cursor: pointer;
  border: 1px solid var(--border);
  background: var(--white, #fff);
  font-family: inherit;
  border-radius:12px;
  transition: all 0.15s;
}
.admin-family:hover {
  color: var(--text);
  background: var(--wood-pale);
}
.admin-family.active {
  color: #fff;
  background: var(--accent, #D4860A);
  border-color: var(--accent, #D4860A);
  box-shadow: 0 2px 8px rgba(200,118,58,0.25);
}

/* Sous-onglets de chaque famille */
.admin-subtabs {
  display: flex;
  gap: 4px;
  margin: 12px 0 16px;
  border-bottom: 1px solid var(--border);
  flex-wrap: wrap;
}
.admin-subtabs:empty {
  display: none;
}

@media (max-width: 600px) {
  .admin-families { gap: 4px; }
  .admin-family { padding: 9px 12px; font-size: 12px; flex: 1; text-align: center; }
}

/* Info-bulle config (mot de passe SMTP) */
.cfg-info-icon {
  cursor: help;
  color: var(--text-muted);
  font-size: 13px;
  position: relative;
  display: inline-flex;
  font-weight: normal;
}
.cfg-info-icon:hover { color: var(--accent); }
.cfg-info-bulle {
  position: absolute;
  top: 22px;
  left: 0;
  width: 280px;
  background: var(--wood-dark, #26323B);
  color: #fff;
  font-size: 11.5px;
  font-weight: 400;
  line-height: 1.5;
  padding: 10px 12px;
  border-radius:8px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.25);
  z-index: 1000;
  text-transform: none;
}
.cfg-info-bulle strong { color: #FAEEDA; }

/* ═══════════════════════════════════════════════════════════════
   MULTISITE (Bloc 8B) — onglet Sites + sélecteur « Site ciblé »
   Visibles uniquement par le superadmin (le JS ne les rend pas
   pour les autres comptes ; le back renvoie 403 de toute façon).
   ═══════════════════════════════════════════════════════════════ */

/* Bandeau « Site ciblé » (onglets Configuration et IA, superadmin) */
.site-cible-bar {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  background: var(--accent-soft, #E8F0F5);
  border: 1px solid var(--accent, #235873);
  border-radius: 12px;
  padding: 10px 14px;
  margin-bottom: 12px;
}
.site-cible-label {
  font-size: 13px;
  font-weight: 700;
  color: var(--accent, #235873);
  white-space: nowrap;
}
.site-cible-select {
  min-width: 200px;
  max-width: 320px;
  font-weight: 600;
}
.site-cible-hint {
  font-size: 11px;
  color: var(--text-muted);
  flex: 1;
  min-width: 200px;
}

/* Badge de site (tableau utilisateurs, liste des sites) */
.site-badge {
  display: inline-block;
  font-size: 11px;
  font-weight: 600;
  color: var(--accent, #235873);
  background: var(--accent-soft, #E8F0F5);
  border-radius: 999px;
  padding: 2px 9px;
  white-space: nowrap;
}
.site-badge--principal {
  color: var(--green, #2D7A4F);
  background: var(--green-soft, #E8F5EE);
  margin-left: 6px;
  font-weight: 700;
}

/* Code court du site (colonne Code) */
.site-code {
  font-family: 'DM Mono', ui-monospace, monospace;
  font-size: 12px;
  background: var(--wood-pale, #F1ECE5);
  border-radius: 6px;
  padding: 2px 7px;
}

/* Bannière d'avertissement chantier (onglet Sites) */
.site-warn-banner {
  background: #FDF6E7;
  border: 1px solid #E8C97A;
  border-left: 4px solid #D9A62E;
  border-radius: 12px;
  padding: 12px 16px;
  margin-bottom: 12px;
  font-size: 13px;
  line-height: 1.5;
  color: var(--text, #26323B);
}
.site-warn-titre {
  font-weight: 700;
  margin-bottom: 3px;
}

/* Rapport de duplication (modale) */
.dup-rapport-ligne {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 9px 12px;
  border: 1px solid var(--border, #E5E0D8);
  border-radius: 8px;
  margin-bottom: 6px;
  font-size: 13px;
  background: var(--white, #fff);
}
.dup-rapport-ligne strong {
  color: var(--green, #2D7A4F);
  text-align: right;
}
