.labo{gap:12px}.labo-sous-titre{margin:0}.labo-bloc{flex-direction:column;align-items:stretch;gap:16px;display:flex}.labo-statut{min-height:3em;font-weight:600}.labo-erreur{border-radius:var(--rayon);border:2px solid var(--alerte);background:#fff;margin:0;padding:12px}.labo-micro{border:6px solid var(--surface);background:radial-gradient(circle at 35% 30%, var(--accent-vif), var(--accent) 70%);color:#fff;width:148px;height:148px;font:inherit;cursor:pointer;text-align:center;border-radius:50%;flex-direction:column;justify-content:center;align-self:center;align-items:center;gap:2px;padding:12px;font-weight:600;transition:transform .15s;display:flex;position:relative;box-shadow:0 0 0 10px #0b6bd61f,0 0 0 22px #0b6bd612,0 10px 24px #1b3a8a59}.labo-micro:active{transform:scale(.96)}.labo-micro:disabled{opacity:.6}.labo-micro-icone{place-items:center;line-height:1;display:grid}.labo-micro-actif{background:radial-gradient(circle at 35% 30%, #e0483a, var(--erreur) 70%)}.labo-micro-actif .labo-micro-icone{animation:1.2s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.4}}.labo-niveau{flex-direction:column;align-items:stretch;gap:8px;display:flex}.labo-niveau p{text-align:center;margin:0;font-weight:600}.labo-niveau-barre{border:2px solid var(--bord);background:#fff;border-radius:8px;height:16px;overflow:hidden}.labo-niveau-rempli{background:var(--vert-ok);height:100%}.labo-direct{border-radius:var(--rayon);border:2px solid var(--bord);white-space:pre-wrap;background:#fff;min-height:8em;padding:16px}.labo-vide{opacity:.6}.labo-form{flex-direction:column;gap:12px;display:flex}.labo-form label,.labo-bloc label{flex-direction:column;gap:4px;font-weight:600;display:flex}.labo input[type=email],.labo input[type=password],.labo textarea{min-height:var(--cible);border:2px solid var(--bord);border-radius:var(--rayon);font:inherit;color:var(--texte);background:#fff;padding:10px 12px}.labo-actions{flex-wrap:wrap;gap:12px;display:flex}.labo .labo-secondaire{background:var(--bord);color:var(--texte)}.labo-lien{min-height:var(--cible);font:inherit;color:var(--texte);cursor:pointer;background:0 0;border:0;align-self:center;text-decoration:underline}.labo-debug-toggle{min-height:var(--cible);align-items:center;gap:8px;display:flex}.labo-debug-toggle input,.labo-debug input{width:24px;height:24px}.labo-debug{border:2px dashed var(--bord);border-radius:var(--rayon);padding:12px;font-size:.85rem}.labo-debug h2{font-size:1.1rem}.labo-debug fieldset label{min-height:var(--cible);align-items:center;gap:8px;display:flex}.labo-debug pre{white-space:pre-wrap;word-break:break-word}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2)format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2)format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2)format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2)format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2)format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-CWCymEST.woff2)format("woff2"),url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2)format("woff2"),url(/assets/inter-greek-ext-600-normal-B8X0CLgF.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-plRanbMR.woff2)format("woff2"),url(/assets/inter-greek-600-normal-BZpKdvQh.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2)format("woff2"),url(/assets/inter-vietnamese-600-normal-BuLX-rYi.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2)format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-cyrillic-ext-800-normal-BZOjs1Xv.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-800-normal-Ca-gJeZY.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-cyrillic-800-normal-C7MGvYyJ.woff2)format("woff2"),url(/assets/inter-cyrillic-800-normal-CCHyn08d.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-greek-ext-800-normal-B--PVpEC.woff2)format("woff2"),url(/assets/inter-greek-ext-800-normal-DUe57HfS.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-greek-800-normal-CLIouy3y.woff2)format("woff2"),url(/assets/inter-greek-800-normal-BU00tryP.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-vietnamese-800-normal-Cm7tD1pz.woff2)format("woff2"),url(/assets/inter-vietnamese-800-normal-DDlpr_Ee.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-latin-ext-800-normal-DZJjya6U.woff2)format("woff2"),url(/assets/inter-latin-ext-800-normal-BOMpwxm3.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-latin-800-normal-BYj_oED-.woff2)format("woff2"),url(/assets/inter-latin-800-normal-D1mf63XC.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--fond:#eef2f8;--surface:#fff;--texte:#0f1b3d;--texte-doux:#51607e;--accent:#1b3a8a;--accent-vif:#0b6bd6;--accent-doux:#d6e6fb;--bord:#d3dbea;--bord-fort:#7f8daa;--vert-ok:#2f7a52;--alerte:#9a6400;--erreur:#b42318;--rayon:14px;--rayon-carte:20px;--rayon-pilule:999px;--ombre:0 4px 16px #0f1b3d14;--ombre-douce:0 1px 3px #0f1b3d1a;--cible:48px;--police-titre:"Inter", system-ui, sans-serif;--police-texte:"Inter", system-ui, sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--fond);color:var(--texte);font-family:var(--police-texte);-webkit-text-size-adjust:100%;margin:0;font-size:18px;line-height:1.5}h1,h2,h3{font-family:var(--police-titre);margin:0;font-weight:600;line-height:1.15}.page{min-height:100dvh;padding:24px 20px calc(24px + env(safe-area-inset-bottom));flex-direction:column;max-width:520px;margin:0 auto;display:flex}.accueil{flex-direction:column;flex:1;justify-content:center;align-items:flex-start;gap:12px;display:flex}.accueil h1{font-size:2.6rem}.accueil p{margin:0;font-size:1.1rem}.trait{background:var(--accent);border-radius:2px;width:72px;height:4px}.bouton{min-height:var(--cible);border-radius:var(--rayon);background:var(--accent);color:#fff;font:inherit;box-shadow:var(--ombre);cursor:pointer;border:0;justify-content:center;align-items:center;padding:0 24px;font-weight:600;text-decoration:none;display:inline-flex}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.page{gap:16px}h2{font-size:1.25rem}.sous-titre{margin:0}small{font-size:.9rem}.shell{min-height:100dvh}.shell-contenu{padding-bottom:calc(96px + env(safe-area-inset-bottom))}.barre{max-width:520px;padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:var(--fond);border-top:2px solid var(--bord);grid-template-columns:1fr 1fr 1.35fr 1fr 1fr;align-items:center;gap:4px;margin:0 auto;display:grid;position:fixed;inset:auto 0 0}.barre-lien,.barre-centre{border-radius:var(--rayon);text-align:center;min-height:56px;color:var(--texte);flex-direction:column;justify-content:center;align-items:center;font-size:.78rem;font-weight:600;line-height:1.15;text-decoration:none;display:flex}.barre-lien.active{background:var(--bord)}.barre-centre{background:var(--accent);color:#fff;box-shadow:var(--ombre)}.barre-centre span:first-child{font-size:1.6rem;line-height:1}.formulaire{flex-direction:column;gap:16px;display:flex}.formulaire fieldset{border:2px solid var(--bord);border-radius:var(--rayon);flex-direction:column;gap:12px;margin:0;padding:16px;display:flex}.formulaire legend{font-family:var(--police-titre);padding:0 8px;font-size:1.1rem;font-weight:600}.champ-groupe{flex-direction:column;gap:6px;display:flex}.champ-groupe label,.formulaire>label{font-weight:600}.champ{width:100%;min-height:var(--cible);border:2px solid var(--bord);border-radius:var(--rayon);color:var(--texte);font:inherit;background:#fff;padding:10px 12px}textarea.champ{resize:vertical}.actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.bouton{min-height:var(--cible)}.bouton:disabled{opacity:.55;cursor:default}.bouton.secondaire{background:var(--bord);color:var(--texte)}.lien{min-height:var(--cible);font:inherit;color:var(--texte);cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:0 4px;font-weight:600;text-decoration:underline}.lien-danger{color:var(--erreur)}.cache-visuel{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.cache-visuel:focus-visible+label{outline:3px solid var(--accent);outline-offset:2px}.alerte-boite,.ok-boite{border-radius:var(--rayon);background:#fff;margin:0;padding:12px;font-weight:600}.alerte-boite{border:2px solid var(--alerte)}.ok-boite{border:2px solid var(--vert-ok)}.vide{border-radius:var(--rayon);border:2px dashed var(--bord);margin:0;padding:16px}.onglets{grid-template-columns:1fr 1fr;gap:8px;display:grid}.onglet{min-height:var(--cible);border:2px solid var(--bord);border-radius:var(--rayon);font:inherit;color:var(--texte);cursor:pointer;background:0 0;font-weight:600}.onglet-actif{background:var(--bord)}.liste{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.carte{border-radius:var(--rayon);border:2px solid var(--bord);color:var(--texte);box-shadow:var(--ombre);background:#fff;flex-direction:column;gap:4px;padding:16px;text-decoration:none;display:flex;position:relative}.carte-simple{gap:8px}.carte-titre{font-family:var(--police-titre);padding-right:90px;font-size:1.15rem;font-weight:600}.carte-meta{font-size:.9rem}.carte-extrait{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.95rem;display:-webkit-box;overflow:hidden}.etat{border-radius:999px;align-self:flex-start;padding:2px 10px;font-size:.8rem;font-weight:600;display:inline-block}.visite-ligne .etat{align-self:center}.carte .etat{position:absolute;top:14px;right:14px}.etat-cours{background:var(--vert-ok);color:#fff}.etat-fini{background:var(--bord);color:var(--texte)}.visite-entete{flex-direction:column;gap:8px;display:flex}.visite-ligne{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.fil{flex-direction:column;gap:12px;display:flex}.bulle{border-radius:var(--rayon);border:2px solid var(--bord);background:#fff;padding:14px 16px}.bulle-pied{flex-wrap:wrap;align-items:center;gap:4px 12px;font-size:.85rem;display:flex}.pastille{border:1px solid var(--bord);background:var(--fond);border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-weight:600;display:inline-flex}.composeur{flex-direction:column;gap:16px;display:flex}.visite-actions{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.devis-action{border-radius:var(--rayon);border:2px solid var(--accent);background:#fff;flex-direction:column;align-items:stretch;gap:8px;padding:16px;display:flex}.devis-action .bouton{width:100%}.etat-brouillon,.etat-a_valider{background:var(--bord);color:var(--texte)}.etat-a_completer{background:var(--alerte);color:var(--texte)}.etat-valide,.etat-accepte,.etat-envoye{background:var(--vert-ok);color:#fff}.etat-refuse{background:var(--texte);color:#fff}.a-completer{border-radius:var(--rayon);border:2px solid var(--alerte);background:#fff;flex-direction:column;gap:8px;padding:16px;display:flex}.a-completer ul{margin:0;padding-left:20px}.lignes{flex-direction:column;gap:12px;display:flex}.ligne{border-radius:var(--rayon);border:2px solid var(--bord);background:#fff;flex-direction:column;gap:8px;padding:14px 16px;display:flex}.ligne-edition{border-color:var(--accent)}.ligne-titre{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.ligne-titre h3{font-size:1.1rem}.ligne-champs{grid-template-columns:1fr 1fr;gap:8px 12px;margin:0;display:grid}.ligne-champs dt{opacity:.8;font-size:.8rem}.ligne-champs dd{flex-wrap:wrap;align-items:center;gap:4px 8px;margin:0;font-weight:600;display:flex}.ligne-comment{margin:0;font-size:.9rem;font-style:italic}.ligne-total{margin:0}.manque{color:var(--alerte);font-style:italic;font-weight:400}.pastille-bloc{flex-direction:column;align-items:flex-start;gap:2px;display:inline-flex}.pastille-bouton{min-height:32px;font:inherit;cursor:pointer;color:var(--texte);font-size:.75rem}.pastille-confirmer{border:2px solid var(--alerte);background:#fff}.pastille-info{max-width:260px;font-size:.8rem;font-weight:400}.totaux{border-radius:var(--rayon);border:2px solid var(--texte);background:#fff;padding:16px}.totaux dl{flex-direction:column;gap:6px;margin:0;display:flex}.totaux dl>div{justify-content:space-between;gap:12px;display:flex}.totaux dd{margin:0;font-weight:600}.total-ttc{border-top:2px solid var(--bord);padding-top:8px;font-size:1.2rem;font-weight:700}:root{--nav-h:calc(76px + env(safe-area-inset-bottom))}.barre{z-index:10}.section{border:2px solid var(--bord);border-radius:var(--rayon);background:#fff}.section-titre{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:8px 16px;list-style:none;display:flex}.section-titre::-webkit-details-marker{display:none}.section-titre:after{content:"▾";flex-shrink:0;font-size:1.1rem}.section[open]>.section-titre:after{content:"▴"}.section-nom{font-family:var(--police-titre);flex:1;font-size:1.15rem;font-weight:600}.section-hint{font-size:.85rem;font-weight:600}.section-hint-alerte{background:var(--alerte);border-radius:999px;padding:2px 10px}.section-corps{flex-direction:column;gap:12px;padding:0 16px 16px;display:flex}.section .lignes{gap:12px}.section ul{margin:0;padding-left:20px}.carte-assistant{border-radius:var(--rayon);border:3px solid var(--accent);background:#fff;flex-direction:column;gap:12px;padding:16px;display:flex}.carte-assistant p{margin:0}.carte-assistant .actions .bouton{flex:140px}.devis-avec-barre{margin-bottom:96px}.barre-actions{left:0;right:0;bottom:var(--nav-h);z-index:9;background:var(--fond);border-top:2px solid var(--bord);flex-direction:column;gap:6px;max-width:520px;margin:0 auto;padding:8px 16px;display:flex;position:fixed}.barre-total{justify-content:space-between;margin:0;font-size:.95rem;display:flex}.barre-boutons{gap:8px;display:flex}.barre-boutons .bouton{flex:1;padding:0 12px}.conv{background:var(--fond);flex-direction:column;max-width:520px;height:100dvh;margin:0 auto;display:flex}.conv-entete{border-bottom:2px solid var(--bord);flex-direction:column;flex-shrink:0;gap:4px;padding:8px 16px;display:flex}.conv-ligne{justify-content:space-between;align-items:center;display:flex}.conv-titre{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1.15rem;overflow:hidden}.conv-bande{justify-content:space-between;align-items:center;gap:8px;margin:0;font-size:.95rem;display:flex}.conv-reste{color:var(--alerte);font-weight:700}.conv-ok{color:var(--vert-ok);font-weight:700}.conv-voir{padding:0 14px}.conv-fil{flex-direction:column;flex:1;gap:10px;padding:12px 16px;display:flex;overflow-y:auto}.bulle-vous,.bulle-assistant{border-radius:var(--rayon);max-width:92%;padding:10px 14px}.bulle-vous{background:var(--bord);align-self:flex-end}.bulle-assistant{border:2px solid var(--bord);background:#fff;flex-direction:column;align-self:flex-start;gap:8px;display:flex}.bulle-texte{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.bulle-source{text-align:right;margin-top:2px;font-size:.75rem;font-weight:600;display:block}.bulle-attente{font-style:italic}.a-verifier{border:2px solid var(--alerte);border-radius:8px;margin:0;padding:6px 10px;font-size:.85rem}.puces{flex-wrap:wrap;gap:8px;display:flex}.puce{min-height:var(--cible);border:2px solid var(--accent);color:var(--texte);font:inherit;text-align:left;cursor:pointer;background:#fff;border-radius:999px;padding:6px 14px;font-size:.9rem;font-weight:600}.changement{border:2px solid var(--vert-ok);background:var(--fond);border-radius:8px;flex-direction:column;gap:6px;padding:10px 12px;font-size:.92rem;display:flex}.changement p{margin:0}.changement-titre{color:var(--vert-ok);font-weight:700}.changement-liste{margin:0;padding-left:18px}.changement-champ{display:block}.conv-erreur{flex-shrink:0;margin:0 16px}.conv-composeur{padding:8px 16px calc(8px + env(safe-area-inset-bottom));border-top:2px solid var(--bord);background:var(--fond);flex-direction:column;flex-shrink:0;gap:8px;display:flex}.mode{grid-template-columns:1fr 1fr;gap:8px;display:grid}.mode-bouton{min-height:var(--cible);border:2px solid var(--bord);border-radius:var(--rayon);color:var(--texte);font:inherit;cursor:pointer;background:0 0;font-weight:600}.mode-actif{background:var(--accent);border-color:var(--accent);color:#fff}.mode-bouton:disabled{opacity:.5}.conv-saisie{grid-template-columns:1fr auto;align-items:end;gap:8px;display:grid}.conv-saisie .bouton{padding:0 18px}.dictee-compact{background:0 0;border:0;gap:8px;padding:0}.dictee-compact .labo-micro{width:88px;height:88px}.dictee-compact .dictee-statut{min-height:0;font-size:.9rem}.dictee-compact .labo-direct{min-height:3em;max-height:22dvh;padding:10px 12px;overflow-y:auto}.feuille-fond{z-index:50;background:#1e1b1873;position:fixed;inset:0}.feuille{max-width:520px;max-height:88dvh;padding:16px 16px calc(16px + env(safe-area-inset-bottom));background:var(--fond);border-radius:16px 16px 0 0;flex-direction:column;gap:12px;margin:0 auto;display:flex;position:absolute;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -4px 16px #1e1b1833}.feuille-entete{justify-content:space-between;align-items:center;display:flex}.feuille-lignes{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.feuille-lignes li{border-radius:var(--rayon);border:2px solid var(--bord);background:#fff;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.feuille-modifiee{border-color:var(--vert-ok)!important;background:#eef6f0!important}.feuille-nom{font-weight:600}.feuille-badge{background:var(--vert-ok);color:#fff;border-radius:999px;margin-left:8px;padding:1px 8px;font-size:.75rem}.feuille-detail{font-size:.88rem}.feuille-total{align-self:flex-end;font-weight:700}.feuille-totaux{flex-direction:column;gap:4px;margin:0;display:flex}.feuille-totaux>div{justify-content:space-between;display:flex}.feuille-totaux dd{margin:0}.feuille-reste{color:var(--alerte);margin:0;font-weight:600}.apercu-cadre{box-sizing:border-box;border:2px solid var(--bord);border-radius:var(--rayon);background:#fff;width:100%;max-width:100%;overflow:hidden}.apercu-page{background:#fff;border:0;display:block}.mentions{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.mentions li{flex-direction:column;gap:2px;display:flex}.mentions span{font-size:.95rem}.case{min-height:var(--cible);align-items:center;gap:12px;font-weight:600;display:flex}.case input{width:24px;height:24px}.chat-fil{flex-direction:column;gap:6px;margin:0;padding:0;font-size:.95rem;list-style:none;display:flex}.chat-vous{border-radius:var(--rayon);background:var(--bord);padding:8px 12px}.chat-assistant{border-radius:var(--rayon);border:2px solid var(--bord);background:#fff;padding:8px 12px}.attente{border-radius:var(--rayon);border:3px solid var(--alerte);background:#fff;flex-direction:column;gap:10px;padding:16px;display:flex}.attente h3{font-size:1.1rem}.attente-demande{margin:0;font-style:italic}.attente-raisons{margin:0;padding-left:20px;font-weight:600}.diff{border-collapse:collapse;width:100%;font-size:.95rem}.diff th,.diff td{text-align:left;border-bottom:1px solid var(--bord);padding:6px 8px}.diff-titre{margin:0 0 4px}.diff-totaux{flex-direction:column;gap:4px;margin:0;display:flex}.diff-totaux>div{justify-content:space-between;gap:12px;display:flex}.diff-totaux dd{margin:0}.versions{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.versions li{border-radius:var(--rayon);border:2px solid var(--bord);background:#fff;padding:10px 12px}.versions p{margin:0}.version-actuelle{border-color:var(--vert-ok)}.version-raison{font-size:.9rem}.version-total{opacity:.85;font-size:.85rem}.dictee-bloc{border-radius:var(--rayon);border:2px solid var(--bord);background:#fff;flex-direction:column;align-items:stretch;gap:16px;padding:16px;display:flex}.dictee-statut{text-align:center;min-height:2.5em;margin:0;font-weight:600}.progression{border:2px solid var(--bord);background:#fff;border-radius:7px;height:14px;overflow:hidden}.progression-rempli{background:var(--vert-ok);height:100%}.progression-texte{margin:-8px 0 0;font-weight:600}.logo-apercu{object-fit:contain;border:2px solid var(--bord);border-radius:var(--rayon);background:#fff;align-self:flex-start;max-width:200px;max-height:120px;padding:8px}.carte-relecture{border:2px solid var(--bord);border-radius:var(--rayon,12px);background:#fff;gap:.75rem;margin:0 0 1rem;padding:1rem;display:grid}.carte-relecture p,.carte-relecture small{margin:0}.ligne-estimation{font-size:.85rem;font-style:italic;display:block}.badge-suggere{border:1px solid var(--alerte);border-radius:999px;padding:.125rem .625rem;font-size:.8rem;font-weight:600;display:inline-block}.refaire-confirmation,.refaire-attente{gap:.75rem;margin:0;display:grid}.refaire-confirmation p{margin:0}.tva-lot{border:2px solid var(--alerte);border-radius:var(--rayon,12px);gap:.5rem;margin:0 0 1rem;padding:.75rem;display:grid}.tva-lot p{margin:0}.lecture{flex-wrap:wrap;gap:.5rem;display:flex}.lecture-bouton{flex:auto;min-height:48px}.envois{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.envoi{border:1px solid var(--bord);border-radius:var(--rayon,12px);background:#fff;padding:.75rem}.envoi p{margin:0 0 .25rem}.etat-envoi{font-weight:600}.etat-envoi-delivered{color:var(--vert-ok)}.etat-envoi-bounced,.etat-envoi-complained,.etat-envoi-failed{color:var(--erreur)}.reponse-client{gap:.5rem;margin-top:1rem;display:grid}.reponse-client p{margin:0}.fiche-memoire{gap:.75rem;margin-top:1.5rem;display:grid}.faits{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.fait{border:1px solid var(--bord);border-radius:var(--rayon,12px);background:#fff;padding:.75rem}.fait p{margin:0 0 .25rem}.fait-ancien{color:var(--alerte)}.memoire-refs{margin:.5rem 0 0;font-size:.9rem}.resultats{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.resultat{border:1px solid var(--bord);border-radius:var(--rayon,12px);background:#fff;padding:.75rem}.resultat p{margin:0 0 .25rem}.badge-fait{color:var(--vert-ok)}.badge-a_verifier,.badge-estimation{color:var(--alerte)}.aide-tva{gap:.75rem;display:grid}.tva-resultat{border:2px solid var(--vert-ok);border-radius:var(--rayon,12px);gap:.5rem;padding:.75rem;display:grid}.tva-resultat p,.tva-resultat ul{margin:0}.carte-devis{grid-template-columns:minmax(0,1fr);gap:.375rem;display:grid}.carte-devis .carte-meta{overflow-wrap:anywhere}.carte-titre-ligne{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.onglets-defilant{flex-wrap:nowrap;overflow-x:auto}.onglets-defilant .onglet{white-space:nowrap;flex:none}.carte-apercu{min-width:0;max-width:100%;margin-top:.5rem}.apercu-centre{margin:0 auto;overflow:hidden}.carte-devis-ouvert{grid-column:1/-1}.suivi{border:2px solid var(--alerte);border-radius:var(--rayon,12px);background:#fff;gap:.5rem;margin:0 0 1rem;padding:.75rem;display:grid}.suivi h2{margin:0;font-size:1.1rem}.activite{border:2px solid var(--bord);border-radius:var(--rayon,12px);background:#fff;gap:.5rem;margin:0 0 1rem;padding:.9rem;display:grid}.activite h2,.activite h3{margin:0}.activite h3{margin-top:.5rem;font-size:1rem}.activite-kpis{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.activite-kpis div{background:var(--fond);border-radius:var(--rayon,12px);padding:.5rem .6rem;display:grid}.activite-kpis strong{font-size:1.15rem}.activite-kpis span{font-size:.85rem}.activite-graphe{width:100%;height:auto}.activite-val,.activite-mois{fill:var(--texte);font-size:9px}.activite-total{fill:var(--texte);font-size:18px;font-weight:700}.activite-legende{gap:1rem;margin:0;font-size:.85rem;display:flex}.activite i,.activite-anneau i{border-radius:3px;width:.7rem;height:.7rem;margin-right:.35rem;display:inline-block}.activite-anneau{align-items:center;gap:1rem;display:flex}.activite-anneau svg{flex:none;width:110px}.activite-anneau ul{gap:.2rem;margin:0;padding:0;list-style:none;display:grid}.spinner{border:3px solid var(--bord);border-top-color:var(--accent);vertical-align:-4px;border-radius:50%;width:18px;height:18px;animation:.8s linear infinite tourne;display:inline-block}.charge{flex-direction:column;gap:14px;padding:8px 0;display:flex}.charge-texte{color:var(--texte-doux);margin:0;font-weight:600}.squelette{flex-direction:column;gap:12px;display:flex}.squelette-carte{background:var(--surface);border-radius:var(--rayon-carte);box-shadow:var(--ombre-douce);flex-direction:column;gap:10px;padding:16px;display:flex}.squelette-ligne{background:linear-gradient(90deg, var(--bord) 25%, var(--fond) 50%, var(--bord) 75%);background-size:200% 100%;border-radius:8px;height:14px;animation:1.4s ease-in-out infinite lueur;display:block}.barre-charge{z-index:5;height:3px;position:sticky;top:0;overflow:hidden}.barre-charge span{background:var(--accent);width:40%;height:100%;animation:1.1s ease-in-out infinite glisse;display:block}.bouton[aria-busy=true]{justify-content:center;align-items:center;gap:10px;display:inline-flex}.bouton[aria-busy=true]:before{content:"";border:3px solid;border-right-color:#0000;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite tourne}@keyframes tourne{to{transform:rotate(360deg)}}@keyframes lueur{to{background-position:-200% 0}}@keyframes glisse{0%{transform:translate(-100%)}to{transform:translate(260%)}}@media (prefers-reduced-motion:reduce){.spinner,.squelette-ligne,.barre-charge span,.bouton[aria-busy=true]:before{animation:none}}.code-parrainage{letter-spacing:.18em;text-align:center;-webkit-user-select:all;user-select:all;margin:8px 0;font-size:2rem;font-weight:800}.montant-cagnotte{margin:0;font-size:2.25rem;font-weight:800}.aide-liste{color:var(--texte-doux);margin:8px 0 0;padding-left:20px}.montant-cagnotte,.code-parrainage{line-height:1.25}body{background:var(--fond);color:var(--texte);font-size:17px}h1,h2,h3{font-family:var(--police-titre);letter-spacing:-.015em;color:var(--texte);font-weight:800}h1{font-size:2rem}.sous-titre,.carte-meta,small{color:var(--texte-doux)}:focus-visible{outline:3px solid var(--accent-vif);outline-offset:2px}.trait{background:var(--accent-vif)}.bouton{border-radius:var(--rayon-pilule);background:var(--accent);color:#fff;box-shadow:none;padding:0 26px;transition:background .15s}.bouton:hover:not(:disabled){background:#14307a}.bouton.secondaire{background:var(--surface);color:var(--accent);border:2px solid var(--accent)}.bouton.secondaire:hover:not(:disabled){background:var(--accent-doux)}.bouton.vif{background:var(--accent-vif)}.bouton.danger{background:var(--erreur);color:#fff}.lien{color:var(--accent)}.champ,.labo textarea{border:1.5px solid var(--bord-fort);border-radius:var(--rayon);background:var(--surface)}.champ:focus{border-color:var(--accent-vif)}.carte,.section,.ligne,.activite,.carte-relecture,.dictee-bloc,.progression,.versions li,.feuille-lignes li,.chat-assistant,.bulle-assistant,.apercu-cadre,.formulaire fieldset{background:var(--surface);border:1px solid var(--bord);border-radius:var(--rayon-carte);box-shadow:var(--ombre-douce)}.carte{box-shadow:var(--ombre);border-color:#0000}.carte-titre{color:var(--texte);font-weight:800}.bulle{background:var(--surface);border:1px solid var(--bord);border-radius:var(--rayon-carte)}.carte-assistant{background:var(--accent-doux);border:2px solid var(--accent);border-radius:var(--rayon-carte)}.devis-action{border-color:var(--accent);border-radius:var(--rayon-carte)}.vide{border-color:var(--bord-fort);border-radius:var(--rayon-carte);color:var(--texte-doux)}.formulaire legend{font-weight:800}.onglet,.puce,.mode-bouton{border:1.5px solid var(--accent);border-radius:var(--rayon-pilule);background:var(--surface);color:var(--accent)}.onglet-actif,.mode-actif{background:var(--accent);border-color:var(--accent);color:#fff}.etat{border-radius:var(--rayon-pilule)}.etat-cours,.etat-valide,.etat-envoye{background:var(--accent-doux);color:var(--accent)}.etat-fini,.etat-brouillon,.etat-a_valider{background:var(--bord);color:var(--texte)}.etat-a_completer{color:var(--alerte);background:#fcebc8}.etat-accepte{color:var(--vert-ok);background:#d7efe1}.etat-refuse{color:var(--erreur);background:#fbe0dd}.barre{max-width:none;padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--bord);border-radius:24px 24px 0 0;box-shadow:0 -6px 20px #0f1b3d14}.barre-marque{display:none}.barre-lien{color:var(--texte-doux);gap:2px}.barre-lien.active{color:var(--accent);background:0 0}.barre-lien.active span{font-weight:800}.barre-centre{background:var(--accent);border:4px solid var(--surface);border-radius:50%;align-self:start;width:64px;height:64px;min-height:64px;margin:-30px auto 0;box-shadow:0 6px 16px #1b3a8a59}.barre-centre svg{width:30px;height:30px}.barre-centre span{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}@media (width>=900px){body{font-size:16px}.shell{grid-template-columns:264px minmax(0,1fr);align-items:start;display:grid}.shell-contenu{padding-bottom:32px}.barre{border:0;border-right:1px solid var(--bord);width:auto;height:100dvh;box-shadow:none;border-radius:0;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:6px;margin:0;padding:24px 16px;display:flex;position:sticky;inset:0 auto auto 0}.barre-marque{color:var(--accent);align-items:center;gap:10px;margin:0 8px 20px;font-size:1.15rem;font-weight:800;display:flex}.barre-logo{background:var(--accent);color:#fff;border-radius:10px;place-items:center;width:36px;height:36px;display:grid}.barre-lien,.barre-centre{width:auto;height:auto;min-height:var(--cible);border-radius:var(--rayon);text-align:left;flex-direction:row;justify-content:flex-start;gap:12px;margin:0;padding:0 14px;font-size:1rem}.barre-lien.active{background:var(--accent-doux)}.barre-centre{border-radius:var(--rayon-pilule);box-shadow:none;border:0;order:10;justify-content:center;margin-top:auto}.barre-centre svg{width:24px;height:24px}.barre-centre span{clip-path:none;width:auto;height:auto;font-weight:600;position:static;overflow:visible}.page{max-width:1040px;padding:32px 40px}.liste{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;display:grid}.onglets{flex-wrap:wrap;display:flex}.onglet{padding:0 20px}}.accueil-entete{justify-content:space-between;align-items:center;gap:12px;display:flex}.accueil-profil{width:var(--cible);height:var(--cible);background:var(--surface);color:var(--accent);box-shadow:var(--ombre-douce);border-radius:50%;flex:none;place-items:center;display:grid}.barre-profil{display:none}.activite-graphe{width:100%;max-width:420px;height:auto}@media (width>=900px){.barre-profil{display:flex}.accueil-profil{display:none}}.photos{flex-direction:column;gap:12px;display:flex}.photos-grille{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.photos-grille li{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.photos-grille img,.bulle-photo img{aspect-ratio:1;object-fit:cover;border-radius:var(--rayon);background:var(--bord);width:100%;display:block}.photos-confirmation{flex-wrap:wrap;gap:6px;display:flex}.bulle-photo{width:200px;max-width:70%;padding:4px}.bouton-occupe{opacity:.6}.conv-joindre{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.conv-apercus{gap:8px;margin:0;padding:0;list-style:none;display:flex}.conv-apercus li{position:relative}.conv-apercus img{object-fit:cover;border-radius:var(--rayon);width:56px;height:56px;display:block}.conv-retirer{background:var(--texte);color:#fff;cursor:pointer;border:0;border-radius:50%;width:24px;height:24px;font-size:12px;position:absolute;top:-6px;right:-6px}@media (width>=900px){.barre-actions{background:var(--surface);border-top:1px solid var(--bord);flex-direction:row;justify-content:space-between;align-items:center;max-width:none;margin:0;padding:12px 40px;bottom:0;left:264px;right:0;box-shadow:0 -4px 16px #0f1b3d14}.barre-total{flex:1;justify-content:flex-start;gap:12px}.barre-boutons{width:360px}.shell-contenu{padding-bottom:96px}}.bandeau-abonnement{border-radius:var(--rayon-carte);background:var(--accent-doux);color:var(--texte);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:12px 20px 0;padding:12px 16px;display:flex}.bandeau-abonnement p{margin:0}.bandeau-bloque{border:1.5px solid var(--alerte);background:#fcebc8}.abonnement-etat{gap:10px}.abonnement-message{margin:0;font-weight:600}.etat-abo-essai,.etat-abo-offert,.etat-abo-abonne,.etat-abo-interne{background:var(--accent-doux);color:var(--accent)}.etat-abo-impaye,.etat-abo-expire,.etat-abo-resilie,.etat-abo-aucun{color:var(--alerte);background:#fcebc8}.abonnement-etat .etat{position:static}
