/*
 * Veille PLF 2027 — charte SCC (palette et polices de compagnies.org / Budget SCC).
 * Polices embarquées, aucune ressource externe.
 */

@font-face { font-family: 'DM Sans'; src: url('/polices/dm-sans-variable.woff2') format('woff2'); font-weight: 100 1000; font-display: swap; }
@font-face { font-family: 'DM Serif Display'; src: url('/polices/dm-serif-display-400.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'DM Serif Display'; src: url('/polices/dm-serif-display-400-italique.woff2') format('woff2'); font-weight: 400; font-style: italic; font-display: swap; }

:root {
  color-scheme: light;
  --rose: #e8185a;
  --rose-solide: #c2185b;
  --rose-light: #f9e0e9;
  --rose-pale: #fdf4f7;
  --charcoal: #1a1a2e;
  --texte: #1a1a2e;
  --slate: #3d3d5c;
  --mid: #6a6a8a;
  --line: #e8e8f0;
  --bg: #fafafa;
  --carte: #ffffff;
  --green: #1b7a5f;
  --green-light: #e2f4ee;
  --amber: #8a4008;
  --amber-light: #fef3c7;
  --danger: #b5342a;
  --danger-light: #fdecea;
  --blue: #1e5a9e;
  --blue-light: #e4edf7;
  --sur-rose: #b3134a;
  --gris-doux: #f5f5fa;
  --ombre: 0 1px 2px rgb(26 26 46 / 6%), 0 4px 16px rgb(26 26 46 / 5%);
  --rayon: 10px;
  --serif: 'DM Serif Display', Georgia, serif;
  --sans: 'DM Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
}

:root[data-theme='dark'] {
  color-scheme: dark;
  --rose: #ec407a;
  --rose-light: #3a1526;
  --rose-pale: #24101a;
  --charcoal: #232334;
  --texte: #e8e8f2;
  --slate: #c6c6d6;
  --mid: #b0b0c2;
  --line: #2f2f42;
  --bg: #12121a;
  --carte: #1b1b28;
  --green: #4fc39d;
  --green-light: #12301f;
  --amber: #f0b26b;
  --amber-light: #33240f;
  --danger: #f08a80;
  --danger-light: #3a1715;
  --blue: #7fb0ec;
  --blue-light: #142338;
  --sur-rose: #f48fb1;
  --gris-doux: #20202e;
  --ombre: 0 1px 2px rgb(0 0 0 / 40%);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme='light']) {
    color-scheme: dark;
    --rose: #ec407a;
    --rose-light: #3a1526;
    --rose-pale: #24101a;
    --charcoal: #232334;
    --texte: #e8e8f2;
    --slate: #c6c6d6;
    --mid: #b0b0c2;
    --line: #2f2f42;
    --bg: #12121a;
    --carte: #1b1b28;
    --green: #4fc39d;
    --green-light: #12301f;
    --amber: #f0b26b;
    --amber-light: #33240f;
    --danger: #f08a80;
    --danger-light: #3a1715;
    --blue: #7fb0ec;
    --blue-light: #142338;
    --sur-rose: #f48fb1;
    --gris-doux: #20202e;
    --ombre: 0 1px 2px rgb(0 0 0 / 40%);
  }
}

*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0; background: var(--bg); color: var(--texte);
  font: 15px/1.55 var(--sans); font-feature-settings: 'tnum' 0;
}
h1, h2, h3 { line-height: 1.2; margin: 0 0 .5em; }
h1 { font: 400 2.1rem/1.15 var(--serif); letter-spacing: -.01em; }
h2 { font-size: 1.05rem; font-weight: 700; letter-spacing: .01em; }
a { color: var(--sur-rose); text-underline-offset: 2px; }
a:hover { color: var(--rose); }
p { margin: 0 0 .8em; }
mark { background: var(--amber-light); color: inherit; border-radius: 2px; padding: 0 1px; box-shadow: 0 0 0 1px var(--amber); }
button, input, select, textarea { font: inherit; color: inherit; }
:focus-visible { outline: 2px solid var(--rose); outline-offset: 2px; }
.icone { width: 1.05em; height: 1.05em; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; vertical-align: -.15em; flex: none; }
.discret { color: var(--mid); font-size: .88rem; }
.vide { color: var(--mid); font-style: italic; }
.chargement { padding: 3rem; color: var(--mid); }
.visuel-masque { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.evitement { position: absolute; left: -999px; }
.evitement:focus { left: 1rem; top: 1rem; z-index: 99; background: var(--carte); padding: .5rem 1rem; }
.espace { flex: 1; }

/* --- Coquille --------------------------------------------------------------- */

#app { min-height: 100vh; }
#app:has(.barre-laterale) { display: grid; grid-template-columns: 248px minmax(0, 1fr); }
.barre-laterale {
  position: sticky; top: 0; height: 100vh; overflow-y: auto;
  background: var(--charcoal); color: #e8e8f2; padding: 1.4rem 1rem; display: flex; flex-direction: column; gap: 1rem;
}
:root[data-theme='dark'] .barre-laterale { background: #171723; border-right: 1px solid var(--line); }
.marque { color: #fff; text-decoration: none; display: flex; flex-direction: column; gap: .1rem; padding: 0 .4rem; }
.marque:hover { color: #fff; }
.logo { font: 400 1.9rem/1 var(--serif); letter-spacing: .01em; }
.logo em { color: #ff4f86; font-style: italic; margin-left: .2em; }
.sous-marque { font-size: .78rem; color: #b0b0c2; text-transform: uppercase; letter-spacing: .08em; }
.nav-corps { display: flex; flex-direction: column; gap: 1rem; flex: 1; }
.nav-liste { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.nav-liste a { display: block; padding: .55rem .75rem; border-radius: 8px; color: #d6d6e4; text-decoration: none; font-weight: 500; }
.nav-liste a:hover { background: rgb(255 255 255 / 7%); color: #fff; }
.nav-liste a[aria-current='page'] { background: var(--rose-solide); color: #fff; }
.recherche-globale { display: flex; align-items: center; gap: .4rem; background: rgb(255 255 255 / 8%); border-radius: 8px; padding: .1rem .6rem; color: #b0b0c2; }
.recherche-globale input { background: none; border: 0; color: #fff; padding: .45rem 0; width: 100%; outline: none; }
.recherche-globale input::placeholder { color: #9a9ab0; }
.nav-pied { margin-top: auto; border-top: 1px solid rgb(255 255 255 / 12%); padding-top: .9rem; font-size: .85rem; }
.qui { display: flex; flex-direction: column; margin-bottom: .5rem; }
.qui span { color: #b0b0c2; }
.nav-actions { display: flex; align-items: center; justify-content: space-between; }
.nav-actions .lien-bouton { color: #d6d6e4; }
.nav-actions .bouton-icone { color: #d6d6e4; border-color: rgb(255 255 255 / 18%); }
.barre-laterale .menu-mobile { display: none; }
.contenu { min-width: 0; outline: none; }
.page { max-width: 1240px; margin: 0 auto; padding: 2.2rem 2.4rem 4rem; }

/* --- Éléments communs ------------------------------------------------------- */

.page-entete { margin-bottom: 1.6rem; }
.surtitre { text-transform: uppercase; letter-spacing: .09em; font-size: .74rem; font-weight: 700; color: var(--sur-rose); margin-bottom: .45rem; }
.chapo { color: var(--slate); max-width: 70ch; font-size: 1.02rem; }
.bloc { background: var(--carte); border: 1px solid var(--line); border-radius: var(--rayon); padding: 1.3rem 1.4rem; box-shadow: var(--ombre); margin-bottom: 1.3rem; }
.grille-2 { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 1.3rem; align-items: start; }
.colonne { display: flex; flex-direction: column; min-width: 0; }
.titre-outils { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-bottom: .4rem; }
.titre-outils h2 { margin: 0; }
.legende { color: var(--mid); font-size: .86rem; }
.note-bas { color: var(--mid); font-size: .82rem; margin: .6rem 0 0; }
.barre-outils { display: flex; align-items: center; gap: .8rem; flex-wrap: wrap; margin-bottom: 1.2rem; }

.bouton {
  display: inline-flex; align-items: center; gap: .4rem; border-radius: 8px; padding: .55rem 1rem;
  border: 1px solid var(--line); background: var(--carte); cursor: pointer; font-weight: 600; text-decoration: none; color: var(--texte);
}
.bouton:hover { border-color: var(--mid); color: var(--texte); }
.bouton.primaire { background: var(--rose-solide); border-color: var(--rose-solide); color: #fff; }
.bouton.primaire:hover { background: #a3154c; color: #fff; }
.bouton.discret { background: transparent; }
.bouton.petit { padding: .32rem .7rem; font-size: .85rem; font-weight: 500; }
.bouton.large { width: 100%; justify-content: center; padding: .8rem 1rem; }
.bouton.danger, .lien-bouton.danger { color: var(--danger); }
.bouton:disabled { opacity: .6; cursor: wait; }
.bouton-icone { display: inline-grid; place-items: center; width: 2rem; height: 2rem; border-radius: 8px; border: 1px solid var(--line); background: transparent; cursor: pointer; color: var(--slate); }
.bouton-icone:hover:not(:disabled) { border-color: var(--mid); color: var(--texte); }
.bouton-icone:disabled { opacity: .35; cursor: default; }
.lien-bouton { background: none; border: 0; padding: 0; cursor: pointer; color: var(--sur-rose); font-size: .85rem; font-weight: 600; }
.lien-bouton:hover { text-decoration: underline; }
.segments { display: inline-flex; border: 1px solid var(--line); border-radius: 8px; overflow: hidden; background: var(--carte); }
.segments button { border: 0; background: none; padding: .38rem .8rem; cursor: pointer; font-size: .85rem; font-weight: 600; color: var(--mid); }
.segments button[aria-pressed='true'] { background: var(--charcoal); color: #fff; }
:root[data-theme='dark'] .segments button[aria-pressed='true'] { background: var(--rose-solide); }
.case { display: inline-flex; align-items: center; gap: .35rem; font-size: .88rem; cursor: pointer; }
.case input { accent-color: var(--rose-solide); width: 1rem; height: 1rem; }
input[type='text'], input[type='email'], input[type='search'], input[type='date'], select, textarea {
  border: 1px solid var(--line); border-radius: 8px; padding: .5rem .7rem; background: var(--carte); width: 100%;
}
input:focus, select:focus, textarea:focus { border-color: var(--rose); outline: 2px solid var(--rose-light); outline-offset: 0; }
textarea { resize: vertical; line-height: 1.5; }
select { width: auto; }
.filtre { display: inline-flex; align-items: center; gap: .4rem; font-size: .85rem; color: var(--mid); }
.puce-lien { display: inline-flex; align-items: center; gap: .3rem; padding: .2rem .6rem; border-radius: 99px; background: var(--rose-pale); border: 1px solid var(--rose-light); text-decoration: none; font-size: .82rem; margin: 0 .3rem .3rem 0; }
.fil { margin-bottom: 1rem; font-size: .9rem; }
.fil a { text-decoration: none; }
.compteur { display: inline-flex; align-items: center; gap: .2rem; font-size: .78rem; color: var(--sur-rose); font-weight: 700; white-space: nowrap; }

.baisse { color: var(--danger); }
.hausse { color: var(--green); }
.stable { color: var(--mid); }

/* --- Tableau de bord ---------------------------------------------------------- */

.kpis { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .9rem; margin-bottom: 1.4rem; }
.kpi {
  display: flex; flex-direction: column; gap: .15rem; padding: 1rem 1.05rem; background: var(--carte); border: 1px solid var(--line);
  border-radius: var(--rayon); text-decoration: none; color: var(--texte); box-shadow: var(--ombre); transition: border-color .15s;
}
.kpi:hover { border-color: var(--rose); color: var(--texte); }
.kpi-libelle { font-size: .78rem; color: var(--mid); font-weight: 600; min-height: 2.3em; }
.kpi-valeur { font: 400 1.6rem/1.2 var(--serif); font-variant-numeric: tabular-nums; }
.kpi-ecart { font-weight: 700; font-size: .9rem; font-variant-numeric: tabular-nums; }
.kpi-detail { font-size: .78rem; color: var(--mid); }
.kpi-alerte { background: var(--rose-pale); border-color: var(--rose-light); border-left: 4px solid var(--rose); }
.kpi-alerte .kpi-valeur { color: var(--sur-rose); }

.alertes { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.alerte { position: relative; border: 1px solid var(--line); border-left: 4px solid var(--mid); border-radius: 8px; background: var(--carte); }
.alerte.prio-haute { border-left-color: var(--rose); }
.alerte.prio-moyenne { border-left-color: var(--amber); }
.alerte a { display: flex; flex-direction: column; gap: .15rem; padding: .7rem .9rem; text-decoration: none; color: var(--texte); }
.alerte a:hover { background: var(--gris-doux); }
.alerte strong { font-size: .97rem; padding-right: 2.5rem; }
.alerte-constat { color: var(--slate); font-size: .86rem; }
.alerte .compteur { position: absolute; right: .8rem; top: .75rem; }
.prio { font-size: .7rem; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; color: var(--mid); }
.prio-haute .prio, .prio.prio-haute { color: var(--sur-rose); }
.prio-moyenne .prio, .prio.prio-moyenne { color: var(--amber); }

.graphique { width: 100%; height: auto; display: block; font-family: var(--sans); }
.graphique .grille { stroke: var(--line); stroke-width: 1; }
.graphique .axe-zero { stroke: var(--mid); stroke-width: 1.4; }
.graphique .axe { fill: var(--mid); font-size: 11px; }
.graphique .lib { fill: var(--texte); font-size: 13px; font-weight: 600; }
.graphique .sous-lib { fill: var(--mid); font-size: 11px; }
.graphique .delta { font-size: 13px; font-weight: 700; }
.graphique .baisse .barre { fill: var(--danger); }
.graphique .hausse .barre { fill: var(--green); }
.graphique .stable .barre { fill: var(--mid); }
.graphique .baisse .delta { fill: var(--danger); }
.graphique .hausse .delta { fill: var(--green); }
.graphique .rangee:hover .lib { fill: var(--sur-rose); }

.liste-simple { list-style: none; margin: 0; padding: 0; display: grid; gap: .7rem; }
.liste-simple li { border-bottom: 1px solid var(--line); padding-bottom: .6rem; }
.liste-simple li:last-child { border: 0; padding: 0; }
.dernieres-notes p { margin: .2rem 0 0; color: var(--slate); font-size: .9rem; }

/* --- Crédits ---------------------------------------------------------------- */

.table-defile { overflow-x: auto; }
table { border-collapse: collapse; width: 100%; font-size: .9rem; }
th, td { padding: .55rem .6rem; text-align: left; border-bottom: 1px solid var(--line); vertical-align: middle; }
thead th { font-size: .74rem; text-transform: uppercase; letter-spacing: .06em; color: var(--mid); font-weight: 700; border-bottom: 2px solid var(--line); white-space: nowrap; }
.num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
td.num.baisse, td.num.hausse { font-weight: 700; }
.credits tbody th { font-weight: 600; }
.ligne-prog { cursor: pointer; }
.ligne-prog:hover { background: var(--gris-doux); }
.ligne-total th, .ligne-total td { font-weight: 800; background: var(--gris-doux); }
.ligne-titre th { padding-left: 2.2rem; font-weight: 400; color: var(--slate); font-size: .86rem; }
.ligne-titre td { font-size: .86rem; }
tr.focus { box-shadow: inset 4px 0 0 var(--rose); }
.deplier { border: 0; background: none; cursor: pointer; color: var(--mid); width: 1.2rem; padding: 0; }
.outils { white-space: nowrap; text-align: right; }
.source { color: var(--mid); display: inline-grid; place-items: center; width: 1.9rem; height: 1.9rem; border-radius: 6px; }
.source:hover { background: var(--gris-doux); color: var(--texte); }
.bouton-notes { display: inline-flex; align-items: center; gap: .2rem; border: 1px solid transparent; background: none; border-radius: 6px; padding: .3rem .45rem; cursor: pointer; color: var(--mid); font-size: .8rem; font-weight: 700; }
.bouton-notes:hover { border-color: var(--line); color: var(--texte); }
.bouton-notes.avec { color: var(--sur-rose); background: var(--rose-pale); }
.barre-cell { width: 110px; }
.mini-barre { display: block; position: relative; height: 8px; background: var(--gris-doux); border-radius: 4px; }
.mini-barre::after { content: ''; position: absolute; left: 50%; top: -2px; bottom: -2px; width: 1px; background: var(--mid); }
.mini-neg, .mini-pos { position: absolute; top: 0; bottom: 0; border-radius: 4px; }
.mini-neg { right: 50%; background: var(--danger); }
.mini-pos { left: 50%; background: var(--green); }

/* --- Analyses ------------------------------------------------------------------ */

.cartes { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1rem; }
.carte-analyse, .carte-audition {
  display: flex; flex-direction: column; gap: .35rem; padding: 1.1rem 1.2rem; background: var(--carte); border: 1px solid var(--line);
  border-top: 4px solid var(--mid); border-radius: var(--rayon); text-decoration: none; color: var(--texte); box-shadow: var(--ombre);
}
.carte-analyse.prio-haute { border-top-color: var(--rose); }
.carte-analyse.prio-moyenne { border-top-color: var(--amber); }
.carte-analyse:hover, .carte-audition:hover { border-color: var(--rose); color: var(--texte); }
.carte-analyse h2, .carte-audition h2 { font: 400 1.25rem/1.25 var(--serif); margin: 0; }
.carte-analyse p { color: var(--slate); font-size: .9rem; flex: 1; }
.pied-carte { font-size: .8rem; color: var(--mid); display: flex; align-items: center; gap: .3rem; }
.carte-audition { border-top-color: var(--charcoal); }
.carte-audition .date { color: var(--sur-rose); font-weight: 700; font-size: .85rem; text-transform: capitalize; }

.detail-grille { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(320px, 1fr); gap: 1.6rem; align-items: start; }
.detail-principal { min-width: 0; }
.detail-principal > h1 { margin-top: .3rem; }
.detail-principal section h2 { margin-top: 1.4rem; color: var(--slate); text-transform: uppercase; font-size: .8rem; letter-spacing: .08em; }
.detail-principal section.piste { background: var(--rose-pale); border: 1px solid var(--rose-light); border-radius: var(--rayon); padding: .4rem 1.1rem .6rem; margin-top: 1.3rem; }
.chiffres { display: flex; flex-wrap: wrap; gap: .7rem; margin: 1rem 0; }
.chiffres div { background: var(--carte); border: 1px solid var(--line); border-radius: 8px; padding: .6rem .9rem; }
.chiffres dt { font-size: .75rem; color: var(--mid); font-weight: 600; }
.chiffres dd { margin: 0; font: 400 1.25rem/1.3 var(--serif); font-variant-numeric: tabular-nums; }
.sources { margin-top: 1.6rem; padding-top: 1rem; border-top: 1px solid var(--line); font-size: .85rem; }

/* --- Textes --------------------------------------------------------------------- */

.barre-recherche { display: flex; align-items: center; gap: .6rem; background: var(--carte); border: 1px solid var(--line); border-radius: var(--rayon); padding: .3rem .9rem; margin-bottom: 1.3rem; box-shadow: var(--ombre); color: var(--mid); }
.barre-recherche input { border: 0; padding: .7rem 0; outline: none; font-size: 1.02rem; }
.barre-recherche input:focus { outline: none; }
.resultats { display: grid; gap: .6rem; margin-bottom: 1.3rem; }
.resultat { display: flex; flex-direction: column; gap: .15rem; padding: .8rem 1rem; background: var(--carte); border: 1px solid var(--line); border-radius: 8px; text-decoration: none; color: var(--texte); }
.resultat:hover { border-color: var(--rose); color: var(--texte); }
.resultat .type { font-size: .7rem; text-transform: uppercase; font-weight: 800; letter-spacing: .07em; color: var(--sur-rose); }
.resultat .extrait { font-size: .87rem; color: var(--slate); }
.liste-textes { list-style: none; margin: 0; padding: 0; }
.liste-textes li { border-bottom: 1px solid var(--line); }
.liste-textes li:last-child { border: 0; }
.liste-textes a { display: grid; grid-template-columns: 4.6rem minmax(0, 1fr) auto; gap: .8rem; align-items: baseline; padding: .7rem .3rem; text-decoration: none; color: var(--texte); }
.liste-textes a:hover { background: var(--gris-doux); }
.liste-textes .numero { font-weight: 800; color: var(--sur-rose); font-size: .85rem; }
.liste-textes .resume { display: block; color: var(--mid); font-size: .86rem; }
.form-document { display: flex; gap: .6rem; flex-wrap: wrap; align-items: center; margin-bottom: 1rem; }
.form-document input[type='text'] { flex: 1; min-width: 220px; }
.pourquoi { background: var(--blue-light); border-radius: 8px; padding: .7rem 1rem; font-size: .92rem; }
.outils-texte { display: flex; gap: .5rem; flex-wrap: wrap; margin: .8rem 0 1.2rem; }
.texte-officiel { font-size: .95rem; line-height: 1.65; }
.texte-officiel h2 { margin-top: 1.5rem; color: var(--slate); text-transform: uppercase; font-size: .8rem; letter-spacing: .08em; }
.texte-officiel p { margin: 0 0 .7em; }
.texte-officiel ::selection { background: var(--rose-light); }
.alinea { display: grid; grid-template-columns: 2.2rem minmax(0, 1fr); }
.num-alinea { color: var(--mid); font-size: .78rem; padding-top: .2em; font-variant-numeric: tabular-nums; }
.page-doc { position: relative; border-bottom: 1px dashed var(--line); padding: .8rem 0; }
.page-doc pre { white-space: pre-wrap; font: .82rem/1.5 ui-monospace, 'Cascadia Mono', Consolas, monospace; margin: 0; overflow-x: auto; }
.num-page { position: sticky; top: 0; float: right; font-size: .75rem; background: var(--carte); border: 1px solid var(--line); border-radius: 99px; padding: .1rem .55rem; text-decoration: none; }

/* --- Notes ------------------------------------------------------------------------ */

.encart-notes { position: sticky; top: 1rem; background: var(--carte); border: 1px solid var(--line); border-radius: var(--rayon); padding: 1rem 1.1rem; box-shadow: var(--ombre); max-height: calc(100vh - 2rem); overflow-y: auto; }
.encart-entete { display: flex; align-items: center; justify-content: space-between; gap: .6rem; flex-wrap: wrap; }
.encart-entete h2 { margin: 0; display: flex; align-items: center; gap: .4rem; }
.form-note { display: grid; gap: .55rem; margin: .8rem 0 1rem; }
.actions-form { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; }
.choix-etiquettes, .etiquettes { display: flex; flex-wrap: wrap; gap: .3rem; }
.etiquette { font-size: .74rem; font-weight: 700; border-radius: 99px; padding: .12rem .55rem; border: 1px solid var(--line); background: var(--gris-doux); color: var(--slate); }
button.etiquette { cursor: pointer; }
button.etiquette[aria-pressed='false'] { background: transparent; color: var(--mid); }
.et-argument { background: var(--green-light); color: var(--green); border-color: transparent; }
.et-question { background: var(--blue-light); color: var(--blue); border-color: transparent; }
.et-chiffre { background: var(--gris-doux); color: var(--slate); }
.et-amendement { background: var(--rose-light); color: var(--sur-rose); border-color: transparent; }
.et-vigilance { background: var(--amber-light); color: var(--amber); border-color: transparent; }
.et-a-verifier { background: var(--danger-light); color: var(--danger); border-color: transparent; }
button.etiquette[aria-pressed='false'] { background: transparent; border-color: var(--line); color: var(--mid); }
.liste-notes { display: grid; gap: .7rem; }
.note { border: 1px solid var(--line); border-radius: 8px; padding: .7rem .85rem; background: var(--carte); }
.note.retenue { border-left: 4px solid var(--green); }
.note-entete { display: flex; align-items: center; gap: .4rem; flex-wrap: wrap; font-size: .85rem; margin-bottom: .3rem; }
.note-entete time { color: var(--mid); margin-left: auto; font-size: .78rem; }
.note-corps { font-size: .93rem; }
.note-corps p:last-child { margin: 0; }
.note-corps ul { margin: 0 0 .5em; padding-left: 1.2rem; }
.note-ancre { display: inline-flex; align-items: center; gap: .3rem; font-size: .8rem; font-weight: 600; margin-bottom: .3rem; text-decoration: none; }
.note-citation, .citation-apercu blockquote { margin: .3rem 0 .5rem; padding: .35rem .7rem; border-left: 3px solid var(--rose); background: var(--rose-pale); font-size: .85rem; color: var(--slate); font-style: italic; }
.citation-apercu { margin-top: .6rem; }
.note-actions { display: flex; gap: .9rem; margin-top: .45rem; align-items: center; flex-wrap: wrap; }
.reponses { margin-top: .6rem; padding-left: .8rem; border-left: 2px solid var(--line); display: grid; gap: .5rem; }
.reponses .note { border: 0; padding: .3rem .2rem; background: transparent; }
.form-reponse { margin: .6rem 0 0; }
.orga { font-size: .68rem; font-weight: 800; padding: .05rem .4rem; border-radius: 4px; letter-spacing: .04em; }
.orga-scc { background: var(--rose-light); color: var(--sur-rose); }
.orga-fsicpa { background: var(--blue-light); color: var(--blue); }
.orga-synavi { background: var(--green-light); color: var(--green); }
.orga-autre { background: var(--gris-doux); color: var(--mid); }
.badge-retenue { font-size: .68rem; font-weight: 800; text-transform: uppercase; color: var(--green); background: var(--green-light); padding: .05rem .4rem; border-radius: 4px; }
.ajout-audition { font-size: .8rem; padding: .2rem .4rem; margin-left: auto; }
.filtres input[type='search'] { max-width: 320px; }
.note-generale summary { cursor: pointer; font-weight: 600; }
.note-generale .encart-notes { position: static; box-shadow: none; border: 0; padding: .5rem 0 0; max-height: none; }

.tiroir-fond { position: fixed; inset: 0; background: rgb(18 18 26 / 40%); opacity: 0; transition: opacity .2s; z-index: 40; }
.tiroir-fond.ouvert { opacity: 1; }
.tiroir { position: fixed; top: 0; right: 0; bottom: 0; width: min(480px, 100vw); background: var(--bg); z-index: 41; transform: translateX(100%); transition: transform .22s ease-out; display: flex; flex-direction: column; box-shadow: -8px 0 30px rgb(0 0 0 / 15%); }
.tiroir.ouvert { transform: none; }
.tiroir-entete { display: flex; justify-content: space-between; gap: 1rem; padding: 1.2rem 1.3rem .6rem; }
.tiroir-entete h2 { font: 400 1.3rem/1.25 var(--serif); margin: 0; }
.tiroir-entete .surtitre { margin: 0; }
.tiroir .encart-notes { position: static; border: 0; box-shadow: none; border-radius: 0; flex: 1; max-height: none; background: var(--bg); }

#toasts { position: fixed; bottom: 1.2rem; right: 1.2rem; display: grid; gap: .5rem; z-index: 60; }
.toast { background: var(--charcoal); color: #fff; padding: .7rem 1rem; border-radius: 8px; box-shadow: 0 6px 20px rgb(0 0 0 / 20%); font-size: .9rem; max-width: 360px; transition: opacity .5s, transform .5s; }
.toast-succes { background: var(--green); }
:root[data-theme='dark'] .toast-succes { background: #1b7a5f; }
.toast-erreur { background: #b5342a; }
.toast.sortie { opacity: 0; transform: translateY(8px); }

/* --- Auditions ----------------------------------------------------------------- */

.form-ligne { display: grid; grid-template-columns: minmax(0, 2fr) 160px minmax(0, 1.2fr) auto; gap: .6rem; align-items: center; }
.titre-edit { font: 400 1.9rem/1.2 var(--serif) !important; border-color: transparent !important; padding: .2rem .3rem !important; background: transparent !important; margin-bottom: .5rem; }
.titre-edit:hover { border-color: var(--line) !important; }
.audition .barre-outils input[type='date'] { width: auto; }
.sauvegarde { color: var(--green); font-size: .82rem; }
.champ { display: grid; gap: .3rem; margin-bottom: .9rem; }
.champ > span { font-weight: 700; font-size: .85rem; }
.notes-audition { margin: 0; padding: 0; list-style: none; counter-reset: n; display: grid; gap: .6rem; }
.note-audition { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .6rem; border: 1px solid var(--line); border-radius: 8px; padding: .6rem .75rem; counter-increment: n; position: relative; }
.note-audition::before { content: counter(n); position: absolute; left: -.6rem; top: .6rem; background: var(--charcoal); color: #fff; width: 1.3rem; height: 1.3rem; border-radius: 50%; display: grid; place-items: center; font-size: .72rem; font-weight: 800; }
.note-audition-corps { font-size: .9rem; min-width: 0; }
.note-audition-corps p:last-of-type { margin-bottom: .3rem; }
.note-audition .meta, .liste-choix .meta { font-size: .78rem; color: var(--mid); }
.ordre { display: flex; flex-direction: column; gap: .25rem; }
.ordre .bouton-icone { width: 1.7rem; height: 1.7rem; }
.liste-choix { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; max-height: 420px; overflow-y: auto; }
.liste-choix li { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .7rem; align-items: start; border-bottom: 1px solid var(--line); padding-bottom: .5rem; }
.liste-choix p { margin: .15rem 0 0; font-size: .87rem; }
.titre-apercu { margin-top: 1rem; color: var(--mid); text-transform: uppercase; font-size: .8rem; letter-spacing: .08em; }
.apercu-impression { max-width: 1240px; margin: 0 auto; padding: 0 2.4rem 4rem; }

.fiche { background: #fff; color: #1a1a2e; border: 1px solid var(--line); border-radius: 4px; padding: 2.2rem 2.6rem; max-width: 820px; font-size: 10.5pt; line-height: 1.5; box-shadow: var(--ombre); }
.fiche h1 { font: 400 22pt/1.15 var(--serif); margin: .4rem 0 .2rem; color: #1a1a2e; }
.fiche h2 { font-size: 9pt; text-transform: uppercase; letter-spacing: .09em; color: #c2185b; border-bottom: 1px solid #f9e0e9; padding-bottom: .2rem; margin: 1.3rem 0 .5rem; }
.fiche-entete { border-bottom: 3px solid #e8185a; padding-bottom: .8rem; }
.fiche-marque { display: flex; justify-content: space-between; font-size: 8.5pt; text-transform: uppercase; letter-spacing: .1em; color: #6a6a8a; }
.fiche-marque strong { color: #c2185b; }
.fiche-meta { color: #3d3d5c; margin: 0; }
.fiche-messages { background: #fdf4f7; border-left: 4px solid #e8185a; padding: .2rem 1rem .4rem; margin-top: 1rem; }
.fiche-messages h2 { border: 0; }
.fiche-table { font-size: 9.5pt; }
.fiche-table th, .fiche-table td { padding: .3rem .4rem; border-bottom: 1px solid #e8e8f0; color: #1a1a2e; }
.fiche-source { font-size: 8pt; color: #6a6a8a; margin-top: .4rem; }
.fiche-notes { padding-left: 1.2rem; }
.fiche-notes li { margin-bottom: .7rem; }
.fiche-ancre { font-size: 8.5pt; color: #6a6a8a; margin: 0 0 .15rem; font-weight: 600; }
.fiche blockquote { margin: .2rem 0 .3rem; padding: .2rem .6rem; border-left: 2px solid #e8185a; font-style: italic; color: #3d3d5c; }
.fiche-pied { margin-top: 1.6rem; padding-top: .5rem; border-top: 1px solid #e8e8f0; font-size: 8pt; color: #6a6a8a; }

/* --- Administration ------------------------------------------------------------ */

.form-admin textarea { margin-bottom: .7rem; font-family: ui-monospace, Consolas, monospace; font-size: .88rem; }
.resultat-ajout { color: var(--green); font-weight: 600; margin: .6rem 0 0; }
.admin input[type='text'] { min-width: 150px; padding: .3rem .5rem; }
.admin select { padding: .3rem .5rem; }
.admin tr.inactif td { opacity: .55; }

/* --- Connexion ------------------------------------------------------------------ */

.connexion { min-height: 100vh; display: grid; place-items: center; padding: 1.5rem; background: var(--charcoal); background-image: radial-gradient(circle at 15% 20%, rgb(232 24 90 / 28%), transparent 45%), radial-gradient(circle at 85% 90%, rgb(30 90 158 / 25%), transparent 45%); }
.connexion-boite { width: min(440px, 100%); background: var(--carte); border-radius: 14px; padding: 2.2rem 2rem; box-shadow: 0 20px 60px rgb(0 0 0 / 35%); }
.connexion-marque { margin-bottom: 1.6rem; }
.connexion-marque .logo { color: var(--texte); font-size: 2.6rem; }
.connexion-marque .logo em { color: var(--rose); }
.connexion-marque p { color: var(--mid); font-size: .82rem; text-transform: uppercase; letter-spacing: .08em; margin: .2rem 0 0; }
.connexion h1 { font-size: 1.6rem; }
.connexion p { color: var(--slate); }
.form-connexion { display: grid; gap: .9rem; margin-top: 1.2rem; }
.form-connexion label { display: grid; gap: .35rem; font-weight: 600; font-size: .9rem; }
.message { font-size: .9rem; margin: .4rem 0 0; }
.message.succes { color: var(--green); }
.message.erreur { color: var(--danger); }

/* --- Amendements ---------------------------------------------------------------- */

.form-amendement { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) auto; }
.carte-amendement {
  display: flex; flex-direction: column; gap: .35rem; padding: 1.1rem 1.2rem; background: var(--carte); border: 1px solid var(--line);
  border-top: 4px solid var(--mid); border-radius: var(--rayon); text-decoration: none; color: var(--texte); box-shadow: var(--ombre);
}
.carte-amendement:hover { border-color: var(--rose); color: var(--texte); }
.carte-amendement h2 { font: 400 1.25rem/1.25 var(--serif); margin: 0; }
.carte-amendement p { color: var(--slate); font-size: .9rem; margin: 0; }
.carte-amendement .article-vise { font-weight: 700; color: var(--sur-rose); font-size: .82rem; }
.badge-statut { align-self: flex-start; font-size: .7rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; padding: .12rem .5rem; border-radius: 4px; background: var(--gris-doux); color: var(--slate); }
.statut-valide, .statut-transmis { border-top-color: var(--blue); }
.statut-valide .badge-statut, .statut-transmis .badge-statut { background: var(--blue-light); color: var(--blue); }
.statut-depose { border-top-color: var(--rose); }
.statut-depose .badge-statut { background: var(--rose-light); color: var(--sur-rose); }
.statut-adopte { border-top-color: var(--green); }
.statut-adopte .badge-statut { background: var(--green-light); color: var(--green); }
.statut-rejete .badge-statut, .statut-retire .badge-statut { background: var(--danger-light); color: var(--danger); }
.texte-juridique { font-family: Georgia, 'Times New Roman', serif; font-size: .95rem; }
.amendement .page-entete .titre-edit { width: 100%; }
.amendement .page-entete select { width: auto; }
.liste-versions { margin: .6rem 0 0; padding-left: 1.2rem; display: grid; gap: .6rem; font-size: .88rem; }
.version-texte { white-space: pre-wrap; font: .85rem/1.5 Georgia, serif; background: var(--gris-doux); padding: .7rem; border-radius: 6px; max-height: 320px; overflow: auto; }
.fiche-amendement { font-family: Georgia, 'Times New Roman', serif; }
.fiche-amendement .amd-loi { text-align: center; text-transform: uppercase; letter-spacing: .08em; font-size: 9pt; margin: .8rem 0 0; color: #3d3d5c; }
.fiche-amendement h1 { text-align: center; font-family: Georgia, serif; font-size: 17pt; letter-spacing: .25em; margin: .6rem 0 .2rem; }
.fiche-amendement .amd-article { text-align: center; font-weight: 700; letter-spacing: .1em; margin: 0; }
.amd-dispositif { margin: 1.4rem 0; }
.amd-dispositif p { margin: 0 0 .45em; text-align: justify; }
.amd-expose-titre { text-align: center; border: 0 !important; color: #1a1a2e !important; letter-spacing: .2em !important; }
.amd-expose p { text-align: justify; text-indent: 1.5em; }

/* --- PLF intégral ---------------------------------------------------------------- */

.sommaire-plf { list-style: none; margin: 0; padding: 0; columns: 2; column-gap: 2rem; }
.sommaire-plf li { break-inside: avoid; }
.sommaire-plf a { display: flex; gap: .6rem; align-items: baseline; padding: .32rem .3rem; text-decoration: none; color: var(--texte); font-size: .88rem; border-radius: 4px; }
.sommaire-plf a:hover { background: var(--gris-doux); }
.sommaire-plf a > span:first-child { flex: 1; }
.sommaire-plf .niveau-1 a { font-weight: 800; color: var(--sur-rose); margin-top: .5rem; }
.sommaire-plf .niveau-2 a { padding-left: .9rem; }
.sommaire-plf .suivi a { font-weight: 700; }
.num-page-sommaire { color: var(--mid); font-size: .78rem; white-space: nowrap; font-variant-numeric: tabular-nums; }
.badge-suivi { font-size: .62rem; font-weight: 800; text-transform: uppercase; background: var(--rose-light); color: var(--sur-rose); padding: .05rem .35rem; border-radius: 3px; }
.resultat-plf { border-left: 4px solid var(--rose); }
.titre-section { font-size: 1.5rem; }
.nav-pages { margin-bottom: .8rem; }
.nav-pages .aller-page { width: 5rem; padding: .3rem .5rem; }
.nav-pages a[aria-disabled='true'] { pointer-events: none; opacity: .4; }
.nav-resultats { display: inline-flex; gap: .4rem; align-items: center; flex-wrap: wrap; }
.page-plf { white-space: pre; overflow-x: auto; font: .78rem/1.45 ui-monospace, 'Cascadia Mono', Consolas, monospace; background: var(--carte); border: 1px solid var(--line); border-radius: var(--rayon); padding: 1.2rem; margin: 0; }
.page-plf ::selection { background: var(--rose-light); }

@media (max-width: 860px) {
  .grille-champs, .form-externe { grid-template-columns: minmax(0, 1fr); }
  .sommaire-plf { columns: 1; }
  .form-amendement { grid-template-columns: minmax(0, 1fr); }
}

/* --- Éditeur de texte riche ----------------------------------------------------- */

.editeur { border: 1px solid var(--line); border-radius: 8px; background: var(--carte); }
.editeur:focus-within { border-color: var(--rose); box-shadow: 0 0 0 3px var(--rose-light); }
.editeur-barre { display: flex; flex-wrap: wrap; gap: 2px; padding: .3rem; border-bottom: 1px solid var(--line); background: var(--gris-doux); border-radius: 8px 8px 0 0; position: sticky; top: 0; z-index: 2; }
.editeur-bouton { border: 1px solid transparent; background: none; border-radius: 5px; padding: .2rem .5rem; min-width: 1.9rem; cursor: pointer; font-size: .82rem; color: var(--slate); }
.editeur-bouton:hover { background: var(--carte); border-color: var(--line); color: var(--texte); }
.eb-strong { font-weight: 800; }
.eb-em { font-style: italic; font-family: var(--serif); }
.eb-u { text-decoration: underline; }
.eb-mark { background: var(--amber-light); }
.editeur-sep { width: 1px; background: var(--line); margin: .2rem .25rem; }
.editeur-zone { position: relative; min-height: 7rem; padding: .8rem 1rem; outline: none; line-height: 1.6; font-size: .95rem; overflow-wrap: anywhere; }
.editeur.compact .editeur-zone { min-height: 4rem; }
.editeur-zone.vide::before { content: attr(data-placeholder); color: var(--mid); pointer-events: none; position: absolute; }
.editeur-zone p { margin: 0 0 .6em; }
.editeur-zone h3, .fiche h3.riche, .apercu-riche h3 { font: 700 1.05rem/1.3 var(--sans); margin: 1em 0 .4em; }
.editeur-zone h4 { font: 700 .95rem/1.3 var(--sans); margin: .8em 0 .3em; color: var(--slate); }
.editeur-zone ul, .editeur-zone ol { margin: 0 0 .6em; padding-left: 1.4rem; }
.editeur-zone blockquote { margin: .4em 0; padding: .3em .9em; border-left: 3px solid var(--rose); background: var(--rose-pale); }
.editeur-zone mark { box-shadow: none; }
.champ-libelle { font-weight: 700; font-size: .85rem; }

/* --- Fiche d'audition structurée --------------------------------------------------- */

.titre-groupe { margin: 1.6rem 0 .8rem; font: 400 1.35rem/1.2 var(--serif); }
.sommaire-fiche { display: flex; flex-wrap: wrap; gap: .3rem; margin-top: .8rem; }
.sommaire-fiche a { font-size: .8rem; font-weight: 600; padding: .2rem .65rem; border-radius: 99px; border: 1px solid var(--line); text-decoration: none; color: var(--slate); background: var(--carte); }
.sommaire-fiche a:hover { border-color: var(--rose); color: var(--sur-rose); }
.section-fiche { scroll-margin-top: 1rem; }
.section-fiche > h2 { font: 400 1.35rem/1.2 var(--serif); margin-bottom: .3rem; }
.grille-champs { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 1rem; }
.delegation { margin-bottom: .8rem; }
.delegation input[type='text'] { padding: .3rem .5rem; }
.delegation select { padding: .3rem .5rem; }
.form-externe { display: grid; grid-template-columns: minmax(0, 1.2fr) auto minmax(0, 1.5fr) auto; gap: .5rem; margin: .6rem 0; align-items: center; }
.blocs { display: grid; gap: 1rem; margin-bottom: .9rem; }
.bloc-redaction { border: 1px solid var(--line); border-left: 4px solid var(--charcoal); border-radius: 8px; padding: .8rem; background: var(--bg); }
.bloc-liminaire { border-left-color: var(--rose); }
.bloc-barre { display: flex; justify-content: space-between; gap: .8rem; align-items: center; margin-bottom: .6rem; flex-wrap: wrap; }
.bloc-entete { display: flex; align-items: center; gap: .7rem; flex-wrap: wrap; flex: 1; min-width: 0; }
.bloc-entete select { padding: .3rem .5rem; max-width: 22rem; }
.numero-bloc { display: inline-grid; place-items: center; width: 1.7rem; height: 1.7rem; border-radius: 50%; background: var(--charcoal); color: #fff; font-weight: 800; font-size: .8rem; flex: none; }
.bloc-liminaire .numero-bloc { background: var(--rose-solide); }
.titre-bloc { flex: 1; min-width: 14rem; font-weight: 700; font-size: 1.02rem; }
.ordre-horizontal { display: inline-flex; gap: .25rem; }
.ordre-horizontal .bouton-icone { width: 1.8rem; height: 1.8rem; }
.etat-bloc { display: block; margin-top: .35rem; font-size: .76rem; color: var(--mid); }
.alerte-conflit { border: 1px solid var(--amber); background: var(--amber-light); color: var(--texte); border-radius: 8px; padding: .6rem .8rem; margin-bottom: .6rem; font-size: .88rem; }
.alerte-conflit p { margin: 0 0 .5rem; }
.liste-amendements { list-style: none; margin: 0; padding: 0; display: grid; gap: .4rem; }
.liste-amendements li { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; padding: .45rem .6rem; border: 1px solid var(--line); border-radius: 8px; }
.liste-amendements li.choisi { border-color: var(--rose-light); background: var(--rose-pale); }
.liste-amendements .ordre-horizontal { margin-left: auto; }
.options-apercu { display: flex; gap: 1rem; flex-wrap: wrap; }
.qui { background: none; border: 0; padding: .3rem .4rem; margin: 0 -.4rem .5rem; text-align: left; color: inherit; cursor: pointer; border-radius: 6px; display: flex; flex-direction: column; font: inherit; }
.qui:hover { background: rgb(255 255 255 / 8%); }
.dialogue { border: 0; border-radius: 12px; padding: 1.4rem 1.5rem; width: min(440px, calc(100vw - 32px)); background: var(--carte); color: var(--texte); box-shadow: 0 20px 60px rgb(0 0 0 / 35%); }
.dialogue::backdrop { background: rgb(18 18 26 / 45%); }
.titre-categorie { font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; color: var(--sur-rose); margin: 1.2rem 0 .3rem; }
.document-texte .page-doc pre { white-space: pre-wrap; font: .92rem/1.6 var(--sans); }

.fiche-bloc { margin-bottom: 1rem; }
.fiche-orateur { font-size: 8.5pt; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: #c2185b; margin: .2rem 0 .3rem; }
.fiche-partie h2 { color: #1a1a2e !important; font-size: 11pt !important; text-transform: none !important; letter-spacing: 0 !important; }
.fiche h3 { font-size: 10.5pt; margin: .9rem 0 .3rem; }
.fiche h4 { font-size: 10pt; margin: .7rem 0 .2rem; }
.fiche ul, .fiche ol { padding-left: 1.3rem; }
.fiche mark { background: #fef3c7; box-shadow: none; }
.fiche-amendement-joint { border: 1px solid #e8e8f0; border-radius: 4px; padding: .6rem .9rem; margin-bottom: .8rem; font-family: Georgia, serif; }
.fiche-amendement-joint h3 { font-family: Georgia, serif; }
.fiche-amendement-joint .amd-article { font-weight: 700; letter-spacing: .06em; font-size: 9pt; margin: 0 0 .5rem; }
.fiche-amendement-joint .amd-expose-titre { text-align: center; letter-spacing: .2em; text-transform: uppercase; font-size: 8.5pt; font-weight: 700; margin: .7rem 0 .3rem; }
.fiche-amendement-joint p { text-align: justify; margin: 0 0 .4em; }

/* --- Adaptation --------------------------------------------------------------- */

@media (max-width: 1180px) {
  .kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .grille-2, .detail-grille { grid-template-columns: minmax(0, 1fr); }
  .encart-notes { position: static; max-height: none; }
}
@media (max-width: 860px) {
  #app:has(.barre-laterale) { grid-template-columns: minmax(0, 1fr); }
  .barre-laterale { position: sticky; height: auto; z-index: 30; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; padding: .7rem 1rem; }
  .marque { flex-direction: row; align-items: baseline; gap: .6rem; }
  .logo { font-size: 1.5rem; }
  .barre-laterale .menu-mobile { display: inline-grid; color: #fff; border-color: rgb(255 255 255 / 25%); }
  .nav-corps { display: none; width: 100%; padding-top: .6rem; }
  .barre-laterale.ouverte .nav-corps { display: flex; }
  .page, .apercu-impression { padding: 1.3rem 16px 3rem; }
  h1 { font-size: 1.65rem; }
  .kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .form-ligne { grid-template-columns: minmax(0, 1fr); }
  .barre-cell { display: none; }
  .liste-textes a { grid-template-columns: 3.6rem minmax(0, 1fr) auto; }
  .fiche { padding: 1.2rem; }
}
@media (max-width: 480px) {
  .kpis { grid-template-columns: minmax(0, 1fr); }
}

/* --- Impression : seule la fiche d'audition sort ---------------------------------- */

@media print {
  @page { size: A4; margin: 16mm 15mm; }
  body { background: #fff; }
  #app:has(.barre-laterale) { display: block; }
  .barre-laterale, .ecran, .tiroir, .tiroir-fond, #toasts, .evitement { display: none !important; }
  .apercu-impression { padding: 0; max-width: none; }
  .fiche { border: 0; box-shadow: none; padding: 0; max-width: none; }
  .fiche h2 { break-after: avoid; }
  .fiche-notes li, .fiche-table, .fiche-amendement-joint { break-inside: avoid; }
  .fiche-partie h2, .fiche-orateur { break-after: avoid; }
  .page:not(.audition) { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; }
}
