@charset "UTF-8";



:root{
  --vert:#1B4332; --vert-m:#2D6A4F; --vert-l:#40916C; --vert-pale:#D8F3DC; --vert-x:#F0FBF2;
  --or:#B7881C; --or-l:#D4A017; --or-pale:#FEF9EE;
  --orange:#D97706; --rouge:#C0392B; --rouge-pale:#FEF2F2; --bleu:#1F5F8B; --bleu-pale:#EAF4FA;
  --gris:#F6F2E7; --gris-b:#E6DFCD; --gris-m:#9C9A8C;
  --texte:#1A1A18; --texte-d:#4A4F45; --blanc:#FFFFFF;
  --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);
  --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:40px;height:40px;flex-shrink:0;display:block}
.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:#8F6A12;color:#fff}.btn-or:hover{background:#7A5A0E}
.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:140px;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,#FCFCFA)}
.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:260px;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,#F7F7F3);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 .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,#F7F7F3);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 .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:9px;margin-bottom:6px;table-layout:fixed}
.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:right}
.fiche td{padding:4px 6px;border:1px solid var(--gris-b);vertical-align:top;line-height:1.3}
.fiche td.num{text-align:right;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:right}
.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:#aaa;font-style:italic}
.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}
.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:right;width:58px}
.detail td{padding:6px 9px;border:1px solid var(--gris-b);vertical-align:top;line-height:1.5}
.detail td.num{text-align:right;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}
.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}
.apprec-box{border:1px solid var(--gris-b);border-radius:5px;min-height:80px;margin-top:8px;padding:10px;background:var(--d-fond2,#FCFCFA)}

/* 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,#FCFCFA)}
.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'%3ESTAGEXPERT%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:"stagexpert.org — 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}
  .sheet.brk{break-before:page}
  .sheet.nobrk{break-inside:avoid}
  .card{box-shadow:none;break-inside:avoid}
  .ev-com,.apprec-edit,.ev-date{border:none!important;background:none!important;padding:2px 0!important;resize:none;font-size:11px}
  .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:1.4cm 1.3cm;@bottom-center{content:counter(page) " / " counter(pages);font-size:10.5px;color:#666}}
}
@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{display:none}
  .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,#FCFCFA)}
.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,#FCFCFA)}
.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,#FCFCFA)}
.cur-note{font-size:13.5px;line-height:1.55;color:var(--texte-d);background:var(--d-fond2,#FCFCFA);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}
@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:38px;height:38px;background:var(--or);border-radius:9px;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}
.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}
.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}
.logo-mark{width:34px;height:34px}
.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 button{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)}
.nav-dd button:hover,.nav-dd button:focus-visible{background:var(--gris);outline:none}
.nav-dd button.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 button.locked{opacity:.55;cursor:not-allowed}
.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 : l'image du parcours entière (jamais recadrée) à côté du titre, à 560 px ; sous le titre sur téléphone */
.ac-hero{padding-top:36px;padding-bottom:36px;gap:28px 48px}
.ac-illus{flex:1 1 400px;max-width:560px}
@media(max-width:700px){.ac-hero{padding-top:20px}}
/* ===== v43 — MODE SOMBRE ===== */
:root{--th-pale:#D8F3DC;--th-x:#F0FBF2}
@media screen{
html[data-affichage="sombre"]{color-scheme:dark;
  --gris:#101412;--blanc:#1A1F1C;--gris-b:#2E3732;--gris-m:#8B958F;--texte:#E5E8E4;--texte-d:#AAB3AD;
  --vert-pale:color-mix(in srgb,var(--vert-l) 28%,#1A1F1C)!important;--vert-x:color-mix(in srgb,var(--vert-l) 13%,#1A1F1C)!important;
  --or-pale:#2A2415;--rouge-pale:#2E1B1B;--bleu-pale:#15262F;
  --d-fond2:#212723;--d-fond3:#29302B;--d-orp:#2E2716;--d-bleup:#15262F;--d-rougep:#2E1B1B;
  --d-tx:#E5E8E4;--d-txd:#AAB3AD;--d-ort:#E3B84E;--d-vt:color-mix(in srgb,var(--vert-l) 50%,#fff);--d-rt:#F2A0A0;--d-bt:#8EC5E8;
  --d-bd:#38423C;--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}
.dp-frise{display:flex;align-items:center;margin-bottom:20px;overflow-x:auto;scrollbar-width:none}
.dp-frise::-webkit-scrollbar{display:none}
.dp-frise i{flex:0 0 46px;height:2px;background:var(--d-bd,#DAD9D0);margin:0 10px}
.dp-etp{display:flex;align-items:center;gap:8px;flex-shrink:0;background:none;border:0;font-family:inherit;font-size:14px;color:var(--texte-d);cursor:pointer;padding:4px 0}
.dp-etp b{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--vert-pale);color:var(--d-vt,var(--vert));font-size:13px}
.dp-etp:hover{color:var(--d-vt,var(--vert))}
.dp-etp.cur{color:var(--d-vt,var(--vert));font-weight:700}
.dp-etp.cur b{background:var(--or-l);color:#1A1A18}
.dp-hero{display:flex;flex-wrap:wrap;gap:24px 48px;align-items:center}
.dp-hero-t{flex:1 1 440px;min-width:0}
.dp-sur{font-size:12.5px;font-weight:700;color:var(--d-ort,#7A5A0E);letter-spacing:1px;text-transform:uppercase;margin-bottom:8px}
.dp-chiffres{display:flex;border:1px solid var(--d-bd,#DAD9D0);border-radius:14px;overflow:hidden;background:var(--blanc)}
.dp-chiffres>div{flex:1 1 0;padding:16px 22px;min-width:118px}
.dp-chiffres>div+div{border-left:1px solid var(--d-bd,#DAD9D0)}
.dp-chiffres b{display:block;font-size:30px;line-height:1.15;color:var(--d-vt,var(--vert))}
.dp-chiffres span{display:block;font-size:13px;color:var(--texte-d);line-height:1.35}
.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,#DAD9D0);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-chiffres{width:100%}.dp-chiffres>div{padding:12px 14px;min-width:0}.dp-chiffres b{font-size:24px}
  .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,#DAD9D0);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-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:#8F6A12;color:#fff}
.ac-btn.plein:hover{background:#7A5A0E}
.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-illus{flex:1 1 360px;max-width:480px;margin:0}
.ac-illus img{display:block;width:100%;height:auto;aspect-ratio:1672/941;border-radius:16px;border:1px solid var(--d-bd,#DAD9D0);background:#CFE6F3}
.ac-illus figcaption{font-size:13px;color:var(--d-txd,#3F4A45);margin-top:8px;text-align:center}
.ac-chiffres{display:flex;flex-wrap:wrap;gap:8px 28px;margin-top:24px;padding-top:18px;border-top:1px solid var(--d-bd,#DAD9D0)}
.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,#F7F6F1);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,#DAD9D0);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}
.ac-apercus{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px}
.ac-apercu figure{margin:0;background:var(--d-fond2,#F7F6F1);border:1px solid var(--d-bd,#DAD9D0);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,#DAD9D0);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,#F7F6F1);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,#DAD9D0);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,#DAD9D0);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,#DAD9D0);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,#DAD9D0);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,#DAD9D0);border-bottom:1px solid var(--d-bd,#DAD9D0)}
.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,#F7F6F1);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 12px}
.dp-sous{font-size:18px;line-height:1.55;color:var(--d-txd,#3F4A45);max-width:720px;margin:0 0 6px}
.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,#DAD9D0);border-bottom:1px solid var(--d-bd,#DAD9D0)}
.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}
.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,#DAD9D0);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,#DAD9D0);border-radius:12px;overflow:hidden;margin-bottom:12px}
.dp-suj-t{padding:11px 16px;background:var(--d-fond2,#F7F6F1);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-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}
