/* ══════════════════════════════════════════════════════════════════════════
   LES SAVEURS 2I2D — habillage des cadres, tuiles et boutons   (01/10/2026)

   FICHIER GÉNÉRÉ par la session de design du 01/10 — les règles se lisent
   ici, sans outil. Trois saveurs, posées par apps/shared/saveurs/saveurs.js
   sur <html data-saveur="…"> :
     · patisserie   (par défaut) — crème, parfums pastel, contours chocolat,
                     bords « biscuit » qui s'enfoncent au clic ;
     · sucre-glace  — verre dépoli teinté par le fond, icônes façon apps ;
     · bonbon       — aplats acidulés, contours encre, ombres dures.

   CE QUE CETTE FEUILLE NE FAIT PAS
     · Elle ne touche pas au FOND (le « Thème visuel », habillages.css) :
       saveur et thème se combinent librement.
     · Elle ne s'applique pas en « Contraste renforcé » : ce mode garde son
       blanc et son noir, toutes les règles ci-dessous l'excluent.
     · Elle ne change aucune couleur de texte posée par la page pour la
       lisibilité (« balais » de dashboard.css, data-couleurs) : les surfaces
       restent CLAIRES, donc le texte sombre imposé reste lisible ; les
       boutons à texte blanc imposé reçoivent des fonds foncés (≥ 4,5:1).
     · Les styles posés EN LIGNE avec !important (navigation par date du
       résumé du jour) gardent leur aspect : rien ne peut ni ne doit les
       écraser.
   ══════════════════════════════════════════════════════════════════════════ */

/* ── 1. Polices auto-hébergées (OFL) — téléchargées seulement si la saveur
         active s'en sert ; aucun appel à un serveur tiers. ─────────────────── */
@font-face{font-family:'Saveur Fraunces';font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/saveurs/fraunces-latin-ext-full-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:'Saveur Fraunces';font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/saveurs/fraunces-latin-full-normal.woff2) format('woff2');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:'Saveur Figtree';font-style:normal;font-weight:300 900;font-display:swap;src:url(/assets/fonts/saveurs/figtree-latin-ext-wght-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:'Saveur Figtree';font-style:normal;font-weight:300 900;font-display:swap;src:url(/assets/fonts/saveurs/figtree-latin-wght-normal.woff2) format('woff2');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:'Saveur Figtree';font-style:italic;font-weight:300 900;font-display:swap;src:url(/assets/fonts/saveurs/figtree-latin-ext-wght-italic.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:'Saveur Figtree';font-style:italic;font-weight:300 900;font-display:swap;src:url(/assets/fonts/saveurs/figtree-latin-wght-italic.woff2) format('woff2');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:'Saveur Jakarta';font-style:normal;font-weight:200 800;font-display:swap;src:url(/assets/fonts/saveurs/plus-jakarta-sans-latin-ext-wght-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:'Saveur Jakarta';font-style:normal;font-weight:200 800;font-display:swap;src:url(/assets/fonts/saveurs/plus-jakarta-sans-latin-wght-normal.woff2) format('woff2');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:'Saveur Jakarta';font-style:italic;font-weight:200 800;font-display:swap;src:url(/assets/fonts/saveurs/plus-jakarta-sans-latin-ext-wght-italic.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:'Saveur Jakarta';font-style:italic;font-weight:200 800;font-display:swap;src:url(/assets/fonts/saveurs/plus-jakarta-sans-latin-wght-italic.woff2) format('woff2');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:'Saveur Bricolage';font-style:normal;font-weight:200 800;font-display:swap;src:url(/assets/fonts/saveurs/bricolage-grotesque-latin-ext-opsz-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:'Saveur Bricolage';font-style:normal;font-weight:200 800;font-display:swap;src:url(/assets/fonts/saveurs/bricolage-grotesque-latin-opsz-normal.woff2) format('woff2');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:'Saveur DM Sans';font-style:normal;font-weight:100 1000;font-display:swap;src:url(/assets/fonts/saveurs/dm-sans-latin-ext-opsz-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:'Saveur DM Sans';font-style:normal;font-weight:100 1000;font-display:swap;src:url(/assets/fonts/saveurs/dm-sans-latin-opsz-normal.woff2) format('woff2');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:'Saveur DM Sans';font-style:italic;font-weight:100 1000;font-display:swap;src:url(/assets/fonts/saveurs/dm-sans-latin-ext-opsz-italic.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:'Saveur DM Sans';font-style:italic;font-weight:100 1000;font-display:swap;src:url(/assets/fonts/saveurs/dm-sans-latin-opsz-italic.woff2) format('woff2');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}

/* ── 2. Jetons ──────────────────────────────────────────────────────────── */
html[data-saveur="patisserie"]{
  --sv-font:'Saveur Figtree','Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji','Twemoji Mozilla';
  --sv-display:'Saveur Fraunces',Georgia,'Times New Roman',serif,'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji','Twemoji Mozilla';
  --sv-title-w:650;--sv-h2-w:600;
  --sv-display-vs:"SOFT" 100,"WONK" 0;
  --sv-ink:#2E1C12;--sv-soft:#6B4A36;--sv-line:#3B2416;--sv-line-soft:rgba(59,36,22,.38);
  --sv-surface:#FFF3E1;--sv-surface-2:#FFE7C7;--sv-paper:#FFFBF4;
  --sv-header-bg:#FFF3E1;--sv-today-bg:#FFF3E1;--sv-gestion-bg:#FFF3E1;
  --sv-vac-bg:#DFDDFF;--sv-import-bg:#DFDDFF;--sv-note-bg:#DFDDFF;
  --sv-radius:28px;--sv-radius-sm:18px;
  --sv-border:2px solid #3B2416;--sv-border-thin:1.5px solid #3B2416;
  --sv-shadow:0 7px 0 #3B2416;--sv-shadow-sm:0 4px 0 #3B2416;--sv-shadow-xs:0 2px 0 #3B2416;
  --sv-tile-border:2px solid #3B2416;--sv-tile-radius:26px;
  --sv-tile-shadow:0 7px 0 #3B2416,inset 0 3px 0 rgba(255,255,255,.6);
  --sv-tile-shadow-hover:0 12px 0 #3B2416,inset 0 3px 0 rgba(255,255,255,.6);
  --sv-tile-shadow-active:0 1px 0 #3B2416,inset 0 3px 0 rgba(255,255,255,.6);
  --sv-tile-hover:translateY(-6px) rotate(-1.2deg);--sv-tile-active:translateY(6px);
  --sv-icon-hover:scale(1.12) rotate(-9deg);
  --sv-btn-radius:15px;--sv-btn-border:2px solid #3B2416;
  --sv-btn-shadow:0 4px 0 #3B2416;--sv-btn-shadow-hover:0 6px 0 #3B2416;--sv-btn-shadow-active:0 0 0 #3B2416;
  --sv-btn-hover:translateY(-2px);--sv-btn-active:translateY(4px);
  --sv-primary-shadow:0 5px 0 #3B2416;--sv-primary-shadow-hover:0 7px 0 #3B2416;
  --sv-spring:cubic-bezier(.3,1.6,.5,1);
  --sv-primary:#B0124A;--sv-info:#3A3BB0;--sv-ok:#2F6A1B;--sv-danger:#C62828;--sv-warm:#A64B0A;
  --sv-accent:#B0124A;--sv-focus:#3A3BB0;--sv-drag:#3A3BB0;
  --sv-vac-title:#2E2F8F;--sv-ferie-title:#3B6A12;--sv-ferie-bg:#DCF0C2;
  --sv-j-bg:#DFDDFF;--sv-j-ink:#2E2F8F;--sv-next-bg:#B0124A;--sv-next-ink:#FFFFFF;
  --sv-input-bg:#FFFBF4;--sv-input-border:2px solid #8C6A55;
  --sv-perso-bg:#FFFBF4;--sv-perso-ink:#6A2FB5;--sv-perso-border:1.5px solid #3B2416;
  --sv-locked-bg:#EFE3D3;
  --sv-sel-bg:rgba(255,243,225,.95);--sv-sel-border:2px solid #3B2416;--sv-sel-shadow:0 3px 0 #3B2416;
  --sv-sel-hover:#FFE7C7;--sv-sel-on-bg:#2E1C12;--sv-sel-on-ink:#FFF3E1;--sv-sel-radius:999px;
  --k1-f:#B0124A;--k1-fb:#FFD3DF;--k2-f:#A0440A;--k2-fb:#FFDDBE;
  --k3-f:#6B5000;--k3-fb:#FFEF9E;--k4-f:#3B6A12;--k4-fb:#DCF0C2;
  --k5-f:#0A6A50;--k5-fb:#C8EFE3;--k6-f:#0B5CAD;--k6-fb:#CFE6FF;
  --k7-f:#3A3BB0;--k7-fb:#DFDDFF;--k8-f:#6A2FB5;--k8-fb:#EEDCFF;
}
html[data-saveur="sucre-glace"]{
  --sv-font:'Saveur Jakarta','Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji','Twemoji Mozilla';
  --sv-display:'Saveur Jakarta','Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji','Twemoji Mozilla';
  --sv-title-w:800;--sv-h2-w:800;
  --sv-display-vs:normal;
  --sv-ink:#1D1D1F;--sv-soft:#4A3F38;--sv-line:rgba(70,30,10,.2);--sv-line-soft:rgba(70,30,10,.16);
  --sv-surface:rgba(255,248,240,.84);--sv-surface-2:rgba(255,255,255,.72);--sv-paper:rgba(255,255,255,.92);
  --sv-header-bg:rgba(255,248,240,.84);--sv-today-bg:rgba(255,248,240,.84);--sv-gestion-bg:rgba(255,248,240,.84);
  --sv-tile-glass:rgba(255,250,244,.8);--sv-card-glass:rgba(255,252,248,.88);
  --sv-vac-bg:rgba(255,252,248,.9);--sv-import-bg:rgba(255,252,248,.9);--sv-note-bg:rgba(255,255,255,.72);
  --sv-radius:32px;--sv-radius-sm:22px;
  --sv-border:1px solid rgba(255,255,255,.78);--sv-border-thin:1px solid rgba(70,30,10,.16);
  --sv-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 30px 60px -30px rgba(80,20,0,.55),0 2px 10px rgba(80,20,0,.1);
  --sv-shadow-sm:inset 0 1px 0 #fff,0 12px 26px -18px rgba(80,20,0,.55);
  --sv-shadow-xs:inset 0 1px 0 #fff,0 4px 10px -6px rgba(80,20,0,.5);
  --sv-tile-border:1px solid rgba(255,255,255,.8);--sv-tile-radius:30px;
  --sv-tile-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 22px 40px -24px rgba(90,25,0,.65),0 2px 6px rgba(90,25,0,.08);
  --sv-tile-shadow-hover:inset 0 1px 0 #fff,0 30px 50px -24px rgba(90,25,0,.7),0 2px 6px rgba(90,25,0,.08);
  --sv-tile-shadow-active:inset 0 1px 0 rgba(255,255,255,.95),0 12px 24px -18px rgba(90,25,0,.6);
  --sv-tile-hover:translateY(-5px) scale(1.025);--sv-tile-active:scale(.95);
  --sv-icon-hover:translateY(-4px) scale(1.08);
  --sv-btn-radius:999px;--sv-btn-border:1px solid rgba(70,30,10,.22);
  --sv-btn-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 8px 18px -10px rgba(90,25,0,.55);
  --sv-btn-shadow-hover:inset 0 1px 0 rgba(255,255,255,.35),0 14px 26px -12px rgba(90,25,0,.6);
  --sv-btn-shadow-active:inset 0 1px 0 rgba(255,255,255,.35),0 4px 10px -6px rgba(90,25,0,.5);
  --sv-btn-hover:translateY(-1px) scale(1.03);--sv-btn-active:scale(.95);
  --sv-primary-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 12px 24px -10px rgba(10,80,200,.8);
  --sv-primary-shadow-hover:inset 0 1px 0 rgba(255,255,255,.35),0 16px 30px -10px rgba(10,80,200,.85);
  --sv-spring:cubic-bezier(.2,1.5,.35,1);
  --sv-primary:#0A63D8;--sv-info:#4B49C9;--sv-ok:#1F8239;--sv-danger:#D70015;--sv-warm:#B34700;
  --sv-accent:#B8000F;--sv-focus:#0A63D8;--sv-drag:#0A63D8;
  --sv-vac-title:#A84800;--sv-ferie-title:#146B2E;--sv-ferie-bg:rgba(52,199,89,.16);
  --sv-j-bg:rgba(10,99,216,.12);--sv-j-ink:#0A4FAE;--sv-next-bg:#0A63D8;--sv-next-ink:#FFFFFF;
  --sv-input-bg:rgba(255,255,255,.95);--sv-input-border:1.5px solid rgba(70,40,20,.55);
  --sv-perso-bg:rgba(255,255,255,.9);--sv-perso-ink:#3B38B5;--sv-perso-border:1px solid rgba(88,86,214,.35);
  --sv-locked-bg:rgba(255,255,255,.42);
  --sv-blur:blur(30px) saturate(180%);
  --sv-sel-bg:rgba(255,248,240,.84);--sv-sel-border:1px solid rgba(255,255,255,.85);
  --sv-sel-shadow:inset 0 1px 0 #fff,0 8px 20px -12px rgba(80,20,0,.55);
  --sv-sel-hover:rgba(255,255,255,.6);--sv-sel-on-bg:#FFFFFF;--sv-sel-on-ink:#1D1D1F;--sv-sel-radius:999px;
  --k1-g1:#FF6F91;--k1-g2:#E2184E;--k1-f:#C0123F;--k1-fb:rgba(255,45,85,.14);
  --k2-g1:#FFB04A;--k2-g2:#F26A00;--k2-f:#A84800;--k2-fb:rgba(255,149,0,.16);
  --k3-g1:#FFDB52;--k3-g2:#F2B000;--k3-f:#7A5600;--k3-fb:rgba(255,204,0,.22);--k3-gi:#4A3000;
  --k4-g1:#5FDB80;--k4-g2:#1C9F43;--k4-f:#157A32;--k4-fb:rgba(52,199,89,.17);
  --k5-g1:#4FD6CE;--k5-g2:#0D9890;--k5-f:#0B6E68;--k5-fb:rgba(48,176,199,.17);
  --k6-g1:#5CC5FA;--k6-g2:#0A87D0;--k6-f:#0A67A3;--k6-fb:rgba(50,173,230,.17);
  --k7-g1:#807EFF;--k7-g2:#4341CE;--k7-f:#3B38B5;--k7-fb:rgba(88,86,214,.16);
  --k8-g1:#CF88FF;--k8-g2:#9038D2;--k8-f:#7A2DB3;--k8-fb:rgba(175,82,222,.16);
}
html[data-saveur="bonbon"]{
  --sv-font:'Saveur DM Sans','Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji','Twemoji Mozilla';
  --sv-display:'Saveur Bricolage','Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji','Twemoji Mozilla';
  --sv-title-w:800;--sv-h2-w:800;
  --sv-display-vs:normal;
  --sv-ink:#1B1324;--sv-soft:#4A3E55;--sv-line:#1B1324;--sv-line-soft:rgba(27,19,36,.45);
  --sv-surface:#FFF8E7;--sv-surface-2:#FFF2A8;--sv-paper:#FFFDF5;
  --sv-header-bg:#FFE45E;--sv-today-bg:#FFD6EA;--sv-gestion-bg:#C8F6E3;
  --sv-vac-bg:#D9DFFF;--sv-import-bg:#EADCFF;--sv-note-bg:#FFFDF5;
  --sv-radius:26px;--sv-radius-sm:18px;
  --sv-border:3px solid #1B1324;--sv-border-thin:2px solid #1B1324;
  --sv-shadow:8px 8px 0 #1B1324;--sv-shadow-sm:5px 5px 0 #1B1324;--sv-shadow-xs:2px 2px 0 #1B1324;
  --sv-tile-border:3px solid #1B1324;--sv-tile-radius:22px;
  --sv-tile-shadow:6px 6px 0 #1B1324;--sv-tile-shadow-hover:9px 9px 0 #1B1324;--sv-tile-shadow-active:0 0 0 #1B1324;
  --sv-tile-hover:translate(-3px,-3px) rotate(-1.5deg);--sv-tile-active:translate(6px,6px);
  --sv-icon-hover:rotate(-12deg) scale(1.08);
  --sv-btn-radius:14px;--sv-btn-border:2.5px solid #1B1324;
  --sv-btn-shadow:4px 4px 0 #1B1324;--sv-btn-shadow-hover:6px 6px 0 #1B1324;--sv-btn-shadow-active:0 0 0 #1B1324;
  --sv-btn-hover:translate(-2px,-2px);--sv-btn-active:translate(4px,4px);
  --sv-primary-shadow:5px 5px 0 #FF5C9A;--sv-primary-shadow-hover:7px 7px 0 #FF5C9A;
  --sv-spring:ease-out;
  --sv-primary:#1B1324;--sv-info:#6D3FD1;--sv-ok:#0F7A55;--sv-danger:#D7192A;--sv-warm:#C2410C;
  --sv-accent:#1B1324;--sv-focus:#1B1324;--sv-drag:#1B1324;
  --sv-vac-title:#1B1324;--sv-ferie-title:#1B1324;--sv-ferie-bg:#B6E65A;
  --sv-j-bg:#1B1324;--sv-j-ink:#FFFDF5;--sv-next-bg:#FF5C9A;--sv-next-ink:#1B1324;
  --sv-input-bg:#FFFDF5;--sv-input-border:2.5px solid #1B1324;
  --sv-perso-bg:#1B1324;--sv-perso-ink:#FFE45E;--sv-perso-border:0 solid transparent;
  --sv-locked-bg:#E9E4EE;
  --sv-sel-bg:#FFF8E7;--sv-sel-border:2.5px solid #1B1324;--sv-sel-shadow:4px 4px 0 #1B1324;
  --sv-sel-hover:#FFF2A8;--sv-sel-on-bg:#1B1324;--sv-sel-on-ink:#FFE45E;--sv-sel-radius:14px;
  --k1-f:#1B1324;--k1-fb:#FF8FC0;--k1-fl:#FFD6EA;--k2-f:#1B1324;--k2-fb:#FFA45C;--k2-fl:#FFDDC2;
  --k3-f:#1B1324;--k3-fb:#FFDD3C;--k3-fl:#FFF2A8;--k4-f:#1B1324;--k4-fb:#B6E65A;--k4-fl:#E3F7BF;
  --k5-f:#1B1324;--k5-fb:#5FE0AE;--k5-fl:#C8F6E3;--k6-f:#1B1324;--k6-fb:#6FD3F2;--k6-fl:#CDEFFB;
  --k7-f:#1B1324;--k7-fb:#93A6FF;--k7-fl:#D9DFFF;--k8-f:#1B1324;--k8-fb:#C59CFF;--k8-fl:#EADCFF;
}

/* ── 3. Règles communes (elles lisent les jetons) ───────────────────────── */
/* Police : même mécanisme que dashboard.css (« * { font-family: Inter } »,
   puis « button { … !important } ») et même spécificité grâce à :where() —
   une police posée par une classe (.font-mono, icônes…) l'emporte toujours,
   et le mode « dyslexie » (OpenDyslexic, plus spécifique) aussi. */
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast){font-family:var(--sv-font)}
:where(html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast)) *{font-family:var(--sv-font)}
:where(html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast)) button{font-family:var(--sv-font) !important}

/* Surfaces : le blanc devient la surface de la saveur. Le « !important »
   répond à celui de dashboard.css (« .glass { background: … !important } ») ;
   les cartes du calendrier annuel (data-progression-card) gardent les leurs. */
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .glass:not([data-progression-card]){
  background:var(--sv-surface) !important;
  border:var(--sv-border);border-radius:var(--sv-radius);box-shadow:var(--sv-shadow);
}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .glass :is(h1,h2,h3,h4),html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardTitle,html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardMainTitle{font-family:var(--sv-display);font-variation-settings:var(--sv-display-vs)}

/* En-tête */
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) :is(.max-w-7xl > .glass:first-child,.max-w-7xl > .glass:has(#dashboardTitle)){background:var(--sv-header-bg) !important}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardTitle{letter-spacing:-.012em;font-weight:var(--sv-title-w)}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardSubtitle{color:var(--sv-soft) !important;font-weight:600}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .bandeau-etab{padding:6px 16px 6px 6px;background:var(--sv-surface-2);border:var(--sv-border-thin);border-radius:var(--sv-radius-sm)}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .bandeau-etab-logo{border-radius:14px}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .prm-roue{width:46px;height:46px;border:var(--sv-btn-border);border-radius:50%;background:var(--sv-paper);box-shadow:var(--sv-btn-shadow);transition:transform .16s var(--sv-spring),box-shadow .16s var(--sv-spring)}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .prm-roue:hover{transform:var(--sv-btn-hover);box-shadow:var(--sv-btn-shadow-hover);filter:none}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .prm-roue:active{transform:var(--sv-btn-active);box-shadow:var(--sv-btn-shadow-active)}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) button[onclick="logout()"]{background:var(--sv-danger) !important;border:var(--sv-btn-border);border-radius:var(--sv-btn-radius);box-shadow:var(--sv-btn-shadow);transition:transform .16s var(--sv-spring),box-shadow .16s var(--sv-spring)}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) button[onclick="logout()"]:hover{transform:var(--sv-btn-hover);box-shadow:var(--sv-btn-shadow-hover);filter:none}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) button[onclick="logout()"]:active{transform:var(--sv-btn-active);box-shadow:var(--sv-btn-shadow-active)}

/* Ligne « Bibliothèque 2I2D · Bien démarrer » */
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .bib-bouton,html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .tuto-bouton{display:inline-flex;align-items:center;gap:.4rem;min-height:42px;padding:0 1.15rem;border:var(--sv-btn-border);border-radius:999px;box-shadow:var(--sv-btn-shadow);font-size:.9rem;font-weight:750;transition:transform .16s var(--sv-spring),box-shadow .16s var(--sv-spring)}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .bib-bouton{background:var(--sv-ok)}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .tuto-bouton{background:var(--sv-info)}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .bib-bouton:hover,html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .tuto-bouton:hover{transform:var(--sv-btn-hover);box-shadow:var(--sv-btn-shadow-hover);filter:none;outline:none}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .bib-bouton:active,html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .tuto-bouton:active{transform:var(--sv-btn-active);box-shadow:var(--sv-btn-shadow-active)}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .bib-bouton:focus-visible,html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .tuto-bouton:focus-visible{outline:3px solid var(--sv-focus);outline-offset:3px}

/* Résumé du jour */
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .teacher-today.glass{background:var(--sv-today-bg) !important;padding:1.75rem}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .teacher-today__eyebrow{color:var(--sv-accent) !important;letter-spacing:.14em;font-size:.8rem}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .teacher-today h2{font-family:var(--sv-display);font-variation-settings:var(--sv-display-vs);font-size:2.3rem;font-weight:var(--sv-h2-w);line-height:1.08;letter-spacing:-.015em;color:var(--sv-ink) !important;margin:.3rem 0 .45rem}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .teacher-today__title-date{color:var(--sv-ink) !important;font-weight:750;font-size:1rem}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .teacher-today__heure{background:var(--sv-surface-2);border:var(--sv-border-thin);border-radius:10px;color:var(--sv-ink) !important}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .teacher-today__semaine{border-width:1.5px;border-radius:999px}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .teacher-today .pense-bete{background:var(--sv-paper);border:var(--sv-border-thin);border-radius:var(--sv-radius-sm);box-shadow:var(--sv-shadow-xs)}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .teacher-today .pense-bete__titre{color:var(--sv-ink) !important;-webkit-text-fill-color:var(--sv-ink)}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .teacher-today .pense-bete textarea{background:var(--sv-input-bg) !important;border:var(--sv-input-border) !important;border-radius:12px;color:var(--sv-ink) !important;-webkit-text-fill-color:var(--sv-ink)}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .teacher-today__stats{gap:.9rem;margin-top:1.4rem}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .teacher-today__stats > .teacher-today-stat:nth-child(1){--f:var(--k1-f);--fb:var(--k1-fb);--fl:var(--k1-fl,var(--k1-fb));--g1:var(--k1-g1);--g2:var(--k1-g2);--gi:var(--k1-gi,#fff)}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .teacher-today__stats > .teacher-today-stat:nth-child(2){--f:var(--k2-f);--fb:var(--k2-fb);--fl:var(--k2-fl,var(--k2-fb));--g1:var(--k2-g1);--g2:var(--k2-g2);--gi:var(--k2-gi,#fff)}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .teacher-today__stats > .teacher-today-stat:nth-child(3){--f:var(--k4-f);--fb:var(--k4-fb);--fl:var(--k4-fl,var(--k4-fb));--g1:var(--k4-g1);--g2:var(--k4-g2);--gi:var(--k4-gi,#fff)}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .teacher-today__stats > .teacher-today-stat:nth-child(4){--f:var(--k3-f);--fb:var(--k3-fb);--fl:var(--k3-fl,var(--k3-fb));--g1:var(--k3-g1);--g2:var(--k3-g2);--gi:var(--k3-gi,#fff)}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .teacher-today__stats > .teacher-today-stat:nth-child(5){--f:var(--k5-f);--fb:var(--k5-fb);--fl:var(--k5-fl,var(--k5-fb));--g1:var(--k5-g1);--g2:var(--k5-g2);--gi:var(--k5-gi,#fff)}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .teacher-today__stats > .teacher-today-stat:nth-child(6){--f:var(--k7-f);--fb:var(--k7-fb);--fl:var(--k7-fl,var(--k7-fb));--g1:var(--k7-g1);--g2:var(--k7-g2);--gi:var(--k7-gi,#fff)}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .teacher-today-stat{background:var(--fb,var(--sv-paper));border:var(--sv-border-thin);border-radius:var(--sv-radius-sm);box-shadow:var(--sv-shadow-sm);padding:.8rem .85rem;column-gap:.6rem}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .teacher-today-stat > span{display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:50%;background:var(--sv-paper);border:var(--sv-border-thin);font-size:1.2rem;line-height:1}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .teacher-today-stat strong{font-family:var(--sv-display);font-variation-settings:var(--sv-display-vs);font-size:1.8rem;line-height:1;color:var(--sv-ink)}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .teacher-today-stat small{color:var(--sv-ink);font-weight:700}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .teacher-today__stats > .teacher-today-stat.danger{background:#FFE1E4;border-color:#C62828}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .teacher-today__stats > .teacher-today-stat.danger strong{color:#991B1B}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .teacher-today__logins{color:var(--sv-soft) !important}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .teacher-today__next{background:var(--sv-note-bg);border:var(--sv-border-thin);border-radius:var(--sv-radius-sm)}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .teacher-today__agenda-empty{color:var(--sv-soft) !important}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .teacher-today__session{background:var(--sv-paper);border-radius:var(--sv-radius-sm)}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .teacher-today__actions{gap:.8rem}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .teacher-today__actions button{background:var(--sv-paper) !important;border:var(--sv-btn-border) !important;border-radius:var(--sv-btn-radius) !important;box-shadow:var(--sv-btn-shadow);transition:transform .16s var(--sv-spring),box-shadow .16s var(--sv-spring)}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .teacher-today__actions button:hover{background:var(--sv-surface-2) !important;transform:var(--sv-btn-hover);box-shadow:var(--sv-btn-shadow-hover);filter:none}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .teacher-today__actions button:active{transform:var(--sv-btn-active);box-shadow:var(--sv-btn-shadow-active)}

/* Vacances et jours fériés (dessin : apps/shared/vacances-annee.js) */
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .vacan{background:var(--sv-vac-bg);border:var(--sv-border-thin);border-radius:var(--sv-radius-sm);box-shadow:var(--sv-shadow-xs);padding:.95rem 1.15rem;gap:.55rem}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .vacan p.vacan__entete{color:var(--sv-vac-title) !important}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .vacan p.vacan__prochaine strong{font-family:var(--sv-display);font-variation-settings:var(--sv-display-vs);font-size:1.18em;color:var(--sv-ink) !important}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .vacan p.vacan__prochaine span{color:var(--sv-soft) !important}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .vacan ol.vacan__liste{gap:.4rem}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .vacan li.vacan__periode,html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .vacan li.vacan__ferie{padding:.22rem .28rem .22rem .7rem;border:var(--sv-border-thin);background:var(--sv-paper);font-size:.82rem}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .vacan li.vacan__ferie{background:var(--sv-ferie-bg)}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .vacan li span.vacan__j{padding:.08rem .45rem;border-radius:999px;background:var(--sv-j-bg);color:var(--sv-j-ink) !important}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .vacan li.vacan__periode.est-prochaine{background:var(--sv-next-bg);border-color:var(--sv-line)}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .vacan li.vacan__periode.est-prochaine span{color:var(--sv-next-ink) !important}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .vacan li.vacan__periode.est-prochaine span.vacan__j{background:var(--sv-paper);color:var(--sv-ink) !important}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .vacan p.vacan__titre-feries{color:var(--sv-ferie-title) !important}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .vacan p.vacan__source{color:var(--sv-soft) !important}

/* Grille des outils — teinte fixe par outil */
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardGrid .dashboard-card{--f:var(--k6-f);--fb:var(--k6-fb);--fl:var(--k6-fl,var(--k6-fb));--g1:var(--k6-g1);--g2:var(--k6-g2);--gi:var(--k6-gi,#fff)}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardGrid .dashboard-card[data-tab="classes"],
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardGrid .dashboard-card[data-tab="pilotage"],
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardGrid .dashboard-card[data-tab="chat"]{--f:var(--k1-f);--fb:var(--k1-fb);--fl:var(--k1-fl,var(--k1-fb));--g1:var(--k1-g1);--g2:var(--k1-g2);--gi:var(--k1-gi,#fff)}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardGrid .dashboard-card[data-tab="referentiel"],
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardGrid .dashboard-card[data-tab="liens"],
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardGrid .dashboard-card[data-tab="loge"]{--f:var(--k2-f);--fb:var(--k2-fb);--fl:var(--k2-fl,var(--k2-fb));--g1:var(--k2-g1);--g2:var(--k2-g2);--gi:var(--k2-gi,#fff)}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardGrid .dashboard-card[data-tab="progression"],
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardGrid .dashboard-card[data-tab="projets"]{--f:var(--k3-f);--fb:var(--k3-fb);--fl:var(--k3-fl,var(--k3-fb));--g1:var(--k3-g1);--g2:var(--k3-g2);--gi:var(--k3-gi,#fff)}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardGrid .dashboard-card[data-tab="exercises"],
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardGrid .dashboard-card[data-tab="shop"],
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardGrid .dashboard-card[data-tab="groupes-eleves"]{--f:var(--k4-f);--fb:var(--k4-fb);--fl:var(--k4-fl,var(--k4-fb));--g1:var(--k4-g1);--g2:var(--k4-g2);--gi:var(--k4-gi,#fff)}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardGrid .dashboard-card[data-tab="pp"],
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardGrid .dashboard-card[data-tab="hexaplicker"]{--f:var(--k5-f);--fb:var(--k5-fb);--fl:var(--k5-fl,var(--k5-fb));--g1:var(--k5-g1);--g2:var(--k5-g2);--gi:var(--k5-gi,#fff)}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardGrid .dashboard-card[data-tab="tp-sti2d"],
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardGrid .dashboard-card[data-tab="workspaces"]{--f:var(--k6-f);--fb:var(--k6-fb);--fl:var(--k6-fl,var(--k6-fb));--g1:var(--k6-g1);--g2:var(--k6-g2);--gi:var(--k6-gi,#fff)}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardGrid .dashboard-card[data-tab="matieres"],
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardGrid .dashboard-card[data-tab="simulateur"],
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardGrid .dashboard-card[data-tab="droits-devoirs"]{--f:var(--k7-f);--fb:var(--k7-fb);--fl:var(--k7-fl,var(--k7-fb));--g1:var(--k7-g1);--g2:var(--k7-g2);--gi:var(--k7-gi,#fff)}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardGrid .dashboard-card[data-tab="results"],
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardGrid .dashboard-card[data-tab="cours"]{--f:var(--k8-f);--fb:var(--k8-fb);--fl:var(--k8-fl,var(--k8-fb));--g1:var(--k8-g1);--g2:var(--k8-g2);--gi:var(--k8-gi,#fff)}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardGrid{gap:1.3rem}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardGrid .dashboard-card{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:9.6rem;padding:1.35rem .75rem 1.1rem;border:var(--sv-tile-border);border-radius:var(--sv-tile-radius);box-shadow:var(--sv-tile-shadow);transition:transform .22s var(--sv-spring),box-shadow .22s var(--sv-spring),background-color .2s}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardGrid .dashboard-card:hover{transform:var(--sv-tile-hover);box-shadow:var(--sv-tile-shadow-hover)}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardGrid .dashboard-card:active{transform:var(--sv-tile-active);box-shadow:var(--sv-tile-shadow-active);transition-duration:.05s}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardGrid .dashboard-card:focus-visible{outline:3px solid var(--sv-focus);outline-offset:4px}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardGrid .dashboard-icon{display:block;flex:none;width:4.2rem;height:4.2rem;padding:.8rem;margin:0 auto .8rem;transition:transform .3s var(--sv-spring)}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardGrid .dashboard-card:hover .dashboard-icon{transform:var(--sv-icon-hover)}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardGrid .dashboard-label{font-weight:800;font-size:.97rem;line-height:1.22;color:var(--sv-ink)}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardGrid .dashboard-label-perso{display:inline-flex !important;align-items:center;gap:.25rem;margin-top:.5rem !important;padding:.16rem .55rem !important;border-radius:999px;font-size:.66rem !important;font-weight:850 !important;letter-spacing:.06em !important;background:var(--sv-perso-bg);color:var(--sv-perso-ink) !important;border:var(--sv-perso-border)}
/* Outil fermé : ni teinte, ni soulèvement — il ne fait pas semblant d'être
   ouvert (règle du 09/09, dashboard-cards.css). Le bandeau rouge reste. */
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardGrid .dashboard-card.dashboard-card--verrouillee{background:var(--sv-locked-bg) !important}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardGrid .dashboard-card.dashboard-card--verrouillee:hover,
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardGrid .dashboard-card.dashboard-card--verrouillee:active{transform:none;box-shadow:var(--sv-tile-shadow)}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardGrid .dashboard-card.dashboard-card--verrouillee:hover .dashboard-icon{transform:none}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardGrid .dashboard-card--verrouillee .carte-verrou{border-radius:calc(var(--sv-tile-radius) - 4px) calc(var(--sv-tile-radius) - 4px) 0 0}
/* Glisser-déposer : l'emplacement visé reste signalé. */
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardGrid .dashboard-card.drag-over{border-style:dashed;border-color:var(--sv-drag)}

/* Gestion des classes */
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #content-classes > .glass{background:var(--sv-gestion-bg) !important}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #content-classes .from-blue-50.to-indigo-50{background:var(--sv-import-bg) !important;border:var(--sv-border) !important;border-radius:var(--sv-radius-sm) !important;box-shadow:var(--sv-shadow-sm);padding:1.35rem !important}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .input-modern{background:var(--sv-input-bg) !important;border:var(--sv-input-border) !important;border-radius:14px}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .input-modern:focus{outline:3px solid var(--sv-focus);outline-offset:2px;box-shadow:none}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .gradient-btn{background:var(--sv-primary) !important;border:var(--sv-btn-border);border-radius:16px;box-shadow:var(--sv-primary-shadow);font-weight:800;transition:transform .16s var(--sv-spring),box-shadow .16s var(--sv-spring)}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .gradient-btn:hover{transform:var(--sv-btn-hover);box-shadow:var(--sv-primary-shadow-hover)}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .gradient-btn:active{transform:var(--sv-btn-active);box-shadow:none}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .gradient-btn:focus-visible{outline:3px solid var(--sv-focus);outline-offset:3px}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #content-classes button[onclick="showCreateClassModal()"]{background:var(--sv-info) !important;border:var(--sv-btn-border) !important;border-radius:var(--sv-btn-radius) !important;box-shadow:var(--sv-btn-shadow) !important;padding:.55rem 1.05rem !important;font-weight:800 !important;transition:transform .16s var(--sv-spring)}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #content-classes button[onclick="showCreateClassModal()"]:hover{transform:var(--sv-btn-hover);filter:none}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #content-classes button[onclick="showCreateClassModal()"]:active{transform:var(--sv-btn-active)}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #content-classes .bg-purple-100{background:var(--k3-fb,#FFEF9E);border:var(--sv-border-thin);border-radius:999px}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #classesList > article:nth-child(4n+1){--f:var(--k4-f);--fb:var(--k4-fb);--fl:var(--k4-fl,var(--k4-fb));--g1:var(--k4-g1);--g2:var(--k4-g2);--gi:var(--k4-gi,#fff)}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #classesList > article:nth-child(4n+2){--f:var(--k6-f);--fb:var(--k6-fb);--fl:var(--k6-fl,var(--k6-fb));--g1:var(--k6-g1);--g2:var(--k6-g2);--gi:var(--k6-gi,#fff)}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #classesList > article:nth-child(4n+3){--f:var(--k1-f);--fb:var(--k1-fb);--fl:var(--k1-fl,var(--k1-fb));--g1:var(--k1-g1);--g2:var(--k1-g2);--gi:var(--k1-gi,#fff)}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #classesList > article:nth-child(4n){--f:var(--k3-f);--fb:var(--k3-fb);--fl:var(--k3-fl,var(--k3-fb));--g1:var(--k3-g1);--g2:var(--k3-g2);--gi:var(--k3-gi,#fff)}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #classesList{gap:1rem}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #classesList > article.glass{background:var(--fb) !important;border:var(--sv-border);border-radius:var(--sv-radius-sm);box-shadow:var(--sv-shadow-sm);padding:1.2rem !important}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #classesList > article > .flex:first-child{gap:.6rem}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #classesList > article h4{font-size:1.2rem}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #classesList > article .text-purple-600{font-family:var(--sv-display);font-variation-settings:var(--sv-display-vs);font-size:2.5rem;line-height:1;color:var(--sv-ink) !important}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #classesList > article .flex.gap-2 > button{display:grid;place-items:center;width:2.5rem;height:2.5rem;padding:0;border:var(--sv-border-thin);border-radius:12px;background:var(--sv-paper);box-shadow:var(--sv-shadow-xs);font-size:1rem;transition:transform .14s var(--sv-spring)}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #classesList > article .flex.gap-2 > button:hover{transform:translateY(-2px) rotate(-4deg);filter:none}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #classesList > article > button[style]{min-height:2.7rem;background:var(--sv-warm) !important;border:var(--sv-btn-border) !important;border-radius:var(--sv-btn-radius) !important;box-shadow:var(--sv-btn-shadow);transition:transform .16s var(--sv-spring),box-shadow .16s var(--sv-spring)}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #classesList > article > button[style]:hover{transform:var(--sv-btn-hover);box-shadow:var(--sv-btn-shadow-hover);filter:none}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #classesList > article > button[style]:active{transform:var(--sv-btn-active);box-shadow:var(--sv-btn-shadow-active)}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .ann{margin-top:2.2rem;padding-top:1.6rem;border-top:2px dashed var(--sv-line-soft)}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .ann__titre,html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .ann__sous-titre{font-family:var(--sv-display);font-variation-settings:var(--sv-display-vs)}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .ann__message:not(.ann__message--attente):not(.ann__message--erreur){background:var(--sv-surface-2);border:1.5px dashed var(--sv-line-soft);border-radius:var(--sv-radius-sm)}
html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .ann__carte{background:var(--sv-paper);border:var(--sv-border-thin);border-radius:var(--sv-radius-sm);box-shadow:var(--sv-shadow-xs)}

/* ── 4. Signatures propres à chaque saveur ──────────────────────────────── */

/* Pâtisserie : le store festonné du pâtissier, au-dessus de l'en-tête. */
html[data-saveur="patisserie"]:not(.accessibility-contrast) body:not(.accessibility-contrast) :is(.max-w-7xl > .glass:first-child,.max-w-7xl > .glass:has(#dashboardTitle)){position:relative;padding-top:3.4rem !important}
html[data-saveur="patisserie"]:not(.accessibility-contrast) body:not(.accessibility-contrast) :is(.max-w-7xl > .glass:first-child,.max-w-7xl > .glass:has(#dashboardTitle))::before{content:"";position:absolute;left:0;right:0;top:0;height:20px;border-radius:26px 26px 0 0;background:repeating-linear-gradient(90deg,#D6336C 0 34px,#FFC2D4 34px 68px);pointer-events:none}
html[data-saveur="patisserie"]:not(.accessibility-contrast) body:not(.accessibility-contrast) :is(.max-w-7xl > .glass:first-child,.max-w-7xl > .glass:has(#dashboardTitle))::after{content:"";position:absolute;left:0;right:0;top:20px;height:18px;background:radial-gradient(circle at 17px 0,#D6336C 16.3px,transparent 17px) 0 0/68px 18px repeat-x,radial-gradient(circle at 51px 0,#FFC2D4 16.3px,transparent 17px) 0 0/68px 18px repeat-x;filter:drop-shadow(0 2px 0 #3B2416);pointer-events:none}
html[data-saveur="patisserie"]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardGrid .dashboard-card{background:var(--fb)}
html[data-saveur="patisserie"]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardGrid .dashboard-icon{border-radius:50%;background:#FFFBF4;color:var(--f);box-shadow:inset 0 -4px 0 rgba(59,36,22,.1),0 0 0 2px rgba(59,36,22,.14)}
html[data-saveur="patisserie"]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardGrid .beta-badge{top:10px;right:10px;padding:3px 9px;border-radius:999px;background:#B0124A;border:1.5px solid #3B2416;font-weight:900;letter-spacing:.06em;transform:rotate(7deg)}
html[data-saveur="patisserie"]:not(.accessibility-contrast) body:not(.accessibility-contrast) .teacher-today-stat{background:var(--fb)}
html[data-saveur="patisserie"]:not(.accessibility-contrast) body:not(.accessibility-contrast) .teacher-today-stat > span{box-shadow:inset 0 -3px 0 rgba(59,36,22,.1)}

/* Sucre glace : verre dépoli qui laisse passer le fond choisi. */
html[data-saveur="sucre-glace"]:not(.accessibility-contrast) body:not(.accessibility-contrast) .glass:not([data-progression-card]),html[data-saveur="sucre-glace"]:not(.accessibility-contrast) body:not(.accessibility-contrast) .vacan,html[data-saveur="sucre-glace"]:not(.accessibility-contrast) body:not(.accessibility-contrast) #content-classes .from-blue-50.to-indigo-50{-webkit-backdrop-filter:var(--sv-blur);backdrop-filter:var(--sv-blur)}
html[data-saveur="sucre-glace"]:not(.accessibility-contrast) body:not(.accessibility-contrast) .glass:not([data-progression-card]){border-radius:var(--sv-radius)}
html[data-saveur="sucre-glace"]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardTitle,html[data-saveur="sucre-glace"]:not(.accessibility-contrast) body:not(.accessibility-contrast) .teacher-today h2,html[data-saveur="sucre-glace"]:not(.accessibility-contrast) body:not(.accessibility-contrast) #content-classes > .glass > h2{font-weight:800;letter-spacing:-.03em}
html[data-saveur="sucre-glace"]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardGrid .dashboard-card{background:var(--sv-tile-glass);-webkit-backdrop-filter:blur(26px) saturate(180%);backdrop-filter:blur(26px) saturate(180%)}
html[data-saveur="sucre-glace"]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardGrid .dashboard-card:hover{background:rgba(255,253,250,.92)}
html[data-saveur="sucre-glace"]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardGrid .dashboard-icon{border-radius:22px;background:linear-gradient(180deg,var(--g1),var(--g2));color:var(--gi);box-shadow:inset 0 1.5px 0 rgba(255,255,255,.45),inset 0 -2px 0 rgba(0,0,0,.1),0 12px 20px -10px rgba(60,20,0,.55)}
html[data-saveur="sucre-glace"]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardGrid .dashboard-label{font-weight:700;letter-spacing:-.01em}
html[data-saveur="sucre-glace"]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardGrid .beta-badge{top:12px;right:12px;padding:3px 9px;border-radius:999px;background:#D70015;font-weight:800;letter-spacing:.06em;box-shadow:0 4px 10px -4px rgba(200,0,20,.8)}
html[data-saveur="sucre-glace"]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardGrid .beta-badge.ia-badge{box-shadow:0 4px 12px -4px rgba(91,33,182,.75)}
html[data-saveur="sucre-glace"]:not(.accessibility-contrast) body:not(.accessibility-contrast) .teacher-today-stat{background:var(--sv-card-glass)}
html[data-saveur="sucre-glace"]:not(.accessibility-contrast) body:not(.accessibility-contrast) .teacher-today-stat > span{border-radius:14px;border:0;background:linear-gradient(180deg,var(--g1),var(--g2));box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 6px 12px -6px rgba(60,20,0,.5)}
html[data-saveur="sucre-glace"]:not(.accessibility-contrast) body:not(.accessibility-contrast) #classesList > article.glass{background:linear-gradient(var(--fb),var(--fb)) var(--sv-card-glass) !important}
html[data-saveur="sucre-glace"]:not(.accessibility-contrast) body:not(.accessibility-contrast) .bib-bouton,html[data-saveur="sucre-glace"]:not(.accessibility-contrast) body:not(.accessibility-contrast) .tuto-bouton,html[data-saveur="sucre-glace"]:not(.accessibility-contrast) body:not(.accessibility-contrast) button[onclick="logout()"]{border-color:transparent}

/* Bonbon : aplats acidulés, contours encre, autocollants. */
html[data-saveur="bonbon"]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardTitle > svg{transform:rotate(-8deg)}
html[data-saveur="bonbon"]:not(.accessibility-contrast) body:not(.accessibility-contrast) .teacher-today__eyebrow{display:inline-block;padding:.2rem .75rem;border-radius:999px;background:#1B1324;color:#FFE45E !important;transform:rotate(-2deg)}
html[data-saveur="bonbon"]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardGrid .dashboard-card{background:var(--fb)}
html[data-saveur="bonbon"]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardGrid .dashboard-icon{border-radius:50%;background:#FFF8E7;border:3px solid #1B1324;color:#1B1324}
html[data-saveur="bonbon"]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardGrid .dashboard-label{font-family:var(--sv-display);font-size:1.05rem;letter-spacing:-.01em}
html[data-saveur="bonbon"]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardGrid .beta-badge{top:-11px;right:-9px;padding:4px 11px;border-radius:999px;background:#FF5C9A;color:#1B1324 !important;border:2.5px solid #1B1324;font-weight:900;letter-spacing:.06em;transform:rotate(9deg);box-shadow:2px 2px 0 #1B1324}
html[data-saveur="bonbon"]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardGrid .beta-badge.ia-badge{color:#fff !important}
html[data-saveur="bonbon"]:not(.accessibility-contrast) body:not(.accessibility-contrast) .teacher-today-stat{background:var(--fl)}
html[data-saveur="bonbon"]:not(.accessibility-contrast) body:not(.accessibility-contrast) .bib-bouton{background:#5FE0AE;color:#1B1324 !important}
html[data-saveur="bonbon"]:not(.accessibility-contrast) body:not(.accessibility-contrast) .vacan li.vacan__ferie span{color:#1B1324 !important}
html[data-saveur="bonbon"]:not(.accessibility-contrast) body:not(.accessibility-contrast) .vacan li.vacan__ferie span.vacan__j{color:#FFFDF5 !important}
html[data-saveur="bonbon"]:not(.accessibility-contrast) body:not(.accessibility-contrast) #content-classes .bg-purple-100{background:#FFE45E}

/* ── 5. Le sélecteur « Saveur » ─────────────────────────────────────────── */
/* L'identifiant porte la spécificité : la règle globale de survol des
   boutons (dashboard.css, « button:not(…):hover ») ne doit pas l'emporter. */
#saveurChoix{float:right;display:inline-flex;align-items:center;gap:3px;margin:0 0 14px 12px;padding:3px;border-radius:var(--sv-sel-radius,999px);background:var(--sv-sel-bg,#fff);border:var(--sv-sel-border,1px solid #cbd5e1);box-shadow:var(--sv-sel-shadow,none);font-family:var(--sv-font,inherit);color:var(--sv-ink,#1e293b)}
html[data-saveur="sucre-glace"] #saveurChoix{-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%)}
#saveurChoix ~ #teacher-today-mount{clear:both}
/* Le dock des tiroirs (tiroirs.js) est fixé au bord droit : on lui laisse sa
   place, sinon « Bonbon » passerait dessous sur un écran de 1440 × 900. */
@media (min-width:641px){body.trr-actif #saveurChoix{margin-right:56px}}
#saveurChoix .saveur-choix__titre{display:inline-flex;align-items:center;gap:6px;padding:0 8px 0 9px;font-size:.78rem;font-weight:800;color:var(--sv-soft,#475569)}
#saveurChoix .saveur-choix__icone{width:17px;height:17px;fill:none;stroke:var(--sv-accent,currentColor);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#saveurChoix .saveur-choix__option{display:inline-flex;align-items:center;gap:7px;min-height:36px;margin:0;padding:0 13px 0 8px;border:0;border-radius:var(--sv-sel-radius,999px);background:transparent;color:var(--sv-ink,#1e293b) !important;font:inherit;font-size:.84rem;font-weight:750;line-height:1.1;cursor:pointer;box-shadow:none;transform:none;filter:none;transition:background-color .15s,transform .15s}
#saveurChoix .saveur-choix__option:hover{background:var(--sv-sel-hover,#f1f5f9);transform:none;box-shadow:none;filter:none}
#saveurChoix .saveur-choix__option:active{transform:scale(.95);box-shadow:none}
#saveurChoix .saveur-choix__option[aria-pressed="true"],#saveurChoix .saveur-choix__option[aria-pressed="true"]:hover{background:var(--sv-sel-on-bg,#1e293b);color:var(--sv-sel-on-ink,#fff) !important}
html[data-saveur="sucre-glace"] #saveurChoix .saveur-choix__option[aria-pressed="true"]{box-shadow:0 1px 2px rgba(70,30,10,.14),0 6px 14px -8px rgba(90,25,0,.55);font-weight:800}
#saveurChoix .saveur-choix__option:focus-visible{outline:3px solid var(--sv-focus,#4f46e5);outline-offset:2px}
#saveurChoix .saveur-choix__pastille{display:block;flex:none;width:16px;height:16px}
#saveurChoix .saveur-choix__option--patisserie .saveur-choix__pastille{border-radius:50%;background:radial-gradient(circle,#D6336C 0 3px,#FFE7C7 3.5px);border:2px solid #3B2416;box-shadow:0 2px 0 #3B2416}
#saveurChoix .saveur-choix__option--sucre-glace .saveur-choix__pastille{border-radius:5px;background:linear-gradient(160deg,#5CC5FA,#807EFF 55%,#FF6F91);box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 2px 5px -1px rgba(60,20,0,.45)}
#saveurChoix .saveur-choix__option--bonbon .saveur-choix__pastille{border-radius:3px;background:#FFE45E;border:2px solid #1B1324;box-shadow:2px 2px 0 #1B1324}
/* En contraste renforcé, aucune saveur ne s'applique : on ne propose pas un
   choix qui n'aurait aucun effet visible. */
body.accessibility-contrast #saveurChoix,html.accessibility-contrast #saveurChoix{display:none}

/* ── 6. Tablette et téléphone ───────────────────────────────────────────── */
@media (max-width:1180px){
  #saveurChoix .saveur-choix__option{min-height:40px}
}
/* 691–839 px : responsive.css passe la grille à trois colonnes et force des
   icônes de 38 px. Avec la pastille autour de l'icône, le dessin y tombait à
   une dizaine de pixels : on donne ici une taille qui garde le dessin net. */
@media (min-width:691px) and (max-width:839px){
  html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardGrid .dashboard-icon{width:3.3rem !important;height:3.3rem !important;padding:.55rem;margin:0 auto .55rem !important}
  html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardGrid .dashboard-card{min-height:8.4rem}
}
@media (max-width:640px){
  #saveurChoix{float:none;display:flex;width:100%;margin:0 0 12px}
  #saveurChoix .saveur-choix__mot{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  #saveurChoix .saveur-choix__titre{padding:0 4px 0 7px}
  #saveurChoix .saveur-choix__option{flex:1 1 0;justify-content:center;gap:4px;padding:0 5px;font-size:.8rem;white-space:nowrap}
  #saveurChoix .saveur-choix__pastille{width:14px;height:14px}
  html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .teacher-today-stat{padding:.7rem;column-gap:.5rem}
  html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .teacher-today-stat > span{width:2.1rem;height:2.1rem;font-size:1rem}
  html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .teacher-today-stat strong{font-size:1.5rem}
  html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .teacher-today-stat small{font-size:.8rem;overflow-wrap:anywhere}
  html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .teacher-today.glass{padding:1.1rem}
  html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .teacher-today h2{font-size:1.85rem}
  html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardGrid{gap:.9rem}
  html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardGrid .dashboard-card{min-height:8.6rem;padding:1.1rem .5rem .9rem}
  html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardGrid .dashboard-icon{width:3.7rem;height:3.7rem;padding:.7rem}
  html[data-saveur="patisserie"]:not(.accessibility-contrast) body:not(.accessibility-contrast) :is(.max-w-7xl > .glass:first-child,.max-w-7xl > .glass:has(#dashboardTitle)){padding-top:3.2rem !important}
}

/* ── 7. Mouvement réduit ────────────────────────────────────────────────── */
@media (prefers-reduced-motion:reduce){
  html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardGrid .dashboard-card,html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardGrid .dashboard-icon,html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .gradient-btn,html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .bib-bouton,html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .tuto-bouton,
  html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .teacher-today__actions button,html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #classesList button,html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) .prm-roue,html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) button[onclick="logout()"]{transition:none !important}
  html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardGrid .dashboard-card:hover,html[data-saveur]:not(.accessibility-contrast) body:not(.accessibility-contrast) #dashboardGrid .dashboard-card:hover .dashboard-icon{transform:none}
}
body.accessibility-reduced-motion #dashboardGrid .dashboard-card:hover,
body.accessibility-reduced-motion #dashboardGrid .dashboard-card:hover .dashboard-icon{transform:none !important}
