:root{--paper: #f2f4f9;--surface: #ffffff;--ink: #1b2a6b;--ink-2: #2b3d92;--ink-soft: #e7ebf8;--text: #20232b;--muted: #5d6475;--rule: #dbe2f0;--line: #c9d4ec;--margin: #e0525a;--debt: #c8323b;--debt-soft: #fbeaeb;--paid: #16805a;--paid-soft: #e4f4ed;--warn: #b7791f;--hover: rgba(27, 42, 107, .05);--r-sm: 8px;--r-md: 12px;--r-lg: 18px;--ui: "Bricolage Grotesque", "Segoe UI", system-ui, -apple-system, sans-serif;--hand: "Caveat", "Comic Sans MS", cursive;--line-h: 46px;color-scheme:light}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;height:100%}body{font-family:var(--ui);font-size:15px;line-height:1.5;color:var(--text);background:var(--paper);-webkit-font-smoothing:antialiased;font-optical-sizing:auto}h1,h2,h3{margin:0;line-height:1.15;letter-spacing:-.015em}h1{font-size:clamp(1.6rem,1.2rem + 1.4vw,2.1rem);font-weight:700}h2{font-size:1.05rem;font-weight:650}p{margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit;color:inherit}img{max-width:100%;display:block}:focus-visible{outline:2.5px solid var(--ink-2);outline-offset:2px;border-radius:6px}.muted{color:var(--muted)}.red{color:var(--debt)}.green{color:var(--paid)}.num{text-align:right;font-variant-numeric:tabular-nums}.hand{font-family:var(--hand);font-weight:700;letter-spacing:.01em}.stack{display:grid;gap:16px}.boot{height:100vh;display:grid;place-items:center}.boot-mark{width:44px;height:44px;border-radius:12px;background:var(--ink);position:relative;animation:pulse 1.2s ease-in-out infinite}.boot-mark:before{content:"";position:absolute;left:12px;top:8px;bottom:8px;width:2px;background:var(--margin)}@keyframes pulse{50%{transform:scale(.9);opacity:.7}}.shell{display:grid;grid-template-columns:252px 1fr;min-height:100vh}.side{position:sticky;top:0;height:100vh;background:var(--ink);color:#fff;display:flex;flex-direction:column;padding:22px 14px 16px}.brand{display:flex;align-items:center;gap:12px;padding:0 10px 26px}.brand-mark{width:30px;height:34px;border-radius:4px 8px 8px 4px;background:#fff;position:relative;box-shadow:inset 4px 0 #c7d1f0}.brand-mark:before{content:"";position:absolute;left:8px;top:0;bottom:0;width:2px;background:var(--margin)}.brand-mark:after{content:"";position:absolute;left:13px;right:5px;top:10px;height:13px;background:repeating-linear-gradient(to bottom,#9fb0e2 0 2px,transparent 2px 6px)}.brand-name{font-size:1.35rem;font-weight:800;letter-spacing:-.03em}.side-nav{display:grid;gap:2px}.side-link{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:var(--r-sm);color:#c3cbea;font-weight:500;transition:background .15s,color .15s}.side-link:hover{background:#ffffff12;color:#fff}.side-link.active{background:#fff;color:var(--ink);font-weight:650}.side-link .dot{margin-left:auto}.side-shop{margin-top:auto;display:flex;align-items:center;gap:10px;padding:12px 8px 0;border-top:1px solid rgba(255,255,255,.12)}.side-shop-text{display:grid;min-width:0;flex:1}.side-shop-text strong{font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-shop-text span{font-size:.8rem;color:#aab4dc}.main{min-width:0}.page{max-width:1120px;margin:0 auto;padding:32px 32px 64px}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:24px}.page-head .muted{margin-top:4px}.tabbar{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 16px;border-radius:10px;border:1.5px solid transparent;font-weight:600;cursor:pointer;white-space:nowrap;transition:transform .08s,background .15s,opacity .15s}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-ink{background:var(--ink);color:#fff}.btn-ink:hover:not(:disabled){background:var(--ink-2)}.btn-debt{background:var(--debt);color:#fff}.btn-debt:hover:not(:disabled){background:#b02a33}.btn-paid{background:var(--paid);color:#fff}.btn-paid:hover:not(:disabled){background:#11704e}.btn-ghost{background:var(--surface);border-color:var(--rule);color:var(--text)}.btn-ghost:hover:not(:disabled){border-color:var(--line);background:var(--hover)}.btn-block{width:100%}.btn-sm{min-height:32px;padding:0 10px;font-size:.85rem}.icon-btn{width:38px;height:38px;display:inline-grid;place-items:center;flex:none;border-radius:10px;border:0;background:transparent;color:var(--muted);cursor:pointer}.icon-btn:hover:not(:disabled){background:var(--hover);color:var(--text)}.icon-btn:disabled{opacity:.35;cursor:not-allowed}.icon-btn-light{color:#aab4dc}.icon-btn-light:hover{background:#ffffff14!important;color:#fff!important}.link{color:var(--ink-2);font-weight:600}.link:hover{text-decoration:underline;text-underline-offset:3px}.link-btn{background:none;border:0;padding:4px 0;color:var(--ink-2);font-weight:600;cursor:pointer;display:inline-flex;gap:6px;align-items:center;justify-self:start}.link-btn:hover{text-decoration:underline;text-underline-offset:3px}.link-btn.danger{color:var(--debt)}.avatar{width:40px;height:40px;flex:none;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:.85rem;background:var(--ink-soft);color:var(--ink)}.avatar-light{background:#ffffff24;color:#fff;width:36px;height:36px}.dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex:none}.dot-on{background:#34c77b;box-shadow:0 0 0 3px #34c77b38}.dot-off{background:#9aa3b8}.pill{display:inline-block;padding:2px 9px;border-radius:99px;font-size:.78rem;font-weight:600;white-space:nowrap}.pill-ouverte,.pill-echec{background:var(--debt-soft);color:var(--debt)}.pill-partielle,.pill-en_attente{background:#fdf3e1;color:var(--warn)}.pill-soldee,.pill-envoye{background:var(--paid-soft);color:var(--paid)}.chip{border:1.5px solid var(--rule);background:var(--surface);border-radius:99px;padding:6px 14px;font-weight:550;font-size:.88rem;cursor:pointer;white-space:nowrap}.chip:hover{border-color:var(--line)}.chip.is-on{background:var(--ink);border-color:var(--ink);color:#fff}.chip-strong{border-color:var(--paid);color:var(--paid)}.chips{display:flex;gap:8px;flex-wrap:wrap}select,input:not([type=checkbox]):not([type=radio]){min-height:42px;padding:0 12px;border-radius:10px;border:1.5px solid var(--rule);background:var(--surface);width:100%;outline:none;transition:border-color .15s}select{width:auto;padding-right:32px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%235d6475' stroke-width='2'%3E%3Cpath d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}input:focus,select:focus{border-color:var(--ink-2)}input::placeholder{color:#a2a9b9}.field{display:grid;gap:6px;border:0;padding:0;margin:0;min-width:0}.field>span,.field>legend{font-weight:600;font-size:.88rem;padding:0;margin-bottom:0}.field>legend{margin-bottom:6px}.field small{color:var(--muted);font-size:.8rem}.input-prefix{display:flex;align-items:stretch}.input-prefix em{font-style:normal;display:grid;place-items:center;padding:0 12px;border:1.5px solid var(--rule);border-right:0;border-radius:10px 0 0 10px;background:var(--paper);color:var(--muted);font-weight:600;font-size:.9rem}.input-prefix input{border-radius:0 10px 10px 0}.form-error{color:var(--debt);font-weight:550;font-size:.9rem}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.inline{display:flex;gap:8px}.inline .input-prefix{flex:1}.switch{display:flex;align-items:center;gap:12px;cursor:pointer;font-weight:550;font-size:.92rem}.switch input{position:absolute;opacity:0;width:1px;height:1px}.switch-ui{width:42px;height:24px;border-radius:99px;background:#c6ccda;position:relative;flex:none;transition:background .2s}.switch-ui:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 2px #0003}.switch input:checked+.switch-ui{background:var(--paid)}.switch input:checked+.switch-ui:after{transform:translate(18px)}.switch input:focus-visible+.switch-ui{outline:2.5px solid var(--ink-2);outline-offset:2px}.panel{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-lg);padding:20px;min-width:0}.panel-flush{padding:0;overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.pad{padding:16px 20px;margin:0}.panel-head.pad{border-bottom:1px solid var(--rule)}.empty{color:var(--muted);padding:14px 0}.empty-block{padding:48px 20px;display:grid;gap:16px;justify-items:center;text-align:center;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.note{margin-top:18px;font-size:.84rem;color:var(--muted)}.back{display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-weight:550;margin-bottom:16px}.back:hover{color:var(--text)}.skeleton{height:340px;border-radius:var(--r-lg);background:linear-gradient(90deg,var(--rule),#e8edf6,var(--rule));background-size:200% 100%;animation:sk 1.3s infinite}@keyframes sk{to{background-position:-200% 0}}.auth{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr}.auth-page{background:var(--ink);display:grid;place-items:center;padding:48px}.paper{width:min(440px,100%);background:#fdfdff;border-radius:6px 14px 14px 6px;padding:34px 28px 30px 74px;position:relative;box-shadow:-6px 0 #c7d1f0,0 30px 60px -20px #00000073;transform:rotate(-1.6deg);background-image:repeating-linear-gradient(to bottom,transparent 0 41px,var(--line) 41px 42px);background-position:0 14px}.paper:before{content:"";position:absolute;left:56px;top:0;bottom:0;width:2px;background:var(--margin)}.paper-title{font-family:var(--hand);font-size:3.2rem;font-weight:700;color:var(--ink);line-height:1}.paper-sub{color:var(--muted);margin:8px 0 18px}.paper-lines{list-style:none;margin:0;padding:0}.paper-lines li{display:grid;grid-template-columns:46px 1fr auto;align-items:end;height:42px;gap:8px;color:var(--ink)}.paper-lines li>span:first-child{font-size:.78rem;color:var(--muted);margin-left:-54px;text-align:right;width:46px;padding-bottom:6px}.paper-lines .hand{font-size:1.45rem;line-height:1.35}.paper-done .hand{text-decoration:underline double var(--paid);color:var(--paid)}.paper-foot{margin-top:18px;font-size:.88rem;color:var(--muted)}.auth-form{display:grid;place-items:center;padding:40px 24px}.auth-card{width:min(380px,100%)}.auth-card h1{font-size:1.9rem}.filters{display:flex;gap:8px}.ledger-hero{display:grid;grid-template-columns:56px 1fr;background:#fdfdff;border:1px solid var(--rule);border-radius:var(--r-lg);overflow:hidden;margin-bottom:16px;background-image:repeating-linear-gradient(to bottom,transparent 0 calc(var(--line-h) - 1px),var(--line) calc(var(--line-h) - 1px) var(--line-h))}.ledger-hero-margin{border-right:2px solid var(--margin)}.ledger-hero-body{padding:14px 24px 12px 20px}.ledger-hero-body>p:first-child{line-height:var(--line-h);height:var(--line-h);color:var(--muted);font-weight:550}.hero-amount{font-size:clamp(3rem,2rem + 4.4vw,5.2rem);line-height:calc(var(--line-h) * 2);height:calc(var(--line-h) * 2);color:var(--ink);white-space:nowrap;animation:write .9s cubic-bezier(.2,.7,.2,1) both;clip-path:inset(0 0 0 0)}@keyframes write{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}.hero-sub{line-height:var(--line-h);color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px}.stat{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-md);padding:16px 18px;display:grid;gap:2px}.stat>span{color:var(--muted);font-weight:550;font-size:.88rem}.stat strong{font-size:1.55rem;font-weight:750;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.stat small{color:var(--muted);font-size:.8rem}.meter{height:6px;background:var(--ink-soft);border-radius:99px;overflow:hidden;margin-top:8px}.meter i{display:block;height:100%;background:var(--ink-2);border-radius:99px;transition:width .6s}.dash-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:16px;align-items:start}.chart{height:290px}.legend{display:flex;align-items:center;gap:6px;font-size:.82rem;color:var(--muted)}.legend i{width:10px;height:10px;border-radius:3px;display:inline-block}.legend i+i,.legend .lg-paid{margin-left:8px}.lg-debt{background:var(--debt)}.lg-paid{background:var(--paid)}.chart-tip{background:var(--text);color:#fff;padding:10px 12px;border-radius:10px;display:grid;gap:2px;font-size:.85rem}.t-debt{color:#ff9ea4}.t-paid{color:#7fe0b6}.status-strip{display:flex;gap:18px;margin-top:14px;padding-top:14px;border-top:1px dashed var(--rule);font-size:.86rem;color:var(--muted)}.status-strip b{color:var(--text)}.rows{list-style:none;margin:0;padding:0}.row{display:flex;align-items:center;gap:12px;padding:12px 20px;border-bottom:1px solid var(--rule);transition:background .12s}.panel:not(.panel-flush) .row{padding:10px 4px}.rows li:last-child .row{border-bottom:0}a.row:hover{background:var(--hover)}.row-main{display:grid;min-width:0;flex:1}.row-main strong{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-main small{color:var(--muted);font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-amount{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.row-chev{color:#b5bccb;flex:none}.toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.search{position:relative;flex:1 1 260px;display:flex;align-items:center}.search svg{position:absolute;left:12px;color:var(--muted)}.search input{padding-left:38px}.date-f{display:flex;align-items:center;gap:8px;color:var(--muted);font-weight:550}.date-f input{width:auto}.tabs{display:inline-flex;background:var(--ink-soft);padding:4px;border-radius:12px;margin-bottom:16px}.tabs button{border:0;background:transparent;padding:8px 18px;border-radius:9px;font-weight:600;cursor:pointer;color:var(--muted)}.tabs button.is-on{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #1b2a6b1f}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;min-width:640px}.table th{text-align:left;font-size:.82rem;font-weight:600;color:var(--muted);padding:12px 16px;border-bottom:1px solid var(--rule);background:#fafbfd}.table td{padding:12px 16px;border-bottom:1px solid var(--rule);font-variant-numeric:tabular-nums}.table tr:last-child td{border-bottom:0}.table .ref{font-weight:600;color:var(--ink);white-space:nowrap}.table .empty{text-align:center;padding:32px}.carnet-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:18px}.carnet-head .muted{margin-top:6px}.balance-tag{text-align:right;display:grid}.balance-tag span{font-size:.85rem;font-weight:600;color:var(--muted)}.balance-tag strong{font-size:2.6rem;line-height:1.05}.balance-tag.owes strong{color:var(--debt)}.balance-tag.clear strong{color:var(--paid)}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:18px}.actions-spacer{flex:1}.notebook{position:relative;background:#fdfdff;border:1px solid var(--rule);border-radius:6px var(--r-lg) var(--r-lg) 6px;box-shadow:-5px 0 0 var(--ink-soft);--mx: 84px;background-image:linear-gradient(to right,transparent calc(var(--mx) - 1px),var(--margin) calc(var(--mx) - 1px),var(--margin) calc(var(--mx) + 1px),transparent calc(var(--mx) + 1px)),repeating-linear-gradient(to bottom,transparent 0 calc(var(--line-h) - 1px),var(--line) calc(var(--line-h) - 1px) var(--line-h))}.nb-head,.nb-row{display:grid;grid-template-columns:var(--mx) 1fr 130px 130px;align-items:end;min-height:var(--line-h)}.nb-head{font-size:.78rem;font-weight:600;color:var(--muted);padding-bottom:8px}.nb-head span:first-child{padding-left:16px}.nb-head span:nth-child(2){padding-left:16px}.nb-head .num,.nb-row .nb-amt,.nb-row .nb-bal{text-align:right;padding-right:20px}.nb-row{width:100%;border:0;background:transparent;padding:0;text-align:left;cursor:pointer;height:var(--line-h)}.nb-row:hover{background:#1b2a6b09}.nb-date{padding-left:16px;padding-bottom:9px;font-size:.8rem;color:var(--muted);font-variant-numeric:tabular-nums}.nb-label{padding:0 8px 4px 16px;font-size:1.5rem;line-height:1.2;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nb-amt,.nb-bal{font-size:1.5rem;line-height:1.2;padding-bottom:4px;white-space:nowrap;font-variant-numeric:tabular-nums}.nb-bal{color:var(--ink)}.nb-line.is-open .nb-row{background:#1b2a6b0d}.nb-detail{margin-left:var(--mx);padding:12px 20px 16px 16px;background:var(--surface);border-bottom:1px solid var(--line);animation:unfold .18s ease-out}@keyframes unfold{0%{opacity:0;transform:translateY(-4px)}}.nb-detail-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px;font-size:.9rem;color:var(--muted)}.nb-detail-head strong{color:var(--text)}.nb-detail-foot{font-size:.88rem;color:var(--muted);margin-top:8px}.nb-detail-foot b{color:var(--text)}.mini{width:100%;border-collapse:collapse;font-size:.9rem}.mini td{padding:5px 0;border-bottom:1px dashed var(--rule)}.mini td+td{padding-left:12px}.nb-empty{margin-left:var(--mx);padding:0 20px 0 16px;line-height:var(--line-h);font-size:1.5rem;color:var(--muted)}.nb-filler{height:calc(var(--line-h) * 3)}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#12183473;display:grid;place-items:center;padding:20px;z-index:50;animation:fade .15s}@keyframes fade{0%{opacity:0}}.modal{width:min(600px,100%);max-height:calc(100vh - 40px);background:var(--surface);border-radius:var(--r-lg);display:flex;flex-direction:column;box-shadow:0 30px 80px -20px #12183480;animation:rise .2s cubic-bezier(.2,.8,.2,1)}@keyframes rise{0%{transform:translateY(12px);opacity:0}}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:18px 20px 6px}.modal-head h2{font-size:1.2rem}.modal-body{padding:12px 20px 18px;overflow-y:auto;display:grid;gap:18px}.modal-foot{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding:14px 20px;border-top:1px solid var(--rule)}.foot-total{margin-right:auto;display:grid}.foot-total span{font-size:.78rem;color:var(--muted);font-weight:600}.foot-total strong{font-size:1.25rem;font-variant-numeric:tabular-nums}.items{display:grid;gap:8px}.items-head,.item-row{display:grid;grid-template-columns:1fr 64px 130px 38px;gap:8px;align-items:center}.items-head{font-size:.8rem;font-weight:600;color:var(--muted)}.item-row input:nth-child(2),.item-row input:nth-child(3){text-align:right;font-variant-numeric:tabular-nums}.add-line{justify-self:start;display:inline-flex;gap:6px;align-items:center;border:1.5px dashed var(--line);background:transparent;border-radius:10px;padding:8px 14px;font-weight:600;color:var(--ink-2);cursor:pointer}.add-line:hover{background:var(--hover)}.pay-owed{display:flex;justify-content:space-between;align-items:baseline;padding:14px 16px;border-radius:var(--r-md);background:var(--debt-soft)}.pay-owed span{font-weight:600;color:var(--debt);font-size:.9rem}.pay-owed strong{font-size:1.3rem;color:var(--debt);font-variant-numeric:tabular-nums}.amount-input{position:relative}.amount-input input{min-height:60px;font-size:1.8rem;font-weight:700;padding-right:70px;font-variant-numeric:tabular-nums}.amount-input em{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-style:normal;color:var(--muted);font-weight:600}.quick{display:flex;gap:8px;flex-wrap:wrap;margin-top:-8px}.seg{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.seg-opt{position:relative;border:1.5px solid var(--rule);border-radius:10px;padding:9px 6px;text-align:center;font-weight:600;font-size:.86rem;cursor:pointer}.seg-opt input{position:absolute;opacity:0}.seg-opt.is-on{border-color:var(--ink);background:var(--ink-soft);color:var(--ink)}.seg-opt:focus-within{outline:2.5px solid var(--ink-2);outline-offset:2px}.pay-after{padding:12px 14px;border-radius:10px;background:var(--paper);font-size:.92rem}.pay-after.is-done{background:var(--paid-soft);color:var(--paid);font-weight:650}.wa-state{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:var(--r-md);background:var(--paper);margin-bottom:18px}.wa-state.on{background:var(--paid-soft);color:var(--paid)}.steps{margin:0 0 18px;padding-left:20px;display:grid;gap:8px;color:var(--muted)}.steps b{color:var(--text)}.qr{width:240px;padding:12px;border-radius:var(--r-md);border:1px solid var(--rule);background:#fff;margin-bottom:10px}.row-static{padding:12px 20px}.toasts{position:fixed;right:20px;bottom:20px;display:grid;gap:8px;z-index:60}.toast{background:var(--text);color:#fff;padding:12px 16px;border-radius:12px;font-weight:550;font-size:.92rem;box-shadow:0 12px 30px -10px #0006;animation:rise .2s;max-width:360px}.toast-ok{border-left:4px solid #34c77b}.toast-err{border-left:4px solid #ff6b74}.toast-warn{border-left:4px solid #f2b450}@media (max-width: 1000px){.dash-grid{grid-template-columns:1fr}}@media (max-width: 860px){.shell{grid-template-columns:1fr}.side{display:none}.page{padding:20px 16px calc(96px + env(safe-area-inset-bottom))}.tabbar{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--surface);border-top:1px solid var(--rule);padding:6px 4px calc(6px + env(safe-area-inset-bottom))}.tab{display:grid;justify-items:center;gap:2px;padding:6px 0;color:var(--muted);font-size:.72rem;font-weight:600;border-radius:10px}.tab.active{color:var(--ink)}.tab.active svg{stroke-width:2.4}.toasts{left:16px;right:16px;bottom:calc(80px + env(safe-area-inset-bottom))}.stats{grid-template-columns:1fr 1fr}.stats .stat:last-child{grid-column:1 / -1}.auth{grid-template-columns:1fr}.auth-page{padding:32px 20px 28px}.paper{transform:rotate(-1deg)}}@media (max-width: 600px){.ledger-hero{grid-template-columns:28px 1fr}.ledger-hero-body{padding:14px 14px 12px}.hero-sub{line-height:1.4;padding:10px 0 12px}.notebook{--mx: 52px}.nb-head,.nb-row{grid-template-columns:var(--mx) 1fr 92px 84px}.nb-date{padding-left:8px;font-size:.72rem}.nb-head span:first-child{padding-left:8px}.nb-label{padding-left:10px;font-size:1.25rem}.nb-head span:nth-child(2){padding-left:10px}.nb-amt,.nb-bal{font-size:1.25rem}.nb-head .num,.nb-row .nb-amt,.nb-row .nb-bal{padding-right:10px}.actions .btn{flex:1 1 auto}.actions-spacer{display:none}.balance-tag{text-align:left}.grid-2{grid-template-columns:1fr}.items-head{display:none}.item-row{grid-template-columns:1fr 56px 96px 34px;gap:6px}.seg{grid-template-columns:1fr 1fr}.modal-back{place-items:end center;padding:0}.modal{border-radius:var(--r-lg) var(--r-lg) 0 0;max-height:92vh}.modal-foot{padding-bottom:calc(14px + env(safe-area-inset-bottom))}.paper{padding-left:64px}.paper:before{left:48px}.filters{width:100%}.filters select{flex:1}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.license-bar{padding:10px 32px;background:#fdf3e1;color:#7a5210;font-size:.9rem;border-bottom:1px solid #f1dcb3}.license-bar.is-off{background:var(--debt-soft);color:var(--debt);border-bottom-color:#f2c9cc}.pill-active{background:var(--paid-soft);color:var(--paid)}.pill-essai{background:var(--ink-soft);color:var(--ink-2)}.pill-expiree{background:var(--debt-soft);color:var(--debt)}.pill-suspendue{background:#e9ebf0;color:#4a5162}.brand-tag{font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:2px 7px;border-radius:6px;background:#ffffff24;color:#dfe5fb}.stats-4{grid-template-columns:repeat(4,1fr)}.table tr.is-link{cursor:pointer}.table tr.is-link:hover td{background:var(--hover)}.table .sub{display:block;color:var(--muted);font-size:.82rem;font-weight:400}.table .num{text-align:right}.kv{display:grid;grid-template-columns:auto 1fr;gap:10px 20px;margin:0}.kv dt{color:var(--muted);font-size:.9rem}.kv dd{margin:0;font-weight:600;text-align:right;font-variant-numeric:tabular-nums}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px;padding-top:16px;border-top:1px dashed var(--rule)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start;margin-bottom:16px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field select,.field input{width:100%}.hint{padding:10px 12px;border-radius:var(--r-sm);background:var(--paper);color:var(--muted);font-size:.88rem}.hint b{color:var(--text)}@media (max-width: 1000px){.stats-4{grid-template-columns:repeat(2,1fr)}}@media (max-width: 860px){.grid-2{grid-template-columns:1fr}.license-bar{padding:10px 16px}}@media (max-width: 600px){.field-row{grid-template-columns:1fr}}@media (max-width: 860px){.stats-4 .stat:last-child{grid-column:auto}}
