/* ============================================================
   conception.css — Styles spécifiques à l'app Conception
   Vient en complément de style.css (hérité de Stock).
   ============================================================ */

/* ── Sidebar : item verrouillé (pas de presta sélectionnée) ── */
.nav-item.locked{
  opacity:.35;
  cursor:not-allowed !important;
  pointer-events:auto;  /* on garde le click pour afficher un toast */
}
.nav-item.locked:hover{ background:rgba(255,255,255,0.03); }

/* ── Bandeau presta active (sous le header) ── */
.presta-banner{
  display:none;
  align-items:center;
  gap:14px;
  padding:10px 24px;
  background:linear-gradient(90deg, var(--navy-light) 0%, #fff 70%);
  border-bottom:1.5px solid var(--gold-border);
  flex-shrink:0;
}
.presta-banner.active{ display:flex; }
.presta-banner-icon{
  width:32px;height:32px;border-radius:8px;
  background:var(--gold);display:flex;align-items:center;justify-content:center;
  color:var(--navy);font-family:'Exo 2',sans-serif;font-weight:800;font-size:14px;flex-shrink:0;
}
.presta-banner-info{ flex:1;min-width:0; }
.presta-banner-numero{
  font-family:'Exo 2',sans-serif;font-size:13px;font-weight:800;color:var(--navy);
  letter-spacing:.3px;
}
.presta-banner-meta{
  font-family:'DM Sans',sans-serif;font-size:12px;color:var(--text-muted);
  margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.presta-banner-statut{
  font-family:'Exo 2',sans-serif;font-size:10px;font-weight:700;
  padding:3px 9px;border-radius:12px;text-transform:uppercase;letter-spacing:.5px;
  flex-shrink:0;
}
.presta-banner-statut.s-non{ background:var(--bg);color:var(--text-muted);border:1px solid var(--border); }
.presta-banner-statut.s-cours{ background:var(--gold-bg);color:#7a5c10;border:1px solid var(--gold); }
.presta-banner-statut.s-termine{ background:var(--green-bg);color:var(--green);border:1px solid var(--green); }
.presta-banner-change-btn{
  background:#fff;color:var(--navy);border:1.5px solid var(--border);border-radius:8px;
  padding:6px 12px;font-family:'Exo 2',sans-serif;font-weight:700;font-size:11px;
  cursor:pointer;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0;
  display:flex;align-items:center;gap:6px;transition:all .12s;
}
.presta-banner-change-btn:hover{ background:var(--navy);color:var(--gold);border-color:var(--navy); }

/* ── Petites adaptations table prestations (utilise les classes ERP de style.css) ── */
#tbl-prestations tbody tr{ cursor:pointer; }
#tbl-prestations .col-numero{ font-family:'Exo 2',sans-serif;font-weight:700;color:var(--navy);letter-spacing:.3px; }
#tbl-prestations .col-date{ font-family:'Exo 2',sans-serif;font-weight:600;white-space:nowrap; }

/* ── Tag item (filtre par date) ── */
.tag-item{
  display:inline-flex;align-items:center;gap:6px;
  background:var(--navy-light);color:var(--navy);
  border:1px solid var(--navy);border-radius:14px;padding:3px 10px;
  font-family:'Exo 2',sans-serif;font-size:11px;font-weight:600;
}
.tag-item button{
  background:none;border:none;color:var(--navy);font-size:14px;font-weight:700;
  cursor:pointer;padding:0;line-height:1;
}
.tag-item button:hover{ color:var(--red); }

/* ============================================================
   PLAN DE TIR — UI (écran s-plan-de-tir)
   ============================================================ */

.pdt-actions{ display:flex; gap:8px; align-items:center; }
.pdt-card{ margin-bottom:14px; }
.pdt-card .card-title{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
}

/* Drop zone import xlsx */
.pdt-drop{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:8px; padding:36px 24px;
  border:2px dashed var(--navy); border-radius:12px;
  background:var(--navy-light);
  cursor:pointer; transition:background .15s, border-color .15s;
  text-align:center;
}
.pdt-drop:hover, .pdt-drop.dragover{
  background:#e7eefa; border-color:var(--gold);
}
.pdt-drop-title{
  font-family:'Exo 2',sans-serif; font-weight:700; color:var(--navy); font-size:14px;
}
.pdt-drop-sub{
  font-family:'DM Sans',sans-serif; color:var(--text-muted); font-size:12px;
}

/* Pills de statut (OK / WARN / KO) */
.pdt-pill{
  font-family:'Exo 2',sans-serif; font-size:10px; font-weight:700;
  padding:3px 10px; border-radius:12px; text-transform:uppercase; letter-spacing:.5px;
}
.pdt-pill.ok{ background:var(--green-bg); color:var(--green); border:1px solid var(--green); }
.pdt-pill.warn{ background:var(--gold-bg); color:#7a5c10; border:1px solid var(--gold); }
.pdt-pill.err{ background:#fde7e7; color:var(--red); border:1px solid var(--red); }
.pdt-pill.neutral{ background:var(--bg); color:var(--text-muted); border:1px solid var(--border); }

/* Stats parser / moteur — grille de chips */
.pdt-parser-stats, .pdt-moteur-stats, .pdt-existing-stats{
  display:flex; flex-wrap:wrap; gap:8px; margin:8px 0 12px;
}
.pdt-stat{
  display:inline-flex; flex-direction:column; gap:2px;
  background:var(--bg); border:1px solid var(--border); border-radius:8px;
  padding:6px 12px; min-width:90px;
}
.pdt-stat-label{
  font-family:'DM Sans',sans-serif; font-size:10px; color:var(--text-muted);
  text-transform:uppercase; letter-spacing:.4px;
}
.pdt-stat-value{
  font-family:'Exo 2',sans-serif; font-size:14px; font-weight:700; color:var(--navy);
}
.pdt-stat.accent .pdt-stat-value{ color:var(--gold); }
.pdt-stat.warn .pdt-stat-value{ color:#7a5c10; }

/* Warnings (parser + moteur) */
.pdt-warnings{ margin:6px 0 12px; }
.pdt-warnings:empty{ display:none; }
.pdt-warning-item{
  display:flex; gap:8px; align-items:flex-start;
  background:var(--gold-bg); border-left:3px solid var(--gold);
  padding:8px 12px; border-radius:6px; margin-bottom:6px;
  font-family:'DM Sans',sans-serif; font-size:12px; color:#5a4a10;
}
.pdt-warning-item .pdt-warning-tag{
  font-family:'Exo 2',sans-serif; font-weight:700; font-size:10px;
  background:var(--gold); color:var(--navy); padding:2px 6px; border-radius:4px;
  text-transform:uppercase; letter-spacing:.4px; flex-shrink:0;
}

/* Groupes + batteries */
.pdt-groups{ display:flex; flex-direction:column; gap:14px; margin:4px 0 12px; }
.pdt-group{
  background:#fff; border:1px solid var(--border); border-radius:10px; padding:12px;
}
.pdt-group-head{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  margin-bottom:10px; padding-bottom:8px; border-bottom:1px solid var(--border);
}
.pdt-group-title{
  font-family:'Exo 2',sans-serif; font-weight:700; color:var(--navy); font-size:13px;
}
.pdt-group-meta{
  font-family:'DM Sans',sans-serif; font-size:11px; color:var(--text-muted);
}
.pdt-batteries{ display:flex; flex-wrap:wrap; gap:8px; }
.pdt-battery{
  background:var(--bg); border:1px solid var(--border); border-radius:8px;
  padding:8px 12px; min-width:200px; flex:1 1 220px; max-width:340px;
}
.pdt-battery.evt{ border-left:3px solid var(--navy); }
.pdt-battery.droite{ border-left:3px solid var(--gold); }
.pdt-battery-head{
  display:flex; align-items:center; justify-content:space-between; gap:8px;
  margin-bottom:4px;
}
.pdt-battery-title{
  font-family:'Exo 2',sans-serif; font-weight:700; color:var(--navy); font-size:12px;
}
.pdt-battery-source{
  font-family:'DM Sans',sans-serif; font-size:10px; color:var(--text-muted);
}
.pdt-battery-slots{
  font-family:'DM Sans',sans-serif; font-size:11px; color:var(--text); margin:2px 0;
}
.pdt-battery-slot{ display:inline-block; margin-right:6px; }
.pdt-battery-slot.empty{ color:var(--text-hint); font-style:italic; }
.pdt-battery-lines{
  font-family:'DM Sans',sans-serif; font-size:10px; color:var(--text-muted);
  margin-top:4px;
}

/* Actions cartes */
.pdt-card-actions{
  display:flex; gap:8px; justify-content:flex-end; align-items:center;
  margin-top:10px; padding-top:10px; border-top:1px solid var(--border);
}

/* Zone "Plan de tir existant" */
.pdt-existing-meta{
  font-family:'DM Sans',sans-serif; font-size:11px; color:var(--text-muted); font-weight:400;
}
.pdt-existing-actions{ display:flex; gap:8px; margin-top:8px; }

/* ============================================================
   MODALE colonnes cruciales manquantes (non bloquante)
   ============================================================ */

.pdt-modal-backdrop{
  display:none; position:fixed; inset:0; background:rgba(13,34,96,.45);
  z-index:1000; align-items:center; justify-content:center;
}
.pdt-modal-backdrop.visible{ display:flex; }
.pdt-modal{
  background:#fff; border-radius:14px; padding:20px 24px;
  max-width:580px; width:90%; max-height:80vh; overflow:auto;
  box-shadow:0 12px 40px rgba(13,34,96,.25);
}
.pdt-modal-title{
  font-family:'Exo 2',sans-serif; font-size:15px; font-weight:800;
  color:#7a5c10; margin-bottom:6px;
  display:flex; align-items:center; gap:8px;
}
.pdt-modal-intro{
  font-family:'DM Sans',sans-serif; font-size:13px; color:var(--text); margin-bottom:12px;
}
.pdt-modal-list{
  font-family:'DM Sans',sans-serif; font-size:12px;
  background:var(--gold-bg); border:1px solid var(--gold);
  border-radius:8px; padding:10px 14px; margin-bottom:14px;
  max-height:280px; overflow:auto;
}
.pdt-modal-list ul{ margin:0; padding-left:20px; }
.pdt-modal-list li{ margin-bottom:4px; }
.pdt-modal-actions{
  display:flex; gap:8px; justify-content:flex-end;
}
