:root{--surface-0:#f3f2ee;--surface-1:#f8f7f4;--surface-2:#fff;--text-primary:#1f1f1d;--text-secondary:#5f5e5a;--text-muted:#888780;--text-accent:#185fa5;--text-danger:#a32d2d;--text-success:#3b6d11;--bg-danger:#fcebeb;--vert:#0f6e56;--vert-fonce:#085041;--vert-clair:#e1f5ee;--rouge:#e24b4a;--border:#0000001f;--border-strong:#00000040;--radius:12px;color:var(--text-primary);background:var(--surface-1);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.4}*,:before,:after{box-sizing:border-box}body{background:var(--surface-1);margin:0}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}button:disabled{cursor:not-allowed;opacity:.5}h1,h2{margin:0;font-weight:500}.flex1{flex:1;min-width:0}.bloc{display:block}.droite{text-align:right;white-space:nowrap}.petit{color:var(--text-secondary);font-size:11px}.gros{font-size:21px;font-weight:500}.grand{margin-top:2px;font-size:26px}.nom{font-size:14px;font-weight:500}.neg{color:var(--text-danger)}.pos{color:var(--text-success)}.vert{color:var(--vert)}.total{white-space:nowrap;text-align:right;flex:none;font-size:14px;font-weight:500}.entete-repliable>.flex1{text-align:left;flex:auto;min-width:0}.entete-repliable .petit{white-space:normal}.app{background:var(--surface-0);max-width:480px;min-height:100dvh;margin:0 auto;padding:16px 16px 110px}.ecran{flex-direction:column;gap:12px;display:flex}.entete{align-items:center;gap:10px;display:flex}.entete h1{flex:1;font-size:22px}.rond{background:var(--surface-2);border:.5px solid var(--border);border-radius:50%;flex:none;justify-content:center;align-items:center;width:34px;height:34px;display:flex;position:relative}.rond.vert{background:var(--vert-clair);color:var(--vert);border:0}.rond-petit{background:var(--vert-clair);width:32px;height:32px;color:var(--vert-fonce);border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.point{background:var(--rouge);border-radius:50%;width:9px;height:9px;position:absolute;top:5px;right:6px}.carte{background:var(--surface-2);border:.5px solid var(--border);border-radius:14px;overflow:hidden}.carte-verte{background:var(--vert);color:#fff;border-radius:16px;flex-direction:column;gap:8px;padding:14px;display:flex}.carte-verte .petit{color:#ffffffd9}.duo{align-items:flex-start;gap:10px;display:flex}.separateur{background:#fff6;align-self:stretch;width:.5px}.pastilles{gap:8px;font-size:11px;display:flex}.pastilles>div{background:var(--vert-fonce);border-radius:8px;flex:1;padding:6px 8px}.jauge{background:var(--vert-fonce);border-radius:4px;height:8px;overflow:hidden}.jauge>div{background:#fff;height:100%}.alerte{background:var(--bg-danger);color:var(--text-danger);border-radius:10px;align-items:center;gap:8px;padding:9px 12px;font-size:13px;display:flex}.alerte .flex1{font-weight:500}.titre-section{justify-content:space-between;align-items:baseline;margin:8px 2px 0;display:flex}.titre-section h2{font-size:16px}.titre-section>span{font-size:15px;font-weight:500}.lien{color:var(--text-accent);font-size:12px}.repliable.total>.entete-repliable{background:var(--surface-2)}.entete-repliable{text-align:left;align-items:center;gap:10px;width:100%;padding:11px 12px;display:flex}.repliable.sous>.entete-repliable{background:var(--vert-clair);color:var(--vert-fonce)}.repliable.sous .petit{color:var(--vert)}.repliable.categorie{background:var(--surface-2);border:.5px solid var(--border);border-radius:14px;margin-bottom:8px;overflow:hidden}.contenu{border-top:.5px solid var(--border)}.chev{color:var(--text-secondary);flex:none;transition:transform .15s}.chev.ferme{transform:rotate(-90deg)}.ligne{text-align:left;border-top:.5px solid var(--border);align-items:center;gap:10px;padding:9px 12px;display:flex}.ligne.sous-indent{padding-left:20px}.ligne:first-child{border-top:0}.abrev{background:var(--vert-clair);width:32px;height:32px;color:var(--vert-fonce);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:11px;font-weight:500;display:flex}.abrev.neg{background:var(--bg-danger);color:var(--text-danger)}.legende{color:var(--text-secondary);gap:14px;padding:0 2px;font-size:11px;display:flex}.legende span{align-items:center;gap:4px;display:inline-flex}.bouton-large{border:.5px solid var(--border-strong);background:var(--surface-2);border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:11px;font-size:14px;display:flex}.chips{align-items:center;gap:6px;display:flex;overflow-x:auto}.chip{border:.5px solid var(--border-strong);color:var(--text-secondary);background:var(--surface-2);white-space:nowrap;border-radius:14px;padding:5px 10px;font-size:12px}.chip.on{background:var(--vert);border-color:var(--vert);color:#fff}.chip-droite{align-items:center;margin-left:auto;display:flex}.sep-section{color:var(--text-secondary);align-items:center;gap:8px;margin:12px 0 6px 2px;font-size:12px;display:flex}.sep-section:after{content:"";background:var(--border);flex:1;height:.5px}.op{background:var(--surface-2);border:.5px solid var(--border);border-radius:12px;align-items:center;gap:10px;margin-bottom:6px;padding:9px 12px;display:flex}.op.prevu{border:1px dashed var(--border-strong);background:0 0}.lg{background:var(--vert-clair);width:36px;height:36px;color:var(--vert-fonce);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:12px;font-weight:500;display:flex;position:relative}.badge{background:var(--surface-2);border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;display:flex;position:absolute;bottom:-3px;right:-3px}.tag{background:var(--surface-1);border:.5px solid var(--border-strong);color:var(--text-secondary);border-radius:8px;margin-left:6px;padding:1px 6px;font-size:10px;font-weight:400}.icone-repete{color:var(--text-secondary);margin-left:4px}.vide{background:var(--surface-2);border:.5px solid var(--border);border-radius:14px;padding:16px}.vide p{color:var(--text-secondary);margin-top:6px}.navigation{background:var(--surface-2);border-top:.5px solid var(--border);width:100%;max-width:480px;padding:8px 6px 14px;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.onglet{color:var(--text-secondary);flex-direction:column;flex:1;align-items:center;gap:2px;font-size:10px;display:flex}.onglet.actif{color:var(--vert)}.bouton-plus{background:var(--vert);color:#fff;border:0;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;display:flex;position:fixed;bottom:84px;right:max(16px,50% - 224px)}img.abrev{object-fit:cover;background:var(--surface-2)}.banniere{border-radius:10px;align-items:flex-start;gap:8px;padding:10px 12px;font-size:13px;font-weight:500;display:flex}.banniere.ok{background:var(--bg-success,#eaf3de);color:var(--text-success)}.banniere.ko{background:var(--bg-danger);color:var(--text-danger)}.banniere .detail{margin-top:2px;font-size:11px;font-weight:400}.etape{background:var(--surface-2);border:.5px solid var(--border);border-radius:14px;margin-bottom:8px;padding:12px}.etape.externe{border-style:dashed}.etape.faite{background:var(--bg-success,#eaf3de);border-color:#0000}.etape.erreur{background:var(--bg-danger);border-color:#0000}.etape-tete{align-items:flex-start;gap:10px;display:flex}.num{background:var(--vert);color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:500;display:flex}.etape.faite .num{background:var(--text-success)}.chemin{flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex}.etape-montant{white-space:nowrap;font-size:16px;font-weight:500}.btn-fait{border:.5px solid var(--border-strong);background:var(--surface-2);border-radius:10px;justify-content:center;align-items:center;gap:6px;width:100%;margin-top:10px;padding:10px;font-size:13px;display:flex}.etape.faite .btn-fait{border-color:var(--text-success);color:var(--text-success);background:0 0}.champ{width:100%;min-width:0;height:42px;font:inherit;color:var(--text-primary);background:var(--surface-2);border:.5px solid var(--border-strong);border-radius:8px;padding:0 10px;font-size:16px}.champ:disabled{background:var(--surface-1);color:var(--text-secondary)}.libelle{color:var(--text-secondary);margin:12px 0 4px;font-size:11px}.libelle:first-child{margin-top:0}.aide{color:var(--text-secondary);margin-top:6px;font-size:11px}.fiche{background:var(--surface-1);border:.5px solid var(--border);border-radius:12px;margin:2px 8px 8px;padding:10px 12px}.ligne-cliquable{text-align:left;width:100%}.deux{align-items:center;gap:8px;display:flex}.liste-choix{border:.5px solid var(--border-strong);background:var(--surface-2);border-radius:8px}.liste-choix>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:8px;height:42px;padding:0 10px;font-size:16px;list-style:none;display:flex}.liste-choix>summary::-webkit-details-marker{display:none}.option{border-top:.5px solid var(--border);align-items:center;gap:10px;padding:12px 10px;font-size:15px;display:flex}.option input{width:18px;height:18px;accent-color:var(--vert);flex:none}.rang-titulaire{align-items:center;gap:6px;margin-bottom:6px;display:flex}.icone-bouton{border:.5px solid var(--border-strong);background:var(--surface-2);border-radius:8px;flex:none;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.bouton-pointille{border:1px dashed var(--border-strong);width:100%;color:var(--text-secondary);border-radius:10px;justify-content:center;align-items:center;gap:6px;margin-top:4px;padding:11px;font-size:14px;display:flex}.resume-periode{background:var(--vert-clair);color:var(--vert-fonce);border-radius:10px;align-items:center;gap:8px;margin-top:10px;padding:9px 10px;font-size:13px;font-weight:500;display:flex}.total-ok{color:var(--text-success)}.total-ko{color:var(--text-danger)}.montant-total{justify-content:center;align-items:baseline;gap:6px;padding:6px 0;display:flex}.montant-total .champ{text-align:center;background:0 0;border:0;outline:none;width:60%;height:56px;font-size:32px;font-weight:500}.montant-total .devise{font-size:26px;font-weight:500}.montant-total.depense,.montant-total.depense .champ{color:var(--text-danger)}.montant-total.recette,.montant-total.recette .champ{color:var(--text-success)}.montant-total.transfert,.montant-total.transfert .champ{color:var(--text-accent)}.segment button.actif.depense{background:var(--bg-danger);border-color:var(--rouge);color:var(--text-danger)}.segment button.actif.transfert{border-color:var(--text-accent);color:var(--text-accent);background:#e6f1fb}.suggestions{border:.5px solid var(--border);background:var(--surface-2);border-radius:12px;margin-top:6px;overflow:hidden}.suggestions button{text-align:left;border-top:.5px solid var(--border);align-items:center;gap:10px;width:100%;padding:10px;font-size:14px;display:flex}.suggestions button:first-child{border-top:0}.ligne-ventilation{background:var(--surface-1);border:.5px solid var(--border);border-radius:12px;margin-bottom:8px;padding:10px}.ligne-ventilation .segment button{padding:7px;font-size:13px}.etat-ventilation{margin-top:4px;font-size:12px}.effet-saisie{background:var(--surface-1);border:.5px solid var(--border);border-radius:12px;padding:10px 12px;font-size:13px}.effet-saisie .l{justify-content:space-between;gap:8px;padding:2px 0;display:flex}.effet-saisie .l span:first-child{color:var(--text-secondary)}.tag-ligne{background:var(--surface-1);border:.5px solid var(--border-strong);color:var(--text-secondary);white-space:nowrap;border-radius:8px;margin-left:6px;padding:1px 6px;font-size:10px;font-weight:400}.resume-ventilation{color:var(--text-secondary);margin-top:2px;font-size:11px}.fond-menu{z-index:20;background:#00000073;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.feuille{background:var(--surface-2);border-top:.5px solid var(--border);border-radius:20px 20px 0 0;width:100%;max-width:480px;padding:10px 14px 22px}.feuille .poignee{background:var(--border-strong);border-radius:2px;width:36px;height:4px;margin:0 auto 10px}.choix-menu{text-align:left;border-radius:12px;align-items:center;gap:12px;width:100%;padding:10px;display:flex}.choix-menu+.choix-menu{margin-top:2px}.choix-menu.suggere{background:var(--vert-clair)}.choix-menu .pastille-icone{background:var(--surface-1);width:36px;height:36px;color:var(--text-secondary);border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.choix-menu.suggere .pastille-icone{color:var(--vert);background:#fff}.choix-menu b{font-size:14px;font-weight:500;display:block}.choix-menu small{color:var(--text-secondary);font-size:12px}.choix-menu .suggere-tag{color:var(--vert-fonce);background:#fff;border-radius:8px;margin-left:auto;padding:2px 7px;font-size:10px}.confirmation{z-index:15;color:#fff;background:#1f1f1d;border-radius:12px;align-items:center;gap:14px;max-width:min(92%,440px);padding:11px 14px;font-size:13px;display:flex;position:fixed;bottom:84px;left:50%;transform:translate(-50%)}.confirmation button{color:#9fe1cb;font-weight:500}.detail-titre{justify-content:space-between;align-items:flex-start;gap:12px;margin:0 4px 10px;display:flex}.detail-titre b{font-size:16px;font-weight:500}.detail-bloc{background:var(--surface-1);border:.5px solid var(--border);border-radius:12px;margin-bottom:8px;padding:10px 12px;font-size:13px}.detail-bloc .l{justify-content:space-between;gap:8px;padding:2px 0;display:flex}.detail-bloc .l span:first-child{color:var(--text-secondary)}.detail-actions{margin-top:6px}.detail-confirmation{margin-top:8px;font-size:13px}.detail-confirmation button{border-radius:10px;flex:1;padding:10px;font-size:14px}.bouton-secondaire{border:.5px solid var(--border-strong);background:var(--surface-1)}.bouton-danger{background:var(--rouge,#b3261e);color:#fff}.op.modifiable{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.op.selectionnee{background:var(--vert-clair)}.case-selection{border:1.5px solid var(--border);color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.case-selection.on{background:var(--vert-fonce);border-color:var(--vert-fonce)}.barre-selection{z-index:14;background:var(--surface-2);border-top:.5px solid var(--border);flex-direction:column;gap:8px;width:100%;max-width:480px;padding:10px 12px 12px;display:flex;position:fixed;bottom:64px;left:50%;transform:translate(-50%);box-shadow:0 -4px 14px #00000014}.barre-selection-haut{align-items:center;gap:10px;display:flex}.etape-selection{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.etape-selection .champ{flex:160px}.chip-danger{color:var(--text-danger);border-color:var(--text-danger)}.chip-danger.on{background:var(--text-danger);color:#fff}.fenetre-fond{z-index:30;background:#0006;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.fenetre{background:var(--surface-2);border-radius:18px 18px 0 0;flex-direction:column;gap:10px;width:100%;max-width:480px;padding:16px 16px 24px;display:flex}.choix-portee{text-align:left;border:.5px solid var(--border);background:var(--surface-1);color:inherit;font:inherit;border-radius:12px;flex-direction:column;gap:2px;padding:12px 14px;display:flex}.choix-portee small{color:var(--text-secondary)}.case-selection{animation:.18s ease-out bulle-entree}@keyframes bulle-entree{0%{opacity:0;width:0;margin-right:-10px}to{opacity:1;width:22px;margin-right:0}}@media (prefers-reduced-motion:reduce){.case-selection{animation:none}}.lg img.logo-image{object-fit:cover;border-radius:50%;width:100%;height:100%}.section-formulaire{background:var(--surface-2);border:.5px solid var(--border);border-radius:14px;padding:12px}.identite{align-items:center;gap:10px;display:flex}.logo-initiales{background:var(--vert-clair);width:42px;height:42px;color:var(--vert-fonce);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:14px;font-weight:500;display:flex}.segment{gap:6px;display:flex}.segment button{border:.5px solid var(--border-strong);border-radius:10px;flex:1;justify-content:center;align-items:center;gap:5px;padding:10px;font-size:14px;display:flex}.segment button.actif{background:var(--vert-clair);border:1.5px solid var(--vert);color:var(--vert-fonce)}.erreur-champ{color:var(--text-danger);margin-top:4px;font-size:12px}.resume-carte{background:var(--vert-clair);color:var(--vert-fonce);border-radius:10px;margin-top:12px;padding:9px 10px;font-size:13px}.resume-carte b{margin-top:4px;display:block}details.option-formulaire{background:var(--surface-2);border:.5px solid var(--border);border-radius:14px}details.option-formulaire>summary{cursor:pointer;align-items:center;gap:10px;min-height:50px;padding:0 12px;list-style:none;display:flex}details.option-formulaire>summary::-webkit-details-marker{display:none}details.option-formulaire>summary .titre{flex:1;font-size:14px;font-weight:500}details.option-formulaire>summary .etat{color:var(--text-secondary);text-align:right;white-space:nowrap;text-overflow:ellipsis;max-width:45%;font-size:12px;overflow:hidden}details.option-formulaire .contenu-option{border-top:.5px solid var(--border);padding:0 12px 12px}.barre-creation{padding-top:8px;position:sticky;bottom:70px}.bouton-creer{background:var(--vert);color:#fff;border-radius:12px;width:100%;padding:14px;font-size:16px;font-weight:500}.logo-image{object-fit:cover;background:var(--surface-2)}.suppression-compte{margin-top:10px}.bouton-supprimer{border:.5px solid var(--text-danger);width:100%;min-height:42px;color:var(--text-danger);font:inherit;background:0 0;border-radius:12px;justify-content:center;align-items:center;gap:6px;display:flex}.confirmation-suppression{background:var(--bg-danger);color:var(--text-danger);border-radius:12px;flex-direction:column;gap:8px;padding:12px;font-size:14px;display:flex}.actions-confirmation{gap:8px;display:flex}.actions-confirmation button{flex:1;min-height:40px}.bouton-danger{background:var(--text-danger);color:#fff;font:inherit;border:0;border-radius:12px}.securite-etat{border-radius:12px;align-items:center;gap:8px;margin:8px 0;padding:10px 12px;font-size:14px;display:flex}.securite-etat.actif{background:var(--vert-clair);color:var(--vert-fonce)}.securite-etat.inactif{background:var(--surface-1);color:var(--text-secondary);border:.5px solid var(--border)}.qr{background:#fff;border-radius:8px;margin:8px auto;display:block}.cle-totp{word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}.etapes-totp{margin:0 0 6px;padding-left:18px}.codes-secours{border:1px solid var(--rouge,#e24b4a);margin:10px 0;padding:12px}.codes-secours ul{grid-template-columns:1fr 1fr;gap:6px;margin:8px 0;padding:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px;list-style:none;display:grid}.ligne-type{text-align:left;width:100%;min-height:52px}.ligne-type.ouverte{background:var(--vert-clair)}.ligne-type.masque .rond-petit{background:var(--surface-1);color:var(--text-muted)}.ligne-type.masque .nom{color:var(--text-muted)}.pastille{background:var(--surface-1);border:.5px solid var(--border-strong);color:var(--text-secondary);white-space:nowrap;border-radius:8px;margin-left:6px;padding:1px 7px;font-size:10px;font-weight:400}.grille-icones{border-top:.5px solid var(--border);grid-template-columns:repeat(6,1fr);gap:6px;padding:8px 10px 10px;display:grid}.case-icone{border:.5px solid var(--border);background:var(--surface-2);border-radius:10px;justify-content:center;align-items:center;height:40px;display:flex}.case-icone.choisie{background:var(--vert-clair);border:1.5px solid var(--vert);color:var(--vert-fonce)}.avertissement{color:var(--text-warning,#854f0b);background:var(--bg-warning,#faeeda);border-radius:10px;gap:8px;margin-top:10px;padding:8px 10px;font-size:12px;display:flex}.bouton-supprimer{border:.5px solid var(--border-danger,#f09595);color:var(--text-danger);border-radius:10px;flex:1;justify-content:center;align-items:center;gap:6px;padding:10px;font-size:14px;display:flex}.bouton-supprimer:disabled{border-color:var(--border-strong);color:var(--text-secondary)}.connexion{justify-content:center;align-items:center;min-height:100dvh;padding:16px;display:flex}.connexion-carte{background:var(--surface-2);border:.5px solid var(--border);text-align:center;border-radius:16px;flex-direction:column;gap:12px;width:100%;max-width:360px;padding:24px 20px;display:flex}.connexion-carte h1{margin:0;font-size:20px;font-weight:500}.connexion-carte p{margin:0}.connexion-carte .champ{text-align:center}.connexion-icone{background:var(--vert-clair);width:48px;height:48px;color:var(--vert);border-radius:50%;justify-content:center;align-items:center;margin:0 auto;display:flex}.connexion-carte .bouton-creer{width:100%}.connexion-carte .bouton-creer:disabled{opacity:.5}.connexion-carte .bouton-creer{justify-content:center;align-items:center;gap:8px;display:flex}.lien-discret{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:4px;font-size:13px;text-decoration:underline}
