/* Coquille : mesures et couleurs de l'identité 2026. Le document garde ses propres couleurs. */
.visionneuse { display: flex; flex-direction: column; gap: var(--espace-2); padding: var(--espace-3); color: var(--text-primary); font-size: var(--t-texte); min-width: 0; min-height: 0; }
.visionneuse[data-presentation="panneau"] { position: fixed; z-index: 32; inset: var(--espace-5) calc(var(--espace-7) + var(--espace-5) + 2 * var(--espace-4)) var(--espace-5) auto; width: var(--largeur-activite); }
.visionneuse-ouverte .activite-agent { visibility: hidden; }
.visionneuse-dialogue { position: fixed; inset: var(--espace-5); margin: auto; border: 0; width: calc(100vw - 2 * var(--espace-5)); height: calc(100dvh - 2 * var(--espace-5)); max-width: none; max-height: none; padding: 0; color: var(--text-primary); }
.visionneuse-dialogue:not([open]) { display: none; }
.visionneuse-dialogue::backdrop { background: var(--dialogue-voile); }
.visionneuse-dialogue > .visionneuse { height: 100%; border: 0; background: transparent; box-shadow: none; }
.visionneuse[data-presentation="place"] { padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; backdrop-filter: none; min-height: calc(10 * var(--espace-7)); height: min(80dvh, calc(16 * var(--espace-7))); }
.visionneuse .case { min-width: 0; }
.visionneuse .case { padding: var(--espace-3); }
/* Deux lignes stables : nom + commandes ; métadonnées + verdict. */
.visionneuse-tete { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; gap: var(--espace-2); align-items: center; }
.visionneuse-type { display: flex; grid-column: 1; grid-row: 1; }
.visionneuse-tete h2 { grid-column: 2 / 4; grid-row: 1; margin: 0; font-size: var(--t-titre-case); line-height: var(--i-titre-case); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.visionneuse h2:focus:not(:focus-visible) { outline: none; }
.visionneuse-fermer { grid-column: 4; grid-row: 1; white-space: nowrap; }
.visionneuse-meta { grid-column: 1 / 3; grid-row: 2; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.visionneuse-agent { grid-column: 3 / 5; grid-row: 2; justify-self: end; border: 1px solid var(--border-controle); border-radius: var(--rayon-controle); padding: var(--espace-1) var(--espace-2); background: var(--bg-hover); }
.visionneuse[data-presentation="plein"] .visionneuse-tete { grid-template-columns: auto minmax(0, 1fr) auto auto auto; }
.visionneuse[data-presentation="plein"] .visionneuse-tete h2 { grid-column: 2; font-size: var(--t-titre-vue); line-height: var(--i-titre-vue); }
.visionneuse[data-presentation="plein"] .visionneuse-tete .visionneuse-agent { grid-column: 3; grid-row: 1; }
.visionneuse[data-presentation="plein"] .visionneuse-tete > .visionneuse-bouton-icone { grid-column: 4; grid-row: 1; }
.visionneuse[data-presentation="plein"] .visionneuse-fermer { grid-column: 5; }
.visionneuse[data-presentation="plein"] .visionneuse-meta { grid-column: 1 / -1; }
.visionneuse :is(.bouton, summary) { font-size: var(--t-texte); min-height: var(--cible-min); border-radius: var(--rayon-controle); }
.visionneuse .bouton { padding: var(--espace-1) var(--espace-2); border: calc(var(--espace-1) / 4) solid var(--border-controle); color: var(--text-primary); text-decoration: none; background: var(--bg-surface); }
.visionneuse .bouton:disabled { opacity: .5; cursor: default; }
.visionneuse :is(button,a,input,select,summary,textarea,[tabindex]):focus-visible { outline: calc(var(--espace-1) / 2) solid var(--accent); outline-offset: var(--espace-1); }
.visionneuse .hint, .visionneuse-agent { font-size: var(--t-aide); line-height: var(--i-aide); }
.visionneuse-agent[data-etat-agent="pret"] { color: var(--etat-reussi); border-color: var(--etat-reussi); background: var(--etat-reussi-fond); }
.visionneuse-agent[data-etat-agent="partielle"] { color: var(--etat-attention); border-color: var(--etat-attention); background: var(--etat-attention-fond); }
.visionneuse-agent[data-etat-agent="illisible"] { color: var(--etat-echec); border-color: var(--etat-echec); background: var(--etat-echec-fond); }
.visionneuse-barre { display: flex; flex-direction: column; gap: var(--espace-2); }
.visionneuse-barre-haut, .visionneuse-barre-milieu, .visionneuse-barre-bas, .visionneuse-commandes, .visionneuse-pagination, .visionneuse-voisins, .visionneuse-zoom, .visionneuse-recherche, .visionneuse-onglets, .visionneuse-pied { display: flex; gap: var(--espace-2); align-items: center; min-width: 0; }
.visionneuse-voisins { flex-wrap: wrap; }
.visionneuse-voisins:empty, .visionneuse-commandes:not(:has(> :not([hidden]))), .visionneuse-barre-bas:empty { display: none; }
.visionneuse-barre-milieu > .visionneuse-bouton-icone { margin-left: auto; }
.visionneuse-barre-milieu > .visionneuse-menu { margin-left: 0; }
.visionneuse-zoom { white-space: nowrap; }
.visionneuse-icone { width: var(--espace-4); height: var(--espace-4); flex: none; }
.visionneuse .visionneuse-bouton-icone, .visionneuse-menu summary { display: inline-flex; align-items: center; justify-content: center; width: var(--espace-6); height: var(--espace-6); padding: var(--espace-1); flex: none; }
.visionneuse-pagination { gap: var(--espace-1); flex-wrap: wrap; }
.visionneuse-commandes { max-width: 60%; }
.visionneuse-commandes > .visionneuse-pagination { max-width: 100%; }
.visionneuse-pagination:has(input[aria-label="Page"]) { flex-wrap: nowrap; white-space: nowrap; }
.visionneuse-pied { flex-wrap: wrap; flex: none; font-size: var(--t-aide); }
.visionneuse[data-presentation="plein"] .visionneuse-barre { flex-direction: row; flex-wrap: wrap; align-items: center; }
.visionneuse[data-presentation="plein"] .visionneuse-barre-haut { flex: 1; }
.visionneuse[data-presentation="plein"] .visionneuse-barre-milieu { display: contents; }
.visionneuse[data-presentation="plein"] .visionneuse-barre > .visionneuse-barre-milieu > .visionneuse-menu { order: 4; }
.visionneuse[data-presentation="place"]::before { content: none; }
.visionneuse[data-presentation="place"] .visionneuse-barre-milieu > .visionneuse-zoom { margin-right: auto; }
.visionneuse-barre-repli { flex-direction: row; align-items: center; }
.visionneuse-barre-repli > .visionneuse-barre-haut { display: contents; }
.visionneuse-barre-repli > .visionneuse-barre-bas { order: -1; }
.visionneuse-barre-repli > .visionneuse-barre-milieu { margin-left: auto; }

.visionneuse input, .visionneuse select, .visionneuse textarea { max-width: 100%; min-width: 0; border: calc(var(--espace-1) / 4) solid var(--border-controle); border-radius: var(--rayon-controle); padding: var(--espace-1) var(--espace-2); background: var(--bg-controle-verre); font-size: var(--t-aide); }
.visionneuse input::placeholder { color: var(--text-muted); opacity: 1; }
.visionneuse input[type="number"] { width: var(--espace-7); }
.visionneuse-recherche { flex: 1; min-width: calc(2 * var(--espace-7)); border: 1px solid var(--border-controle); border-radius: var(--rayon-controle); padding: var(--espace-1) var(--espace-2); background: var(--bg-controle-verre); }
.visionneuse-recherche input { flex: 1; width: 0; min-width: 0; padding: 0; border: 0; background: transparent; }
.visionneuse-recherche:not(.a-requete) > button { display: none; }
.visionneuse[data-presentation="panneau"] .visionneuse-recherche.a-requete { flex-wrap: wrap; }
.visionneuse[data-presentation="panneau"] .visionneuse-recherche.a-requete > input { flex-basis: 50%; }
.visionneuse-recherche button { font-size: var(--t-repere); }
.visionneuse-menu { position: relative; margin-left: auto; flex: none; }
.visionneuse-menu summary { border: calc(var(--espace-1) / 4) solid var(--border-controle); color: var(--text-primary); cursor: pointer; list-style: none; }
.visionneuse-plus { position: absolute; right: 0; top: 100%; z-index: 5; width: min(calc(6 * var(--espace-7)), calc(100vw - 2 * var(--espace-5))); background: linear-gradient(var(--bg-hover), var(--bg-hover)), linear-gradient(var(--bg-surface), var(--bg-surface)), var(--verre-fumee); box-shadow: var(--ombre-verre); display: flex; flex-direction: column; gap: var(--espace-2); }
.visionneuse-plus button { text-align: left; }
.visionneuse-etat, .visionneuse-annonce, .visionneuse-aide { font-size: var(--t-aide); line-height: var(--i-aide); overflow-wrap: anywhere; flex: none; }
.visionneuse-annonce { max-height: 30%; overflow: auto; }
.visionneuse-lien { display: flex; flex-wrap: wrap; gap: var(--espace-2); }
.visionneuse-lien p { width: 100%; }
.visionneuse .visionneuse-onglets { padding-block: 0; gap: var(--espace-5); }
.visionneuse-onglets .bouton { border: 0; border-bottom: calc(var(--espace-1) / 2) solid transparent; border-radius: 0; padding: var(--espace-3) 0; background: none; color: var(--text-secondary); white-space: nowrap; }
.visionneuse-onglets [aria-selected="true"] { color: var(--text-primary); border-bottom-color: var(--accent); font-weight: var(--g-moyen); }
.visionneuse[data-presentation="place"] .visionneuse-onglets [aria-selected="true"] { border-bottom-color: var(--text-primary); }
.visionneuse-decouverte { background: var(--bg-hover); display: flex; flex-direction: column; align-items: start; gap: var(--espace-2); font-size: var(--t-texte); line-height: var(--i-texte); }
.visionneuse-repere { font-size: var(--t-repere); line-height: var(--i-repere); }
.visionneuse .visionneuse-compris { min-height: var(--cible-min); padding: 0; border: 0; background: none; text-decoration: underline; text-underline-offset: var(--espace-1); font-weight: var(--g-moyen); }
.visionneuse-reference, .visionneuse-citation { text-transform: none; }
.visionneuse-citation { position: sticky; top: 0; z-index: 2; margin-bottom: var(--espace-3); font-size: var(--t-aide); line-height: var(--i-aide); }
.visionneuse-citation span { display: inline-block; border: 1px solid var(--border-controle); border-radius: var(--rayon-controle); padding: var(--espace-1) var(--espace-2); background: linear-gradient(var(--bg-hover), var(--bg-hover)), linear-gradient(var(--bg-surface), var(--bg-surface)), var(--verre-fumee); }
.visionneuse-rendu:has(.visionneuse-pdf) > .visionneuse-citation { text-align: center; }
.visionneuse-rendu:has(> .visionneuse-citation:not([hidden])) > .visionneuse-pdf { top: calc(var(--espace-6) + var(--espace-3)); }
.visionneuse-etat { display: flex; flex-direction: column; gap: var(--espace-1); }
.visionneuse-etat strong, .visionneuse-panne h3 { font-size: var(--t-titre-case); font-weight: var(--g-gras); line-height: var(--i-titre-case); }
.visionneuse [data-ton="reussi"] { background: linear-gradient(var(--etat-reussi-fond), var(--etat-reussi-fond)), var(--bg-surface); }
.visionneuse [data-ton="reussi"] > strong { color: var(--etat-reussi); }
.visionneuse [data-ton="attention"] > :is(strong,h3) { color: var(--etat-attention); }
.visionneuse [data-ton="echec"] > h3 { color: var(--etat-echec); }
.visionneuse .visionneuse-panne { flex: none; }
.visionneuse-panne h3 { margin-bottom: var(--espace-3); }
.visionneuse-aide, .visionneuse-annonce { background: linear-gradient(var(--bg-hover), var(--bg-hover)), linear-gradient(var(--bg-surface), var(--bg-surface)), var(--verre-fumee); box-shadow: var(--ombre-verre); }
.visionneuse-infobulle { position: absolute; z-index: 6; pointer-events: none; max-width: min(100%, calc(6 * var(--espace-7))); font-size: var(--t-aide); line-height: var(--i-aide); background: linear-gradient(var(--bg-hover), var(--bg-hover)), linear-gradient(var(--bg-surface), var(--bg-surface)), var(--verre-fumee); box-shadow: var(--ombre-verre); }
.visionneuse-rendu { flex: 1; min-height: calc(2 * var(--espace-7)); overflow: auto; position: relative; line-height: var(--i-lecture); }
.visionneuse-rendu > p, .visionneuse-rendu > button { margin-bottom: var(--espace-3); }
.visionneuse-texte pre { white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; }
.visionneuse .morceau { margin-bottom: var(--espace-4); }
.visionneuse .morceau h3 { font-size: var(--t-aide); margin-bottom: var(--espace-2); }
.visionneuse-ligne { border-left: calc(var(--espace-1) / 2) solid transparent; display: grid; grid-template-columns: calc(var(--espace-7) + var(--espace-2)) minmax(0,1fr); gap: var(--espace-2); }
.visionneuse-ligne > button { background: none; border: 0; padding: 0 var(--espace-1); color: var(--text-secondary); text-align: right; font-size: var(--t-aide); }
.visionneuse-ligne code { white-space: pre-wrap; overflow-wrap: anywhere; font-size: var(--t-texte); }
.visionneuse-sans-retour .visionneuse-ligne code, .visionneuse-sans-retour pre { white-space: pre; overflow-wrap: normal; }
.visionneuse-sans-retour .visionneuse-texte { width: max-content; min-width: 100%; }
.visionneuse .est-cite { outline: none; background-color: var(--bg-hover); box-shadow: inset calc(var(--espace-1) / 2) 0 var(--text-primary); }
.visionneuse .visionneuse-ligne.est-cite { border-left-color: var(--text-primary); box-shadow: none; }
.visionneuse .hljs-keyword, .visionneuse .hljs-title { color: var(--text-primary); font-weight: var(--g-moyen); }
.visionneuse .hljs-string, .visionneuse .hljs-number, .visionneuse .hljs-comment { color: var(--text-secondary); }
.visionneuse-markdown { overflow-wrap: anywhere; }
.visionneuse-markdown :is(p,ul,ol,pre,table,blockquote,h1,h2,h3) { margin-block: var(--espace-3); }
.visionneuse-markdown ul, .visionneuse-markdown ol { padding-left: var(--espace-5); }
.visionneuse-markdown ul { list-style: disc; }
.visionneuse-markdown pre { overflow-x: auto; }
.visionneuse-sommaire button { display: block; margin: var(--espace-1); }
.visionneuse-table-defile { overflow: auto; max-width: 100%; }
.visionneuse table { border-collapse: collapse; font-size: var(--t-aide); min-width: 100%; }
.visionneuse :is(td,th) { padding: var(--espace-1) var(--espace-2); border: calc(var(--espace-1) / 4) solid var(--border-subtle); text-align: left; white-space: pre-wrap; min-width: var(--espace-7); }
.visionneuse th { background: var(--bg-hover); }
.visionneuse td[aria-selected="true"] { outline: calc(var(--espace-1) / 2) solid var(--text-primary); outline-offset: calc(-1 * var(--espace-1) / 2); }
.visionneuse[data-presentation="place"] td[aria-selected="true"] { outline-color: var(--border-controle); }
.visionneuse-image { width: 100%; height: 100%; overflow: auto; touch-action: none; }
.visionneuse-image img { display: block; object-fit: contain; margin: auto; }
.visionneuse :is(audio,video) { max-width: 100%; max-height: 100%; display: block; margin: auto; }
.visionneuse-html { display: block; width: 100%; min-height: calc(7 * var(--espace-7)); border: 0; background: Canvas; color: CanvasText; }
.visionneuse-courrier, .visionneuse-liens { margin-bottom: var(--espace-3); overflow-wrap: anywhere; }
.visionneuse-liens button { display: block; margin-block: var(--espace-2); }
.visionneuse-pdf { position: absolute; inset: var(--espace-2); overflow: auto; }
.visionneuse .pdfViewer .page.est-cite { background: none; outline: calc(var(--espace-1) / 2) solid var(--text-secondary); outline-offset: calc(-1 * var(--espace-1) / 2); }
.citation { font: inherit; text-decoration: underline; text-underline-offset: var(--espace-1); }
.citation-absente { text-decoration: underline dotted; text-underline-offset: var(--espace-1); }
@media (min-width: 1100px) { .visionneuse[data-presentation="plein"] .visionneuse-recherche { flex: 1; } }
@media (max-width: 1099px) { .visionneuse[data-presentation="panneau"] { inset: var(--espace-3); width: auto; } }
@media (max-width: 640px) {
  .visionneuse-dialogue { inset: 0; width: 100%; height: 100dvh; border-radius: 0; }
  .visionneuse { padding: var(--espace-2); gap: var(--espace-1); }
  .visionneuse .case { padding: var(--espace-2); }
  .visionneuse-recherche { gap: var(--espace-1); }
  .visionneuse-recherche button { max-width: calc(3 * var(--espace-6)); line-height: var(--i-aide); }
  .visionneuse-decouverte { max-height: calc(3 * var(--espace-7)); overflow: auto; }

  .visionneuse-voisins { width: 100%; }
  .visionneuse-barre { max-height: 35dvh; }
  .visionneuse[data-presentation="plein"] .visionneuse-barre-haut { flex-basis: 100%; }
  .visionneuse-barre-haut { flex-wrap: wrap; }
  .visionneuse-barre-milieu:empty, .visionneuse-barre-bas:empty { display: none; }
  .visionneuse[data-presentation="plein"] .visionneuse-tete { grid-template-columns: auto minmax(0,1fr) auto auto; }
  .visionneuse[data-presentation="plein"] .visionneuse-tete h2 { grid-column: 2 / 4; font-size: var(--t-titre-case); line-height: var(--i-titre-case); }
  .visionneuse[data-presentation="plein"] .visionneuse-tete .visionneuse-agent { grid-row: 2; grid-column: 3 / 5; }
  .visionneuse[data-presentation="plein"] .visionneuse-fermer { grid-column: 4; }
  .visionneuse[data-presentation="plein"] .visionneuse-meta { grid-column: 1 / -1; grid-row: 3; white-space: normal; overflow-wrap: anywhere; }
  .visionneuse-plus { position: fixed; top: auto; right: var(--espace-3); bottom: var(--espace-3); }
}
@media (prefers-reduced-motion: reduce) { .visionneuse *, .visionneuse { scroll-behavior: auto !important; animation: none !important; transition: none !important; } }
.visionneuse-chercher-mobile { display: none !important; }
@media (max-width: 640px) {
  .visionneuse-chercher-mobile:not([hidden]) { display: inline-flex !important; }
  .visionneuse-recherche:not(.est-depliee) { display: none; }
  .visionneuse-recherche { order: 2; flex-basis: 100%; }
  .visionneuse-menu { order: 1; }
  .visionneuse-chercher-mobile { order: 0; }
  .visionneuse-pagination select { max-width: calc(3 * var(--espace-7)); }
}
.visionneuse h2:focus-visible { outline-offset: 0; }
.visionneuse .visionneuse-ligne > button { background: none; border: 0; border-radius: 0; }
