/* Revue intégrée — portage POC du portail Almaval existant. */
.creation-revue { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,480px); gap:24px;
  align-items:end; border-left:3px solid var(--acc); }
.creation-revue form { display:flex; align-items:end; gap:10px; }
.creation-revue .champ { flex:1; }
.revue-kicker { margin:0 0 6px; color:var(--acc); font:700 11px/1.2 ui-monospace,monospace;
  letter-spacing:.1em; text-transform:uppercase; }
.revues-liste { display:grid; gap:10px; }
.revue-ligne { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:16px; align-items:center;
  padding:18px 20px; color:var(--tx); background:var(--panneau); border:1px solid var(--bord); border-radius:var(--r); }
.revue-ligne:hover { text-decoration:none; border-color:var(--acc); background:var(--panneau2); }
.revue-ligne h2 { margin:3px 0; font-size:16px; }
.revue-ligne small { color:var(--tx3); }
.revue-etat { padding:4px 8px; color:var(--acc); border:1px solid var(--acc); border-radius:20px; font-size:11px; }
.revue-etat.soumise { color:var(--ok); border-color:var(--ok); }
.revue-fleche { color:var(--acc); }
.revue-entete { margin:-30px -28px 25px; padding:30px max(28px,calc((100vw - 1504px)/2));
  background:linear-gradient(110deg,var(--panneau),var(--fond2)); border-bottom:1px solid var(--bord); }
.revue-entete > a { display:inline-block; margin-bottom:20px; }
.revue-entete h1 { max-width:900px; font-size:clamp(25px,3vw,38px); }
.revue-entete nav { display:flex; gap:8px; margin-top:24px; }
.revue-entete nav a { padding:9px 13px; color:var(--tx2); border:1px solid var(--bord); border-radius:8px; }
.revue-entete nav a.on { color:var(--acc); border-color:var(--acc); background:var(--acc-f); }
.revue-entete nav span { margin-left:6px; color:var(--tx3); }
.revue-progression { display:grid; grid-template-columns:auto minmax(180px,460px); gap:14px; align-items:center; margin-top:18px; }
.revue-progression i { display:block; height:8px; overflow:hidden; background:var(--bord); border-radius:10px; }
.revue-progression i b { display:block; height:100%; background:linear-gradient(90deg,var(--acc),var(--ok)); }
.revue-outils { position:sticky; top:112px; z-index:20; display:flex; justify-content:space-between; align-items:center;
  gap:18px; margin-bottom:18px; padding:12px 15px; background:var(--fond-tr); border:1px solid var(--bord); border-radius:var(--r); backdrop-filter:blur(8px); }
.revue-outils p { margin:0; color:var(--tx2); }
.revue-cartes { display:grid; gap:16px; max-width:1120px; margin:0 auto; }
.revue-carte { position:relative; overflow:hidden; padding:23px 25px 22px 31px; background:var(--panneau);
  border:1px solid var(--bord); border-radius:var(--r); box-shadow:0 8px 28px #0002; }
.revue-carte::before { content:""; position:absolute; inset:0 auto 0 0; width:5px; background:var(--warn); }
.revue-carte.terminee::before { background:var(--ok); }
.revue-carte > header { display:flex; justify-content:space-between; gap:15px; align-items:center; }
.revue-folio { color:var(--tx3); font:700 10px/1.3 ui-monospace,monospace; letter-spacing:.08em; text-transform:uppercase; }
.revue-carte h2 { margin:9px 0 0; font-size:20px; }
.revue-enonce { max-width:82ch; color:var(--tx); font-size:16px; line-height:1.65; }
.revue-sources { display:grid; gap:7px; margin:18px 0 0; padding:0; list-style:none; }
.revue-sources li { display:flex; flex-wrap:wrap; gap:8px; align-items:center; color:var(--tx2); font-size:12.5px; }
.revue-sources blockquote { width:100%; margin:2px 0 0; padding-left:12px; color:var(--tx3); border-left:2px solid var(--bord); }
.revue-decision { margin-top:20px; padding-top:18px; border-top:1px solid var(--bord); }
.revue-decision > strong { display:block; margin-bottom:10px; }
.revue-choix { display:flex; flex-wrap:wrap; gap:8px; }
.revue-choix label { padding:9px 12px; background:var(--fond2); border:1px solid var(--bord); border-radius:8px; cursor:pointer; }
.revue-choix label:has(input:checked) { color:var(--acc); border-color:var(--acc); background:var(--acc-f); }
.revue-commentaire { margin-top:12px; }
.revue-commentaire textarea { width:100%; resize:vertical; padding:12px; color:var(--tx); background:var(--fond2); border:1px solid var(--bord); border-radius:8px; }
.revue-commentaire .btn { display:block; margin:9px 0 0 auto; }
.revue-comparaison { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:16px; }
.revue-comparaison section { padding:14px; background:var(--fond2); border:1px solid var(--bord); border-radius:8px; }
.revue-comparaison h3 { text-transform:none; letter-spacing:0; color:var(--tx); }
.affectations-revue summary { cursor:pointer; font-weight:700; }
.affectations-revue form { display:grid; gap:8px; margin-top:15px; }
.affectation { display:grid; grid-template-columns:auto 1fr auto auto; gap:9px; align-items:center; padding:8px; border-bottom:1px solid var(--bord2); }

@media (max-width:760px) {
  .creation-revue { grid-template-columns:1fr; }
  .creation-revue form { align-items:stretch; flex-direction:column; }
  .revue-ligne { grid-template-columns:1fr; }
  .revue-fleche { display:none; }
  .revue-entete { margin-top:-30px; }
  .revue-entete nav { overflow-x:auto; }
  .revue-progression { grid-template-columns:1fr; }
  .revue-outils { position:static; align-items:stretch; flex-direction:column; }
  .revue-comparaison { grid-template-columns:1fr; }
  .affectation { grid-template-columns:auto 1fr; }
}
