/* E-stor'Huy — Contributeurs v2.0 */
.esh-main{max-width:740px;margin:0 auto;padding:2rem 1.5rem 4rem;}
.esh-msg{padding:12px 16px;border-radius:6px;font-size:13px;margin-bottom:1.5rem;line-height:1.5;}
.esh-msg-ok{background:rgba(34,197,94,.1);border:.5px solid #22c55e;color:#86efac;}
.esh-msg-err{background:rgba(220,38,38,.1);border:.5px solid #dc2626;color:#fca5a5;}
.esh-alerte{background:rgba(245,158,11,.08);border:.5px solid #f59e0b;color:#fbbf24;padding:10px 14px;border-radius:6px;font-size:13px;margin-bottom:1rem;}
.esh-alerte-info{background:rgba(201,168,76,.06);border:.5px solid rgba(201,168,76,.3);color:#8a7040;padding:10px 14px;border-radius:6px;font-size:12px;margin:1rem 0;line-height:1.5;}
.esh-hero{padding:2rem 0 1.5rem;}
.esh-titre{font-family:Georgia,serif;font-size:36px;color:#e8e0cc;font-style:italic;font-weight:400;margin-bottom:.5rem;}
.esh-titre em{color:#C9A84C;}
.esh-desc{font-size:14px;color:#6b6b5a;line-height:1.6;}
.esh-onglets{display:flex;border-bottom:.5px solid #2a2a25;margin-bottom:2rem;}
.esh-onglet{padding:10px 20px;font-size:14px;color:#6b6b5a;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s;}
.esh-onglet:hover{color:#e8e0cc;}
.esh-onglet.actif{color:#C9A84C;border-bottom-color:#C9A84C;}
.esh-form{display:flex;flex-direction:column;gap:1rem;}
.esh-form-login{max-width:420px;margin:0 auto;}
.esh-champ{display:flex;flex-direction:column;gap:5px;}
.esh-champ label{font-size:11px;color:#6b6b5a;letter-spacing:.8px;text-transform:uppercase;}
.esh-champ small{font-size:11px;color:#5a5a4a;line-height:1.4;}
.obl{color:#C9A84C;}
.esh-champ input[type=text],.esh-champ input[type=email],.esh-champ input[type=password],.esh-champ input[type=number],.esh-champ input[type=url],.esh-champ input[type=date],.esh-champ select,.esh-champ textarea{background:#111110;border:.5px solid #2a2a25;color:#e8e0cc;font-size:13px;padding:9px 12px;border-radius:4px;font-family:inherit;width:100%;transition:border-color .15s;}
.esh-champ input:focus,.esh-champ select:focus,.esh-champ textarea:focus{outline:none;border-color:#C9A84C;}
.esh-grille2{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.esh-check{flex-direction:row!important;align-items:flex-start!important;gap:8px;}
.esh-check label{font-size:12px;color:#6b6b5a;text-transform:none;letter-spacing:0;cursor:pointer;line-height:1.5;}
.esh-check input[type=checkbox]{margin-top:2px;flex-shrink:0;accent-color:#C9A84C;}
.esh-btn-submit{background:#C9A84C;color:#111110;border:none;padding:11px 24px;font-size:14px;font-weight:500;border-radius:4px;cursor:pointer;margin-top:.5rem;font-family:inherit;transition:opacity .15s;}
.esh-btn-submit:hover{opacity:.88;}

/* Dashboard */
.esh-dashboard{padding:1rem 0;}
.esh-profil-header{display:flex;align-items:center;gap:1rem;padding:1.25rem;background:#111110;border:.5px solid #2a2a25;border-radius:6px;margin-bottom:1.25rem;}
.esh-avatar{width:48px;height:48px;border-radius:50%;background:rgba(201,168,76,.15);border:.5px solid #C9A84C;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600;color:#C9A84C;flex-shrink:0;}
.esh-profil-nom{font-size:17px;color:#e8e0cc;font-weight:500;}
.esh-badge-niveau{display:inline-block;font-size:10px;background:rgba(201,168,76,.1);border:.5px solid #C9A84C;color:#C9A84C;padding:2px 8px;border-radius:10px;margin-top:3px;}
.esh-btn-deco{margin-left:auto;font-size:12px;color:#6b6b5a;border:.5px solid #2a2a25;padding:5px 12px;border-radius:3px;}
.esh-btn-deco:hover{color:#e8e0cc;}
.esh-stats{display:grid;grid-template-columns:repeat(3,1fr);border:.5px solid #2a2a25;border-radius:6px;overflow:hidden;margin-bottom:1.25rem;}
.esh-stat{padding:1rem;text-align:center;border-right:.5px solid #2a2a25;background:#111110;}
.esh-stat:last-child{border-right:none;}
.esh-stat-num{font-family:Georgia,serif;font-size:28px;color:#C9A84C;font-style:italic;}
.esh-orange{color:#f59e0b!important;}
.esh-stat-label{font-size:11px;color:#6b6b5a;letter-spacing:1px;text-transform:uppercase;margin-top:3px;}
.esh-btn-deposer{display:inline-block;background:#C9A84C;color:#111110;font-size:13px;font-weight:500;padding:10px 20px;border-radius:4px;margin-bottom:1.25rem;transition:opacity .15s;}
.esh-btn-deposer:hover{opacity:.88;color:#111110;}
.esh-section-titre{font-size:11px;color:#6b6b5a;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:.6rem;padding-bottom:.5rem;border-bottom:.5px solid #2a2a25;}
.esh-liste{display:flex;flex-direction:column;}
.esh-doc-item{display:flex;align-items:center;gap:10px;padding:9px 12px;background:#111110;border:.5px solid #2a2a25;border-top:none;font-size:13px;}
.esh-doc-item:first-child{border-top:.5px solid #2a2a25;border-radius:4px 4px 0 0;}
.esh-doc-item:last-child{border-radius:0 0 4px 4px;}
.esh-doc-annee{font-family:Georgia,serif;color:#C9A84C;font-style:italic;min-width:40px;}
.esh-doc-titre{flex:1;color:#e8e0cc;}
.esh-doc-voir{font-size:11px;color:#C9A84C;}
.esh-statut-att{font-size:10px;padding:2px 8px;border-radius:10px;background:rgba(245,158,11,.1);border:.5px solid #f59e0b;color:#f59e0b;}

/* Formulaire dépôt */
.esh-depot-wrap{background:#111110;border:.5px solid #2a2a25;border-radius:6px;padding:1.5rem;}
.esh-depot-titre{font-family:Georgia,serif;font-size:22px;color:#e8e0cc;font-style:italic;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:.5px solid #2a2a25;}
.esh-steps{display:flex;border:.5px solid #2a2a25;border-radius:6px;overflow:hidden;margin-bottom:.75rem;}
.esh-step{flex:1;padding:9px 4px;text-align:center;font-size:10px;cursor:pointer;border-right:.5px solid #2a2a25;background:#1a1a17;color:#6b6b5a;transition:all .15s;}
.esh-step:last-child{border-right:none;}
.esh-step.actif{background:#C9A84C;color:#111110;font-weight:500;}
.esh-step.done{background:rgba(201,168,76,.1);color:#C9A84C;}
.esh-step-num{display:block;font-size:14px;font-weight:500;margin-bottom:1px;}
.esh-progress{height:3px;background:#2a2a25;border-radius:2px;margin-bottom:1.25rem;overflow:hidden;}
.esh-progress-fill{height:100%;background:#C9A84C;border-radius:2px;transition:width .3s;}
.esh-etape{display:none;}
.esh-etape.visible{display:block;}
.esh-etape-titre{font-size:11px;color:#6b6b5a;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:.5px solid #2a2a25;}

/* Upload */
.esh-upload-zone{border:.5px dashed #C9A84C;border-radius:6px;padding:1.5rem;text-align:center;cursor:pointer;background:rgba(201,168,76,.03);transition:border-color .15s;}
.esh-upload-zone:hover{background:rgba(201,168,76,.06);}
.esh-upload-icone{font-size:22px;color:#C9A84C;margin-bottom:5px;}
.esh-upload-txt{font-size:13px;color:#6b6b5a;}
.esh-upload-formats{font-size:11px;color:#5a5a4a;margin-top:3px;}
.esh-fichier-nom{display:flex;align-items:center;gap:6px;font-size:12px;color:#e8e0cc;background:#1a1a17;border:.5px solid #2a2a25;border-radius:4px;padding:7px 10px;margin-top:6px;}
.esh-ou{display:flex;align-items:center;gap:10px;margin:.75rem 0;color:#5a5a4a;font-size:12px;}
.esh-ou::before,.esh-ou::after{content:'';flex:1;height:.5px;background:#2a2a25;}

/* Résultat IA */
.esh-ia-resultat{background:rgba(201,168,76,.05);border:.5px solid rgba(201,168,76,.4);border-radius:6px;padding:1rem;margin-top:10px;}
.esh-ia-titre{font-size:13px;color:#C9A84C;font-weight:500;margin-bottom:4px;display:flex;align-items:center;gap:8px;}
.esh-ia-confiance{font-size:11px;font-weight:400;}
.esh-ia-explication{font-size:12px;color:#6b6b5a;margin-bottom:10px;line-height:1.4;}
.esh-ia-grille{display:grid;grid-template-columns:1fr;gap:0;border:.5px solid #2a2a25;border-radius:4px;overflow:hidden;margin-bottom:10px;}
.esh-ia-ligne{display:flex;padding:7px 10px;border-bottom:.5px solid #2a2a25;background:#111110;}
.esh-ia-ligne:last-child{border-bottom:none;}
.esh-ia-label{font-size:11px;color:#6b6b5a;min-width:110px;flex-shrink:0;}
.esh-ia-val{font-size:12px;color:#e8e0cc;}
.esh-ia-actions{display:flex;gap:8px;}
.esh-btn-ia-accepter{background:#C9A84C;color:#111110;border:none;padding:7px 14px;border-radius:4px;cursor:pointer;font-size:12px;font-weight:500;font-family:inherit;}
.esh-btn-ia-ignorer{background:transparent;color:#6b6b5a;border:.5px solid #2a2a25;padding:7px 14px;border-radius:4px;cursor:pointer;font-size:12px;font-family:inherit;}

/* Types & thèmes */
.esh-type-grille{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;}
.esh-type-btn{background:#1a1a17;border:.5px solid #2a2a25;border-radius:4px;padding:8px 6px;text-align:center;cursor:pointer;transition:all .15s;font-size:11px;color:#6b6b5a;}
.esh-type-btn:hover,.esh-type-btn.actif{border-color:#C9A84C;color:#C9A84C;background:rgba(201,168,76,.06);}
.esh-type-icone{display:block;font-size:18px;margin-bottom:3px;}
.esh-theme-grille{display:grid;grid-template-columns:repeat(2,1fr);gap:4px;}
.esh-theme-chk{display:flex;align-items:center;gap:8px;background:#1a1a17;border:.5px solid #2a2a25;border-radius:4px;padding:7px 10px;cursor:pointer;font-size:12px;color:#6b6b5a;transition:border-color .15s;}
.esh-theme-chk:hover{border-color:#C9A84C;color:#e8e0cc;}
.esh-theme-chk input{accent-color:#C9A84C;flex-shrink:0;}
.esh-champ-ajouter{display:flex;gap:6px;margin-top:6px;}
.esh-champ-ajouter input{flex:1;background:#1a1a17;border:.5px solid #2a2a25;color:#e8e0cc;font-size:13px;padding:7px 10px;border-radius:4px;font-family:inherit;}
.esh-btn-add{background:#1a1a17;border:.5px solid #2a2a25;color:#C9A84C;font-size:12px;padding:7px 12px;border-radius:4px;cursor:pointer;white-space:nowrap;font-family:inherit;}

/* Date */
.esh-cert-grille{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:6px;}
.esh-cert-btn{background:#1a1a17;border:.5px solid #2a2a25;border-radius:4px;padding:10px;text-align:center;cursor:pointer;font-size:12px;color:#6b6b5a;transition:all .15s;line-height:1.4;}
.esh-cert-btn:hover,.esh-cert-btn.actif{border-color:#C9A84C;color:#C9A84C;}
.esh-cert-btn strong{display:block;font-size:13px;margin-bottom:2px;}

/* Bouton IA */
.esh-btn-ia{background:rgba(201,168,76,.1);border:.5px solid #C9A84C;color:#C9A84C;font-size:12px;padding:8px 14px;border-radius:4px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;margin-top:8px;font-family:inherit;transition:background .15s;}
.esh-btn-ia:hover{background:rgba(201,168,76,.18);}
.esh-btn-ia:disabled{opacity:.5;cursor:not-allowed;}

/* Personnes */
.esh-tag-personne{display:inline-flex;align-items:center;gap:5px;background:#1a1a17;border:.5px solid #2a2a25;border-radius:20px;padding:4px 10px;font-size:12px;color:#e8e0cc;}
.esh-tag-nom{color:#e8e0cc;}
.esh-tag-x{color:#6b6b5a;cursor:pointer;font-size:14px;line-height:1;margin-left:2px;}
.esh-tag-x:hover{color:#dc2626;}

/* Propriété / Source */
.esh-proprio-grille{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:6px;}
.esh-proprio-card{background:#1a1a17;border:.5px solid #2a2a25;border-radius:6px;padding:14px;cursor:pointer;transition:all .15s;font-size:12px;color:#6b6b5a;line-height:1.5;text-align:center;}
.esh-proprio-card:hover,.esh-proprio-card.actif{border-color:#C9A84C;color:#e8e0cc;background:rgba(201,168,76,.05);}
.esh-proprio-icone{font-size:24px;margin-bottom:6px;display:block;}
.esh-proprio-card strong{display:block;font-size:14px;color:#e8e0cc;margin-bottom:4px;}
.esh-source-grille{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:6px;}
.esh-source-btn{background:#1a1a17;border:.5px solid #2a2a25;border-radius:4px;padding:8px 6px;text-align:center;cursor:pointer;font-size:11px;color:#6b6b5a;transition:all .15s;}
.esh-source-btn:hover,.esh-source-btn.actif{border-color:#C9A84C;color:#C9A84C;}
.esh-source-champs{background:rgba(201,168,76,.03);border:.5px solid #2a2a25;border-radius:4px;padding:10px 12px;margin-top:8px;display:flex;flex-direction:column;gap:8px;}

/* Récap */
.esh-recap{border:.5px solid #2a2a25;border-radius:6px;overflow:hidden;margin-bottom:1rem;}
.esh-recap-ligne{display:flex;padding:9px 12px;border-bottom:.5px solid #2a2a25;background:#1a1a17;}
.esh-recap-ligne:last-child{border-bottom:none;}
.esh-recap-label{font-size:11px;color:#6b6b5a;min-width:110px;flex-shrink:0;padding-top:1px;}
.esh-recap-val{font-size:13px;color:#e8e0cc;word-break:break-word;}
.esh-btn-soumettre{background:#C9A84C;color:#111110;border:none;padding:12px 24px;font-size:14px;font-weight:500;border-radius:4px;cursor:pointer;width:100%;font-family:inherit;transition:opacity .15s;}
.esh-btn-soumettre:hover{opacity:.88;}

/* Nav */
.esh-nav{display:flex;gap:8px;justify-content:space-between;margin-top:1.25rem;}
.esh-btn-prec{background:transparent;border:.5px solid #2a2a25;color:#6b6b5a;font-size:13px;padding:9px 18px;border-radius:4px;cursor:pointer;font-family:inherit;}
.esh-btn-suiv{background:#C9A84C;border:none;color:#111110;font-size:13px;font-weight:500;padding:9px 20px;border-radius:4px;cursor:pointer;font-family:inherit;}

/* Badges */
.badge-H{display:inline-block;font-size:10px;background:rgba(201,168,76,.08);border:.5px solid #C9A84C;color:#C9A84C;padding:2px 7px;border-radius:2px;font-weight:500;}
.badge-h{display:inline-block;font-size:10px;background:rgba(138,96,32,.08);border:.5px solid #8a6020;color:#8a6020;padding:2px 7px;border-radius:2px;font-weight:500;}

@media(max-width:600px){
  .esh-grille2,.esh-proprio-grille{grid-template-columns:1fr;}
  .esh-type-grille{grid-template-columns:repeat(3,1fr);}
  .esh-source-grille{grid-template-columns:repeat(2,1fr);}
  .esh-cert-grille{grid-template-columns:1fr 1fr 1fr;}
  .esh-theme-grille{grid-template-columns:1fr;}
  .esh-steps .esh-step{font-size:9px;padding:7px 2px;}
  .esh-step-num{font-size:12px;}
}

/* ── VALIDATION ────────────────────────────────────────────────────────── */
.esh-validation-erreurs{background:rgba(220,38,38,.08);border:.5px solid #dc2626;border-radius:6px;padding:12px 14px;margin-bottom:1rem;}
.esh-val-titre{font-size:13px;color:#fca5a5;font-weight:500;margin-bottom:6px;}
.esh-val-item{font-size:12px;color:#fca5a5;padding:3px 0;line-height:1.4;}

/* ── DOUBLONS ──────────────────────────────────────────────────────────── */
.esh-doublon-bloc{background:rgba(245,158,11,.08);border:.5px solid #f59e0b;border-radius:6px;padding:14px;margin-bottom:1rem;}
.esh-doublon-titre{font-size:14px;color:#fbbf24;font-weight:500;margin-bottom:6px;}
.esh-doublon-desc{font-size:12px;color:#8a7040;margin-bottom:10px;line-height:1.5;}
.esh-doublon-item{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:.5px solid rgba(245,158,11,.2);font-size:13px;}
.esh-doublon-item:last-of-type{border-bottom:none;}
.esh-doublon-nom{color:#e8e0cc;flex:1;}
.esh-doublon-annee{color:#6b6b5a;font-style:italic;}
.esh-doublon-voir{font-size:11px;color:#C9A84C;flex-shrink:0;}
.esh-doublon-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap;}
.esh-btn-doublon-continuer{background:transparent;border:.5px solid #C9A84C;color:#C9A84C;font-size:12px;padding:7px 12px;border-radius:4px;cursor:pointer;font-family:inherit;}
.esh-btn-doublon-annuler{background:transparent;border:.5px solid #2a2a25;color:#6b6b5a;font-size:12px;padding:7px 12px;border-radius:4px;cursor:pointer;font-family:inherit;}

/* ── SCORE RÉCAP ───────────────────────────────────────────────────────── */
.esh-recap-score{border:.5px solid;border-radius:4px;padding:8px 12px;margin-bottom:8px;font-size:13px;text-align:center;}

/* ── INTRO IA ──────────────────────────────────────────────────────────── */
.esh-ia-intro{background:rgba(201,168,76,.06);border:.5px solid rgba(201,168,76,.3);border-radius:6px;padding:14px 16px;margin-bottom:1.25rem;}
.esh-ia-intro-titre{font-size:13px;color:#C9A84C;font-weight:500;margin-bottom:8px;}
.esh-ia-intro-corps{font-size:12px;color:#6b6b5a;line-height:1.7;}
.esh-ia-intro-corps ul{margin:6px 0 0 16px;padding:0;}
.esh-ia-intro-corps li{margin-bottom:4px;}
.esh-ia-intro-corps strong{color:#e8e0cc;}
