/* ================================================================
   Kazio — feuille de style (charte editoriale noir/or)
   ================================================================ */
:root{
  --noir:#0d0d0d; --blanc:#f5f2ed; --or:#c9a84c; --or-clair:#e8d5a3;
  --gris:#6b6b6b; --gris-clair:#e8e4de; --rouge:#c0392b; --vert:#2d6a4f; --bleu:#3b82f6;
}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--blanc);color:var(--noir);font-family:'DM Sans',sans-serif;font-weight:300;line-height:1.7;
  display:flex;flex-direction:column;min-height:100vh}

.topbar{background:var(--noir);color:var(--blanc);display:flex;justify-content:space-between;
  align-items:center;padding:16px 40px;border-bottom:1px solid rgba(201,168,76,.25)}
.brand{font-family:'Playfair Display',serif;font-weight:900;font-size:22px;letter-spacing:-.01em}
.brand span{color:var(--or)}
.user{font-size:13px;color:#bbb}
.user a{color:var(--or);text-decoration:none}

.wrap{max-width:980px;margin:0 auto;padding:48px 24px}
.hero{margin-bottom:36px}
.tag{font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--or);margin-bottom:16px}
h1{font-family:'Playfair Display',serif;font-size:clamp(32px,5vw,56px);font-weight:900;line-height:1.05;letter-spacing:-.02em}
h1 em{color:var(--or);font-style:italic;font-weight:400;display:block}
.lead{font-size:17px;color:var(--gris);max-width:680px;margin-top:14px}

.card{background:#fff;border:1px solid var(--gris-clair);border-top:4px solid var(--or);
  padding:28px 30px;margin-bottom:24px}
.card h2{font-family:'Playfair Display',serif;font-size:24px;font-weight:700;margin-bottom:18px}

label{display:block;font-size:13px;letter-spacing:.5px;color:var(--gris);font-weight:500;margin-bottom:14px}
input[type=text],input[type=email],input[type=password]{display:block;width:100%;margin-top:6px;
  padding:11px 13px;border:1px solid var(--gris-clair);border-radius:4px;font:inherit;background:#fff}
input[type=file]{display:block;margin-top:8px;font:inherit}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.drop{border:1px dashed var(--or);background:rgba(201,168,76,.06);padding:18px;border-radius:6px}
.hint{font-size:13px;color:var(--gris);margin:4px 0 14px}
.filelist{margin:6px 0 16px}
.filerow{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--gris-clair)}
.filerow .fname{flex:1;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.filerow input[type=text]{width:auto;max-width:200px;margin-top:0}
.filerow .frm{background:none;border:none;color:var(--rouge);font-size:22px;line-height:1;cursor:pointer;padding:0 4px}
.filerow .frm:hover{color:#000}

.btn{display:inline-block;padding:14px 30px;background:var(--noir);color:#fff;border:none;
  font:inherit;font-size:12px;letter-spacing:3px;text-transform:uppercase;font-weight:700;cursor:pointer;
  transition:all .25s}
.btn:hover{background:var(--or);color:var(--noir)}
.btn[disabled]{opacity:.5;cursor:wait}
.msg{margin-top:14px;font-size:14px;min-height:18px}
.poll-timer{font-variant-numeric:tabular-nums;font-weight:600;color:var(--noir)}

/* Bilan d enrichissement : ajouts editables */
.prop-bloc{border:1px solid var(--gris-clair);border-radius:4px;padding:12px 14px;margin:10px 0;background:#fafafa}
.prop-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.prop-item{display:flex;gap:10px;align-items:flex-start;margin:8px 0}
.prop-item input[type=checkbox]{margin-top:9px;width:auto;flex-shrink:0}
.prop-txt{flex:1;width:100%;font:inherit;font-size:14px;padding:8px 10px;border:1px solid var(--gris-clair);border-radius:4px;resize:vertical}

/* Bloc cle/valeur (synthese AO) */
.kv{margin:8px 0 0}
.kv div{padding:7px 0;border-bottom:1px solid var(--gris-clair);font-size:15px}
.kv .k{display:inline-block;min-width:130px;color:var(--gris);font-weight:500}
.synthese{margin:18px 0 0 20px;font-size:15.5px;line-height:1.6}
.synthese li{margin-bottom:8px}

/* Bibliotheque : barre d outils + tableau ligne par bloc */
.wrap-large{max-width:1700px}
.toolbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;position:sticky;top:0;z-index:6;margin-bottom:14px}
.toolbar .btn{padding:10px 18px}
.tb-import{display:flex;align-items:center;gap:10px;flex-wrap:wrap}

.brows{display:flex;flex-direction:column;gap:18px}
.brow{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:14px;align-items:stretch}
/* chaque case = encadre auto-explicite, code couleur par rubrique */
.bcell{min-width:0;background:#fff;border:1px solid var(--gris-clair);border-radius:6px;
  border-top:3px solid var(--gris-clair);padding:12px 14px}
.bcell-bloc{border-top-color:var(--or)}
.bcell-enrich{border-top-color:var(--bleu);background:#f6f8ff}
.bcell-alert{border-top-color:var(--rouge);background:#fdf6f5}
.bcell-lab{font-size:10px;letter-spacing:2px;text-transform:uppercase;font-weight:700;margin-bottom:10px}
.bcell-enrich .bcell-lab{color:var(--bleu)}
.bcell-alert .bcell-lab{color:var(--rouge)}
.bcode{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.bcode input{font:inherit;font-weight:500;flex:1;min-width:0;padding:6px 8px;border:1px solid var(--gris-clair);border-radius:4px}
.bcell-bloc textarea{width:100%;font:inherit;font-size:13.5px;padding:10px;border:1px solid var(--gris-clair);border-radius:4px;resize:vertical}
/* textareas auto-extensibles + hauteur mini uniforme (JS ajuste a la hauteur du contenu) */
.brows textarea{min-height:120px;overflow:hidden}
.bactif{display:inline-flex;align-items:center;gap:6px;margin-top:8px;font-size:13px}
.bactif input{width:auto;margin:0}
.bactif .hint{margin:0}
.bcell-alert ul{margin:0 0 0 18px;font-size:13.5px;color:#333}
.bcell-alert li{margin-bottom:8px}
.bvide{color:#aaa;font-size:13px;font-style:italic}
@media(max-width:1100px){ .brow{grid-template-columns:1fr} }
.msg.ok{color:var(--vert)} .msg.ko{color:var(--rouge)}

.tbl{width:100%;border-collapse:collapse;font-size:14px}
.tbl th{text-align:left;padding:10px 12px;border-bottom:2px solid var(--noir);font-size:11px;
  letter-spacing:.5px;text-transform:uppercase;color:var(--gris)}
.tbl td{padding:11px 12px;border-bottom:1px solid var(--gris-clair)}
.lien{color:var(--or);font-weight:700;text-decoration:none;font-size:13px}
.empty{color:var(--gris)}

.badge{font-size:11px;letter-spacing:.5px;padding:3px 9px;border-radius:3px;font-weight:600}
.badge.s-nouveau{background:#eee;color:#555}
.badge.s-analyse{background:rgba(201,168,76,.15);color:#8a6d1f}
.badge.s-genere{background:#f0f4ff;color:var(--bleu)}
.badge.s-livre{background:#f0faf4;color:var(--vert)}

.foot{background:var(--noir);color:#888;text-align:center;padding:28px;font-size:13px;
  border-top:1px solid rgba(201,168,76,.3);margin-top:auto}
.foot span{color:var(--or)}

@media(max-width:680px){.grid2{grid-template-columns:1fr}.topbar,.wrap{padding-left:16px;padding-right:16px}}
