:root{--accent:#0f6b45;--accent-doux:color-mix(in srgb, var(--accent) 12%, #fff);--accent-halo:color-mix(in srgb, var(--accent) 18%, transparent);--carmin:#c8102e;--anthracite:#22272e;--ink:#1a1d21;--muted:#6b7280;--line:#e6e8eb;--bg:#f6f7f9;--card:#fff;--ok:#1f9d55;--warn:#b7791f;--stop:var(--carmin);--radius:12px;--shadow:0 1px 2px #1018280a, 0 4px 16px #1018280d;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--chiffres:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--colonne:232px}*{box-sizing:border-box}html,body{max-width:100%;margin:0;padding:0;overflow-x:clip}body{font-family:var(--font);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.5}a{color:var(--accent);text-decoration:none}h1,h2,h3{color:var(--anthracite);letter-spacing:-.01em;font-weight:650}.chiffres{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.app{grid-template-columns:var(--colonne) minmax(0, 1fr);min-height:100vh;display:grid}.barre-mobile,.voile-menu{display:none}.brand-btn{cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;padding:4px 8px;display:inline-flex}.brand-btn img{width:auto;height:48px;display:block}.side{border-right:1px solid var(--line);background:#fff;flex-direction:column;align-self:start;gap:4px;height:100dvh;padding:20px 14px 24px;display:flex;position:sticky;top:0;overflow-y:auto}.side .brand{align-items:center;padding:4px 10px 20px;display:flex}.side .brand img{width:auto;height:56px;display:block}.side .brand-replier{cursor:pointer;background:0 0;border:none;border-radius:8px;width:auto;margin:0;padding:0}.side .brand-replier:hover{background:0 0}@media (min-width:861px){.app.colonne-repliee{grid-template-columns:minmax(0,1fr)}.app.colonne-repliee .side{display:none}.app.colonne-repliee .barre-mobile{z-index:45;border-bottom:1px solid var(--line);background:#fff;align-items:center;padding:4px 10px;display:flex;position:sticky;top:0}.app.colonne-repliee .barre-flottante{left:0}}.side-groupe{flex-direction:column;gap:2px;margin-bottom:22px;display:flex}.side-titre{text-transform:uppercase;letter-spacing:.06em;color:#9aa3ae;padding:0 10px 6px;font-size:11px;font-weight:650}.side button,.side a{text-align:left;color:#4b5563;cursor:pointer;width:100%;font-size:14.5px;font-weight:520;font-family:var(--font);background:0 0;border:none;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.side button:hover{color:var(--anthracite);background:#f3f5f8}.side button.actif{color:var(--anthracite);background:#eef1f5;font-weight:600}.side button.sous{padding-left:20px;font-size:14px}.side .pied{margin-top:auto;padding-top:16px}.side-section{margin-bottom:6px}.side-entrees{flex-direction:column;gap:2px;display:flex}.side .pied .side-section{margin-bottom:2px}.filtre-actif{margin-bottom:12px;display:flex}.pilule-filtre{border:1px solid var(--line);color:var(--anthracite);font-size:13px;font-weight:560;font-family:var(--font);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:8px;padding:5px 12px;display:inline-flex}.pilule-filtre:hover{background:#f3f5f8}.pilule-filtre:focus-visible{outline:2px solid var(--anthracite);outline-offset:2px}.pastille{background:var(--stop);border-radius:50%;flex:none;width:7px;height:7px}.wrap{width:100%;max-width:940px;margin:0 auto;padding:26px 26px 110px}.page-title{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:4px 0 20px;display:flex}.page-title h1{margin:0;font-size:25px}.page-title .sous{color:var(--muted);margin:4px 0 0;font-size:14px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.grid{gap:14px;display:grid}.grid.stats{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.stat .n{color:var(--anthracite);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:26px;font-weight:700}.stat .l{color:var(--muted);margin-top:2px;font-size:13px}.stat .devise{color:var(--muted);margin-right:4px;font-size:14px;font-weight:600}.btn{border:1px solid var(--line);color:var(--anthracite);cursor:pointer;font-size:14px;font-weight:560;font-family:var(--font);background:#fff;border-radius:9px;align-items:center;gap:7px;padding:9px 14px;display:inline-flex}.btn:hover{border-color:#cdd2d8}.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.primary:hover{filter:brightness(.96)}.btn.ghost{color:var(--muted);background:0 0;border-color:#0000}.btn.danger{color:var(--stop);border-color:#f0d4d0}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.sm{padding:6px 10px;font-size:13px}.btn:focus-visible,.side button:focus-visible,.pastille-article:focus-visible{outline:2px solid var(--accent);outline-offset:2px}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--line);padding:8px 10px;font-size:12px;font-weight:600}td{border-bottom:1px solid var(--line);vertical-align:middle;padding:11px 10px}tr:last-child td{border-bottom:none}.table-scroll{overflow-x:auto}.table-scroll td.actions{white-space:normal;line-height:2.3}.table-scroll td.texte-libre .btn{text-align:left;justify-content:flex-start}.table-scroll td.texte-libre{overflow-wrap:anywhere;min-width:128px}.table-scroll th,.table-scroll td.chiffres,.table-scroll td .tag,.table-scroll td.numero{white-space:nowrap}input.date-paiement{width:auto;max-width:132px;padding:5px 8px;font-size:13px}@media (min-width:861px){.table-scroll th,.table-scroll td{padding-left:8px;padding-right:8px}}.menu-actions{display:inline-flex;position:relative}.menu-actions-liste{z-index:70;background:var(--card);border:1px solid var(--line);min-width:190px;max-width:min(280px,100vw - 16px);box-shadow:var(--shadow);text-align:left;border-radius:10px;flex-direction:column;padding:5px;display:flex;position:fixed}.menu-actions-item{color:var(--anthracite);font-family:var(--font);text-align:left;cursor:pointer;white-space:normal;background:0 0;border:none;border-radius:7px;padding:8px 10px;font-size:13.5px;font-weight:560}.menu-actions-item:hover{background:#f6f7f9}.menu-actions-item.danger{color:var(--stop)}.menu-actions-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.tag{border-radius:999px;padding:3px 9px;font-size:12px;font-weight:600;display:inline-block}.tag.brouillon,.tag.emise,.tag.envoye,.tag.envoyee{color:#55606e;background:#eef1f5}.tag.payee,.tag.accepte{color:var(--ok);background:#e5f4ec}.tag.annulee,.tag.refuse{color:var(--stop);background:#fbeae7}.tag.facture{background:var(--accent-doux);color:var(--accent)}.tag.avertir{color:var(--warn);background:#fdf4e3}.tag.troc{color:#55606e;background:#eef1f5}label{color:var(--muted);margin-bottom:5px;font-size:13px;font-weight:550;display:block}input,select,textarea{border:1px solid var(--line);width:100%;font-size:16px;font-family:var(--font);color:var(--ink);background:#fff;border-radius:9px;padding:10px 12px}input[type=checkbox],input[type=radio],progress{accent-color:var(--accent)}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-halo);outline:none}input[aria-invalid=true]{border-color:var(--stop)}.field{margin-bottom:14px}.field-tete{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.field-tete>.aide-champ{flex-basis:100%}.compteur{color:#9aa3ae;font-variant-numeric:tabular-nums;margin-bottom:5px;font-size:11.5px}.compteur.proche{color:var(--warn)}.compteur.depasse{color:var(--stop);font-weight:600}.erreur-champ{color:var(--stop);margin-top:5px;font-size:12.5px}.aide-champ{color:var(--muted);margin-top:5px;font-size:12.5px}.etoile-aide{color:var(--accent);cursor:pointer;font:inherit;vertical-align:super;background:0 0;border:none;margin-left:3px;padding:0 6px;line-height:1}.etoile-aide[aria-expanded=true]{opacity:.55}.etoile-aide:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}label.libelle-aide{cursor:pointer}.aide-champ button{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.correction{color:var(--anthracite);background:#fff3cd;border-radius:4px;padding:0 3px;font-weight:600}.row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.row.three{grid-template-columns:1fr 1fr 1fr}.row.four{grid-template-columns:1fr 1fr 1fr 1fr}.row.rue{grid-template-columns:1fr 110px}.overlay{z-index:50;background:#14181e6b;justify-content:center;align-items:flex-start;padding:30px 14px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:#fff;border-radius:16px;width:100%;max-width:640px;padding:22px;box-shadow:0 20px 60px #00000040}.modal h2{margin:0 0 16px;font-size:19px}.muted{color:var(--muted)}.right{text-align:right}.spacer{flex:1}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.page-title .toolbar select,.page-title .toolbar input{width:auto;min-width:96px}.notice{border-radius:10px;margin-bottom:14px;padding:10px 14px;font-size:14px}.notice.err{color:var(--stop);background:#fbeae7}.notice.ok{color:var(--ok);background:#e5f4ec}.notice.info{color:#375a91;background:#eef3fb}.notice.warn{color:#8a5d10;background:#fdf4e3}.vide{grid-template-columns:1fr 260px;align-items:center;gap:26px;padding:26px 6px;display:grid}.vide-texte h3{margin:0 0 8px;font-size:19px}.vide-texte p{color:var(--muted);max-width:42ch;margin:0 0 18px}.maquette{border:1px solid var(--line);background:#fff;border-radius:14px;padding:14px;transform:rotate(-1.4deg);box-shadow:0 8px 28px #10182812}.maquette .ligne-fantome{background:#eef1f5;border-radius:4px;height:8px;margin-bottom:8px;animation:2.6s ease-in-out infinite respire}.maquette .ligne-fantome.court{width:46%}.maquette .ligne-fantome.moyen{width:72%}.maquette .ligne-fantome.accent{background:var(--accent-doux)}.maquette .titre-fantome{background:#dfe4ea;border-radius:4px;width:54%;height:12px;margin-bottom:14px}.maquette .pied-fantome{border-top:1px solid var(--line);color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;margin-top:14px;padding-top:12px;font-size:12px;display:flex}.maquette .qr-fantome{background:repeating-conic-gradient(#dfe4ea 0% 25%,#fff 0% 50%) 50%/8px 8px;border-radius:6px;width:46px;height:46px;margin-top:12px}@keyframes respire{0%,to{opacity:1}50%{opacity:.55}}@media (prefers-reduced-motion:reduce){.maquette .ligne-fantome{animation:none}}.editeur{gap:16px;display:grid}.carte-client{align-items:center;gap:14px;display:flex}.initiales{background:var(--accent-doux);width:44px;height:44px;color:var(--accent);border-radius:50%;flex:none;place-items:center;font-size:15px;font-weight:700;display:grid}.pastilles{flex-wrap:wrap;gap:7px;margin-top:12px;display:flex}.pastille-article{border:1px solid var(--line);color:var(--anthracite);cursor:pointer;font-size:13px;font-weight:540;font-family:var(--font);background:#fff;border-radius:999px;padding:6px 13px}.pastille-article:hover{border-color:var(--accent);color:var(--accent)}.tiroir{border-left:1px solid var(--line);z-index:60;background:#fff;flex-direction:column;width:340px;max-width:92vw;padding:18px;display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-12px 0 40px #1018281f}.tiroir-liste{flex:1;margin-top:12px;overflow-y:auto}.tiroir-item{text-align:left;border:none;border-bottom:1px solid var(--line);cursor:pointer;width:100%;font-family:var(--font);color:var(--anthracite);background:0 0;justify-content:space-between;gap:10px;padding:11px 4px;font-size:14px;display:flex}.tiroir-item:hover{background:#f6f7f9}.tiroir-item .prix{color:var(--accent);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.barre-flottante{left:var(--colonne);-webkit-backdrop-filter:saturate(180%)blur(10px);backdrop-filter:saturate(180%)blur(10px);border-top:1px solid var(--line);z-index:40;background:#fffffff0;justify-content:flex-end;gap:10px;padding:12px 26px;display:flex;position:fixed;bottom:0;right:0}.barre-flottante .btn.primary{padding:11px 20px;font-size:15px}.barre-flottante .total{font-variant-numeric:tabular-nums}.ligne{grid-template-columns:1fr 70px 100px 80px 34px;align-items:end;gap:8px;margin-bottom:8px;display:grid}.ligne .x{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:8px 0;font-size:18px}.compteur-unites{align-items:center;gap:10px;display:flex}.compteur-unites button{border:1px solid var(--line);cursor:pointer;width:34px;height:34px;color:var(--anthracite);font-size:17px;font-family:var(--font);background:#fff;border-radius:8px;flex:none}.compteur-unites input{text-align:center;font-variant-numeric:tabular-nums}.graphe-defile{overflow-x:auto}.graphe{width:100%;height:190px;display:block;overflow:visible}.legende{color:var(--muted);align-items:center;gap:18px;margin-top:10px;font-size:13px;display:flex}.legende .puce{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:6px;display:inline-block}.login-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;max-width:420px;min-height:100vh;margin:0 auto;padding:32px 20px 48px;display:flex}.login-title{margin:0 0 6px;font-size:26px}.login-sub{color:var(--muted);margin:0 0 26px;font-size:15px}.login-screen .notice{width:100%}.login-screen input{max-width:320px}.lien-discret{color:var(--muted);font-size:13.5px;font-family:var(--font);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;margin-top:26px;text-decoration:underline}.lien-discret:hover{color:var(--anthracite)}a.lien-discret{display:inline-block}.inscription-label{color:var(--muted);text-align:left;margin:0 0 6px;font-size:13.5px;display:block}.inscription-promesse{width:320px;max-width:100%;color:var(--muted);text-align:left;margin:22px auto 0;padding:0;font-size:13.5px;line-height:1.5;list-style:none}.inscription-promesse li+li{margin-top:6px}.bandeau-essai{margin:0 0 16px}.pinpad{width:100%;max-width:300px}.pin-dots{justify-content:center;gap:14px;min-height:16px;margin-bottom:30px;display:flex}.pin-dots .dot{border:2px solid var(--line);background:0 0;border-radius:50%;width:14px;height:14px;transition:all .12s}.pin-dots .dot.on{background:var(--accent);border-color:var(--accent)}.pin-keys{grid-template-columns:repeat(3,1fr);justify-items:center;gap:16px;display:grid}.pin-key{border:1px solid var(--line);width:72px;height:72px;color:var(--anthracite);cursor:pointer;font-size:26px;font-weight:500;font-family:var(--font);background:#fff;border-radius:50%;transition:background .1s,transform 50ms}.pin-key:hover{background:#f1f3f6}.pin-key:active{background:#e9edf2;transform:scale(.94)}.pin-key.back{color:var(--muted);background:0 0;border-color:#0000;font-size:24px}.pin-key.back:hover{background:#f1f3f6}.recovery{font-family:var(--chiffres);letter-spacing:.12em;border:1px solid var(--line);color:var(--anthracite);word-break:break-all;background:#f1f3f6;border-radius:12px;margin:8px 0 16px;padding:18px 12px;font-size:22px}@media (max-width:860px){.app{grid-template-columns:minmax(0,1fr)}.barre-mobile{z-index:45;border-bottom:1px solid var(--line);padding:4px 10px;padding-top:calc(4px + env(safe-area-inset-top));background:#fff;align-items:center;display:flex;position:sticky;top:0}.side{z-index:70;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;width:min(300px,84vw);height:100dvh;max-height:100dvh;padding-top:calc(20px + env(safe-area-inset-top));padding-bottom:calc(32px + env(safe-area-inset-bottom));transition:transform .18s;position:fixed;top:0;left:0;overflow-y:auto;transform:translate(-104%);box-shadow:12px 0 40px #10182824}.side.ouverte{transform:none}@media (prefers-reduced-motion:reduce){.side{transition:none}}.voile-menu{z-index:65;background:#14181e61;display:block;position:fixed;inset:0}.barre-flottante{padding:10px 14px;padding-bottom:calc(10px + env(safe-area-inset-bottom));left:0}.wrap{padding:18px 14px 110px}.vide{grid-template-columns:1fr}.maquette{max-width:260px;transform:none}.row,.row.three,.row.four,.row.rue{grid-template-columns:1fr}.ligne{grid-template-columns:1fr 1fr}.ligne .x{grid-column:2;justify-self:end}.graphe{min-width:560px}.table-scroll{overflow-x:visible}.table-scroll table,.table-scroll tbody,.table-scroll tr,.table-scroll td{width:100%;display:block}.table-scroll thead{display:none}.table-scroll tr{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);margin-bottom:10px;padding:12px 14px}.table-scroll tr:last-child{margin-bottom:0}.table-scroll td{text-align:left;border:none;padding:5px 0}.table-scroll td.right{text-align:left}.table-scroll td[data-label]:before{content:attr(data-label);color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:2px;font-size:11.5px;font-weight:600;display:block}.table-scroll td:empty{display:none}.table-scroll td.actions,.table-scroll td:last-child{white-space:normal}.table-scroll td.actions{border-top:1px solid var(--line);flex-wrap:wrap;gap:8px;margin-top:8px;padding-top:10px;display:flex}.table-scroll td.actions .btn{text-align:center;flex:auto;justify-content:center;min-width:104px}.table-scroll tr.cliquable{cursor:pointer}}.apercu-cadre{border:1px solid var(--line);background:#fff;border-radius:10px;width:100%;height:min(66vh,720px);display:block}.apercu-image{object-fit:contain;border:1px solid var(--line);background:#fff;border-radius:10px;width:100%;height:auto;max-height:min(66vh,720px);display:block}.apercu-pages{overscroll-behavior:contain;gap:10px;max-height:min(66vh,720px);display:grid;overflow-y:auto}.apercu-pages .apercu-image{max-height:none}.apercu-repli{border:1px solid var(--line);background:var(--card);border-radius:10px;gap:6px;padding:18px;display:grid}.apercu-etat{min-height:180px;color:var(--muted);place-items:center;display:grid}.fiche-lignes{gap:12px;margin:4px 0 14px;display:grid}.fiche-ligne{gap:2px;display:grid}.fiche-ligne dt{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:11.5px;font-weight:600}.fiche-ligne dd{margin:0;font-size:15px}.fiche-ligne dd a{text-underline-offset:2px;text-decoration:underline}.aide-champ .btn.sm{margin-top:6px}.ligne-carte{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);margin-bottom:10px;padding:12px 14px}.ligne-carte .field:last-of-type{margin-bottom:0}.ligne-carte-pied{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding-top:8px;display:flex}.grille-justificatifs{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;display:grid}.justificatif{text-align:left;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);font:inherit;color:inherit;cursor:pointer;gap:3px;padding:10px;display:grid}.justificatif:hover{border-color:var(--accent)}.justificatif:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.justificatif-vignette{background:var(--bg);border-radius:8px;place-items:center;height:130px;margin-bottom:6px;display:grid;overflow:hidden}.justificatif-vignette img{object-fit:cover;width:100%;height:100%}.justificatif-titre{color:var(--anthracite);font-weight:650}.logo-apercu{border:1px dashed var(--line);border-radius:var(--radius);text-align:center;background:#fff;place-items:center;width:160px;height:160px;padding:12px;display:grid}.logo-apercu img{object-fit:contain;max-width:100%;max-height:100%}.logo-apercu .muted{font-size:12.5px}.tuto{z-index:90;position:fixed;inset:0}.tuto-voile{background:#10161e8c;position:fixed;inset:0}.tuto-halo{outline-offset:0;pointer-events:none;border-radius:10px;outline:2px solid #fff;transition:top .16s,left .16s,width .16s,height .16s;position:fixed;box-shadow:0 0 0 9999px #10161e8c}@media (prefers-reduced-motion:reduce){.tuto-halo{transition:none}}.tuto-bulle{background:var(--card);color:var(--ink);border-radius:var(--radius);max-width:calc(100vw - 28px);padding:14px 16px 10px;transition:top .16s,left .16s;position:fixed;box-shadow:0 10px 40px #10182847}.tuto-bulle:before{content:"";border:9px solid #0000;width:0;height:0;position:absolute}.tuto-bulle.fleche-gauche:before{left:-18px;top:calc(var(--pointe,50%) - 9px);border-right-color:var(--card)}.tuto-bulle.fleche-droite:before{right:-18px;top:calc(var(--pointe,50%) - 9px);border-left-color:var(--card)}.tuto-bulle.fleche-haut:before{top:-18px;left:calc(var(--pointe,50%) - 9px);border-bottom-color:var(--card)}.tuto-bulle.fleche-bas:before{bottom:-18px;left:calc(var(--pointe,50%) - 9px);border-top-color:var(--card)}.tuto-bulle.sans-cible:before{display:none}.tuto-texte{margin:0 0 12px;font-size:15px;line-height:1.45}.tuto-pieds{justify-content:space-between;align-items:center;gap:10px;display:flex}.tuto-points{gap:5px;display:flex}.tuto-points span{background:#80808059;border-radius:6px;width:6px;height:6px}.tuto-points span.actif{background:var(--accent)}.aide-demande+.aide-demande{margin-top:12px}.aide-formulaire{margin-bottom:20px}.aide-texte{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0 0}.aide-reponse{border-left:3px solid var(--ok);margin-top:14px;padding-left:12px}.aide-reponse.aide-moi{border-left-color:var(--line,#d7dbe0)}.aide-suite{justify-items:start;gap:10px;margin-top:14px;display:grid}.aide-suite textarea{width:100%;min-width:0}.aide-demande .row{align-items:center;gap:8px;display:flex}.aide-demande .row>b{overflow-wrap:anywhere;min-width:0}.aide-demande .row .right{flex:none;margin-left:auto}.brand-btn{position:relative}.pastille.sur-logo{width:9px;height:9px;position:absolute;top:6px;right:-4px}.tag.aide-recue,.tag.aide-terminee{color:#55606e;background:#eef1f5}.tag.aide-en_cours{color:#8a6416;background:#fdf4e3}.tag.aide-repondue{color:var(--ok);background:#e5f4ec}@keyframes tuto-fondu{0%{opacity:0}to{opacity:1}}@keyframes tuto-bulle-gauche{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:none}}@keyframes tuto-bulle-droite{0%{opacity:0;transform:translate(6px)}to{opacity:1;transform:none}}@keyframes tuto-bulle-haut{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@keyframes tuto-bulle-bas{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes tuto-battement{0%{outline-offset:0;opacity:.9}50%{outline-offset:5px;opacity:.35}to{outline-offset:0;opacity:0}}.tuto-voile{animation:.15s ease-out both tuto-fondu}.tuto-bulle{animation:.18s ease-out both tuto-bulle-haut}.tuto-bulle.fleche-gauche{animation-name:tuto-bulle-gauche}.tuto-bulle.fleche-droite{animation-name:tuto-bulle-droite}.tuto-bulle.fleche-bas{animation-name:tuto-bulle-bas}.tuto-pouls{pointer-events:none;border-radius:10px;outline:2px solid #fff;animation:.26s ease-out both tuto-battement;position:fixed}@media (prefers-reduced-motion:reduce){.tuto-bulle,.tuto-bulle.fleche-gauche,.tuto-bulle.fleche-droite,.tuto-bulle.fleche-bas{transition:none;animation:.12s ease-out both tuto-fondu}.tuto-pouls{animation:none;display:none}}.liste-tutos{margin:10px 0 0;padding:0;list-style:none}.liste-tutos li{border-top:1px solid var(--trait,#80808038);justify-content:space-between;align-items:flex-start;gap:14px;padding:12px 0;display:flex}.liste-tutos li:first-child{border-top:0}.liste-tutos li.eteint .liste-tutos-texte strong{opacity:.55}.liste-tutos-texte p{opacity:.72;margin:3px 0 0;font-size:13px}.liste-tutos-etat{flex:none;align-items:center;gap:10px;display:flex}.etiquette{opacity:.75;white-space:nowrap;border:1px solid #80808059;border-radius:999px;padding:2px 8px;font-size:12px}.etiquette.vu{border-color:var(--accent);color:var(--accent);opacity:1}.interrupteur{align-items:flex-start;gap:12px;margin-top:8px;display:flex}.interrupteur input[type=checkbox]{flex:none;width:18px;height:18px;margin-top:3px}.interrupteur p{margin:3px 0 0;font-size:13px}@media (max-width:540px){.liste-tutos li{flex-direction:column;align-items:stretch}}.app.sans-aide .etoile-aide,.app.sans-aide .aide-champ{display:none!important}.barre-enregistrer{flex-direction:column;align-items:flex-end;gap:10px;margin:8px 0 32px;display:flex}.barre-enregistrer .notice{align-self:stretch}.tag.warn{color:#8a4b00;background:#fff4e5}.legal{max-width:720px;color:var(--ink);margin:0 auto;padding:40px 20px 64px;font-size:16px;line-height:1.6}.legal-logo{margin-bottom:28px;display:inline-block}.legal h1{margin:0 0 6px;font-size:30px;line-height:1.2}.legal-maj{color:var(--muted);margin:0 0 24px;font-size:14px}.legal h2{margin:36px 0 10px;font-size:19px}.legal p,.legal li{overflow-wrap:anywhere}.legal ul{padding-left:20px}.legal li{margin-bottom:6px}.legal-table{gap:10px;display:grid}.legal-table dl{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);gap:8px;margin:0;padding:14px 16px;display:grid}.legal-table dt{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:12px;font-weight:600}.legal-table dd{margin:2px 0 0}.legal-a-confirmer{color:inherit;background:#fff3bf;border-radius:4px;padding:1px 3px;box-shadow:inset 0 -2px #f2c94c}.liens-legaux{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:8px;margin-top:40px;font-size:13px;display:flex}.liens-legaux a{color:var(--muted);text-underline-offset:3px}.liens-legaux a:hover{color:var(--ink)}.dictee-carte{margin-bottom:14px;padding:14px}.dictee-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:10px}.dictee-focus{background:var(--accent-doux);border-radius:12px;justify-items:start;gap:8px;padding:16px;display:grid}.dictee-focus b{font-size:18px}.dictee-focus p{color:var(--muted);margin:0}.dictee-sep{color:var(--muted);margin:16px 0 6px;font-size:13px;font-weight:600}.dictee-fil{margin:0;padding:0;list-style:none}.dictee-fil li{border-top:1px solid var(--line);align-items:flex-start;gap:10px;padding:8px 0;display:flex}.dictee-fil li:first-child{border-top:0}.dictee-fil li>i{background:var(--accent);border-radius:50%;flex:none;width:8px;height:8px;margin-top:6px}.dictee-fil small{color:var(--muted);display:block}.dictee-bulle{border:1px solid var(--line);border-radius:12px;gap:2px;margin-top:12px;padding:12px 14px;display:grid}.dictee-bulle small{color:var(--muted)}.dictee-bulle p{margin:0}.dictee-clavier{gap:6px;margin-top:12px;display:grid}.dictee-clavier h3,.dictee-changements h3{margin:0;font-size:16px}.dictee-clavier textarea{box-sizing:border-box;width:100%;max-width:100%}.dictee-changements{margin-top:12px}.dictee-grille{grid-template-columns:minmax(0,1fr);gap:10px;margin-top:8px;display:grid}@media (min-width:720px){.dictee-grille{grid-template-columns:repeat(2,minmax(0,1fr))}}.dictee-change{border:1px solid var(--line);border-radius:12px;justify-items:start;gap:4px;min-width:0;padding:12px;display:grid}.dictee-change p{color:var(--muted);margin:0}.dictee-edition{grid-template-columns:72px minmax(0,1fr);gap:8px;display:grid}.dictee-edition input{min-width:0}.dictee-encart{border:1px solid var(--line);border-radius:12px;gap:8px;min-width:0;margin:12px 0 0;padding:14px;display:grid}.dictee-encart h3{margin:0;font-size:16px}.dictee-encart p,.dictee-encart .field{margin:0}.dictee-encart input,.dictee-encart select{box-sizing:border-box;width:100%;max-width:100%}.dictee-champs{grid-template-columns:max-content minmax(0,1fr);gap:6px 14px;margin:0;display:grid}.dictee-champs dt{color:var(--muted)}.dictee-champs dd{overflow-wrap:anywhere;min-width:0;margin:0}.dictee-jauge{background:var(--line);border-radius:999px;height:8px;margin:6px 0;overflow:hidden}.dictee-jauge i{background:var(--accent,currentColor);height:100%;display:block}.dictee-grand{margin:0;font-size:28px;font-weight:600}.dictee-materiel{margin:0;padding:0;list-style:none}.dictee-materiel li{border-top:1px solid var(--line);justify-content:space-between;gap:12px;min-width:0;padding:8px 0;display:flex}.dictee-materiel li span:first-child{overflow-wrap:anywhere;min-width:0}.btn.primary.bouton-etats{--h:40px;min-height:var(--h);isolation:isolate;background:0 0;border-color:#0000;justify-content:center;transition:transform .12s;position:relative}.btn.primary.bouton-etats:active{transform:scale(.96)}.btn.primary.bouton-etats:disabled{cursor:not-allowed}.btn.primary.bouton-etats[data-state=loading],.btn.primary.bouton-etats[data-state=done]{opacity:1;cursor:default;filter:none}.bouton-etats .be-fond{z-index:-1;background:var(--accent);clip-path:inset(0 round 9px);border-radius:9px;transition:clip-path .42s cubic-bezier(.34,1.56,.64,1),background-color .3s;position:absolute;inset:-1px}.bouton-etats[data-state=loading] .be-fond,.bouton-etats[data-state=done] .be-fond{clip-path:inset(0 calc(50% - var(--h) / 2) round 999px)}.bouton-etats[data-state=done] .be-fond{background:var(--ok)}.bouton-etats .be-txt{transition:opacity .18s,transform .25s}.bouton-etats[data-state=loading] .be-txt,.bouton-etats[data-state=done] .be-txt{opacity:0;transform:scale(.85)}.bouton-etats .be-roue{opacity:0;border:2.5px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:20px;height:20px;margin:-10px 0 0 -10px;transition:opacity .2s;position:absolute;top:50%;left:50%}.bouton-etats[data-state=loading] .be-roue{opacity:1;animation:.7s linear infinite be-tourne}.bouton-etats .be-coche{fill:none;stroke:#fff;stroke-width:2.8px;stroke-linecap:round;stroke-linejoin:round;opacity:0;width:24px;height:24px;margin:-12px 0 0 -12px;position:absolute;top:50%;left:50%}.bouton-etats .be-coche path{stroke-dasharray:24;stroke-dashoffset:24px}.bouton-etats[data-state=done] .be-coche{opacity:1;animation:.5s cubic-bezier(.34,1.56,.64,1) be-pop}.bouton-etats[data-state=done] .be-coche path{animation:.38s ease-out 80ms forwards be-trace}.be-annonce{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes be-tourne{to{transform:rotate(360deg)}}@keyframes be-pop{0%{transform:scale(.4)}60%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes be-trace{to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.btn.primary.bouton-etats,.bouton-etats .be-fond,.bouton-etats .be-txt,.bouton-etats .be-roue{transition:none}.btn.primary.bouton-etats:active{transform:none}.bouton-etats[data-state=loading] .be-roue,.bouton-etats[data-state=done] .be-coche{animation:none}.bouton-etats[data-state=done] .be-coche path{stroke-dashoffset:0;animation:none}}.sel{width:100%;min-width:0;display:block;position:relative}.sel-bt{border:1px solid var(--line);width:100%;min-height:42px;font-size:16px;font-family:var(--font);color:var(--ink);background:var(--card);text-align:left;cursor:pointer;border-radius:9px;justify-content:space-between;align-items:center;gap:8px;margin:0;padding:10px 12px;font-weight:400;line-height:1.25;display:flex}.sel-bt:focus-visible,.sel.ouvert .sel-bt{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-halo);outline:none}.sel-bt:disabled{opacity:.6;cursor:default}.sel-val{-webkit-line-clamp:1;line-clamp:1;overflow-wrap:anywhere;text-align:left;-webkit-box-orient:vertical;flex:1;min-width:0;display:-webkit-box;overflow:hidden}.sel-vide{color:var(--muted)}.sel-chevron,.sel-coche{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:0 0 16px;width:16px;height:16px}.sel-chevron{color:var(--muted);transition:transform .15s}.sel.ouvert .sel-chevron{transform:rotate(180deg)}.sel-coche{color:var(--accent)}.sel input.sel-requis{opacity:0;pointer-events:none;border:0;width:100%;height:1px;padding:0;position:absolute;bottom:0;left:0}.sel-voile{display:none}.sel-feuille{z-index:96;box-sizing:border-box;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);font-family:var(--font);color:var(--ink);text-align:left;flex-direction:column;padding:6px;font-size:15px;line-height:1.35;display:flex;position:fixed;box-shadow:0 1px 2px #1018280f,0 12px 32px #10182829}.sel-titre{display:none}.sel-liste{overscroll-behavior:contain;scrollbar-width:none;min-height:0;overflow:hidden auto}.sel-liste::-webkit-scrollbar{display:none}.sel-groupe{color:var(--muted);padding:10px 12px 4px;font-size:12px;font-weight:600}.sel-opt{cursor:pointer;overflow-wrap:anywhere;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;min-height:44px;padding:8px 12px;display:flex}.sel-opt>span{min-width:0}.sel-opt.actif{background:var(--accent-doux)}.sel-opt.on{font-weight:600}.sel-opt.inactif{color:var(--muted);cursor:default}.page-title .toolbar .sel{width:auto;min-width:96px}.dictee-encart .sel{max-width:100%}@media (max-width:860px){.sel-bt{min-height:44px}}.sel-bas .sel-voile{z-index:95;background:#10182866;display:block;position:fixed;inset:0}.sel-bas .sel-feuille{max-height:70dvh;padding:10px 12px calc(14px + env(safe-area-inset-bottom));border-width:1px 0 0;border-radius:18px 18px 0 0;font-size:16px;animation:.2s ease-out sel-monte;bottom:0;left:0;right:0}.sel-bas .sel-titre{color:var(--muted);padding:6px 12px 8px;font-size:13px;font-weight:550;display:block}.sel-bas .sel-opt{min-height:52px}@keyframes sel-monte{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.sel-bas .sel-feuille{animation:none}.sel-chevron{transition:none}}
