@charset "UTF-8";



:root{
  /* v157 : identité bleue. --vert reste le nom de la variable de marque (thèmes inchangés). */
  --vert:#102344; --vert-m:#2454D6; --vert-l:#5B86EE; --vert-pale:#E4ECFB; --vert-x:#F3F6FC;
  --or:#B7881C; --or-l:#D4A017; --or-pale:#FEF9EE;
  --orange:#D97706; --rouge:#C0392B; --rouge-pale:#FEF2F2; --bleu:#1F5F8B; --bleu-pale:#EAF4FA;
  --gris:#F3F6FC; --gris-b:#DEE5F1; --gris-m:#7B889E;
  --texte:#0F1828; --texte-d:#47536A; --blanc:#FFFFFF;
  --shadow:0 1px 2px rgba(15,24,40,.05),0 8px 24px -12px rgba(15,24,40,.14);
  --shadow-m:0 20px 48px -20px rgba(15,24,40,.28);
  --mono:ui-monospace,'SF Mono',Menlo,Consolas,'Liberation Mono',monospace;
  --sans:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
}
/* v79 : police Plus Jakarta Sans (licence OFL, fichiers dans fonts/), chargée depuis le site lui-même */
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/plus-jakarta-sans-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/plus-jakarta-sans-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/plus-jakarta-sans-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/plus-jakarta-sans-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/plus-jakarta-sans-latin-800-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/plus-jakarta-sans-latin-ext-400-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+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:'Plus Jakarta Sans';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/plus-jakarta-sans-latin-ext-600-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+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:'Plus Jakarta Sans';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/plus-jakarta-sans-latin-ext-700-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+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--gris);color:var(--texte);font-size:14.5px;line-height:1.5;min-height:100vh}

/* ===== APP BAR (deux rangées : marque + onglets pleine largeur, fixée tout en haut) ===== */
.app-bar{background:var(--vert);color:#fff;position:sticky;top:0;z-index:100;box-shadow:0 2px 10px rgba(0,0,0,.25)}
.app-bar-top{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 24px;min-height:54px}
.app-logo{display:flex;align-items:center;gap:12px;min-width:0}
.logo-mark{width:49px;height:40px;flex-shrink:0;display:block}
.logo-mark .lm-v{fill:var(--d-vt,var(--vert))}.logo-mark .lm-o{fill:var(--or-l,#D4A017)}
.app-title strong{font-weight:800}
.app-title{font-size:15px;font-weight:700;letter-spacing:.3px}
.app-sub{font-size:11.5px;opacity:.62;margin-top:1px}
.nav-tabs{display:flex;align-items:stretch;background:rgba(0,0,0,.17);padding:0 14px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.3) transparent}
.nav-tabs::-webkit-scrollbar{height:5px}
.nav-tabs::-webkit-scrollbar-thumb{background:rgba(255,255,255,.28);border-radius:3px}
.nav-tab{display:flex;align-items:center;gap:7px;padding:0 16px;height:44px;font-size:13.5px;font-weight:500;color:rgba(255,255,255,.6);cursor:pointer;border-bottom:3px solid transparent;transition:.15s;white-space:nowrap;user-select:none;flex-shrink:0}
.nav-tab:hover{color:rgba(255,255,255,.9)}
.nav-tab.active{color:#fff;border-bottom-color:var(--or)}
.nav-tab .ic{font-size:15px}
.nav-tab.locked{opacity:.35;cursor:not-allowed}
.lock-badge{font-size:10.5px;background:rgba(255,255,255,.15);padding:1px 6px;border-radius:8px;margin-left:2px}

/* ===== LAYOUT ===== */
.view{display:none}.view.active{display:block}
.container{max-width:1120px;margin:0 auto;padding:24px 20px}

/* ===== CARD ===== */
.card{background:var(--blanc);border-radius:8px;border:1px solid var(--gris-b);box-shadow:var(--shadow);margin-bottom:18px;overflow:hidden}
.card-head{background:var(--vert);color:#fff;padding:11px 18px;display:flex;align-items:center;justify-content:space-between}
.card-head h3{font-size:13.5px;font-weight:600;text-transform:uppercase;letter-spacing:.7px}
.card-body{padding:18px}
.card-head .pill{background:var(--or);color:#fff;font-size:12.5px;padding:3px 10px;border-radius:20px;font-family:ui-monospace,'SF Mono',Menlo,Consolas,'Liberation Mono',monospace;font-weight:500}

/* ===== FORM ===== */
.fg{margin-bottom:14px}
.fg label{display:block;font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--texte-d);margin-bottom:5px}
.fg input,.fg select,.fg textarea{width:100%;padding:9px 12px;border:1.5px solid var(--gris-b);border-radius:5px;font-family:var(--sans);font-size:14.5px;color:var(--texte);background:var(--blanc);transition:.15s}
.fg input:focus,.fg select:focus,.fg textarea:focus{outline:none;border-color:var(--vert-l);box-shadow:0 0 0 3px rgba(64,145,108,.12)}
.fg textarea{resize:vertical;min-height:70px;line-height:1.6}
.fg .hint{font-size:11.5px;color:var(--gris-m);margin-top:4px;font-weight:400;text-transform:none;letter-spacing:0}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}

/* ===== BUTTONS ===== */
.btn{padding:9px 18px;border-radius:5px;border:none;font-family:var(--sans);font-size:13.5px;font-weight:600;cursor:pointer;transition:.15s;display:inline-flex;align-items:center;gap:6px;letter-spacing:.2px}
.btn-primary{background:var(--vert-m);color:#fff}.btn-primary:hover{background:var(--vert)}
.btn-or{background:var(--vert-m);color:#fff}.btn-or:hover{background:var(--vert)}
.btn-ghost{background:transparent;color:var(--texte-d);border:1.5px solid var(--gris-b)}.btn-ghost:hover{background:var(--gris)}
.btn-sm{padding:6px 13px;font-size:12.5px}
.btn-danger{background:var(--rouge);color:#fff}.btn-danger:hover{background:#a93226}

/* ===== BADGES ===== */
.badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:12px;font-size:12.5px;font-weight:600;letter-spacing:.2px}
.badge-vert{background:var(--vert-pale);color:var(--d-vt,var(--vert))}
.badge-orange{background:var(--d-orp,#FEF3C7);color:var(--d-ort,#92400E)}
.badge-rouge{background:var(--rouge-pale);color:var(--d-rt,var(--rouge))}
.badge-bleu{background:var(--bleu-pale);color:var(--d-bt,var(--bleu))}
.badge-gris{background:var(--gris-b);color:var(--gris-m)}

/* ===== DASHBOARD ===== */
.welcome{background:linear-gradient(135deg,var(--vert) 0%,var(--vert-m) 100%);border-radius:10px;padding:26px 32px;color:#fff;margin-bottom:18px;position:relative;overflow:hidden}
.welcome::after{content:'DECOFI';position:absolute;right:24px;top:50%;transform:translateY(-50%);font-family:ui-monospace,'SF Mono',Menlo,Consolas,'Liberation Mono',monospace;font-size:60px;font-weight:700;opacity:.06;letter-spacing:4px}
.welcome h2{font-size:20px;font-weight:700;margin-bottom:4px}
.welcome p{font-size:14.5px;opacity:.72}

.workflow{display:flex;align-items:stretch;gap:0;margin-bottom:6px;overflow-x:auto}
.wf-step{flex:1;min-width:130px;text-align:center;position:relative;padding:0 4px}
.wf-step .dot{width:30px;height:30px;border-radius:50%;background:var(--gris-b);color:var(--gris-m);display:flex;align-items:center;justify-content:center;margin:0 auto 8px;font-size:14.5px;font-weight:700;border:2px solid var(--gris-b);transition:.2s;cursor:pointer;position:relative;z-index:2}
.wf-step.done .dot{background:var(--vert-l);border-color:var(--vert-l);color:#fff}
.wf-step.current .dot{background:var(--or);border-color:var(--or);color:#fff;box-shadow:0 0 0 4px var(--or-pale)}
.wf-step .lbl{font-size:11.5px;font-weight:600;color:var(--texte-d);line-height:1.25}
.wf-step.current .lbl{color:var(--d-or2,var(--or))}
.wf-step::before{content:'';position:absolute;top:15px;left:-50%;width:100%;height:2px;background:var(--gris-b);z-index:1}
.wf-step:first-child::before{display:none}
.wf-step.done::before,.wf-step.current::before{background:var(--vert-l)}

.echeances-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.ech-card{background:var(--blanc);border-radius:8px;border:1.5px solid var(--gris-b);padding:15px 15px 15px 19px;position:relative;overflow:hidden}
.ech-card.passee{opacity:.5}.ech-card.urgente{border-color:var(--rouge)}.ech-card.proche{border-color:var(--orange)}.ech-card.ok{border-color:var(--vert-l)}
.ech-card .cbar{position:absolute;top:0;left:0;width:5px;height:100%}
.ech-card.passee .cbar{background:var(--gris-m)}.ech-card.urgente .cbar{background:var(--rouge)}.ech-card.proche .cbar{background:var(--orange)}.ech-card.ok .cbar{background:var(--vert-l)}
.ech-card .slbl{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--texte-d);margin-bottom:6px}
.ech-card .dlim{font-size:15px;font-weight:700;font-family:ui-monospace,'SF Mono',Menlo,Consolas,'Liberation Mono',monospace;margin-bottom:5px}
.ech-card.cur-sem{box-shadow:0 0 0 2px var(--vert-pale)}
.ech-flag{position:absolute;top:8px;right:8px;font-size:10.5px;background:var(--vert-pale);color:var(--d-vt,var(--vert));padding:2px 7px;border-radius:8px;font-weight:700}

.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.stat-box{background:var(--blanc);border-radius:8px;border:1px solid var(--gris-b);padding:14px 16px;text-align:center}
.stat-box .val{font-family:ui-monospace,'SF Mono',Menlo,Consolas,'Liberation Mono',monospace;font-size:24px;font-weight:600;color:var(--d-vt,var(--vert));line-height:1}
.stat-box .lbl{font-size:11.5px;color:var(--texte-d);margin-top:4px;text-transform:uppercase;letter-spacing:.5px}

/* ===== JOURNAL — JOURS EN LIGNES ===== */
.week-nav{display:flex;align-items:center;justify-content:space-between;background:var(--blanc);border-radius:8px;border:1px solid var(--gris-b);padding:12px 16px;margin-bottom:14px;box-shadow:var(--shadow);flex-wrap:wrap;gap:10px;position:sticky;top:calc(var(--sx-haut,98px) + 6px);z-index:50}
.week-label{font-size:14px;font-weight:600;display:flex;align-items:center;gap:10px}
.week-range{font-size:12.5px;color:var(--texte-d);font-weight:400}
.nav-btns{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.week-selector{display:flex;align-items:center;gap:8px}
.week-selector label{font-size:12.5px;color:var(--texte-d)}
.week-selector select{padding:6px 10px;border:1.5px solid var(--gris-b);border-radius:5px;font-size:13.5px;font-family:var(--sans)}

.day-block{background:var(--blanc);border-radius:8px;border:1.5px solid var(--gris-b);box-shadow:var(--shadow);margin-bottom:12px;overflow:hidden}
.day-block.has-data{border-color:var(--vert-l)}
.day-block-head{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:var(--vert);color:#fff}
.day-block-head .dh-left{display:flex;align-items:baseline;gap:10px}
.day-block-head .dh-name{font-size:14.5px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}
.day-block-head .dh-date{font-size:12.5px;opacity:.72;font-family:ui-monospace,'SF Mono',Menlo,Consolas,'Liberation Mono',monospace}
.day-block-head .dh-total{font-size:13.5px;font-weight:600;padding:3px 11px;border-radius:14px}
.dh-ok{background:rgba(216,243,220,.25);color:#fff}.dh-over{background:var(--rouge);color:#fff}.dh-empty{background:rgba(255,255,255,.12);color:rgba(255,255,255,.7)}
.day-warn{font-size:13.5px;color:var(--d-ort,#92400e);background:var(--d-orp,#FFF7E6);border-top:1px solid var(--d-orbd,#F0D9A8)}
.day-warn:empty{display:none}
.day-warn:not(:empty){padding:8px 16px}
.day-block-body{padding:12px 16px}

/* en-tête de colonnes (desktop) */
.act-head{display:grid;grid-template-columns:2.2fr 1.2fr 1.1fr 3fr 70px 30px;gap:8px;padding:0 4px 6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--gris-m)}
.act-head .num{text-align:right}
.act-row{display:grid;grid-template-columns:2.3fr 1.2fr 4fr 70px 30px;gap:8px;align-items:center;margin-bottom:7px}
.act-row select,.act-row input{width:100%;padding:7px 9px;border:1.5px solid var(--gris-b);border-radius:5px;font-size:13.5px;font-family:var(--sans);color:var(--texte);background:var(--blanc);transition:.15s}
.act-row select:focus,.act-row input:focus{outline:none;border-color:var(--vert-l);box-shadow:0 0 0 2px rgba(64,145,108,.1)}
.act-row .h-input{text-align:right;font-family:ui-monospace,'SF Mono',Menlo,Consolas,'Liberation Mono',monospace}
.act-row .det-input{background:var(--d-fond2,#FAFBFE)}
.pf-cat{border:1.5px solid var(--gris-b);border-radius:8px;margin-bottom:10px;overflow:hidden}
.pf-cat-head{display:flex;justify-content:space-between;align-items:center;padding:11px 14px;background:var(--vert-x);cursor:pointer;font-weight:700;font-size:14.5px;color:var(--d-vt,var(--vert))}
.pf-cat-head:hover{background:var(--vert-pale)}
.pf-cat-totals{font-weight:600;font-size:13.5px;color:var(--texte-d)}
.pf-cat-body{padding:14px}
.pf-table{width:100%;border-collapse:collapse;font-size:13.5px;table-layout:fixed}
.pf-table th{text-align:left;padding:6px 8px;color:var(--texte-d);font-weight:600;border-bottom:1.5px solid var(--gris-b)}
.pf-table td{padding:6px 8px;border-bottom:1px solid var(--gris-b);vertical-align:middle}
.pf-table input[type="number"]{width:100%;padding:6px 7px;border:1.5px solid var(--gris-b);border-radius:5px;font-size:13.5px;text-align:center}
.pf-table select{width:100%;padding:6px 7px;border:1.5px solid var(--gris-b);border-radius:5px;font-size:13.5px}
.pf-table .ca-autre-input{width:100%;padding:5px 7px;border:1.5px solid var(--gris-b);border-radius:5px;font-size:13px;box-sizing:border-box}
.fiche-act-cell{vertical-align:top}
.btn-add-sec{font-size:12px;padding:3px 8px;border:1px dashed var(--vert-l);background:none;color:var(--d-vt,var(--vert-m));border-radius:4px;cursor:pointer}
.btn-add-sec:hover{background:var(--vert-x)}
.pf-table .det-wrap{width:100%}
.pf-table .det-wrap input[type="text"]{width:100%;padding:6px 54px 6px 8px;font-size:13.5px;box-sizing:border-box}
.doss-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px 16px}
.doss-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;background:var(--vert-x);border-radius:6px}
.doss-row label{font-size:13.5px;font-weight:600;color:var(--texte);margin:0}
.doss-row input{width:70px;padding:6px 7px;border:1.5px solid var(--gris-b);border-radius:5px;text-align:center;font-size:13.5px}
.doss-general{display:flex;align-items:center;gap:14px;margin-top:14px;padding:12px 14px;background:var(--or-pale);border:1.5px solid var(--d-orbd,#FAE3A0);border-radius:8px}
.doss-general-txt{flex:1}
.doss-general-txt label{display:block;font-weight:700;font-size:14px;margin-bottom:4px;color:var(--texte)}
.doss-general input{width:80px;padding:8px 7px;border:1.5px solid var(--gris-b);border-radius:5px;text-align:center;font-size:14px;font-weight:700}
.jury-check-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.jury-check-cat{background:var(--vert-x);border-radius:8px;padding:12px 14px}
.jury-check-cat h4{margin:0 0 8px;font-size:14px;color:var(--d-vt,var(--vert));font-weight:700}
.jury-check-cat ul{margin:0;padding-left:18px;font-size:13px;color:var(--texte-d);line-height:1.6}
.jury-check-cat li{margin-bottom:5px}
@media(max-width:700px){.jury-check-grid{grid-template-columns:1fr}}
.cp-dom-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px 14px;padding-top:4px}
.cp-dom-item{display:flex;align-items:flex-start;gap:7px;font-size:14px;line-height:1.3;cursor:pointer}
.cp-dom-item input{margin-top:2px;flex-shrink:0}
.ca-wrap,.sec-wrap{display:flex;flex-direction:column;gap:4px}
.journal-mode-switch{display:flex;gap:8px;margin-bottom:16px}
.jm-btn{flex:1;padding:10px 14px;border:1.5px solid var(--gris-b);background:var(--blanc);border-radius:8px;font-size:14.5px;font-weight:600;color:var(--texte-d);cursor:pointer;transition:.15s}
.jm-btn:hover{border-color:var(--vert-l)}
.jm-btn.active{background:var(--vert);color:#fff;border-color:var(--d-vt,var(--vert))}
.det-wrap{position:relative}
.det-wrap .det-input{padding-right:26px}
.det-sugg-btn{position:absolute;right:2px;top:2px;bottom:2px;width:22px;border:none;background:transparent;cursor:pointer;color:var(--d-vt,var(--vert-m));font-size:14.5px;border-radius:4px}
.det-sugg-btn:hover{background:var(--vert-x)}
.det-pop{display:none;max-height:min(260px,60vh);overflow-y:auto;background:var(--blanc);border:1.5px solid var(--gris-b);border-radius:8px;box-shadow:0 10px 30px rgba(0,0,0,.18);z-index:9999;padding:6px}
.det-pop.open{display:block}
.det-sugg-item{display:block;width:100%;text-align:left;padding:6px 8px;border:none;background:none;font-size:13.5px;color:var(--texte);border-radius:5px;cursor:pointer;line-height:1.35}
.det-sugg-item:hover{background:var(--vert-x);color:var(--d-vt,var(--vert-m))}
.det-sugg-item.ai{background:var(--d-orp,#FDF6E3)}
.det-sugg-item.ai:hover{background:var(--d-orp,#FBEBC0)}
.det-pop-manual{display:flex;gap:6px;padding:6px 8px 2px;border-top:1px solid var(--gris-b);margin-top:4px}
.det-pop-manual input{flex:1;padding:6px 8px;border:1.5px solid var(--gris-b);border-radius:5px;font-size:13.5px}
.det-pop-close{background:none;border:none;color:var(--texte-d);font-size:12.5px;cursor:pointer;text-decoration:underline}
.act-row .del-btn{background:none;border:1.5px solid transparent;color:#ccc;cursor:pointer;font-size:14px;padding:6px;border-radius:5px;transition:.15s;justify-self:center}
.act-row .del-btn:hover{color:var(--d-rt,var(--rouge));background:var(--rouge-pale)}
.add-entry{margin-top:4px;padding:8px 14px;border:1.5px dashed var(--gris-b);background:none;border-radius:6px;color:var(--texte-d);font-size:13.5px;font-weight:500;cursor:pointer;transition:.15s;font-family:var(--sans);display:inline-flex;align-items:center;gap:6px}
.add-entry:hover{border-color:var(--vert-l);color:var(--d-vt,var(--vert));background:var(--vert-x)}
.copy-day{margin-top:4px;margin-left:8px;font-size:12.5px;color:var(--d-vt,var(--vert-l));background:none;border:none;cursor:pointer;font-family:var(--sans)}
.copy-day:hover{text-decoration:underline}
.day-empty-hint{font-size:12.5px;color:var(--gris-m);font-style:italic;padding:2px 4px 8px}

.summary-bars{display:flex;flex-direction:column;gap:6px}
.sb-item{display:flex;align-items:center;gap:10px}
.sb-label{font-size:12.5px;width:260px;flex-shrink:0;color:var(--texte-d)}
.sb-track{flex:1;background:var(--gris-b);border-radius:3px;height:8px;overflow:hidden}
.sb-fill{height:100%;background:var(--vert-l);border-radius:3px;transition:.3s}
.sb-val{font-family:ui-monospace,'SF Mono',Menlo,Consolas,'Liberation Mono',monospace;font-size:12.5px;font-weight:600;color:var(--d-vt,var(--vert));width:42px;text-align:right}

/* ===== CAS PRATIQUE ===== */
.cp-locked{text-align:center;padding:50px 30px;color:var(--gris-m)}
.cp-locked .big{font-size:40px;margin-bottom:14px}
.dev-section{background:var(--gris);border-radius:7px;padding:14px;margin-bottom:12px;border:1px solid var(--gris-b)}
.dev-section .dev-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.dev-section .dev-head span{font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--d-vt,var(--vert))}

/* ===== RAPPORT ===== */
.rapport-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:var(--blanc);border-radius:8px;border:1px solid var(--gris-b);padding:14px 18px;margin-bottom:14px;box-shadow:var(--shadow)}
.rapport-controls label{font-size:12.5px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--texte-d)}
.rapport-controls select{padding:7px 12px;border:1.5px solid var(--gris-b);border-radius:5px;font-size:13.5px;font-family:var(--sans)}

.intro-editor textarea{width:100%;min-height:150px;padding:12px;border:1.5px solid var(--gris-b);border-radius:6px;font-family:var(--sans);font-size:14.5px;line-height:1.7;resize:vertical}
.intro-editor textarea:focus{outline:none;border-color:var(--vert-l);box-shadow:0 0 0 3px rgba(64,145,108,.12)}

.paper{background:var(--blanc);box-shadow:var(--shadow-m);margin:0 auto;max-width:820px}
.sheet{padding:44px 50px;border-bottom:1px dashed #ccc;position:relative}
.sheet:last-child{border-bottom:none}
.sheet-tag{position:absolute;top:6px;right:10px;font-size:9px;color:#bbb;font-family:ui-monospace,'SF Mono',Menlo,Consolas,'Liberation Mono',monospace}

/* cover + infos sur une page */
.cover{text-align:center;display:flex;flex-direction:column}
.cover .ordre{font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--d-vt,var(--vert));line-height:1.45;border:2px solid var(--vert);padding:12px 16px;border-radius:6px;margin-bottom:18px}
.cover .stage-titre{font-size:15px;font-weight:700;letter-spacing:.6px;margin:6px 0 16px;text-transform:uppercase;color:var(--texte)}
.cover .type-box{border:1.5px solid var(--gris-b);border-radius:6px;padding:13px 20px;margin:8px auto;max-width:460px;text-align:left}
.cover .type-line{font-size:13px;margin:5px 0;display:flex;align-items:center;gap:10px}
.cover .chk{width:16px;height:16px;border:1.5px solid var(--texte);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}
.cover .theme-box{margin-top:10px;padding-top:10px;border-top:1px dashed var(--gris-b)}
.cover .theme-box .tt{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--texte-d);margin-bottom:6px}
.cover .theme-opt{font-size:12px;margin:3px 0;display:flex;align-items:center;gap:8px}
.cover .radio{width:13px;height:13px;border:1.5px solid var(--texte);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.cover .radio .dot{width:7px;height:7px;border-radius:50%;background:var(--texte)}
.grid-sem{margin:16px auto;max-width:520px;border-collapse:collapse;width:92%}
.grid-sem td{border:1px solid var(--gris-b);padding:7px 12px;font-size:12px}
.grid-sem .an{font-weight:700;background:var(--d-fond2,#F4F7FC);text-align:left;width:30%}
.grid-sem .sem-cell{text-align:center}
.grid-sem .chk-c{display:inline-flex;width:15px;height:15px;border:1.5px solid var(--texte);align-items:center;justify-content:center;font-size:11px;font-weight:700;margin-left:6px;vertical-align:middle}
.cover .who{padding:14px 0 18px}
.cover.garde{min-height:900px;justify-content:space-between;padding-top:70px;padding-bottom:70px}
.cover .ordre-garde{border:none;font-size:15px;max-width:520px;margin:0 auto}
.garde-box{border:1.5px solid var(--texte);padding:18px 24px;max-width:560px;margin:0 auto}
.garde-t1{font-size:17px;font-weight:700;text-transform:uppercase;letter-spacing:.6px}
.garde-t2{font-size:13.5px;text-transform:uppercase;letter-spacing:.3px;margin-top:6px}
.garde-mois{font-size:13px;font-weight:700}
.cover .who .pp{font-size:10px;color:var(--texte-d);text-transform:uppercase;letter-spacing:1px;margin-bottom:5px}
.cover .who .nom{font-size:17px;font-weight:700;margin-bottom:3px}
.cover .who .date{font-size:12px;color:var(--texte-d)}

/* info table on cover */
.info-tbl{width:100%;border-collapse:collapse;font-size:11.5px;margin-top:6px}
.info-tbl td{border:1px solid var(--texte);padding:9px 12px;vertical-align:top;text-align:left}
.info-tbl .role{font-weight:700;background:var(--d-fond2,#F4F7FC);width:17%;text-transform:uppercase;font-size:10px;letter-spacing:.3px}
.info-tbl .obs{width:26%;color:var(--texte-d);font-size:10.5px;font-style:italic}
.info-tbl .lbl-in{font-size:10px;color:var(--texte-d)}
.info-tbl .sign-space{display:inline-block;min-width:90px;border-bottom:1px dotted #999;height:1px;vertical-align:bottom;margin-left:4px}

/* plan */
.plan-title{text-align:center;font-size:22px;font-weight:700;letter-spacing:3px;color:var(--d-vt,var(--vert));margin:24px 0 26px;text-transform:uppercase}
.plan-list{max-width:560px;margin:0 auto;list-style:none}
.plan-list li{display:flex;align-items:baseline;padding:11px 0;border-bottom:1px dotted var(--gris-b);font-size:14px;font-weight:500}
.plan-list .pt{flex:1;text-transform:uppercase;letter-spacing:.3px}
.plan-list .pg{font-size:12.5px;color:var(--texte-d);white-space:nowrap;margin-left:12px}
.plan-list .pn{font-family:ui-monospace,'SF Mono',Menlo,Consolas,'Liberation Mono',monospace;font-weight:600;color:var(--d-or2,var(--or));width:34px;flex-shrink:0}

/* report section headings */
.rp-h1{font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:#fff;background:var(--vert);padding:9px 14px;border-radius:5px;margin:0 0 16px}
.rp-intro-p{font-size:13px;line-height:1.85;text-align:justify;margin-bottom:14px;color:var(--d-tx,#222)}

/* fiche — compacte, tient sur une page */
.fiche{width:100%;border-collapse:collapse;font-size:10px;margin-bottom:6px;table-layout:fixed}
.fiche th.fiche-titre{text-align:center;font-size:10px;letter-spacing:.5px}
.fiche th{background:var(--vert);color:#fff;padding:5px 6px;text-align:left;font-size:8.5px;text-transform:uppercase;letter-spacing:.2px;border:1px solid var(--vert)}
.fiche th.num{text-align:center}
.fiche td{padding:4px 6px;border:1px solid var(--gris-b);vertical-align:top;line-height:1.3}
.fiche td.num{text-align:center;font-family:ui-monospace,'SF Mono',Menlo,Consolas,'Liberation Mono',monospace;font-weight:500}
.fiche td.cnum{text-align:center;font-weight:700}
.fiche .cat-row td{background:var(--d-fond2,#EEF4F1);font-weight:700;color:var(--d-vt,var(--vert))}
.fiche .sub td{background:var(--vert-pale);font-weight:700;color:var(--d-vt,var(--vert));font-family:ui-monospace,'SF Mono',Menlo,Consolas,'Liberation Mono',monospace}
.fiche .sub td.lbl{font-family:var(--sans)}
.fiche .sub td.num,.fiche .gt td.num{text-align:center}
.fiche .gt td{background:var(--vert);color:#fff;font-weight:700;font-family:ui-monospace,'SF Mono',Menlo,Consolas,'Liberation Mono',monospace;font-size:10px}
.fiche .gt td.lbl{font-family:var(--sans)}
.fiche .neant{color:inherit;font-style:normal} /* v131 : les lignes sans activité se présentent comme les autres */
.fiche-foot{width:100%;border-collapse:collapse;font-size:11.5px;margin-bottom:8px}
.fiche-foot td{border:1px solid var(--gris-b);padding:8px 10px;vertical-align:top}
.fiche-foot .obs-cell{height:42px}

/* detail tables */
.detail-sec{margin-bottom:16px}
.detail-sec h4{font-size:12px;font-weight:700;color:var(--d-vt,var(--vert));margin-bottom:8px;padding:6px 10px;background:var(--vert-x);border-radius:4px;break-after:avoid-page}
.detail-sec{break-inside:avoid-page}
.detail thead{display:table-header-group}
.detail{width:100%;border-collapse:collapse;font-size:10.5px}
.detail th{background:var(--d-fond2,#F0F4F2);color:var(--texte-d);padding:6px 9px;text-align:left;font-size:9.5px;text-transform:uppercase;letter-spacing:.3px;border:1px solid var(--gris-b)}
.detail th.num{text-align:center;width:64px}
.detail td{padding:6px 9px;border:1px solid var(--gris-b);vertical-align:top;line-height:1.5}
.detail td.num{text-align:center;font-family:ui-monospace,'SF Mono',Menlo,Consolas,'Liberation Mono',monospace;font-weight:500}
.detail .tot td{background:var(--vert-pale);font-weight:700;color:var(--d-vt,var(--vert))}
.detail .tot td.num{font-family:ui-monospace,'SF Mono',Menlo,Consolas,'Liberation Mono',monospace;text-align:center}
.detail .neant{color:#aaa;font-style:italic}
.mv-fiche-block .fiche{font-size:11px}
.mv-fiche-block .fiche th{font-size:10px;padding:6px 8px}
.mv-fiche-block .fiche td{padding:6px 8px}
.mv-fiche-block .detail-sec{margin-bottom:14px}
.mv-com-cell{background:var(--or-pale)}
.mv-line-com{width:100%;box-sizing:border-box;font:inherit;font-size:12.5px;border:1px solid var(--gris-b);border-radius:5px;padding:5px 7px;resize:vertical;min-height:42px;background:var(--blanc)}
.mv-line-com:focus{outline:2px solid var(--or-l);outline-offset:1px}
.card-head .pill.mc-pill-new{background:var(--rouge)}
.mv-prog-row{display:flex;gap:8px;flex-wrap:wrap}
.mv-prog-item{flex:1;min-width:68px;text-align:center;padding:7px 4px;border:1px solid var(--gris-b);border-radius:8px;background:var(--blanc)}
.mv-prog-item.cur{border-color:var(--or);background:var(--or-pale)}
.mv-prog-sem{font-size:11px;color:var(--texte-d);text-transform:uppercase;font-weight:700;letter-spacing:.3px}
.mv-prog-h{font-size:14px;font-weight:700;color:var(--d-vt,var(--vert));margin-top:2px}
.mc-pastille{margin-left:6px;cursor:pointer;font-size:12px;font-weight:600;vertical-align:middle;opacity:.6;display:inline-block;border:1px solid currentColor;border-radius:9px;padding:0 6px}
.mc-pastille.mc-new{opacity:1}
.mc-pastille.mc-new::after{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--rouge);margin-left:2px;vertical-align:top}

/* case study */
.cp-render .cp-title{font-size:17px;font-weight:600;color:var(--texte);margin-bottom:4px}
/* v134 — page de garde, sommaire et légendes du cas pratique */
.cover.cp-garde{min-height:900px;justify-content:center;gap:0;padding-top:60px;padding-bottom:60px}
.cp-garde .cpg-sur{font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--texte-d);margin-bottom:34px}
.cp-garde .cpg-titre{font-size:22px;font-weight:700;line-height:1.35;max-width:560px;margin:0 auto 18px;padding:18px 0;border-top:2px solid var(--d-vt,var(--vert));border-bottom:2px solid var(--d-vt,var(--vert))}
.cp-garde .cpg-nature{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--d-vt,var(--vert));margin-top:10px}
.cp-garde .cpg-dom{font-size:12px;color:var(--texte-d);margin-top:6px}
.cp-garde .cpg-mem{display:inline-block;margin:14px auto 0;padding:4px 12px;border:1px solid var(--or);border-radius:20px;font-size:11px;color:var(--d-or2,var(--or));letter-spacing:.3px}
.cp-garde .cpg-sem{font-size:13px;font-weight:600;margin:46px 0 30px}
.cp-garde .cpg-sem span{font-weight:400;font-size:12px;color:var(--texte-d)}
.cp-garde .cpg-tbl{margin:0 auto;border-collapse:collapse;font-size:12px;min-width:360px}
.cp-garde .cpg-tbl td{padding:7px 14px;border-bottom:1px dotted var(--gris-b);text-align:left}
.cp-garde .cpg-tbl td:first-child{color:var(--texte-d);font-size:10.5px;text-transform:uppercase;letter-spacing:.4px;width:40%}
.cp-garde .cpg-tbl td:last-child{font-weight:600}
.cp-garde .cpg-mois{margin-top:60px;font-size:12px;color:var(--texte-d)}
.cp-sommaire{margin:4px 0 24px;padding:12px 18px;border:1px solid var(--gris-b);border-radius:6px;background:var(--d-fond2,#FAFAF8)}
.cp-sommaire .cps-t{font-family:var(--sans);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--d-vt,var(--vert));margin-bottom:8px}
.cp-sommaire ul{list-style:none;margin:0;padding:0}
.cp-sommaire li{display:flex;align-items:baseline;gap:8px;font-size:12.5px;padding:4px 0;border-bottom:1px dotted var(--gris-b)}
.cp-sommaire li:last-child{border-bottom:none}
.cp-sommaire .cps-n{min-width:30px;font-weight:700;color:var(--d-or2,var(--or))}
.cp-sommaire .cps-l{flex:1}
.cp-sommaire .pg{font-size:11.5px;color:var(--texte-d);white-space:nowrap}
.cp-render .cp-tab-cap{font-family:var(--sans);font-size:11.5px;font-weight:600;color:var(--texte-d);margin:10px 0 4px;break-after:avoid-page}
.cp-render table.cp-out-table{break-inside:auto}
.cp-render table.cp-out-table thead{display:table-header-group}
.cp-render table.cp-out-table tr{break-inside:avoid}
.cp-render h5{break-after:avoid-page}
.cp-render p.cp-sub{break-after:avoid-page}
.cp-stats{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;font-size:13px}
.cp-stats b{font-size:15px}
.cp-stats .cps-ok{color:var(--d-vt,var(--vert))}.cp-stats .cps-warn{color:#9A5B00}.cp-stats .cps-bad{color:#9B2C2C}
.cp-check{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:4px 16px}
.cp-check li{font-size:13px;padding:3px 0;display:flex;gap:8px;align-items:baseline}
.cp-check li .ck{width:16px;height:16px;border-radius:50%;border:1.5px solid var(--gris-b);display:inline-flex;align-items:center;justify-content:center;font-size:10px;flex-shrink:0;color:#fff}
.cp-check li.ok .ck{background:var(--d-vt,var(--vert));border-color:var(--d-vt,var(--vert))}
.cp-check li.ok{color:var(--texte-d)}
.cp-canevas{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.cp-render .cp-meta{font-family:var(--sans);font-size:11px;color:var(--texte-d);margin-bottom:18px}
.cp-render h5{font-family:var(--sans);font-size:12px;font-weight:700;color:var(--d-vt,var(--vert));text-transform:uppercase;letter-spacing:.4px;margin:18px 0 8px}
.cp-render p{font-size:13px;line-height:1.85;text-align:justify;margin-bottom:12px;white-space:pre-wrap;color:var(--d-tx,#222)}
.cp-render p.cp-sub{font-weight:700;color:var(--d-tx,#222);white-space:normal}
.cp-render ul.cp-ul,.cp-render ol.cp-ol{margin:0 0 14px 22px;padding:0}
.cp-render ul.cp-ul li,.cp-render ol.cp-ol li{font-size:13px;line-height:1.75;text-align:justify;margin-bottom:5px;color:var(--d-tx,#222)}
.cp-render ul.cp-ul li.lvl1{margin-left:20px;list-style-type:circle}
.cp-render table.cp-out-table{width:100%;border-collapse:collapse;margin:6px 0 16px;font-size:12px}
.cp-render table.cp-out-table th{background:var(--vert);color:#fff;padding:6px 9px;text-align:left;font-weight:600}
.cp-render table.cp-out-table td{padding:6px 9px;border:1px solid var(--gris-b);vertical-align:top}
.cp-render table.cp-out-table tr:nth-child(even) td{background:var(--d-fond2,#FAFAF8)}
/* mini éditeur (puces / sous-titres / tableaux) des champs texte du cas pratique */
.cp-toolbar{display:flex;gap:6px;margin-bottom:6px}
.cp-tb-btn{font-size:12.5px;padding:4px 10px;border:1px solid var(--gris-b);border-radius:5px;background:var(--blanc);color:var(--texte-d);cursor:pointer}
.cp-tb-btn:hover{background:var(--vert-x);border-color:var(--vert-l);color:var(--d-vt,var(--vert))}
.cp-table-edit{background:var(--blanc);border:1px solid var(--gris-b);border-radius:7px;padding:10px;margin:10px 0}
.cp-table-edit-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--d-vt,var(--vert))}
.cp-table-grid{width:100%;border-collapse:collapse}
.cp-table-grid th,.cp-table-grid td{border:1px solid var(--gris-b);padding:3px}
.cp-table-grid input[type=text]{width:100%;box-sizing:border-box;border:none;font:inherit;font-size:13.5px;padding:4px 5px;background:transparent}
.cp-table-grid input[type=text]:focus{outline:2px solid var(--vert-l);outline-offset:-1px;background:var(--blanc)}
.cp-table-grid th{position:relative}
.cp-col-del{position:absolute;top:1px;right:1px;border:none;background:none;color:#ccc;cursor:pointer;font-size:11.5px;padding:2px}
.cp-col-del:hover{color:var(--d-rt,var(--rouge))}
.cp-table-actions{display:flex;gap:8px;margin-top:8px}

/* v80 — rapport en noir et blanc (réglage par défaut) : les couleurs du thème laissent place au noir et aux gris */
.paper.nb{--vert:#000;--vert-m:#222;--vert-l:#444;--or:#000;--d-vt:#000;--d-or2:#000;--d-fond2:#EDEDED;--d-tx:#000;--vert-pale:#EDEDED;--vert-x:#F5F5F5}
html[data-affichage="sombre"] .paper.nb{--vert-pale:#EDEDED!important;--vert-x:#F5F5F5!important}
.paper.nb .rp-h1,.paper.nb .fiche th,.paper.nb .fiche .gt td,.paper.nb .eval-tbl th,.paper.nb .cp-render table.cp-out-table th{background:#D9D9D9;color:#000;border-color:#000}
/* v80 — apparence : pastilles de thème */
.th-liste{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 12px}
.th-sw{display:inline-flex;align-items:center;gap:8px;padding:5px 12px 5px 6px;border:2px solid var(--gris-b);border-radius:999px;background:var(--blanc);cursor:pointer;font-size:13px;font-weight:600;font-family:var(--sans);color:var(--texte)}
.th-sw i{width:22px;height:22px;border-radius:50%;display:inline-block;border:1px solid rgba(0,0,0,.08)}
.th-sw.on{border-color:var(--vert);box-shadow:0 0 0 3px var(--vert-pale)}
/* evaluation */
.eval-tbl{width:100%;border-collapse:collapse;font-size:12.5px}
.eval-tbl td,.eval-tbl th{border:1px solid var(--gris-b);padding:6px 10px;vertical-align:top}
.eval-tbl th{background:var(--vert);color:#fff;font-size:11.5px;text-transform:uppercase;width:48px;text-align:center}
.eval-tbl .secrow td{background:var(--d-fond2,#EEF4F1);font-weight:700;color:var(--d-vt,var(--vert));font-size:12.5px;text-transform:uppercase;letter-spacing:.3px}
.eval-tbl .q{font-size:12.5px}
.eval-tbl .yn{width:48px;text-align:center}
.eval-tbl .box{display:inline-block;width:15px;height:15px;border:1.5px solid var(--texte)}
.eval-tbl .subq{padding-left:22px}
.eval-tbl .comment-row td{height:34px}
.sign-block{margin-top:20px;display:grid;grid-template-columns:1fr 1fr;gap:30px}
.sign-block .sb-lbl{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--texte-d);margin-bottom:6px}
.sign-block .sb-line{border-bottom:1px solid #999;min-height:50px}
.sign-block .ev-date-print{display:none;min-height:28px}
.eval-fin{break-inside:avoid-page}
.apprec-box{border:1px solid var(--gris-b);border-radius:5px;min-height:80px;margin-top:8px;padding:10px;background:var(--d-fond2,#FAFBFE)}

/* misc */
.info-banner{padding:11px 14px;border-radius:6px;font-size:13.5px;margin-bottom:14px}
.info-banner.vert{background:var(--vert-x);border:1px solid var(--vert-pale);color:var(--d-vt,var(--vert-m))}
.info-banner.or{background:var(--or-pale);border:1px solid var(--d-orbd,#FAE3A0);color:var(--d-ort,#7A5A0A)}
.info-banner.bleu{background:var(--bleu-pale);border:1px solid var(--d-bbd,#B9DCEF);color:var(--d-bt,#1F5F8B)}
.sep{border:none;border-top:1px solid var(--gris-b);margin:16px 0}

/* workflow history */
.wf-history{margin-top:16px}
.wfh-title{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--gris-m);margin-bottom:8px}
.wfh-item{display:flex;align-items:center;gap:10px;padding:5px 0;font-size:13.5px;border-left:2px solid var(--vert-pale);padding-left:12px;margin-left:4px}
.wfh-dot{width:7px;height:7px;border-radius:50%;background:var(--vert-l);flex-shrink:0;margin-left:-17px;box-shadow:0 0 0 3px #fff}
.wfh-step{font-weight:600;color:var(--d-vt,var(--vert))}
.wfh-ts{margin-left:auto;font-family:ui-monospace,'SF Mono',Menlo,Consolas,'Liberation Mono',monospace;font-size:12.5px;color:var(--texte-d)}

/* comments */
.comment-form{display:grid;grid-template-columns:150px 1fr auto;gap:8px;align-items:start;margin-bottom:12px}
.comment-form select{padding:8px 10px;border:1.5px solid var(--gris-b);border-radius:5px;font-size:13.5px;font-family:var(--sans);background:var(--blanc);height:fit-content}
.comment-form textarea{padding:8px 10px;border:1.5px solid var(--gris-b);border-radius:5px;font-size:13.5px;font-family:var(--sans);resize:vertical;min-height:38px}
.comment-form textarea:focus,.comment-form select:focus{outline:none;border-color:var(--vert-l);box-shadow:0 0 0 2px rgba(64,145,108,.1)}
.comment-form .btn{align-self:start;white-space:nowrap}
.comments-list{display:flex;flex-direction:column;gap:8px}
.cm-empty{font-size:13.5px;color:var(--gris-m);font-style:italic;padding:4px 0}
.cm-item{border-radius:7px;padding:10px 12px;border:1px solid var(--gris-b)}
.cm-stagiaire{background:var(--vert-x);border-color:var(--vert-pale)}
.cm-maitre{background:var(--or-pale);border-color:#FAE3A0}
.cm-head{display:flex;align-items:center;gap:8px;margin-bottom:5px}
.cm-badge{font-size:11.5px;font-weight:700;padding:2px 8px;border-radius:10px}
.cm-b-stagiaire{background:var(--vert-pale);color:var(--d-vt,var(--vert))}
.cm-b-maitre{background:var(--d-orp,#FEF3C7);color:var(--d-ort,#92400E)}
.cm-ts{font-size:12.5px;color:var(--texte-d);font-family:ui-monospace,'SF Mono',Menlo,Consolas,'Liberation Mono',monospace}
.cm-del{margin-left:auto;background:none;border:none;color:#ccc;cursor:pointer;font-size:13.5px;padding:2px 5px;border-radius:4px}
.cm-del:hover{color:var(--d-rt,var(--rouge));background:var(--rouge-pale)}
.cm-text{font-size:14px;line-height:1.5;color:var(--texte);white-space:pre-wrap}
@media (max-width:600px){.comment-form{grid-template-columns:1fr}}

/* ===== ANALYSE ===== */
.ana-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap;background:var(--blanc);border-radius:8px;border:1px solid var(--gris-b);padding:14px 18px;margin-bottom:16px;box-shadow:var(--shadow)}
.ana-controls label{font-size:12.5px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--texte-d)}
.ana-controls select{padding:8px 12px;border:1.5px solid var(--gris-b);border-radius:5px;font-size:13.5px;font-family:inherit;background:var(--blanc)}
.kpi-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:4px}
.kpi{background:var(--blanc);border:1px solid var(--gris-b);border-radius:8px;padding:14px 10px;text-align:center;position:relative;overflow:hidden}
.kpi::before{content:'';position:absolute;top:0;left:0;width:100%;height:3px;background:var(--vert-l)}
.kpi .kv{font-family:var(--mono);font-size:22px;font-weight:600;color:var(--d-vt,var(--vert));line-height:1}
.kpi .kl{font-size:11px;color:var(--texte-d);margin-top:5px;text-transform:uppercase;letter-spacing:.4px;line-height:1.25}
.barlist{display:flex;flex-direction:column;gap:9px}
.bar-row{display:grid;grid-template-columns:230px 1fr 92px;gap:12px;align-items:center}
.bar-label{font-size:13.5px;color:var(--texte);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bar-label .bl-sub{font-size:11.5px;color:var(--gris-m);font-weight:400}
.bar-track{background:var(--gris);border-radius:4px;height:20px;overflow:hidden;position:relative}
.bar-fill{height:100%;border-radius:4px;transition:width .4s;min-width:2px}
.bf-1{background:#2D6A4F}.bf-2{background:#40916C}.bf-3{background:#52B788}.bf-4{background:#74C69D}.bf-5{background:#B7881C}.bf-6{background:#D4A017}
.bar-val{font-family:var(--mono);font-size:13px;font-weight:600;color:var(--d-vt,var(--vert));text-align:right}
.bar-val .bv-pct{color:var(--gris-m);font-weight:400;font-size:11.5px}
.ana-empty{text-align:center;color:var(--gris-m);padding:36px 20px;font-size:14.5px}
.ana-empty .big{font-size:34px;margin-bottom:10px}
.heat{width:100%;border-collapse:collapse;font-size:12.5px}
.heat th{font-size:11.5px;text-transform:uppercase;letter-spacing:.3px;color:var(--texte-d);padding:6px 8px;border-bottom:2px solid var(--gris-b);text-align:center}
.heat th:first-child{text-align:left}
.heat td{padding:4px 6px;border-bottom:1px solid var(--gris);text-align:center;font-family:var(--mono);font-weight:600;color:var(--texte)}
.heat td.hlbl{text-align:left;font-family:inherit;font-weight:500;color:var(--texte)}
.heat .hcell{display:block;padding:5px 2px;border-radius:4px;color:#fff}
.heat tr.heat-tot td{border-top:2px solid var(--gris-b);color:var(--d-vt,var(--vert));font-weight:700}
.cov-cat{margin-bottom:12px}
.cov-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}
.cov-name{font-size:13.5px;font-weight:600;color:var(--texte)}
.cov-frac{font-family:var(--mono);font-size:12.5px;font-weight:600}
.cov-track{background:var(--gris);border-radius:4px;height:8px;overflow:hidden}
.cov-fill{height:100%;border-radius:4px;background:var(--vert-l)}
.cov-gaps{font-size:12.5px;color:var(--texte-d);margin-top:5px;line-height:1.6}
.cov-gaps .gap-tag{display:inline-block;background:var(--rouge-pale);color:var(--d-rt,var(--rouge));padding:1px 7px;border-radius:8px;font-size:11.5px;margin:2px 3px 0 0}
.cov-gaps .ok-tag{display:inline-block;background:var(--vert-pale);color:var(--d-vt,var(--vert));padding:1px 7px;border-radius:8px;font-size:11.5px}
.synth-list{display:flex;flex-direction:column;gap:9px}
.synth-item{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.55;padding:10px 13px;border-radius:6px;background:var(--gris)}
.synth-item .si-ic{font-size:15px;flex-shrink:0;line-height:1.3}
.synth-item.good{background:var(--vert-x);border-left:3px solid var(--vert-l)}
.synth-item.warn{background:var(--or-pale);border-left:3px solid var(--or-l)}
.synth-item.info{background:var(--bleu-pale);border-left:3px solid var(--bleu)}
.sector-chips{display:flex;flex-wrap:wrap;gap:6px}
.sector-chip{background:var(--vert-x);border:1px solid var(--vert-pale);color:var(--d-vt,var(--vert));padding:4px 10px;border-radius:14px;font-size:12.5px;font-weight:500}
.sector-chip b{font-family:var(--mono)}

/* ===== ÉVALUATION INTERACTIVE ===== */
.eval-intro-banner{background:var(--or-pale);border:1px solid var(--d-orbd,#FAE3A0);color:var(--d-ort,#7A5A0A);padding:9px 13px;border-radius:6px;font-size:13px;margin-bottom:12px;display:flex;gap:8px;align-items:flex-start}
.yn-box{display:inline-flex;width:18px;height:18px;border:1.5px solid var(--texte);align-items:center;justify-content:center;cursor:pointer;border-radius:3px;font-size:12px;font-weight:700;color:var(--d-vt,var(--vert));transition:.12s;background:var(--blanc);user-select:none}
.yn-box:hover{border-color:var(--vert-l);background:var(--vert-x)}
.yn-box.checked{background:var(--vert-m);border-color:var(--vert-m);color:#fff}
.ev-com{width:100%;border:1.5px solid var(--gris-b);border-radius:5px;padding:6px 9px;font-family:inherit;font-size:11.5px;resize:vertical;min-height:34px;color:var(--texte)}
.ev-com:focus{outline:none;border-color:var(--vert-l);box-shadow:0 0 0 2px rgba(64,145,108,.1)}
.apprec-edit{width:100%;border:1.5px solid var(--gris-b);border-radius:6px;padding:10px;font-family:inherit;font-size:12px;line-height:1.6;resize:vertical;min-height:80px;background:var(--d-fond2,#FAFBFE)}
.apprec-edit:focus{outline:none;border-color:var(--vert-l);box-shadow:0 0 0 2px rgba(64,145,108,.1)}
.ev-date{border:1.5px solid var(--gris-b);border-radius:5px;padding:7px 10px;font-family:inherit;font-size:13.5px;width:100%}

/* ===== PRINT ===== */
.enq-liste{display:grid;gap:12px}
.enq-card{border:1px solid var(--gris-b);border-left:4px solid var(--or);border-radius:8px;padding:13px 15px;background:var(--blanc)}
.enq-card.echue{border-left-color:var(--gris-b);opacity:.75}
.enq-card h4{margin:0 0 6px;font-size:15px;color:var(--d-vt,var(--vert))}
.enq-card p{margin:8px 0;font-size:13.5px;line-height:1.55;overflow-wrap:anywhere}
.enq-b{display:flex;gap:6px;flex-wrap:wrap}
.enq-m{font-size:13.5px;color:var(--texte-d);margin-bottom:9px;overflow-wrap:anywhere}
.enq-a{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
/* v80 — communauté : forum d'entraide et offres d'emploi */
.fo-cats{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.fo-cat{border:1.5px solid var(--gris-b);background:var(--blanc);border-radius:999px;padding:5px 12px;font-size:12.5px;font-weight:600;cursor:pointer;color:var(--texte-d);font-family:var(--sans)}
.fo-cat.on{border-color:var(--vert);background:var(--vert-pale);color:var(--d-vt,var(--vert))}
.fo-liste{display:grid;gap:10px}
.fo-q{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--gris-b);border-radius:8px;padding:12px 14px;background:var(--blanc);cursor:pointer;text-align:left;width:100%;font-family:var(--sans);color:var(--texte);font-size:13.5px}
.fo-q:hover{border-color:var(--vert-l);box-shadow:var(--shadow)}
.fo-q.resolu{border-left:4px solid var(--vert-l)}
.fo-q .fo-t{display:block;font-size:15px;font-weight:700;color:var(--d-vt,var(--vert));margin-bottom:4px;overflow-wrap:anywhere}
.fo-m{font-size:12.5px;color:var(--texte-d);display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.fo-n{flex-shrink:0;min-width:48px;text-align:center;border-radius:8px;background:var(--gris);padding:6px 4px;font-size:11.5px;color:var(--texte-d)}
.fo-n b{display:block;font-size:17px;color:var(--d-vt,var(--vert))}
.fo-msg{border:1px solid var(--gris-b);border-radius:8px;padding:12px 14px;background:var(--blanc);margin-bottom:10px}
.fo-msg.question{border-left:4px solid var(--or)}
.fo-msg p{margin:6px 0 8px;font-size:14px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}
.em-liste{display:grid;gap:12px}
.em-card{border:1px solid var(--gris-b);border-left:4px solid var(--vert-l);border-radius:8px;padding:13px 15px;background:var(--blanc)}
.em-card.echue{border-left-color:var(--gris-b);opacity:.75}
.em-card h4{margin:0 0 6px;font-size:15.5px;color:var(--d-vt,var(--vert));overflow-wrap:anywhere}
.em-card p{margin:8px 0;font-size:13.5px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.em-contact{font-size:13.5px;background:var(--gris);border-radius:6px;padding:8px 10px;margin:8px 0;overflow-wrap:anywhere}
.corr-noprint{display:none}
.corr-view{position:relative;background:var(--blanc);border:1px solid var(--gris-b);border-radius:10px;padding:16px 18px 20px;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.corr-view::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:3;opacity:.07;background-repeat:repeat;background-size:420px 300px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='300'%3E%3Cg transform='rotate(-32 210 150)' fill='%231B4332' font-family='Arial,sans-serif' font-weight='700' text-anchor='middle'%3E%3Ctext x='210' y='150' font-size='44' letter-spacing='4'%3EMonDECOFI%3C/text%3E%3Ctext x='210' y='176' font-size='11' letter-spacing='3'%3EPROPOSITION DE CORRECTION NON OFFICIELLE%3C/text%3E%3C/g%3E%3C/svg%3E")}
.corr-top{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}
.corr-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;background:var(--vert);color:#fff;border-radius:9px;padding:16px 18px;margin-bottom:12px}
.corr-head h2{margin:2px 0 4px;font-size:21px;color:#fff}.corr-head p{margin:0;font-size:14.5px;opacity:.92}
.corr-sur{font-size:12px;letter-spacing:.22em;font-weight:700;color:var(--or-l)}
.corr-tag{border:1.5px solid var(--or-l);color:var(--or-l);border-radius:5px;padding:3px 9px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
.corr-lab{font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--texte-d);margin-bottom:3px}
.corr-note{border-left:3px solid var(--bleu);background:var(--bleu-pale);padding:9px 12px;border-radius:0 7px 7px 0;font-size:14.5px;line-height:1.5;margin:10px 0}
.corr-som{font-size:14px;margin:10px 0 4px;line-height:1.9}
.corr-dos{margin-top:22px;scroll-margin-top:120px}
.corr-dh{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-bottom:2px solid var(--vert);padding-bottom:6px;margin-bottom:10px}
.corr-dh h3{margin:0;font-size:16px;color:var(--d-vt,var(--vert));flex:1;min-width:180px}
.corr-dn{background:var(--vert);color:#fff;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-radius:5px;padding:3px 8px}
.corr-pts{font-size:13.5px;font-weight:700;color:var(--d-or2,var(--or))}
.corr-ctx{background:var(--d-fond2,#F6F7F4);border-radius:7px;padding:10px 12px;font-size:14.5px;line-height:1.55;margin-bottom:6px}
.corr-item{padding:14px 0 12px;border-bottom:1px dashed var(--gris-b)}
.corr-item h4{margin:0 0 8px;font-size:14px;color:var(--d-vt,var(--vert-m))}
.corr-q{margin:0 0 10px;font-size:13.5px;line-height:1.55}
.corr-rep{border-left:3px solid var(--vert-m);padding:2px 0 2px 12px;margin-bottom:8px}
.corr-r{font-size:13.5px;line-height:1.6}
.corr-e{font-size:14px;line-height:1.5;color:var(--texte-d);border-top:1px dashed var(--gris-b);padding-top:7px;margin:8px 0}
.corr-s{font-size:14px;line-height:1.5;background:var(--or-pale);border-left:3px solid var(--or);padding:7px 11px;border-radius:0 7px 7px 0;margin-top:10px}
.corr-j{font-size:14px;line-height:1.5;background:var(--bleu-pale);border-left:3px solid var(--bleu);padding:7px 11px;border-radius:0 7px 7px 0;margin-top:10px}
@media(max-width:600px){.corr-view{padding:12px 11px 16px}.corr-head{flex-direction:column}.corr-head h2{font-size:18px}}
.suj-view{position:relative;background:var(--blanc);border:1px solid var(--gris-b);border-radius:10px;padding:16px 18px 20px;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.suj-head h2{margin:0 0 3px;font-size:18px;color:var(--d-vt,var(--vert))}.suj-head p{margin:0 0 10px;font-size:14px;color:var(--texte-d)}
.suj-pages{max-width:900px;margin:12px auto 0;transition:max-width .2s}
.suj-barre{position:sticky;top:var(--sx-haut,58px);z-index:5;margin:10px -18px 0;padding:8px 18px;background:var(--blanc);border-bottom:1px solid var(--gris-b)}
.suj-barre-in{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.suj-pos{font-size:14px;font-weight:700;color:var(--d-vt,var(--vert));margin-right:6px}
.suj-sep{width:1px;height:22px;background:var(--gris-b);margin:0 4px}
@media(max-width:600px){.suj-barre{margin:8px -6px 0;padding:8px 6px}.suj-barre .btn{padding:7px 10px}}
.suj-page{position:relative;margin:0 0 16px;border:1px solid var(--gris-b);background:var(--blanc);box-shadow:0 1px 4px rgba(0,0,0,.06)}
.suj-page img{display:block;width:100%;height:auto;pointer-events:none;-webkit-user-drag:none}
.suj-page::after{content:"mondecofi.com — lecture sur la plateforme";position:absolute;left:0;right:0;top:46%;text-align:center;font-size:clamp(13px,2.6vw,24px);font-weight:700;letter-spacing:.12em;color:var(--d-vt,#1B4332);opacity:.09;transform:rotate(-24deg);pointer-events:none}
.suj-page figcaption{text-align:center;font-size:12.5px;color:var(--texte-d);padding:4px 0;border-top:1px solid var(--gris-b);background:var(--d-fond2,#FAFAF8)}
@media(max-width:600px){.suj-view{padding:10px 6px 14px}}
@media print{
  .corr-view,.suj-view{display:none!important}
  .corr-noprint{display:block!important;padding:30px;font-size:15px}
  .app-bar,.nav-tabs,.sub-nav,.rapport-controls,.intro-editor,.no-print,.week-nav,.week-selector,.sheet-tag{display:none!important}
  body{background:var(--blanc)}
  .container{padding:0;max-width:100%}
  .paper{box-shadow:none;max-width:100%}
  .sheet{border-bottom:none;padding:0!important} /* v131 : prime sur les règles d'écran étroit, qui s'appliquent aussi à l'impression */
  body{padding:0!important}
  .sheet.brk{break-before:page}
  .sheet.nobrk{break-inside:avoid}
  .cover.garde{min-height:0;height:23.5cm;padding-top:1cm;padding-bottom:1cm}
  .cover.cp-garde{min-height:0;height:23.5cm;padding-top:1cm;padding-bottom:1cm;justify-content:center}
  .fiche{font-size:9.5px}
  .fiche th{font-size:9px;padding:3px 5px}
  .fiche td{padding:2px 5px}
  .fiche-foot{break-inside:avoid}
  .fiche-foot .obs-cell{height:36px}
  .card{box-shadow:none;break-inside:avoid}
  .ev-com,.apprec-edit{border:none!important;background:none!important;padding:2px 0!important;resize:none;font-size:11px}
  .sign-block .ev-date{display:none!important}
  .ev-com::placeholder,.apprec-edit::placeholder{color:transparent}
  .sign-block .ev-date-print{display:block}
  .yn-box{border:1.2px solid #000!important}
  .ana-controls,.ana-print-hide{display:none!important}
  .kpi-grid{grid-template-columns:repeat(6,1fr)!important}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  @page{margin:2.2cm 2cm 2cm;@bottom-right{content:counter(page) " / " counter(pages);font-size:11px;color:#333}}
  @page:first{@bottom-right{content:none}}
}
@media (max-width:900px){
  .echeances-grid,.stat-row{grid-template-columns:1fr 1fr}
  .grid-3,.grid-4{grid-template-columns:1fr 1fr}
  .sheet{padding:28px 22px}
}
@media (max-width:760px){
  .act-head{display:none}
  .act-row{grid-template-columns:1fr;gap:5px;padding:10px;background:var(--gris);border-radius:6px;margin-bottom:8px}
  .act-row .del-btn{justify-self:end}
}
@media (max-width:600px){
  .echeances-grid,.grid-2,.grid-3,.grid-4,.stat-row,.sign-block{grid-template-columns:1fr}
}
@media (max-width:640px){
  .app-bar-top{flex-wrap:wrap;padding:8px 14px;row-gap:8px}
  .app-sub{font-size:9.5px;white-space:normal;line-height:1.2;max-width:170px}
  .app-logo{flex:1 1 auto}
  .app-actions{flex-wrap:wrap;justify-content:flex-end;flex:1 1 100%}
  .theme-picker label{display:none}
  .theme-select{padding:4px 6px;font-size:11.5px}
  .workflow{flex-direction:column;overflow-x:visible;gap:16px;align-items:stretch;position:relative}
  .workflow::before{content:'';position:absolute;top:15px;bottom:15px;left:15px;width:2px;background:var(--gris-b);z-index:1}
  .wf-step{display:flex;align-items:center;gap:12px;min-width:0;text-align:left;padding:0;flex:none}
  .wf-step::before{display:none}
  .wf-step .dot{margin:0;flex-shrink:0}
  .wf-step .lbl{font-size:14px;line-height:1.3;text-align:left}
}

/* ===== APP ACTIONS (thème + compte) ===== */
:root{transition:none}
.app-actions{display:flex;align-items:center;gap:10px}
.theme-picker{display:flex;align-items:center;gap:6px}
.theme-picker label{font-size:11.5px;color:rgba(255,255,255,.6);text-transform:uppercase;letter-spacing:.5px}
.theme-select{padding:5px 8px;border-radius:6px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.1);color:#fff;font-size:12.5px;font-family:var(--sans);cursor:pointer}
.theme-select option{color:var(--texte)}
.auth-btn{padding:6px 13px;border-radius:6px;border:1px solid rgba(255,255,255,.3);background:var(--or);color:#fff;font-size:12.5px;font-weight:600;cursor:pointer;font-family:var(--sans);display:inline-flex;align-items:center;gap:5px}
.auth-btn:hover{filter:brightness(1.07)}
.auth-status{display:flex;align-items:center;gap:8px;font-size:12.5px;color:#fff}
.auth-status .who-mail{opacity:.85;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.auth-status .lk{background:none;border:none;color:#fff;text-decoration:underline;cursor:pointer;font-size:12.5px;opacity:.85}

/* ===== REMINDER STRIP ===== */
.reminder-strip{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}
.reminder{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:9px;font-size:14.5px;box-shadow:var(--shadow);border-left:5px solid}
.reminder .rm-ic{font-size:20px;flex-shrink:0}
.reminder .rm-body{flex:1;line-height:1.5}
.reminder .rm-body b{font-weight:700}
.reminder.urg{background:var(--rouge-pale);border-color:var(--rouge);color:var(--d-rt,#7f1d1d)}
.reminder.proche{background:var(--or-pale);border-color:var(--or-l);color:var(--d-ort,#7A5A0A)}
.reminder.backup{background:var(--vert-x);border-color:var(--vert-l);color:var(--d-vt,#1b4332)}
.reminder .btn{flex-shrink:0}

/* ===== OBLIGATIONS ===== */
.oblig-list{display:flex;flex-direction:column;gap:0}
.oblig-item{display:flex;gap:14px;padding:15px 0;border-bottom:1px solid var(--gris-b)}
.oblig-item:last-child{border-bottom:none}
.oblig-ic{width:40px;height:40px;border-radius:10px;background:var(--vert-pale);color:var(--d-vt,var(--vert));display:flex;align-items:center;justify-content:center;font-size:19px;flex-shrink:0}
.oblig-tx{flex:1}
.oblig-tx h4{font-size:13.5px;font-weight:700;color:var(--texte);margin-bottom:4px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.oblig-tx p{font-size:12.5px;color:var(--texte-d);line-height:1.6}
.oblig-tx .ref{font-size:10.5px;color:var(--gris-m);font-style:italic;margin-top:3px}
.dep-table{width:100%;border-collapse:collapse;font-size:13.5px;margin-top:4px}
.dep-table th{background:var(--vert);color:#fff;padding:8px 10px;text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.4px}
.dep-table td{padding:8px 10px;border:1px solid var(--gris-b)}
.dep-table tr.is-cur td{background:var(--vert-x)}
.dep-table .ar{font-family:var(--mono);font-weight:600}

/* ===== INFORMATIONS ===== */
.info-feed{display:flex;flex-direction:column;gap:14px}
.info-post{border:1px solid var(--gris-b);border-radius:9px;padding:15px 17px;background:var(--blanc);box-shadow:var(--shadow);border-left:4px solid var(--vert-l)}
.info-post.pin{border-left-color:var(--or-l);background:var(--or-pale)}
.info-post .ip-head{display:flex;align-items:center;gap:9px;margin-bottom:7px;flex-wrap:wrap}
.info-post .ip-title{font-size:14px;font-weight:700;color:var(--texte)}
.info-post .ip-date{font-size:12.5px;color:var(--texte-d);font-family:var(--mono);margin-left:auto}
.info-post .ip-body{font-size:14px;line-height:1.65;color:var(--texte-d);white-space:pre-wrap}
.info-post .ip-del{background:none;border:none;color:#ccc;cursor:pointer;font-size:14.5px;padding:2px 5px;border-radius:4px}
.info-post .ip-del:hover{color:var(--d-rt,var(--rouge));background:var(--rouge-pale)}

/* ===== FAQ ===== */
.faq-item{border:1px solid var(--gris-b);border-radius:8px;margin-bottom:9px;overflow:hidden;background:var(--blanc)}
.faq-q{display:flex;align-items:center;gap:10px;padding:13px 16px;cursor:pointer;font-size:14.5px;font-weight:600;color:var(--texte);user-select:none}
.faq-q:hover{background:var(--vert-x)}
.faq-q .fq-tog{margin-left:auto;font-size:16px;color:var(--d-vt,var(--vert-l));transition:.2s;flex-shrink:0}
.faq-item.open .fq-tog{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .25s ease;padding:0 16px}
.faq-item.open .faq-a{max-height:600px;padding:0 16px 15px}
.faq-a p{font-size:14px;line-height:1.7;color:var(--texte-d)}
.faq-cat{font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--d-vt,var(--vert));margin:18px 0 9px;padding-bottom:5px;border-bottom:2px solid var(--vert-pale)}
.faq-cat:first-child{margin-top:0}

/* ===== DOCUMENTS ===== */
.doc-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.doc-card{display:flex;gap:13px;padding:15px;border:1px solid var(--gris-b);border-radius:9px;background:var(--blanc);box-shadow:var(--shadow);transition:.15s}
.doc-card:hover{border-color:var(--vert-l);box-shadow:var(--shadow-m)}
.doc-ic{width:44px;height:44px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#fff;flex-shrink:0;font-family:var(--mono)}
.doc-ic{background:var(--vert-m);font-size:12.5px;letter-spacing:.04em}.doc-ic.pdf{background:#C0392B}.doc-ic.docx{background:var(--bleu)}
.doc-tx{flex:1;min-width:0}
.doc-tx h4{font-size:14.5px;font-weight:700;color:var(--texte);margin-bottom:3px;line-height:1.35}
.doc-tx p{font-size:13px;color:var(--texte-d);line-height:1.5;margin-bottom:8px}
@media (max-width:600px){.doc-grid{grid-template-columns:1fr}}
.depot-form{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.depot-form select,.depot-form input[type=file]{padding:8px 10px;border:1px solid var(--gris-b);border-radius:8px;font-size:14.5px;background:var(--blanc)}
.depot-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--gris-b);border-radius:10px;margin-bottom:8px;background:var(--blanc)}
.depot-ic{font-size:12px;font-weight:700;letter-spacing:.05em;color:#fff;background:var(--vert-m);border-radius:6px;padding:6px 7px;flex-shrink:0}
.depot-meta{flex:1;min-width:0}
.depot-name{font-weight:600;font-size:14px;word-break:break-word}
.depot-sub{font-size:13.5px;color:var(--texte-d);margin-top:2px}
.depot-act{display:flex;gap:12px;flex-shrink:0}
.depot-act .lk{background:none;border:none;cursor:pointer;font-size:14.5px;color:var(--d-vt,var(--vert));font-weight:600;padding:0}
.depot-act .lk.danger{color:var(--d-rt,#b91c1c)}
.app-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;max-width:1100px;margin:8px auto 26px;padding:14px 18px;border-top:1px solid var(--gris-b);color:var(--texte-d);font-size:14px}
.suggest-link{background:var(--vert-x);border:1px solid var(--vert-pale);color:var(--d-vt,var(--vert));font-weight:700;font-size:14.5px;padding:8px 14px;border-radius:20px;cursor:pointer}
.suggest-link:hover{background:var(--vert-pale)}
.sug-item{border:1px solid var(--gris-b);border-radius:10px;padding:10px 12px;margin-bottom:8px;background:var(--blanc)}
.sug-recap{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.sug-recap-item{display:flex;align-items:center;gap:7px;background:var(--vert-x);border:1px solid var(--vert-pale);border-radius:20px;padding:6px 12px;font-size:14px}
.sug-recap-item.total{background:var(--vert);border-color:var(--d-vt,var(--vert))}
.sug-recap-item.total .src-lbl,.sug-recap-item.total .src-count{color:#fff}
.sug-recap-item .src-lbl{font-weight:600;color:var(--d-vt,var(--vert))}
.sug-recap-item .src-count{background:var(--blanc);border-radius:10px;padding:1px 8px;font-weight:700;font-size:13px;color:var(--d-vt,var(--vert))}
.sug-group{border:1px solid var(--gris-b);border-radius:10px;margin-bottom:10px;padding:4px 12px;background:var(--d-fond2,#FAFBFE)}
.sug-group summary{cursor:pointer;font-weight:700;font-size:13.5px;padding:9px 0;color:var(--d-vt,var(--vert));list-style:none;display:flex;align-items:center;gap:8px}
.sug-group summary::-webkit-details-marker{display:none}
.sug-group summary::before{content:'▸';font-size:12.5px}
.sug-group[open] summary::before{content:'▾'}
.sug-group-count{background:var(--vert-x);color:var(--d-vt,var(--vert));border-radius:10px;padding:1px 9px;font-size:12.5px;font-weight:700}
.sug-group .sug-item{margin:0 0 8px}
.sug-group .sug-item:last-child{margin-bottom:10px}
body.maitre-mode #view-journal input,body.maitre-mode #view-journal select,body.maitre-mode #view-journal textarea,body.maitre-mode #view-journal button,
body.maitre-mode #view-caspratique input,body.maitre-mode #view-caspratique select,body.maitre-mode #view-caspratique textarea,body.maitre-mode #view-caspratique button,
body.maitre-mode .intro-editor,
body.maitre-mode #depot-card input,body.maitre-mode #depot-card select,body.maitre-mode #depot-card button
{pointer-events:none!important;opacity:.6;filter:grayscale(.15)}
.maitre-ro-banner{background:var(--d-orp,#FFF7E6);border:1px solid var(--d-orbd,#F0D9A8);color:var(--d-ort,#7a5a10);border-radius:10px;padding:10px 14px;font-size:14.5px;font-weight:600;margin-bottom:14px}
#maitre-dash-card .card-head h3{color:var(--d-vt,var(--vert))}
.backup-code-box{display:flex;align-items:center;gap:10px;background:var(--vert-x);border:1px solid var(--vert-pale);border-radius:8px;padding:8px 12px}
.backup-code-box span{font-family:ui-monospace,Menlo,Consolas,monospace;font-weight:700;font-size:16px;letter-spacing:2px;color:var(--d-vt,var(--vert))}
.sug-item .si-meta{font-size:13px;color:var(--texte-d);margin-bottom:4px}
.sug-item .si-text{font-size:13.5px;white-space:pre-wrap}
.per-top{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;margin-bottom:6px}
.per-top .fg{min-width:220px}
.per-hours{background:var(--vert-x);border:1px solid var(--vert-pale);border-radius:10px;padding:12px 14px;margin:6px 0 14px}
.ph-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:14.5px;margin-bottom:6px}
.ph-row strong{font-size:14px}
.ph-row input{width:90px;padding:5px 8px;border:1px solid var(--gris-b);border-radius:7px}
.ph-hint{font-size:12.5px;color:var(--texte-d)}
.ph-bar{height:9px;background:var(--d-fond3,#e3ebe7);border-radius:6px;overflow:hidden;margin-top:4px}
.ph-fill{height:100%;background:linear-gradient(90deg,var(--vert),#40916C);width:0}
.ph-done{color:var(--d-vt,#1b7a43);font-weight:700}
.pf-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pf-grid .pf-wide{grid-column:1/-1}
.pf-grid .fg label{font-size:13.5px}
.pf-grid select,.pf-grid input{width:100%;padding:8px 10px;border:1px solid var(--gris-b);border-radius:8px;font-size:14.5px;background:var(--blanc)}
@media(max-width:600px){.pf-grid{grid-template-columns:1fr}}
.per-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--gris-b);border-radius:10px;margin-bottom:8px;background:var(--blanc)}
.per-meta{flex:1;min-width:0}
.per-act{font-weight:600;font-size:13.5px}
.per-sub{font-size:13px;color:var(--texte-d);margin-top:2px}
.per-det{font-size:13.5px;color:var(--texte);margin-top:3px}
.per-h{font-weight:700;color:var(--d-vt,var(--vert));font-family:ui-monospace,Menlo,Consolas,monospace;flex-shrink:0}

/* ===== AUTH MODAL ===== */
.modal-overlay{position:fixed;inset:0;background:rgba(20,30,25,.55);z-index:1000;display:none;align-items:flex-start;justify-content:center;padding:60px 16px;overflow-y:auto}
.modal-overlay.show{display:flex}
.modal-overlay.gated{background:rgba(16,24,20,.97)}
.modal-overlay.gated .mx{display:none}
body.sx-locked{overflow:hidden}
/* v23 : visiteur sans compte, compte hors stage */
body.visitor .member-only{display:none!important}
body:not(.visitor) .visitor-only{display:none!important}
body.sans-stage .stage-only{display:none!important}
.hero{background:linear-gradient(135deg,var(--vert) 0%,var(--vert-m) 100%);color:#fff;border-radius:12px;padding:34px 30px;margin-bottom:18px;position:relative;overflow:hidden}
.hero h1{font-size:27px;line-height:1.25;margin:0 0 10px;max-width:760px;letter-spacing:-.01em}
.hero p{font-size:14.5px;line-height:1.55;margin:0 0 18px;max-width:680px;color:rgba(255,255,255,.9)}
.hero-cta{display:flex;gap:10px;flex-wrap:wrap}
.hero .btn-light{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.35)}
.hero .btn-light:hover{background:rgba(255,255,255,.24)}
.hero-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}
.hero-fact{background:var(--blanc);border:1px solid var(--gris-b);border-radius:10px;padding:14px 12px;text-align:center}
.hero-fact b{display:block;font-size:22px;color:var(--d-vt,var(--vert));font-family:ui-monospace,'SF Mono',Menlo,Consolas,monospace}
.hero-fact span{font-size:13px;color:var(--texte-d)}
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.tile{display:block;text-align:left;background:var(--blanc);border:1.5px solid var(--gris-b);border-radius:10px;padding:14px 15px;cursor:pointer;font-family:inherit;transition:border-color .15s,transform .15s}
.tile:hover{border-color:var(--vert-l);transform:translateY(-1px)}
.tile .t-ic{font-size:22px}
.tile h4{margin:6px 0 4px;font-size:14px;color:var(--d-vt,var(--vert))}
.tile p{margin:0;font-size:13.5px;line-height:1.5;color:var(--texte-d)}
.tile .t-go{display:inline-block;margin-top:8px;font-size:13px;font-weight:700;color:var(--d-or2,var(--or))}
.who{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.who-col{border:1px solid var(--gris-b);border-radius:10px;padding:14px 15px;background:var(--d-fond2,#FAFBFE)}
.who-col h4{margin:0 0 8px;font-size:13.5px}
.who-col ul{margin:0;padding-left:18px;font-size:13.5px;line-height:1.6;color:var(--texte-d)}
.fiche-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.fiche-card{display:block;text-align:left;background:var(--blanc);border:1.5px solid var(--gris-b);border-radius:10px;padding:14px 15px;cursor:pointer;font-family:inherit}
.fiche-card:hover{border-color:var(--vert-l)}
.fiche-card h4{margin:0 0 6px;font-size:14px;color:var(--d-vt,var(--vert));line-height:1.35}
.fiche-card p{margin:0;font-size:13.5px;line-height:1.5;color:var(--texte-d)}
.fiche-meta{font-size:12.5px;color:var(--gris-m);margin-top:8px}
.fiche-body{font-size:13.5px;line-height:1.7;max-width:820px}
.fiche-body h4{font-size:15px;color:var(--d-vt,var(--vert));margin:20px 0 6px}
.fiche-body p{margin:0 0 10px}
.fiche-body ul{margin:0 0 10px;padding-left:20px}
.fiche-body li{margin-bottom:4px}
.fiche-cit{border-left:3px solid var(--d-bbd,#8EC5E8);background:var(--d-bleup,#EAF4FA);border-radius:0 8px 8px 0;padding:9px 12px;margin:0 0 12px;font-size:14px}
.voix-barre{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0 16px}
.voix-lu{background:var(--or-pale);outline:4px solid var(--or-pale);border-radius:3px}
.fiche-cit.voix-lu{background:var(--or-pale)}
.fiche-cit q{font-style:italic;quotes:"« " " »"}
.fiche-cit .fc-ref{display:block;font-size:13px;font-weight:700;color:var(--d-bt,#1F5F8B);margin-bottom:3px}
.fiche-cit .btn{margin-top:6px}
.not-modes{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.not-modes .btn[disabled]{opacity:1;cursor:default}
.notion{background:var(--blanc);border:1px solid var(--gris-b);border-radius:10px;padding:12px 15px;margin-bottom:10px}
.notion .n-t,.fc-terme{font-weight:700;color:var(--d-vt,var(--vert))}
.notion .n-t{font-size:14.5px;margin-bottom:5px}
.n-dom{font-size:12px;font-weight:600;color:var(--texte-d);background:var(--d-fond2,#F4EFE2);border-radius:10px;padding:2px 8px;margin-left:6px;vertical-align:middle;white-space:nowrap}
.n-d{font-size:13.5px;line-height:1.6}
.n-d p{margin:0 0 6px}
.n-d ul{margin:0 0 6px;padding-left:20px}
.n-src{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:13px;color:var(--texte-d);margin-top:6px}
.fc-carte{border:2px solid var(--vert-l);border-radius:14px;background:var(--vert-x);padding:34px 22px;text-align:center;cursor:pointer;min-height:150px;display:flex;flex-direction:column;justify-content:center;gap:8px}
.fc-carte.retournee{cursor:default;background:var(--blanc);min-height:0;padding:18px 22px}
.fc-carte:focus-visible{outline:3px solid var(--or);outline-offset:2px}
.fc-terme{font-size:22px;line-height:1.3}
.fc-question{font-size:16px;line-height:1.5;font-weight:600;text-align:left}
.fc-dom{font-size:12.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--texte-d)}
.fc-verso{border:1px solid var(--gris-b);border-radius:12px;padding:14px 16px;margin-top:10px;background:var(--blanc)}
.fiche-ref{background:none;border:none;padding:0;color:var(--d-bt,#1F5F8B);font:inherit;font-weight:600;cursor:pointer;text-decoration:underline dotted}
.prof-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.prof-card{border:1px solid var(--gris-b);border-radius:10px;padding:13px 15px;background:var(--blanc)}
.prof-card h4{margin:0;font-size:14px}
.prof-card .pc-sub{font-size:13.5px;color:var(--texte-d);margin:3px 0 6px}
.prof-card p{font-size:14px;line-height:1.55;margin:6px 0;white-space:pre-line}
.prof-card .pc-row{font-size:13.5px;color:var(--texte-d);display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
/* v81 — photo de profil (ou silhouette), expérience et disponibilité */
.pc-tete{display:flex;gap:12px;align-items:flex-start}
.pc-tete>div{min-width:0;flex:1}
.avatar{width:64px;height:64px;border-radius:50%;flex:none;overflow:hidden;background:var(--vert-pale);border:1px solid var(--gris-b);display:flex;align-items:center;justify-content:center;color:var(--d-vt,var(--vert))}
.avatar img{width:100%;height:100%;object-fit:cover;display:block}
.avatar svg{width:60%;height:60%}
.avatar.grand{width:96px;height:96px}
.pc-exp{font-size:13.5px;color:var(--texte);margin-top:4px;display:flex;gap:6px 14px;flex-wrap:wrap}
.pc-exp b{font-weight:700;color:var(--d-vt,var(--vert))}
.cv-photo{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.cv-photo .hint{flex:1 1 220px}
.cv-file{display:flex;gap:8px;align-items:center;flex-wrap:wrap;background:var(--d-fond2,#FAF7EE);border:1px dashed var(--d-bd,#DAD3C1);border-radius:8px;padding:9px 12px;font-size:14px}
.consent{display:flex;gap:8px;align-items:flex-start;font-size:14px;line-height:1.5;background:var(--d-orp,#FFFBEB);border:1px solid var(--d-orbd,#FDE68A);border-radius:8px;padding:10px 12px;margin:10px 0}
.consent input{margin-top:3px}
.fg label.consent{text-transform:none;letter-spacing:0;font-weight:400;font-size:14px;color:var(--texte)} /* v81 : les choix de portée du profil ne sont plus en capitales */
@media(max-width:780px){.hero{padding:24px 18px}.hero h1{font-size:21px}.hero-facts{grid-template-columns:repeat(2,1fr)}.tiles,.who,.fiche-list,.prof-grid{grid-template-columns:1fr}}
/* v25 : présentation du diplôme et du parcours sur la page d'accueil */

.cur-intro{font-size:13.5px;line-height:1.65;max-width:860px;margin:0 0 4px}
.cur-parc{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:14px 0 8px}
.cur-step{position:relative;border:1.5px solid var(--gris-b);border-radius:10px;padding:14px 14px 12px;background:var(--blanc)}
.cur-step:not(:last-child)::after{content:"›";position:absolute;right:-14px;top:50%;transform:translateY(-50%);font-size:24px;line-height:1;color:var(--d-or2,var(--or));font-weight:700}
.cur-num{display:inline-flex;width:24px;height:24px;border-radius:50%;background:var(--vert);color:#fff;font-size:13.5px;font-weight:700;align-items:center;justify-content:center}
.cur-step h4{font-size:16px;color:var(--d-vt,var(--vert));margin:8px 0 2px}
.cur-nom{font-size:13px;color:var(--texte-d);line-height:1.4;min-height:48px}
.cur-duree{display:inline-block;margin:8px 0 6px;background:var(--or-pale);border:1px solid var(--d-orbd,#E6CF94);color:var(--d-ort,#8A6516);font-weight:700;font-size:13.5px;padding:2px 10px;border-radius:12px}
.cur-step p{font-size:13.5px;line-height:1.5;margin:0 0 8px}
.cur-refs{font-size:13px;color:var(--texte-d)}
.cur-nb{white-space:nowrap}
.sync-ok{color:var(--d-vt,var(--vert-m))!important;font-weight:600}
.sync-ko{color:var(--d-ort,#92400E)!important;font-weight:700}
.cur-total{font-size:14px;color:var(--texte-d);margin:8px 0 14px}
.cur-acc{border:1px solid var(--gris-b);border-radius:10px;margin-top:10px;background:var(--blanc);overflow:hidden}
.cur-acc>summary{cursor:pointer;padding:12px 15px;font-size:13.5px;font-weight:700;color:var(--d-vt,var(--vert));list-style:none;display:flex;justify-content:space-between;align-items:center;gap:10px}
.cur-acc>summary::-webkit-details-marker{display:none}
.cur-acc>summary::after{content:"+";font-size:19px;line-height:1;color:var(--d-or2,var(--or));font-weight:400}
.cur-acc[open]>summary::after{content:"–"}
.cur-acc[open]>summary{border-bottom:1px solid var(--gris-b);background:var(--vert-x)}
.cur-acc>summary:hover{background:var(--vert-x)}
.cur-in{padding:14px 16px 6px;font-size:14.5px;line-height:1.65;max-width:880px}
.cur-in p{margin:0 0 10px}
.cur-in ul{margin:0 0 10px;padding-left:20px}
.cur-in li{margin-bottom:6px}
.cur-ue{width:100%;max-width:520px;border-collapse:collapse;font-size:14px;margin:4px 0 12px}
.cur-ue th,.cur-ue td{border:1px solid var(--gris-b);padding:6px 10px;text-align:left}
.cur-ue th{background:var(--vert-x);color:var(--d-vt,var(--vert));font-size:13px}
.cur-ue td:last-child,.cur-ue th:last-child{text-align:right;width:96px;font-family:var(--mono);white-space:nowrap}
.cur-ep{max-width:640px}
.cur-s{display:none}
.cur-sub{margin:0 0 12px;max-width:760px}
.cur-sub>summary{font-size:14px;padding:9px 13px}
.cur-det{max-width:none}
.cur-det td:nth-child(2),.cur-det th:nth-child(2),.cur-det td:nth-child(3),.cur-det th:nth-child(3){text-align:center;width:74px;white-space:nowrap}
.cur-det td:last-child,.cur-det th:last-child{width:70px}
.cur-ueh td{background:var(--vert-x);color:var(--d-vt,var(--vert));font-weight:700;font-family:inherit!important;text-align:left!important;white-space:normal!important;width:auto!important}
.cur-ep td:nth-child(2),.cur-ep th:nth-child(2){text-align:center;width:90px;white-space:nowrap}
.cur-ue tfoot td{font-weight:700;background:var(--d-fond2,#FAFBFE)}
.cur-note{font-size:13.5px;line-height:1.55;color:var(--texte-d);background:var(--d-fond2,#FAFBFE);border-left:3px solid var(--or);padding:8px 12px;border-radius:0 6px 6px 0}
.cur-mention{font-size:13.5px;line-height:1.6;color:var(--texte-d);margin:16px 0 0;padding-top:12px;border-top:1px solid var(--gris-b);max-width:880px}
/* v136 : fiches de synthèse */
.sy-filtres{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end;margin-bottom:10px}
.sy-filtres .fg{margin:0}
.sy-ue{margin:14px 0 6px;font-size:13px;font-weight:700;color:var(--d-vt,var(--vert));text-transform:uppercase;letter-spacing:.03em}
.sy-l{display:flex;gap:10px;align-items:center;width:100%;text-align:left;border:1px solid var(--gris-b);border-radius:8px;background:var(--blanc);padding:10px 13px;margin-bottom:6px;cursor:pointer;font-family:inherit;font-size:14px;color:var(--texte)}
.sy-l:hover{border-color:var(--vert-l);background:var(--vert-x)}
.sy-l .sy-t{flex:1;min-width:0;font-weight:600}
.sy-l .hint{white-space:nowrap}
.sy-f{max-width:860px}
.sy-f h3{margin:4px 0 6px;font-size:21px;color:var(--d-vt,var(--vert))}
.sy-f .sy-b{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.sy-f .sy-i{font-size:15px;line-height:1.65;border-left:3px solid var(--or);padding:4px 0 4px 12px;margin:0 0 14px}
.sy-f h4{font-size:16px;margin:18px 0 8px;color:var(--d-vt,var(--vert))}
.sy-f p,.sy-f li{font-size:14.5px;line-height:1.65}
.sy-f ul{padding-left:20px;margin:0 0 10px}
.sy-f li{margin-bottom:5px}
.sy-f .sy-ret{background:var(--or-pale);border:1px solid var(--d-orbd,#E6CF94);border-radius:8px;padding:9px 12px;margin:8px 0 12px;font-size:14px;line-height:1.6}
.sy-f .sy-tab{overflow-x:auto;margin:6px 0 12px}
.sy-f table{border-collapse:collapse;font-size:13.5px;min-width:100%}
.sy-f th,.sy-f td{border:1px solid var(--gris-b);padding:6px 9px;text-align:left;vertical-align:top}
.sy-f th{background:var(--vert-x);color:var(--d-vt,var(--vert))}
.sy-f .sy-refs{font-size:13px;color:var(--texte-d);border-top:1px solid var(--gris-b);padding-top:10px;margin-top:16px}
.th-t td{vertical-align:middle;min-width:44px}
.th-t td:first-child{min-width:190px}
.th-t td:last-child,.th-t th:last-child{min-width:70px}
.th-b{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:0;background:var(--vert-l,#7FB89A);color:#fff;font-size:11px;font-weight:700;font-family:inherit;cursor:pointer;padding:0}
.th-b.corr{background:var(--or,#C9A227)}
.th-an{background:none;border:0;font:inherit;font-weight:700;color:inherit;cursor:pointer;text-decoration:underline dotted;padding:0}
/* v135 : programme officiel replié et compact ; notions à maîtriser ; tableau des disponibilités ; spécimens */
.cur-prog{max-width:760px;margin:6px 0 12px}
.cur-prog>summary{font-size:13.5px;padding:9px 13px}
.cur-prog .cur-in{padding:10px 12px 4px}
.cur-prog .cur-ue{font-size:13px;margin:2px 0 8px}
.cur-prog .cur-ue th,.cur-prog .cur-ue td{padding:3px 8px}
.cur-prog .cur-note{font-size:12.5px;padding:6px 10px}
.cur-prog .cur-sub>summary{font-size:13px;padding:7px 11px}
.nt-ban{font-size:13px;line-height:1.55;background:var(--d-fond2,#FAFBFE);border:1px dashed var(--d-orbd,#E6CF94);border-radius:8px;padding:9px 12px;margin:0 0 10px;color:var(--texte-d)}
.nt-ban b{color:var(--d-ort,#8A6516)}
.nt-ue{margin-top:6px;max-width:760px}
.nt-ue>summary{font-size:13.5px;padding:9px 13px}
details.cur-acc.nt-ue>div.cur-in{padding:10px 16px 6px 18px;font-size:13.5px;line-height:1.55}
.nt-ue ul{margin:0 0 8px;padding-left:18px}
.nt-ue li{margin-bottom:4px}
.nt-ue .nt-mod{font-weight:700;color:var(--d-vt,var(--vert))}
.nt-ue .nt-tx{font-size:12.5px;color:var(--texte-d);margin:2px 0 8px}
.dt-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--gris-b);border-radius:8px;max-width:100%}
.dt-t{border-collapse:collapse;font-size:12.5px;min-width:100%}
.dt-t th,.dt-t td{border-bottom:1px solid var(--gris-b);padding:5px 7px;text-align:center;white-space:nowrap}
.dt-t th{background:var(--vert-x);color:var(--d-vt,var(--vert));font-weight:700}
.dt-t td:first-child,.dt-t th:first-child{text-align:left;white-space:normal;min-width:170px;position:sticky;left:0;background:var(--blanc);z-index:1}
.dt-t th:first-child{background:var(--vert-x)}
.dt-t tfoot td{font-weight:700;background:var(--d-fond2,#FAFBFE)}
.dt-c{display:inline-block;min-width:30px;border-radius:5px;padding:1px 5px;font-weight:700;font-size:11.5px}
.dt-sc{background:#DCEFE3;color:#1B5E3A}
.dt-s{background:#FBEFD5;color:#8A6516}
.dt-n{color:#9A9A92;font-weight:400}
.dt-leg{display:flex;gap:12px;flex-wrap:wrap;font-size:12.5px;color:var(--texte-d);margin:8px 0}
.dt-res{font-size:13px;line-height:1.55;margin:8px 0 0}
.spec{margin:0 0 14px}
.spec>summary{font-size:13.5px}
.spec .cur-in{max-width:none}
.spec-ban{font-size:12.5px;color:var(--texte-d);margin:0 0 10px}
.spec-b{display:inline-block;background:var(--or-pale);border:1px solid var(--d-orbd,#E6CF94);color:var(--d-ort,#8A6516);font-size:11px;font-weight:700;border-radius:4px;padding:1px 6px;margin-left:6px;vertical-align:middle}
.spec-cv{border:1px solid var(--gris-b);border-radius:10px;padding:14px 16px;background:var(--blanc);margin-top:12px;font-size:13.5px;line-height:1.55}
.spec-cv h4{margin:0 0 2px;font-size:15px}
.spec-cv h5{margin:10px 0 4px;font-size:12.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--d-vt,var(--vert))}
.spec-cv ul{margin:0;padding-left:18px}
@media(max-width:600px){.dt-t td:first-child,.dt-t th:first-child{min-width:120px}}
@media(max-width:980px){.cur-parc{grid-template-columns:repeat(2,1fr)}.cur-step:nth-child(2)::after{display:none}.cur-nom{min-height:32px}}
@media(max-width:560px){.cur-l{display:none}.cur-s{display:inline}.cur-ue th,.cur-ue td{padding:6px 7px}.cur-ep td:nth-child(2),.cur-ep th:nth-child(2){width:58px}.cur-ep td:last-child,.cur-ep th:last-child{width:60px}.cur-det td:nth-child(2),.cur-det th:nth-child(2),.cur-det td:nth-child(3),.cur-det th:nth-child(3){width:44px}.cur-det td:last-child,.cur-det th:last-child{width:40px}.cur-sub .cur-in{padding:10px 8px 4px}.cur-parc{grid-template-columns:1fr;gap:10px}.cur-step::after{display:none!important}.cur-nom{min-height:0}}
.adm-badge{background:#B7881C;color:#fff;font-size:11.5px;font-weight:700;padding:2px 7px;border-radius:10px;margin-right:6px;white-space:nowrap}
.admin-flag{display:inline-block;background:var(--d-orp,#FBF3DD);color:var(--d-ort,#8A6516);border:1px solid var(--d-orbd,#E6CF94);font-size:12.5px;font-weight:700;padding:2px 8px;border-radius:10px;margin-left:8px;vertical-align:middle}
.modal{background:var(--blanc);border-radius:12px;max-width:420px;width:100%;box-shadow:0 20px 60px rgba(0,0,0,.3);overflow:hidden}
.modal-head{background:var(--vert);color:#fff;padding:16px 20px;display:flex;align-items:center;justify-content:space-between}
.modal-head h3{font-size:14px;font-weight:700}
.modal-head .mx{background:none;border:none;color:#fff;font-size:20px;cursor:pointer;opacity:.8;line-height:1}
.modal-tabs{display:flex;border-bottom:1px solid var(--gris-b)}
.modal-tab{flex:1;text-align:center;padding:11px;font-size:13.5px;font-weight:600;color:var(--texte-d);cursor:pointer;border-bottom:2px solid transparent}
.modal-tab.active{color:var(--d-vt,var(--vert));border-bottom-color:var(--vert)}
.modal-body{padding:20px}
.modal-body .fg{margin-bottom:13px}
.auth-msg{font-size:13.5px;padding:9px 12px;border-radius:6px;margin-bottom:13px;line-height:1.5;display:none}
.auth-msg.show{display:block}
.auth-msg.err{background:var(--rouge-pale);color:var(--d-rt,var(--rouge));border:1px solid var(--d-rbd,#f5c6cb)}
.auth-msg.ok{background:var(--vert-x);color:var(--d-vt,var(--vert-m));border:1px solid var(--vert-pale)}
.auth-link{background:none;border:none;color:var(--d-vt,var(--vert-l));cursor:pointer;font-size:13px;text-decoration:underline;padding:0;font-family:var(--sans)}
.auth-foot{margin-top:13px;font-size:13px;color:var(--texte-d);text-align:center}

/* modal head — bandeau de marque (comme la pièce jointe) */
.modal-head.brand{flex-direction:column;align-items:flex-start;gap:8px;padding:18px 20px 16px;background:linear-gradient(135deg,var(--vert) 0%,var(--vert-m) 100%)}
.modal-head.brand .mh-top{display:flex;align-items:center;gap:11px;width:100%}
.modal-head.brand .mh-logo{width:48px;height:38px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#fff;font-family:var(--mono);letter-spacing:.5px;flex-shrink:0}
.modal-head.brand h3{font-size:16px;font-weight:800;letter-spacing:.4px}
.modal-head.brand .mh-sub{font-size:12.5px;line-height:1.5;opacity:.82;font-weight:400}
.modal-head.brand .mx{position:absolute;top:14px;right:16px}
.modal{position:relative}

/* sélecteur de rôle au moment de la création de compte */
.role-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.role-card{border:1.5px solid var(--gris-b);border-radius:9px;padding:13px 12px;cursor:pointer;text-align:center;transition:.15s;background:var(--blanc);user-select:none}
.role-card:hover{border-color:var(--vert-l)}
.role-card.active{border-color:var(--vert-l);background:var(--vert-x);box-shadow:0 0 0 3px rgba(64,145,108,.12)}
.role-card .rc-ic{font-size:22px;line-height:1;margin-bottom:6px}
.role-card .rc-t{font-size:14.5px;font-weight:700;color:var(--texte);margin-bottom:4px}
.role-card .rc-d{font-size:12px;color:var(--texte-d);line-height:1.4;margin-bottom:7px;min-height:30px}
.role-card .rc-price{font-size:13.5px;font-weight:800;color:var(--d-vt,var(--vert));font-family:var(--mono)}
.role-card .rc-price.free{color:var(--d-vt,var(--vert-l))}
.pay-note{font-size:13px;line-height:1.55;background:var(--or-pale);border:1px solid var(--d-orbd,#FAE3A0);color:var(--d-ort,#7A5A0A);padding:9px 12px;border-radius:7px;margin-bottom:13px;display:none}
.pay-note.show{display:block}
#auth-overlay .modal{max-width:540px}
@media(max-width:520px){#auth-role-fg .role-cards{grid-template-columns:1fr!important}#auth-role-fg .role-card{display:grid;grid-template-columns:1fr auto;column-gap:8px;align-items:center;text-align:left;padding:9px 11px}#auth-role-fg .rc-t{margin:0}#auth-role-fg .rc-d{grid-column:1;min-height:0;margin:0}#auth-role-fg .rc-price{grid-row:1/3;grid-column:2}}

.ai-only{display:none!important}

/* ---- Préparation DECOFI & Nouveautés (01/10/2026) ---- */
.prep-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.dsc-an{margin:0 0 18px}
.dsc-an h4{font-size:14.5px;color:var(--d-vt,var(--vert));margin:0 0 6px;display:flex;gap:10px;align-items:baseline}
.dsc-ls{border:1px solid var(--gris-b);border-radius:8px;overflow:hidden}
.dsc-l{display:flex;gap:10px;align-items:center;padding:8px 12px;border-top:1px solid var(--gris-b);background:var(--blanc)}
.dsc-l:first-child{border-top:0}
.dsc-l .dsc-t{flex:1;min-width:0;font-size:13.5px}
.dsc-l .badge{flex:none;min-width:44px;text-align:center}
.dsc-l .hint{flex:none;white-space:nowrap}
.dsc-manq{margin-top:6px}
@media(max-width:600px){.dsc-l{flex-wrap:wrap}.dsc-l .dsc-t{flex:1 1 60%}.dsc-l .btn{margin-left:auto}}
.prep-tab{border:1px solid var(--gris-b);background:var(--blanc);color:var(--texte);padding:8px 14px;border-radius:20px;font-size:14.5px;cursor:pointer;font-family:inherit}
.prep-tab.active{background:var(--vert);border-color:var(--d-vt,var(--vert));color:#fff}
.qz-q{font-size:15px;font-weight:600;margin:6px 0 12px;line-height:1.5}
.qz-choices{display:flex;flex-direction:column;gap:8px}
.qz-choice{text-align:left;border:1.5px solid var(--gris-b);background:var(--blanc);border-radius:8px;padding:10px 12px;font-size:13.5px;cursor:pointer;font-family:inherit;color:var(--texte)}
.qz-choice:hover:not([disabled]){border-color:var(--vert-l)}
.qz-choice.sel{border-color:var(--d-vt,var(--vert));background:var(--vert-x)}
.qz-choice.good{border-color:var(--vert-l);background:var(--vert-pale);font-weight:600}
.qz-choice.bad{border-color:var(--rouge);background:var(--rouge-pale)}
.qz-choice[disabled]{cursor:default}
.qz-ref,.qz-own{margin-top:12px;padding:10px 12px;border-radius:8px;background:var(--vert-x);border-left:3px solid var(--vert-l);font-size:13.5px;line-height:1.55}
.qz-own{background:var(--d-fond2,#fafafa);border-left-color:var(--gris-m)}
.qz-expl{margin-top:10px;font-size:14.5px;line-height:1.5;border-left:3px solid var(--or-l);padding:6px 12px;background:var(--vert-x);border-radius:0 8px 8px 0}
.qz-expl-t,.qz-src-t{font-size:11.5px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--texte-d);margin:0 0 4px}
.qz-src-t{margin-top:12px}
.qz-tag{display:block;font-size:11.5px;font-weight:600;margin-top:4px;color:var(--texte-d)}
.qz-choice.good .qz-tag{color:var(--vert)}.qz-choice.bad .qz-tag{color:var(--rouge)}
.qz-prog{height:6px;background:var(--gris-b);border-radius:3px;margin:0 0 12px;overflow:hidden}
.qz-prog i{display:block;height:100%;background:var(--or-l);border-radius:3px;transition:width .3s}
.qz-src{margin-top:12px;padding:10px 12px;border:1px solid var(--d-bbd,#B9DCEF);background:var(--bleu-pale);border-radius:8px;font-size:14.5px;line-height:1.5}
.qz-src-h{font-weight:700;color:var(--d-bt,var(--bleu));margin-bottom:4px}
.qz-src blockquote{margin:6px 0;padding-left:10px;border-left:3px solid var(--d-bbd,#8EC5E8);font-style:italic}
.qz-src a{color:var(--d-bt,var(--bleu));font-weight:600}
.qz-src-ref{margin-bottom:2px}
.qz-src-plan{font-size:13px;color:var(--texte-d);margin:2px 0 6px;line-height:1.4}
.qz-src mark,.qz-art mark{background:#FEF08A;color:inherit;padding:0 1px;border-radius:2px}
.qz-art{margin-top:8px;padding:10px 12px;background:var(--blanc);border:1px solid var(--d-bbd,#B9DCEF);border-radius:8px;max-height:420px;overflow:auto;font-size:14.5px;line-height:1.55}
.qz-art p{margin:0 0 6px}
.qz-art-h{font-weight:700;font-size:13.5px;color:var(--d-bt,var(--bleu));margin-bottom:2px}
.qz-art-n{font-weight:700;margin:6px 0}
.qz-art-sub{font-size:14px;font-weight:700;color:var(--d-vt,var(--vert));margin:10px 0 4px;text-transform:none;letter-spacing:0}
.qz-art-cut{color:var(--gris-m);text-align:center;margin:2px 0}
.qz-art-tab{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px;line-height:1.5;white-space:pre;overflow-x:auto;background:var(--d-fond2,#FAF7EE);border-left:3px solid var(--d-bd,#DAD3C1);padding:4px 8px;margin:6px 0}
.qz-art-tab+p,.qz-art-tab+h5{margin-top:8px}
.rt-tabw{overflow-x:auto;margin:8px 0;max-width:100%}
.rt-tab{border-collapse:collapse;font-size:14px;line-height:1.4;background:var(--blanc);color:var(--d-tx,#1A1A18)}
.rt-tab th,.rt-tab td{border:1px solid var(--d-bd,#DAD3C1);padding:4px 8px;text-align:left;vertical-align:top}
.rt-tab th{background:var(--d-fond2,#F0FBF2);font-weight:700;white-space:nowrap}
.rt-tab td.n{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.qz-art-note{font-size:13px;color:var(--gris-m);background:var(--d-orp,#FFFBEB);border:1px solid var(--d-orbd,#FDE68A);border-radius:6px;padding:5px 8px;margin:4px 0 8px}
.bib-res{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.bib-res button{text-align:left;border:1px solid var(--gris-b);background:var(--blanc);border-radius:6px;padding:7px 10px;font-size:14px;cursor:pointer;font-family:inherit;color:var(--texte)}
.bib-res button:hover{border-color:var(--vert-l)}
.bib-res small{color:var(--texte-d)}
.qz-src-doc{display:inline-block;margin-top:6px;font-size:13.5px}
.qz-src .btn{margin-top:4px}
.qz-src-note{font-size:12.5px;color:var(--gris-m);margin-top:4px}
.res-list{display:flex;flex-direction:column;gap:10px}
.res-item{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding-bottom:10px;border-bottom:1px solid var(--gris-b)}
.res-item:last-child{border-bottom:none;padding-bottom:0}
.res-item a{color:var(--d-vt,var(--vert));text-decoration:none}.res-item a:hover{text-decoration:underline}
.nouv-list{display:flex;flex-direction:column;gap:6px}
.nouv-item{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:6px 8px;border-radius:6px}
.nouv-item.unread{background:var(--or-pale)}
.nouv-t{flex:1;min-width:160px;font-size:14.5px}
.nouv-bell .ico{display:block}
.nouv-bell{position:relative;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);color:#fff;border-radius:20px;padding:4px 10px;cursor:pointer;font-size:14.5px;margin-right:6px}
.nouv-bell .nb{position:absolute;top:-6px;right:-6px;background:var(--rouge);color:#fff;border-radius:10px;font-size:11.5px;padding:1px 5px;font-weight:700}
.pg-nav{display:flex;gap:10px;align-items:center;justify-content:center;margin-top:10px;font-size:14.5px}
.qz-selbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:8px 10px;margin-bottom:10px;background:var(--vert-x);border:1px solid var(--vert-pale);border-radius:8px;font-size:14.5px}
.reg-tbl td,.reg-tbl th{font-size:13.5px;white-space:nowrap}.reg-tbl td.reg-miss,.reg-miss-demo{background:var(--d-orp,#FEF3C7)}
/* ---- Navigation regroupée (01/10/2026) : 6 onglets principaux + sous-onglets ---- */
.nav-group{display:flex;align-items:center;gap:7px;padding:0 16px;height:44px;font-size:13.5px;font-weight:500;color:rgba(255,255,255,.6);cursor:pointer;border-bottom:3px solid transparent;transition:.15s;white-space:nowrap;user-select:none;flex-shrink:0}
.nav-group:hover{color:rgba(255,255,255,.9)}
button.nav-tab,button.nav-group{background:none;border-top:0;border-left:0;border-right:0;font-family:inherit;text-align:left;margin:0}
a.nav-tab{text-decoration:none}a.nav-tab:hover{text-decoration:none}
.nav-group.active{color:#fff;border-bottom-color:var(--or)}
.nav-group .ic{font-size:15px}
.sub-nav{display:flex;gap:2px;background:var(--vert-x);padding:0 14px;overflow-x:auto;border-bottom:1px solid var(--vert-pale)}
.sub-nav .nav-tab{height:38px;color:var(--texte-d);font-size:14px;padding:0 14px}
.sub-nav .nav-tab:hover{color:var(--d-vt,var(--vert))}
.sub-nav .nav-tab.active{color:var(--d-vt,var(--vert));font-weight:600;border-bottom-color:var(--or)}
.sub-nav .lock-badge{background:rgba(0,0,0,.08)!important;color:var(--texte-d)}
.nav-store{display:none}
/* ===== v42 — barre unique, accueil et pages par diplôme (maquette validée le 7 octobre 2026) ===== */
.app-bar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:20px}
.app-bar-top{display:contents}
.app-logo{grid-column:1;grid-row:1;padding:10px 0 10px max(20px,calc((100vw - 1280px)/2))}
.app-title{font-size:17px;letter-spacing:.4px;line-height:1.15}
/* v83 — périmètre de la marque sous le logo ; v91 : toujours visible (demande de l'admin), c'est l'adresse du compte qui cède la place */
.app-sub{font-size:11.5px;color:var(--texte-d);opacity:1;margin-top:2px;white-space:nowrap}
@media(max-width:1400px){.app-sub{font-size:10.5px;white-space:normal;max-width:140px;line-height:1.2}}
.logo-mark{width:44px;height:36px}
.nav-tabs{grid-column:2;grid-row:1;background:none;padding:0;min-width:0}
.app-actions{grid-column:3;grid-row:1;padding-right:max(20px,calc((100vw - 1280px)/2))}
.sub-nav{grid-column:1/-1;grid-row:2;padding:0 max(14px,calc((100vw - 1196px)/2))}
.nav-group{height:58px;font-size:14px;padding:0 13px;color:rgba(255,255,255,.84)}
.nav-group.active{font-weight:600}
.sub-nav .nav-tab{font-size:13.5px;height:42px}
.auth-btn{font-size:13.5px;padding:9px 15px}
#auth-area>.auth-btn:first-child{background:none;border-color:rgba(255,255,255,.5)}
#auth-area>.auth-btn:first-child:hover{background:rgba(255,255,255,.12);filter:none}
.auth-status{font-size:14px}
.auth-status .lk{font-size:14px}
.nav-burger{display:none;width:44px;height:44px;align-items:center;justify-content:center;background:none;border:1px solid rgba(255,255,255,.4);border-radius:6px;color:#fff;cursor:pointer}
@media(max-width:1080px){
  .app-bar{grid-template-columns:minmax(0,1fr) auto auto;column-gap:10px}
  .app-logo{padding-left:14px}
  .app-actions{grid-column:2;padding-right:0;flex-wrap:nowrap;flex:none}
  .nav-burger{display:flex;grid-column:3;grid-row:1;margin-right:14px}
  .nav-tabs{grid-column:1/-1;grid-row:2;display:none;flex-direction:column;align-items:stretch;background:rgba(0,0,0,.17);padding:6px 0;overflow:visible}
  .app-bar.menu-ouvert .nav-tabs{display:flex}
  .nav-group{height:48px;padding:0 20px;border-bottom:0;border-left:3px solid transparent;font-size:15px}
  .nav-group.active{border-left-color:var(--or);border-bottom-color:transparent}
  .sub-nav{grid-row:3;padding:0 8px}
  .auth-status .who-mail{display:none}
}
@media(max-width:560px){#auth-area>.auth-btn+.auth-btn{display:none}.app-title{font-size:16px}}

/* ===== v81 — en-tête blanc et menus déroulants (maquette modèle A, validée le 16/10/2026) ===== */
.app-bar{background:var(--blanc);color:var(--texte);box-shadow:0 1px 0 var(--gris-b),0 4px 14px rgba(0,0,0,.05)}
.app-title{color:var(--d-vt,var(--vert));font-weight:800}
.nav-tabs{scrollbar-width:none}.nav-tabs::-webkit-scrollbar{display:none}
.nav-item-wrap{position:relative;display:flex;align-items:center}
.nav-group{color:var(--texte-d);font-weight:600;border-bottom:0;border-radius:8px;height:40px;margin:9px 1px;padding:0 10px;gap:4px;font-size:13.5px}
.nav-group:hover{color:var(--d-vt,var(--vert));background:var(--gris)}
.nav-group.active{color:var(--d-vt,var(--vert));background:var(--vert-x);border-bottom:0;font-weight:700}
.nav-group .chev{width:13px;height:13px;flex:none;transition:transform .15s}
.nav-group[aria-expanded="true"] .chev{transform:rotate(180deg)}
.nav-dd{position:fixed;min-width:300px;max-width:380px;background:var(--blanc);border:1px solid var(--gris-b);border-radius:14px;box-shadow:0 18px 40px rgba(27,67,50,.16);padding:8px;z-index:120;display:none}
.nav-dd.open{display:block}
.nav-dd [role="menuitem"]{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;padding:10px 12px;border:0;border-radius:10px;background:none;font-family:var(--sans);cursor:pointer;color:var(--texte);text-decoration:none}
.nav-dd [role="menuitem"]:hover,.nav-dd [role="menuitem"]:focus-visible{background:var(--gris);outline:none}
.nav-dd [role="menuitem"].active{background:var(--vert-x)}
.nav-dd .t{font-size:14.5px;font-weight:700;color:var(--d-vt,var(--vert));display:flex;align-items:center;gap:8px}
.nav-dd .d{font-size:12.5px;color:var(--texte-d);line-height:1.4}
.nav-dd [role="menuitem"].locked{opacity:.55;cursor:not-allowed;pointer-events:none}
.nav-dd .lock-badge{font-size:10.5px;background:var(--gris);color:var(--texte-d);padding:1px 6px;border-radius:8px}
.auth-btn{border-color:var(--gris-b)}
#auth-area>.auth-btn:first-child{color:var(--d-vt,var(--vert));border:1.5px solid var(--vert);background:none}
#auth-area>.auth-btn:first-child:hover{background:var(--vert-x);filter:none}
.auth-status{color:var(--texte)}
.auth-status .lk{color:var(--d-vt,var(--vert));opacity:1}
.nouv-bell{background:var(--gris);border-color:var(--gris-b);color:var(--d-vt,var(--vert))}
.adm-badge{background:var(--or-pale);color:var(--d-ort,#7A5A0E)}
.nav-burger{border-color:var(--gris-b);color:var(--d-vt,var(--vert))}
@media(max-width:1280px){.nav-group{padding:0 7px;font-size:13px;gap:3px}.nav-group .chev{width:11px;height:11px}.auth-btn{padding:8px 11px;font-size:13px}}
@media(max-width:1080px){
  .nav-tabs{background:var(--gris);border-top:1px solid var(--gris-b);padding:6px 0 8px}
  .nav-item-wrap{flex-direction:column;align-items:stretch}
  .nav-group{margin:2px 8px;height:44px;border-left:0;padding:0 14px;font-size:15px}
  .nav-group.active{border-left:0}
  .nav-dd{position:static;box-shadow:none;border:0;background:none;max-width:none;padding:0 8px 6px 22px}
}

/* v81 — accueil : titre et actions à gauche, parcours à droite */
.ac-hero{padding-top:36px;padding-bottom:36px;gap:28px 48px}
@media(max-width:700px){.ac-hero{padding-top:20px}}
/* v82 — le parcours dessiné dans la page : sobre, aux couleurs du thème, lisible en mode sombre */
.ac-illus{flex:1 1 380px;max-width:540px;margin:0}
.pc-svg{display:block;width:100%;height:auto;font-family:var(--sans)}
.pc-fond{fill:var(--vert);stroke:var(--vert);stroke-width:3;opacity:.1}
.pc-sol{stroke:var(--d-bd,#DEE5F1);stroke-width:1.5}
.pc-route{fill:none;stroke:var(--vert);stroke-width:9;stroke-linecap:round;opacity:.16}
.pc-bande{fill:none;stroke:var(--vert);stroke-width:2;stroke-linecap:round;stroke-dasharray:9 11;opacity:.55}
.pc-pt{fill:var(--d-bd,#9AA39C)}
.pc-depart text{font-size:12.5px;fill:var(--d-txd,#3F4A45);text-anchor:middle}
.pc-num{fill:var(--vert);stroke:var(--blanc);stroke-width:3}
.pc-num.pc-fin{fill:var(--or)}
.pc-n{font-size:14px;font-weight:800;fill:#fff;text-anchor:middle}
.pc-l{font-size:14.5px;font-weight:800;fill:var(--d-vt,var(--vert));letter-spacing:.4px;text-anchor:middle}
.pc-s{font-size:12px;fill:var(--d-txd,#3F4A45);text-anchor:middle}
.pc-drapeau{fill:none;stroke:var(--or);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.pc-but text{font-size:12.5px;font-weight:700;fill:var(--d-ort,#7A5A0E);text-anchor:middle}
html[data-affichage="sombre"] .pc-num{fill:var(--vert-l);stroke:var(--gris)}
html[data-affichage="sombre"] .pc-route{opacity:.26}
html[data-affichage="sombre"] .pc-bande{opacity:.7}
@media(max-width:700px){.ac-illus{max-width:none;order:3}.ac-chiffres{order:4}.pc-l{font-size:17px}.pc-s,.pc-depart text{font-size:14px}.pc-n{font-size:16px}.pc-but text{font-size:15px}}

/* ===== v43 — MODE SOMBRE ===== */
:root{--th-pale:#D8F3DC;--th-x:#F0FBF2}
@media screen{
html[data-affichage="sombre"]{color-scheme:dark;
  --gris:#0B1220;--blanc:#141C2C;--gris-b:#28344A;--gris-m:#8794AA;--texte:#E6EBF3;--texte-d:#AAB6C8;
  --vert-pale:color-mix(in srgb,var(--vert-l) 26%,#141C2C)!important;--vert-x:color-mix(in srgb,var(--vert-l) 12%,#141C2C)!important;
  --or-pale:#2A2415;--rouge-pale:#2E1B1B;--bleu-pale:#15262F;
  --d-fond2:#1A2335;--d-fond3:#212C40;--d-orp:#2E2716;--d-bleup:#15233D;--d-rougep:#2E1B1B;
  --d-tx:#E6EBF3;--d-txd:#AAB6C8;--d-ort:#E3B84E;--d-vt:color-mix(in srgb,var(--vert-l) 50%,#fff);--d-rt:#F2A0A0;--d-bt:#8EC5E8;
  --d-bd:#334058;--d-orbd:#5C4A1E;--d-or2:#E3B84E;--d-bbd:#2E5266;--d-rbd:#6A2D2D;
  --shadow:0 1px 3px rgba(0,0,0,.4);--shadow-m:0 4px 14px rgba(0,0,0,.45)}
/* documents (rapport, sujets numérisés) : restent sur fond blanc, comme sur papier */
html[data-affichage="sombre"] .paper,html[data-affichage="sombre"] .suj-page,html[data-affichage="sombre"] .clair-force{color-scheme:light;color:#1A1A18;
  --gris:#F4F4F0;--blanc:#FFFFFF;--gris-b:#E5E5DF;--gris-m:#9CA3A0;--texte:#1A1A18;--texte-d:#4A4F45;
  --vert-pale:var(--th-pale)!important;--vert-x:var(--th-x)!important;--or-pale:#FEF9EE;--rouge-pale:#FEF2F2;--bleu-pale:#EAF4FA;
  --d-fond2:initial;--d-fond3:initial;--d-orp:initial;--d-bleup:initial;--d-rougep:initial;--d-tx:initial;--d-txd:initial;--d-ort:initial;
  --d-vt:initial;--d-rt:initial;--d-or2:initial;--d-bt:initial;--d-bd:initial;--d-orbd:initial;--d-bbd:initial;--d-rbd:initial;
  --shadow:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.05);--shadow-m:0 4px 14px rgba(0,0,0,.09)}
html[data-affichage="sombre"] img:not(.suj-page img){opacity:.92}
}
.mode-picker{display:flex;align-items:center;gap:6px}
.mode-picker label{font-size:11.5px;color:rgba(255,255,255,.6);text-transform:uppercase;letter-spacing:.5px}

/* ===== v43 — ILLUSTRATIONS (couleurs du thème) ===== */
.il{display:block;width:100%;height:100%}
.il .a{fill:var(--vert)}.il .m{fill:var(--vert-m)}.il .l{fill:var(--vert-l)}.il .o{fill:var(--or-l)}.il .c{fill:#FBF7EC}.il .w{fill:#fff}
.il .t{fill:#C9C6B8}.il .op{fill:#F6E7B8}
.il .sa{stroke:var(--vert);fill:none}.il .so{stroke:var(--or-l);fill:none}.il .sc{stroke:#FBF7EC;fill:none}.il .st{stroke:#C9C6B8;fill:none}.il .sd{stroke:#8F6A12;fill:none}
.il text{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,sans-serif;font-weight:700}
.il .tc{fill:#FBF7EC}.il .to{fill:#E9C55A}.il .tv{fill:var(--vert)}.il .td{fill:#7A5A0E}.il .tg{fill:#3F4A45}

/* ===== v50 — en-tête des pages par diplôme (frise, chiffres clés, deux actions) ===== */
.dp-tete .dp-fil,.dp-tete .dp-bref{display:none}
.dp-tete{padding-top:24px}
/* v91 — en-tête compact : barre d'étapes, titre, accroche, chiffres, actions, fiche dépliable */
.dp-seg{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:26px}
.dp-etp{background:none;border:0;padding:0;font-family:inherit;text-align:left;cursor:pointer;color:var(--texte-d);font-size:12.5px;display:block;min-width:0}
.dp-etp i{display:block;height:7px;border-radius:4px;background:var(--d-bd,#E4DCC8);margin-bottom:8px}
.dp-etp.done i{background:var(--d-vt,var(--vert-m))}.dp-etp.cur i{background:var(--or-l)}
.dp-etp.cur{color:var(--d-vt,var(--vert));font-weight:700}
.dp-etp:hover span{text-decoration:underline}
.dp-etp>span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dp-hero{display:flex;flex-wrap:wrap;gap:18px 40px;align-items:flex-start;justify-content:space-between}
.dp-hero-t{flex:1 1 440px;min-width:0}
.dp-hero-a{display:flex;flex-direction:column;align-items:flex-end;gap:10px;flex:0 1 auto}
.dp-btns{display:flex;gap:10px;flex-wrap:wrap}
.dp-btns .ac-btn{padding:11px 20px;font-size:15px}
.dp-src-lien{background:none;border:0;padding:0;font-family:inherit;font-size:13.5px;color:var(--d-vt,var(--vert));text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.dp-chiffres{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;font-size:14.5px;color:var(--texte-d)}
.dp-chiffres b{color:var(--d-vt,var(--vert))}
.dp-chiffres i{font-style:normal;opacity:.6}
.dp-nonoff{font-style:normal;font-size:12px;background:var(--vert-x);color:var(--d-vt,var(--vert-m));border-radius:999px;padding:2px 8px;margin-left:2px}
.dp-fiche[hidden]{display:none}
.dp-fiche{margin-top:16px;background:var(--blanc);border:1px solid var(--d-bd,#DEE5F1);border-radius:12px;padding:12px 18px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px 30px;font-size:14px}
.dp-fiche>div.large,.dp-fiche>.qz-art{grid-column:1/-1}
.dp-fiche>div>span:first-child{display:block;color:var(--texte-d);font-size:11.5px;text-transform:uppercase;letter-spacing:.8px;margin-bottom:2px}
.dp-fiche>div>span:last-child{font-weight:600;line-height:1.45}
.dp-fiche>div.large>span:last-child{font-weight:400}
@media(max-width:900px){.dp-fiche{grid-template-columns:1fr 1fr}.dp-hero-a{align-items:flex-start}}
@media(max-width:640px){.dp-seg{gap:4px}.dp-etp-l{display:none}.dp-etp.cur .dp-etp-l{display:inline}.dp-fiche{grid-template-columns:1fr}.dp-btns{width:100%}.dp-btns .ac-btn{flex:1 1 0;text-align:center;padding:10px 12px;font-size:14px}}
.dp-actions{display:flex;flex-wrap:wrap;gap:18px}
.dp-act{flex:1 1 400px;display:flex;align-items:center;gap:18px;border:1px solid var(--d-bd,#DEE5F1);border-radius:14px;padding:16px 20px;background:var(--blanc)}
.dp-act.p{background:var(--d-orp,#FBF7EC);border-color:var(--d-orbd,#E8DFC6)}
.dp-act .ic{flex:0 0 120px;height:80px;border-radius:10px;background:var(--vert);overflow:hidden}
.dp-act .ic .il{width:100%;height:100%}
.dp-act .tx{flex:1;min-width:0}
.dp-act b{display:block;font-size:17.5px;line-height:1.3;color:var(--d-vt,var(--vert));margin-bottom:3px}
.dp-act span{display:block;font-size:14px;color:var(--texte-d);line-height:1.45}
.dp-act .ac-btn{margin-top:12px;padding:10px 18px;font-size:15px}
.dp-act{align-items:flex-start}
@media(max-width:760px){
  .dp-act .ic{flex-basis:84px;height:60px}.dp-act .ac-btn{width:100%}
}
/* ===== v49 — bandeaux illustrés des pages internes ===== */
.welcome.welcome-aff{display:flex;align-items:center;gap:24px;min-height:150px;padding-top:16px;padding-bottom:16px}
.welcome-tx{flex:1;min-width:0}
.welcome-il{flex:0 0 250px;height:150px;margin:-8px -8px -8px 0}
@media(max-width:760px){.welcome-il{display:none}.welcome.welcome-aff{min-height:0}}
@media(max-width:760px){.dp-bref>div{flex:1 1 140px!important;padding:14px 16px!important}.aff-il{height:150px!important}.dp-tete h1{font-size:32px}}
/* ===== v48 — rubriques des pages par diplôme dans la sous-barre ===== */
.dp-tete .dp-ancres{display:none}
.sub-ancres{display:flex;align-items:stretch;flex-shrink:0}
.sub-sep{width:1px;background:var(--gris-b);margin:10px 8px;flex-shrink:0}
.sub-anc{background:none;border:0;border-bottom:3px solid transparent;font-family:inherit;font-size:13.5px;color:var(--texte-d);padding:0 12px;white-space:nowrap;cursor:pointer}
.sub-anc:hover{color:var(--d-vt,var(--vert))}
.sub-anc.active{color:var(--d-vt,var(--vert));border-bottom-color:var(--vert-l)}
.dp-bloc,.dp [id^="cur-"],.dp [id^="dp-"]{scroll-margin-top:118px}
.dp-tete{padding-bottom:28px}
/* ===== v45 — lien vers le PDF officiel d'un texte ===== */
.qz-art-pdf{display:inline-block;font-size:12.5px;font-weight:600;color:var(--d-vt,var(--vert));margin:2px 0 6px;text-decoration:underline}
/* ===== v43 — SÉRIES RAPIDES EN CARTES ===== */
.sr-gr{font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--texte-d);margin:4px 0 8px}
.sr-grid+.sr-gr{margin-top:16px}
.sr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.sr-tile{text-align:left;font-family:inherit;background:var(--blanc);color:var(--texte);border:1px solid var(--gris-b);border-left:4px solid var(--vert-m);border-radius:10px;padding:14px 16px;cursor:pointer;display:flex;flex-direction:column;gap:7px;transition:border-color .15s,box-shadow .15s}
.sr-tile:hover{border-color:var(--vert-l);box-shadow:var(--shadow-m)}
.sr-t{font-size:15px;font-weight:700;color:var(--d-vt,var(--vert));line-height:1.3}
.sr-d{font-size:14px;color:var(--texte-d);line-height:1.45;flex-grow:1}
.sr-bar{display:block;height:6px;background:var(--gris-b);border-radius:3px;overflow:hidden}
.sr-bar i{display:block;height:100%;background:var(--vert-l);border-radius:3px}
.sr-n{display:flex;justify-content:space-between;gap:8px;font-size:13.5px;color:var(--texte-d)}
.sr-err{color:var(--d-ort,#92400E);font-weight:600}
.sr-go{font-size:14.5px;font-weight:700;color:var(--d-vt,var(--vert));text-decoration:underline}
/* ===== v43 — AFFICHES ===== */
.aff-zone{padding-top:8px;padding-bottom:44px}
.aff{display:flex;align-items:stretch;border-radius:16px;overflow:hidden;min-height:300px;background:var(--vert);color:#fff}
.aff.profond{background:linear-gradient(rgba(0,0,0,.24),rgba(0,0,0,.24)),var(--vert)}
.aff.creme{background:var(--d-orp,#FBF7EC);border:1px solid var(--d-orbd,#E8DFC6);color:var(--texte)}
.aff-t{flex:1 1 0;min-width:0;padding:40px 44px;display:flex;flex-direction:column;justify-content:center;gap:12px}
.aff-sur{font-size:14.5px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:#E9C55A}
.aff.creme .aff-sur{color:var(--d-ort,#7A5A0E)}
.aff h2{margin:0;font-size:34px;line-height:1.15;letter-spacing:-.3px;color:#fff}
.aff.creme h2{color:var(--d-vt,var(--vert))}
.aff p{margin:0;font-size:17px;line-height:1.5;color:#DCE9E1;max-width:480px}
.aff.creme p{color:var(--d-txd,#3F4A45)}
.aff-meta{font-size:14.5px;color:rgba(255,255,255,.75)}
.aff.creme .aff-meta{color:var(--texte-d)}
.aff-btn{align-self:flex-start;margin-top:6px;font-family:inherit;font-size:16px;font-weight:700;padding:13px 22px;border-radius:6px;border:0;cursor:pointer;background:#D4A017;color:#1A1A18}
.aff-btn:hover{background:#E0B13A}
.aff.creme .aff-btn{background:#8F6A12;color:#fff}
.aff.creme .aff-btn:hover{background:#7A5A0E}
.aff-il{flex:0 0 46%;max-width:520px;background:rgba(0,0,0,.18)}
.aff.creme .aff-il{background:none}
.aff-cartes{display:flex;flex-wrap:wrap;gap:16px;margin-top:16px}
.aff-carte{flex:1 1 260px;text-align:left;font-family:inherit;border:1px solid var(--d-bd,#DEE5F1);border-radius:12px;padding:18px;display:flex;gap:14px;align-items:flex-start;background:var(--blanc);color:var(--texte);cursor:pointer}
.aff-carte:hover{border-color:var(--vert-l)}
.aff-carte svg{flex:none}
.aff-carte small{display:block;font-size:13.5px;font-weight:600;color:var(--d-ort,#7A5A0E);text-transform:uppercase;letter-spacing:.8px}
.aff-carte b{display:block;font-size:17px;color:var(--d-vt,var(--vert));margin:3px 0}
.aff-carte span{display:block;font-size:14px;color:var(--d-txd,#3F4A45);line-height:1.45}
.aff-carte .aff-meta{color:var(--texte-d);font-size:14px;margin-top:4px}
.aff-ic .f{fill:var(--vert-pale)}.aff-ic .s{stroke:var(--vert);fill:none}
.aff-adm{margin-top:14px}
.aff-adm-l{display:flex;flex-direction:column;gap:6px;margin:10px 0 14px}
.aff-adm-l>div{display:flex;flex-wrap:wrap;gap:8px;align-items:center;border:1px solid var(--gris-b);border-radius:8px;padding:8px 10px;background:var(--blanc)}
.aff-adm-l>div>b{flex:1 1 220px}
@media(max-width:760px){
  .aff{flex-direction:column;min-height:0}
  .aff-il{order:-1;flex:none;max-width:none;height:190px}
  .aff-t{padding:22px 20px 24px}
  .aff h2{font-size:25px}
  .aff p{font-size:16px}
  .aff-btn{align-self:stretch;text-align:center}
}
/* accueil */
#view-accueil,.dp{background:var(--blanc)}
.ac-in,.dp-in{max-width:1120px;margin:0 auto;padding-left:32px;padding-right:32px}
/* v79 : accueil en cinq blocs (promesse et démonstration, entrées, aperçu réel, confiance, compte) */
.ac-hero{display:flex;flex-wrap:wrap;gap:36px 56px;align-items:center;padding-top:52px;padding-bottom:44px}
.ac-hero-t{flex:1 1 440px;min-width:0;max-width:640px}
.ac-kicker{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:700;color:var(--d-ort,#7A5A0E);background:var(--d-orp,#FBF3DD);padding:6px 12px;border-radius:999px;margin-bottom:18px}
.ac-hero h1{font-size:44px;line-height:1.1;font-weight:800;color:var(--d-vt,var(--vert));letter-spacing:-.8px;margin:0 0 16px}
.ac-hero p{font-size:18px;line-height:1.6;color:var(--d-txd,#3F4A45);max-width:560px;margin:0 0 24px}
.ac-cta{display:flex;flex-wrap:wrap;gap:12px}
.ac-cta-note{font-size:14px;line-height:1.5;color:var(--d-txd,#3F4A45);margin:12px 0 0;max-width:440px}
.ac-btn{font-family:inherit;font-size:16px;font-weight:700;line-height:1.2;padding:15px 24px;border-radius:10px;border:1.5px solid transparent;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.ac-btn.plein{background:var(--vert-m);color:#fff}
.ac-btn.plein:hover{background:var(--vert)}
.ac-btn.trait{background:none;color:var(--d-vt,var(--vert));border-color:var(--d-vt,var(--vert))}
.ac-btn.trait:hover{background:var(--vert-x)}
.ac-btn.vert{background:var(--vert);color:#fff}
.ac-btn.vert:hover{background:var(--vert-m)}
.ac-chiffres{display:flex;flex-wrap:wrap;gap:8px 28px;margin-top:24px;padding-top:18px;border-top:1px solid var(--d-bd,#DEE5F1)}
.ac-chiffre{display:flex;align-items:baseline;gap:8px;font-size:14px;color:var(--d-txd,#3F4A45);line-height:1.4}
.ac-chiffre b{font-size:22px;font-weight:800;color:var(--d-vt,var(--vert));white-space:nowrap}
.ac-chiffre span strong{color:var(--d-tx,#1A1A18);font-weight:700}
.ac-bande{background:var(--d-fond2,#EDF2FA);border-top:1px solid var(--gris-b);border-bottom:1px solid var(--gris-b);padding:52px 0 56px}
.ac-h2{font-size:30px;font-weight:800;letter-spacing:-.4px;color:var(--d-vt,var(--vert));margin:0 0 8px}
.ac-sous{font-size:16.5px;color:var(--d-txd,#3F4A45);margin:0 0 26px;max-width:720px}
.ac-cartes{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}
.ac-carte{text-align:left;background:var(--blanc);border:1px solid var(--d-bd,#DEE5F1);border-radius:14px;padding:22px 22px 20px;display:flex;flex-direction:column;gap:8px;cursor:pointer;font-family:inherit;transition:border-color .15s,transform .15s}
.ac-carte:hover{border-color:var(--vert-l);transform:translateY(-2px)}
.ac-carte .ic{width:42px;height:42px;border-radius:11px;background:var(--vert);display:flex;align-items:center;justify-content:center;margin-bottom:6px}
.ac-carte .ic svg{width:22px;height:22px;stroke:#D4A017;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ac-carte small{font-size:12.5px;font-weight:700;color:var(--d-ort,#7A5A0E);letter-spacing:1px;text-transform:uppercase}
.ac-carte h3{font-size:19px;font-weight:800;color:var(--d-vt,var(--vert));margin:0}
.ac-carte p{font-size:14.5px;color:var(--d-txd,#3F4A45);margin:0;flex-grow:1;line-height:1.5}
.ac-carte .ac-lien{font-size:14.5px;font-weight:700;color:var(--d-vt,var(--vert));padding:4px 0}
.ac-pro{margin-top:18px;background:var(--vert);border-color:var(--vert);flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px 28px;padding:22px 26px}
.ac-pro .ic{background:rgba(255,255,255,.14);margin:0}
.ac-pro h3,.ac-pro .ac-lien{color:#fff}.ac-pro p{color:#DCE9E1;flex:1 1 320px}.ac-pro small{color:#D4A017}
.ac-pro:hover{border-color:var(--vert-l)}
.ac-apercu{padding-top:56px;padding-bottom:56px}
/* v83 — aperçu à trois onglets : cadre de proportions fixes, donc aucun saut de hauteur */
.ac-vue{background:var(--blanc);border:1px solid var(--d-bd,#DEE5F1);border-radius:16px;overflow:hidden}
.ac-vue-tabs{display:flex;gap:4px;padding:8px 8px 0;border-bottom:1px solid var(--d-bd,#DEE5F1);overflow-x:auto;scrollbar-width:none}
.ac-vue-tabs::-webkit-scrollbar{display:none}
.ac-vue-tab{font-family:var(--sans);font-size:15px;font-weight:700;color:var(--texte-d);background:none;border:0;border-bottom:3px solid transparent;padding:12px 18px;min-height:44px;cursor:pointer;white-space:nowrap;border-radius:8px 8px 0 0}
.ac-vue-tab:hover{color:var(--d-vt,var(--vert));background:var(--gris)}
.ac-vue-tab.active{color:var(--d-vt,var(--vert));border-bottom-color:var(--or)}
.ac-vue-tab:focus-visible{outline:3px solid var(--or);outline-offset:-3px}
.ac-vue-cadre{margin:0;background:var(--d-fond2,#F3F6FC);aspect-ratio:16/10;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}
.ac-vue-zoom{display:none;position:absolute;right:10px;bottom:10px;background:var(--blanc);border:1px solid var(--d-bd,#DEE5F1);border-radius:8px;padding:9px 14px;font-size:13.5px;font-weight:700;color:var(--d-vt,var(--vert));text-decoration:none;box-shadow:var(--shadow)}
.ac-vue-cadre img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.ac-vue-bas{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:16px 20px;border-top:1px solid var(--d-bd,#DEE5F1)}
.ac-vue-bas p{margin:0;font-size:16px;line-height:1.5;color:var(--d-tx,#1A1A18);flex:1 1 320px}
.ac-vue-bas .ac-btn{padding:12px 20px;font-size:15px}
@media(max-width:700px){.ac-vue-zoom{display:block}.ac-vue-tab{font-size:14px;padding:12px 13px}.ac-vue-bas{padding:14px}.ac-vue-bas p{font-size:15px;min-height:69px}.ac-vue-bas .ac-btn{width:100%}}

.ac-apercus{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px}
.ac-apercu figure{margin:0;background:var(--d-fond2,#F3F6FC);border:1px solid var(--d-bd,#DEE5F1);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:12px}
.ac-apercu img{display:block;width:100%;height:auto;border-radius:10px;border:1px solid var(--d-bd,#DEE5F1);background:var(--blanc)}
.ac-apercu figcaption{font-size:15px;line-height:1.5;color:var(--d-tx,#1A1A18);padding:0 4px 4px}
.ac-apercu figcaption b{color:var(--d-vt,var(--vert))}
.ac-conf{background:var(--d-fond2,#F3F6FC);border-top:1px solid var(--gris-b);border-bottom:1px solid var(--gris-b);padding:52px 0 56px}
.ac-confs{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.ac-confs>div{background:var(--blanc);border:1px solid var(--d-bd,#DEE5F1);border-radius:14px;padding:22px;display:flex;flex-direction:column;gap:8px}
.ac-confs h3{font-size:17.5px;font-weight:800;color:var(--d-vt,var(--vert));margin:0;display:flex;align-items:center;gap:10px}
.ac-confs h3 svg{width:22px;height:22px;stroke:#8F6A12;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ac-confs p{font-size:14.5px;line-height:1.55;color:var(--d-txd,#3F4A45);margin:0}
.ac-libre{padding-top:52px;padding-bottom:56px}
.ac-libre h2{font-size:24px;font-weight:800;color:var(--d-vt,var(--vert));margin:0 0 6px}
.ac-libre .ac-sous{margin-bottom:20px}
.ac-liens{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.ac-liens>div{background:var(--blanc);border:1px solid var(--d-bd,#DEE5F1);border-radius:12px;padding:16px 18px;display:flex;flex-direction:column;gap:4px}
.ac-liens span{display:block;font-size:14px;line-height:1.5;color:var(--d-txd,#3F4A45)}
.dp-lien,.ac-liens button,.ac-etape button{background:none;border:0;padding:0;font-family:inherit;font-size:15px;font-weight:700;color:var(--d-vt,var(--vert));text-decoration:none;cursor:pointer;text-align:left}
.ac-liens button{font-size:15.5px;display:flex;align-items:center;gap:8px}
.ac-liens button::before{content:'';width:8px;height:8px;border-radius:50%;background:#B7881C;flex:none}
.ac-liens button:hover{text-decoration:underline}
/* v81 — « À consulter sans compte » : chaque entrée montre un extrait réel de la page */
.ac-liens-img{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}
.ac-liens-img>div{padding:0;overflow:hidden}
.ac-liens-img img{display:block;width:100%;aspect-ratio:16/10;object-fit:contain;object-position:top;border-bottom:1px solid var(--d-bd,#DEE5F1);background:var(--blanc)}
.ac-liens-img button{margin:14px 18px 0}
.ac-liens-img span{margin:0 18px 16px}
.ac-compte-cta{margin-top:22px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.ac-compte-cta .hint{font-size:14px}
.ac-etapes,.dp-bref{display:flex;flex-wrap:wrap;border:1px solid var(--d-bd,#DEE5F1);border-radius:12px;overflow:hidden;background:var(--blanc)}
.ac-etape{flex:1 1 220px;padding:22px;margin:0 -1px -1px 0;border-right:1px solid var(--d-bd,#DEE5F1);border-bottom:1px solid var(--d-bd,#DEE5F1)}
.ac-etape small{display:block;font-size:14px;font-weight:700;color:var(--d-ort,#7A5A0E);letter-spacing:1px;text-transform:uppercase}
.ac-etape b{display:block;font-size:19px;color:var(--d-vt,var(--vert));margin:6px 0}
.ac-etape span{display:block;font-size:14.5px;color:var(--d-txd,#3F4A45);line-height:1.5}
.ac-etape button{font-size:14.5px;padding:2px 0}
.aff-zone{padding-top:44px}
.dsc-nd{opacity:.62}.dsc-nd .dsc-nd-t{margin-left:auto;font-size:12.5px;font-weight:600;color:var(--texte-d);border:1px dashed var(--gris-b);border-radius:6px;padding:3px 9px}
/* pages par diplôme */
.dp-tete{background:var(--d-fond2,#F3F6FC);border-bottom:1px solid var(--gris-b);padding-top:36px}
.dp-fil{font-size:13.5px;color:var(--d-txd,#3F4A45);margin-bottom:14px}
.dp-fil button{background:none;border:0;padding:0;font:inherit;color:var(--d-vt,var(--vert));text-decoration:underline;cursor:pointer}
.dp-tete h1{font-size:40px;line-height:1.12;color:var(--d-vt,var(--vert));letter-spacing:-.5px;margin:0 0 6px}
.dp-sous{font-size:18px;line-height:1.55;color:var(--d-txd,#3F4A45);max-width:720px;margin:0 0 10px}
.dp-refs{font-size:13.5px;color:var(--d-txd,#3F4A45);margin:0 0 18px}
.dp-bref>div{flex:1 1 190px;padding:16px 20px;margin:0 -1px -1px 0;border-right:1px solid var(--d-bd,#DEE5F1);border-bottom:1px solid var(--d-bd,#DEE5F1)}
.dp-bref span{display:block;font-size:14px;font-weight:700;color:var(--d-ort,#7A5A0E);letter-spacing:1px;text-transform:uppercase}
.dp-bref b{font-size:17px;color:var(--texte)}
.dp-ancres{display:flex;flex-wrap:wrap;gap:2px 6px;margin-top:14px}
.dp-ancres button{background:none;border:0;border-bottom:3px solid transparent;font-family:inherit;font-size:15.5px;color:var(--d-txd,#3F4A45);padding:13px 13px;cursor:pointer}
.dp-ancres button:hover{color:var(--d-vt,var(--vert));border-bottom-color:#8F6A12}
.dp-corps{display:flex;flex-wrap:wrap;gap:36px 48px;align-items:flex-start;padding-top:40px;padding-bottom:64px}
.dp-main{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:40px}
.dp-cote{flex:1 1 290px;display:flex;flex-direction:column;gap:18px;min-width:0}
@media(min-width:1100px){.dp-cote{position:sticky;top:92px;max-height:calc(100vh - 104px);overflow-y:auto;padding-right:2px}}
.abo-tbl th{background:var(--vert-x);color:var(--texte);font-weight:700;width:auto;text-transform:none;font-size:13px}
.ac-contact .ac-compte-cta a.ac-btn{text-decoration:none}
#acc-compte .abo-tbl td,#acc-compte .abo-tbl th{padding:4px 10px}#acc-compte .ac-compte-cta{margin-top:14px}
.dp-bloc{scroll-margin-top:120px}
.dp-bloc h2{font-size:25px;color:var(--d-vt,var(--vert));margin:0 0 12px}
.dp-p,.dp-intro{font-size:15.5px;color:var(--d-txd,#3F4A45);margin:0 0 14px;line-height:1.6}
.dp-bloc .cur-in{padding:0;font-size:15px;max-width:none;overflow-x:auto}
.dp-bloc .cur-ue{font-size:14px;max-width:720px}
.dp-bloc .cur-det{max-width:none}
.dp-bloc .cur-ue th{font-size:14.5px}
.dp-bloc .cur-note{font-size:13.5px}
.dp-bloc .cur-sub>summary{font-size:14.5px}
.dp-carte{border:1px solid var(--d-bd,#DEE5F1);border-radius:12px;padding:22px;display:flex;flex-direction:column;gap:8px;background:var(--blanc)}
.dp-carte h3{font-size:18px;margin:0 0 2px;color:var(--texte)}
.dp-carte p{font-size:14.5px;color:var(--d-txd,#3F4A45);margin:0;line-height:1.5}
.dp-carte .ac-btn{font-size:15px;padding:12px 16px;text-align:center;margin-top:4px}
.dp-suj{border:1px solid var(--d-bd,#DEE5F1);border-radius:12px;overflow:hidden;margin-bottom:12px}
.dp-suj-t{padding:11px 16px;background:var(--d-fond2,#F3F6FC);font-size:13.5px;font-weight:700;color:var(--d-vt,var(--vert))}
.dp-suj .dsc-l{border-top:1px solid var(--gris-b)}
.dp-cta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:14px}
/* pied de page */
.sx-pied{background:var(--vert);color:#DCE9E1}
.sx-pied-in{max-width:1120px;margin:0 auto;padding:44px 32px 22px}
.sx-pied-cols{display:flex;flex-wrap:wrap;gap:28px 64px}
.sx-pied-cols>div{flex:1 1 180px;display:flex;flex-direction:column;gap:6px;font-size:14px;line-height:1.5;align-items:flex-start}
.sx-pied-cols>div:first-child{flex:2 1 320px;max-width:520px}
.sx-pied .nom{font-size:17px;color:#fff;letter-spacing:.4px}
.sx-pied h5{font-size:14px;color:#fff;letter-spacing:1px;text-transform:uppercase;margin:0 0 2px}
.sx-pied .pl{background:none;border:0;border-radius:0;color:#fff;text-decoration:underline;font-family:inherit;font-size:14.5px;font-weight:400;text-align:left;padding:6px 0;cursor:pointer}
.sx-pied .pl:hover{background:none;opacity:.85}
.sx-pied a.pl,.sx-pied a.sx-etape{display:block;text-decoration:none}
.sx-acces a.pl{display:inline}
.sx-pied a.pl:hover,.sx-pied a.sx-etape:hover{text-decoration:underline;color:#fff}
.sx-pied-bas{border-top:1px solid rgba(255,255,255,.2);margin-top:26px;padding-top:14px;font-size:14.5px;display:flex;flex-wrap:wrap;gap:10px 24px;justify-content:space-between;align-items:center}
@media(max-width:700px){
  .ac-in,.dp-in{padding-left:18px;padding-right:18px}
  .ac-hero{padding-top:28px;padding-bottom:30px;gap:24px}
  .ac-hero h1{font-size:31px;letter-spacing:-.4px}.ac-hero p{font-size:16.5px;margin-bottom:18px}
  .ac-btn{flex:1 1 100%;text-align:center}
  .ac-illus{max-width:none}
  .ac-chiffres{gap:6px 18px;margin-top:18px;padding-top:14px}.ac-chiffre b{font-size:19px}
  .ac-bande,.ac-conf{padding:32px 0 36px}.ac-h2{font-size:24px}.ac-sous{font-size:15.5px;margin-bottom:18px}
  .ac-apercu,.ac-libre{padding-top:32px;padding-bottom:36px}
  .ac-pro{padding:18px}
  .ac-etape{padding:14px 18px;flex-basis:100%}.ac-etape .d{display:none}.ac-etape b{display:inline-block;margin:2px 12px 0 0;font-size:17px}
  .dp-tete{padding-top:24px}.dp-tete h1{font-size:30px}.dp-sous{font-size:16.5px}
  .dp-corps{padding-top:28px;padding-bottom:40px}.dp-bloc h2{font-size:21px}
  .sx-pied-in{padding:30px 18px 18px}
}
@media print{.dp-ancres,.dp-cote,.dp-fil{display:none!important}}

#nouv-card.flash{box-shadow:0 0 0 3px var(--or-l);transition:box-shadow .3s}
.card-head .btn-ghost{color:#fff;border-color:rgba(255,255,255,.5);background:rgba(255,255,255,.08)}.card-head .btn-ghost:hover{background:rgba(255,255,255,.18)}

/* ===== v44 — FINITIONS DE L'AFFICHAGE ===== */
body{line-height:1.55}
.container{padding:28px 20px 40px}
.card{border-radius:12px;box-shadow:0 1px 2px rgba(0,0,0,.05);margin-bottom:20px}
.card-head{padding:13px 20px;gap:12px;flex-wrap:wrap}
.card-head h3{font-size:15px;font-weight:650;text-transform:none;letter-spacing:.1px}
.card-body{padding:20px}
.welcome{border-radius:12px;padding:26px 30px}
.welcome::after{content:none}
.welcome h2{font-size:22px}
.welcome p{font-size:15px;opacity:.85;max-width:760px}
.btn{font-size:14px;padding:10px 18px;border-radius:7px;line-height:1.2;gap:6px}
.btn-sm{font-size:13px;padding:7px 13px}
.btn:disabled{opacity:.55;cursor:not-allowed}
.fg label{font-size:11.5px;margin-bottom:6px}
.fg input,.fg select,.fg textarea{font-size:15px;padding:10px 12px;border-radius:7px}
.fg input[type=checkbox],.fg input[type=radio]{width:auto;flex:none;padding:0}
.fg .hint,.hint{line-height:1.5}
.badge{font-size:12px;padding:3px 10px}
.info-banner{border-radius:9px;line-height:1.55}
table{font-variant-numeric:tabular-nums}
:focus-visible{outline:3px solid var(--or-l);outline-offset:2px}
.btn:focus-visible,.ac-btn:focus-visible,.aff-btn:focus-visible,.sr-tile:focus-visible,.ac-carte:focus-visible{outline:3px solid var(--or-l);outline-offset:2px}
::selection{background:color-mix(in srgb,var(--or-l) 35%,transparent)}
/* mode sombre : champs de saisie sans couleur propre (journal, rapport…) alignés sur les autres */
@media screen{html[data-affichage="sombre"] input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),html[data-affichage="sombre"] select,html[data-affichage="sombre"] textarea{background-color:var(--blanc);color:var(--texte);border-color:var(--gris-b)}}
/* menu : huit entrées (administrateur) sans défilement entre 1 081 et 1 400 px */
@media(min-width:1081px) and (max-width:1400px){
  .nav-group{padding:0 8px;font-size:13.5px}
  .app-bar{column-gap:12px}
  .auth-status .who-mail{display:none}
}
/* téléphone : champs à 16 px (pas de zoom automatique sur iPhone), boutons faciles à toucher */
@media(max-width:760px){
  .container{padding:18px 14px 32px}
  .card-body{padding:16px}
  .card-head{padding:12px 16px}
  .fg input,.fg select,.fg textarea{font-size:16px}
  .btn{min-height:42px}
  .btn-sm{min-height:36px}
  .welcome{padding:20px 18px}
  .welcome h2{font-size:19px}
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr}
}
/* v54 : révision espacée, reprise, questions marquées */
.rv-card .card-body{padding-top:14px}
.rv-tile.rv-reprise{border-left-color:var(--or)}
.rv-tile.rv-jour{border-left-color:var(--vert-l)}
.rv-tile.rv-vide{cursor:default;border-left-color:var(--gris-b)}
.rv-tile.rv-vide:hover{transform:none;box-shadow:none}
.qz-fav svg{fill:none;stroke:currentColor;stroke-width:2;vertical-align:-2px}
.qz-fav.on{color:var(--d-or2,var(--or));border-color:var(--or)}
.qz-fav.on svg{fill:currentColor}
.qz-titre{font-weight:600;opacity:.78}
/* v60 : message sous la barre des semaines */
.wk-info{flex-basis:100%;order:3;font-size:13px;color:var(--d-or2,var(--or));min-height:0}
.wk-info:empty{display:none}
/* ===== v88 — HARMONISATION DES OUTILS : en-têtes de page clairs, cartes légères, bandeaux calmes ===== */
/* en-tête de page : le titre en vert sur le fond de la page, comme les pages par diplôme ; plus d'illustration */
.welcome,.welcome.welcome-aff{background:none!important;color:var(--texte);padding:8px 0 18px;margin:0 0 20px;border-radius:0;border-bottom:1px solid var(--d-bd,#DEE5F1);min-height:0;display:block;box-shadow:none}
.welcome-il{display:none!important}
.welcome h2{font-size:30px;line-height:1.15;color:var(--d-vt,var(--vert));letter-spacing:-.01em;margin:0 0 6px;font-weight:700}
.welcome p{font-size:15.5px;color:var(--texte-d);opacity:1;max-width:760px;line-height:1.5;margin:0}
.welcome .welcome-tx{flex:none}
.welcome .ac-btn,.welcome .btn{margin-top:14px}
@media(max-width:700px){.welcome h2{font-size:24px}.welcome p{font-size:14.5px}.welcome{padding-bottom:14px;margin-bottom:16px}}
/* cartes : titre en vert sur fond blanc, filet fin, ombre retirée */
.card{border-color:var(--d-bd,#DEE5F1);box-shadow:none;margin-bottom:18px}
.card-head{background:var(--blanc);color:var(--d-vt,var(--vert));border-bottom:1px solid var(--d-bd,#DEE5F1);padding:14px 20px 12px}
.card-head h3{font-size:16.5px;font-weight:700;color:var(--d-vt,var(--vert));line-height:1.3}
.card-head .pill{background:var(--vert-x);color:var(--d-vt,var(--vert-m));border:1px solid var(--vert-pale);font-family:inherit;font-weight:700;font-size:12.5px}
.card-head .pill.mc-pill-new{background:var(--rouge);color:#fff;border-color:transparent}
.card-head .btn-ghost{color:var(--d-vt,var(--vert));border-color:var(--d-bd,#DEE5F1);background:var(--blanc)}
.card-head .btn-ghost:hover{background:var(--vert-x);border-color:var(--vert-l)}
.card-head .hint{color:var(--texte-d)}
.card-body{padding:18px 20px 20px}
@media(max-width:700px){.card-head{padding:12px 16px 10px}.card-body{padding:14px 16px 16px}.card-head h3{font-size:15.5px}}
/* journée du journal : même traitement que les cartes */
.day-block-head{background:var(--blanc);color:var(--d-vt,var(--vert));border-bottom:1px solid var(--d-bd,#DEE5F1)}
.day-block-head .dh-name{text-transform:none;letter-spacing:0;font-size:16px}
.day-block-head .dh-date{opacity:1;color:var(--texte-d);font-family:inherit}
.dh-ok{background:var(--vert-x);color:var(--d-vt,var(--vert-m));border:1px solid var(--vert-pale)}
.dh-empty{background:var(--gris);color:var(--texte-d);border:1px solid var(--d-bd,#DEE5F1)}
.dh-over{background:var(--rouge);color:#fff}
/* bandeaux d'information : lecture calme, le rouge reste réservé aux erreurs */
.info-banner{font-size:14px;padding:12px 16px}
.info-banner.vert{background:var(--vert-x);border-color:var(--vert-pale)}
/* barres d'outils (rapport, analyse, semaine) : même cadre que les cartes */
.rapport-controls,.ana-controls,.week-nav{box-shadow:none;border-color:var(--d-bd,#DEE5F1);border-radius:12px}
/* onglets en pastilles (préparation, saisie du journal) : fond pâle, texte vert, plus de pastille pleine */
.prep-tab.active,.jm-btn.active{background:var(--vert-x);color:var(--d-vt,var(--vert));border-color:var(--d-vt,var(--vert))}
/* titres de section dans une page : alignés sur les pages par diplôme */
.container>h2,.sec-titre{font-size:22px;line-height:1.25;color:var(--d-vt,var(--vert));margin:6px 0 12px;font-weight:700}
/* v88 — tableau de bord : deux colonnes sur grand écran, prochaine étape en tête */
.dash-cols{display:grid;grid-template-columns:minmax(0,1fr);gap:0 24px;align-items:start}
@media(min-width:1100px){.dash-cols{grid-template-columns:minmax(0,1fr) 340px}.dash-aside{position:sticky;top:92px;max-height:calc(100vh - 104px);overflow-y:auto;padding-right:2px}}
.dash-aside .card-body{padding:16px 18px}
.pe-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.pe-list li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid var(--d-bd,#DEE5F1)}
.pe-list li:first-child{border-top:0;padding-top:2px}
.pe-list li:last-child{padding-bottom:2px}
.pe-tx{min-width:0;flex:1}
.pe-tx b{display:block;font-size:15px;color:var(--texte);margin-bottom:2px}
.pe-tx span{display:block;font-size:13.5px;color:var(--texte-d);line-height:1.45}
.pe-list li.urg .pe-tx b{color:var(--d-ort,#92400E)}
.pe-list .btn{flex-shrink:0;white-space:nowrap}
@media(max-width:600px){.pe-list li{flex-direction:column;align-items:stretch}.pe-list .btn{width:100%;justify-content:center}}
/* v88 — carte repliable : même en-tête que les cartes, chevron et nombre d'éléments */
details.card-pli>summary{list-style:none;cursor:pointer;user-select:none}
details.card-pli>summary::-webkit-details-marker{display:none}
details.card-pli>summary.card-head{border-bottom:0;padding-right:48px;position:relative}
details.card-pli[open]>summary.card-head{border-bottom:1px solid var(--d-bd,#DEE5F1)}
details.card-pli>summary.card-head::after{content:'';position:absolute;right:20px;top:50%;width:9px;height:9px;border-right:2px solid var(--d-vt,var(--vert));border-bottom:2px solid var(--d-vt,var(--vert));transform:translateY(-70%) rotate(45deg);transition:transform .15s}
details.card-pli[open]>summary.card-head::after{transform:translateY(-30%) rotate(-135deg)}
details.card-pli>summary:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
details.card-pli>summary:focus-visible{outline:3px solid var(--or-l);outline-offset:-3px;border-radius:12px}
.pli-n{font-size:13px;color:var(--texte-d);margin-left:auto}
/* sujet : contenu replié derrière un lien discret */
.doc-plus{margin-top:8px}
.doc-plus>summary{cursor:pointer;font-size:13.5px;font-weight:600;color:var(--d-vt,var(--vert));list-style:none;display:inline-flex;align-items:center;gap:6px}
.doc-plus>summary::-webkit-details-marker{display:none}
.doc-plus>summary::before{content:'';width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);transition:transform .15s}
.doc-plus[open]>summary::before{transform:rotate(45deg)}
.doc-plus>p{margin:8px 0 0}
.doc-card{box-shadow:none;border-color:var(--d-bd,#DEE5F1)}
.doc-tx h4{font-size:15.5px;line-height:1.3}
/* v88 — journal : barre des jours, une journée dépliée */
.jr-jours{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:12px}
.jr-jour{font-family:inherit;background:var(--blanc);border:1px solid var(--d-bd,#DEE5F1);border-radius:10px;padding:9px 6px 8px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:1px;color:var(--texte-d);min-height:44px}
.jr-jour .jj-n{font-size:14px;font-weight:700;color:var(--texte)}
.jr-jour .jj-d{font-size:12px}
.jr-jour .jj-h{font-size:13px;font-weight:700;margin-top:2px;color:var(--texte-d)}
.jr-jour.saisi .jj-h{color:var(--d-vt,var(--vert-m))}
.jr-jour.auj .jj-n::after{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--or);margin-left:5px;vertical-align:middle}
.jr-jour:hover{border-color:var(--vert-l)}
.jr-jour.active{background:var(--vert-x);border-color:var(--d-vt,var(--vert));color:var(--d-vt,var(--vert))}
.jr-jour.active .jj-n{color:var(--d-vt,var(--vert))}
.day-block.jr-cache{display:none}
@media print{.day-block.jr-cache{display:block}}
@media(max-width:480px){.jr-jours{gap:5px}.jr-jour{padding:7px 2px 6px}.jr-jour .jj-d{display:none}}
/* barre des semaines sur téléphone : le sélecteur « Aller à » prend toute la largeur au lieu de déborder */
.week-selector{min-width:0;max-width:100%}.week-selector select{min-width:0;max-width:100%}
@media(max-width:600px){.week-nav{position:static}.nav-btns{width:100%}.week-selector{flex:1 1 100%}.week-selector select{flex:1}}
.day-block{box-shadow:none;border-color:var(--d-bd,#DEE5F1);border-radius:12px}
/* v88 — rapport : temps nommés, mise en forme repliée */
.etape-k{font-size:12.5px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--d-ort,#7A5A0E);margin:4px 0 8px}
.rap-mef{margin:-6px 0 16px}
.rap-mef>summary{cursor:pointer;font-size:13.5px;font-weight:600;color:var(--d-vt,var(--vert));list-style:none;display:inline-flex;align-items:center;gap:6px}
.rap-mef>summary::-webkit-details-marker{display:none}
.rap-mef>summary::before{content:'';width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);transition:transform .15s}
.rap-mef[open]>summary::before{transform:rotate(45deg)}
#view-journal .week-nav+.hint{margin-top:10px!important}
/* v88 — notions : une ligne par terme, la définition au dépliage */
details.notion{padding:0}
details.notion>summary.n-t{list-style:none;cursor:pointer;padding:12px 44px 12px 16px;margin:0;position:relative;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
details.notion>summary.n-t::-webkit-details-marker{display:none}
details.notion>summary.n-t::after{content:'';position:absolute;right:18px;top:50%;width:8px;height:8px;border-right:2px solid var(--d-vt,var(--vert));border-bottom:2px solid var(--d-vt,var(--vert));transform:translateY(-70%) rotate(45deg);transition:transform .15s}
details.notion[open]>summary.n-t::after{transform:translateY(-30%) rotate(-135deg)}
details.notion>summary.n-t:hover{background:var(--vert-x)}
details.notion>summary.n-t:focus-visible{outline:3px solid var(--or-l);outline-offset:-3px}
details.notion .n-corps{padding:0 16px 14px}
/* v89 — pied de page : frise, quatre colonnes, titres or */
/* v91 — pied de page « tuiles et fil du cursus » */
.sx-pied-in{max-width:1180px;padding:28px 28px 18px}
.sx-tuiles{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;grid-template-rows:auto auto;gap:14px}
.sx-tuile{background:rgba(0,0,0,.18);border-radius:16px;padding:18px 22px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;font-size:14.5px;line-height:1.5;min-width:0}
.sx-pied-marque{grid-row:1/3;justify-content:space-between;gap:14px}
.sx-pied-marque>div{display:flex;flex-direction:column;gap:8px}
.sx-pied .nom{font-size:24px;letter-spacing:-.2px;font-weight:400;line-height:1.1}
.sx-pied .nom strong{font-weight:800}
.sx-tisse{width:190px;height:52px;opacity:.45;stroke:var(--or-l)}
.sx-copy{font-size:12.5px;opacity:.75}
.abo-pispi{border-color:var(--d-vt,var(--vert))}.abo-pispi .gd-et{margin:8px 0}#abo-alias{font-size:13px;word-break:break-all}
.abo-lieu{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin:0 0 14px;padding:10px 12px;border:1px solid var(--gris-b);border-radius:10px;background:var(--gris-x,#f6f7fa)}
.abo-lieu-q{font-weight:700}.abo-lieu-opt{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1.5px solid var(--gris-b);border-radius:999px;cursor:pointer;background:var(--blanc)}
.abo-lieu-opt.on{border-color:var(--d-vt,var(--vert));background:var(--vert-x);font-weight:600}
.gd-nav{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;margin:0 0 16px;font-size:14px}.gd-nav a:not(.btn){color:var(--d-vt,var(--vert));font-weight:600;text-decoration:none}.gd-nav a:not(.btn):hover{text-decoration:underline}.gd-nav .btn{margin-left:auto}
.gd-fig{margin:12px 0 4px}.gd-fig img{width:100%;border:1px solid var(--gris-b);border-radius:10px;box-shadow:0 4px 14px rgba(16,35,68,.08)}.gd-fig figcaption{font-size:12.5px;color:var(--texte-d);margin-top:5px}
.gd-deux{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.gd-tel img{max-width:220px;display:block;margin:0 auto}
.gd-et{counter-reset:e;list-style:none;padding:0;margin:6px 0 10px}.gd-et li{counter-increment:e;position:relative;padding-left:32px;margin:6px 0;line-height:1.5}
.gd-et li:before{content:counter(e);position:absolute;left:0;top:1px;width:22px;height:22px;border-radius:50%;background:var(--vert);color:#fff;font-weight:800;font-size:12px;text-align:center;line-height:22px}
.gd-tbl{width:100%;margin:8px 0 12px}.gd-tbl td,.gd-tbl th{text-align:left;vertical-align:top}
@media (max-width:700px){.gd-deux{grid-template-columns:1fr}.gd-nav .btn{margin-left:0}}
.rub-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:8px 0 12px}
.rub-case{display:block;border:1.5px solid var(--gris-b);border-radius:10px;padding:10px 12px;cursor:pointer;background:var(--blanc)}
.rub-case.on{border-color:var(--d-vt,var(--vert));background:var(--vert-x)}
.rub-case input{margin-right:6px}.rub-case b{font-size:14px}.rub-case .hint{display:block;margin-top:2px}
.nav-parcours{display:block;margin-top:6px;font-size:12px;color:var(--d-vt,var(--vert));text-decoration:underline}
.auth-autres{margin:6px 0 2px;font-size:13px}
.sx-pied .sx-pied-bas{justify-content:space-between}
.sx-legal{display:flex;flex-wrap:wrap;gap:4px 18px;margin-right:auto}
.sx-legal a{color:inherit;opacity:.85;font-size:13.5px;text-decoration:none;padding:6px 0}
.sx-legal a:hover,.sx-legal a:focus-visible{opacity:1;text-decoration:underline}
.auth-cgu{display:block;line-height:1.5}.auth-cgu .auth-link{display:inline;padding:0;font-size:inherit}
.legal-autres{margin-top:18px;padding-top:10px;border-top:1px solid var(--gris-b);font-size:13px}
.abo-recus{margin-top:10px;font-size:14px;display:flex;flex-wrap:wrap;gap:6px 10px;align-items:baseline}
.qz-rec-tete{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;justify-content:space-between;margin:20px 0 6px;text-align:left}
.qz-rec-tete h4{margin:0;font-size:15px}
.qz-rec-l{text-align:left}
.qz-rec{border:1px solid var(--gris-b);border-radius:10px;margin:7px 0;background:var(--blanc)}
.qz-rec>summary{display:flex;gap:10px;align-items:flex-start;padding:9px 12px;cursor:pointer;list-style:none;font-size:14px;line-height:1.45}
.qz-rec>summary::-webkit-details-marker{display:none}
.qz-rec-i{flex:none;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:12px;color:#fff;margin-top:1px}
.qz-rec.ok .qz-rec-i{background:var(--vert)}.qz-rec.ko .qz-rec-i{background:var(--rouge)}
.qz-rec-t{flex:1;min-width:0;white-space:pre-line;overflow-wrap:anywhere}
.qz-rec-b{padding:0 12px 12px 44px;font-size:13.5px;line-height:1.55}
.qz-rec-b .qz-ref,.qz-rec-b .qz-own{margin-top:8px}
.qz-rec-l.erreurs .qz-rec.ok{display:none}
.qz-rec-r{margin:4px 0}.qz-rec-r.ko{color:var(--rouge)}
@media (max-width:640px){.qz-rec-b{padding-left:12px}.qz-rec>summary{padding:8px 10px}}
.sx-cursus{grid-column:2/5}
.sx-pied h5{color:var(--or-l);font-size:12px;letter-spacing:1.4px;text-transform:uppercase;margin:0 0 6px}
.sx-fil{list-style:none;margin:0;padding:26px 0 0;position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;width:100%}
.sx-fil::before{content:"";position:absolute;left:12%;right:12%;top:9px;height:3px;border-radius:2px;background:linear-gradient(90deg,rgba(212,160,23,.35),var(--or-l))}
.sx-fil li{position:relative;text-align:center;display:flex;flex-direction:column;align-items:center;gap:2px}
.sx-fil li::before{content:"";position:absolute;left:calc(50% - 9px);top:-26px;width:18px;height:18px;border-radius:50%;background:var(--vert);border:3px solid var(--or-l);box-sizing:border-box}
.sx-fil li.fin::before{background:var(--or-l)}
.sx-etape{background:none;border:0;padding:0;font:inherit;font-weight:700;font-size:15px;color:#fff;cursor:pointer}
.sx-fil li.fin .sx-etape{color:var(--or-l)}
.sx-etape:hover{text-decoration:underline}
.sx-acces{font-size:13px;opacity:.9}
.sx-acces .pl{display:inline;padding:0;font-size:13px}
.sx-pied .pl{text-decoration:none;font-size:14.5px;padding:4px 0}
.sx-pied .pl:hover{text-decoration:underline;opacity:1}
.sx-pied a.sx-mail{display:inline-block;color:var(--or-l);font-weight:600;font-size:14px;margin-top:2px;text-decoration:none}.sx-pied a.sx-mail:hover{text-decoration:underline}
.sx-pied a.sx-btn{background:var(--or-l);color:#2A1F05;border-radius:10px;padding:8px 14px;margin-top:8px;text-decoration:none}
.sx-pied a.sx-btn:hover{filter:brightness(1.06)}
.sx-avert{background:rgba(251,243,236,.07);border:1px dashed rgba(212,160,23,.6);font-size:13px;line-height:1.45;padding:16px 20px}
.sx-avert-t{font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:var(--or-l);font-weight:700}
.sx-pied-bas{border:0;margin-top:12px;padding-top:0;justify-content:flex-end;gap:14px}
@media(max-width:980px){.sx-tuiles{grid-template-columns:1fr 1fr}.sx-pied-marque{grid-row:auto;grid-column:1/3}.sx-cursus{grid-column:1/3}.sx-avert{grid-column:1/3}}
@media(max-width:700px){.sx-pied-in{padding:18px 14px 14px}.sx-tuiles{gap:10px}.sx-tuile{padding:14px 16px}.sx-pied .nom{font-size:21px}
  .sx-fil{display:block;padding:0 0 0 26px}.sx-fil::before{left:7px;right:auto;top:6px;bottom:10px;width:3px;height:auto;background:linear-gradient(180deg,rgba(212,160,23,.35),var(--or-l))}
  .sx-fil li{text-align:left;align-items:flex-start;margin-bottom:12px}.sx-fil li:last-child{margin-bottom:0}.sx-fil li::before{left:-26px;top:4px;width:14px;height:14px}
  .sx-tisse{display:none}.sx-pied-bas{justify-content:space-between}}
@media(max-width:480px){.sx-tuiles{grid-template-columns:1fr}.sx-pied-marque,.sx-cursus,.sx-avert{grid-column:auto}}
/* v90 — abonnement */
.abo-points{margin:0 0 14px;padding-left:20px;line-height:1.6}
.abo-tbl td{text-align:center;font-size:13.5px}
.abo-tbl td.abo-v{color:var(--texte-d)}
.abo-tbl td.abo-ok{color:var(--d-vt,var(--vert-m));font-weight:600}
.abo-form .abo-prix{font-weight:600;color:var(--or-f,#8A6516);font-size:12px}.abo-form .abo-oui{font-size:16px}.abo-form .abo-non{color:var(--texte-d)}
.abo-choix{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:0 0 12px}.abo-choix label{display:block;border:1.5px solid var(--bord);border-radius:10px;padding:10px 12px;cursor:pointer;text-transform:none;letter-spacing:0;font-size:14px}.abo-choix label:has(input:checked){border-color:var(--vert-m);background:var(--vert-x)}.abo-choix input{margin-right:6px}.abo-choix b{display:block}.abo-choix small{color:var(--texte-d)}
.abo-consigne{background:var(--d-orp,#FBF7EC);border:1px solid var(--d-orbd,#E8DFC6);border-radius:10px;padding:14px 16px;margin-bottom:14px}
.abo-consigne p{margin:0 0 10px;line-height:1.55}
.abo-num{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:8px}
.abo-num code{font-size:20px;font-weight:700;letter-spacing:.5px;color:var(--d-vt,var(--vert));background:var(--blanc);border:1px solid var(--d-bd,#DEE5F1);border-radius:8px;padding:8px 14px}
.abo-decl{padding:12px 0;border-top:1px solid var(--d-bd,#DEE5F1)}
.abo-decl:first-child{border-top:0;padding-top:0}
.abo-decl-t{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.abo-hist{margin:8px 0 0;padding-left:20px}
.abo-case{display:inline-flex;align-items:center;gap:6px;font-size:14px}
.th-tri{background:none;border:0;color:inherit;font:inherit;cursor:pointer;text-decoration:underline dotted;padding:0}
.lm-clair .lm-v{fill:#FBF7EC}.sx-pied .nom .logo-mark{width:34px;height:28px;display:inline-block;vertical-align:-6px;margin-right:6px}.modal-head.brand .mh-logo .logo-mark{width:46px;height:38px}
/* v92 — barème des sujets, dossiers, thèmes */
.th-0{background:var(--vert)}.th-1{background:var(--or-l)}.th-2{background:var(--vert-m)}.th-3{background:var(--vert-l)}.th-4{background:#7A5A0E}.th-5{background:#6B7F74}.th-6{background:#8F6A12}.th-7{background:#4F7A64}.th-8{background:#A58A3A}
.bareme{font-size:14px}
.bar-tete{font-size:13.5px;color:var(--texte-d);margin:2px 0 8px}.bar-tete b{color:var(--d-vt,var(--vert))}
.bar-seg{display:flex;height:28px;border-radius:8px;overflow:hidden;gap:2px;margin:0 0 10px}
.bar-seg div{display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:12.5px;min-width:6px}
.bar-liste{list-style:none;margin:0;padding:0}
.bar-liste li{display:flex;gap:10px;align-items:flex-start;padding:7px 0;border-top:1px solid var(--gris-b)}
.bar-liste li:first-child{border-top:0}
.bar-n{width:24px;height:24px;border-radius:7px;color:#fff;font-weight:800;font-size:12px;display:flex;align-items:center;justify-content:center;flex:none;margin-top:1px}
.bar-t{flex:1;min-width:0;line-height:1.35}.bar-t small{display:block;color:var(--texte-d);font-size:12px}
.bar-p{flex:none;font-weight:700;color:var(--d-vt,var(--vert));white-space:nowrap;font-size:13.5px}.bar-p i{font-weight:400;color:var(--texte-d);font-style:normal;font-size:12px}
.bar-src{font-size:12px;color:var(--texte-d);margin:8px 0 0}
details.bar-plus>summary{cursor:pointer}
.dsc-plan{margin:0 12px 8px;font-size:13px}.dsc-plan>summary{cursor:pointer;color:var(--d-vt,var(--vert));font-weight:600;padding:4px 0}
.dsc-plan .bareme{padding:6px 0 4px}
.suj-plan{margin:12px 0}
.themes-prio{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 16px}
.themes-prio>div{background:var(--vert-x);border:1px solid var(--vert-pale);border-radius:12px;padding:12px 14px}
.themes-prio .k{display:block;font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:var(--d-ort,#7A5A0E);font-weight:700}
.themes-prio b{display:block;font-size:19px;color:var(--d-vt,var(--vert));margin:2px 0}.themes-prio span:last-child{font-size:13px;color:var(--texte-d)}
.themes-grille{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:18px;align-items:start}
.bulles{border-collapse:collapse;width:100%;font-size:12.5px}
.bulles th{font-weight:600;color:var(--texte-d);font-size:11.5px;text-align:center;padding:4px 2px;vertical-align:bottom}
.bulles td{text-align:center;padding:2px;height:38px;border-top:1px solid var(--gris-b)}
.bulles td.an{text-align:left;white-space:nowrap;padding-right:8px}.bulles td.an .fiche-ref{font-weight:700;font-size:13px}.bulles td.an small{color:var(--texte-d);margin-left:4px;font-size:11px}
.bulle{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--vert-m);color:#fff;font-weight:700;font-size:11.5px;line-height:1}
.themes-freq{font-size:12.5px;display:grid;gap:8px;align-content:start;padding-top:28px}
.themes-freq-t{font-weight:600;color:var(--texte-d);font-size:11.5px}
.themes-freq>div{display:flex;align-items:center;gap:8px}.themes-freq .fbar{display:inline-block;height:9px;border-radius:5px;background:var(--or-l);flex:0 0 auto;max-width:90px}
.th-onglets{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.th-onglet{background:var(--blanc);border:1px solid var(--gris-b);border-radius:999px;padding:6px 12px;font-family:inherit;font-size:13px;color:var(--texte);cursor:pointer}
.th-onglet.on{background:var(--vert);color:#fff;border-color:var(--vert)}
.piste-tete{font-size:13.5px;color:var(--texte-d);margin-bottom:6px}.piste-tete b{color:var(--d-vt,var(--vert))}
.piste-axe,.pistes{display:grid;grid-template-columns:190px minmax(0,1fr) 56px;gap:0 12px;align-items:center}
.piste-axe{font-size:11.5px;color:var(--texte-d)}.piste-axe-in{position:relative;height:16px}.piste-axe-in span{position:absolute;transform:translateX(-50%)}
.piste-l{font-weight:700;color:var(--d-vt,var(--vert));font-size:13.5px;padding:8px 0;line-height:1.3}
.piste{position:relative;height:40px;border-top:1px solid var(--gris-b)}.piste::before{content:"";position:absolute;left:0;right:0;top:50%;height:2px;background:var(--gris-b)}
.piste-pt{position:absolute;top:50%;transform:translate(-50%,-50%);border-radius:50%;background:var(--vert-m);color:#fff;border:0;font-family:inherit;font-size:11px;font-weight:700;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center}
.piste-pt.corr{background:var(--or-l);color:#1A1A18}.piste-pt:hover{outline:2px solid var(--d-vt,var(--vert))}
.piste-f{font-weight:700;color:var(--d-vt,var(--vert));text-align:right;font-size:13px}
@media(max-width:760px){.themes-prio{grid-template-columns:1fr}.themes-grille{grid-template-columns:1fr}.themes-freq{padding-top:0}.piste-axe,.pistes{grid-template-columns:110px minmax(0,1fr) 44px}.piste-l{font-size:12.5px}}
/* v92 — quiz en deux volets, source en document, article contenu */
.qz-card .card-head h3{display:flex;align-items:center;gap:10px;min-width:0}
.qz-card .card-head h3>span{display:flex;flex-direction:column;min-width:0}.qz-card .card-head h3 small{font-size:12px;font-weight:500;color:var(--texte-d)}
.qz-ring{width:44px;height:44px;flex:none;color:var(--d-vt,var(--vert))}
.qz-volets{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:start}
.qz-gauche,.qz-droite{min-width:0}
.qz-droite{display:flex;flex-direction:column;gap:12px}
.qz-duo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start}
.qz-duo:has(.qz-art:not([style*="none"])){grid-template-columns:minmax(0,1fr)}
.qz-src-bloc,.qz-duo>.qz-expl{min-width:0}
@media(max-width:760px){.qz-duo{grid-template-columns:1fr}}
.qz-droite .qz-src-t{margin-top:0}
.qz-attente{font-size:13.5px;color:var(--texte-d);line-height:1.5}.qz-attente b{display:block;color:var(--d-vt,var(--vert));margin-bottom:2px}
.qz-q{font-size:19px;line-height:1.4;font-weight:700}
.qz-choice{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:12px;font-size:15px}
.qz-k{width:28px;height:28px;border-radius:8px;border:1.5px solid var(--gris-b);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;color:var(--texte-d);flex:none;background:var(--blanc)}
.qz-choice.sel .qz-k{border-color:var(--d-vt,var(--vert));color:var(--d-vt,var(--vert))}
.qz-choice.good .qz-k{background:var(--vert);border-color:var(--vert);color:#fff}
.qz-choice.bad .qz-k{background:var(--rouge);border-color:var(--rouge);color:#fff}
.qz-ch{flex:1;min-width:0}
.qz-verdict{display:flex;gap:10px;align-items:flex-start;border-radius:12px;padding:12px 14px;font-size:14px;line-height:1.45;margin:0}
.qz-verdict.ok{background:var(--vert-x);border:1px solid var(--vert-pale)}.qz-verdict.ko{background:var(--rouge-pale);border:1px solid #F3C3BE}
.qz-verdict b{display:block;font-size:15px}.qz-verdict.ok b{color:var(--d-vt,var(--vert))}.qz-verdict.ko b{color:var(--rouge)}
.qz-vic{width:30px;height:30px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;flex:none}
.qz-verdict.ok .qz-vic{background:var(--vert)}.qz-verdict.ko .qz-vic{background:var(--rouge)}
.qz-droite .qz-expl{margin:0}
.qz-src{margin-top:0;background:var(--blanc);border:1px solid var(--gris-b);border-radius:12px;padding:12px 14px;font-size:13.5px;overflow:hidden}
.qz-src-h{display:flex;gap:12px;align-items:center;font-size:inherit;text-transform:none;letter-spacing:0;margin:0 0 6px}
.qz-doc{width:34px;height:42px;border-radius:5px;background:var(--vert);flex:none;position:relative}
.qz-doc::after{content:"";position:absolute;left:7px;right:7px;top:10px;height:3px;background:#fff;opacity:.8;box-shadow:0 7px 0 #fff,0 14px 0 #fff}
.qz-src-ref{min-width:0}.qz-src-ref b{display:block;color:var(--d-vt,var(--vert));font-size:14.5px;line-height:1.3}.qz-src-ref span{display:block;color:var(--texte-d);font-size:12.5px;line-height:1.35;overflow-wrap:anywhere}
.qz-src-plan{font-size:12.5px;color:var(--texte-d);margin:0 0 6px}.qz-src-plan summary{cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.qz-src-plan summary::before{content:"Plan : "}.qz-src-plan div{padding:4px 0 0;overflow-wrap:anywhere}
.qz-src blockquote{margin:6px 0 8px;padding-left:10px;border-left:3px solid var(--vert-pale);font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.qz-src .qz-lire{margin-top:2px}
.qz-art,.dp-fiche .qz-art,.fiche-body .qz-art{max-width:100%;box-sizing:border-box;overflow:auto;max-height:420px;overflow-wrap:anywhere;word-break:normal;hyphens:auto}
.qz-card .qz-art{max-height:520px}
.qz-art table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;font-size:13px}
.qz-art pre{white-space:pre-wrap;overflow-wrap:anywhere}
.qz-art img{max-width:100%;height:auto}
.qz-pied{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px;padding-top:12px;border-top:1px solid var(--gris-b)}
@media(max-width:900px){.qz-q{font-size:17px}}
/* v92 — flashcards en pile */
.fc-card .card-head h3{display:flex;flex-direction:column}.fc-card .card-head h3 small{font-size:12px;font-weight:500;color:var(--texte-d)}
.fc-volets{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:22px;align-items:start}
.fc-gauche,.fc-droite{min-width:0}
.fc-pile{position:relative;padding:0 0 24px}
.fc-ombre{position:absolute;left:14px;right:14px;top:12px;bottom:12px;border-radius:20px;border:1px solid var(--gris-b);background:var(--d-fond2,#FBF9F3);z-index:0}
.fc-ombre.o2{left:28px;right:28px;top:24px;bottom:0;background:var(--d-fond2,#F6F3EA)}
.fc-pile.ouverte .fc-ombre{display:none}.fc-pile.ouverte{padding-bottom:0}
.fc-carte{position:relative;z-index:1;border:1px solid var(--gris-b);border-radius:20px;background:linear-gradient(160deg,var(--blanc) 0%,var(--vert-x) 100%);padding:26px 30px;text-align:left;cursor:pointer;min-height:260px;display:flex;flex-direction:column;box-shadow:0 14px 34px rgba(0,0,0,.08);transition:transform .18s,opacity .18s}
.fc-carte.retournee{cursor:default;min-height:0;padding:18px 24px;background:var(--blanc);box-shadow:none;border-radius:16px}
.fc-carte.part-gauche{transform:translateX(-40%) rotate(-6deg);opacity:0}.fc-carte.part-droite{transform:translateX(40%) rotate(6deg);opacity:0}
.fc-coin{position:absolute;right:16px;top:14px;font-size:12px;color:var(--texte-d)}
.fc-dom{font-size:11.5px;letter-spacing:1.4px;text-transform:uppercase;color:var(--d-ort,#7A5A0E);font-weight:700;margin-bottom:6px}
.fc-terme{font-size:30px;line-height:1.15;margin:auto 0;padding:14px 0}
.fc-carte.retournee .fc-terme{font-size:22px;padding:4px 0;margin:0}
.fc-question{font-size:17px;line-height:1.5;font-weight:600;margin:auto 0;padding:10px 0}
.fc-pied{display:flex;justify-content:space-between;font-size:12.5px;color:var(--texte-d);min-height:16px}
.fc-verso{border:0;border-radius:20px;padding:22px 26px;margin-top:14px;background:var(--vert);color:#fff}
.fc-verso .fc-dom{color:var(--or-l)}.fc-verso .n-d{font-size:16.5px;line-height:1.55}.fc-verso .n-d p{margin:0 0 8px}
.fc-verso .hint,.fc-verso .n-src,.fc-verso .notion-src{color:#CFE3D6}
.fc-verso .qz-src{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.22);color:#fff}.fc-verso .qz-src-ref b{color:#fff}.fc-verso .qz-src-ref span,.fc-verso .qz-src-plan,.fc-verso .qz-src-note{color:#CFE3D6}
.fc-verso .qz-src .btn{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.35)}.fc-verso .qz-art{color:var(--texte)}
.fc-verso a,.fc-verso .fiche-ref{color:var(--or-l)}
.fc-verso .btn{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.4)}.fc-verso .btn:hover{background:rgba(255,255,255,.2)}
.fc-gestes{display:flex;gap:10px;margin-top:14px;justify-content:center}
.fc-geste{flex:1;border-radius:14px;padding:12px 14px;text-align:center;font-weight:700;font-size:15px;font-family:inherit;cursor:pointer;border:1.5px solid transparent}
.fc-geste small{display:block;font-weight:400;font-size:12px;opacity:.85;margin-top:2px}
.fc-geste.ko{background:var(--rouge-pale);color:var(--rouge);border-color:#F3C3BE}.fc-geste.ok{background:var(--vert);color:#fff}
.fc-geste:hover{filter:brightness(1.04)}
.fc-retourner{padding:12px 24px;font-size:15px}
.fc-droite{display:flex;flex-direction:column;gap:12px}
.fc-bloc{background:var(--blanc);border:1px solid var(--gris-b);border-radius:14px;padding:14px 16px;font-size:13.5px}
.fc-bloc>b{display:block;color:var(--d-vt,var(--vert));font-size:14px;margin-bottom:8px}
.fc-seance{display:flex;align-items:center;gap:14px}.fc-ring{width:64px;height:64px;flex:none;color:var(--d-vt,var(--vert))}
.fc-seance b{display:block;font-size:18px;color:var(--d-vt,var(--vert))}.fc-seance span{color:var(--texte-d);font-size:13px}
.fc-boites{display:grid;grid-template-columns:repeat(3,1fr);gap:8px 6px}.fc-boites div{text-align:center;font-size:11px;color:var(--texte-d)}.fc-boites div b{display:block;font-size:17px;color:var(--d-vt,var(--vert))}.fc-boites div i{display:block;height:6px;border-radius:3px;background:var(--vert-pale);margin:5px 0 4px}.fc-boites div.cur i{background:var(--or-l)}
.fc-demain{background:var(--vert-x);border-color:var(--vert-pale)}.fc-demain span{color:var(--texte-d);line-height:1.5}
@media(max-width:900px){.fc-volets{grid-template-columns:1fr}.fc-terme{font-size:26px}.fc-carte{padding:22px 22px;min-height:220px}}
.pe-sect{font-size:11.5px;letter-spacing:1.2px;text-transform:uppercase;color:var(--d-vt,var(--vert));font-weight:700;margin:4px 0 6px}.pe-sect+.pe-list{margin-bottom:12px}
.nav-usr{width:17px;height:17px;margin-right:2px;flex-shrink:0}
.nav-compte{margin-left:auto;display:flex;align-items:center;gap:8px}.nav-compte .nav-group{border:1px solid var(--d-bd,var(--gris-b));border-radius:999px;height:34px;padding:0 12px 0 10px;margin:0;border-bottom-width:1px}
.nav-bell-slot .auth-status{display:flex;align-items:center}
.nav-dd-tete{display:flex;flex-direction:column;gap:1px;padding:8px 12px 10px;margin-bottom:4px;border-bottom:1px solid var(--gris-b)}
.nav-dd-tete b{font-size:14px}.nav-dd-tete span{font-size:12.5px;color:var(--gris-m);overflow-wrap:anywhere}.nav-dd-tete .adm-badge{margin-top:4px;align-self:flex-start}
.nav-dd [role="menuitem"].sortie{border-top:1px solid var(--gris-b);border-radius:0 0 10px 10px;margin-top:4px;color:var(--d-rt,#9B2C2C)}
@media(max-width:1080px){.nav-compte{margin-left:0;flex-direction:row;flex-wrap:wrap;gap:0;align-items:center}.nav-compte .nav-group{border:0;border-radius:0;height:44px;margin:2px 8px;order:0;flex:1}.nav-bell-slot{order:1;padding-right:14px}.nav-compte .nav-dd{order:2;width:100%}}
/* v98 — usage de la plateforme (administration) */
.us-per{display:flex;gap:6px}.us-per .btn.on{background:var(--vert-x,#F0FBF2);border-color:var(--d-vt,var(--vert));color:var(--d-vt,var(--vert))}
.us-intro{margin:0 0 12px}.us-stats{flex-wrap:wrap;margin-bottom:14px}.us-stats .stat-box{min-width:150px;flex:1}
.us-graphs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}
.us-graph{border:1px solid var(--gris-b);border-radius:12px;padding:10px 12px;background:var(--blanc)}.us-graph svg{width:100%;height:120px;display:block;color:var(--texte)}
.us-graph-t{font-size:13px;font-weight:700;margin:0 0 6px;color:var(--texte-d)}.us-graph-t b{color:var(--d-vt,var(--vert));margin-left:4px}
.us-tops{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}
.us-top{border:1px solid var(--gris-b);border-radius:12px;padding:10px 12px;background:var(--blanc)}.us-top ol{margin:0;padding-left:20px;font-size:13.5px}.us-top li{display:flex;gap:8px;padding:3px 0;border-bottom:1px dashed var(--gris-b)}.us-top li span{flex:1;overflow-wrap:anywhere}.us-top li:last-child{border-bottom:0}
@media(max-width:900px){.us-graphs,.us-tops{grid-template-columns:1fr}}
/* v96 — Ressources : tableau de tous les diplômes (maquette 03) */
.pe-filtres{display:grid;grid-template-columns:1fr 1fr 1.6fr;gap:12px;margin-bottom:14px}.pe-filtres .fg{margin:0}
.pe-tbl-wrap{overflow:auto;border:1px solid var(--gris-b);border-radius:12px}
.pe-tbl{width:100%;border-collapse:collapse;font-size:14.5px}.pe-tbl th{text-align:left;font-size:12.5px;letter-spacing:.4px;text-transform:uppercase;color:var(--gris-m);background:var(--vert-x,#F0FBF2);padding:10px 12px;border-bottom:1px solid var(--gris-b)}
.pe-tbl td{padding:12px;border-bottom:1px solid var(--gris-b);vertical-align:top}.pe-tbl tr:last-child td{border-bottom:0}
.pe-tbl td b{display:block;font-size:15px}.pe-ue{display:block;font-size:12.5px;color:var(--gris-m);margin-top:1px}.pe-badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.pe-actions{white-space:nowrap}.pe-actions .btn{margin:0 6px 6px 0}.pe-compte{margin:10px 0 0}.pe-note{margin-top:14px}
.pe-suite{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.pe-tuile{display:flex;gap:12px;align-items:center;padding:14px 16px;border:1px solid var(--gris-b);border-radius:14px;background:var(--blanc);font:inherit;cursor:pointer;text-align:left;color:var(--texte)}
.pe-tuile:hover{border-color:var(--d-vt,var(--vert))}.pe-tuile b{display:block;font-size:15px}.pe-tuile small{display:block;font-size:12.5px;color:var(--d-vt,var(--vert));margin-top:2px;font-weight:600}
@media(max-width:760px){.pe-filtres{grid-template-columns:1fr}.pe-suite{grid-template-columns:1fr}.pe-actions{white-space:normal}}
/* v96 — Communauté : page d'accueil du groupe (maquette 04, fond clair) */
.co-hero{text-align:center;padding:10px 0 26px}.co-hero h1{font-size:34px;margin:0 0 6px}.co-hero p{margin:0;color:var(--texte-d);font-size:17px}
.co-cartes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:16px}
.co-carte{display:flex;flex-direction:column;align-items:center;text-align:center;padding:26px 22px 22px;border:1px solid var(--gris-b);border-radius:16px;background:var(--blanc);position:relative}
.co-num{position:absolute;left:18px;top:14px;font-family:var(--serif,Georgia,serif);font-size:18px;color:var(--d-vt,var(--vert));border-bottom:2px solid var(--d-vt,var(--vert));padding-bottom:2px}
.co-carte .st-ico{width:62px;height:62px;border-radius:16px;margin:8px 0 14px}.co-carte .st-ico svg{width:32px;height:32px}
.co-carte h3{font-size:22px;margin:0 0 6px}.co-carte p{margin:0 0 14px;color:var(--texte-d);font-size:14.5px;line-height:1.5}
.co-tags{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin-bottom:14px}.co-tags button{font:inherit;font-size:12.5px;padding:4px 10px;border-radius:999px;border:1px solid var(--vert-pale,#D8F3DC);background:var(--vert-x,#F0FBF2);cursor:pointer;color:var(--d-vt,var(--vert))}
.co-carte .ac-btn{margin-top:auto}.co-lien{background:none;border:0;font:inherit;font-size:14px;color:var(--d-vt,var(--vert));text-decoration:underline;cursor:pointer;margin-top:10px}
.co-bande{display:flex;align-items:center;gap:16px;padding:18px 22px;border:1px solid var(--vert-pale,#D8F3DC);border-radius:16px;background:var(--vert-x,#F0FBF2);margin-bottom:12px}
.co-bande h3{margin:0 0 2px;font-size:19px}.co-bande p{margin:0;color:var(--texte-d);font-size:14.5px}.co-bande .btn{margin-left:auto;flex:none}
.co-aide{display:flex;align-items:center;gap:14px;padding:14px 22px;border:1px solid var(--gris-b);border-radius:14px;background:var(--blanc);font-size:14.5px}.co-aide a{margin-left:auto;color:var(--d-vt,var(--vert))}
@media(max-width:900px){.co-cartes{grid-template-columns:1fr}.co-bande{flex-wrap:wrap}.co-bande .btn{margin-left:0}.co-hero h1{font-size:28px}.co-aide{flex-wrap:wrap}.co-aide a{margin-left:0}}
/* v96 — Vue d'ensemble du stagiaire (maquette 02) */
.ve{margin-bottom:22px}
.ve-haut{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);gap:14px;margin-bottom:22px}
.ve-banniere{display:flex;gap:18px;align-items:flex-start;padding:22px 24px;border-radius:16px;background:var(--d-vt,var(--vert));color:#fff}
.ve-banniere h3{margin:0 0 4px;font-size:20px;color:#fff}.ve-banniere p{margin:0 0 14px;color:rgba(255,255,255,.82);font-size:14.5px}
.ve-ico{width:44px;height:44px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:12px;background:rgba(255,255,255,.12);color:var(--or-l,#D4A017)}.ve-ico svg{width:24px;height:24px}
.ve-echeance{display:flex;gap:14px;align-items:flex-start;padding:18px 20px;border-radius:16px;background:var(--blanc);border:1px solid var(--gris-b)}
.ve-echeance h3{margin:0 0 4px;font-size:17px}.ve-echeance p{margin:0 0 12px;font-size:14px;color:var(--texte-d)}.ve-echeance.urg{border-color:var(--or)}
.ve-titre{font-size:20px;margin:0 0 12px}
.ve-sems{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:16px}
.ve-sem{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 8px 12px;border:1px solid var(--gris-b);border-radius:14px;background:var(--blanc);font:inherit;cursor:pointer;color:var(--texte)}
.ve-sem:hover{border-color:var(--d-vt,var(--vert))}.ve-sem.cur{border-color:var(--d-vt,var(--vert));box-shadow:0 0 0 2px var(--vert-x,#D8F3DC) inset}
.ve-sem b{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--vert-x,#F0FBF2);font-family:var(--serif,Georgia,serif);font-size:17px;color:var(--d-vt,var(--vert))}
.ve-sem.cur b{background:var(--d-vt,var(--vert));color:#fff}
.ve-etat{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--gris-m);text-align:center}
.ve-etat i{width:9px;height:9px;border-radius:50%;border:1.5px solid var(--gris-m);flex:none}
.ve-sem.cours .ve-etat,.ve-sem.brouillon .ve-etat{color:var(--d-ort,#8A6410)}.ve-sem.cours .ve-etat i,.ve-sem.brouillon .ve-etat i{border-color:var(--or);background:var(--or-l,#D4A017)}
.ve-sem.maitre .ve-etat i{border-color:var(--vert-l,#40916C);background:var(--vert-pale,#D8F3DC)}.ve-sem.valide .ve-etat,.ve-sem.depose .ve-etat{color:var(--d-vt,var(--vert))}.ve-sem.valide .ve-etat i,.ve-sem.depose .ve-etat i{border-color:var(--d-vt,var(--vert));background:var(--d-vt,var(--vert))}
.ve-sem.avenir{opacity:.7}.ve-sem small{font-size:11px;color:var(--gris-m)}
.ve-trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ve-tuile{display:flex;gap:12px;align-items:center;padding:14px 16px;border:1px solid var(--gris-b);border-radius:14px;background:var(--blanc);font:inherit;cursor:pointer;text-align:left;color:var(--texte)}
.ve-tuile:hover{border-color:var(--d-vt,var(--vert))}.ve-tuile b{display:block;font-size:15px}.ve-tuile small{display:block;font-size:12.5px;color:var(--gris-m);margin-top:2px}
@media(max-width:900px){.ve-haut{grid-template-columns:1fr}.ve-sems{grid-template-columns:repeat(3,minmax(0,1fr))}.ve-trio{grid-template-columns:1fr}}
@media(max-width:480px){.ve-sems{grid-template-columns:repeat(2,minmax(0,1fr))}.ve-banniere{flex-direction:column}}
/* v95 — page Stage professionnel (maquette 01) */
.dp-corps-seul{display:block}.dp-corps-seul .dp-main{max-width:none}
.st-tuiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:34px}
.st-tuiles>div{display:flex;align-items:center;gap:14px;padding:16px 18px;background:var(--vert-x,#F0FBF2);border:1px solid var(--vert-pale,#D8F3DC);border-radius:14px}
.st-tuiles b{display:block;font-family:var(--serif,Georgia,serif);font-size:26px;line-height:1.1;color:var(--d-vt,var(--vert))}
.st-tuiles>div>div>span{display:block;font-size:13px;color:var(--gris-m);margin-top:3px;line-height:1.35}
.st-tuiles .fiche-ref{font-size:12px}
.st-ico{width:42px;height:42px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:12px;background:var(--vert-x,#F0FBF2);color:var(--d-vt,var(--vert))}.st-ico svg{width:22px;height:22px}
.st-sect{margin-bottom:34px}.st-sect h2{margin-bottom:12px}
.st-intro{color:var(--texte-d);margin:0 0 14px;font-size:15px;line-height:1.55}
.st-acc{border:1px solid var(--gris-b);border-radius:14px;background:var(--blanc);overflow:hidden}
.st-rep{border-top:1px solid var(--gris-b)}.st-rep:first-child{border-top:0}
.st-rep summary{display:flex;align-items:center;gap:12px;padding:14px 16px;cursor:pointer;list-style:none;font-weight:600;font-size:15.5px}
.st-rep summary::-webkit-details-marker{display:none}
.st-rep summary svg{width:20px;height:20px;flex:none;color:var(--d-vt,var(--vert))}
.st-rep summary i{margin-left:auto;width:9px;height:9px;border-right:2px solid var(--gris-m);border-bottom:2px solid var(--gris-m);transform:rotate(45deg);transition:transform .15s;flex:none}
.st-rep[open] summary i{transform:rotate(-135deg)}
.st-rep[open] summary{background:var(--vert-x,#F0FBF2)}.st-rep[open]{border-left:3px solid var(--d-vt,var(--vert))}
.st-rep-c{padding:4px 16px 16px 48px;font-size:15px;line-height:1.6;color:var(--texte)}
.st-ref{display:inline-block;margin-left:6px}.st-ref .fiche-ref{font-size:13px}
.st-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.st-act{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--gris-b);border-radius:14px;background:var(--blanc);font:inherit;font-weight:600;font-size:15px;color:var(--texte);text-decoration:none;cursor:pointer;text-align:left}
.st-act:hover{border-color:var(--d-vt,var(--vert));box-shadow:0 6px 18px rgba(0,0,0,.08)}
.st-act i{margin-left:auto;width:30px;height:30px;border-radius:50%;background:var(--or);color:#fff;display:flex;align-items:center;justify-content:center;font-style:normal;flex:none}
.st-note{font-size:13px;color:var(--gris-m);margin:12px 0 0}.st-fiches{margin-top:6px}.st-fiches #dp-stage-fiches{display:inline}
.st-fiches #dp-stage-fiches .dp-lien,.st-fiches #dp-stage-fiches a,.st-fiches #dp-stage-fiches button,.st-fiches #dp-stage-fiches p{display:inline;font-size:13px;margin:0 8px 0 0}
@media(max-width:900px){.st-tuiles{grid-template-columns:repeat(2,minmax(0,1fr))}.st-actions{grid-template-columns:1fr}}
@media(max-width:480px){.st-tuiles{grid-template-columns:1fr}.st-rep-c{padding-left:16px}}
/* en-tête : neuf groupes de menu (administrateur) sans coupure jusqu'à 1 520 px */
/* menu mesuré par la page : deux crans de resserrement, le temps que les neuf groupes tiennent */
@media(min-width:1081px){
  .nav-group{transition-property:color,background-color,border-color} /* la mesure du menu doit lire la largeur finale, pas une largeur en cours d'animation */
  body.nav-serre .nav-group{padding:0 9px;font-size:13.5px}
  body.nav-serre .app-bar{column-gap:10px}
  body.nav-serre .auth-status .who-mail{max-width:150px}
  body.nav-serre2 .nav-group{padding:0 7px;font-size:13px}
  body.nav-serre2 .auth-status .who-mail{display:none}
  body.nav-serre2 .auth-status{font-size:13px;gap:6px}
  /* troisième cran : le cadre de l'en-tête s'élargit de 1 280 à 1 440 px, le contenu de la page restant centré */
  body.nav-serre2 .app-logo{padding-left:max(20px,calc((100vw - 1440px)/2))}
  body.nav-serre2 .app-actions{padding-right:max(20px,calc((100vw - 1440px)/2))}
  /* quatrième cran : le cadre prend toute la largeur de la fenêtre */
  body.nav-serre3 .app-logo{padding-left:20px}
  body.nav-serre3 .app-actions{padding-right:20px}
  body.nav-serre3 .nav-group{padding:0 3px;gap:3px;font-size:12.5px}body.nav-serre3 .nav-group .chev{width:11px;height:11px} /* v90 : le groupe « Tableau de bord » a gagné un menu (Mon abonnement) */
  body.nav-serre3 .app-logo{padding-left:12px}body.nav-serre3 .app-actions{padding-right:12px}body.nav-serre3 .auth-status{gap:4px} /* v91 : la mention sous le logo passe avant tout le reste */
}
@media(min-width:1081px) and (max-width:1320px){body.nav-serre2 .nav-group{padding:0 5px}body.nav-serre3 .nav-group{padding:0 3px}body.nav-serre2 .auth-status .who-mail{max-width:96px}}
/* quatrième cran (fenêtre étroite, neuf groupes) : l'adresse du compte disparaît et un dégradé signale que le menu défile */
@media(min-width:1081px){body.nav-serre3 .auth-status .who-mail{display:none}body.nav-defile .nav-tabs{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 36px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 36px),transparent)}}

/* ===================== v157 : accueil refondu (classes h7-) ===================== */
.h7-in{max-width:1240px;margin:0 auto;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px))}
.h7-hero{background:linear-gradient(180deg,var(--blanc) 0%,var(--vert-x) 100%);border-bottom:1px solid var(--gris-b);position:relative;overflow:hidden}
.h7-hero::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.55;
  background-image:radial-gradient(color-mix(in srgb,var(--vert-m) 22%,transparent) 1px,transparent 1.4px);background-size:22px 22px;
  -webkit-mask-image:linear-gradient(90deg,transparent 45%,#000 80%);mask-image:linear-gradient(90deg,transparent 45%,#000 80%)}
.h7-hero-in{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:48px;align-items:center;padding-top:56px;padding-bottom:60px}
.h7-hero-t{min-width:0}
.h7-kick{display:inline-block;background:var(--vert-pale);color:var(--d-vt,var(--vert-m));font-size:12.5px;font-weight:700;
  letter-spacing:.07em;text-transform:uppercase;padding:6px 13px;border-radius:999px}
.h7-h1{font-size:clamp(34px,4.6vw,58px);line-height:1.03;font-weight:800;letter-spacing:-1.6px;color:var(--d-vt,var(--vert));margin:20px 0 0;text-wrap:balance}
.h7-h1 span{display:block;color:var(--vert-m)}
.h7-h1::after{content:"";display:block;width:64px;height:6px;border-radius:6px;background:var(--or-l);margin-top:20px}
.h7-lead{font-size:clamp(17px,1.5vw,20px);line-height:1.55;color:var(--texte-d);margin:22px 0 0;max-width:34ch}
.h7-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.h7-b{display:inline-flex;align-items:center;gap:10px;font-family:inherit;font-size:16px;font-weight:700;border-radius:10px;
  padding:14px 22px;cursor:pointer;text-decoration:none;border:1.5px solid transparent;transition:background .18s ease,border-color .18s ease,transform .12s ease,box-shadow .2s ease}
.h7-b i{font-style:normal;transition:transform .18s ease}
.h7-b:hover i{transform:translateX(3px)}
.h7-b:active{transform:translateY(1px)}
.h7-b.plein{background:var(--vert-m);color:#fff;box-shadow:0 8px 20px -10px color-mix(in srgb,var(--vert-m) 70%,transparent)}
.h7-b.plein:hover{background:var(--vert);text-decoration:none}
.h7-b.trait{background:var(--blanc);color:var(--d-vt,var(--vert-m));border-color:color-mix(in srgb,var(--vert-m) 55%,transparent)}
.h7-b.trait:hover{border-color:var(--vert-m);background:var(--vert-x)}
.h7-b.petit{font-size:14px;padding:10px 16px;margin-top:14px}
.h7-b:focus-visible,.h7-etape:focus-visible,.h7-outil:focus-visible,.h7-app-tabs button:focus-visible,.h7-aussi button:focus-visible{outline:3px solid color-mix(in srgb,var(--vert-m) 45%,transparent);outline-offset:2px}
.h7-note{margin:16px 0 0;font-size:14px;color:var(--texte-d)}

/* aperçu de l'application */
.h7-app{margin:0;min-width:0;background:var(--blanc);border:1px solid var(--gris-b);border-radius:16px;overflow:hidden;
  box-shadow:0 40px 80px -40px rgba(16,35,68,.45),0 2px 6px rgba(16,35,68,.06)}
.h7-app-barre{display:flex;align-items:center;gap:7px;padding:11px 16px;background:var(--vert);color:#fff}
.h7-app-barre b{width:10px;height:10px;border-radius:50%;background:#FF6159}
.h7-app-barre b+b{background:#FFBD2E}.h7-app-barre b+b+b{background:#28C840}
.h7-app-barre span{margin-left:auto;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.75}
.h7-app-corps{min-height:340px}
.h7-app-cote{background:var(--vert-x);border-right:1px solid var(--gris-b);padding:16px 12px;display:flex;flex-direction:column;gap:6px}
.h7-app-logo{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:800;color:var(--d-vt,var(--vert));margin-bottom:12px}
.h7-mono{width:26px;height:26px;flex:none}.h7-mono .v{fill:var(--d-vt,var(--vert))}.h7-mono .o{fill:var(--or-l)}
.h7-app-l{font-size:13px;font-weight:600;color:var(--texte-d);padding:8px 10px;border-radius:8px;transition:background .2s ease,color .2s ease}
.h7-app-l.on{background:var(--blanc);color:var(--vert-m);box-shadow:var(--shadow)}
.h7-app-cote i{display:block;height:8px;border-radius:6px;background:var(--gris-b);margin:6px 10px 0}
.h7-app-cote i.c{width:55%}
.h7-app-main{padding:14px 24px 24px;min-width:0}
.h7-app-tabs{display:flex;gap:4px;border-bottom:1px solid var(--gris-b);margin-bottom:16px}
.h7-app-tabs button{background:none;border:0;border-bottom:3px solid transparent;font-family:inherit;font-size:14px;font-weight:600;
  color:var(--texte-d);padding:9px 12px 10px;cursor:pointer;margin-bottom:-1px;transition:color .18s ease,border-color .18s ease}
.h7-app-tabs button:hover{color:var(--vert-m)}
.h7-app-tabs button.on{color:var(--vert-m);border-bottom-color:var(--vert-m)}
.h7-pan{animation:h7in .28s ease both}
@keyframes h7in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.h7-pan-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.h7-pill{font-size:12px;font-weight:700;color:var(--d-vt,var(--vert-m));background:var(--vert-pale);padding:4px 10px;border-radius:999px}
.h7-ex{font-size:11.5px;color:var(--gris-m);font-weight:600}
.h7-q{font-size:17px;font-weight:700;line-height:1.4;color:var(--texte);margin:0 0 12px}
.h7-ch{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--gris-b);border-radius:10px;font-size:14.5px;color:var(--texte-d);margin-bottom:8px}
.h7-ch .t{flex:1;min-width:0;line-height:1.45}
.h7-ch .k{flex:none;width:22px;height:22px;border-radius:6px;background:var(--gris);display:grid;place-items:center;font-size:12px;font-weight:700;color:var(--texte-d)}
.h7-ch.ok{border-color:#1F8A5B;background:color-mix(in srgb,#1F8A5B 9%,var(--blanc));color:var(--texte)}
.h7-ch.ok .k{background:#1F8A5B;color:#fff}
.h7-ch em{display:block;font-style:normal;font-size:12px;font-weight:700;color:#1F8A5B;margin-top:2px}
.h7-src{border-left:3px solid var(--or-l);padding:6px 0 6px 12px;font-size:13.5px;color:var(--texte-d);margin-top:12px}
.h7-src b{display:block;font-size:12px;color:var(--d-vt,var(--vert-m));margin-bottom:2px}
.h7-plan{margin:0;padding-left:22px;display:grid;gap:7px;font-size:14.5px;color:var(--texte)}
.h7-plan li::marker{color:var(--vert-m);font-weight:700}
.h7-pan-p{font-size:14px;color:var(--texte-d);margin:14px 0 0}
.h7-chemin{font-size:12.5px;color:var(--gris-m);margin:0 0 10px}
.h7-art{font-family:Georgia,'Times New Roman',serif;font-size:15.5px;line-height:1.6;color:var(--texte);border-left:3px solid var(--or-l);padding-left:14px}

/* bandeau du parcours */
.h7-parcours{background:var(--vert);color:#fff}
.h7-parc-in{display:grid;grid-template-columns:minmax(250px,300px) minmax(0,1fr);gap:32px;align-items:center;padding-top:40px;padding-bottom:42px}
.h7-parcours h2{font-size:clamp(24px,2.4vw,32px);line-height:1.15;font-weight:800;margin:0;color:#fff}
.h7-parcours h2::after{content:"";display:block;width:56px;height:5px;border-radius:5px;background:var(--or-l);margin-top:14px}
.h7-etapes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;position:relative}
.h7-etapes::before{content:"";position:absolute;left:44px;right:12%;top:30px;height:2px;background:rgba(255,255,255,.22)}
.h7-etape{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;background:none;border:0;
  color:#fff;font-family:inherit;cursor:pointer;padding:0 8px 6px 0;width:100%}
.h7-rond{width:60px;height:60px;border-radius:50%;background:#fff;color:var(--vert);display:grid;place-items:center;
  box-shadow:0 0 0 6px rgba(255,255,255,.14);transition:transform .2s ease,box-shadow .2s ease}
.h7-rond svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.h7-etape:hover .h7-rond{transform:translateY(-3px);box-shadow:0 0 0 8px rgba(212,160,23,.35)}
.h7-etape b{font-size:17px;margin-top:8px}
.h7-etape small{font-size:13.5px;line-height:1.45;color:rgba(255,255,255,.78)}
.h7-etape:hover b{text-decoration:underline;text-decoration-color:var(--or-l);text-underline-offset:4px}

/* blocs suivants */
.h7-bloc{padding-top:52px;padding-bottom:8px}
.h7-h2{font-size:clamp(23px,2.3vw,30px);font-weight:800;letter-spacing:-.5px;color:var(--d-vt,var(--vert));margin:0}
.h7-h2::after{content:"";display:block;width:48px;height:5px;border-radius:5px;background:var(--or-l);margin-top:12px}
.h7-sous{font-size:16px;color:var(--texte-d);max-width:70ch;margin:16px 0 0;line-height:1.6}
.h7-outils{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:26px}
.h7-outil{display:flex;align-items:center;gap:16px;text-align:left;background:var(--blanc);border:1px solid var(--gris-b);border-radius:14px;
  padding:20px;cursor:pointer;font-family:inherit;color:var(--texte);transition:border-color .2s ease,box-shadow .2s ease,transform .15s ease}
.h7-outil:hover{border-color:color-mix(in srgb,var(--vert-m) 50%,var(--gris-b));box-shadow:var(--shadow-m);transform:translateY(-2px)}
.h7-outil>span:nth-child(2){flex:1;min-width:0}
.h7-outil b{display:block;font-size:17px;color:var(--d-vt,var(--vert))}
.h7-outil small{display:block;font-size:14px;line-height:1.5;color:var(--texte-d);margin-top:4px}
.h7-outil>i{font-style:normal;font-size:20px;color:var(--vert-m);transition:transform .18s ease}
.h7-outil:hover>i{transform:translateX(4px)}
.h7-ic{flex:none;width:58px;height:58px;border-radius:14px;display:grid;place-items:center}
.h7-ic svg{width:28px;height:28px;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.h7-ic.bleu{background:var(--vert-pale);color:var(--vert-m)}.h7-ic.bleu svg{stroke:currentColor}
.h7-ic.or{background:color-mix(in srgb,var(--or-l) 18%,var(--blanc));color:var(--or)}.h7-ic.or svg{stroke:currentColor}
.h7-aussi{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:20px}
.h7-aussi span{font-size:13px;font-weight:700;color:var(--gris-m);text-transform:uppercase;letter-spacing:.07em;margin-right:6px}
.h7-aussi button{background:var(--blanc);border:1px solid var(--gris-b);border-radius:999px;padding:7px 14px;font-family:inherit;font-size:14px;
  font-weight:600;color:var(--d-vt,var(--vert));cursor:pointer;transition:border-color .18s ease,background .18s ease}
.h7-aussi button:hover{border-color:var(--vert-m);background:var(--vert-x)}
.h7-conf{background:var(--blanc);border-top:1px solid var(--gris-b);border-bottom:1px solid var(--gris-b);margin-top:52px;padding:48px 0}
.h7-confs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin-top:26px}
.h7-confs b{display:block;font-size:16px;color:var(--d-vt,var(--vert));padding-top:14px;border-top:3px solid var(--vert-m)}
.h7-confs div:nth-child(2) b{border-top-color:var(--or-l)}
.h7-confs p{font-size:14.5px;line-height:1.6;color:var(--texte-d);margin:8px 0 0}
.h7-faq{display:grid;gap:10px;margin-top:24px;max-width:900px}
.h7-faq details{background:var(--blanc);border:1px solid var(--gris-b);border-radius:12px;padding:0 18px}
.h7-faq summary{cursor:pointer;font-weight:700;color:var(--d-vt,var(--vert));padding:16px 0;list-style:none;display:flex;justify-content:space-between;gap:12px}
.h7-faq summary::-webkit-details-marker{display:none}
.h7-faq summary::after{content:"+";font-size:20px;line-height:1;color:var(--vert-m);transition:transform .2s ease}
.h7-faq details[open] summary::after{transform:rotate(45deg)}
.h7-faq p{margin:0 0 16px;color:var(--texte-d);line-height:1.6}
.h7-lien{background:none;border:0;padding:0;margin-top:14px;font-family:inherit;font-size:15px;font-weight:700;color:var(--vert-m);cursor:pointer}
.h7-lien:hover{text-decoration:underline}
.h7-contact{display:flex;flex-wrap:wrap;gap:10px 28px;align-items:baseline;margin-top:18px;padding-bottom:56px;font-size:15px;color:var(--texte-d)}
.h7-contact .h7-lien{margin:0}
.h7-mail{color:var(--d-vt,var(--vert));user-select:all}
#accueil-body .aff-sec{margin-top:52px}
#acc-compte .abo-tbl{font-size:14.5px;border-collapse:separate;border-spacing:0;background:var(--blanc);border:1px solid var(--gris-b);border-radius:14px;overflow:hidden;margin-top:24px}
#acc-compte .abo-tbl th,#acc-compte .abo-tbl td{padding:12px 14px;border:0;border-bottom:1px solid var(--gris-b)}
#acc-compte .abo-tbl tr:last-child td{border-bottom:0}
#acc-compte .abo-tbl thead th{background:var(--vert-x);color:var(--d-vt,var(--vert));font-size:14px}
#acc-compte .abo-tbl td:first-child{color:var(--texte)}
#acc-compte .ac-compte-cta{margin-top:20px;display:flex;flex-wrap:wrap;gap:12px}
.abo-prix{white-space:nowrap}
.abo-tbl-zone{overflow-x:auto}
.abo-cartes{display:none;gap:10px;margin-top:18px}
.abo-carte{background:var(--blanc);border:1px solid var(--gris-b);border-radius:12px;padding:14px 16px}
.abo-carte b{display:block;font-size:16px;color:var(--d-vt,var(--vert))}
.abo-carte .abo-prix{display:block;font-size:20px;font-weight:800;color:var(--vert-m);margin-top:2px}
.abo-carte p{margin:6px 0 0;font-size:14px;color:var(--texte-d);line-height:1.5}
@media(max-width:640px){.abo-tbl-zone{display:none}}
.abo-tel{display:none}@media(max-width:640px){.abo-tel{display:block}}
.abo-cartes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}
.abo-carte{display:flex;flex-direction:column;gap:10px;padding:20px 22px}
.abo-carte.haut{border-color:color-mix(in srgb,var(--vert-m) 55%,var(--gris-b));box-shadow:0 0 0 1px color-mix(in srgb,var(--vert-m) 35%,transparent)}
.abo-carte-t{display:flex;flex-direction:column;gap:2px;padding-bottom:12px;border-bottom:1px solid var(--gris-b)}
.abo-carte .abo-prix{font-size:24px}
.abo-inc{margin:0!important;font-size:14.5px!important;color:var(--texte)!important}
.abo-carte ul{margin:0;padding-left:18px;display:grid;gap:7px;font-size:14px;line-height:1.5;color:var(--texte-d)}
.abo-carte li::marker{color:var(--vert-m)}
.abo-carte li.abo-hors{color:var(--gris-m);list-style:"– "}
.abo-rubs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 24px;margin-top:22px}
.abo-rubs b{display:block;font-size:14.5px;color:var(--d-vt,var(--vert));margin-bottom:4px}
.abo-rubs p{margin:0;font-size:14px;line-height:1.55;color:var(--texte-d)}
@media(max-width:1000px){.abo-cartes{grid-template-columns:1fr}.abo-rubs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.abo-rubs{grid-template-columns:1fr}}
.h7-fiche{border:1px solid var(--gris-b);border-radius:10px;overflow:hidden;background:var(--blanc);font-family:'Book Antiqua',Palatino,Georgia,serif}
.h7-fiche-t{padding:9px 12px;background:var(--vert-x);font-size:12.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--d-vt,var(--vert));
  display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.h7-fiche-t small{font-weight:400;text-transform:none;letter-spacing:0;color:var(--texte-d)}
.h7-fiche table{width:100%;border-collapse:collapse;font-size:13.5px}
.h7-fiche th{font-family:var(--sans);font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--gris-m);text-align:right;padding:6px 12px;border-bottom:1px solid var(--gris-b)}
.h7-fiche th:first-child{text-align:left}
.h7-fiche td{padding:5px 12px;border-bottom:1px solid var(--gris-b);color:var(--texte);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.h7-fiche td:first-child{text-align:left;white-space:normal}
.h7-fiche tr.cat td{font-weight:700;background:color-mix(in srgb,var(--gris) 70%,var(--blanc))}
.h7-fiche tr.sub td{font-weight:700;font-family:var(--sans);font-size:13px}
.h7-fiche tr.gt td{font-weight:800;font-family:var(--sans);background:var(--vert-pale);border-bottom:0}
@media(max-width:600px){.h7-fiche tr.act,.h7-fiche tr.cat{display:none}}
details.sx-dep>summary{list-style:none;cursor:default}
details.sx-dep>summary::-webkit-details-marker{display:none}
.sx-dep-in{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
@media(max-width:600px){
  details.sx-dep>summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;min-height:40px}
  details.sx-dep>summary::after{content:"+";font-size:20px;color:var(--or-l);line-height:1}
  details.sx-dep[open]>summary::after{content:"–"}
  details.sx-dep>summary h5{margin:0}
  details.sx-dep>summary:focus-visible{outline:2px solid var(--or-l);outline-offset:2px;border-radius:4px}
}
@media(max-width:480px){.sx-tuiles{grid-template-columns:1fr!important}.sx-mail{overflow-wrap:anywhere}.sx-tuile{padding:12px 14px!important}.sx-pied .pl{font-size:14px;padding:3px 0}}

@media(max-width:1080px){
  .h7-hero-in{grid-template-columns:1fr;gap:34px;padding-top:40px}
  .h7-lead{max-width:none}
  .h7-parc-in{grid-template-columns:1fr;gap:26px}
  .h7-confs{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:820px){
  .h7-outils{grid-template-columns:1fr}
  .h7-etapes{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}
  .h7-etapes::before{display:none}
}
@media(max-width:600px){
  .h7-in{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
  .h7-hero-in{padding-top:28px;padding-bottom:36px}
  .h7-h1{letter-spacing:-1px}
  .h7-cta .h7-b{flex:1 1 100%;justify-content:center}
  .h7-app-corps{grid-template-columns:1fr;min-height:0}
  .h7-app-cote{display:none}
  .h7-app-main{padding:12px 14px 16px}
  .h7-app-tabs button{padding:8px 8px 9px;font-size:13px}
  .h7-confs{grid-template-columns:1fr;gap:18px}
  .h7-rond{width:52px;height:52px}
  .h7-etape b{font-size:16px}
}
@media(prefers-reduced-motion:reduce){.h7-pan{animation:none}.h7-b,.h7-outil,.h7-rond,.h7-b i,.h7-outil>i{transition:none}}

/* ===================== v157 : pages diplôme refondues (classes d7-) ===================== */
.dp.d7 .dp-tete{background:var(--blanc);border-bottom:1px solid var(--gris-b);padding-bottom:0}
.dp.d7 .dp-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px 40px;align-items:end;margin-top:22px}
.dp.d7 .dp-hero-t h1{font-size:clamp(34px,4vw,50px);font-weight:800;letter-spacing:-1.2px;color:var(--d-vt,var(--vert));margin:6px 0 0;line-height:1.05}
.dp.d7 .dp-hero-t .dp-sous{font-size:18px;color:var(--texte-d);margin:10px 0 0;max-width:46ch}
.d7-sur{display:inline-block;font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--d-vt,var(--vert-m));
  background:var(--vert-pale);padding:5px 12px;border-radius:999px}
.d7-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;justify-content:flex-end}
.d7-actions .h7-b{padding:12px 18px;font-size:15px}
.d7-b-lien{background:none;border:0;font-family:inherit;font-size:15px;font-weight:700;color:var(--vert-m);cursor:pointer;padding:12px 6px}
.d7-b-lien:hover{text-decoration:underline}
.d7-reperes{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:28px 0 0;border-top:1px solid var(--gris-b)}
.d7-reperes>div{padding:16px 18px 18px 0;border-right:1px solid var(--gris-b);margin-right:18px;min-width:0}
.d7-reperes>div:last-child{border-right:0;margin-right:0}
.d7-reperes dt{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gris-m)}
.d7-reperes dd{margin:6px 0 0}
.d7-reperes b{display:block;font-size:16px;line-height:1.35;color:var(--d-vt,var(--vert))}
.d7-reperes small{display:block;font-size:13px;color:var(--texte-d);margin-top:2px}
.d7-nav{position:sticky;top:var(--hd-h,60px);z-index:20;background:color-mix(in srgb,var(--blanc) 92%,transparent);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--gris-b)}
.d7-nav-in{max-width:1120px;margin:0 auto;padding:0 18px;display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.d7-nav-in::-webkit-scrollbar{display:none}
.d7-nav button{flex:none;background:none;border:0;border-bottom:3px solid transparent;font-family:inherit;font-size:14.5px;font-weight:600;
  color:var(--texte-d);padding:14px 14px 12px;cursor:pointer;transition:color .18s ease,border-color .18s ease}
.d7-nav button:hover{color:var(--vert-m)}
.d7-nav button.on{color:var(--vert-m);border-bottom-color:var(--vert-m)}
.d7-nav button{min-height:48px}
.d7-nav button:focus-visible{outline:3px solid color-mix(in srgb,var(--vert-m) 45%,transparent);outline-offset:-3px}
.dp-corps.d7-corps{display:block!important;padding-top:0!important}
.d7-zone{display:flex;flex-direction:column;min-width:0}
.d7-zone>.d7-rub,.d7-rub>*{min-width:0;max-width:100%}
.d7-rub{padding:40px 0 8px;scroll-margin-top:calc(var(--hd-h,60px) + 56px);border-bottom:1px solid var(--gris-b)}
.d7-rub:last-child{border-bottom:0;padding-bottom:40px}
.d7-h2{font-size:clamp(23px,2.2vw,28px);font-weight:800;letter-spacing:-.4px;color:var(--d-vt,var(--vert));margin:0 0 6px}
.d7-h2::after{content:"";display:block;width:44px;height:5px;border-radius:5px;background:var(--or-l);margin-top:10px}
.d7-intro{font-size:16.5px;line-height:1.65;color:var(--texte-d);max-width:72ch;margin:18px 0 0}
.d7-h3{font-size:18px;font-weight:800;color:var(--d-vt,var(--vert));margin:30px 0 12px}
.d7-rub .dp-bloc{margin:26px 0 0;padding:0;border:0;background:none;box-shadow:none}
.d7-rub .dp-bloc>h2{font-size:18px;font-weight:800;color:var(--d-vt,var(--vert));margin:0 0 10px;letter-spacing:0}
.d7-rub .dp-bloc>h2::after{display:none}
.d7-rub[data-r="pres"] #dp-dsc-epreuves>h2{display:none}
.d7-reviser{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;position:static!important;width:auto!important;margin:0!important;max-height:none!important;overflow:visible!important;padding:0!important}
.d7-reviser .dp-carte{background:var(--blanc);border:1px solid var(--gris-b);border-radius:14px;padding:18px 20px;margin:0;box-shadow:none;
  display:flex;flex-direction:column;align-items:flex-start;gap:8px;transition:border-color .2s ease,box-shadow .2s ease}
.d7-reviser .dp-carte:hover{border-color:color-mix(in srgb,var(--vert-m) 45%,var(--gris-b));box-shadow:var(--shadow)}
.d7-reviser .dp-carte h3{font-size:16px;color:var(--d-vt,var(--vert));margin:0}
.d7-reviser .dp-carte p{font-size:14px;line-height:1.55;color:var(--texte-d);margin:0}
.d7-reviser .dp-carte .ac-btn{margin-top:auto}
.d7-fiche{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-top:22px;background:var(--blanc);
  border:1px solid var(--gris-b);border-radius:14px;overflow:hidden}
.d7-fiche>div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:14px;padding:14px 18px;border-bottom:1px solid var(--gris-b);border-right:1px solid var(--gris-b)}
.d7-fiche>div:nth-child(2n){border-right:0}
.d7-fiche>div.large{grid-column:1/-1;border-right:0}
.d7-fiche>div>span:first-child{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--gris-m);padding-top:2px}
.d7-fiche>div>span:last-child{font-size:14.5px;line-height:1.55;color:var(--texte)}
.d7-rub #desc-acces{margin-top:22px}
@media(max-width:900px){
  .dp.d7 .dp-hero{grid-template-columns:1fr;align-items:start}
  .d7-actions{justify-content:flex-start}
  .d7-reviser{grid-template-columns:1fr}
  .d7-fiche{grid-template-columns:1fr}.d7-fiche>div{border-right:0}
}
@media(max-width:600px){
  .d7-reperes{grid-template-columns:repeat(2,minmax(0,1fr))}
  .d7-reperes>div{border-right:0;margin-right:0;padding-right:10px;border-bottom:1px solid var(--gris-b)}
  .d7-actions .h7-b{flex:1 1 100%;justify-content:center}
  .d7-nav-in{padding:0 12px}
  .d7-nav button{padding:12px 10px 10px;font-size:14px}
  .d7-fiche>div{grid-template-columns:1fr;gap:4px}
}

/* ===================== v157 : ressources (classes r7-) ===================== */
#view-preparation>.container{max-width:1240px}
.r7-tete{padding:22px 0 6px}
.r7-fil{font-size:13.5px;color:var(--texte-d)}
.r7-fil button{background:none;border:0;padding:0;font:inherit;color:var(--vert-m);cursor:pointer}
.r7-fil button:hover{text-decoration:underline}
.r7-h1{font-size:clamp(27px,3.2vw,40px);font-weight:800;letter-spacing:-.8px;color:var(--d-vt,var(--vert));margin:10px 0 0;line-height:1.1}
.r7-sous{font-size:16.5px;color:var(--texte-d);margin:8px 0 0;max-width:70ch}
#view-preparation .prep-tabs{display:flex;gap:2px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--gris-b);margin:20px 0 22px}
#view-preparation .prep-tabs::-webkit-scrollbar{display:none}
#view-preparation .prep-tab{flex:none;display:inline-flex;align-items:center;gap:9px;border:0;border-bottom:3px solid transparent;border-radius:0;background:none;
  padding:12px 14px 11px;font-size:15px;font-weight:600;color:var(--texte-d);margin-bottom:-1px;transition:color .18s ease,border-color .18s ease}
#view-preparation .prep-tab:hover{color:var(--vert-m);background:none}
#view-preparation .prep-tab.active{color:var(--vert-m);border-bottom-color:var(--vert-m);background:none;box-shadow:none}
#view-preparation .prep-tab:focus-visible{outline:3px solid color-mix(in srgb,var(--vert-m) 40%,transparent);outline-offset:-3px}
.r7-ic{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.r7-cat{display:flex;flex-direction:column;gap:14px}
.r7-filtres{display:grid;grid-template-columns:minmax(0,2.2fr) repeat(3,minmax(0,1fr)) auto auto;gap:12px;align-items:end;background:var(--blanc);
  border:1px solid var(--gris-b);border-radius:14px;padding:16px}
.r7-rech{display:flex;align-items:center;gap:10px;border:1.5px solid var(--gris-b);border-radius:10px;padding:0 14px;background:var(--blanc);height:46px;transition:border-color .18s ease}
.r7-rech:focus-within{border-color:var(--vert-m)}
.r7-rech svg{width:20px;height:20px;flex:none;fill:none;stroke:var(--gris-m);stroke-width:2;stroke-linecap:round}
.r7-rech input{border:0;outline:0;background:none;font:inherit;font-size:15.5px;color:var(--texte);width:100%;min-width:0;height:100%}
.r7-sel{display:flex;flex-direction:column;gap:5px;min-width:0}
.r7-sel label{font-size:12.5px;font-weight:700;color:var(--texte-d)}
.r7-sel select{height:46px;border:1.5px solid var(--gris-b);border-radius:10px;padding:0 12px;font:inherit;font-size:14.5px;color:var(--texte);background:var(--blanc);min-width:0;width:100%}
.r7-sel select:focus{border-color:var(--vert-m);outline:0}
.r7-bascule{display:inline-flex;align-items:center;gap:10px;height:46px;font-size:14.5px;font-weight:600;color:var(--texte);cursor:pointer;white-space:nowrap}
.r7-bascule input{position:absolute;opacity:0;width:1px;height:1px}
.r7-bascule span{width:42px;height:24px;border-radius:999px;background:var(--gris-b);position:relative;transition:background .18s ease;flex:none}
.r7-bascule span::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .18s ease}
.r7-bascule input:checked+span{background:var(--vert-m)}
.r7-bascule input:checked+span::after{transform:translateX(18px)}
.r7-bascule input:focus-visible+span{outline:3px solid color-mix(in srgb,var(--vert-m) 40%,transparent);outline-offset:2px}
.r7-raz{height:46px;background:none;border:0;font:inherit;font-size:14px;font-weight:700;color:var(--vert-m);cursor:pointer;padding:0 6px}
.r7-compte{font-size:13.5px;color:var(--texte-d);margin:0}
.r7-detail{font-size:13.5px;color:var(--texte-d);margin:0}
.r7-tbl-zone{background:var(--blanc);border:1px solid var(--gris-b);border-radius:14px;overflow:hidden}
.r7-tbl{width:100%;border-collapse:collapse;font-size:14.5px}
.r7-tbl th{text-align:left;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gris-m);background:var(--vert-x);padding:12px 16px;border-bottom:1px solid var(--gris-b)}
.r7-tbl td{padding:12px 16px;border-bottom:1px solid var(--gris-b);vertical-align:middle}
.r7-tbl td:last-child{width:1%}
@media(min-width:761px){.r7-tbl .r7-acts{flex-wrap:nowrap}}
.r7-tbl.fixe th:nth-child(2),.r7-tbl.fixe td:nth-child(2){display:none}
.r7-tbl tr:last-child td{border-bottom:0}
.r7-tbl tbody tr{transition:background .15s ease}
.r7-tbl tbody tr:hover{background:color-mix(in srgb,var(--vert-x) 60%,var(--blanc))}
.r7-doc{display:flex;align-items:center;gap:12px;min-width:240px}
.r7-doc b{display:block;color:var(--texte);font-weight:700}
.r7-doc small{display:block;font-size:13px;color:var(--texte-d);margin-top:2px}
.r7-pdf{flex:none;width:34px;height:40px;border-radius:6px;background:#FDECEC;color:#C22F2F;display:grid;place-items:center}
.r7-pdf svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}
.r7-dip{display:inline-block;font-size:12.5px;font-weight:700;color:var(--d-vt,var(--vert-m));background:var(--vert-pale);border-radius:7px;padding:4px 9px}
.r7-types{display:flex;flex-wrap:wrap;gap:6px}
.r7-type{display:inline-block;font-size:12.5px;font-weight:600;border-radius:7px;padding:3px 9px;border:1px solid}
.r7-type.off{color:var(--d-vt,var(--vert-m));border-color:color-mix(in srgb,var(--vert-m) 45%,transparent);background:var(--blanc)}
.r7-type.nof{color:#8A5800;border-color:#E8CF97;background:#FFF6E2}
html[data-affichage="sombre"] .r7-type.nof{color:#E3B84E;background:#2E2716;border-color:#5C4A1E}
.r7-acts{white-space:nowrap}
.r7-acts{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.r7-act{display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 14px;border-radius:9px;border:1.5px solid var(--gris-b);background:var(--blanc);
  font:inherit;font-size:14px;font-weight:700;color:var(--d-vt,var(--vert));cursor:pointer;transition:background .15s ease,border-color .15s ease}
.r7-act:hover{border-color:var(--vert-m);background:var(--vert-x)}
.r7-act svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.r7-act.plein{background:var(--vert-m);border-color:var(--vert-m);color:#fff}
.r7-act.plein:hover{background:var(--vert);border-color:var(--vert)}
.r7-act.verrou{color:var(--texte-d)}
.r7-vide{background:var(--blanc);border:1px dashed var(--gris-b);border-radius:14px;padding:28px;text-align:center;color:var(--texte-d)}
.r7-abo{display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:var(--vert-x);border:1px solid var(--gris-b);border-radius:14px;padding:16px 18px}
.r7-abo>div{flex:1 1 300px;min-width:0}
.r7-abo b{display:block;color:var(--d-vt,var(--vert));font-size:15.5px}
.r7-abo small{display:block;color:var(--texte-d);font-size:13.5px;margin-top:3px}
.r7-abo-ic{width:44px;height:44px;border-radius:12px;background:color-mix(in srgb,var(--or-l) 22%,var(--blanc));color:var(--or);display:grid;place-items:center;flex:none}
.r7-abo.actif .r7-abo-ic{background:var(--vert-pale);color:var(--vert-m)}
.r7-abo-ic svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.r7-note{font-size:13.5px;color:var(--texte-d);margin:0;padding-left:12px;border-left:3px solid var(--or-l)}
.r7-suite{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.r7-tuile{display:flex;align-items:center;gap:14px;text-align:left;background:var(--blanc);border:1px solid var(--gris-b);border-radius:14px;padding:16px 18px;
  font:inherit;color:var(--texte);cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease}
.r7-tuile:hover{border-color:color-mix(in srgb,var(--vert-m) 45%,var(--gris-b));box-shadow:var(--shadow)}
.r7-tuile>span:nth-child(2){flex:1;min-width:0}
.r7-tuile b{display:block;font-size:15.5px;color:var(--d-vt,var(--vert))}
.r7-tuile small{display:block;font-size:13.5px;color:var(--texte-d);margin-top:2px}
.r7-tuile>i{font-style:normal;color:var(--vert-m);font-size:18px}
.r7-tuile-ic{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;flex:none}
.r7-tuile-ic.bleu{background:var(--vert-pale);color:var(--vert-m)}.r7-tuile-ic.or{background:color-mix(in srgb,var(--or-l) 20%,var(--blanc));color:var(--or)}
.r7-tuile-ic svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media(max-width:1100px){.r7-filtres{grid-template-columns:repeat(3,minmax(0,1fr))}.r7-rech{grid-column:1/-1}}
@media(max-width:760px){
  .r7-filtres{grid-template-columns:1fr 1fr;padding:12px}
  .r7-suite{grid-template-columns:1fr}
  .r7-tbl-zone{background:none;border:0;border-radius:0;overflow:visible}
  .r7-tbl thead{display:none}
  .r7-tbl,.r7-tbl tbody,.r7-tbl tr,.r7-tbl td{display:block;width:100%}
  .r7-tbl tbody{display:flex;flex-direction:column;gap:10px}
  .r7-tbl tr{background:var(--blanc);border:1px solid var(--gris-b);border-radius:14px;padding:12px 14px}
  .r7-tbl td{border:0;padding:4px 0}
  .r7-doc{min-width:0}
  .r7-acts{justify-content:flex-start;padding-top:8px!important;white-space:normal}
}
@media(max-width:480px){.r7-filtres{grid-template-columns:1fr}.r7-sel select,.r7-rech{height:44px}}

/* v157h : onglets et vue d'ensemble DECOFI */
.d7-rub[hidden]{display:none!important}
.d7-rub{border-bottom:0!important;padding-top:30px!important}
.d7-rub>.d7-h2{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.d7-rub [id]{scroll-margin-top:calc(var(--hd-h,60px) + 64px)}
.d7-rub:focus{outline:0}
.d7-ov{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:18px;align-items:stretch}
.d7-prep{background:var(--blanc);border:1px solid var(--gris-b);border-radius:16px;padding:22px 22px 14px}
.d7-prep h3,.d7-session h3{font-size:22px;font-weight:800;letter-spacing:-.3px;margin:0}
.d7-prep h3{color:var(--d-vt,var(--vert))}
.d7-prep>p{font-size:14.5px;color:var(--texte-d);margin:4px 0 14px}
.d7-prep ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.d7-ep,.d7-facon{display:flex;align-items:center;gap:14px;width:100%;text-align:left;background:var(--blanc);border:1px solid var(--gris-b);border-radius:12px;
  padding:12px 14px;font:inherit;color:var(--texte);cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}
.d7-ep:hover,.d7-facon:hover{border-color:color-mix(in srgb,var(--vert-m) 45%,var(--gris-b));box-shadow:var(--shadow)}
.d7-ep:focus-visible,.d7-facon:focus-visible{outline:3px solid color-mix(in srgb,var(--vert-m) 40%,transparent);outline-offset:2px}
.d7-ep-ic{flex:none;width:42px;height:42px;border-radius:11px;background:var(--vert-pale);color:var(--vert-m);display:grid;place-items:center}
.d7-ep-ic svg,.d7-session-ic svg,.d7-pli summary svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.d7-ep-t{flex:1;min-width:0}
.d7-ep b,.d7-facon b{display:block;font-size:16px;color:var(--d-vt,var(--vert))}
.d7-ep small,.d7-facon small{display:block;font-size:13.5px;color:var(--texte-d);margin-top:2px;line-height:1.45}
.d7-ep-b{flex:none;font-size:14px;font-weight:700;color:var(--vert-m);border:1.5px solid color-mix(in srgb,var(--vert-m) 55%,transparent);border-radius:9px;padding:7px 16px}
.d7-ep-b.plein{background:var(--vert-m);border-color:var(--vert-m);color:#fff}
.d7-ep>i,.d7-facon>i{font-style:normal;font-size:22px;color:var(--gris-m)}
.d7-session{background:var(--vert);color:#fff;border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:10px}
.d7-session.archive{background:color-mix(in srgb,var(--vert) 80%,#4A5568)}
.d7-session-ic{color:var(--or-l)}
.d7-session-ic svg{width:34px;height:34px}
.d7-session h3{color:#fff}
.d7-session p{margin:0;font-size:15px;line-height:1.55;color:rgba(255,255,255,.88)}
.d7-session small{font-size:12.5px;color:rgba(255,255,255,.65);line-height:1.45}
.d7-session-a{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin-top:4px}
.d7-session-b{display:inline-flex;align-items:center;gap:8px;border:1.5px solid var(--or-l);color:var(--or-l);border-radius:10px;padding:10px 16px;font-weight:700;font-size:14.5px;text-decoration:none}
.d7-session-b:hover{background:rgba(212,160,23,.12);text-decoration:none}
.d7-session-l{background:none;border:0;padding:0;font:inherit;font-size:14px;font-weight:600;color:#fff;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.d7-facons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.d7-facon>span:nth-child(2){flex:1;min-width:0}
.d7-pli{margin-top:14px;background:var(--blanc);border:1px solid var(--gris-b);border-radius:12px;overflow:hidden}
.d7-pli>summary{display:flex;align-items:center;gap:10px;cursor:pointer;padding:14px 16px;font-weight:700;color:var(--d-vt,var(--vert));list-style:none;min-height:48px}
.d7-pli>summary::-webkit-details-marker{display:none}
.d7-pli>summary::after{content:"";margin-left:auto;width:9px;height:9px;border-right:2px solid var(--gris-m);border-bottom:2px solid var(--gris-m);transform:rotate(45deg);transition:transform .2s ease}
.d7-pli[open]>summary::after{transform:rotate(-135deg)}
.d7-pli>summary:focus-visible{outline:3px solid color-mix(in srgb,var(--vert-m) 40%,transparent);outline-offset:-3px}
.d7-pli>:not(summary){padding:0 16px 16px}
.d7-pli .dp-bloc{margin:0!important}
.d7-reserve{margin:16px 0 0;font-size:13.5px;color:var(--texte-d);background:color-mix(in srgb,var(--or-l) 12%,var(--blanc));border:1px solid color-mix(in srgb,var(--or-l) 35%,transparent);border-radius:10px;padding:10px 14px}
#view-decofi .d7-rub[data-r="pres"]>.d7-h3{margin-top:26px}
@media(max-width:900px){.d7-ov{grid-template-columns:1fr}.d7-facons{grid-template-columns:1fr}}
@media(max-width:600px){
  .d7-ep{flex-wrap:wrap}.d7-ep-t{flex:1 1 60%}.d7-ep>i{display:none}
  .d7-ep-b{order:3;margin-left:56px}
  .d7-nav button{padding:12px 12px 10px}
}

/* ===================== v157 : Mon espace (classes e7-) ===================== */
#e7-side{display:none}
#e7-bas{display:none}
.welcome h2{font-size:clamp(26px,3vw,38px)!important;font-weight:800!important;letter-spacing:-.6px;color:var(--d-vt,var(--vert))!important;line-height:1.12}
.welcome p{color:var(--texte-d)!important;opacity:1!important;font-size:16px!important}
.welcome.e7-tete{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px 24px}
.welcome.e7-tete>*:not(#e7-action){grid-column:1}
#e7-action{grid-column:2;grid-row:1/span 2}
@media(min-width:1000px){
  #e7-side{position:fixed;left:0;top:var(--hd-h,60px);bottom:0;width:248px;background:var(--vert);color:#fff;overflow-y:auto;z-index:40;padding:22px 14px 30px}
  body.e7 #e7-side{display:block}
  body.e7 .view.active,body.e7 .sx-pied{margin-left:248px}
  body.e7 #sub-nav{display:none!important}
  .e7-titre{font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:rgba(255,255,255,.55);padding:0 12px 12px}
  .e7-l,.e7-g{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:10px;color:rgba(255,255,255,.86);font-size:15px;font-weight:600;text-decoration:none;margin-bottom:2px}
  .e7-l:hover{background:rgba(255,255,255,.08);color:#fff;text-decoration:none}
  .e7-l.on{background:var(--vert-m);color:#fff}
  .e7-l:focus-visible{outline:2px solid var(--or-l);outline-offset:1px}
  .e7-l svg,.e7-g svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .e7-g{color:#fff;cursor:default}
  .e7-sous{margin:0 0 6px 21px;padding-left:12px;border-left:1px solid rgba(255,255,255,.18)}
  .e7-sous .e7-l{font-size:14px;font-weight:500;padding:8px 10px}
  .e7-l em{margin-left:auto;white-space:nowrap;flex:none;font-style:normal;font-size:11px;font-weight:700;background:rgba(212,160,23,.2);color:var(--or-l);border-radius:6px;padding:2px 6px}
  .e7-l.verrou{opacity:.7}
}
@media(max-width:760px){
  body.e7b #e7-bas{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:90;background:var(--blanc);
    border-top:1px solid var(--gris-b);box-shadow:0 -6px 20px rgba(15,24,40,.08);
    padding:6px max(8px,env(safe-area-inset-right,0px)) calc(6px + env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px))}
  body.e7b{padding-bottom:calc(66px + env(safe-area-inset-bottom,0px))}
  #e7-bas a{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 2px;min-height:52px;border-radius:10px;color:var(--texte-d);font-size:12px;font-weight:600;text-decoration:none}
  #e7-bas a.on{color:var(--vert-m)}
  #e7-bas a.on svg{background:var(--vert-pale)}
  #e7-bas svg{width:42px;height:28px;padding:3px 10px;border-radius:999px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;box-sizing:border-box}
  #e7-bas a:focus-visible{outline:2px solid var(--vert-m);outline-offset:-2px}
  .welcome.e7-tete{grid-template-columns:1fr}
  #e7-action{grid-column:1;grid-row:auto}
  #e7-action .h7-b{width:100%;justify-content:center}
}

/* v157j : finitions de Mon espace */
.ve-b-t{display:flex;align-items:center;gap:12px;margin-bottom:6px}
.ve-b-t h3{margin:0!important}
.ve-banniere{display:block!important;padding:20px 22px!important}
.ve-banniere .ve-ico{width:40px;height:40px}
.ve-banniere p{margin:0 0 14px!important}
.ve-sem-note{margin:-4px 0 12px;font-size:14px;color:var(--texte-d)}
.ve-sem-note b{color:var(--texte)}
.ve-sem.avenir{opacity:1!important;background:var(--blanc);border-style:dashed;border-color:#B9C4D6}
.ve-sem.avenir b{background:transparent;border:1.5px solid #B9C4D6;color:var(--texte-d)}
.ve-sem.avenir .ve-etat{color:var(--texte-d)}
.ve-sem.indet{background:var(--blanc);border-color:var(--gris-b)}
.ve-sem.indet b{background:var(--vert-x);color:var(--texte-d)}
.ve-sem:focus-visible,.ve-tuile:focus-visible{outline:3px solid color-mix(in srgb,var(--vert-m) 45%,transparent);outline-offset:2px}
#abo-dash-card .abo-d-st{margin:0 0 6px}
#abo-dash-card .abo-d-tx{margin:0 0 12px;font-size:14px;color:var(--texte-d)}
#maitre-card .mt-res{margin:0 0 12px;font-size:14px;color:var(--texte-d);line-height:1.5}
#maitre-form{margin-top:4px}
#view-dashboard .card,#view-dashboard .ve,#view-dashboard [id$="-card"]{scroll-margin-top:calc(var(--hd-h,64px) + 14px)}
.view [id]{scroll-margin-top:calc(var(--hd-h,64px) + 14px)}
@media(max-width:760px){
  #view-dashboard .welcome{padding:2px 0 12px!important;margin:0 0 14px!important}
  #view-dashboard .welcome h2{font-size:26px!important}
  #view-dashboard .welcome p{font-size:15px!important}
  .ve-haut{gap:10px!important;margin-bottom:16px!important}
  .ve-banniere{padding:16px 16px!important;border-radius:14px!important}
  .ve-banniere h3{font-size:18px!important}
  .ve-banniere p{font-size:14px!important;margin-bottom:12px!important}
  .ve-banniere .btn{width:100%;justify-content:center;min-height:46px}
  .ve-banniere .ve-ico{width:36px;height:36px}
  .ve-echeance{padding:14px 16px!important}
  .ve-echeance h3{font-size:16px!important}.ve-echeance p{margin-bottom:10px!important}
  .ve-titre{font-size:18px!important;margin-bottom:10px!important}
  .ve-sems{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
  .ve-sem{padding:10px 4px 9px!important;gap:4px!important;min-height:48px}
  .ve-sem b{width:34px!important;height:34px!important;font-size:15px!important}
  .ve-sem small{display:block;font-size:10.5px!important;line-height:1.25;text-align:center}
  .ve-etat{font-size:12px!important}
  .ve-trio{gap:8px!important}
  .ve-tuile{padding:12px 14px!important;min-height:56px}
  /* navigation secondaire : seulement les rubriques de la destination active */
  body.e7b.e7-sans-sous #sub-nav{display:none!important}
  body.e7b #sub-nav #tab-dashboard{display:none!important}
  #sub-nav{scroll-snap-type:x proximity;scrollbar-width:none}
  #sub-nav::-webkit-scrollbar{display:none}
  #sub-nav .nav-tab{scroll-snap-align:center;flex:none;min-height:44px}
  #sub-nav.defile-d{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 36px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 36px),transparent)}
  #sub-nav.defile-g{-webkit-mask-image:linear-gradient(90deg,transparent,#000 36px);mask-image:linear-gradient(90deg,transparent,#000 36px)}
  #sub-nav.defile-g.defile-d{-webkit-mask-image:linear-gradient(90deg,transparent,#000 36px,#000 calc(100% - 36px),transparent);mask-image:linear-gradient(90deg,transparent,#000 36px,#000 calc(100% - 36px),transparent)}
  #sub-nav .nav-tab:focus-visible{outline:2px solid var(--vert-m);outline-offset:-4px}
  /* barre inférieure : effacée pendant la saisie (clavier virtuel) */
  body.e7-saisie #e7-bas,body.e7-clavier #e7-bas{display:none!important}
  body.e7-saisie.e7b,body.e7-clavier.e7b{padding-bottom:0}
  .view [id]{scroll-margin-top:calc(var(--hd-h,64px) + 14px)}
}

/* v157k : page de compte, résumés, échéances repliées, pied compact, barre latérale pleine hauteur */
#profil-resume .rs-tx,#cv-resume .rs-tx{margin:0 0 12px;font-size:14px;color:var(--texte-d);line-height:1.5}
.hc-vide{display:none;margin:0;font-size:14px;color:var(--texte-d)}
#heures-card.vide .hc-vide{display:block}
#heures-card.vide .stat-row{display:none!important}
#ech-ics[hidden]{display:none!important}
#view-rapport #ech-card{margin-bottom:16px}
.ve-tuile small,.ve-sem small{color:var(--texte-d)!important}
.e7-cpt{display:none}
#e7-pied{display:none}
body.e7 .sx-pied{display:none!important}
body.e7 #e7-pied{display:block;border-top:1px solid var(--gris-b);background:var(--blanc);margin-top:28px}
.e7-pied-in{max-width:1196px;margin:0 auto;padding:16px 24px 18px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px;font-size:13.5px;color:var(--texte-d)}
.e7-pied-in nav{display:flex;flex-wrap:wrap;gap:4px 16px}
.e7-pied-in nav a,.e7-pied-in nav button{background:none;border:0;padding:6px 0;font:inherit;color:var(--d-vt,var(--vert));font-weight:600;cursor:pointer;text-decoration:none}
.e7-pied-in nav a:hover,.e7-pied-in nav button:hover{text-decoration:underline}
.e7-pied-in nav a:focus-visible,.e7-pied-in nav button:focus-visible{outline:2px solid var(--vert-m);outline-offset:2px;border-radius:4px}
.e7-pied-in p{flex:1 1 360px;margin:0;line-height:1.45}
.e7-pied-in span{white-space:nowrap}
@media(min-width:1100px){#view-dashboard .dash-aside{position:static!important;max-height:none!important;overflow:visible!important}}
@media(min-width:1000px){
  /* la colonne bleue se prolonge sur toute la hauteur du document (y compris dans une capture pleine page) */
  body.e7{background-image:linear-gradient(var(--vert),var(--vert));background-size:248px 100%;background-repeat:repeat-y;background-position:0 0}
  body.e7 #e7-pied{margin-left:248px}
  #e7-side{display:none;flex-direction:column}
  body.e7 #e7-side{display:flex!important;height:calc(100vh - var(--hd-h,60px));height:calc(100dvh - var(--hd-h,60px));bottom:auto;overscroll-behavior:contain}
}
@media(max-width:760px){
  .e7-cpt{display:flex;gap:6px;margin:0 0 14px;padding:4px;background:var(--vert-x);border-radius:12px}
  .e7-cpt a{flex:1;text-align:center;padding:10px 6px;min-height:44px;display:flex;align-items:center;justify-content:center;border-radius:9px;font-size:14px;font-weight:600;color:var(--texte-d);text-decoration:none}
  .e7-cpt a.on{background:var(--blanc);color:var(--vert-m);box-shadow:0 1px 3px rgba(15,24,40,.12)}
  .e7-cpt a:focus-visible{outline:2px solid var(--vert-m);outline-offset:1px}
  .e7-pied-in{padding:14px 16px 16px;font-size:13px}
}

/* v157l : finitions visuelles et interactions de Mon espace */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* parcours des semestres : un fil continu, le présent marqué, le passé à renseigner signalé */
.ve-sem{position:relative;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.ve-sem:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(15,24,40,.08)}
.ve-sem:not(:last-child)::after{content:'';position:absolute;top:36px;left:calc(50% + 24px);width:calc(100% - 48px + 10px);height:2px;background:repeating-linear-gradient(90deg,#B9C4D6 0 6px,transparent 6px 11px);pointer-events:none}
.ve-sem.passe:not(:last-child)::after,.ve-sem.present::after{background:var(--vert-m)!important}
.ve-sem.present::after{background:linear-gradient(90deg,var(--vert-m),#B9C4D6)!important}
.ve-sem.cur{border-color:var(--vert)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--vert-m) 18%,transparent)!important;background:linear-gradient(180deg,var(--vert-x),var(--blanc))!important}
.ve-sem.cur b{box-shadow:0 0 0 4px color-mix(in srgb,var(--or-l,#D4A017) 40%,transparent)}
.ve-sem.passe.vide{border-color:color-mix(in srgb,var(--or) 55%,var(--gris-b))}
.ve-sem.passe.vide b{background:color-mix(in srgb,var(--or-l,#D4A017) 18%,var(--blanc));color:var(--d-ort,#8A6410)}
.ve-sem.passe.vide .ve-etat{color:var(--d-ort,#8A6410)}
.ve-sem.passe.vide .ve-etat i{border-color:var(--or)}
.ve-sem-aide{margin:-6px 0 16px;font-size:13px;color:var(--texte-d)}
.ve-sem-aide b{color:var(--vert)}
.ve-banniere{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--vert) 0%,color-mix(in srgb,var(--vert) 82%,var(--vert-m)) 100%)!important}
.ve-banniere .btn{transition:transform .15s ease,box-shadow .15s ease}
.ve-banniere .btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(36,84,214,.35)}
.ve-echeance{border-left:4px solid var(--or)!important}
.ve-echeance.urg{border-left-color:var(--rouge,#B42318)!important}
.ve-tuile{transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.ve-tuile:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(15,24,40,.08);border-color:var(--vert-m)}
.ve-tuile .st-ico{transition:background .18s ease,color .18s ease}
.ve-tuile:hover .st-ico{background:var(--vert-m);color:#fff}
.pe-list li{transition:background .15s ease}
.pe-list li:hover{background:color-mix(in srgb,var(--vert-x) 70%,transparent)}
/* colonne droite : informations de compte, plus sobres que le suivi du stage */
#view-dashboard .dash-aside>.card{box-shadow:none;border:1px solid var(--gris-b);background:color-mix(in srgb,var(--vert-x) 55%,var(--blanc))}
#view-dashboard .dash-aside>.card .card-head{padding:14px 18px 10px;border-bottom:0}
#view-dashboard .dash-aside>.card .card-head h3{font-size:15.5px}
#view-dashboard .dash-aside>.card .card-body{padding:0 18px 16px}
#view-dashboard .dash-aside>.card+.card{margin-top:12px}
#abo-dash-card .card-head{flex-wrap:wrap;gap:6px 10px}
/* panneaux qui s'ouvrent */
@keyframes e7-ouvre{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
#maitre-form:not([hidden]),details[open]>.card-body,details[open]>.sx-dep-in,.d7-pli[open]>:not(summary){animation:e7-ouvre .22s ease}
@keyframes e7-flash{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--or-l,#D4A017) 70%,transparent)}100%{box-shadow:0 0 0 10px transparent}}
.e7-flash{animation:e7-flash .9s ease-out}
/* liens et boutons : survol et focus visibles */
#e7-side .e7-l{transition:background .15s ease,color .15s ease}
#e7-bas a{transition:color .15s ease}
#e7-bas a svg{transition:background .2s ease}
#view-dashboard .btn:focus-visible,#view-profil .btn:focus-visible,#view-profil select:focus-visible,#view-profil input:focus-visible{outline:3px solid color-mix(in srgb,var(--vert-m) 45%,transparent);outline-offset:2px}
/* état de l'enregistrement en ligne */
#profil-sync{display:flex;align-items:center;gap:8px}
#profil-sync:empty{display:none}
#profil-sync::before{content:'';width:8px;height:8px;border-radius:50%;flex:none;background:var(--gris-m)}
#profil-sync.sync-ok::before{background:var(--vert-l,#40916C)}
#profil-sync.sync-ko::before{background:var(--or)}
#profil-sync.sync-cours::before{background:var(--vert-m);animation:e7-pulse 1s ease-in-out infinite}
@keyframes e7-pulse{50%{opacity:.3}}
/* page Mon profil et mon CV : sections */
.pf-sec{margin:20px 0 10px;padding-top:14px;border-top:1px solid var(--gris-b);font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--vert)}
#profil-card .card-body>.pf-sec:first-of-type,#cv-body>.pf-sec:first-of-type{margin-top:6px}
#profil-card .pf-sec:first-of-type{border-top:0;padding-top:0}
.pf-lib{display:none;margin-top:6px;font-size:13.5px;color:var(--texte);font-weight:600}
@media(max-width:900px){.ve-sem:nth-child(3n)::after{display:none}}
.ve-etat{justify-content:center;flex-wrap:wrap;line-height:1.3}
@media(max-width:760px){
  .pf-lib{display:block}
  /* deux colonnes sur deux rangées ; une seule colonne si l'écran est très étroit ou le texte fortement agrandi (unité em) */
  #heures-card .stat-row{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,8em),1fr));gap:8px}
  #heures-card .stat-box{margin:0!important;padding:12px 8px;min-width:0}
  #heures-card .stat-box .val{font-size:26px;font-weight:800;color:var(--vert);line-height:1.1}
  #heures-card .stat-box .lbl{font-size:12px;letter-spacing:.04em;color:var(--texte-d);overflow-wrap:anywhere}
  .ve-sem:not(:last-child)::after{width:calc(100% - 48px + 8px)}
  .ve-sem:nth-child(3n)::after{display:none}
  .ve-sem::after{top:27px!important;left:calc(50% + 19px)!important;width:calc(100% - 38px + 8px)!important}
}
@media(prefers-reduced-motion:reduce){
  .ve-sem,.ve-tuile,.ve-tuile .st-ico,.pe-list li,.ve-banniere .btn,#e7-side .e7-l,#e7-bas a,#e7-bas a svg{transition:none!important}
  .ve-sem:hover,.ve-tuile:hover,.ve-banniere .btn:hover{transform:none!important}
  #maitre-form:not([hidden]),details[open]>.card-body,details[open]>.sx-dep-in,.d7-pli[open]>:not(summary),.e7-flash,#profil-sync.sync-cours::before{animation:none!important}
}

/* v158 : chiffres de l'interface dans la police du site, chiffres tabulaires (le document imprimé garde sa mise en forme) */
.card-head .pill,.ech-card .dlim,.stat-box .val,.day-block-head .dh-date,.act-row .h-input,.sb-val,.wfh-ts,.cm-ts,.per-h,.hero-fact b,#wk-num,.kpi .kv{font-family:var(--sans)!important;font-variant-numeric:tabular-nums}

.e7-tete-c{padding-bottom:0!important}
.e7-tete-c+.container{padding-top:6px!important}
.welcome.e7-page{margin-bottom:6px!important}
.ana-empty b{color:var(--texte)}
@media screen and (max-width:760px){
  #paper{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .e7-tete-c{padding-top:14px!important}
  .welcome.e7-page h2{font-size:26px!important}
  .welcome.e7-page p{font-size:14.5px!important}
}
@media print{.e7-tete-c{display:none!important}}

/* v158b : aide de mise en forme du cas pratique repliable */
.cp-aide{margin:0 0 14px;border:1px solid var(--gris-b);border-radius:12px;background:var(--blanc)}
.cp-aide>summary{cursor:pointer;padding:12px 16px;font-weight:600;font-size:14px;color:var(--vert);list-style:none;display:flex;align-items:center;gap:8px}
.cp-aide>summary::-webkit-details-marker{display:none}
.cp-aide>summary::before{content:'';width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .2s ease}
.cp-aide[open]>summary::before{transform:rotate(45deg)}
.cp-aide>summary:focus-visible{outline:3px solid color-mix(in srgb,var(--vert-m) 45%,transparent);outline-offset:2px;border-radius:12px}
.cp-aide>.info-banner{margin:0 12px 12px}
@media(prefers-reduced-motion:reduce){.cp-aide>summary::before{transition:none}}

/* v158c : grilles compactes sur téléphone */
@media screen and (max-width:760px){
  .stat-row{grid-template-columns:repeat(auto-fit,minmax(min(100%,8em),1fr))!important;gap:8px!important}
  .stat-row .stat-box{margin:0!important;min-width:0}
  .stat-box .lbl{overflow-wrap:anywhere}
  .st-tuiles{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,9.5em),1fr))!important;gap:8px!important}
  .st-tuiles>div{padding:12px!important;min-width:0;flex-direction:column!important;align-items:flex-start!important;gap:6px!important}
  .st-tuiles b,.st-tuiles strong{font-size:21px!important;line-height:1.15;white-space:nowrap}
  .kpi-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,8em),1fr))!important}
}

/* v158d : sous-option du cas pratique, indices de défilement de la sous-navigation, état vide de l'analyse */
.cp-sous-opt{margin:4px 0 0 26px!important;font-size:13.5px!important;color:var(--texte-d)}
.cp-sous-opt[hidden]{display:none!important}
.sub-ind{display:none}
@media(max-width:760px){
  .app-bar{position:sticky}
  .sub-ind{position:absolute;z-index:3;width:30px;border:0;padding:0;font-size:22px;line-height:1;color:var(--vert-m);cursor:pointer;opacity:0;pointer-events:none;transition:opacity .15s ease;display:flex;align-items:center;justify-content:center}
  .sub-ind-d{right:0;background:linear-gradient(90deg,transparent,var(--vert-x) 45%)}
  .sub-ind-g{left:0;background:linear-gradient(270deg,transparent,var(--vert-x) 45%)}
  .sub-ind.on{opacity:1;pointer-events:auto}
  body.e7b.e7-sans-sous .sub-ind{display:none!important}
}
@media(prefers-reduced-motion:reduce){.sub-ind{transition:none}}
.ana-vide{text-align:left!important;max-width:620px;margin:0 auto;padding:6px 4px!important}
.ana-vide .ana-vide-t{font-size:15px;margin-bottom:6px;color:var(--texte)}
.ana-vide p{margin:0 0 6px;color:var(--texte-d);font-size:14px}
.ana-vide ul{margin:0 0 14px;padding-left:20px;color:var(--texte-d);font-size:14px;line-height:1.55}

/* ===================== v159 : pages de parcours ===================== */
.view.p9 .dp-seg{display:none}
.p9-hero{display:grid!important;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:40px;align-items:center}
.p9-hero .dp-hero-t{min-width:0}
.p9-hero .dp-hero-a{margin-top:22px}
.p9-lead{font-size:16.5px;line-height:1.65;color:var(--texte-d);max-width:56ch;margin:14px 0 0}
.view.p9 .dp-tete h1{font-size:clamp(38px,4.6vw,60px);letter-spacing:-1.2px;line-height:1.02}
.view.p9 .dp-tete h1::after{content:"";display:block;width:64px;height:6px;border-radius:6px;background:var(--or-l);margin-top:16px}
.view.p9 .dp-sous{font-size:clamp(18px,1.6vw,21px);color:var(--vert-m);font-weight:600;margin-top:16px}
.p9-ap{min-width:0;position:relative}
.p9-ap::before{content:"";position:absolute;inset:18px -14px -14px 24px;border-radius:22px;background:linear-gradient(135deg,var(--vert-pale),color-mix(in srgb,var(--or-l) 25%,transparent));z-index:0}
.p9-fen{position:relative;z-index:1;margin:0;background:var(--blanc);border:1px solid var(--gris-b);border-radius:18px;box-shadow:0 22px 50px rgba(16,35,68,.16);overflow:hidden}
.p9-fen-barre{display:flex;align-items:center;gap:7px;background:var(--vert);color:#fff;padding:11px 16px;font-size:13px;font-weight:600}
.p9-fen-barre i{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.35)}
.p9-fen-barre i:first-child{background:#E5484D}.p9-fen-barre i:nth-child(2){background:#F5B83D}.p9-fen-barre i:nth-child(3){background:#3FB27F}
.p9-fen-barre span{margin-left:auto;opacity:.9}
.p9-fen-corps{padding:18px 20px 20px}
.p9-fen-t{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}
.p9-fen-t b{font-size:18px;color:var(--vert)}
.p9-fen-t span{font-size:13px;color:var(--texte-d)}
.p9-sans{background:var(--vert-x);border-radius:999px;padding:3px 10px;font-weight:600}
.p9-suj{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.p9-suj button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;background:var(--blanc);border:1px solid var(--gris-b);border-radius:12px;padding:11px 14px;font:inherit;cursor:pointer;color:var(--texte);transition:border-color .15s ease,box-shadow .15s ease}
.p9-suj button:hover{border-color:var(--vert-m);box-shadow:0 4px 12px rgba(36,84,214,.12)}
.p9-suj button:focus-visible,.p9-carte:focus-visible,.p9-lien:focus-visible{outline:3px solid color-mix(in srgb,var(--vert-m) 45%,transparent);outline-offset:2px}
.p9-suj-t{font-weight:600;font-size:14.5px;min-width:0}
.p9-badges{display:flex;gap:6px;flex:none}
.p9-badges em{font-style:normal;font-size:11.5px;font-weight:700;border-radius:999px;padding:3px 9px;white-space:nowrap}
.b-off{background:var(--vert-pale);color:var(--vert)}.b-corr{background:color-mix(in srgb,var(--or-l) 22%,var(--blanc));color:var(--d-ort,#8A6410)}
.p9-fen-pied{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid var(--gris-b);font-size:13.5px;color:var(--texte-d)}
.p9-fen-pied b{color:var(--texte)}
.p9-lien{display:inline-flex;align-items:center;gap:6px;background:none;border:0;padding:6px 0;font:inherit;font-weight:700;font-size:14px;color:var(--vert-m);cursor:pointer;text-decoration:none}
.p9-lien svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .15s ease}
.p9-lien:hover svg{transform:translateX(3px)}
.p9-vide{color:var(--texte-d);font-size:14px;margin:6px 0}
.p9-sems{list-style:none;margin:6px 0 16px;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;position:relative}
.p9-sems::before{content:"";position:absolute;left:8%;right:8%;top:17px;height:2px;background:repeating-linear-gradient(90deg,#B9C4D6 0 6px,transparent 6px 11px)}
.p9-sems li{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}
.p9-sems li span{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--blanc);border:2px solid #B9C4D6;font-weight:700;font-size:13px;color:var(--texte-d)}
.p9-sems li small{font-size:11px;color:var(--texte-d);line-height:1.2}
.p9-sems li.present span{background:var(--vert);border-color:var(--vert);color:#fff;box-shadow:0 0 0 4px color-mix(in srgb,var(--or-l) 40%,transparent)}
.p9-sems li.passe span{border-color:var(--vert-m);color:var(--vert-m)}
.p9-sems li.passe.vide span{border-color:var(--or);color:var(--d-ort,#8A6410)}
.p9-sems.neutre li span{border-style:dashed}
.p9-duo{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.p9-bloc{border:1px solid var(--gris-b);border-radius:14px;padding:12px 14px;font-size:13.5px;min-width:0}
.p9-bloc.or{background:color-mix(in srgb,var(--or-l) 8%,var(--blanc));border-color:color-mix(in srgb,var(--or-l) 35%,var(--gris-b))}
.p9-bloc>b{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--vert);margin-bottom:8px}
.p9-bloc>b svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.p9-bloc ul{list-style:none;margin:0 0 6px;padding:0}
.p9-bloc li{display:flex;gap:8px;padding:5px 0;border-bottom:1px solid var(--gris-b);line-height:1.35}
.p9-bloc li span{flex:none;color:var(--texte-d);font-variant-numeric:tabular-nums}
.p9-bloc p{margin:0 0 6px;color:var(--texte-d)}
.p9-gros{font-size:20px;font-weight:800;color:var(--texte)!important;margin:0!important}
.p9-outils{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;gap:10px}
.p9-outils li{display:flex;gap:12px;align-items:flex-start}
.p9-outils li>svg{width:36px;height:36px;padding:8px;border-radius:10px;background:var(--vert-x);color:var(--vert-m);flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.p9-outils b{display:block;font-size:14.5px}.p9-outils small{display:block;font-size:13px;color:var(--texte-d);line-height:1.4}
/* bandeau du parcours : étape de la page */
.p9-bande .h7-etape.on .h7-rond{background:var(--vert-m);color:#fff;box-shadow:0 0 0 6px rgba(255,255,255,.18),0 0 0 9px var(--vert-m)}
.p9-bande .h7-etape.fait .h7-rond{background:#fff}
.p9-ici{display:inline-block;margin-top:6px;font-style:normal;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--or-l)}
.p9-bande .h7-etape:focus-visible{outline:3px solid var(--or-l);outline-offset:4px;border-radius:10px}
/* cartes de ressources (diplômes) et d'outils (stage) */
.p9-res{margin:6px 0 26px}
.p9-h{font-size:clamp(20px,1.8vw,24px);font-weight:800;color:var(--vert);margin:0 0 16px}
.p9-h::after{content:"";display:block;width:44px;height:5px;border-radius:5px;background:var(--or-l);margin-top:10px}
.p9-cartes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.p9-carte{display:flex;flex-direction:column;align-items:flex-start;gap:12px;text-align:left;background:var(--blanc);border:1px solid var(--gris-b);border-radius:16px;padding:18px;font:inherit;color:var(--texte);cursor:pointer;text-decoration:none;position:relative;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.p9-carte:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(16,35,68,.1);border-color:var(--vert-m);text-decoration:none}
.p9-carte-ic{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--vert-pale);color:var(--vert-m);flex:none}
.p9-carte-ic.or{background:color-mix(in srgb,var(--or-l) 20%,var(--blanc));color:var(--d-ort,#8A6410)}
.p9-carte-ic svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.p9-carte-tx b{display:block;font-size:16px;margin-bottom:6px}
.p9-carte-tx small{display:block;font-size:13.5px;line-height:1.5;color:var(--texte-d)}
.p9-carte-go{position:absolute;top:18px;right:16px;width:30px;height:30px;border-radius:50%;background:var(--vert-x);color:var(--vert-m);display:grid;place-items:center}
.p9-carte-go svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.p9-carte-lien{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-weight:700;font-size:14px;color:var(--vert-m)}
.p9-carte-lien svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.p9-outils-st{margin-top:8px}
@media(max-width:1100px){.p9-cartes{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){.p9-hero{grid-template-columns:1fr;gap:26px}.p9-ap::before{inset:14px -6px -10px 14px}}
@media(max-width:600px){
  .p9-cartes{grid-template-columns:1fr;gap:10px}
  .p9-carte{flex-direction:row;padding:14px}
  .p9-carte-go{position:static;margin-left:auto;align-self:center}
  .p9-duo{grid-template-columns:1fr}
  .p9-sems li small{display:none}
  .p9-suj button{flex-direction:column;align-items:flex-start;gap:6px}
  .p9-bande .h7-etapes{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(prefers-reduced-motion:reduce){.p9-carte,.p9-suj button,.p9-lien svg{transition:none}.p9-carte:hover{transform:none}}
@media print{.p9-ap,.p9-bande{display:none!important}}

/* v159b */
.p9-hero .dp-hero-a{align-items:flex-start!important}
.p9-hero .dp-hero-a .dp-btns,.p9-hero .dp-hero-a>div{justify-content:flex-start}
:root{--mono:var(--sans)}
.cur-ue td,.kpi .kv,.bar-val,.heat td,.cov-frac,.sector-chip b,.dep-table .ar,.info-post .ip-date{font-variant-numeric:tabular-nums}

/* ===================== v159 : formules sélectionnables ===================== */
.abo-tel{display:none!important}
.abo-cartes{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:22px}
.abo-carte{position:relative;display:flex!important;flex-direction:column;gap:12px;padding:22px!important;border:1.5px solid var(--gris-b)!important;border-radius:18px!important;background:var(--blanc);cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.abo-carte:hover{border-color:color-mix(in srgb,var(--vert-m) 55%,var(--gris-b))!important;box-shadow:0 10px 26px rgba(16,35,68,.08)}
.abo-carte.haut{box-shadow:none}
.abo-r{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.abo-carte:has(.abo-r:focus-visible){outline:3px solid color-mix(in srgb,var(--vert-m) 45%,transparent);outline-offset:3px}
.abo-carte.sel{border-color:var(--vert-m)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--vert-m) 22%,transparent),0 12px 28px rgba(36,84,214,.14)!important;background:linear-gradient(180deg,color-mix(in srgb,var(--vert-pale) 55%,var(--blanc)),var(--blanc) 45%)}
.abo-carte.actuelle{border-color:var(--or)!important}
.abo-carte-t{display:flex!important;flex-direction:row!important;align-items:center;gap:14px;padding:0 0 14px!important;border-bottom:1px solid var(--gris-b);cursor:pointer;margin:0}
.abo-carte-t small{display:block;font-size:13px;color:var(--texte-d);font-weight:600}
.abo-carte-t b{font-size:21px!important;color:var(--vert)!important;letter-spacing:-.3px}
.abo-carte-ic{width:46px;height:46px;border-radius:50%;background:var(--vert-pale);color:var(--vert-m);display:grid;place-items:center;flex:none}
.abo-carte-ic svg,.abo-coche svg,.abo-rub-ic svg,.abo-avert svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.abo-coche{margin-left:auto;width:28px;height:28px;border-radius:50%;border:2px solid var(--gris-b);display:grid;place-items:center;color:transparent;flex:none;transition:all .15s ease}
.abo-coche svg{width:16px;height:16px;stroke-width:2.6}
.abo-carte.sel .abo-coche{background:var(--vert-m);border-color:var(--vert-m);color:#fff}
.abo-carte .abo-prix{font-size:clamp(24px,2.2vw,29px)!important;font-weight:800;color:var(--vert-m);margin:2px 0 0!important;letter-spacing:-.4px;white-space:nowrap}
.abo-carte .abo-inc{margin:0 0 8px!important;font-size:14.5px!important;color:var(--texte)!important}
.abo-carte ul{margin:0;padding-left:0!important;list-style:none;display:grid;gap:9px;font-size:14.5px!important;line-height:1.5}
.abo-carte li{position:relative;padding-left:26px}
.abo-carte li::before{content:"";position:absolute;left:2px;top:4px;width:15px;height:15px;border-radius:50%;background:var(--vert-pale) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4L18 8' fill='none' stroke='%232454D6' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/11px no-repeat}
.abo-carte li.abo-hors{color:var(--texte-d)}
.abo-carte li.abo-hors::before{background:var(--gris) none;content:"–";display:grid;place-items:center;font-size:11px;color:var(--texte-d);line-height:15px;text-align:center}
.abo-etat{margin:auto 0 0!important;min-height:20px;font-size:13.5px!important;font-weight:700;color:var(--vert-m)!important}
.abo-carte.actuelle .abo-etat{color:var(--d-ort,#8A6410)!important}
.abo-carte-btn{width:100%;border:0;border-radius:12px;background:var(--vert-m);color:#fff;font:inherit;font-weight:700;font-size:15px;padding:13px 16px;cursor:pointer;transition:background .15s ease,transform .15s ease}
.abo-carte-btn:hover{background:color-mix(in srgb,var(--vert-m) 85%,#000)}
.abo-carte-btn:focus-visible{outline:3px solid color-mix(in srgb,var(--vert-m) 45%,transparent);outline-offset:3px}
.abo-avert{display:flex;gap:10px;align-items:flex-start;margin:14px 0 0;font-size:14px;color:var(--texte-d);line-height:1.5}
.abo-avert svg{width:18px;height:18px;flex:none;color:var(--d-ort,#8A6410);margin-top:2px}
.abo-comparer{margin-top:18px;border:1px solid var(--gris-b);border-radius:14px;background:var(--blanc)}
.abo-comparer>summary{cursor:pointer;padding:14px 18px;font-weight:700;color:var(--vert)}
.abo-comparer>.abo-tbl-zone{padding:0 14px 14px}
/* les quatre blocs explicatifs */
.abo-rubs{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;margin-top:22px}
.abo-rub{display:flex;gap:16px;align-items:flex-start;background:var(--blanc);border:1px solid var(--gris-b);border-radius:16px;padding:18px 20px}
.abo-rub-ic{width:46px;height:46px;border-radius:50%;background:var(--vert-pale);color:var(--vert-m);display:grid;place-items:center;flex:none}
.abo-rub h4{margin:2px 0 8px;font-size:16.5px;color:var(--vert)}
.abo-rub ul{margin:0;padding:0;list-style:none;display:grid;gap:7px}
.abo-rub li{font-size:14.5px;line-height:1.55;color:var(--texte-d);max-width:62ch}
.abo-rub li b{color:var(--texte);font-weight:650;display:inline!important;font-size:inherit!important;margin:0!important}
.abo-carte li.abo-hors{list-style:none!important}
@media(max-width:1000px){.abo-cartes{grid-template-columns:1fr!important}.abo-carte{max-width:640px}}
@media(max-width:760px){.abo-rubs{grid-template-columns:1fr!important}.abo-rub{padding:16px}.abo-rub-ic{width:40px;height:40px}}
@media(prefers-reduced-motion:reduce){.abo-carte,.abo-coche,.abo-carte-btn{transition:none}}


/* v159e : bandeau du parcours compact sur téléphone */
@media(max-width:600px){
  .p9-bande .h7-parc-in{gap:14px!important;padding-top:22px!important;padding-bottom:22px!important}
  .p9-bande h2{font-size:20px!important}
  .p9-bande .h7-etapes{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:4px!important}
  .p9-bande .h7-etapes::before{left:12%;right:12%;top:21px}
  .p9-bande .h7-etape{align-items:center;text-align:center;padding:0;gap:4px}
  .p9-bande .h7-rond{width:42px;height:42px;box-shadow:0 0 0 4px rgba(255,255,255,.14)}
  .p9-bande .h7-rond svg{width:20px;height:20px}
  .p9-bande .h7-etape b{font-size:12.5px;margin-top:4px;line-height:1.2}
  .p9-bande .h7-etape small{display:none}
  .p9-bande .p9-ici{font-size:10px;margin-top:2px}
}

/* v159f : états des formules */
.abo-pastille{margin-left:8px;font-size:11.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;background:color-mix(in srgb,var(--or-l) 25%,var(--blanc));color:var(--d-ort,#8A6410);border:1px solid color-mix(in srgb,var(--or-l) 55%,transparent);border-radius:999px;padding:3px 9px}
.abo-carte.sel .abo-coche{background:var(--blanc)!important;border-color:var(--vert-m)!important;color:var(--vert-m)!important}
.abo-carte.sel{background:var(--blanc)!important;border-style:dashed!important}
.abo-carte.actuelle{box-shadow:0 0 0 3px color-mix(in srgb,var(--or-l) 30%,transparent)!important}
.abo-recap{margin:14px 0 0;padding:12px 14px;border-radius:12px;background:var(--vert-x);border:1px solid var(--gris-b);font-size:14.5px;line-height:1.55;color:var(--texte)}
#abo-form .abo-recap{margin:0 0 14px}
@media(max-width:760px){
  #abo-form .grid-3,#abo-form .grid-2{grid-template-columns:1fr!important}
  #abo-form .abo-choix{grid-template-columns:1fr!important}
  #abo-form input,#abo-form textarea,#abo-form select{font-size:16px}
  .tel-actions .btn{flex:1;min-height:46px}
  body.e7b .view.active{padding-bottom:16px}
  /* la barre fixe du bas et l'en-tête ne masquent pas un champ atteint au clavier ou par un lien */
  html:has(body.e7b){scroll-padding-bottom:calc(86px + env(safe-area-inset-bottom,0px));scroll-padding-top:calc(var(--hd-h,64px) + 8px)}
}

.abo-etat.attente{color:var(--d-ort,#8A6410)!important}

/* ===================== v160 : paiement en ligne ===================== */
.abo-enligne{border:1.5px solid var(--vert-m);border-radius:16px;padding:16px 18px;margin-bottom:14px;background:color-mix(in srgb,var(--vert-pale) 30%,var(--blanc))}
.abo-enligne h4{margin:0 0 4px;font-size:17px;color:var(--vert)}
.abo-enligne>p{margin:0 0 12px;color:var(--texte-d)}
.abo-enligne .info-banner{margin:0 0 12px}
.abo-manuel{border:1px solid var(--gris-b);border-radius:14px;padding:4px 14px}
.abo-manuel>summary{cursor:pointer;padding:10px 0;font-weight:600}
.abo-manuel[open]>summary{margin-bottom:8px}
.abo-suivi .btn{margin-left:6px}
@media(max-width:600px){.abo-enligne{padding:14px}.abo-enligne .btn-or{width:100%}}

/* ===================== v161 ===================== */
.sug-piege{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.msg-adm{border:1px solid var(--gris-b);border-radius:12px;padding:12px 14px;margin-bottom:10px}
.msg-adm.nonlu{border-color:var(--vert-m);background:color-mix(in srgb,var(--vert-pale) 35%,var(--blanc))}
.msg-adm-t{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}
.msg-adm-x{margin:8px 0 10px;white-space:pre-wrap;overflow-wrap:anywhere}
.msg-adm-a{display:flex;gap:8px;flex-wrap:wrap}
#auth-renvoi{margin-left:4px}
.abo-p-choix .abo-p-dip,.abo-p-choix .abo-p-px{display:block}
@media(max-width:600px){
  .abo-p-choix{display:grid;grid-template-columns:1fr;gap:8px}
  .abo-p-choix label{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center;padding:10px 12px;margin:0}
  .abo-p-choix label input{grid-row:1/3;margin:0}
  .abo-p-choix label b{font-size:15px}
  .abo-p-choix label small{display:flex;flex-wrap:wrap;gap:0 8px;font-size:12.5px;line-height:1.4}
  .abo-p-choix .abo-p-dip,.abo-p-choix .abo-p-px{display:inline}
  .abo-p-choix .abo-p-dip::after{content:" ·";}
}

/* ===================== v162 ===================== */
.msg-adm-rep{border-left:3px solid var(--vert-m);padding:4px 10px;margin:0 0 8px;background:color-mix(in srgb,var(--vert-pale) 25%,var(--blanc));border-radius:0 8px 8px 0}
.msg-adm-rep p{margin:2px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
.msg-adm-f textarea{width:100%;margin:2px 0 8px}
@media print{#e7-side,#e7-bas{display:none!important}body.e7 .view.active,body.e7 .sx-pied{margin-left:0!important}}
