:root{--ground:#f5f7f6;--surface:#fff;--raised:#fbfcfc;--ink:#131e1d;--muted:#5c6b68;--line:#dce3e1;--accent:#164e9c;--accent-wash:#e8eff9;--sur-accent:#fff;--turquoise:#29abc4;--vert-marque:#4caf50;--good:#0ca30c;--warning:#fab219;--serious:#ec835a;--critical:#d03b3b;--sans:"Segoe UI", system-ui, -apple-system, "Helvetica Neue", sans-serif;--mono:ui-monospace, "SFMono-Regular", Menlo, monospace;--ombre:0 1px 2px #131e1d0d, 0 10px 28px -20px #131e1d4d}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--ground:#0d1413;--surface:#151e1d;--raised:#1a2523;--ink:#e7eeeb;--muted:#94a39f;--line:#26332f;--accent:#45c2da;--accent-wash:#12303a;--sur-accent:#0d1413;--turquoise:#45c2da;--vert-marque:#5cc262;--ombre:0 1px 2px #0006, 0 10px 28px -20px #000000e6}}*{box-sizing:border-box}html,body,#racine{height:100%}body{background:var(--ground);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.5}button{font:inherit;cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.app{flex-direction:column;max-width:46rem;min-height:100%;margin:0 auto;display:flex}.barre{background:var(--surface);border-bottom:1px solid var(--line);z-index:5;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.7rem clamp(.8rem,3vw,1.25rem);display:flex;position:sticky;top:0}.barre .titre{letter-spacing:-.01em;margin-right:auto;font-weight:700}.etat{border:1px solid;border-radius:999px;align-items:center;gap:.4rem;padding:.2rem .6rem;font-size:.8rem;font-weight:600;display:inline-flex}.etat .pt{background:currentColor;border-radius:50%;width:.5rem;height:.5rem}.etat.en-ligne{color:var(--good);border-color:var(--good)}.etat.hors-ligne{color:var(--serious);border-color:var(--serious)}.etat.file{color:var(--accent);border-color:var(--accent)}main{flex-direction:column;flex:1;gap:1.1rem;padding:clamp(.9rem,3vw,1.5rem);display:flex}nav.tabs{background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px);gap:.3rem;display:flex;position:sticky;bottom:0}nav.tabs button{color:var(--muted);background:0 0;border:none;border-top:2px solid #0000;flex-direction:column;flex:1;align-items:center;gap:.2rem;margin-top:-1px;padding:.7rem .4rem;font-size:.82rem;font-weight:600;display:flex}nav.tabs button[aria-selected=true]{color:var(--accent);border-top-color:var(--accent)}nav.tabs .pastille{background:var(--accent);color:var(--sur-accent);border-radius:999px;margin-left:.25rem;padding:0 .35rem;font-size:.68rem}.carte{background:var(--surface);border:1px solid var(--line);box-shadow:var(--ombre);border-radius:8px;padding:1rem 1.1rem}.carte h2{letter-spacing:-.01em;margin:0 0 .25rem;font-size:1.1rem}.carte p.aide{color:var(--muted);margin:0 0 .9rem;font-size:.88rem}.zone-dictee{flex-direction:column;align-items:center;gap:1rem;padding:1.25rem 0 .5rem;display:flex}.bouton-micro{background:var(--accent);width:8.5rem;height:8.5rem;color:var(--sur-accent);box-shadow:var(--ombre);border:none;border-radius:50%;place-items:center;transition:transform .12s;display:grid}.bouton-micro:active{transform:scale(.96)}.bouton-micro.enregistre{background:var(--critical);animation:1.6s ease-in-out infinite pulsation}@keyframes pulsation{50%{box-shadow:0 0 0 14px #d03b3b29}}@media (prefers-reduced-motion:reduce){.bouton-micro.enregistre{animation:none}}.chrono{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:2rem}.consigne{color:var(--muted);text-align:center;max-width:26rem;font-size:.92rem}textarea{resize:vertical;border:1px solid var(--line);background:var(--raised);width:100%;min-height:8rem;color:var(--ink);font:inherit;border-radius:6px;padding:.7rem .8rem;font-size:.95rem}.bouton{background:var(--accent);color:var(--sur-accent);border:none;border-radius:6px;width:100%;padding:.8rem 1.1rem;font-weight:700}.bouton.secondaire{color:var(--accent);border:1px solid var(--accent);background:0 0}.bouton.danger{color:var(--critical);border:1px solid var(--critical);background:0 0}.bouton:disabled{opacity:.45;cursor:not-allowed}.boutons{flex-wrap:wrap;gap:.6rem;display:flex}.boutons .bouton{flex:12rem;width:auto}.rubrique{border-bottom:1px solid var(--line);flex-direction:column;gap:.3rem;padding:.75rem 0;display:flex}.rubrique:last-of-type{border-bottom:none}.rubrique .entete{flex-wrap:wrap;align-items:baseline;gap:.5rem;display:flex}.rubrique .lbl{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-family:var(--mono)}.rubrique input{border:1px solid var(--line);background:var(--raised);width:100%;color:var(--ink);font:inherit;border-radius:6px;padding:.55rem .7rem;font-size:.98rem}.rubrique.a-relire input{border-color:var(--warning);background:color-mix(in srgb, var(--warning) 8%, var(--raised));border-width:2px}.rubrique.manquant input{border-color:var(--critical);border-width:2px}.marque{border:1px solid;border-radius:999px;padding:.05rem .45rem;font-size:.72rem;font-weight:700}.marque.relire{color:var(--warning);border-color:var(--warning)}.marque.obligatoire{color:var(--critical);border-color:var(--critical)}.alerte{border-left:3px solid var(--critical);background:color-mix(in srgb, var(--critical) 8%, var(--surface));border-radius:4px;align-items:flex-start;gap:.55rem;padding:.6rem .8rem;font-size:.9rem;display:flex}.alerte.info{border-left-color:var(--accent);background:var(--accent-wash)}.ligne-file{border-bottom:1px solid var(--line);align-items:center;gap:.7rem;padding:.7rem 0;display:flex}.ligne-file:last-child{border-bottom:none}.ligne-file .nom{font-weight:600}.ligne-file .sous{color:var(--muted);font-size:.82rem}.vide{color:var(--muted);text-align:center;padding:2rem 1rem}.pied{color:var(--muted);padding:0 1.1rem 1rem;font-size:.78rem}.connexion main{justify-content:center;min-height:100dvh}.titre-connexion{letter-spacing:-.02em;margin:0 0 .3rem;font-size:1.5rem}.champ-connexion{flex-direction:column;gap:.3rem;margin-bottom:.9rem;display:flex}.champ-connexion span{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-family:var(--mono)}.champ-connexion input{border:1px solid var(--line);background:var(--raised);color:var(--ink);font:inherit;border-radius:6px;padding:.7rem .8rem;font-size:1rem}.connexion .alerte{margin-bottom:.9rem}.identite{color:var(--muted);margin:0;font-size:.82rem}.lien-deconnexion{color:var(--muted);background:0 0;border:none;padding:.2rem;font-size:.82rem;font-weight:600;text-decoration:underline}.lien-deconnexion:hover{color:var(--ink)}.alerte.bandeau{margin:0 clamp(.9rem,3vw,1.5rem)}.champ-avec-oeil{display:flex;position:relative}.champ-avec-oeil input{flex:1;padding-right:3rem}.oeil{color:var(--muted);background:0 0;border:none;border-radius:6px;place-items:center;width:2.6rem;height:2.6rem;display:grid;position:absolute;top:50%;right:.35rem;transform:translateY(-50%)}.oeil svg{width:1.3rem;height:1.3rem}.oeil:hover{color:var(--ink)}.chiffres{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.8rem;display:grid}.chiffre{border:1px solid var(--line);background:var(--raised);border-radius:8px;padding:.85rem .95rem}.chiffre .lbl{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:.64rem;display:block}.chiffre .val{font-variant-numeric:tabular-nums;font-size:1.9rem;font-weight:700;line-height:1.15}.chiffre .note{color:var(--muted);font-size:.78rem}.puce{white-space:nowrap;border:1px solid;border-radius:999px;align-items:center;gap:.3rem;padding:.1rem .5rem;font-size:.74rem;font-weight:700;display:inline-flex}.puce.actif{color:var(--good);border-color:var(--good)}.puce.attente{color:var(--muted);border-color:var(--line)}.puce.suspendu{color:var(--critical);border-color:var(--critical)}.champ-connexion select{border:1px solid var(--line);background:var(--raised);color:var(--ink);font:inherit;border-radius:6px;padding:.7rem .8rem;font-size:1rem}.carte.compacte{padding:.85rem .9rem 1rem}.zone-dictee{gap:.6rem;padding:.6rem 0 .2rem}.bouton-micro{width:6.4rem;height:6.4rem}.bouton-micro svg{width:2.5rem;height:2.5rem}.chrono{font-size:1.5rem}.consigne{max-width:22rem;font-size:.86rem}.ligne-code{align-items:center;gap:.7rem;display:flex}.ligne-code label{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);white-space:nowrap;font-size:.66rem}.ligne-code input{border:1px solid var(--line);background:var(--raised);min-width:0;color:var(--ink);font:inherit;letter-spacing:.06em;border-radius:6px;flex:1;padding:.55rem .7rem;font-size:1.05rem}.note-ligne{color:var(--good);text-align:center;margin:.5rem 0 0;font-size:.84rem}.alerte.compacte{flex-wrap:wrap;align-items:center;gap:.5rem;padding:.45rem .7rem;font-size:.85rem}details.explication{margin-top:.7rem}details.explication summary{cursor:pointer;color:var(--muted);align-items:center;gap:.35rem;padding:.25rem 0;font-size:.8rem;font-weight:600;list-style:none;display:flex}details.explication summary::-webkit-details-marker{display:none}details.explication summary:before{content:"›";transition:transform .15s;display:inline-block}details.explication[open] summary:before{transform:rotate(90deg)}details.explication summary:hover{color:var(--ink)}details.explication p{color:var(--muted);margin:.4rem 0 0;font-size:.85rem}main{gap:.85rem}.carte h2{font-size:1.02rem}.carte p.aide{margin-bottom:.7rem;font-size:.85rem}.barre{gap:.5rem;padding:.55rem clamp(.8rem,3vw,1.25rem)}.qui{flex-direction:column;min-width:0;margin-right:auto;line-height:1.25;display:flex}.qui .nom{white-space:nowrap;text-overflow:ellipsis;font-size:.98rem;font-weight:700;overflow:hidden}.qui .site{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:62vw;font-size:.76rem;overflow:hidden}.barre .etat{padding:.12rem .5rem;font-size:.74rem}.sortir{color:var(--muted);background:0 0;border:none;border-radius:6px;flex:none;place-items:center;width:2.2rem;height:2.2rem;display:grid}.sortir svg{width:1.15rem;height:1.15rem}.sortir:hover{color:var(--ink)}.ligne-file{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:.45rem .6rem;padding:.7rem 0;display:flex}.ligne-file .corps{flex:10rem;min-width:0}.ligne-file .nom,.ligne-file .sous{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ligne-file .puce,.ligne-file .bouton,.ligne-file .num{flex:none}.bouton.mini{width:auto;color:var(--accent);border:1px solid var(--accent);background:0 0;padding:.38rem .7rem;font-size:.82rem}nav.tabs button{white-space:nowrap;letter-spacing:-.01em;min-width:0;padding:.6rem .15rem;font-size:.74rem}nav.tabs .pastille{margin-left:.2rem;padding:0 .3rem;font-size:.64rem}@media (width<=380px){nav.tabs button{font-size:.68rem}}.corps-cliquable{text-align:left;color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;flex:10rem;min-width:0;padding:0}.corps-cliquable:hover .nom{color:var(--accent)}.detail-compte{background:var(--raised);border:1px solid var(--line);border-radius:6px;margin:0 0 .8rem;padding:.85rem .9rem}.faits{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.55rem 1rem;margin:0 0 .8rem;display:grid}.faits div{flex-direction:column;gap:.1rem;min-width:0;display:flex}.faits dt{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:.62rem}.faits dd{text-overflow:ellipsis;margin:0;font-size:.88rem;overflow:hidden}.recherche{border:1px solid var(--line);background:var(--raised);width:100%;color:var(--ink);font:inherit;border-radius:6px;margin-bottom:.6rem;padding:.55rem .7rem;font-size:.92rem}.case{align-items:flex-start;gap:.55rem;margin-bottom:.9rem;font-size:.88rem;display:flex}.case input{flex:none;width:1.05rem;height:1.05rem;margin-top:.2rem}.entete-marque{align-items:center;gap:.75rem;margin-bottom:.6rem;display:flex}.entete-marque .titre-connexion{margin:0}.marque{border-radius:22%;flex:none;display:block}.signature{color:var(--muted);margin:.1rem 0 0;font-size:.82rem}.barre .marque{margin-right:.1rem}.recap{margin-bottom:1rem}.recap-ligne{background:var(--accent-wash);border-radius:6px;flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.4rem;padding:.6rem .7rem;display:flex}.recap-ligne .corps{flex:12rem;min-width:0}.bascule-langue{border:1px solid var(--line);color:var(--muted);letter-spacing:.04em;background:0 0;border-radius:4px;flex:none;padding:.15rem .4rem;font-size:.68rem;font-weight:700}.bascule-langue:hover{color:var(--ink);border-color:var(--muted)}
