/* R-ace GP · Charte (générée depuis Figma) */

/* Polices */
@font-face { font-family: "Saira"; src: url("assets/fonts/titre-saira/Saira-Italic-VariableFont_wdth,wght.woff2") format("woff2"); font-weight: 100 900; font-stretch: 50% 125%; font-style: italic; font-display: swap; }
@font-face { font-family: "Saira"; src: url("assets/fonts/titre-saira/Saira-VariableFont_wdth,wght.woff2") format("woff2"); font-weight: 100 900; font-stretch: 50% 125%; font-style: normal; font-display: swap; }
@font-face { font-family: "Outfit"; src: url("assets/fonts/textes-outfit/Outfit-VariableFont_wght.woff2") format("woff2"); font-weight: 100 900; font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Outfit"; src: url("assets/fonts/textes-outfit/Outfit-VariableFont_wght-ext.woff2") format("woff2"); font-weight: 100 900; font-display: swap; unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "JetBrains Mono"; src: url("assets/fonts/accentuation-jetbrainsmono/JetBrainsMono-VariableFont_wght.woff2") format("woff2"); font-weight: 100 800; font-display: swap; }

:root {
  /* Couleurs · primitives */
  --rg-marine-0: #5398FF;
  --rg-marine-1: #427DD4;
  --rg-marine-2: #3262AA;
  --rg-marine-3: #21477F;
  --rg-marine-4: #112C55;
  --rg-marine-5: #00112A;
  --rg-marine-6: #000E22;
  --rg-marine-7: #000A19;
  --rg-marine-8: #000711;
  --rg-rose-0: #FEEAEF;
  --rg-rose-1: #FED4DE;
  --rg-rose-2: #FDA9BD;
  --rg-rose-3: #FB7F9D;
  --rg-rose-4: #FA547C;
  --rg-rose-5: #F9295B;
  --rg-rose-6: #C72149;
  --rg-rose-7: #951937;
  --rg-rose-8: #641024;
  --rg-neutre-blanc: #FFFFFF;
  --rg-neutre-papier: #F4F5F8;
  --rg-neutre-brume: #E3E7EE;
  --rg-neutre-gris: #C4CBD8;
  --rg-neutre-acier: #6B7891;
  --rg-neutre-ardoise: #3C4A63;
  --rg-piste-vert: #22C55E;
  --rg-piste-orange: #F59E0B;
  --rg-piste-rouge: #E5342A;

  /* Couleurs · palette métier (catégories, pneus, statuts) */
  --rg-metier-jaune: #F5C200;
  --rg-metier-jaune-fonce: #8D6A05;
  --rg-metier-jaune-clair: #FFE08A;
  --rg-metier-orange-fonce: #B45309;
  --rg-metier-orange-clair: #FFD181;
  --rg-metier-vert-fonce: #13804F;
  --rg-metier-vert-clair: #7BE3AE;
  --rg-metier-cyan: #0CC1C3;
  --rg-metier-cyan-fonce: #048485;
  --rg-metier-cyan-clair: #7FE6E7;
  --rg-metier-violet: #883AC8;
  --rg-metier-violet-fonce: #6F2AA8;
  --rg-metier-violet-clair: #C48DFE;
  --rg-metier-magenta: #F935C1;
  --rg-metier-magenta-fonce: #C21497;
  --rg-metier-magenta-clair: #EC71C8;

  /* Couleurs · mode clair */
  --rg-fond-page: var(--rg-neutre-papier);
  --rg-fond-surface: var(--rg-neutre-blanc);
  --rg-fond-surface-2: var(--rg-neutre-brume);
  --rg-fond-marine: var(--rg-marine-5);
  --rg-texte-principal: var(--rg-marine-5);
  --rg-texte-secondaire: var(--rg-neutre-acier);
  --rg-texte-inverse: var(--rg-neutre-blanc);
  --rg-texte-desactive: var(--rg-neutre-gris);
  --rg-bord-defaut: var(--rg-neutre-brume);
  --rg-bord-fort: var(--rg-marine-5);
  --rg-accent-defaut: var(--rg-rose-5);
  --rg-accent-survol: var(--rg-rose-4);
  --rg-accent-presse: var(--rg-rose-6);
  --rg-accent-doux: var(--rg-rose-0);
  --rg-etat-succes: var(--rg-piste-vert);
  --rg-etat-attention: var(--rg-piste-orange);
  --rg-etat-erreur: var(--rg-piste-rouge);
  --rg-etat-info: var(--rg-marine-2);
  --rg-focus: var(--rg-marine-2);
  --rg-inverse-survol: var(--rg-marine-4);
  --rg-inverse-presse: var(--rg-marine-7);

  /* Polices */
  --rg-police-titre: "Saira", sans-serif;
  --rg-police-texte: "Outfit", sans-serif;
  --rg-police-chiffre: "JetBrains Mono", monospace;

  /* Typographie · tailles */
  --rg-taille-display-xl: 160px;
  --rg-taille-display-l: 96px;
  --rg-taille-display-m: 64px;
  --rg-taille-h1: 40px;
  --rg-taille-h2: 28px;
  --rg-taille-h3: 20px;
  --rg-taille-texte-l: 18px;
  --rg-taille-texte-m: 16px;
  --rg-taille-texte-s: 14px;
  --rg-taille-label-m: 12px;
  --rg-taille-label-s: 11px;
  --rg-taille-chiffre-xl: 96px;
  --rg-taille-chiffre-l: 48px;
  --rg-taille-chiffre-m: 20px;
  --rg-taille-chiffre-s: 14px;

  /* Typographie · graisses */
  --rg-graisse-regulier: 400;
  --rg-graisse-moyen: 500;
  --rg-graisse-semi: 600;
  --rg-graisse-gras: 700;
  --rg-graisse-extra: 800;
  --rg-graisse-noir: 900;

  /* Typographie · interlignes */
  --rg-interligne-serre: 88%;
  --rg-interligne-display: 96%;
  --rg-interligne-plein: 100%;
  --rg-interligne-titre: 110%;
  --rg-interligne-h2: 115%;
  --rg-interligne-court: 120%;
  --rg-interligne-fort: 140%;
  --rg-interligne-texte-s: 145%;
  --rg-interligne-texte: 150%;

  /* Typographie · largeur de Saira (axe wdth) */
  --rg-titre-largeur: 100%;

  /* Typographie · styles */
  --rg-titre-style: italic;
  --rg-display-xl: var(--rg-titre-style) var(--rg-graisse-noir) var(--rg-taille-display-xl)/var(--rg-interligne-serre) var(--rg-police-titre);
  --rg-display-xl-espacement: -0.01em;
  --rg-display-l: var(--rg-titre-style) var(--rg-graisse-noir) var(--rg-taille-display-l)/var(--rg-interligne-display) var(--rg-police-titre);
  --rg-display-l-espacement: -0.01em;
  --rg-display-m: var(--rg-titre-style) var(--rg-graisse-noir) var(--rg-taille-display-m)/var(--rg-interligne-plein) var(--rg-police-titre);
  --rg-display-m-espacement: -0.005em;
  --rg-titre-h1: var(--rg-titre-style) var(--rg-graisse-extra) var(--rg-taille-h1)/var(--rg-interligne-titre) var(--rg-police-titre);
  --rg-titre-h2: var(--rg-titre-style) var(--rg-graisse-extra) var(--rg-taille-h2)/var(--rg-interligne-h2) var(--rg-police-titre);
  --rg-titre-h3: var(--rg-titre-style) var(--rg-graisse-extra) var(--rg-taille-h3)/var(--rg-interligne-court) var(--rg-police-titre);
  --rg-texte-l: normal var(--rg-graisse-regulier) var(--rg-taille-texte-l)/var(--rg-interligne-texte) var(--rg-police-texte);
  --rg-texte-m: normal var(--rg-graisse-regulier) var(--rg-taille-texte-m)/var(--rg-interligne-texte) var(--rg-police-texte);
  --rg-texte-s: normal var(--rg-graisse-regulier) var(--rg-taille-texte-s)/var(--rg-interligne-texte-s) var(--rg-police-texte);
  --rg-texte-m-fort: normal var(--rg-graisse-semi) var(--rg-taille-texte-m)/var(--rg-interligne-fort) var(--rg-police-texte);
  --rg-texte-s-fort: normal var(--rg-graisse-semi) var(--rg-taille-texte-s)/var(--rg-interligne-fort) var(--rg-police-texte);
  --rg-label-m: normal var(--rg-graisse-gras) var(--rg-taille-label-m)/var(--rg-interligne-court) var(--rg-police-chiffre);
  --rg-label-m-espacement: 0.14em;
  --rg-label-s: normal var(--rg-graisse-moyen) var(--rg-taille-label-s)/var(--rg-interligne-court) var(--rg-police-chiffre);
  --rg-label-s-espacement: 0.14em;
  --rg-chiffre-xl: normal var(--rg-graisse-gras) var(--rg-taille-chiffre-xl)/var(--rg-interligne-plein) var(--rg-police-chiffre);
  --rg-chiffre-xl-espacement: -0.02em;
  --rg-chiffre-l: normal var(--rg-graisse-gras) var(--rg-taille-chiffre-l)/var(--rg-interligne-plein) var(--rg-police-chiffre);
  --rg-chiffre-l-espacement: -0.01em;
  --rg-chiffre-m: normal var(--rg-graisse-gras) var(--rg-taille-chiffre-m)/var(--rg-interligne-court) var(--rg-police-chiffre);
  --rg-chiffre-s: normal var(--rg-graisse-moyen) var(--rg-taille-chiffre-s)/var(--rg-interligne-court) var(--rg-police-chiffre);

  /* Espaces */
  --rg-espace-1: 4px;
  --rg-espace-2: 8px;
  --rg-espace-3: 12px;
  --rg-espace-4: 16px;
  --rg-espace-5: 24px;
  --rg-espace-6: 32px;
  --rg-espace-7: 48px;
  --rg-espace-8: 64px;
  --rg-espace-9: 96px;

  /* Rayons */
  --rg-rayon-0: 0px;
  --rg-rayon-1: 2px;
  --rg-rayon-2: 4px;

  /* Traits */
  --rg-trait-1: 1px;
  --rg-trait-2: 1.5px;
  --rg-trait-3: 2px;
  --rg-trait-4: 3px;
  --rg-trait-repere: 4px;

  /* Angle de la marque (30°) */
  --rg-pente: 0.5774;

  /* Grilles */
  --rg-grille-bureau: 1440px;
  --rg-grille-bureau-colonnes: 12;
  --rg-grille-bureau-gouttiere: 24px;
  --rg-grille-bureau-marge: 48px;
  --rg-grille-mobile: 390px;
  --rg-grille-mobile-colonnes: 4;
  --rg-grille-mobile-gouttiere: 16px;
  --rg-grille-tv: 1920px;
  --rg-grille-tv-colonnes: 12;
  --rg-menu-largeur: 232px;

  /* Icônes */
  --rg-icone-16: 16px;
  --rg-icone-20: 20px;
  --rg-icone-24: 24px;
  --rg-icone-40: 40px;
  --rg-icone-trait: 1.5;
  --rg-icone-trait-grand: 1.2;
  --rg-splash-trait: 2.5;

  /* Bouton */
  --rg-btn-m-hauteur: 48px;
  --rg-btn-m-marge: var(--rg-espace-5);
  --rg-btn-m-coin: 14px;
  --rg-btn-s-hauteur: 36px;
  --rg-btn-s-marge: var(--rg-espace-4);
  --rg-btn-s-coin: 10px;
  --rg-btn-focus-ecart: 4px;

  /* Champ */
  --rg-champ-largeur: 320px;
  --rg-champ-hauteur: 48px;
  --rg-case-taille: 20px;
  --rg-coche-x: .27;
  --rg-coche-y: .04;
  --rg-coche-largeur: .38;
  --rg-coche-hauteur: .655;
  --rg-coche-angle: 42deg;
  --rg-radio-largeur: 22px;
  --rg-radio-hauteur: 20px;
  --rg-radio-decalage: 7px;
  --rg-radio-point-x: 29%;
  --rg-radio-point-y: 25%;
  --rg-inter-largeur: 46px;
  --rg-inter-hauteur: 24px;
  --rg-segment-hauteur: 40px;
  --rg-code-largeur: 44px;
  --rg-code-hauteur: 56px;

  /* Navigation */
  --rg-menu-item-hauteur: 44px;
  --rg-menu-logo: 168px;
  --rg-onglet-hauteur: 48px;
  --rg-onglet-indicateur: 4px;
  --rg-pagination-case: 36px;
  --rg-barre-mobile-hauteur: 76px;
  --rg-entete-hauteur: 200px;
  --rg-topbar-hauteur: 72px;

  /* Retours */
  --rg-etiquette-hauteur: 26px;
  --rg-badge-hauteur: 20px;
  --rg-badge-chiffre: 16px;
  --rg-alerte-largeur: 520px;
  --rg-modale-largeur: 480px;
  --rg-vide-largeur: 420px;
  --rg-jauge-hauteur: 14px;

  /* Données */
  --rg-avatar-s: 28px;
  --rg-avatar-m: 40px;
  --rg-avatar-l: 64px;
  --rg-evenement-hauteur: 60px;
  --rg-compte-largeur: 380px;
  --rg-pilote-largeur: 300px;
  --rg-pilote-hauteur: 380px;
  --rg-chiffre-largeur: 260px;

  /* Trajectoire */
  --rg-trajectoire-titre: 220px;
  --rg-trajectoire-moyenne: 420px;
  --rg-trajectoire-grande: 900px;

  /* Mouvement */
  --rg-duree: .15s;
}

/* Couleurs · mode sombre */
[data-theme="dark"], .rg-sombre {
  --rg-fond-page: var(--rg-marine-7);
  --rg-fond-surface: var(--rg-marine-5);
  --rg-fond-surface-2: var(--rg-marine-4);
  --rg-fond-marine: var(--rg-marine-4);
  --rg-texte-principal: var(--rg-neutre-blanc);
  --rg-texte-secondaire: var(--rg-neutre-gris);
  --rg-texte-inverse: var(--rg-marine-5);
  --rg-texte-desactive: var(--rg-neutre-ardoise);
  --rg-bord-defaut: var(--rg-marine-4);
  --rg-bord-fort: var(--rg-neutre-gris);
  --rg-accent-defaut: var(--rg-rose-5);
  --rg-accent-survol: var(--rg-rose-4);
  --rg-accent-presse: var(--rg-rose-6);
  --rg-accent-doux: var(--rg-rose-8);
  --rg-etat-succes: var(--rg-piste-vert);
  --rg-etat-attention: var(--rg-piste-orange);
  --rg-etat-erreur: var(--rg-piste-rouge);
  --rg-etat-info: var(--rg-marine-0);
  --rg-focus: var(--rg-marine-0);
  --rg-inverse-survol: var(--rg-neutre-brume);
  --rg-inverse-presse: var(--rg-neutre-gris);
}
[data-theme="light"], .rg-clair {
  --rg-fond-page: var(--rg-neutre-papier);
  --rg-fond-surface: var(--rg-neutre-blanc);
  --rg-fond-surface-2: var(--rg-neutre-brume);
  --rg-fond-marine: var(--rg-marine-5);
  --rg-texte-principal: var(--rg-marine-5);
  --rg-texte-secondaire: var(--rg-neutre-acier);
  --rg-texte-inverse: var(--rg-neutre-blanc);
  --rg-texte-desactive: var(--rg-neutre-gris);
  --rg-bord-defaut: var(--rg-neutre-brume);
  --rg-bord-fort: var(--rg-marine-5);
  --rg-accent-defaut: var(--rg-rose-5);
  --rg-accent-survol: var(--rg-rose-4);
  --rg-accent-presse: var(--rg-rose-6);
  --rg-accent-doux: var(--rg-rose-0);
  --rg-etat-succes: var(--rg-piste-vert);
  --rg-etat-attention: var(--rg-piste-orange);
  --rg-etat-erreur: var(--rg-piste-rouge);
  --rg-etat-info: var(--rg-marine-2);
  --rg-focus: var(--rg-marine-2);
  --rg-inverse-survol: var(--rg-marine-4);
  --rg-inverse-presse: var(--rg-marine-7);
}

/* Styles de texte */
.rg-t-display-xl { font: var(--rg-display-xl); letter-spacing: var(--rg-display-xl-espacement); }
.rg-t-display-l { font: var(--rg-display-l); letter-spacing: var(--rg-display-l-espacement); }
.rg-t-display-m { font: var(--rg-display-m); letter-spacing: var(--rg-display-m-espacement); }
.rg-t-titre-h1 { font: var(--rg-titre-h1); }
.rg-t-titre-h2 { font: var(--rg-titre-h2); }
.rg-t-titre-h3 { font: var(--rg-titre-h3); }
.rg-t-texte-l { font: var(--rg-texte-l); }
.rg-t-texte-m { font: var(--rg-texte-m); }
.rg-t-texte-s { font: var(--rg-texte-s); }
.rg-t-texte-m-fort { font: var(--rg-texte-m-fort); }
.rg-t-texte-s-fort { font: var(--rg-texte-s-fort); }
.rg-t-label-m { font: var(--rg-label-m); letter-spacing: var(--rg-label-m-espacement); text-transform: uppercase; font-variant-numeric: tabular-nums; }
.rg-t-label-s { font: var(--rg-label-s); letter-spacing: var(--rg-label-s-espacement); text-transform: uppercase; font-variant-numeric: tabular-nums; }
.rg-t-chiffre-xl { font: var(--rg-chiffre-xl); letter-spacing: var(--rg-chiffre-xl-espacement); font-variant-numeric: tabular-nums; }
.rg-t-chiffre-l { font: var(--rg-chiffre-l); letter-spacing: var(--rg-chiffre-l-espacement); font-variant-numeric: tabular-nums; }
.rg-t-chiffre-m { font: var(--rg-chiffre-m); font-variant-numeric: tabular-nums; }
.rg-t-chiffre-s { font: var(--rg-chiffre-s); font-variant-numeric: tabular-nums; }

/* Base */
.rg *, .rg *::before, .rg *::after { box-sizing: border-box; }
.rg-label-m { font: var(--rg-label-m); letter-spacing: var(--rg-label-m-espacement); text-transform: uppercase; }
.rg-label-s { font: var(--rg-label-s); letter-spacing: var(--rg-label-s-espacement); text-transform: uppercase; }

/* Slash */
.rg-slash { --h: 12px; --e: 4px; display: inline-block; flex: none; height: var(--h); width: calc(var(--h) * var(--rg-pente) + var(--e)); background: var(--rg-accent-defaut);
  clip-path: polygon(calc(var(--h) * var(--rg-pente)) 0, 100% 0, var(--e) 100%, 0 100%); }

/* Icônes */
.rg-icone { display: inline-flex; flex: none; width: var(--rg-icone-24); height: var(--rg-icone-24); color: inherit; }
.rg-icone svg { width: 100%; height: 100%; display: block; }
.rg-icone path { stroke-width: var(--rg-icone-trait); }
.rg-icone--16 { width: var(--rg-icone-16); height: var(--rg-icone-16); }
.rg-icone--20 { width: var(--rg-icone-20); height: var(--rg-icone-20); }
.rg-icone--40 { width: var(--rg-icone-40); height: var(--rg-icone-40); --rg-icone-trait: var(--rg-icone-trait-grand); }

/* Trajectoire */
.rg-trajectoire { display: block; line-height: 0; color: var(--rg-accent-defaut); width: var(--rg-trajectoire-titre); max-width: 100%; }
.rg-trajectoire[data-taille="moyenne"] { width: var(--rg-trajectoire-moyenne); }
.rg-trajectoire[data-taille="grande"] { width: var(--rg-trajectoire-grande); }

/* Bouton */
.rg-btn {
  --h: var(--rg-btn-m-hauteur); --px: var(--rg-btn-m-marge); --c: var(--rg-btn-m-coin); --coupe: calc(var(--c) / var(--rg-pente));
  --bg: transparent; --fg: var(--rg-texte-principal); --bd: transparent;
  position: relative; display: inline-flex; align-items: center; gap: var(--rg-espace-2); isolation: isolate;
  height: var(--h); padding: 0 var(--px); border: 0; background: none; cursor: pointer; white-space: nowrap; text-decoration: none;
  font: var(--rg-texte-m-fort); color: var(--fg); transition: color var(--rg-duree);
}
.rg-btn::before, .rg-btn::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; transition: background var(--rg-duree);
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--coupe)), calc(100% - var(--c)) 100%, 0 100%); }
.rg-btn::before { background: var(--bd); }
.rg-btn::after { background: var(--bg); }
.rg-btn--s { --h: var(--rg-btn-s-hauteur); --px: var(--rg-btn-s-marge); --c: var(--rg-btn-s-coin); font: var(--rg-texte-s-fort); }
.rg-btn .rg-icone { width: var(--rg-icone-20); height: var(--rg-icone-20); }
.rg-btn--s .rg-icone { width: var(--rg-icone-16); height: var(--rg-icone-16); }

.rg-btn--primaire { --bg: var(--rg-accent-defaut); --fg: var(--rg-neutre-blanc); }
.rg-btn--primaire:hover, .rg-btn--primaire.is-survol { --bg: var(--rg-accent-survol); }
.rg-btn--primaire:active, .rg-btn--primaire.is-presse { --bg: var(--rg-accent-presse); }

.rg-btn--secondaire { --bg: var(--rg-texte-principal); --fg: var(--rg-texte-inverse); }
.rg-btn--secondaire:hover, .rg-btn--secondaire.is-survol { --bg: var(--rg-inverse-survol); }
.rg-btn--secondaire:active, .rg-btn--secondaire.is-presse { --bg: var(--rg-inverse-presse); }

.rg-btn--contour { --bd: var(--rg-texte-principal); --bg: var(--rg-fond-surface); --t: var(--rg-trait-2); }
.rg-btn--contour::after { clip-path: polygon(var(--t) var(--t), calc(100% - var(--t)) var(--t), calc(100% - var(--t)) calc(100% - var(--coupe) - var(--t) * 0.27),
  calc(100% - var(--c) - var(--t) * 0.58) calc(100% - var(--t)), var(--t) calc(100% - var(--t))); }
.rg-btn--contour:hover, .rg-btn--contour.is-survol { --bg: var(--rg-accent-doux); }
.rg-btn--contour:active, .rg-btn--contour.is-presse { --bg: var(--rg-fond-surface-2); }

.rg-btn--fantome::before, .rg-btn--fantome::after { clip-path: none; }
.rg-btn--fantome:hover, .rg-btn--fantome.is-survol { --fg: var(--rg-accent-defaut); }
.rg-btn--fantome:active, .rg-btn--fantome.is-presse { --fg: var(--rg-accent-presse); }
.rg-btn--fantome:hover::after, .rg-btn--fantome.is-survol::after, .rg-btn--fantome:active::after, .rg-btn--fantome.is-presse::after {
  inset: auto var(--px) calc(var(--rg-espace-2) - var(--rg-trait-3)) var(--px); height: var(--rg-trait-3); background: var(--fg); }

.rg-btn:focus-visible, .rg-btn.is-focus { outline: none; }
.rg-btn__focus { display: none; position: absolute; left: 0; right: var(--c); top: calc(100% + var(--rg-btn-focus-ecart)); height: var(--rg-trait-3); background: var(--rg-focus); }
.rg-btn:focus-visible > .rg-btn__focus, .rg-btn.is-focus > .rg-btn__focus { display: block; }
.rg-btn--fantome .rg-btn__focus { right: 0; }

.rg-btn:disabled, .rg-btn.is-desactive { cursor: not-allowed; --fg: var(--rg-texte-desactive); }
.rg-btn--primaire:disabled, .rg-btn--primaire.is-desactive, .rg-btn--secondaire:disabled, .rg-btn--secondaire.is-desactive { --bg: var(--rg-fond-surface-2); }
.rg-btn--contour:disabled, .rg-btn--contour.is-desactive { --bd: var(--rg-texte-desactive); --bg: var(--rg-fond-surface); }

/* Champ */
.rg-champ { display: flex; flex-direction: column; gap: var(--rg-espace-2); width: var(--rg-champ-largeur); max-width: 100%; }
.rg-champ__etiquette { font: var(--rg-label-m); letter-spacing: var(--rg-label-m-espacement); text-transform: uppercase; color: var(--rg-texte-secondaire); }
.rg-champ__boite { position: relative; display: flex; align-items: center; height: var(--rg-champ-hauteur); padding: 0 var(--rg-espace-4);
  background: var(--rg-fond-surface); border: var(--rg-trait-1) solid var(--rg-bord-defaut); border-bottom: 0; }
.rg-champ__boite::after { content: ""; position: absolute; left: calc(var(--rg-trait-1) * -1); right: calc(var(--rg-trait-1) * -1); bottom: 0; height: var(--rg-trait-3); background: var(--rg-bord-fort); }
.rg-champ input { all: unset; flex: 1; min-width: 0; font: var(--rg-texte-m); color: var(--rg-texte-principal); }
.rg-champ input::placeholder { color: var(--rg-texte-desactive); }
.rg-champ__aide { font: var(--rg-texte-s); color: var(--rg-texte-secondaire); }
.rg-champ:hover .rg-champ__boite, .rg-champ.is-survol .rg-champ__boite { border-color: var(--rg-bord-fort); }
.rg-champ__boite:focus-within, .rg-champ.is-focus .rg-champ__boite { border-color: var(--rg-accent-defaut); }
.rg-champ__boite:focus-within::after, .rg-champ.is-focus .rg-champ__boite::after { background: var(--rg-accent-defaut); }
.rg-champ__boite:focus-within::before, .rg-champ.is-focus .rg-champ__boite::before { --h: 14px; content: ""; position: absolute; right: var(--rg-espace-3); top: calc(50% - var(--h) / 2);
  width: calc(var(--h) * var(--rg-pente)); height: var(--h); background: var(--rg-accent-defaut); clip-path: polygon(62.5% 0, 100% 0, 37.5% 100%, 0 100%); }
.rg-champ.is-erreur .rg-champ__etiquette, .rg-champ.is-erreur .rg-champ__aide { color: var(--rg-etat-erreur); }
.rg-champ.is-erreur .rg-champ__boite { border-color: var(--rg-etat-erreur); }
.rg-champ.is-erreur .rg-champ__boite::after { background: var(--rg-etat-erreur); }
.rg-champ.is-desactive .rg-champ__etiquette { color: var(--rg-texte-desactive); }
.rg-champ.is-desactive .rg-champ__boite { background: var(--rg-fond-surface-2); border-color: transparent; }
.rg-champ.is-desactive .rg-champ__boite::after { background: transparent; }

/* Choix : case, radio, interrupteur */
.rg-choix { display: inline-flex; align-items: center; gap: var(--rg-espace-3); cursor: pointer; font: var(--rg-texte-m); color: var(--rg-texte-principal); }
.rg-choix input { position: absolute; opacity: 0; pointer-events: none; }
.rg-choix.is-desactive { color: var(--rg-texte-desactive); cursor: not-allowed; }

.rg-case { --s: var(--rg-case-taille); position: relative; display: inline-block; vertical-align: middle; flex: none; width: var(--s); height: var(--s);
  border: var(--rg-trait-2) solid var(--rg-bord-fort); background: var(--rg-fond-surface); }
.rg-choix input:checked + .rg-case, .rg-case.is-oui, .rg-case.is-partiel { background: var(--rg-texte-principal); border-color: var(--rg-texte-principal); }
.rg-choix input:checked + .rg-case::after, .rg-case.is-oui::after { content: ""; position: absolute;
  left: calc(var(--s) * var(--rg-coche-x)); top: calc(var(--s) * var(--rg-coche-y)); width: calc(var(--s) * var(--rg-coche-largeur)); height: calc(var(--s) * var(--rg-coche-hauteur));
  border: solid var(--rg-texte-inverse); border-width: 0 var(--rg-trait-3) var(--rg-trait-3) 0; transform: rotate(var(--rg-coche-angle)); }
.rg-case.is-partiel::after { content: ""; position: absolute; left: 18%; right: 18%; top: calc(50% - var(--rg-trait-3) / 2 - var(--rg-trait-2)); height: var(--rg-trait-3); background: var(--rg-texte-inverse); }
.rg-choix.is-desactive .rg-case { border-color: var(--rg-texte-desactive); }
.rg-choix.is-desactive .rg-case.is-oui, .rg-choix.is-desactive .rg-case.is-partiel, .rg-choix.is-desactive input:checked + .rg-case { background: var(--rg-texte-desactive); }

.rg-radio { --w: var(--rg-radio-largeur); --h: var(--rg-radio-hauteur); --t: var(--rg-trait-2); --o: var(--rg-radio-decalage); position: relative; flex: none; width: var(--w); height: var(--h);
  background: var(--rg-texte-principal); clip-path: polygon(var(--o) 0, 100% 0, calc(100% - var(--o)) 100%, 0 100%); }
.rg-radio::before { content: ""; position: absolute; inset: 0; background: var(--rg-fond-surface);
  clip-path: polygon(calc(var(--o) + var(--t) * .71) var(--t), calc(100% - var(--t) * 1.41) var(--t), calc(100% - var(--o) - var(--t) * .71) calc(100% - var(--t)), calc(var(--t) * 1.41) calc(100% - var(--t))); }
.rg-choix input:checked + .rg-radio::after, .rg-radio.is-oui::after { content: ""; position: absolute; inset: var(--rg-radio-point-y) var(--rg-radio-point-x); background: var(--rg-accent-defaut);
  clip-path: polygon(calc(var(--o) / 2) 0, 100% 0, calc(100% - var(--o) / 2) 100%, 0 100%); }
.rg-choix.is-desactive .rg-radio, .rg-choix.is-desactive .rg-radio::after { background: var(--rg-texte-desactive); }

.rg-inter { --w: var(--rg-inter-largeur); --h: var(--rg-inter-hauteur); --o: calc(var(--h) * var(--rg-pente) / 2); position: relative; flex: none; width: var(--w); height: var(--h);
  background: var(--rg-bord-fort); clip-path: polygon(var(--o) 0, 100% 0, calc(100% - var(--o)) 100%, 0 100%); transition: background var(--rg-duree); }
.rg-inter::after { content: ""; position: absolute; top: calc(var(--rg-espace-1) - 1px); bottom: calc(var(--rg-espace-1) - 1px); left: var(--rg-espace-1); width: calc(var(--w) * 0.35);
  background: var(--rg-neutre-blanc); clip-path: polygon(31.25% 0, 100% 0, 68.75% 100%, 0 100%); transition: left var(--rg-duree); }
.rg-choix input:checked + .rg-inter, .rg-inter.is-oui { background: var(--rg-accent-defaut); }
.rg-choix input:checked + .rg-inter::after, .rg-inter.is-oui::after { left: calc(100% - var(--w) * 0.35 - var(--rg-espace-1)); }
.rg-choix.is-desactive .rg-inter { background: var(--rg-fond-surface-2); }
.rg-choix.is-desactive .rg-inter::after { background: var(--rg-fond-surface); }

/* Contrôle segmenté */
.rg-segment { display: inline-flex; background: var(--rg-fond-surface); border: var(--rg-trait-1) solid var(--rg-bord-defaut); }
.rg-segment button { all: unset; height: var(--rg-segment-hauteur); padding: 0 var(--rg-espace-4); display: inline-flex; align-items: center; cursor: pointer;
  font: var(--rg-texte-s-fort); color: var(--rg-texte-secondaire); }
.rg-segment button.is-actif { background: var(--rg-texte-principal); color: var(--rg-texte-inverse); }

/* Code entreprise */
.rg-code { display: inline-flex; gap: var(--rg-espace-2); }
.rg-code span { position: relative; width: var(--rg-code-largeur); height: var(--rg-code-hauteur); display: grid; place-items: center;
  background: var(--rg-fond-surface); border: var(--rg-trait-1) solid var(--rg-bord-defaut); border-bottom: 0; font: var(--rg-chiffre-m); color: var(--rg-texte-principal); }
.rg-code span::after { content: ""; position: absolute; left: calc(var(--rg-trait-1) * -1); right: calc(var(--rg-trait-1) * -1); bottom: 0; height: var(--rg-trait-3); background: var(--rg-bord-defaut); }
.rg-code span.is-rempli::after { background: var(--rg-bord-fort); }
.rg-code span.is-courant::after { background: var(--rg-accent-defaut); }

/* Menu */
.rg-menu { width: var(--rg-menu-largeur); display: flex; flex-direction: column; gap: var(--rg-espace-1); padding: 28px 0 var(--rg-espace-5); background: var(--rg-fond-marine); }
.rg-menu__logo { padding: 0 var(--rg-espace-5) var(--rg-espace-6); }
.rg-menu__logo img { width: var(--rg-menu-logo); display: block; }
.rg-menu__section { padding: 0 var(--rg-espace-5) var(--rg-espace-2); font: var(--rg-label-s); letter-spacing: var(--rg-label-s-espacement); text-transform: uppercase; color: var(--rg-neutre-acier); }
.rg-menu__item { position: relative; display: flex; align-items: center; gap: 14px; width: var(--rg-menu-largeur); max-width: 100%; height: var(--rg-menu-item-hauteur);
  padding-left: var(--rg-espace-5); text-decoration: none; font: var(--rg-texte-m); color: var(--rg-neutre-gris); }
.rg-menu__item .rg-icone { width: var(--rg-icone-20); height: var(--rg-icone-20); }
.rg-menu__item:hover, .rg-menu__item.is-survol { background: var(--rg-marine-4); color: var(--rg-neutre-blanc); }
.rg-menu__item.is-actif { font: var(--rg-texte-m-fort); color: var(--rg-neutre-blanc); }
.rg-menu__item.is-actif .rg-icone { color: var(--rg-rose-5); }
.rg-menu__item.is-actif::before { --h: var(--rg-espace-5); content: ""; position: absolute; left: 2px; top: calc(50% - var(--h) / 2); height: var(--h);
  width: calc(var(--h) * var(--rg-pente) + var(--rg-trait-repere)); background: var(--rg-rose-5);
  clip-path: polygon(calc(100% - var(--rg-trait-repere)) 0, 100% 0, var(--rg-trait-repere) 100%, 0 100%); }
.rg-menu__espace { flex: 1; }
.rg-menu__user { display: flex; align-items: center; gap: var(--rg-espace-3); padding: 0 20px 0 var(--rg-espace-5); color: var(--rg-neutre-gris); }
.rg-menu__user > div { flex: 1; }
.rg-menu__user b { display: block; font: var(--rg-texte-s-fort); color: var(--rg-neutre-blanc); }
.rg-menu__user small { display: block; font: var(--rg-label-s); letter-spacing: var(--rg-label-s-espacement); text-transform: uppercase; }

/* Onglets */
.rg-onglets { display: inline-flex; gap: var(--rg-espace-6); box-shadow: inset 0 calc(var(--rg-trait-1) * -1) 0 var(--rg-bord-defaut); }
.rg-onglet { all: unset; position: relative; height: var(--rg-onglet-hauteur); padding: 0 var(--rg-espace-1); display: inline-flex; align-items: center; cursor: pointer;
  font: var(--rg-texte-m-fort); color: var(--rg-texte-secondaire); }
.rg-onglet:hover, .rg-onglet.is-survol, .rg-onglet.is-actif { color: var(--rg-texte-principal); }
.rg-onglet:hover::after, .rg-onglet.is-survol::after, .rg-onglet.is-actif::after { --h: var(--rg-onglet-indicateur); content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: var(--h);
  background: var(--rg-bord-defaut); clip-path: polygon(calc(var(--h) * var(--rg-pente)) 0, 100% 0, calc(100% - var(--h) * var(--rg-pente)) 100%, 0 100%); }
.rg-onglet.is-actif::after { background: var(--rg-accent-defaut); }

/* Fil d'Ariane */
.rg-ariane { display: inline-flex; align-items: center; gap: 10px; font: var(--rg-texte-s); color: var(--rg-texte-secondaire); }
.rg-ariane b { font: var(--rg-texte-s-fort); color: var(--rg-texte-principal); }
.rg-ariane .rg-slash { --h: 12px; --e: 2px; }

/* Pagination */
.rg-pagination { display: inline-flex; align-items: center; gap: var(--rg-espace-1); }
.rg-pagination a { width: var(--rg-pagination-case); height: var(--rg-pagination-case); display: grid; place-items: center; text-decoration: none; font: var(--rg-chiffre-s); color: var(--rg-texte-secondaire); }
.rg-pagination a .rg-icone { width: 18px; height: 18px; color: var(--rg-texte-principal); }
.rg-pagination a.is-actif { background: var(--rg-texte-principal); color: var(--rg-texte-inverse); }

/* Barre mobile */
.rg-barre-mobile { width: var(--rg-grille-mobile); max-width: 100%; height: var(--rg-barre-mobile-hauteur); display: flex; justify-content: space-between; align-items: center; padding: 0 20px; background: var(--rg-fond-marine); }
.rg-barre-mobile a { position: relative; display: flex; flex-direction: column; align-items: center; gap: 6px; text-decoration: none;
  font: var(--rg-label-s); letter-spacing: var(--rg-label-s-espacement); text-transform: uppercase; color: var(--rg-neutre-gris); }
.rg-barre-mobile a .rg-icone { width: 22px; height: 22px; }
.rg-barre-mobile a.is-actif { color: var(--rg-neutre-blanc); }
.rg-barre-mobile a.is-actif .rg-icone { color: var(--rg-rose-5); }
.rg-barre-mobile a.is-actif::before { --h: var(--rg-onglet-indicateur); content: ""; position: absolute; top: -14px; left: calc(50% - 14px); width: 28px; height: var(--h); background: var(--rg-rose-5);
  clip-path: polygon(calc(var(--h) * var(--rg-pente)) 0, 100% 0, calc(100% - var(--h) * var(--rg-pente)) 100%, 0 100%); }

/* En-tête de page */
.rg-entete { --h: var(--rg-entete-hauteur); --haut: 44px; position: relative; height: var(--h); color: var(--rg-neutre-blanc); }
.rg-entete::before { content: ""; position: absolute; inset: 0; background: var(--rg-fond-marine);
  clip-path: polygon(0 0, 100% 0, 100% var(--haut), calc(100% - (var(--h) - var(--haut)) * var(--rg-pente)) 100%, 0 100%); }
.rg-entete::after { content: ""; position: absolute; inset: 0; background: var(--rg-accent-defaut);
  clip-path: polygon(calc(100% - 72px) 100%, 100% calc(100% - 72px / var(--rg-pente)), 100% calc(100% - 54px / var(--rg-pente)), calc(100% - 54px) 100%); }
.rg-entete > * { position: absolute; z-index: 1; margin: 0; }
.rg-entete__surtitre { left: var(--rg-espace-7); top: var(--haut); font: var(--rg-label-m); letter-spacing: var(--rg-label-m-espacement); text-transform: uppercase; color: var(--rg-neutre-gris); }
.rg-entete__titre { left: 44px; top: calc(var(--haut) + 20px); font: var(--rg-display-m); letter-spacing: var(--rg-display-m-espacement); }
.rg-entete .rg-trajectoire { left: var(--rg-espace-7); top: 132px; }
.rg-entete__droite { right: 340px; top: var(--haut); font: var(--rg-chiffre-s); }

/* Étiquette */
.rg-etiquette { --h: var(--rg-etiquette-hauteur); --bg: var(--rg-accent-defaut); --fg: var(--rg-neutre-blanc); position: relative; isolation: isolate; display: inline-flex; align-items: center;
  height: var(--h); padding: 0 18px; white-space: nowrap; font: var(--rg-label-m); letter-spacing: var(--rg-label-m-espacement); text-transform: uppercase; color: var(--fg); }
.rg-etiquette::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--bg);
  clip-path: polygon(calc(var(--h) * var(--rg-pente)) 0, 100% 0, calc(100% - var(--h) * var(--rg-pente)) 100%, 0 100%); }
.rg-etiquette--marine { --bg: var(--rg-texte-principal); --fg: var(--rg-texte-inverse); }
.rg-etiquette--neutre { --bg: var(--rg-fond-surface-2); --fg: var(--rg-texte-principal); }
.rg-etiquette--succes { --bg: var(--rg-etat-succes); --fg: var(--rg-marine-5); }
.rg-etiquette--attention { --bg: var(--rg-etat-attention); --fg: var(--rg-marine-5); }
.rg-etiquette--erreur { --bg: var(--rg-etat-erreur); --fg: var(--rg-neutre-blanc); }

/* Badge */
.rg-badge { --h: var(--rg-badge-hauteur); position: relative; isolation: isolate; display: inline-flex; align-items: center; justify-content: center;
  height: var(--h); min-width: calc(var(--h) * var(--rg-pente) + var(--rg-badge-chiffre)); padding: 0 calc(var(--h) * var(--rg-pente) / 2 + var(--rg-espace-1));
  font: var(--rg-label-m); letter-spacing: 0; font-variant-numeric: tabular-nums; color: var(--rg-neutre-blanc); }
.rg-badge::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--rg-accent-defaut);
  clip-path: polygon(calc(var(--h) * var(--rg-pente)) 0, 100% 0, calc(100% - var(--h) * var(--rg-pente)) 100%, 0 100%); }

/* Alerte */
.rg-alerte { --c: var(--rg-etat-info); position: relative; display: flex; align-items: center; gap: 14px; width: var(--rg-alerte-largeur); max-width: 100%;
  padding: var(--rg-espace-4) var(--rg-espace-4) var(--rg-espace-4) var(--rg-espace-5); background: var(--rg-fond-surface); border: var(--rg-trait-1) solid var(--rg-bord-defaut);
  font: var(--rg-texte-m); color: var(--rg-texte-principal); }
.rg-alerte::before { content: ""; position: absolute; left: calc(var(--rg-trait-1) * -1); top: calc(var(--rg-trait-1) * -1); bottom: calc(var(--rg-trait-1) * -1); width: var(--rg-trait-repere); background: var(--c); }
.rg-alerte > .rg-icone:first-child { width: var(--rg-icone-20); height: var(--rg-icone-20); color: var(--c); }
.rg-alerte__texte { flex: 1; }
.rg-alerte__fermer { width: var(--rg-icone-16); height: var(--rg-icone-16); color: var(--rg-texte-secondaire); cursor: pointer; }
.rg-alerte--succes { --c: var(--rg-etat-succes); }
.rg-alerte--attention { --c: var(--rg-etat-attention); }
.rg-alerte--erreur { --c: var(--rg-etat-erreur); }

/* Toast */
.rg-toast { position: relative; display: inline-flex; align-items: center; gap: var(--rg-espace-4); padding: var(--rg-espace-4) 20px; background: var(--rg-fond-marine);
  font: var(--rg-texte-m-fort); color: var(--rg-neutre-blanc); }
.rg-toast > .rg-icone { width: var(--rg-icone-20); height: var(--rg-icone-20); color: var(--rg-etat-succes); }
.rg-toast__action { font: var(--rg-label-m); letter-spacing: var(--rg-label-m-espacement); text-transform: uppercase; color: var(--rg-rose-5); cursor: pointer; }
.rg-toast::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: var(--rg-trait-4); background: var(--rg-rose-5); }

/* Infobulle */
.rg-infobulle { position: relative; display: inline-block; padding: 10px 14px; background: var(--rg-fond-marine); font: var(--rg-texte-s); color: var(--rg-neutre-blanc); }
.rg-infobulle::after { content: ""; position: absolute; left: var(--rg-espace-4); top: 100%; width: 14px; height: var(--rg-espace-2); background: var(--rg-fond-marine); clip-path: polygon(0 0, 100% 0, 33% 100%); }

/* Jauge vibreur */
.rg-jauge { display: block; width: 300px; max-width: 100%; height: var(--rg-jauge-hauteur); }
.rg-jauge .is-plein { fill: var(--rg-jauge-plein, var(--rg-accent-defaut)); }
.rg-jauge .is-vide { fill: var(--rg-jauge-vide, var(--rg-bord-defaut)); }

/* Chargement */
.rg-chargement { display: inline-flex; gap: var(--rg-espace-1); }
.rg-chargement i { --h: 20px; --e: 2.5px; width: calc(var(--h) * var(--rg-pente) + var(--e)); height: var(--h); background: var(--rg-accent-defaut);
  clip-path: polygon(calc(100% - var(--e)) 0, 100% 0, var(--e) 100%, 0 100%); animation: rgCharge 1s infinite steps(1); }
.rg-chargement i:nth-child(2) { background: var(--rg-accent-survol); animation-delay: .33s; }
.rg-chargement i:nth-child(3) { background: var(--rg-rose-2); animation-delay: .66s; }
@keyframes rgCharge { 50% { opacity: .35; } }

/* Modale */
.rg-modale { position: relative; width: var(--rg-modale-largeur); max-width: 100%; background: var(--rg-fond-surface); }
.rg-modale::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: var(--rg-trait-repere); background: var(--rg-accent-defaut); }
.rg-modale__entete { display: flex; flex-direction: column; gap: 6px; padding: 28px var(--rg-espace-6) 20px; }
.rg-modale__surtitre { font: var(--rg-label-m); letter-spacing: var(--rg-label-m-espacement); text-transform: uppercase; color: var(--rg-accent-defaut); }
.rg-modale__titre { margin: 0; font: var(--rg-titre-h2); color: var(--rg-texte-principal); }
.rg-modale__contenu { display: flex; flex-direction: column; gap: var(--rg-espace-2); padding: 0 var(--rg-espace-6) 28px; }
.rg-modale__pied { display: flex; align-items: center; gap: var(--rg-espace-3); padding: var(--rg-espace-4) var(--rg-espace-6); background: var(--rg-fond-page); }
.rg-modale__pied .rg-espaceur { flex: 1; }

/* État vide */
.rg-vide { display: flex; flex-direction: column; align-items: center; gap: var(--rg-espace-3); width: var(--rg-vide-largeur); max-width: 100%; padding: 40px 0; background: var(--rg-fond-surface); text-align: center; }
.rg-vide .rg-trajectoire { width: calc(var(--rg-trajectoire-moyenne) * .45); color: var(--rg-bord-defaut); }
.rg-vide h3 { margin: 0; font: var(--rg-titre-h3); color: var(--rg-texte-principal); }
.rg-vide p { margin: 0; font: var(--rg-texte-s); color: var(--rg-texte-secondaire); }

/* Avatar */
.rg-avatar { --s: var(--rg-avatar-m); position: relative; width: var(--s); height: var(--s); flex: none; display: grid; place-items: center; overflow: hidden;
  background: var(--rg-fond-marine); color: var(--rg-neutre-blanc); font: var(--rg-label-m); letter-spacing: var(--rg-label-m-espacement); }
.rg-avatar::after { content: ""; position: absolute; right: 0; bottom: 0; width: calc(var(--s) * .28); height: calc(var(--s) * .28); background: var(--rg-accent-defaut); clip-path: polygon(100% 0, 100% 100%, 42% 100%); }
.rg-avatar--s { --s: var(--rg-avatar-s); font: var(--rg-label-s); letter-spacing: var(--rg-label-s-espacement); }
.rg-avatar--l { --s: var(--rg-avatar-l); font: var(--rg-titre-h3); letter-spacing: 0; }

/* Ligne d'événement */
.rg-evenement { position: relative; display: flex; align-items: center; gap: 20px; width: 560px; max-width: 100%; height: var(--rg-evenement-hauteur); padding: 0 20px 0 var(--rg-espace-5);
  background: var(--rg-fond-surface); box-shadow: inset 0 calc(var(--rg-trait-1) * -1) 0 var(--rg-bord-defaut); color: var(--rg-texte-principal); }
.rg-evenement__debut { font: var(--rg-chiffre-m); }
.rg-evenement__titre { flex: 1; font: var(--rg-texte-m-fort); }
.rg-evenement__fin { font: var(--rg-chiffre-s); color: var(--rg-texte-secondaire); }
.rg-evenement.is-passe, .rg-evenement.is-passe .rg-evenement__fin { color: var(--rg-texte-desactive); }
.rg-evenement.is-encours { background: var(--rg-accent-doux); }
.rg-evenement.is-encours::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: var(--rg-trait-repere); background: var(--rg-accent-defaut); }

/* Compte à rebours */
.rg-compte { --rg-jauge-vide: var(--rg-marine-4); width: var(--rg-compte-largeur); max-width: 100%; display: flex; flex-direction: column; gap: 14px; padding: var(--rg-espace-5) 28px;
  background: var(--rg-marine-5); color: var(--rg-neutre-blanc); }
.rg-compte.is-proche, .rg-compte.is-zero { box-shadow: inset 0 0 0 var(--rg-trait-3) var(--rg-accent-defaut); }
.rg-compte__tete { display: flex; align-items: center; gap: var(--rg-espace-3); }
.rg-compte__pastille { width: 36px; height: 36px; display: grid; place-items: center; background: var(--rg-accent-defaut); color: var(--rg-neutre-blanc); }
.rg-compte__pastille .rg-icone { width: var(--rg-icone-20); height: var(--rg-icone-20); }
.rg-compte__titre { flex: 1; font: var(--rg-titre-h3); }
.rg-compte__valeur { font: var(--rg-chiffre-l); letter-spacing: var(--rg-chiffre-l-espacement); font-variant-numeric: tabular-nums; }
.rg-compte .rg-jauge { width: 100%; }

/* Carte pilote */
.rg-pilote { --w: var(--rg-pilote-largeur); --haut: 240px; position: relative; width: var(--w); height: var(--rg-pilote-hauteur); overflow: hidden; background: var(--rg-fond-surface); color: var(--rg-texte-principal); }
.rg-pilote::before { content: ""; position: absolute; left: 0; top: 0; width: 100%; height: var(--haut); background: var(--rg-marine-5);
  clip-path: polygon(0 0, 100% 0, 100% 62.5%, calc(100% - 90px * var(--rg-pente)) 100%, 0 100%); }
.rg-pilote::after { content: ""; position: absolute; left: 0; top: 0; width: 100%; height: var(--haut); background: var(--rg-rose-5);
  clip-path: polygon(calc(100% - 38px) 100%, 100% calc(100% - 66px), 100% calc(100% - 40px), calc(100% - 23px) 100%); }
.rg-pilote > * { position: absolute; z-index: 1; margin: 0; }
.rg-pilote__champ { left: 28px; top: 26px; font: var(--rg-label-m); letter-spacing: var(--rg-label-m-espacement); text-transform: uppercase; color: var(--rg-neutre-gris); }
.rg-pilote__numero { left: 22px; top: 40px; font: var(--rg-display-xl); letter-spacing: var(--rg-display-xl-espacement); color: var(--rg-neutre-blanc); }
.rg-pilote__prenom { left: 28px; top: 262px; font: var(--rg-texte-m); color: var(--rg-texte-secondaire); }
.rg-pilote__nom { left: 26px; top: 284px; font: var(--rg-titre-h1); }
.rg-pilote__detail { left: 28px; top: 338px; font: var(--rg-label-s); letter-spacing: var(--rg-label-s-espacement); text-transform: uppercase; color: var(--rg-texte-secondaire); }

/* Carte chiffre */
.rg-chiffre { width: var(--rg-chiffre-largeur); max-width: 100%; display: flex; flex-direction: column; gap: 6px; padding: 22px var(--rg-espace-5); background: var(--rg-fond-surface); }
.rg-chiffre__libelle { font: var(--rg-label-m); letter-spacing: var(--rg-label-m-espacement); text-transform: uppercase; color: var(--rg-texte-secondaire); }
.rg-chiffre__valeur { display: flex; align-items: baseline; gap: var(--rg-espace-2); }
.rg-chiffre__valeur b { font: var(--rg-display-m); letter-spacing: var(--rg-display-m-espacement); color: var(--rg-texte-principal); }
.rg-chiffre__valeur span { font: var(--rg-chiffre-m); color: var(--rg-texte-secondaire); }
.rg-chiffre .rg-jauge { width: 100%; height: 10px; }

/* Tableau */
.rg-tableau { width: 760px; max-width: 100%; border-collapse: collapse; }
.rg-tableau th, .rg-tableau td { height: 56px; padding: 0 var(--rg-espace-2); text-align: left; background: var(--rg-fond-surface); box-shadow: inset 0 calc(var(--rg-trait-1) * -1) 0 var(--rg-bord-defaut); }
.rg-tableau th:first-child, .rg-tableau td:first-child { width: 40px; padding-left: 20px; }
.rg-tableau th { height: 40px; background: var(--rg-fond-page); font: var(--rg-label-m); letter-spacing: var(--rg-label-m-espacement); text-transform: uppercase; color: var(--rg-texte-secondaire); }
.rg-tableau tbody tr:hover td, .rg-tableau tr.is-survol td { background: var(--rg-fond-page); }
.rg-tableau tr.is-selection td { background: var(--rg-accent-doux); }
.rg-tableau .rg-nom { display: flex; align-items: center; gap: 10px; font: var(--rg-texte-m-fort); color: var(--rg-texte-principal); }
.rg-tableau .rg-sec { font: var(--rg-texte-m); color: var(--rg-texte-secondaire); }
.rg-tableau .rg-mono { font: var(--rg-chiffre-s); color: var(--rg-texte-principal); }

/* Frise du jour */
.rg-frise { width: 700px; max-width: 100%; background: var(--rg-fond-surface); }
.rg-frise svg { display: block; overflow: visible; }
.rg-frise__piste { fill: var(--rg-bord-defaut); }
.rg-frise__parcours, .rg-frise__point { fill: var(--rg-accent-defaut); }
.rg-frise__point.is-maintenant { stroke: var(--rg-neutre-blanc); stroke-width: var(--rg-trait-4); }
.rg-frise__point.is-avenir { fill: var(--rg-fond-surface); stroke: var(--rg-bord-fort); stroke-width: var(--rg-trait-3); }
.rg-frise__heure { font: var(--rg-chiffre-s); fill: var(--rg-texte-secondaire); }
.rg-frise__heure.is-maintenant { fill: var(--rg-texte-principal); }

/* ===== Marque, éléments graphiques et gabarits ===== */

:root {
  /* Fichiers de la marque */
  --rg-asset-logo-marine: url("assets/charte/logo-sur-marine.svg");
  --rg-asset-logo-clair: url("assets/charte/logo-sur-clair.svg");
  --rg-asset-symbole: url("assets/charte/symbole.svg");
  --rg-asset-trajectoire-titre: url("assets/charte/trajectoire-titre.svg");
  --rg-asset-trajectoire-moyenne: url("assets/charte/trajectoire-moyenne.svg");
  --rg-asset-trajectoire-grande: url("assets/charte/trajectoire-grande.svg");

  /* Logo */
  --rg-logo-largeur: 360px;
  --rg-logo-principal: 600px;
  --rg-logo-mini: 120px;
  --rg-logo-ratio: 360 / 85;
  --rg-logo-protection: 0.1074;
  --rg-logo-mono-filtre: brightness(0) invert(1);
  --rg-symbole-largeur: 180px;
  --rg-symbole-mini: 48px;
  --rg-symbole-micro: 32px;
  --rg-symbole-ratio: 240 / 96;

  /* Icône d'app */
  --rg-app-icone-140: 140px;
  --rg-app-icone-96: 96px;
  --rg-app-icone-64: 64px;
  --rg-app-icone-44: 44px;
  --rg-app-icone-rayon: 0.225;
  --rg-app-icone-symbole: 1.733;
  --rg-app-icone-x: -0.613;
  --rg-app-icone-y: 0.04;

  /* Répartition des couleurs */
  --rg-part-marine: 70%;
  --rg-part-blanc: 20%;
  --rg-part-papier: 5%;
  --rg-part-rose: 5%;
  --rg-proportions-hauteur: 16px;

  /* Slash */
  --rg-slash-24: 24px;
  --rg-slash-24-epaisseur: 4px;
  --rg-slash-40: 40px;
  --rg-slash-40-epaisseur: 8px;
  --rg-slash-64: 64px;
  --rg-slash-64-epaisseur: 18px;
  --rg-slash-large-epaisseur: 40px;
  --rg-slash-titre: 64px;
  --rg-slash-titre-epaisseur: 12px;

  /* Coupe */
  --rg-coupe-hauteur: 150px;
  --rg-coupe-haut: 36px;
  --rg-coupe-bande-1: 64px;
  --rg-coupe-bande-2: 45px;

  /* Numéro de course */
  --rg-numero-taille: 150px;
  --rg-numero-interligne: 88%;
  --rg-numero-trait: 2px;

  /* Vibreur */
  --rg-vibreur-hauteur: 40px;
  --rg-vibreur-pas: 44px;
  --rg-vibreur-bloc: 22px;

  /* Icônes · tailles complémentaires */
  --rg-icone-32: 32px;
  --rg-icone-48: 48px;
  --rg-icone-trait-48: 1;

  /* Titre de page */
  --rg-titre-page-ecart: var(--rg-espace-4);

  /* Écran de marque (proportions d'un écran 1920 × 1080) */
  --rg-marque-ratio: 16 / 9;
  --rg-marque-blanc: 27.96cqh;
  --rg-marque-ecart: 1.85cqh;
  --rg-marque-bande: 3.52cqh;
  --rg-marque-marge: 5.83cqw;
  --rg-marque-logo: 21.875cqw;
  --rg-marque-logo-haut: 11.1cqh;
  --rg-marque-titre: 14.63cqh;
  --rg-marque-titre-haut: 57.4cqh;
  --rg-marque-legende: 1.67cqh;
  --rg-marque-legende-couleur: #AEB8CC;
  --rg-marque-numero: 31.5cqh;
  --rg-marque-numero-opacite: .08;
  --rg-marque-trajectoire: 72.9cqw;
  --rg-marque-trajectoire-opacite: .9;
  --rg-marque-trajectoire-x: 3.125cqw;
  --rg-marque-trajectoire-y: 52.3cqh;
  --rg-marque-numero-x: 81.25cqw;
  --rg-marque-numero-y: 51.85cqh;

  /* Contrôle segmenté · tailles */
  --rg-segment-s-hauteur: 32px;
  --rg-segment-s-marge: 13px;
  --rg-segment-s-police: normal 600 11.2px/140% var(--rg-police-texte);
  --rg-segment-l-hauteur: 51px;

  /* En-tête mobile */
  --rg-entete-mobile-hauteur: 190px;
  --rg-entete-mobile-haut: 65px;
  --rg-entete-mobile-bande-1: 60px;
  --rg-entete-mobile-bande-2: 45px;
  --rg-titre-mobile: italic 900 44px/100% var(--rg-police-titre);
  --rg-titre-mobile-l: italic 900 52px/92% var(--rg-police-titre);
  --rg-mobile-marge: 24px;

  /* Structure (menu, en-têtes, barre mobile) : marine dans les deux modes */
  --rg-fond-structure: var(--rg-marine-5);

  /* Gabarit d'application */
  --rg-app-marge: var(--rg-grille-bureau-marge);
  --rg-app-haut: 28px;
  --rg-app-col-principale: 620fr;
  --rg-app-col-laterale: 468fr;
  --rg-panneau-entete: 64px;
}

/* Contexte sur fond marine */
.rg-sur-marine {
  --rg-fond-page: var(--rg-marine-5);
  --rg-fond-surface: var(--rg-marine-5);
  --rg-fond-surface-2: var(--rg-neutre-brume);
  --rg-fond-marine: var(--rg-marine-4);
  --rg-texte-principal: var(--rg-neutre-blanc);
  --rg-texte-secondaire: var(--rg-neutre-gris);
  --rg-texte-inverse: var(--rg-marine-5);
  --rg-texte-desactive: var(--rg-neutre-gris);
  --rg-bord-defaut: var(--rg-marine-4);
  --rg-bord-fort: var(--rg-neutre-gris);
  --rg-accent-doux: var(--rg-rose-8);
  --rg-inverse-survol: var(--rg-neutre-brume);
  --rg-inverse-presse: var(--rg-neutre-gris);
  --rg-focus: var(--rg-marine-0);
  background: var(--rg-marine-5); color: var(--rg-neutre-blanc);
}
.rg-sur-rose { background: var(--rg-accent-defaut); color: var(--rg-neutre-blanc); }

/* Logo */
.rg-logo { --l: var(--rg-logo-largeur); display: inline-block; flex: none; padding: calc(var(--l) * var(--rg-logo-protection)); line-height: 0; }
.rg-logo img { display: block; width: var(--l); height: auto; }
.rg-logo--principal { --l: var(--rg-logo-principal); }
.rg-logo--mini { --l: var(--rg-logo-mini); }
.rg-logo--serre { padding: 0; }
.rg-logo--mono img { filter: var(--rg-logo-mono-filtre); }
.rg-symbole { --l: var(--rg-symbole-largeur); display: inline-block; flex: none; line-height: 0; }
.rg-symbole img { display: block; width: var(--l); height: auto; }
.rg-symbole--mini { --l: var(--rg-symbole-mini); }
.rg-symbole--micro { --l: var(--rg-symbole-micro); }

/* Icône d'app */
.rg-app-icone { --s: var(--rg-app-icone-140); display: inline-block; flex: none; width: var(--s); height: var(--s); border-radius: calc(var(--s) * var(--rg-app-icone-rayon));
  background: var(--rg-marine-5) var(--rg-asset-symbole) no-repeat;
  background-size: calc(var(--s) * var(--rg-app-icone-symbole)) auto;
  background-position: calc(var(--s) * var(--rg-app-icone-x)) calc(var(--s) * var(--rg-app-icone-y)); }
.rg-app-icone--96 { --s: var(--rg-app-icone-96); }
.rg-app-icone--64 { --s: var(--rg-app-icone-64); }
.rg-app-icone--44 { --s: var(--rg-app-icone-44); }

/* Répartition 70 · 20 · 5 · 5 */
.rg-proportions { display: flex; height: var(--rg-proportions-hauteur); }
.rg-proportions i { display: block; }
.rg-proportions i:nth-child(1) { flex: 0 0 var(--rg-part-marine); background: var(--rg-marine-5); }
.rg-proportions i:nth-child(2) { flex: 0 0 var(--rg-part-blanc); background: var(--rg-neutre-blanc); box-shadow: inset 0 0 0 var(--rg-trait-1) var(--rg-neutre-brume); }
.rg-proportions i:nth-child(3) { flex: 0 0 var(--rg-part-papier); background: var(--rg-neutre-papier); }
.rg-proportions i:nth-child(4) { flex: 0 0 var(--rg-part-rose); background: var(--rg-rose-5); }

/* Slash · tailles */
.rg-slash--24 { --h: var(--rg-slash-24); --e: var(--rg-slash-24-epaisseur); }
.rg-slash--40 { --h: var(--rg-slash-40); --e: var(--rg-slash-40-epaisseur); }
.rg-slash--64 { --h: var(--rg-slash-64); --e: var(--rg-slash-64-epaisseur); }
.rg-slash--large { --h: var(--rg-slash-64); --e: var(--rg-slash-large-epaisseur); }
.rg-slash--titre { --h: var(--rg-slash-titre); --e: var(--rg-slash-titre-epaisseur); }
.rg-slash--blanc { background: var(--rg-neutre-blanc); }

/* Trajectoire (forme exacte du logo, dessinée par charte.js) */
.rg-trajectoire { aspect-ratio: 220 / 47; }
.rg-trajectoire[data-taille="moyenne"] { aspect-ratio: 420 / 120; }
.rg-trajectoire[data-taille="grande"] { aspect-ratio: 900 / 340; }
.rg-trajectoire svg { display: block; width: 100%; height: 100%; }

/* Titre de page */
.rg-titre-page { display: flex; align-items: center; gap: var(--rg-titre-page-ecart); margin: 0; font: var(--rg-display-l); letter-spacing: var(--rg-display-l-espacement); color: var(--rg-texte-principal); }
.rg-titre-page::before { --h: var(--rg-slash-titre); --e: var(--rg-slash-titre-epaisseur); content: ""; flex: none; height: var(--h); width: calc(var(--h) * var(--rg-pente) + var(--e));
  background: var(--rg-accent-defaut); clip-path: polygon(calc(var(--h) * var(--rg-pente)) 0, 100% 0, var(--e) 100%, 0 100%); }
.rg-surtitre { font: var(--rg-label-m); letter-spacing: var(--rg-label-m-espacement); text-transform: uppercase; color: var(--rg-accent-defaut); }
.rg-espaceur { flex: 1; }

/* Coupe */
.rg-coupe { --h: var(--rg-coupe-hauteur); --haut: var(--rg-coupe-haut); position: relative; height: var(--h); }
.rg-coupe::before { content: ""; position: absolute; inset: 0; background: var(--rg-coupe-fond, var(--rg-fond-structure));
  clip-path: polygon(0 0, 100% 0, 100% var(--haut), calc(100% - (var(--h) - var(--haut)) * var(--rg-pente)) 100%, 0 100%); }
.rg-coupe::after { content: ""; position: absolute; inset: 0; background: var(--rg-accent-defaut);
  clip-path: polygon(calc(100% - var(--rg-coupe-bande-1)) 100%, 100% calc(100% - var(--rg-coupe-bande-1) / var(--rg-pente)),
    100% calc(100% - var(--rg-coupe-bande-2) / var(--rg-pente)), calc(100% - var(--rg-coupe-bande-2)) 100%); }

/* Numéro de course */
.rg-numero { font: var(--rg-display-xl); font-size: var(--rg-numero-taille); line-height: var(--rg-numero-interligne); letter-spacing: var(--rg-display-xl-espacement); color: var(--rg-numero-couleur, var(--rg-texte-principal)); }
.rg-numero--contour { color: transparent; -webkit-text-stroke: var(--rg-numero-trait) var(--rg-numero-contour, var(--rg-accent-defaut)); }

/* Vibreur */
.rg-vibreur { --p: calc(var(--rg-vibreur-pas) * 0.866); --b: calc(var(--rg-vibreur-bloc) * 0.866); --o: calc(var(--p) - var(--b)); display: block; height: var(--rg-vibreur-hauteur);
  background: repeating-linear-gradient(120deg,
    var(--rg-vibreur-a, var(--rg-accent-defaut)) var(--o) calc(var(--o) + var(--b)), transparent calc(var(--o) + var(--b)) calc(var(--o) + var(--p)),
    var(--rg-vibreur-b, var(--rg-neutre-blanc)) calc(var(--o) + var(--p)) calc(var(--o) + var(--p) + var(--b)), transparent calc(var(--o) + var(--p) + var(--b)) calc(var(--o) + var(--p) * 2)); }

/* Icônes · tailles et états */
.rg-icone--32 { width: var(--rg-icone-32); height: var(--rg-icone-32); }
.rg-icone--48 { width: var(--rg-icone-48); height: var(--rg-icone-48); --rg-icone-trait: var(--rg-icone-trait-48); }
.rg-icone--secondaire { color: var(--rg-texte-secondaire); }
.rg-icone--actif { color: var(--rg-accent-defaut); }
.rg-icone--inverse { color: var(--rg-neutre-blanc); }

/* Grille */
.rg-grille { --n: var(--rg-grille-bureau-colonnes); display: grid; grid-template-columns: repeat(var(--n), minmax(0, 1fr)); gap: var(--rg-grille-bureau-gouttiere); }
.rg-grille--mobile { --n: var(--rg-grille-mobile-colonnes); gap: var(--rg-grille-mobile-gouttiere); }
.rg-col-1 { grid-column: span 1; } .rg-col-2 { grid-column: span 2; } .rg-col-3 { grid-column: span 3; } .rg-col-4 { grid-column: span 4; }
.rg-col-5 { grid-column: span 5; } .rg-col-6 { grid-column: span 6; } .rg-col-7 { grid-column: span 7; } .rg-col-8 { grid-column: span 8; }
.rg-col-9 { grid-column: span 9; } .rg-col-10 { grid-column: span 10; } .rg-col-11 { grid-column: span 11; } .rg-col-12 { grid-column: span 12; }

/* Contrôle segmenté · tailles */
.rg-segment--s button { height: var(--rg-segment-s-hauteur); padding: 0 var(--rg-segment-s-marge); font: var(--rg-segment-s-police); }
.rg-segment--plein { display: flex; width: 100%; }
.rg-segment--plein button { flex: 1; justify-content: center; height: var(--rg-segment-l-hauteur); font: var(--rg-texte-m-fort); }

/* En-tête mobile */
.rg-entete--mobile { --h: var(--rg-entete-mobile-hauteur); --haut: var(--rg-entete-mobile-haut); }
.rg-entete--mobile::after { clip-path: polygon(calc(100% - var(--rg-entete-mobile-bande-1)) 100%, 100% calc(100% - var(--rg-entete-mobile-bande-1) / var(--rg-pente)),
  100% calc(100% - var(--rg-entete-mobile-bande-2) / var(--rg-pente)), calc(100% - var(--rg-entete-mobile-bande-2)) 100%); }
.rg-entete--mobile .rg-entete__surtitre { left: var(--rg-mobile-marge); top: var(--rg-espace-8); font: var(--rg-label-s); letter-spacing: var(--rg-label-s-espacement); }
.rg-entete--mobile .rg-entete__titre { left: calc(var(--rg-mobile-marge) - 2px); top: calc(var(--rg-espace-8) + 20px); font: var(--rg-titre-mobile); }

/* Écran de marque */
.rg-marque { container-type: size; position: relative; overflow: hidden; aspect-ratio: var(--rg-marque-ratio); background: var(--rg-marine-5); color: var(--rg-neutre-blanc); }
.rg-marque::before, .rg-marque::after { content: ""; position: absolute; inset: 0; }
.rg-marque::before { background: var(--rg-neutre-blanc);
  clip-path: polygon(calc(100% - var(--rg-marque-blanc)) 0, 100% 0, 100% 100%, calc(100% - var(--rg-marque-blanc) - 100cqh * var(--rg-pente)) 100%); }
.rg-marque::after { --x: calc(var(--rg-marque-blanc) + var(--rg-marque-ecart)); background: var(--rg-accent-defaut);
  clip-path: polygon(calc(100% - var(--x) - var(--rg-marque-bande)) 0, calc(100% - var(--x)) 0, calc(100% - var(--x) - 100cqh * var(--rg-pente)) 100%, calc(100% - var(--x) - var(--rg-marque-bande) - 100cqh * var(--rg-pente)) 100%); }
.rg-marque > * { position: absolute; z-index: 1; margin: 0; }
.rg-marque__logo { left: var(--rg-marque-marge); top: var(--rg-marque-logo-haut); width: var(--rg-marque-logo); }
.rg-marque__logo img { display: block; width: 100%; height: auto; }
.rg-marque .rg-trajectoire { left: var(--rg-marque-trajectoire-x); top: var(--rg-marque-trajectoire-y); width: var(--rg-marque-trajectoire); max-width: none; opacity: var(--rg-marque-trajectoire-opacite); }
.rg-marque__titre { left: var(--rg-marque-marge); top: var(--rg-marque-titre-haut); font: var(--rg-display-xl); font-size: var(--rg-marque-titre); line-height: var(--rg-numero-interligne); text-transform: uppercase; }
.rg-marque__pied { left: var(--rg-marque-marge); right: var(--rg-marque-marge); bottom: 7.4cqh; display: flex; justify-content: space-between;
  font: var(--rg-label-m); font-size: var(--rg-marque-legende); letter-spacing: var(--rg-label-m-espacement); text-transform: uppercase; color: var(--rg-marque-legende-couleur); }
.rg-marque__pied b { color: var(--rg-marine-5); }
.rg-marque__numero { left: var(--rg-marque-numero-x); top: var(--rg-marque-numero-y); font: var(--rg-display-xl); font-size: var(--rg-marque-numero); line-height: 1; color: var(--rg-marine-5); opacity: var(--rg-marque-numero-opacite); }

/* Gabarit d'application */
.rg-app { display: flex; min-height: 100vh; background: var(--rg-fond-page); color: var(--rg-texte-principal); }
.rg-app > .rg-menu { flex: none; }
.rg-app__principal { flex: 1; min-width: 0; }
.rg-app__contenu { display: flex; flex-direction: column; gap: var(--rg-espace-6); padding: var(--rg-app-haut) var(--rg-app-marge) var(--rg-espace-7); }
.rg-app__colonnes { display: grid; grid-template-columns: minmax(0, var(--rg-app-col-principale)) minmax(0, var(--rg-app-col-laterale)); gap: var(--rg-grille-bureau-gouttiere); align-items: start; }
.rg-app__pile { display: flex; flex-direction: column; gap: var(--rg-espace-3); }
.rg-app__pile > * { width: 100%; }
.rg-app__duo { display: grid; grid-template-columns: 1fr 1fr; gap: var(--rg-grille-bureau-gouttiere); }
.rg-app__duo > * { width: auto; }
.rg-app__actions { display: flex; gap: var(--rg-espace-7); margin-top: var(--rg-espace-2); }

/* Panneau */
.rg-panneau { background: var(--rg-fond-surface); }
.rg-panneau__entete { display: flex; align-items: center; justify-content: space-between; height: var(--rg-panneau-entete); padding: 0 var(--rg-espace-3) 0 var(--rg-espace-5);
  font: var(--rg-label-m); letter-spacing: var(--rg-label-m-espacement); text-transform: uppercase; color: var(--rg-texte-secondaire); }
.rg-panneau .rg-evenement { width: 100%; }
.rg-panneau__entete .rg-segment { text-transform: none; letter-spacing: normal; }

/* Écran de connexion */
.rg-connexion { display: flex; flex-direction: column; align-items: flex-start; gap: var(--rg-espace-2); padding: var(--rg-espace-8) var(--rg-mobile-marge); }
.rg-connexion .rg-logo { --l: calc(var(--rg-logo-mini) * 1.25); padding: 0; margin-bottom: var(--rg-espace-7); }
.rg-connexion__titre { margin: 0 0 var(--rg-espace-6); font: var(--rg-titre-mobile-l); color: var(--rg-texte-principal); }
.rg-connexion .rg-champ { width: 100%; margin-bottom: var(--rg-espace-4); }
.rg-connexion .rg-code { margin-bottom: var(--rg-espace-7); }
.rg-connexion__lien { margin: var(--rg-espace-3) 0 0; font: var(--rg-texte-s); color: var(--rg-texte-secondaire); }
.rg-connexion__lien a { color: inherit; text-decoration: none; }

/* Avatar du menu · pagination */
:root { --rg-avatar-menu: 36px; }
.rg-avatar--menu { --s: var(--rg-avatar-menu); background: var(--rg-accent-defaut); }
.rg-pagination__precedent { transform: scaleX(-1); }

/* Structure marine dans les deux modes */
.rg-menu, .rg-barre-mobile { background: var(--rg-fond-structure); }
.rg-entete::before { background: var(--rg-fond-structure); }
