:root{--color-abyss:#0a1310;--color-panel:#111e19;--color-panel-2:#16281f;--color-line:#2a4239;--color-line-soft:#1e332b;--color-ink:#edf4ef;--color-muted:#a9bdb3;--color-faint:#7e948a;--color-mint:#6ef2a8;--color-mint-ink:#0a1310;--color-mint-dim:#123527;--color-amber:#ffc24b;--color-coral:#ff7a6b;--color-aqua:#7cd4fd;--brand-mark-bg:#123527;--brand-mark-strip:#6ef2a8;--brand-mark-body:#e1f5ee;--brand-mark-accent:#ffc24b;--brand-mark-soft:#ffe1a3;--brand-mark-ink:#0a1310;--color-danger:#d92d20;--color-danger-strong:#e5484d;--color-edit:#6cb6ff;--font-display:"Space Grotesk","Avenir Next",system-ui,sans-serif;--font-body:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--radius-card:6px;--radius-field:4px;--radius-pill:999px;--shadow-card:0 1px 0 rgb(0 0 0/0.4),0 16px 40px -20px rgb(0 0 0/0.65);--shadow-modal:0 32px 80px -12px rgb(0 0 0/0.7);--ease-out:cubic-bezier(0.23,1,0.32,1)}html{color-scheme:dark}[data-theme=clair]{color-scheme:light;--color-abyss:#edf3ee;--color-panel:#ffffff;--color-panel-2:#e4efe7;--color-line:#bfd4c7;--color-line-soft:#d9e6dd;--color-ink:#0e1e16;--color-muted:#3c5a4d;--color-faint:#4e6a5c;--color-mint:#0b7a4d;--color-mint-ink:#ffffff;--color-mint-dim:#dcefe3;--color-amber:#7a5200;--color-coral:#b3261e;--color-aqua:#0e5a86;--brand-mark-bg:#0f6e56;--brand-mark-strip:#5dcaa5;--brand-mark-body:#e1f5ee;--brand-mark-accent:#ef9f27;--brand-mark-soft:#fac775;--brand-mark-ink:#412402;--color-danger:#b42318;--color-danger-strong:#912018;--color-edit:#1d4ed8;--shadow-card:0 1px 0 rgb(14 30 22/0.06),0 16px 40px -22px rgb(14 30 22/0.25);--shadow-modal:0 32px 80px -12px rgb(14 30 22/0.35)}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--color-line) transparent}html{scroll-behavior:smooth}body{margin:0;background:var(--color-abyss);color:var(--color-ink);font-family:var(--font-body);font-size:16px;line-height:1.55}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.5;background-image:linear-gradient(var(--color-line-soft) 1px,transparent 1px);background-size:100% 56px;-webkit-mask-image:linear-gradient(180deg,transparent,black 18%,black 70%,transparent);mask-image:linear-gradient(180deg,transparent,black 18%,black 70%,transparent)}[data-theme=clair] body:before{opacity:.35}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--color-line);border-radius:99px;border:2px solid var(--color-abyss)}::-webkit-scrollbar-track{background:transparent}::selection{background:var(--color-mint);color:var(--color-mint-ink)}a{color:var(--color-mint)}:focus-visible{outline:2px solid var(--color-mint);outline-offset:3px;border-radius:4px}[hidden]{display:none!important}.sr-only{width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip,.sr-only{position:absolute}.skip{left:16px;top:-60px;background:var(--color-mint);color:#0a1310;font-weight:600;padding:10px 16px;border-radius:4px;z-index:99;text-decoration:none;transition:top .18s var(--ease-out)}.skip:focus{top:12px}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:24px 16px;position:relative}.auth-theme{position:absolute;top:16px;right:16px}.auth-card{width:min(480px,100%);background:var(--color-panel);border:1px solid var(--color-line);border-radius:var(--radius-card);box-shadow:var(--shadow-modal);overflow:visible}.auth-head{padding:24px 24px 0}.brand{display:flex;align-items:center;gap:12px;margin-bottom:12px;text-decoration:none;color:inherit}.mark{width:40px;height:40px;border-radius:8px;display:grid;place-items:center;flex:none}.brand b{font-family:var(--font-display);font-size:20px;display:block;line-height:1.1;letter-spacing:-.01em}.brand small{color:var(--color-muted);font-size:12.5px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand>div{min-width:0}.auth-head h1{font-family:var(--font-display);font-size:24px;margin:8px 0 4px;letter-spacing:-.01em}.auth-head p{margin:0 0 4px;color:var(--color-muted);font-size:14px}.authtabs{display:grid;grid-template-columns:1fr 1fr;background:var(--color-abyss);border:1px solid var(--color-line);border-radius:var(--radius-field);padding:3px;grid-gap:2px;gap:2px;margin:16px 24px 0}.authtabs a{display:grid;place-items:center;color:var(--color-muted);font:600 14px var(--font-body);padding:11px;border-radius:3px;min-height:44px;text-decoration:none}.authtabs a[aria-current=page]{background:var(--color-panel-2);color:var(--color-mint);box-shadow:inset 0 0 0 1px var(--color-line)}.auth-form{padding:20px 24px 24px;display:flex;flex-direction:column;gap:14px}.auth-form .btn{justify-content:center}.demo-line{margin:0;color:var(--color-muted);font-size:13px}.inline-link{background:none;border:0;padding:0;color:var(--color-mint);text-decoration:underline;font:inherit;cursor:pointer}.form-error{margin:0;padding:10px 12px;border:1px solid color-mix(in srgb,var(--color-coral) 45%,transparent);border-radius:var(--radius-field);background:color-mix(in srgb,var(--color-coral) 10%,transparent);color:var(--color-coral);font-size:13.5px}[data-theme=clair] .form-error{background:#fbe7e2}.app{display:grid;grid-template-columns:272px minmax(0,1fr);min-height:100vh;position:relative}.side{background:#0d1814;border-right:1px solid var(--color-line);padding:22px 18px;display:flex;flex-direction:column;gap:20px;position:-webkit-sticky;position:sticky;top:0;height:100vh;z-index:20}[data-theme=clair] .side{background:#ffffff}.nav{flex-direction:column;gap:4px}.nav,.nav a{display:flex}.nav a{align-items:center;gap:12px;width:100%;text-align:left;padding:11px 12px;border-radius:var(--radius-field);color:var(--color-muted);font:500 15px var(--font-body);background:none;border:1px solid transparent;cursor:pointer;min-height:44px;text-decoration:none}.nav a:hover{color:var(--color-ink);background:#12241c}[data-theme=clair] .nav a:hover{background:#edf3ee}.nav a[aria-current=page]{background:var(--color-panel-2);color:var(--color-ink);border-color:var(--color-line)}.nav a .n{margin-left:auto;font-family:var(--font-mono);font-size:12px;color:var(--color-faint);background:var(--color-abyss);border:1px solid var(--color-line);border-radius:99px;padding:2px 9px}.userbox{margin-top:auto;background:var(--color-panel);border:1px solid var(--color-line);border-radius:var(--radius-card);padding:14px 16px;box-shadow:var(--shadow-card)}.userbox b{display:block;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.userbox span{color:var(--color-muted);font-size:12.5px;display:block;margin:2px 0 10px}.userbox .row{display:flex;gap:8px;flex-wrap:wrap}.main{padding:28px 32px 64px;max-width:1240px;width:100%;min-width:0}.topbar{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:20px}.topbar h2{font-family:var(--font-display);font-size:clamp(24px,3vw,32px);line-height:1.1;margin:0;letter-spacing:-.02em}.topbar h2 small{font-weight:500;color:var(--color-muted);font-size:.58em;display:block;margin-top:6px;font-family:var(--font-body);letter-spacing:0}.toolbar{margin-left:auto;display:flex;gap:10px;flex-wrap:wrap}.btn,.toolbar{align-items:center}.btn{font:600 15px/1 var(--font-body);border-radius:var(--radius-field);padding:0 18px;min-height:44px;border:1px solid transparent;cursor:pointer;display:inline-flex;gap:8px;text-decoration:none;transition:background-color .16s var(--ease-out),border-color .16s var(--ease-out),transform .12s var(--ease-out);white-space:nowrap}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--color-mint);color:var(--color-mint-ink)}.btn-primary:hover{background:#8bf7bc}[data-theme=clair] .btn-primary:hover{background:#095c3a}.btn-danger{background:var(--color-danger);color:#ffffff}.btn-danger:hover{background:var(--color-danger-strong)}.btn-ghost{background:var(--color-panel);border-color:var(--color-line);color:var(--color-ink)}.btn-ghost:hover{border-color:var(--color-mint)}.btn-sm{min-height:40px;padding:0 14px;font-size:14px}.kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--color-line);border-radius:var(--radius-card);background:var(--color-panel);box-shadow:var(--shadow-card);overflow:hidden;margin-bottom:22px}.kpi{padding:18px 20px;border-left:1px solid var(--color-line-soft);min-width:0}.kpi:first-child{border-left:0}.kpi .k{font-size:13.5px;color:var(--color-muted);margin-bottom:8px}.kpi .v{font-family:var(--font-mono);font-size:clamp(20px,2.2vw,27px);font-weight:600;letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.kpi .d{margin-top:8px;display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;padding:5px 10px;border-radius:var(--radius-pill);border:1px solid var(--color-line)}.up{color:var(--color-mint)}.down{color:var(--color-coral)}.flat{color:var(--color-amber)}.kpi.hero{background:linear-gradient(180deg,#143325,#111e19 70%);position:relative;border-left:0}[data-theme=clair] .kpi.hero{background:linear-gradient(180deg,#ddf0e4,#ffffff 75%)}.kpi.hero:after{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--color-mint)}.grid2{display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-gap:22px;gap:22px;align-items:start}.card{background:var(--color-panel);border:1px solid var(--color-line);border-radius:var(--radius-card);box-shadow:var(--shadow-card);min-width:0}.card-h{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--color-line-soft);flex-wrap:wrap}.card-h h3{font-family:var(--font-display);font-size:17px;margin:0}.card-h p{margin:2px 0 0;color:var(--color-muted);font-size:13.5px}.card-h .sp{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}.card-b{padding:18px 20px}.stack{display:flex;flex-direction:column;gap:22px;min-width:0}.seg{display:inline-flex;background:var(--color-abyss);border:1px solid var(--color-line);border-radius:var(--radius-field);padding:3px;gap:2px;flex-wrap:wrap}.seg button{border:0;background:none;color:var(--color-muted);font:600 13px var(--font-body);padding:8px 12px;border-radius:3px;cursor:pointer;min-height:36px}.seg button[aria-pressed=true]{background:var(--color-panel-2);color:var(--color-mint);box-shadow:inset 0 0 0 1px var(--color-line)}.scaleline{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}.scaleline .grow{flex:1 1;min-width:140px;max-width:360px}.chart-canvas{width:100%;height:240px;display:block}.legend{display:flex;gap:16px;padding:0 20px 16px;color:var(--color-muted);font-size:13px;flex-wrap:wrap}.legend i{width:10px;height:10px;border-radius:2px;display:inline-block;margin-right:7px}.sw-in{background:#6ef2a8}.sw-out{background:#ff7a6b}[data-theme=clair] .sw-in{background:#0b7a4d}[data-theme=clair] .sw-out{background:#b3261e}.chart-wrap{padding:8px 12px 4px}.filters{padding:14px 20px;border-bottom:1px solid var(--color-line-soft);flex-wrap:wrap}.field-search,.filters{display:flex;gap:8px;align-items:center}.field-search{background:var(--color-panel);border:1px solid var(--color-line);border-radius:var(--radius-field);padding:0 12px;min-height:44px}.field-search input{background:none;border:0;color:var(--color-ink);font-size:15px;width:190px;outline:none}.field-search input::placeholder{color:var(--color-faint)}.field-search svg{color:var(--color-faint);flex:none}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14.5px}thead th{text-align:left;color:var(--color-faint);font-size:12.5px;padding:10px 12px;border-bottom:1px solid var(--color-line)}tbody td:first-child,thead th:first-child{padding-left:20px}tbody td:last-child,thead th:last-child{padding-right:20px}tbody td{padding:13px 12px;border-bottom:1px dashed #22382f;vertical-align:middle}[data-theme=clair] tbody td{border-bottom-color:#d9e6dd}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:#13251d}[data-theme=clair] tbody tr:hover td{background:#eff6f0}.motif{font-weight:600}.motif small{display:block;font-weight:400;color:var(--color-muted);font-size:12.5px}.montant{font-family:var(--font-mono);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.pos{color:var(--color-mint)}.neg{color:var(--color-coral)}.sens{font-size:12px;font-weight:700;padding:4px 9px;border-radius:var(--radius-pill);border:1px solid var(--color-line);color:var(--color-muted);white-space:nowrap}.sens.in{color:var(--color-mint);border-color:#2c5a43;background:#0f241b}.sens.out{color:var(--color-coral);border-color:#5c2b25;background:#241210}[data-theme=clair] .sens.in{background:#dff2e4;border-color:#9cc8ac;color:#0b5a38}[data-theme=clair] .sens.out{background:#fbe7e2;border-color:#e0a89b;color:#8f1f14}.rowbtns{display:flex;gap:6px;justify-content:flex-end}.iconbtn{background:none;border:1px solid transparent;color:var(--color-muted);border-radius:6px;min-width:44px;min-height:44px;cursor:pointer;display:inline-grid;place-items:center;font-size:16px;text-decoration:none;transition:background-color .15s var(--ease-out),border-color .15s var(--ease-out),color .15s var(--ease-out)}.iconbtn:hover{color:var(--color-ink);border-color:var(--color-line)}.iconbtn:disabled{opacity:.5;cursor:not-allowed}.iconbtn.edit{color:var(--color-edit);background:color-mix(in srgb,var(--color-edit) 10%,transparent);border-color:color-mix(in srgb,var(--color-edit) 28%,transparent)}.iconbtn.edit:hover{color:var(--color-edit);background:color-mix(in srgb,var(--color-edit) 18%,transparent);border-color:var(--color-edit)}.iconbtn.danger{color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 10%,transparent);border-color:color-mix(in srgb,var(--color-danger) 28%,transparent)}.iconbtn.danger:hover{color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 18%,transparent);border-color:var(--color-danger)}.iconbtn svg{width:17px;height:17px}.pager{display:flex;align-items:center;gap:10px;padding:14px 20px;flex-wrap:wrap}.pager .info{font-size:13.5px;margin-right:auto}.empty,.pager .info{color:var(--color-muted)}.empty{padding:36px 24px;text-align:center}.empty strong{color:var(--color-ink);display:block;font-family:var(--font-display);font-size:18px;margin-bottom:6px}.privacy ul{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:10px;font-size:14px;color:var(--color-muted)}.privacy li{display:flex;gap:10px;align-items:flex-start}.tick{flex:none;width:22px;height:22px;border-radius:50%;background:var(--color-mint-dim);color:var(--color-mint);display:grid;place-items:center;font-size:13px;border:1px solid #2c5a43}[data-theme=clair] .tick{border-color:#9cc8ac}.acct{display:grid;grid-template-columns:1fr 1fr;grid-gap:22px;gap:22px;align-items:start}.privacy-actions{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}label{font-size:13.5px;font-weight:600;display:block;margin-bottom:6px}input[type=date],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=text],select,textarea{background-color:var(--color-abyss);border:1px solid var(--color-line);color:var(--color-ink);border-radius:var(--radius-field);min-height:44px;padding:10px 12px;font:500 15px var(--font-body);width:100%}[data-theme=clair] input[type=date],[data-theme=clair] input[type=email],[data-theme=clair] input[type=month],[data-theme=clair] input[type=number],[data-theme=clair] input[type=password],[data-theme=clair] input[type=search],[data-theme=clair] input[type=text],[data-theme=clair] select,[data-theme=clair] textarea{background-color:#f2f7f4}input:focus,select:focus,textarea:focus{border-color:var(--color-mint);outline:2px solid rgb(110 242 168/.35);outline-offset:1px}[data-theme=clair] input:focus,[data-theme=clair] select:focus,[data-theme=clair] textarea:focus{outline-color:rgb(11 122 77/.3)}input[type=number]::-webkit-inner-spin-button{opacity:.45;cursor:pointer}.err{color:var(--color-coral);font-size:13px;min-height:18px;display:block;margin-top:4px}.hintline{font-size:12.5px;color:var(--color-faint);margin-top:6px;display:block}.password-field{position:relative}.password-field input{padding-right:48px}.password-toggle{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:40px;height:40px;display:grid;place-items:center;background:none;border:1px solid transparent;border-radius:4px;color:var(--color-faint);cursor:pointer;padding:0}.password-toggle:hover{color:var(--color-ink);border-color:var(--color-line)}.password-toggle:focus-visible{outline:2px solid var(--color-mint);outline-offset:1px}.password-toggle svg{width:18px;height:18px;display:block}.f-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}form.saisie{display:flex;flex-direction:column;gap:14px}.form-actions{display:flex;gap:10px;flex-wrap:wrap}.typepick{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.typepick label{margin:0;cursor:pointer;position:relative}.typepick input{position:absolute;opacity:0}.typepick span{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:1px solid var(--color-line);border-radius:var(--radius-field);font-weight:600;font-size:14.5px;color:var(--color-muted)}.typepick input:checked+span{border-color:var(--color-mint);color:var(--color-mint);background:var(--color-mint-dim)}.typepick input:focus-visible+span{outline:2px solid var(--color-mint);outline-offset:2px}dialog{border:1px solid var(--color-line);background:var(--color-panel);color:var(--color-ink);border-radius:var(--radius-card);padding:0;width:min(520px,calc(100vw - 32px));box-shadow:var(--shadow-modal)}dialog::-webkit-backdrop{background:rgb(4 8 6/.72);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}dialog::backdrop{background:rgb(4 8 6/.72);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-h{padding:18px 22px;border-bottom:1px solid var(--color-line-soft);display:flex;align-items:flex-start;gap:12px}.modal-h h3{margin:0;font-family:var(--font-display);font-size:19px}.modal-h p{margin:3px 0 0;color:var(--color-muted);font-size:13.5px}.confirm-b{padding:20px 22px 22px}.confirm-b p{color:var(--color-muted);margin:0 0 6px;font-size:14.5px}.confirm-b p strong{color:var(--color-ink)}.modal-acts{display:flex;gap:10px;justify-content:flex-end;padding-top:14px;flex-wrap:wrap}.toast{position:fixed;right:24px;bottom:max(24px,env(safe-area-inset-bottom));width:min(380px,calc(100vw - 32px));display:flex;align-items:flex-start;gap:12px;padding:13px 12px 14px 14px;background:var(--color-panel);color:var(--color-ink);border:1px solid var(--color-line);border-radius:8px;box-shadow:var(--shadow-modal);opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .2s var(--ease-out),transform .2s var(--ease-out);z-index:60;overflow:hidden}.toast.show{opacity:1;transform:none;pointer-events:auto}.toast-icon{width:30px;height:30px;flex:none;display:grid;place-items:center;border-radius:50%;border:1px solid var(--color-line)}.toast-success .toast-icon{color:var(--color-mint);background:var(--color-mint-dim);border-color:color-mix(in srgb,var(--color-mint) 35%,transparent)}.toast-error .toast-icon{color:var(--color-coral);background:color-mix(in srgb,var(--color-coral) 12%,transparent);border-color:color-mix(in srgb,var(--color-coral) 35%,transparent)}.toast-info .toast-icon{color:var(--color-aqua);background:color-mix(in srgb,var(--color-aqua) 12%,transparent);border-color:color-mix(in srgb,var(--color-aqua) 35%,transparent)}.toast-text{flex:1 1;margin:1px 0 0;font-size:14px;line-height:1.5;font-weight:500;color:var(--color-ink);overflow-wrap:break-word}.toast-close{flex:none;width:36px;height:36px;display:grid;place-items:center;margin:-3px -5px 0 0;border:1px solid transparent;border-radius:var(--radius-field);background:none;color:var(--color-faint);cursor:pointer}.toast-close:hover{color:var(--color-ink);border-color:var(--color-line)}.toast-progress{position:absolute;left:0;bottom:0;height:2px;width:100%;transform-origin:left;animation:toastProgress 3.6s linear forwards}.toast-success .toast-progress{background:var(--color-mint)}.toast-error .toast-progress{background:var(--color-coral)}.toast-info .toast-progress{background:var(--color-aqua)}.toast:focus-within .toast-progress,.toast:hover .toast-progress{animation-play-state:paused}@keyframes toastProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.burger{display:none;background:var(--color-panel);border:1px solid var(--color-line);border-radius:var(--radius-field);color:var(--color-ink);min-width:44px;min-height:44px;cursor:pointer;font-size:20px;line-height:1;padding:0 12px}.burger:hover{border-color:var(--color-mint);color:var(--color-mint)}.menu-modal{width:min(420px,calc(100vw - 28px));padding:0;overflow:hidden;background:linear-gradient(180deg,#1b3027,#0d1814 55%);border:1px solid #3e6355;border-radius:12px;box-shadow:0 40px 100px -12px rgb(0 0 0/.8),0 0 0 1px rgb(110 242 168/.08),0 0 60px -20px rgb(110 242 168/.25)}[data-theme=clair] .menu-modal{background:linear-gradient(180deg,#ffffff,#e7f1eb);border-color:#bfd4c7;box-shadow:0 40px 100px -12px rgb(14 30 22/.35),0 0 0 1px rgb(11 122 77/.12)}.menu-modal::-webkit-backdrop{background:rgb(4 8 6/.7);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.menu-modal::backdrop{background:rgb(4 8 6/.7);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.menu-modal[open]{animation:sheetIn .22s cubic-bezier(.23,1,.32,1)}.menu-modal[open] .menu-links a{animation:riseIn .24s cubic-bezier(.23,1,.32,1) backwards}.menu-modal[open] .menu-links a:first-child{animation-delay:0s}.menu-modal[open] .menu-links a:nth-child(2){animation-delay:40ms}.menu-modal[open] .menu-links a:nth-child(3){animation-delay:80ms}.menu-modal[open] .menu-links a:nth-child(4){animation-delay:.12s}@keyframes sheetIn{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}@keyframes riseIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.menu-top{display:flex;align-items:center;gap:12px;padding:20px 20px 2px}.menu-top .who{min-width:0}.menu-top .who b{display:block;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-top .who span{color:var(--color-muted);font-size:12.5px}.menu-close{margin-left:auto;background:var(--color-abyss);border:1px solid var(--color-line);color:var(--color-ink);border-radius:var(--radius-field);min-width:44px;min-height:44px;cursor:pointer;font-size:17px}.menu-close:hover{border-color:var(--color-mint);color:var(--color-mint)}.menu-links{display:flex;flex-direction:column;gap:8px;padding:14px 20px 4px}.menu-links a{display:flex;align-items:center;gap:14px;width:100%;text-align:left;background:rgb(10 19 16/.7);border:1px solid var(--color-line);color:var(--color-ink);border-radius:8px;padding:14px 16px;min-height:58px;cursor:pointer;font:600 17px var(--font-display);letter-spacing:-.01em;text-decoration:none}[data-theme=clair] .menu-links a{background:rgb(255 255 255/.8)}.menu-links a small{margin-left:auto;font:600 12px var(--font-mono);color:var(--color-faint);background:var(--color-abyss);border:1px solid var(--color-line);border-radius:99px;padding:3px 10px}.menu-links a .glyph{width:34px;height:34px;flex:none;display:grid;place-items:center;border-radius:8px;background:var(--color-mint-dim);border:1px solid #2c5a43;color:var(--color-mint);font-size:16px}[data-theme=clair] .menu-links a .glyph{border-color:#9cc8ac}.menu-links a[aria-current=page]{border-color:var(--color-mint);background:var(--color-mint-dim)}.menu-links a:hover{border-color:var(--color-mint)}.menu-sep{height:1px;background:var(--color-line-soft);margin:14px 20px 0}.menu-acts{display:flex;gap:8px;padding:14px 20px 6px;flex-wrap:wrap}.menu-foot{padding:0 20px 20px;font-size:12.5px;margin:0}.menu-foot,footer{color:var(--color-faint)}footer{margin-top:28px;font-size:13px;display:flex;gap:14px;flex-wrap:wrap}.datewrap{position:relative}.datewrap input[type=date],.datewrap input[type=month]{padding-right:48px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.datewrap input[type=date]::-webkit-calendar-picker-indicator,.datewrap input[type=month]::-webkit-calendar-picker-indicator{opacity:0;width:1px;height:1px;margin:0;pointer-events:none}.datebtn{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:40px;height:40px;display:grid;place-items:center;background:none;border:0;border-radius:4px;color:var(--color-mint);cursor:pointer;padding:0}.datebtn:hover{background:var(--color-panel-2)}.datebtn:focus-visible{outline:2px solid var(--color-mint);outline-offset:1px}.datebtn svg{width:17px;height:17px;display:block}.cselect{position:relative}.cselect-btn{display:flex;align-items:center;gap:10px;width:100%;background:var(--color-abyss);border:1px solid var(--color-line);color:var(--color-ink);border-radius:var(--radius-field);min-height:44px;padding:10px 12px;font:500 15px var(--font-body);cursor:pointer;text-align:left}[data-theme=clair] .cselect-btn{background:#f2f7f4}.cselect-btn:hover{border-color:var(--color-mint)}.cselect-btn[aria-expanded=true]{border-color:var(--color-mint);outline:2px solid rgb(110 242 168/.35);outline-offset:1px}.cselect-btn .cselect-val{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cselect-btn .chev{margin-left:auto;color:var(--color-mint);font-size:13px;transition:transform .16s var(--ease-out)}.cselect-btn[aria-expanded=true] .chev{transform:rotate(180deg)}.cselect-list{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:45;background:var(--color-panel);border:1px solid var(--color-line);border-radius:var(--radius-card);box-shadow:var(--shadow-modal);padding:6px;margin:0;list-style:none;max-height:248px;overflow:auto;animation:dropIn .15s var(--ease-out)}@keyframes dropIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.cselect-list.drop-up{top:auto;bottom:calc(100% + 6px);animation:dropUp .15s var(--ease-out)}@keyframes dropUp{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.cselect-list li{padding:11px 12px;border-radius:4px;font-size:14.5px;cursor:pointer;display:flex;gap:8px;align-items:center;min-height:44px}.cselect-list li.focused,.cselect-list li:hover{background:var(--color-panel-2)}.cselect-list li.focused{outline:2px solid var(--color-mint);outline-offset:-2px}.cselect-list li[aria-selected=true]{color:var(--color-mint);font-weight:600}.cselect-list li[aria-selected=true]:after{content:"✓";margin-left:auto}.cselect-list::-webkit-scrollbar{width:8px}.loading-text{color:var(--color-muted);font-size:14px;padding:18px 20px}.spinner{display:inline-block;flex:none;border:2px solid;border-right:2px solid transparent;border-radius:50%;animation:spin .7s linear infinite;vertical-align:-2px}@keyframes spin{to{transform:rotate(1turn)}}.pager .info .spinner{margin-right:6px}.is-loading{opacity:.55;transition:opacity .15s var(--ease-out)}.skeleton{position:relative;overflow:hidden;background:var(--color-line-soft);border-radius:4px}.skeleton:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--color-ink) 9%,transparent),transparent);transform:translateX(-100%);animation:skeletonSweep 1.4s ease-in-out infinite}@keyframes skeletonSweep{to{transform:translateX(100%)}}.skeleton-line{height:12px}.skeleton-value{height:26px;width:62%;margin:8px 0 10px}.skeleton-badge{height:24px;width:42%;border-radius:999px}.skeleton-field{height:44px;width:100%}.skeleton-button{height:44px;width:200px;margin-top:18px}.skeleton-chart{height:240px;width:100%}.skeleton-cell{height:13px}.skeleton-table-row{grid-template-columns:1.6fr .7fr .7fr .7fr;grid-gap:18px;gap:18px;padding:15px 20px}.skeleton-history-row,.skeleton-table-row{display:grid;border-bottom:1px dashed var(--color-line-soft)}.skeleton-history-row{grid-template-columns:minmax(0,1fr) 70px 90px 100px;grid-gap:16px;gap:16px;align-items:center;padding:16px 20px}.figures{padding-top:2px}.figure-row,.figures{display:flex;flex-direction:column}.figure-row{gap:4px;padding:14px 0;border-bottom:1px dashed var(--color-line-soft)}.figure-row:last-child{border-bottom:0;padding-bottom:0}.figure-row>span{font-size:12.5px;color:var(--color-faint);font-weight:600}.figure-row strong{font-family:var(--font-display);font-size:16px;font-weight:600;display:flex;justify-content:space-between;gap:12px;align-items:baseline}.figure-row em{font-family:var(--font-mono);font-style:normal;font-size:14px;color:var(--color-mint);white-space:nowrap}.mini-row{display:flex;justify-content:space-between;gap:10px;padding:12px 20px;border-top:1px solid var(--color-line-soft);font-size:14px;align-items:center}.mini-row:first-child{border-top:0}.mini-row .mini-main{min-width:0}.mini-row .mini-meta{color:var(--color-muted);font-size:12.5px}.mini-row .mini-right{display:flex;gap:6px;align-items:center}@media (max-width:1080px){.grid2{grid-template-columns:1fr}.stack{display:grid;grid-template-columns:1fr 1fr;align-items:start}.acct{grid-template-columns:1fr}}@media (max-width:1000px){.kpis{grid-template-columns:1fr}.kpi{border-left:0;border-top:1px solid var(--color-line-soft)}.kpi:first-child{border-top:0}.stack{grid-template-columns:1fr}}@media (max-width:820px){.app{grid-template-columns:1fr}.side{position:-webkit-sticky;position:sticky;top:0;z-index:20;height:auto;flex-direction:row;align-items:center;padding:10px 12px;gap:10px;border-right:0;border-bottom:1px solid var(--color-line)}.brand small,.userbox{display:none}.brand{flex:1 1;margin-bottom:0}.side .nav{display:none}.burger{display:inline-grid;place-items:center}.main{padding:20px 16px 72px}.toolbar{margin-left:0;width:100%}.f-row,.stack{grid-template-columns:1fr}.field-search{flex:1 1}.field-search input{width:100%}}@media (max-width:560px){thead{display:none}table,tbody,td,tr{display:block;width:100%}tbody tr{border:1px solid var(--color-line);border-radius:var(--radius-field);margin:0 12px 12px;width:auto;padding:8px 4px}tbody td{border:0;padding:5px 16px}tbody td[data-l]:before{content:attr(data-l);display:block;font-size:12px;color:var(--color-faint);font-weight:600}.montant{font-size:18px}.rowbtns{justify-content:flex-start}.auth-wrap{min-height:100dvh;padding:12px;align-items:start}.auth-card{margin:auto 0}.auth-head{padding:16px 16px 0}.auth-head .brand{margin-bottom:8px}.auth-head .mark{width:32px;height:32px}.auth-head h1{font-size:20px;margin:4px 0 2px}.auth-head p{font-size:13px}.authtabs{margin:12px 16px 0}.authtabs a{padding:8px;min-height:40px}.auth-form{padding:14px 16px 16px;gap:10px}.recap-table tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:2px 10px;gap:2px 10px;padding:12px 16px}.recap-table td{padding:0;border:0}.recap-table td:first-child{grid-column:1/-1;padding:0 0 7px}.recap-table td:first-child:before{display:none}.recap-table td:not(:first-child){text-align:left!important}.recap-table td[data-l]:before{font-size:11px;margin-bottom:2px}.recap-table .montant{font-size:15px}.history-table tr{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-gap:4px 8px;gap:4px 8px;padding:12px 16px}.history-table td{padding:0;border:0}.history-table td[data-l]:before{display:none}.history-table td:first-child{grid-column:1/3;grid-row:1}.history-table td:nth-child(2){grid-column:1;grid-row:2;justify-self:start}.history-table td:nth-child(3){grid-column:2;grid-row:2;font-size:13px;align-self:center}.history-table td:nth-child(4){grid-column:3;grid-row:1;text-align:right!important;align-self:center}.history-table td:nth-child(5){grid-column:3;grid-row:2;justify-self:end}.history-table .montant{font-size:16px}.history-table .rowbtns{justify-content:flex-end}.skeleton-table-row{grid-template-columns:1fr 1fr}.skeleton-history-row{grid-template-columns:1fr auto}.pager{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.pager .info{grid-column:1/-1;margin:0}.pager .btn{justify-content:center}.toolbar{flex-direction:column;align-items:stretch}.toolbar .field-search{width:100%}.toolbar .btn{justify-content:center}.toast{left:16px;right:16px;bottom:max(16px,env(safe-area-inset-bottom));width:auto}}@media (max-width:480px){.recap-table tr{grid-template-columns:1fr 1fr}.recap-table td:nth-child(4){grid-column:1/-1;display:flex;justify-content:space-between;align-items:baseline;gap:12px}.recap-table td:nth-child(4):before{margin:0}}@media (max-width:360px){.recap-table tr{grid-template-columns:1fr}.recap-table td{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.recap-table td:before{margin:0}.recap-table td:first-child{display:block}}@media (max-width:370px){.pager{grid-template-columns:1fr}.pager .info{grid-column:1}.history-table td:nth-child(5){grid-column:1/-1;grid-row:3;justify-self:stretch}.history-table .rowbtns{justify-content:flex-end}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.skeleton:after{display:none}.spinner{animation:none;border-right-color:currentColor;opacity:.7}}