/* CFDT Analyse Satisfaction — CSS v1.4.0
   Aucun position:fixed/sticky sur le contenu
   Aucun z-index élevé sauf modales et notifs
   Aucun reset universel margin/padding */

#cfdt-analyse-root { font-family:Arial,sans-serif; font-size:13px; color:#1A1A1A; background:#F0EEE9; }
#cfdt-analyse-root *, #cfdt-analyse-root *::before, #cfdt-analyse-root *::after { box-sizing:border-box; }

/* Variables */
#cfdt-analyse-root {
  --or:#E7591C; --or-dk:#C04510; --or-lt:#FEF0EA;
  --anis:#AAC955; --anis-lt:#EEF7D6; --anis-dk:#3D5C0A;
  --blue:#6A85BE; --blue-lt:#E2E9F6;
  --ambe:#F6A924; --ambe-lt:#FEF3DC; --ambe-dk:#7A4E00;
  --red:#D64A2C; --red-lt:#FAEAE5;
  --dk:#1A1A1A; --gy:#4A4A4A; --gm:#888;
  --gl:#F5F4F0; --bd:#E0DDD8; --wh:#fff;
}

/* ── Bande orange top ── */
#cfdt-analyse-root .topbar { background:var(--or); height:4px; }

/* ── Header : POSITION STATIC uniquement ── */
#cfdt-analyse-root .hdr {
  background:#fff;
  border-bottom:1px solid var(--bd);
  padding:0 1.4rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:58px;
  flex-wrap:wrap;
  gap:8px;
}
#cfdt-analyse-root .brand { display:flex; align-items:center; gap:12px; }
#cfdt-analyse-root .ball { width:40px; height:40px; background:var(--or); border-radius:50%; display:flex; align-items:center; justify-content:center; color:#fff; font-weight:900; font-size:11px; flex-shrink:0; }
#cfdt-analyse-root .ht { font-size:14px; font-weight:700; }
#cfdt-analyse-root .hs { font-size:10px; text-transform:uppercase; letter-spacing:.5px; color:var(--gm); }

/* ── Onglets ── */
#cfdt-analyse-root .navtabs { display:flex; gap:2px; background:var(--gl); border-radius:8px; padding:3px; }
#cfdt-analyse-root .ntab { padding:6px 14px; border-radius:6px; font-size:12px; font-weight:700; cursor:pointer; border:none; background:transparent; font-family:Arial,sans-serif; color:var(--gy); transition:all .15s; white-space:nowrap; }
#cfdt-analyse-root .ntab.on { background:var(--or); color:#fff; }
#cfdt-analyse-root .ntab:hover:not(.on) { background:var(--bd); }

/* ── Pages ── */
#cfdt-analyse-root .page { display:none; }
#cfdt-analyse-root .page.on { display:block; }
#cfdt-analyse-root .app { max-width:980px; margin:0 auto; padding:1.2rem 1rem 3rem; }

/* ── Cards ── */
#cfdt-analyse-root .card { background:#fff; border-radius:10px; border:1px solid var(--bd); margin-bottom:1rem; overflow:visible; }
#cfdt-analyse-root .ch { background:var(--gl); padding:.7rem 1.1rem; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--bd); border-radius:10px 10px 0 0; flex-wrap:wrap; gap:6px; }
#cfdt-analyse-root .chl { display:flex; align-items:center; gap:8px; }
#cfdt-analyse-root .sn { width:22px; height:22px; border-radius:50%; background:var(--or); color:#fff; font-size:11px; font-weight:700; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
#cfdt-analyse-root .ct { font-size:13px; font-weight:700; }
#cfdt-analyse-root .cb { padding:1.1rem; }

/* ── Formulaires ── */
#cfdt-analyse-root .fgrid { display:grid; grid-template-columns:1fr 1fr; gap:.8rem; margin-bottom:.8rem; }
#cfdt-analyse-root .fg { display:flex; flex-direction:column; gap:3px; }
#cfdt-analyse-root .fl { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.5px; color:var(--gy); }
#cfdt-analyse-root .fi { border:1px solid var(--bd); border-radius:6px; padding:8px 10px; font-size:13px; font-family:Arial,sans-serif; color:var(--dk); background:#fff; width:100%; }
#cfdt-analyse-root .fi:focus { outline:none; border-color:var(--or); box-shadow:0 0 0 2px rgba(231,89,28,.1); }
#cfdt-analyse-root select.fi { cursor:pointer; }
#cfdt-analyse-root textarea.fi { resize:vertical; min-height:88px; line-height:1.5; }

/* ── Zone upload Excel ── SIMPLIFIÉE : juste un bouton ── */
#cfdt-analyse-root .uz-wrap { text-align:center; padding:2rem 1rem; background:var(--gl); border:2px dashed var(--bd); border-radius:10px; }
#cfdt-analyse-root .uz-wrap.ok { border-color:var(--anis); background:var(--anis-lt); }
#cfdt-analyse-root .uz-wrap.drag { border-color:var(--or); background:var(--or-lt); }
#cfdt-analyse-root .uz-icon { font-size:36px; margin-bottom:10px; }
#cfdt-analyse-root .uz-title { font-size:14px; font-weight:700; margin-bottom:4px; }
#cfdt-analyse-root .uz-sub { font-size:11px; color:var(--gm); margin-bottom:12px; }
#cfdt-analyse-root .uz-btn { background:var(--or); color:#fff; border:none; padding:10px 22px; border-radius:6px; font-size:13px; font-weight:700; cursor:pointer; font-family:Arial,sans-serif; display:inline-block; }
#cfdt-analyse-root .uz-btn:hover { background:var(--or-dk); }

/* ── Animateurs ── */
#cfdt-analyse-root .rrow { display:flex; align-items:center; gap:8px; margin-bottom:.7rem; font-size:12px; }
#cfdt-analyse-root .tog { width:34px; height:19px; background:var(--bd); border-radius:10px; cursor:pointer; position:relative; transition:background .2s; flex-shrink:0; }
#cfdt-analyse-root .tog.on { background:var(--or); }
#cfdt-analyse-root .tog::after { content:''; position:absolute; width:13px; height:13px; background:#fff; border-radius:50%; top:3px; left:3px; transition:transform .2s; }
#cfdt-analyse-root .tog.on::after { transform:translateX(15px); }
#cfdt-analyse-root .rfs { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
#cfdt-analyse-root .alist { display:flex; flex-wrap:wrap; gap:5px; margin-bottom:6px; }
#cfdt-analyse-root .atag { background:var(--or-lt); border:1px solid #F4A07A; color:var(--or-dk); padding:3px 9px 3px 10px; border-radius:20px; font-size:11px; font-weight:700; display:flex; align-items:center; gap:4px; }
#cfdt-analyse-root .atag button { background:none; border:none; cursor:pointer; color:var(--or); font-size:13px; padding:0; line-height:1; }
#cfdt-analyse-root .aadd { display:flex; gap:6px; }

/* ── Boutons ── */
#cfdt-analyse-root .bpri { background:var(--or); color:#fff; border:none; padding:9px 20px; font-size:13px; font-weight:700; border-radius:6px; cursor:pointer; font-family:Arial,sans-serif; display:inline-flex; align-items:center; gap:7px; }
#cfdt-analyse-root .bpri:hover { background:var(--or-dk); }
#cfdt-analyse-root .bpri:disabled { background:var(--gm); cursor:not-allowed; }
#cfdt-analyse-root .bout { background:#fff; color:var(--or); border:2px solid var(--or); padding:8px 16px; font-size:12px; font-weight:700; border-radius:6px; cursor:pointer; font-family:Arial,sans-serif; }
#cfdt-analyse-root .bout:hover { background:var(--or-lt); }
#cfdt-analyse-root .bsm { padding:6px 12px; font-size:11px; font-weight:700; border-radius:6px; border:1px solid var(--bd); cursor:pointer; font-family:Arial,sans-serif; background:#fff; }
#cfdt-analyse-root .bsm:hover { background:var(--gl); }
#cfdt-analyse-root .bdanger { background:var(--red-lt); color:var(--red); border:1px solid var(--red); padding:5px 10px; font-size:11px; font-weight:700; border-radius:6px; cursor:pointer; font-family:Arial,sans-serif; }

/* ── Progression ── */
#cfdt-analyse-root .ptrk { height:5px; background:var(--bd); border-radius:3px; overflow:hidden; margin-top:4px; }
#cfdt-analyse-root .pfill { height:100%; background:var(--or); border-radius:3px; transition:width .4s ease; }

/* ── Résultats header ── */
#cfdt-analyse-root .rh { background:var(--or); border-radius:10px; padding:1.2rem 1.4rem; color:#fff; margin-bottom:1rem; }
#cfdt-analyse-root .rh1 { font-size:17px; font-weight:900; margin-bottom:2px; }
#cfdt-analyse-root .rh2 { font-size:11px; opacity:.85; }
#cfdt-analyse-root .rmeta { margin-top:.6rem; display:flex; gap:1rem; flex-wrap:wrap; }
#cfdt-analyse-root .rmi { font-size:10px; opacity:.9; }

/* ── Métriques ── */
#cfdt-analyse-root .mets { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-bottom:1rem; }
#cfdt-analyse-root .mc { background:#fff; border-radius:10px; padding:.8rem .7rem; text-align:center; border:1px solid var(--bd); }
#cfdt-analyse-root .ml { font-size:9px; text-transform:uppercase; letter-spacing:.4px; color:var(--gm); margin-bottom:4px; font-weight:700; }
#cfdt-analyse-root .mv { font-size:21px; font-weight:900; line-height:1; }
#cfdt-analyse-root .mu { font-size:10px; color:var(--gm); margin-top:2px; }

/* ── Graphiques ── */
#cfdt-analyse-root .cc { background:#fff; border-radius:10px; padding:1rem; border:1px solid var(--bd); margin-bottom:.8rem; }
#cfdt-analyse-root .cct { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.4px; color:var(--gy); margin-bottom:.8rem; display:flex; align-items:center; gap:6px; }
#cfdt-analyse-root .cb2 { display:inline-block; padding:2px 7px; border-radius:20px; font-size:9px; font-weight:700; text-transform:uppercase; }
#cfdt-analyse-root .cp2 { background:var(--blue-lt); color:#1A3A7A; }
#cfdt-analyse-root .ca2 { background:var(--anis-lt); color:var(--anis-dk); }
#cfdt-analyse-root .cl2 { background:var(--ambe-lt); color:var(--ambe-dk); }

/* ── Tableau ── */
#cfdt-analyse-root .tw { overflow-x:auto; border-radius:6px; border:1px solid var(--bd); }
#cfdt-analyse-root .tbl { width:100%; border-collapse:collapse; font-size:11px; }
#cfdt-analyse-root .tbl th { background:var(--or); color:#fff; padding:6px 8px; text-align:left; font-size:9px; font-weight:700; text-transform:uppercase; white-space:nowrap; }
#cfdt-analyse-root .tbl td { padding:6px 8px; border-bottom:1px solid var(--bd); white-space:nowrap; }
#cfdt-analyse-root .tbl tr:last-child td { border-bottom:none; }
#cfdt-analyse-root .tbl tr:nth-child(even) td { background:var(--gl); }

/* ── Scores ── */
#cfdt-analyse-root .sp { display:inline-flex; align-items:center; justify-content:center; min-width:22px; height:18px; border-radius:3px; font-size:10px; font-weight:700; padding:0 3px; }
#cfdt-analyse-root .sp4 { background:var(--anis); color:var(--anis-dk); }
#cfdt-analyse-root .sp3 { background:var(--ambe); color:var(--ambe-dk); }
#cfdt-analyse-root .sp2 { background:#89CCCF; color:#1A5A5C; }
#cfdt-analyse-root .sp1 { background:var(--or); color:#fff; }

/* ── Points forts ── */
#cfdt-analyse-root .schi { display:flex; flex-wrap:wrap; gap:5px; }
#cfdt-analyse-root .sch { background:var(--anis-lt); border:1px solid var(--anis); color:var(--anis-dk); padding:4px 9px; border-radius:20px; font-size:11px; font-weight:700; }
#cfdt-analyse-root .sch::before { content:'✓ '; }

/* ── Axes d'amélioration ── */
#cfdt-analyse-root .itbl { width:100%; border-collapse:collapse; font-size:12px; }
#cfdt-analyse-root .itbl th { background:var(--gl); padding:7px 9px; text-align:left; font-size:9px; font-weight:700; text-transform:uppercase; border-bottom:2px solid var(--bd); }
#cfdt-analyse-root .itbl td { padding:7px 9px; border-bottom:1px solid var(--bd); vertical-align:top; }
#cfdt-analyse-root .itbl tr:last-child td { border-bottom:none; }
#cfdt-analyse-root .sbg { display:inline-block; padding:2px 7px; border-radius:20px; font-size:10px; font-weight:700; }
#cfdt-analyse-root .sbw { background:var(--ambe-lt); color:var(--ambe-dk); }
#cfdt-analyse-root .sbd { background:var(--red-lt); color:var(--red); }

/* ── Commentaires ── */
#cfdt-analyse-root .cmt { border-left:4px solid var(--or); background:var(--or-lt); border-radius:0 6px 6px 0; padding:8px 11px; margin-bottom:7px; }
#cfdt-analyse-root .cmtt { font-size:12px; font-style:italic; line-height:1.6; }
#cfdt-analyse-root .cmta { font-size:10px; font-weight:700; color:var(--or-dk); margin-top:3px; }

/* ── IA ── */
#cfdt-analyse-root .ais { background:#fff; border:1px solid var(--bd); border-radius:10px; overflow:hidden; margin-bottom:.8rem; }
#cfdt-analyse-root .aih { background:var(--dk); color:#fff; padding:.7rem 1.1rem; display:flex; align-items:center; gap:8px; }
#cfdt-analyse-root .ait1 { font-size:12px; font-weight:700; }
#cfdt-analyse-root .ait2 { font-size:9px; opacity:.6; margin-top:1px; }
#cfdt-analyse-root .aib { padding:1rem; }
#cfdt-analyse-root .spin { width:14px; height:14px; border:2px solid var(--bd); border-top-color:var(--or); border-radius:50%; animation:cfdtSpin .7s linear infinite; flex-shrink:0; }
@keyframes cfdtSpin { to { transform:rotate(360deg); } }
#cfdt-analyse-root .aic h4 { font-size:10px; font-weight:700; color:var(--or-dk); text-transform:uppercase; letter-spacing:.4px; margin:9px 0 3px; }
#cfdt-analyse-root .aic p { margin-bottom:5px; line-height:1.7; }
#cfdt-analyse-root .aic ul { padding-left:1rem; margin-bottom:5px; }
#cfdt-analyse-root .aic li { margin-bottom:2px; line-height:1.6; }
#cfdt-analyse-root .aisrc { font-size:9px; color:var(--gm); margin-top:8px; padding-top:8px; border-top:1px solid var(--bd); font-style:italic; }

/* ── Contacts ── */
#cfdt-analyse-root .contact-row { display:flex; align-items:center; gap:9px; padding:8px 0; border-bottom:1px solid var(--bd); }
#cfdt-analyse-root .contact-row:last-child { border-bottom:none; }
#cfdt-analyse-root .contact-avatar { width:32px; height:32px; border-radius:50%; background:var(--or); display:flex; align-items:center; justify-content:center; color:#fff; font-size:12px; font-weight:700; flex-shrink:0; }
#cfdt-analyse-root .contact-info { flex:1; }
#cfdt-analyse-root .contact-name { font-size:13px; font-weight:700; }
#cfdt-analyse-root .contact-meta { font-size:11px; color:var(--gm); }
#cfdt-analyse-root .contact-actions { display:flex; gap:5px; }
#cfdt-analyse-root .chk { width:15px; height:15px; accent-color:var(--or); cursor:pointer; }
#cfdt-analyse-root .tag-role { display:inline-block; padding:1px 6px; border-radius:20px; font-size:10px; font-weight:700; }
#cfdt-analyse-root .tag-co  { background:var(--anis-lt); color:var(--anis-dk); }
#cfdt-analyse-root .tag-ext { background:var(--blue-lt); color:#1A3A7A; }
#cfdt-analyse-root .tag-ref { background:var(--ambe-lt); color:var(--ambe-dk); }

/* ── Email preview ── */
#cfdt-analyse-root .email-preview { background:var(--gl); border-radius:10px; border:1px solid var(--bd); padding:1.1rem; font-size:12px; line-height:1.7; }
#cfdt-analyse-root .ep-field { display:flex; gap:7px; padding:4px 0; border-bottom:1px solid var(--bd); }
#cfdt-analyse-root .ep-field:last-of-type { border-bottom:none; margin-bottom:7px; }
#cfdt-analyse-root .ep-label { font-size:10px; font-weight:700; text-transform:uppercase; color:var(--gm); width:50px; flex-shrink:0; }
#cfdt-analyse-root .ep-val { color:var(--dk); }
#cfdt-analyse-root .ep-body { margin-top:9px; padding-top:9px; border-top:1px solid var(--bd); white-space:pre-wrap; color:var(--gy); }
#cfdt-analyse-root .pdf-badge { background:var(--red-lt); border:1px solid var(--red); color:var(--red); padding:3px 8px; border-radius:20px; font-size:10px; font-weight:700; display:inline-flex; align-items:center; gap:4px; }

/* ── Send bar : statique ── */
#cfdt-analyse-root .send-bar { background:#fff; border-top:1px solid var(--bd); padding:.8rem 1rem; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:7px; margin-top:1rem; border-radius:0 0 8px 8px; }
#cfdt-analyse-root .send-bar-left { font-size:11px; color:var(--gy); }
#cfdt-analyse-root .send-bar-left strong { color:var(--dk); display:block; font-size:12px; }

/* ── Divers ── */
#cfdt-analyse-root .db-empty { text-align:center; padding:2rem; color:var(--gm); }
#cfdt-analyse-root .db-empty-icon { font-size:34px; margin-bottom:7px; }
#cfdt-analyse-root .status-pill { display:inline-flex; align-items:center; gap:4px; padding:2px 8px; border-radius:20px; font-size:10px; font-weight:700; }
#cfdt-analyse-root .sp-ok { background:var(--anis-lt); color:var(--anis-dk); }
#cfdt-analyse-root .info-notice { background:var(--blue-lt); border:1px solid var(--blue); border-radius:6px; padding:.6rem .9rem; font-size:11px; color:#1A3A7A; margin-bottom:.8rem; line-height:1.5; }
#cfdt-analyse-root .ai-notice { background:var(--anis-lt); border:1px solid var(--anis); border-radius:6px; padding:.6rem .9rem; font-size:11px; color:var(--anis-dk); margin-bottom:.8rem; }
#cfdt-analyse-root .warn-notice { background:var(--ambe-lt); border:1px solid var(--ambe); border-radius:6px; padding:.6rem .9rem; font-size:11px; color:var(--ambe-dk); margin-bottom:.8rem; }
#cfdt-analyse-root .settings-section { border-bottom:1px solid var(--bd); padding-bottom:.9rem; margin-bottom:.9rem; }
#cfdt-analyse-root .settings-section:last-child { border-bottom:none; margin-bottom:0; }
#cfdt-analyse-root .settings-title { font-size:13px; font-weight:700; margin-bottom:.6rem; color:var(--or-dk); }

/* ── Notifications : fixed, pointer-events:none ── */
#cfdt-analyse-root .notif {
  position:fixed; bottom:20px; right:20px;
  background:var(--dk); color:#fff;
  padding:10px 15px; border-radius:6px;
  font-size:12px; font-weight:600;
  z-index:99990;
  animation:cfdtSli .3s ease;
  max-width:320px;
  pointer-events:none;
}
#cfdt-analyse-root .notif.ok  { background:var(--anis-dk); }
#cfdt-analyse-root .notif.err { background:var(--red); }
@keyframes cfdtSli { from{transform:translateY(20px);opacity:0} to{transform:translateY(0);opacity:1} }

/* ── Modales ── */
#cfdt-analyse-root .modal-bg { position:fixed; inset:0; background:rgba(0,0,0,.45); z-index:99989; display:none; align-items:center; justify-content:center; }
#cfdt-analyse-root .modal-bg.open { display:flex; }
#cfdt-analyse-root .modal { background:#fff; border-radius:10px; padding:1.4rem; width:92%; max-width:460px; box-shadow:0 16px 48px rgba(0,0,0,.18); max-height:88vh; overflow-y:auto; }
#cfdt-analyse-root .modal h3 { font-size:15px; font-weight:700; margin-bottom:.9rem; padding-bottom:.6rem; border-bottom:1px solid var(--bd); }
#cfdt-analyse-root .modal-footer { display:flex; justify-content:flex-end; gap:7px; margin-top:1rem; padding-top:.7rem; border-top:1px solid var(--bd); }

/* ── Responsive ── */
@media (max-width:640px) {
  #cfdt-analyse-root .fgrid { grid-template-columns:1fr; }
  #cfdt-analyse-root .mets { grid-template-columns:repeat(2,1fr); }
  #cfdt-analyse-root .hdr { padding:.7rem 1rem; }
  #cfdt-analyse-root .navtabs { flex-wrap:wrap; }
  #cfdt-analyse-root .ntab { padding:5px 8px; font-size:11px; }
}
