/*
 * UNPNC - Défenseurs (Annuaire)
 * Modal + tableau
 */

.unpnc-plugin-scope .unpnc-defenseurs-modal{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,0.55);
  z-index:999999;
  padding:20px;
}

.unpnc-plugin-scope .unpnc-defenseurs-modal-content{
  background:#fff;
  width:min(1600px, 98vw);
  max-height:92vh;
  margin:0 auto;
  border-radius:14px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  box-shadow:0 20px 70px rgba(0,0,0,0.25);
}

.unpnc-plugin-scope .unpnc-defenseurs-modal-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 18px;
  border-bottom:1px solid #e5e7eb;
  background:#f9fafb;
}

.unpnc-plugin-scope .unpnc-defenseurs-modal-header h3{
  margin:0;
  font-size:18px;
  font-weight:800;
  color:#111827;
}

.unpnc-plugin-scope .unpnc-defenseurs-close{
  border:none;
  background:transparent;
  cursor:pointer;
  font-size:26px;
  line-height:1;
  padding:6px 10px;
  border-radius:10px;
  color:#111827;
}

.unpnc-plugin-scope .unpnc-defenseurs-close:hover{ background:#eef2f7; }

.unpnc-plugin-scope .unpnc-defenseurs-toolbar{
  display:flex;
  gap:12px;
  align-items:flex-end;
  justify-content:space-between;
  padding:12px 18px;
  border-bottom:1px solid #e5e7eb;
  flex-wrap:wrap;
}

.unpnc-plugin-scope .unpnc-defenseurs-toolbar-right{
  display:flex;
  gap:10px;
  align-items:flex-end;
  flex-wrap:wrap;
}

.unpnc-plugin-scope .unpnc-defenseurs-filter{
  display:flex;
  flex-direction:column;
  gap:6px;
}

.unpnc-plugin-scope .unpnc-defenseurs-filter label{
  font-weight:800;
  color:#374151;
  font-size:12px;
}

.unpnc-plugin-scope .unpnc-defenseurs-filter select, .unpnc-plugin-scope .unpnc-defenseurs-filter input{
  padding:10px 12px;
  border:1px solid #d1d5db;
  border-radius:10px;
  background:#fff;
  font-weight:700;
  color:#111827;
}

/* Date de tri (barre du haut) : noir franc */
.unpnc-plugin-scope .unpnc-defenseurs-filter input[type="date"]{
  color:#000;
  -webkit-text-fill-color:#000;
  opacity:1;
}

.unpnc-plugin-scope .unpnc-defenseurs-body{
  padding:14px 18px 18px;
  overflow:auto;
}

.unpnc-plugin-scope .unpnc-defenseurs-loading{
  padding:12px;
  background:#fef3c7;
  border:1px solid #fde68a;
  border-radius:12px;
  color:#92400e;
  font-weight:700;
  margin-bottom:12px;
}

.unpnc-plugin-scope .unpnc-defenseurs-table-wrap{ overflow:auto; }

.unpnc-plugin-scope .unpnc-defenseurs-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  min-width:1700px;
}

/* Colonne ACTIONS toujours visible (sticky à droite) */
.unpnc-plugin-scope .unpnc-defenseurs-table thead th:last-child{
  position:sticky;
  right:0;
  z-index:3;
}
.unpnc-plugin-scope .unpnc-defenseurs-table tbody td:last-child{
  position:sticky;
  right:0;
  background:#fff;
  min-width:170px;
}
.unpnc-plugin-scope .unpnc-defenseurs-table tbody tr:hover td:last-child{
  background:#f9fafb;
}

.unpnc-plugin-scope .unpnc-defenseurs-table thead th{
  position:sticky;
  top:0;
  z-index:1;
  background:#111827;
  color:#fff;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.04em;
  padding:10px 10px;
  border-bottom:1px solid #111827;
}

.unpnc-plugin-scope .unpnc-defenseurs-table tbody td{
  padding:10px 8px;
  border-bottom:1px solid #e5e7eb;
  vertical-align:top;
  background:#fff;
}

.unpnc-plugin-scope .unpnc-defenseurs-table tbody tr:hover td{ background:#f9fafb; }

.unpnc-plugin-scope .unpnc-defenseurs-input, .unpnc-plugin-scope .unpnc-defenseurs-select{
  width:100%;
  padding:9px 10px;
  border:1px solid #d1d5db;
  border-radius:10px;
  font-size:13px;
  outline:none;
}

.unpnc-plugin-scope .unpnc-defenseurs-input[disabled], .unpnc-plugin-scope .unpnc-defenseurs-select[disabled]{
  background:#f3f4f6;
  /* Les champs remplis doivent rester lisibles (noir) même en disabled */
  color:#111827;
  /* Safari/Chrome (WebKit) peut griser le texte des inputs disabled sans ceci */
  -webkit-text-fill-color:#111827;
  opacity:1;
}

/* Dates vides : gris très clair */
.unpnc-plugin-scope .unpnc-defenseurs-input.unpnc-empty-date[disabled]{
  color:#d1d5db;
  -webkit-text-fill-color:#d1d5db;
}

/* Dates renseignées : noir 100% */
.unpnc-plugin-scope .unpnc-defenseurs-input[type="date"][disabled]:not(.unpnc-empty-date){
  color:#000 !important;
  -webkit-text-fill-color:#000 !important;
  opacity:1 !important;
}

/* Colonnes : resserrer Nom/Prénom + Justiciable, et élargir les colonnes d'années */
.unpnc-plugin-scope .unpnc-defenseurs-table td.col-nomprenom{ min-width:240px; max-width:300px; }
.unpnc-plugin-scope .unpnc-defenseurs-table td.col-justiciable{ min-width:200px; max-width:300px; }
.unpnc-plugin-scope .unpnc-defenseurs-table td.col-rg, .unpnc-plugin-scope .unpnc-defenseurs-table th.col-rg{ min-width:110px; max-width:130px; text-align:center; }
.unpnc-plugin-scope .unpnc-defenseurs-table td.col-mode{ min-width:90px; max-width:90px; }
.unpnc-plugin-scope .unpnc-defenseurs-table td.col-mobile{ min-width:130px; max-width:130px; }
.unpnc-plugin-scope .unpnc-defenseurs-table td.col-email, .unpnc-plugin-scope .unpnc-defenseurs-table th.col-email{ min-width:260px; max-width:320px; }

/* Email : input occupe toute la colonne */
.unpnc-plugin-scope .unpnc-defenseurs-table td.col-email input{
  width:100%;
  min-width:240px;
}

/* Années : plus d'espace pour la date + lettre */
.unpnc-plugin-scope .unpnc-defenseurs-table td.col-year, .unpnc-plugin-scope .unpnc-defenseurs-table th.col-year{ min-width:170px; }

/* Mise en page Nom / Prénom dans une seule colonne */
.unpnc-plugin-scope .unpnc-defenseurs-nomprenom{
  display:flex;
  gap:8px;
}

/* ---- Fiche Défenseur ---- */
/* Header bleu (comme ailleurs) */
.unpnc-plugin-scope #unpnc-defenseur-fiche-modal .unpnc-defenseurs-modal-header{
  background:linear-gradient(90deg, #0b5ed7, #2563eb);
  border-bottom:none;
}
.unpnc-plugin-scope #unpnc-defenseur-fiche-modal .unpnc-defenseurs-modal-header h3{
  color:#fff;
}
.unpnc-plugin-scope #unpnc-defenseur-fiche-modal .unpnc-defenseur-fiche-close{
  color:#fff;
}
.unpnc-plugin-scope #unpnc-defenseur-fiche-modal .unpnc-defenseur-fiche-close:hover{
  background:rgba(255,255,255,.16);
}

.unpnc-plugin-scope .unpnc-defenseur-fiche-form{
  background:#ffffff;
  border:1px solid #e5e7eb;
  border-radius:16px;
  padding:14px 14px 12px;
  box-shadow:0 12px 28px rgba(0,0,0,.06);
}

.unpnc-plugin-scope .unpnc-defenseur-fiche-form label{
  display:block;
  font-weight:800;
  color:#1f2937;
  margin:4px 0 6px;
  font-size:13px;
}

.unpnc-plugin-scope .unpnc-defenseur-fiche-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:12px;
  padding:6px 2px 14px;
}

.unpnc-plugin-scope .unpnc-defenseur-fiche-full{ grid-column: 1 / -1; }

.unpnc-plugin-scope .unpnc-defenseur-fiche-types{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:10px;
}

.unpnc-plugin-scope .unpnc-defenseur-fiche-types span{
  display:block;
  font-weight:900;
  margin-bottom:6px;
  color:#111827;
}

.unpnc-plugin-scope .unpnc-defenseur-fiche-actions{
  display:flex;
  gap:10px;
  justify-content:flex-end;
  padding-top:10px;
  border-top:1px solid #e5e7eb;
}

/* Mode lecture (fiche verrouillée) */
.unpnc-plugin-scope .unpnc-defenseur-fiche-form.is-locked input, .unpnc-plugin-scope .unpnc-defenseur-fiche-form.is-locked select, .unpnc-plugin-scope .unpnc-defenseur-fiche-form.is-locked textarea{
  background:#f8fafc;
  border-color:#e2e8f0;
  color:#0f172a;
}

.unpnc-plugin-scope .unpnc-defenseur-fiche-form.is-locked input:disabled, .unpnc-plugin-scope .unpnc-defenseur-fiche-form.is-locked select:disabled, .unpnc-plugin-scope .unpnc-defenseur-fiche-form.is-locked textarea:disabled{
  opacity:1;
}

/* ---- Liste défenseurs ---- */
.unpnc-plugin-scope .unpnc-defenseurs-liste{
  display:grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap:10px;
  padding:8px 2px 2px;
}

/* Tableau "Liste défenseurs" (modal) : cases 26/27/28/29 */
.unpnc-plugin-scope #unpnc-defenseurs-liste-table input[type="checkbox"]{
  width:16px;
  height:16px;
  vertical-align:middle;
}

.unpnc-plugin-scope .unpnc-defenseurs-liste-item{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  border:1px solid #e5e7eb;
  border-radius:14px;
  padding:10px 12px;
  background:#fff;
  box-shadow:0 6px 18px rgba(0,0,0,.06);
}

.unpnc-plugin-scope .unpnc-defenseurs-liste-item button{
  white-space:nowrap;
}

@media (max-width: 720px){
  .unpnc-plugin-scope .unpnc-defenseur-fiche-grid{ grid-template-columns: 1fr; }
  .unpnc-plugin-scope .unpnc-defenseur-fiche-types{ grid-template-columns: 1fr; }
}
.unpnc-plugin-scope .unpnc-defenseurs-nomprenom .unpnc-defenseurs-input{
  min-width:0;
  flex:1 1 0;
}

/* Email : éviter la troncature visuelle */
.unpnc-plugin-scope .unpnc-defenseurs-table td.col-email .unpnc-defenseurs-input{
  white-space:nowrap;
}

/* Champs Mobile / Email cliquables en mode lecture */
.unpnc-plugin-scope .unpnc-defenseurs-input[data-field="mobile"][disabled], .unpnc-plugin-scope .unpnc-defenseurs-input[data-field="email"][disabled]{
  cursor:pointer;
  text-decoration:underline;
  text-decoration-color:#cbd5e1;
  text-underline-offset:2px;
}

.unpnc-plugin-scope .unpnc-defenseurs-year{
  display:flex;
  flex-direction:column;
  gap:6px;
}

.unpnc-plugin-scope .unpnc-defenseurs-year-top{
  display:flex;
  gap:6px;
  align-items:center;
}

.unpnc-plugin-scope .unpnc-defenseurs-actions{
  display:flex;
  gap:6px;
  justify-content:flex-end;
}

.unpnc-plugin-scope .unpnc-defenseurs-icon-btn{
  border:2px solid #e2e8f0;
  background:#fff;
  cursor:pointer;
  padding:10px 12px;
  border-radius:12px;
  font-size:16px;
  box-shadow:0 1px 2px rgba(0,0,0,.06);
}

/* Actions : rendu plus "pro" + couleurs lisibles comme sur la maquette */
.unpnc-plugin-scope .unpnc-defenseurs-icon-btn.unpnc-defenseurs-edit{
  border-color:#fda4af;
  background:#fff1f2;
}
.unpnc-plugin-scope .unpnc-defenseurs-icon-btn.unpnc-defenseurs-delete{
  border-color:#fecaca;
  background:#ffffff;
}
.unpnc-plugin-scope .unpnc-defenseurs-icon-btn.unpnc-defenseurs-save{
  /* Par défaut : discret (ligne figée) */
  border-color:#d1d5db;
  background:#f3f4f6;
  color:#111827;
}

/* En mode édition : Valider devient le bouton principal (vert) */
.unpnc-plugin-scope .unpnc-defenseurs-icon-btn.unpnc-defenseurs-save.is-primary{
  border-color:#16a34a;
  background:#16a34a;
  color:#fff;
}

.unpnc-plugin-scope .unpnc-defenseurs-icon-btn:hover{
  background:#f7fafc;
  border-color:#667eea;
}
/* Conserver le vert sur le bouton Valider */
.unpnc-plugin-scope .unpnc-defenseurs-icon-btn.unpnc-defenseurs-save.is-primary:hover{
  background:#15803d;
  border-color:#15803d;
  color:#fff;
}

/* Ligne en édition : feedback visuel pro */
.unpnc-plugin-scope tr.is-editing td{
  background:#fff7ed !important;
}

.unpnc-plugin-scope .unpnc-defenseurs-empty{
  margin-top:12px;
  padding:14px;
  border:1px dashed #d1d5db;
  border-radius:12px;
  color:#6b7280;
  font-weight:700;
  text-align:center;
}

/* Bouton/icône 🛡️ : Annuaire des défenseurs (dans la fiche Contentieux) */
.unpnc-plugin-scope .unpnc-open-defenseurs:not(.unpnc-tm-btn){
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #d1d5db;
  background:#ffffff;
  cursor:pointer;
  padding:6px 10px;
  border-radius:10px;
  font-size:18px;
  line-height:1;
  box-shadow:0 1px 2px rgba(0,0,0,.06);
}

.unpnc-plugin-scope .unpnc-open-defenseurs:not(.unpnc-tm-btn):hover{
  background:#eef3ff;
  border-color:#93c5fd;
  transform:scale(1.05);
}

@media (max-width: 768px){
  .unpnc-plugin-scope .unpnc-defenseurs-modal{ padding:10px; }
  .unpnc-plugin-scope .unpnc-defenseurs-modal-content{ width:100%; border-radius:12px; }
  .unpnc-plugin-scope .unpnc-defenseurs-table{ min-width:1400px; }

  /* Sur mobile: Nom/Prénom en colonne (plus lisible) */
  .unpnc-plugin-scope .unpnc-defenseurs-nomprenom{ flex-direction:column; }
}
