@font-face{font-family:Fraunces;src:url("./fraunces-latin-soft-normal-JYNYDG4B.woff2") format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:Jakarta;src:url("./plus-jakarta-sans-latin-wght-normal-XZSBT77D.woff2") format("woff2");font-weight:200 800;font-display:swap}:root{--bg: #F7F5F1;--surface: #FFFFFF;--surface-2: #F3F0EA;--ink: #161514;--ink-2: #4B4741;--muted: #6F6A61;--line: #E9E4DB;--brand: #EDB33A;--on-brand: #161514;--brand-soft: #FCEFD2;--brand-line: #E2A93A;--accent: #FCEFD2;--on-accent: #161514;--on-accent-muted: #5A4A2E;--on-accent-soft: rgba(237, 179, 58, .28);--bar: #A86E00;--on-ink: #FFFFFF;--on-ink-muted: rgba(255, 255, 255, .6);--on-ink-soft: rgba(255, 255, 255, .12);--on-person: #FFFFFF;--on-warn: #FFFFFF;--on-bad: #FFFFFF;--splash-honey: #EDB33A;--accent-soft: #EEEAE3;--font-display: "Fraunces", Georgia, serif;--forecast: #8A5A00;--caro: #7B5CE5;--caro-ink: #5B3FC4;--caro-soft: #F1EDFF;--seb: #2A6FE0;--seb-ink: #1C5FCC;--seb-soft: #E8F1FF;--good: #0F7542;--good-soft: #E6F6EC;--warn: #A55F00;--warn-soft: #FFF3DF;--bad: #C2372D;--bad-soft: #FDECEA;--t-amber: #965700;--t-amber-soft: #FFF1DC;--t-green: #0F7542;--t-green-soft: #E3F5EA;--t-coral: #B23D22;--t-coral-soft: #FFE9E3;--t-teal: #096C6B;--t-teal-soft: #DDF4F3;--t-pink: #AF256B;--t-pink-soft: #FDE7F2;--t-yellow: #806000;--t-yellow-soft: #FFF6D1;--r-lg: 24px;--r-md: 16px;--r-sm: 10px;--shadow: 0 1px 2px rgba(40, 30, 15, .04);--sidebar: 248px}@media(prefers-color-scheme:dark){:root{--bg: #282521;--surface: #322E29;--surface-2: #3B3631;--ink: #F4EFE6;--ink-2: #D8D0C4;--muted: #B9B0A3;--line: #544D44;--brand: #EDBF6B;--on-brand: #24211D;--brand-soft: #4A3C24;--brand-line: #A9823F;--accent: #4A3C24;--on-accent: #F4EFE6;--on-accent-muted: #E4D6BC;--on-accent-soft: rgba(237, 191, 107, .2);--bar: #E9BD71;--accent-soft: #544D44;--on-ink: #24211D;--on-ink-muted: #625A4E;--on-ink-soft: rgba(36, 33, 29, .12);--on-person: #24211D;--on-warn: #24211D;--on-bad: #24211D;--forecast: #E9BD71;--caro: #B49AFF;--caro-ink: #C6B2FF;--caro-soft: #342C44;--seb: #8AB4FA;--seb-ink: #A6C7FF;--seb-soft: #28364A;--good: #83D3A3;--good-soft: #253A2D;--warn: #E9BD71;--warn-soft: #403222;--bad: #F5A095;--bad-soft: #422C29;--t-amber: #E9BD71;--t-amber-soft: #403222;--t-green: #83D3A3;--t-green-soft: #253A2D;--t-coral: #F5AB94;--t-coral-soft: #422F28;--t-teal: #85CECB;--t-teal-soft: #253A39;--t-pink: #F0A1CC;--t-pink-soft: #402D38;--t-yellow: #DEC67A;--t-yellow-soft: #3C3523;--splash-honey: #E9BD71;--shadow: 0 1px 2px rgba(18, 16, 13, .2)}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;overscroll-behavior-y:none}body{margin:0;background:var(--bg);color:var(--ink);font-family:Jakarta,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased;font-feature-settings:"tnum" 1}button{font:inherit;color:inherit}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}h1,h2,h3,p{margin:0}.num{font-variant-numeric:tabular-nums;letter-spacing:-.02em}.app{display:flex;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;width:var(--sidebar);flex:none;background:var(--surface);padding:28px 20px;display:flex;flex-direction:column;border-right:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-weight:700;font-size:20px;letter-spacing:-.02em;padding:0 8px}.brand{font-size:22px;font-weight:800;letter-spacing:-.03em}.brand-mark{width:42px;height:42px;margin:-4px 0}.nav-title{margin:36px 8px 10px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.nav{display:flex;flex-direction:column;gap:4px}.nav-item{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:12px;border:0;background:none;font-weight:550;color:var(--ink-2);cursor:pointer;text-align:left}.nav-item svg{width:20px;height:20px}.nav-item:hover{background:var(--surface-2);color:var(--ink)}.nav-item[aria-current=page]{background:var(--brand-soft);color:var(--ink);box-shadow:inset 0 0 0 1px var(--brand-line)}.sidebar-foot{margin-top:auto;display:flex;align-items:center;padding:8px}.sidebar-foot .avatar+.avatar{margin-left:-8px}.sidebar-names{margin-left:10px;font-weight:600;font-size:14px}.main{flex:1;min-width:0;padding:28px 32px 112px;max-width:1280px}.topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:24px}.mobile-brand{display:none;align-items:center;gap:8px;font-weight:800;font-size:17px;letter-spacing:-.03em;margin-bottom:14px}.mobile-brand img{width:30px;height:30px}.eyebrow{font-size:13px;color:var(--muted);font-weight:550;margin-bottom:2px}h1{font-size:28px;font-weight:700;letter-spacing:-.03em}.month-picker{display:flex;align-items:center;gap:6px;background:var(--surface);border-radius:999px;padding:5px;border:1px solid var(--line);box-shadow:var(--shadow)}.month-picker button{width:36px;height:36px;border-radius:50%;border:0;background:var(--surface-2);display:grid;place-items:center;cursor:pointer}.month-picker button:hover:not(:disabled){background:var(--ink);color:var(--on-ink)}.month-picker button:disabled{opacity:.35;cursor:default}.month-picker button svg{width:18px;height:18px}.month-label{min-width:138px;text-align:center;font-weight:650;text-transform:capitalize}.month-label small{display:block;font-size:12px;font-weight:600;color:var(--muted);text-transform:none;letter-spacing:.01em}.month-label small.forecast{color:var(--forecast)}.card{background:var(--surface);border-radius:var(--r-lg);padding:22px;border:1px solid var(--line);box-shadow:var(--shadow)}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.card-head h2{font-size:17px;font-weight:700;letter-spacing:-.02em}.card-head .hint{font-size:13px;color:var(--muted)}.link-btn{border:0;background:none;color:var(--ink-2);font-size:13px;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:3px;padding:0}.grid-overview{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}.stack{display:grid;gap:20px}.hero{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.kpi{position:relative;border-radius:var(--r-lg);padding:20px 20px 18px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);overflow:hidden}.kpi-top{display:flex;align-items:center;gap:10px;font-weight:600;color:var(--ink-2);font-size:14px}.kpi-value{font-size:34px;font-weight:750;margin-top:14px;line-height:1.05}.kpi-value .unit{font-size:15px;font-weight:600;color:var(--muted);margin-left:4px;letter-spacing:0}.kpi-sub{margin-top:8px;font-size:13px;color:var(--muted)}.kpi-adj{display:inline-block;white-space:nowrap;margin-top:8px;font-size:12px;font-weight:650;color:var(--caro-ink);background:var(--caro-soft);border-radius:999px;padding:2px 9px}.kpi.seb .kpi-adj{color:var(--seb-ink);background:var(--seb-soft)}.kpi.total{background:var(--accent);color:var(--on-accent);border-color:transparent}.kpi.total .kpi-top,.kpi.total .kpi-sub,.kpi.total .kpi-value .unit{color:var(--on-accent-muted)}.kpi-icon{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--on-accent-soft)}.kpi-icon svg{width:17px;height:17px}.avatar{width:30px;height:30px;border-radius:50%;display:inline-grid;place-items:center;font-size:13px;font-weight:700;color:var(--on-person);border:2px solid var(--surface);flex:none}.avatar.caro{background:var(--caro)}.avatar.seb{background:var(--seb)}.avatar.lg{width:40px;height:40px;font-size:15px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 11px;font-size:12.5px;font-weight:600;background:var(--surface-2);color:var(--ink-2);border:0}.chip svg{width:14px;height:14px}.chip.warn{background:var(--warn-soft);color:var(--warn)}.chip.caro{background:var(--caro-soft);color:var(--caro-ink)}.chip.on-dark{background:var(--on-accent-soft);color:var(--on-accent)}button.chip{cursor:pointer;min-height:32px}.score{display:inline-flex;align-items:center;justify-content:center;min-width:52px;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:700;white-space:nowrap}.score.good{background:var(--good-soft);color:var(--good)}.score.mid{background:var(--warn-soft);color:var(--warn)}.score.low{background:var(--bad-soft);color:var(--bad)}.score.label{background:var(--surface-2);color:var(--muted);font-weight:600}.banner{display:flex;align-items:center;gap:16px;border-radius:var(--r-lg);padding:16px 20px;background:var(--caro-soft);color:var(--ink)}.banner-icon{width:40px;height:40px;border-radius:12px;background:var(--surface);color:var(--caro-ink);display:grid;place-items:center;flex:none}.banner-icon svg{width:20px;height:20px}.banner-text{flex:1;min-width:0}.banner-text strong{font-weight:700}.banner-text p{font-size:13px;color:var(--ink-2);margin-top:2px}.progress{display:flex;gap:3px;margin-top:10px}.progress i{height:5px;flex:1;border-radius:3px;background:#7b5ce52e}.progress i.on{background:var(--caro)}.banner-amount{font-size:20px;font-weight:750;color:var(--caro-ink);white-space:nowrap}button.banner{width:100%;border:0;font:inherit;text-align:left;cursor:pointer}.banner.seb{background:var(--seb-soft)}.banner.seb .banner-icon,.banner.seb .banner-amount{color:var(--seb-ink)}.banner.seb .progress i{background:#2e7cf62e}.banner.seb .progress i.on{background:var(--seb)}.bars{display:grid;gap:4px}.bar-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px;margin:0 -8px;border-radius:12px;border:0;background:none;cursor:pointer;text-align:left;width:calc(100% + 16px)}.bar-row:hover,.bar-row:focus-visible{background:var(--surface-2)}.bar-label{display:flex;justify-content:space-between;gap:8px;font-size:14px;font-weight:600;margin-bottom:6px}.bar-label span:last-child{color:var(--muted);font-weight:550;font-size:12.5px}.bar-main{display:block;min-width:0}.bar-track{display:block;height:8px;border-radius:4px;background:var(--surface-2);overflow:hidden}.bar-fill{height:100%;border-radius:4px;background:var(--bar);min-width:4px}.bar-track:has(.bar-limit){position:relative;overflow:visible}.bar-limit{position:absolute;top:-3px;bottom:-3px;width:2px;margin-left:-1px;border-radius:1px;background:var(--ink, currentColor);opacity:.55}.bar-track.warn .bar-fill{background:var(--warn)}.bar-track.over .bar-fill{background:var(--bad)}.bar-value{font-weight:700;min-width:92px;text-align:right}.bar-value small{display:block;font-size:12px;color:var(--muted);font-weight:550}.cat-icon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;flex:none}.cat-icon svg{width:18px;height:18px}.tint-amber{background:var(--t-amber-soft);color:var(--t-amber)}.tint-green{background:var(--t-green-soft);color:var(--t-green)}.tint-coral{background:var(--t-coral-soft);color:var(--t-coral)}.tint-teal{background:var(--t-teal-soft);color:var(--t-teal)}.tint-pink{background:var(--t-pink-soft);color:var(--t-pink)}.tint-yellow{background:var(--t-yellow-soft);color:var(--t-yellow)}.people-rows{display:grid;gap:12px}.person-row{display:flex;align-items:center;gap:12px}.person-row .grow{flex:1}.person-row .name{font-weight:650}.person-row .meta{font-size:12.5px;color:var(--muted)}.person-row .amount{font-weight:700}.split{display:flex;height:10px;border-radius:5px;overflow:hidden;gap:2px;margin:18px 0 8px}.split .caro{background:var(--caro)}.split .seb{background:var(--seb)}.split-legend{display:flex;justify-content:space-between;font-size:12.5px;font-weight:650}.split-legend .caro{color:var(--caro-ink)}.split-legend .seb{color:var(--seb-ink)}.watch{display:grid;gap:2px}.watch-item{display:flex;align-items:flex-start;gap:12px;padding:10px;margin:0 -10px;border-radius:12px;border:0;background:none;text-align:left;cursor:pointer;width:calc(100% + 20px)}.watch-item:hover{background:var(--surface-2)}.watch-dot{width:28px;height:28px;border-radius:9px;background:var(--warn-soft);color:var(--warn);display:grid;place-items:center;flex:none}.watch-dot svg{width:15px;height:15px}.watch-item strong{display:block;font-size:14px;font-weight:650}.watch-item span{font-size:12.5px;color:var(--muted)}.changes{display:grid;gap:10px}.change{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px}.change .delta{font-weight:700}.delta.up{color:var(--bad)}.delta.down{color:var(--good)}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px}.search{flex:1 1 260px;display:flex;align-items:center;gap:10px;background:var(--surface);border-radius:999px;padding:0 16px;height:44px;border:1px solid var(--line);box-shadow:var(--shadow)}.search svg{width:18px;height:18px;color:var(--muted);flex:none}.search input{border:0;outline:none;flex:1;font:inherit;background:none;min-width:0}.search:focus-within{outline:2px solid var(--ink);outline-offset:2px}.filters{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}.filters button{border:0;background:var(--surface);padding:0 14px;height:36px;border-radius:999px;font-size:13.5px;font-weight:600;color:var(--ink-2);cursor:pointer;white-space:nowrap;box-shadow:var(--shadow)}.filters button[aria-pressed=true]{background:var(--brand-soft);color:var(--ink);box-shadow:inset 0 0 0 1px var(--brand-line)}.summary-strip{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:baseline;margin-bottom:16px;color:var(--ink-2);font-size:14px}.summary-strip strong{font-size:20px;color:var(--ink);font-weight:750}.groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}.group{padding:18px 14px 10px}.group-head{display:flex;align-items:center;gap:12px;padding:0 8px 12px;border-bottom:1px solid var(--line);margin-bottom:4px}.group-head h2{font-size:16px;font-weight:700;flex:1;letter-spacing:-.01em}.group-head .num{font-weight:700}.group-head .num small{font-weight:550;color:var(--muted);font-size:12px}.row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:11px 8px;border-radius:12px;border:0;background:none;width:100%;text-align:left;cursor:pointer}.row:hover,.row:focus-visible{background:var(--surface-2)}.row+.row{box-shadow:0 -1px 0 var(--line)}.row:hover+.row,.row:hover{box-shadow:none}.row-name{font-weight:600;font-size:14.5px;display:flex;align-items:center;gap:6px;min-width:0}.row-name .t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-name .flag{width:7px;height:7px;border-radius:50%;background:var(--warn);flex:none}.row-freq{font-size:12.5px;color:var(--muted);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-amount{font-weight:700;text-align:right;white-space:nowrap}.row-amount.missing{color:var(--warn);font-weight:650;font-size:13px}.group.projects{background:transparent;box-shadow:none;border:1.5px dashed var(--line)}.group.projects .row .row-name{color:var(--ink-2)}.sheet-backdrop{position:fixed;inset:0;background:#15161c52;z-index:40;animation:fade .2s ease}.sheet{position:fixed;z-index:50;top:12px;right:12px;bottom:12px;width:420px;max-width:calc(100vw - 24px);background:var(--surface);border-radius:var(--r-lg);box-shadow:0 20px 60px #15161c2e;overflow-y:auto;padding:24px;animation:slide-in .24s cubic-bezier(.2,.8,.2,1)}.sheet-close{position:absolute;top:18px;right:18px;width:36px;height:36px;border-radius:50%;border:0;background:var(--surface-2);cursor:pointer;display:grid;place-items:center}.sheet-close svg{width:18px;height:18px}.sheet-title{display:flex;align-items:center;gap:12px;margin:4px 48px 20px 0}.sheet-title h2{font-size:20px;font-weight:700;letter-spacing:-.02em;line-height:1.2}.sheet-title p{font-size:13px;color:var(--muted)}.sheet-hero{background:var(--surface-2);border-radius:var(--r-md);padding:18px}.sheet-hero .big{font-size:32px;font-weight:750}.sheet-hero .big .unit{font-size:15px;color:var(--muted);font-weight:600;letter-spacing:0}.sheet-hero p{font-size:14px;color:var(--ink-2);margin-top:6px}.sheet-hero .formula{font-size:12.5px;color:var(--muted);margin-top:4px}.split-line{display:flex;gap:8px;margin-top:14px}.split-line span{flex:1;border-radius:10px;padding:8px 10px;font-size:12.5px;font-weight:600}.split-line .caro{background:var(--caro-soft);color:var(--caro-ink)}.split-line .seb{background:var(--seb-soft);color:var(--seb-ink)}.split-line b{display:block;font-size:15px;font-weight:750}.dl{display:grid;grid-template-columns:120px 1fr;gap:12px 16px;margin:20px 0;font-size:14px}.dl dt{color:var(--muted)}.dl dd{margin:0;font-weight:600}.note-box{border-radius:var(--r-md);border:1px solid var(--line);padding:14px 16px;font-size:14px;color:var(--ink-2)}.note-box+.note-box{margin-top:10px}.note-box h3{font-size:12px;font-weight:650;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:6px}.timeline{display:grid;gap:6px}.timeline div{display:flex;justify-content:space-between}.sheet-actions{display:flex;gap:10px;margin-top:20px}.btn{flex:1;height:46px;border-radius:999px;border:0;font-weight:650;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn.primary{background:var(--brand);color:var(--on-brand)}.btn.secondary{background:var(--surface-2);color:var(--ink)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn svg{width:18px;height:18px}a.btn{text-decoration:none}.btn.small{flex:none;height:38px;padding:0 14px;font-size:13.5px}.btn.small svg{width:16px;height:16px}.soon{text-align:center;font-size:12.5px;color:var(--muted);margin-top:10px}.form{display:grid;gap:14px}.field{display:grid;gap:6px;min-width:0}.field>span{font-size:12.5px;font-weight:650;color:var(--ink-2)}.field>span i{font-style:normal;font-weight:500;color:var(--muted)}.field input,.field select,.field textarea{width:100%;min-width:0;font:inherit;font-size:16px;color:var(--ink);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:10px 12px;outline:none}.field textarea{resize:vertical;line-height:1.45}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--ink);background:var(--surface);box-shadow:0 0 0 3px var(--accent-soft)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fieldset{border:1px solid var(--line);border-radius:var(--r-md);padding:12px 14px 14px;margin:0;display:grid;gap:12px}.fieldset legend{font-size:12px;font-weight:650;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:0 6px}.check-field{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--ink-2)}.check-field input{width:18px;height:18px;accent-color:var(--ink)}.hint-text{font-size:12.5px;color:var(--muted)}.form-error{background:var(--bad-soft);color:var(--bad);border-radius:var(--r-sm);padding:10px 12px;font-size:14px;font-weight:600}.form .sheet-actions{margin-top:4px}.income-form{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.income-form h3{font-size:14px;font-weight:700}.notice{display:flex;gap:12px;border-radius:var(--r-md);padding:14px 16px;margin-bottom:16px;font-size:14px}.notice svg{width:20px;height:20px;flex:none;margin-top:1px}.notice p{margin-top:4px}.notice.warn{background:var(--warn-soft);color:var(--warn)}.add-btn{flex:none;height:44px;padding:0 18px}.toast{pointer-events:none;position:fixed;z-index:60;left:50%;transform:translate(-50%);bottom:24px;max-width:calc(100vw - 32px);background:var(--ink);color:var(--on-ink);padding:12px 18px;border-radius:999px;font-size:14px;font-weight:600;box-shadow:0 10px 30px #15161c40;animation:fade .2s ease}.toast.warn{background:var(--warn);color:var(--on-warn)}.toast.error{background:var(--bad);color:var(--on-bad)}.toast-undo{pointer-events:auto;margin:-12px -10px -12px 6px;min-height:44px;padding:0 12px;border:0;border-radius:999px;background:none;color:inherit;font:inherit;font-weight:750;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.fatal{max-width:520px;margin:32px auto;text-align:center}.fatal h2{font-size:18px;margin-bottom:8px}.loading{padding:40px 0;text-align:center}.history{display:grid}.history-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--line);font-size:14px}.history-row:first-child{border-top:0}.history-row .grow{flex:1;min-width:0}.history-row .when{display:block;font-size:12.5px;color:var(--muted)}.history-row .link-btn{flex:none}.note-box .link-btn{display:inline-flex;align-items:center;gap:6px;margin-top:10px}.note-box .link-btn svg{width:15px;height:15px}.btn.danger{color:var(--bad)}.ptr{position:fixed;z-index:35;top:calc(8px + env(safe-area-inset-top));left:50%;width:40px;height:40px;border-radius:50%;background:var(--surface);color:var(--muted);box-shadow:0 4px 16px #15161c24;display:grid;place-items:center;transform:translate(-50%,-56px);opacity:0;pointer-events:none}.ptr svg{width:20px;height:20px}.ptr.visible{opacity:1}.ptr.ready{color:var(--ink)}.ptr.loading{opacity:1;color:var(--ink);transform:translate(-50%,24px)!important;transition:transform .2s ease}.ptr.loading svg{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.fab{position:fixed;z-index:34;right:28px;bottom:28px;height:56px;padding:0 22px 0 18px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);display:inline-flex;align-items:center;gap:10px;font:inherit;font-size:15px;font-weight:650;cursor:pointer;box-shadow:0 10px 30px #15161c47;transition:transform .15s ease}.fab:hover{transform:translateY(-1px)}.fab:active{transform:scale(.96)}.fab svg{width:22px;height:22px}body:has(.sheet:not([hidden])) .fab{display:none}.voice-input{position:relative}.voice-input textarea{padding-right:60px;min-height:96px}.voice-input input{padding-right:52px}.voice-input input+.mic{right:4px;bottom:4px;width:36px;height:36px}.chat-msg .link-btn{display:inline-flex;align-items:center;gap:6px;margin-top:6px}.chat-msg .link-btn svg{width:15px;height:15px}.chat-msg .note-box,.chat-msg .notice,.chat-msg .sheet-actions{margin-top:10px}.mic{position:absolute;right:8px;bottom:8px;width:44px;height:44px;border-radius:50%;border:0;background:var(--brand);color:var(--on-brand);display:grid;place-items:center;cursor:pointer}.mic svg{width:20px;height:20px}.mic.listening{background:var(--bad);color:var(--on-bad);animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{50%{box-shadow:0 0 0 8px var(--bad-soft)}}.plan{margin:0;padding-left:18px;display:grid;gap:6px;color:var(--ink)}.impact{width:100%;border-collapse:collapse;font-size:14px;margin-top:4px}.impact td{padding:6px 0;border-top:1px solid var(--line)}.impact td.r{text-align:right;white-space:nowrap}.impact .up{color:var(--bad)}.impact .down{color:var(--good)}.thinking{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:14px;margin-top:16px}.thinking svg{width:18px;height:18px;animation:spin .8s linear infinite}#voice-result:not(:empty){margin-top:18px;display:grid;gap:12px}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:none}.nav-item:focus-visible,.tabbar button:focus-visible,.fab:focus-visible,.btn.primary:focus-visible{outline-color:var(--ink);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}table.sr-only{table-layout:fixed;border-collapse:collapse}table.sr-only caption{position:absolute;width:1px;height:1px;overflow:hidden;white-space:normal}table.sr-only th,table.sr-only td{padding:0;white-space:normal;overflow-wrap:anywhere}.month-picker button,.sheet-close{width:44px;height:44px}.link-btn{padding:12px 0;margin:-12px 0}.check-field input{width:22px;height:22px}h1,.card-head h2,.group-head h2,.sheet-title h2,.fatal h2,.brand,.mobile-brand{font-family:var(--font-display);font-variation-settings:"SOFT" 100;letter-spacing:-.01em}h1{font-weight:600;font-size:32px}.card-head h2,.group-head h2,.sheet-title h2{font-weight:600;font-size:19px}.brand{font-weight:650;font-size:26px}.mobile-brand{font-weight:650;font-size:20px}.mascot{display:block;margin:0 auto 12px;width:96px;height:96px}.mascot.sm{width:64px;height:64px}.empty{text-align:center;color:var(--muted);padding:28px 16px}.loading .mascot{animation:bob 1.6s ease-in-out infinite}@keyframes bob{50%{transform:translateY(-6px)}}.settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}.table{width:100%;border-collapse:collapse;font-size:14px}.table th{text-align:left;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;padding:0 0 10px}.table td{padding:11px 0;border-top:1px solid var(--line)}.table td.r,.table th.r{text-align:right}.check{display:inline-flex;align-items:center;gap:6px;font-weight:650;color:var(--good)}.check.ko{color:var(--bad)}.check.changed{color:var(--warn)}.check svg{width:16px;height:16px}.rules{display:grid;gap:12px;font-size:14px;color:var(--ink-2);padding-left:18px;margin:0}.tint-none{background:var(--surface-2);color:var(--ink-2)}.tint-warn{background:var(--warn-soft);color:var(--warn)}.cat-icon.sm{width:32px;height:32px;border-radius:10px}.cat-icon.sm svg{width:16px;height:16px}.tx-list{display:grid}.tx-row{grid-template-columns:auto minmax(0,1fr) auto}.row-amount.credit,.sheet-hero .big.credit{color:var(--good)}.note-dot{width:7px;height:7px;border-radius:50%;background:var(--muted);flex:none}.tx-day{font-size:12px;font-weight:650;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:16px 8px 4px}.tx-day:first-child{margin-top:6px}.card-intro{margin:-6px 0 10px}.sub-title{font-size:12px;font-weight:650;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:22px 0 8px}.filters.in-card{margin:0 0 6px}.filters button svg{width:14px;height:14px;vertical-align:-2px}.chip.ok{background:var(--good-soft);color:var(--good)}.chip.over{background:var(--bad-soft);color:var(--bad)}.env-main{display:flex;align-items:flex-end;justify-content:space-between;gap:12px 24px;flex-wrap:wrap}.env-main .kpi-value{margin-top:0;font-size:40px}.envelope.over .env-main .kpi-value{color:var(--bad)}.env-side{display:flex;gap:24px;margin:0}.env-side dt{font-size:12.5px;color:var(--muted)}.env-side dd{margin:0;font-weight:700;font-size:16px}.gauge{height:12px;border-radius:6px;background:var(--surface-2);overflow:hidden;margin:16px 0 10px}.gauge span{display:block;height:100%;border-radius:6px;background:var(--good);min-width:4px}.gauge.warn span{background:var(--warn)}.gauge.over span{background:var(--bad)}.gauge.none span{background:var(--muted)}.env-explain{font-size:13px;color:var(--muted);margin-bottom:12px}.meta-r{font-size:12.5px;font-weight:600;text-align:right}.total-line{border-top:1px solid var(--line);padding-top:12px;margin-top:14px}.avatar.none{background:var(--surface-2);color:var(--ink-2)}.avatar.none svg{width:15px;height:15px}.muted{color:var(--muted);font-weight:600}.checks{list-style:none;padding:0;margin:18px 0;display:grid;gap:10px;font-size:14px}.checks li{display:flex;gap:10px;align-items:flex-start}.checks svg{width:18px;height:18px;flex:none;margin-top:1px}.checks .ok svg{color:var(--good)}.checks .warn svg{color:var(--warn)}.checks .ko{color:var(--bad)}.dl dd.raw{font-weight:500;font-size:13px;overflow-wrap:anywhere}#suggest-box:not(:empty){margin-bottom:16px}#suggest-box>.btn{width:100%;justify-content:center}.note-box.suggest{border-color:var(--ink-2)}.note-box.suggest p+p{margin-top:6px}.note-box.suggest .suggest-title{margin-top:14px}.note-box.suggest>.hint-text:last-child{margin-top:10px}.batch-row{min-width:0}.batch-row legend{max-width:100%;overflow-wrap:anywhere}.batch-row .check-field input{flex:none}.batch-row .check-field,.batch-row p{overflow-wrap:anywhere}.batch-details{min-width:0;font-size:13px;color:var(--ink-2);overflow-wrap:anywhere}.batch-details summary{cursor:pointer;padding:8px 0}.batch-details ul{margin:6px 0 0;padding-left:20px;display:grid;gap:8px}.registry{list-style:none;margin:0;padding:0;display:grid;gap:8px;color:var(--ink)}.sheet-actions.center{justify-content:center}.empty strong{display:block;color:var(--ink);font-size:16px;margin-bottom:6px}.empty p{max-width:440px;margin:0 auto}.toolbar .hint-text{flex:1;min-width:220px}.toolbar .btn{white-space:nowrap}.stack{min-width:0;grid-template-columns:minmax(0,1fr)}.card-head{flex-wrap:wrap}.chips .chip{white-space:normal;text-align:left}.tabbar{display:none}@keyframes fade{0%{opacity:0}}@keyframes slide-in{0%{transform:translate(24px);opacity:0}}@keyframes slide-up{0%{transform:translateY(40px);opacity:0}}@media(max-width:1180px){.grid-overview{grid-template-columns:minmax(0,1fr)}.grid-overview>.stack:last-child{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}@media(max-width:1000px){.groups,.settings{grid-template-columns:minmax(0,1fr)}}@media(max-width:860px){.sidebar{display:none}.mobile-brand{display:flex}.main{padding:18px 16px calc(96px + env(safe-area-inset-bottom))}.topbar{flex-direction:column;align-items:stretch;gap:14px;margin-bottom:18px}h1{font-size:24px}.month-picker{justify-content:space-between}.hero{grid-template-columns:1fr 1fr;gap:12px}.kpi{padding:16px}.kpi.total{grid-column:1 / -1;order:-1}.kpi-value{font-size:26px;margin-top:10px}.kpi.total .kpi-value{font-size:32px}.kpi-sub{font-size:12px}.card{padding:18px;border-radius:20px}.banner{flex-wrap:wrap;padding:16px;border-radius:20px}.banner-amount{font-size:17px}.stack,.grid-overview{gap:14px}.grid-overview>.stack:last-child{grid-template-columns:minmax(0,1fr)}.bar-value{min-width:0}.bar-label span:last-child{display:none}.toolbar{margin-bottom:14px}.filters{width:100%;margin:0 -16px;padding:4px 16px;width:calc(100% + 32px)}.groups{gap:14px}.group{padding:14px 8px 6px}.tabbar{display:grid;grid-template-columns:repeat(6,1fr);position:fixed;z-index:30;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:6px;box-shadow:0 10px 30px #15161c29}.tabbar button{border:0;background:none;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 0 6px;border-radius:16px;font-size:10.5px;letter-spacing:-.01em;font-weight:600;cursor:pointer;min-width:0}.tabbar button span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tabbar button svg{width:21px;height:21px}.tabbar button[aria-current=page]{background:var(--brand-soft);color:var(--ink)}.sheet{inset:auto 0 0;width:100%;max-width:none;max-height:88vh;border-radius:24px 24px 0 0;padding:20px 18px calc(24px + env(safe-area-inset-bottom));animation:slide-up .26s cubic-bezier(.2,.8,.2,1)}.sheet:before{content:"";display:block;width:40px;height:4px;border-radius:2px;background:var(--line);margin:-8px auto 14px}.dl{grid-template-columns:110px 1fr}.tabbar{right:84px}.fab{right:12px;bottom:calc(12px + env(safe-area-inset-bottom));width:66px;height:66px;border-radius:22px;padding:0;justify-content:center}.fab span{display:none}.fab svg{width:26px;height:26px}.toast{bottom:calc(96px + env(safe-area-inset-bottom))}}@media(max-width:440px){.tabbar button span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.tabbar button{padding:11px 0}}@media(max-width:380px){.kpi-value{font-size:23px}.field-row{grid-template-columns:1fr}}.foyer-tabs{margin-bottom:-4px}.agenda-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.agenda-step{display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:center}.agenda-step strong{font-size:15px}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.cal-head{text-align:center;font-size:11.5px;font-weight:600;color:var(--muted);padding-bottom:4px}.cal-cell{border:0;background:var(--surface-2);color:var(--ink);border-radius:12px;min-height:48px;padding:6px 2px;display:flex;flex-direction:column;align-items:center;gap:4px;font:inherit;font-size:14px;font-weight:600;cursor:pointer;min-width:0}.cal-cell.out{background:none;color:var(--muted);font-weight:500}.cal-cell.today{box-shadow:inset 0 0 0 2px var(--ink)}.cal-cell[aria-pressed=true]{background:var(--brand-soft);color:var(--ink);box-shadow:inset 0 0 0 1px var(--brand-line)}.cal-cell.today[aria-pressed=true]{box-shadow:inset 0 0 0 2px var(--ink)}.cal-dots{display:flex;gap:3px;min-height:6px}.agenda-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--muted);flex:none}.agenda-dot.event{background:var(--seb)}.agenda-dot.charge{background:var(--warn)}.agenda-dot.paid{background:var(--good)}.agenda-dot.income{background:var(--caro)}.cal-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-top:12px}.cal-legend .agenda-dot{margin-right:-6px}.agenda-list{display:grid}.agenda-item{display:flex;align-items:center;gap:10px;padding:10px 0;border:0;border-top:1px solid var(--line);background:none;color:var(--ink);font:inherit;font-size:14px;text-align:left;width:100%;min-width:0;cursor:pointer}div.agenda-item{cursor:default}.agenda-item .grow{flex:1;min-width:0;overflow-wrap:anywhere}.agenda-item small{display:block;color:var(--muted);font-size:12.5px}.agenda-item svg{width:16px;height:16px;color:var(--muted);flex:none}.agenda-week{display:grid;gap:4px}.week-day{border-top:1px solid var(--line);padding:6px 0}.week-day:first-child{border-top:0}.week-day .agenda-item{border-top:0;padding:6px 0}.week-label{border:0;background:none;font:inherit;font-weight:700;color:var(--ink);padding:8px 0;cursor:pointer;text-transform:capitalize}.week-day.today .week-label{text-decoration:underline;text-underline-offset:4px}.agenda-day h2{text-transform:none}.aisle-title{font-size:13px;font-weight:700;color:var(--muted);margin:16px 0 4px;text-transform:uppercase;letter-spacing:.04em}.course-list{list-style:none;margin:0;padding:0}.course{display:flex;align-items:center;gap:10px;padding:6px 0;border-top:1px solid var(--line);font-size:15px;min-width:0}.course .grow{flex:1;min-width:0;overflow-wrap:anywhere}.course small{color:var(--muted);font-size:13px}.course.done strong{text-decoration:line-through;color:var(--muted);font-weight:500}.course-check{width:30px;height:30px;flex:none;border-radius:50%;border:2px solid var(--muted);background:none;color:var(--on-ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.course-check[aria-pressed=true]{background:var(--good);border-color:var(--good)}.course-check svg{width:16px;height:16px}.icon-link{width:40px;height:40px;flex:none;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:none;color:var(--ink-2);cursor:pointer}.icon-link svg{width:18px;height:18px}.course-form .field-row{align-items:end}.recipes{display:grid;gap:12px}.recipe-ready svg{width:16px;height:16px;vertical-align:-3px;margin-right:4px}.history-row>.btn-wrap{flex:none}.qr-box{display:grid;place-items:center;padding:8px 0}.qr-box svg{width:min(240px,70vw);height:auto;background:#fff;border-radius:8px}.transfer-copy .history-row .when{word-break:break-all}.recipe{border-top:1px solid var(--line);padding-top:12px}.recipe:first-child{border-top:0;padding-top:0}.recipe h3{font-size:16px;font-weight:700}.recipe.done h3{color:var(--muted)}.recipe .card-head{margin-bottom:6px}.recipe details{font-size:14px;color:var(--ink-2)}.recipe summary{cursor:pointer;padding:8px 0;font-weight:600}.recipe ul,.recipe ol{margin:4px 0 8px;padding-left:20px;display:grid;gap:4px}.recipe .sheet-actions{margin-top:10px;flex-wrap:wrap;align-items:center}.plan-actions{margin:6px 0 4px;flex-wrap:wrap;align-items:center}.plan-actions [aria-pressed=true]{background:var(--brand-soft);color:var(--ink);border-color:var(--brand-line)}.cook-portions{display:flex;align-items:center;gap:12px;margin:8px 0;font-weight:600}.cook-portions output{min-width:2ch;text-align:center;font-size:22px;font-weight:700}.cook-portions .btn{min-width:44px;min-height:44px;justify-content:center}.cook-subtitle{font-size:16px;font-weight:700;margin:12px 0 6px}.cook-ingredients{list-style:none;padding:0;margin:0;display:grid;gap:6px}.cook-ingredients li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}.cook-step{font-size:22px;line-height:1.45;margin:16px 0}.cook-tm6{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px}.cook-tm6 span{background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:4px 10px;font-weight:600}.cook-timers:empty{display:none}.cook-timers{display:grid;gap:6px;margin:8px 0}.cook-timer{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:12px;background:var(--surface-2)}.cook-timer strong{font-size:20px;font-variant-numeric:tabular-nums;margin-left:auto}.cook-timer.ring{background:var(--ink);color:var(--on-ink)}.cook-timer.ring .link-btn{color:var(--on-ink)}.equipment{border:0;padding:0;margin:0;min-width:0}.equipment legend{font-size:13px;font-weight:600;color:var(--ink-2);margin-bottom:8px}.equipment .check-field{min-height:44px}.recipe-pick{border:0;border-top:1px solid var(--line);padding:10px 0 0;margin:0;min-width:0}.recipe-pick .hint-text{overflow-wrap:anywhere}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.row-link{flex:1;min-width:0;border:0;background:none;padding:0;font:inherit;color:inherit;text-align:left;cursor:pointer}.row-link:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:6px}.sub-details{border-top:1px solid var(--line)}.sub-details>summary{cursor:pointer;padding:12px 0;font-size:14px;font-weight:600;color:var(--ink-2)}.sub-details[open]>summary{padding-bottom:4px}.notice .grow{flex:1;min-width:0}.other-debit{flex-wrap:wrap}.link-select select{font:inherit;font-size:13px;padding:6px 8px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink);max-width:11rem;min-height:32px}.switch-field input[switch]{width:auto;height:auto}.haptic-wrap{display:grid}.haptic-wrap>*{grid-area:1 / 1}.haptic-overlay{width:100%;height:100%;margin:0;opacity:.001;z-index:1;cursor:pointer;-webkit-tap-highlight-color:transparent}.haptic-overlay:disabled{pointer-events:none}.btn-wrap{flex:1}.btn-wrap>.btn{width:100%}#suggest-box>.btn-wrap{width:100%}.splash{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:var(--bg);transition:opacity .45s ease,visibility .45s ease}.splash.out{opacity:0;visibility:hidden}.splash.out .splash-inner{transform:scale(1.04)}.splash-inner{display:grid;justify-items:center;gap:6px;transition:transform .45s ease;padding:24px;text-align:center}.splash-stage{position:relative;width:180px;height:170px}.splash-comb{position:absolute;left:50%;top:52%;width:132px;height:120px;translate:-50% -50%;clip-path:polygon(25% 3%,75% 3%,100% 50%,75% 97%,25% 97%,0 50%);background:var(--splash-honey);opacity:.55;animation:comb-breathe 2.4s ease-in-out infinite}.splash-bee{position:absolute;left:50%;top:50%;width:132px;height:132px;margin:-66px 0 0 -66px;overflow:visible;animation:bee-hover 1.3s ease-in-out infinite alternate;filter:drop-shadow(0 10px 12px rgba(120,80,0,.18))}.splash-bee g{transform-box:fill-box}.bee-aile.gauche{transform-origin:96% 60%;animation:wing-left .14s ease-in-out infinite alternate}.bee-aile.droite{transform-origin:4% 64%;animation:wing-right .14s ease-in-out infinite alternate}.bee-antenne.gauche{transform-origin:100% 100%;animation:antenna-left 1.6s ease-in-out infinite alternate}.bee-antenne.droite{transform-origin:0% 100%;animation:antenna-right 1.6s .4s ease-in-out infinite alternate}.bee-oeil{transform-origin:50% 60%;animation:blink 3.4s ease-in-out infinite}.bee-bouche{transform-origin:50% 40%;animation:smile 3.4s ease-in-out infinite}.bee-bras.droite{transform-origin:40% 8%;animation:wave 2.8s ease-in-out infinite}.bee-bras.gauche{transform-origin:70% 8%;animation:sway 1.4s ease-in-out infinite alternate}.bee-patte.gauche{transform-origin:50% 5%;animation:dangle-left 1.3s ease-in-out infinite alternate}.bee-patte.droite{transform-origin:40% 5%;animation:dangle-right 1.3s .3s ease-in-out infinite alternate}@keyframes bee-hover{0%{transform:translateY(2px)}to{transform:translateY(-4px)}}@keyframes wing-left{0%{transform:rotate(-4deg)}to{transform:rotate(20deg) scaleY(.86)}}@keyframes wing-right{0%{transform:rotate(4deg)}to{transform:rotate(-20deg) scaleY(.86)}}@keyframes antenna-left{0%{transform:rotate(-9deg)}to{transform:rotate(7deg)}}@keyframes antenna-right{0%{transform:rotate(8deg)}to{transform:rotate(-8deg)}}@keyframes blink{0%,88%,to{transform:scaleY(1)}92%{transform:scaleY(.1)}96%{transform:scaleY(1)}}@keyframes smile{0%,40%,to{transform:scale(1)}55%,80%{transform:scale(1.25,1.35)}}@keyframes wave{0%,45%,to{transform:rotate(0)}55%{transform:rotate(-28deg)}65%{transform:rotate(-8deg)}75%{transform:rotate(-28deg)}85%{transform:rotate(0)}}@keyframes sway{0%{transform:rotate(-3deg)}to{transform:rotate(4deg)}}@keyframes dangle-left{0%{transform:rotate(-6deg)}to{transform:rotate(5deg)}}@keyframes dangle-right{0%{transform:rotate(6deg)}to{transform:rotate(-5deg)}}.splash-name{font-family:var(--font-display);font-size:38px;font-weight:600;letter-spacing:-.02em;color:var(--ink);animation:rise .6s .15s cubic-bezier(.2,.8,.2,1) both}.splash-text{font-size:14px;color:var(--muted);min-height:1.4em;animation:rise .6s .3s cubic-bezier(.2,.8,.2,1) both}.splash-text.swap{animation:text-swap .35s ease both}.splash-drops{display:flex;gap:8px;margin-top:10px}.splash-drops i{width:9px;height:9px;border-radius:50% 50% 50% 0;rotate:-45deg;background:var(--splash-honey);animation:drop 1.1s ease-in-out infinite}.splash-drops i:nth-child(2){animation-delay:.15s}.splash-drops i:nth-child(3){animation-delay:.3s}@keyframes comb-breathe{50%{opacity:.8;transform:scale(1.06)}}@keyframes drop{0%,to{transform:translateY(0);opacity:.45}40%{transform:translateY(-7px);opacity:1}}@keyframes text-swap{0%{opacity:0;transform:translateY(6px)}}@keyframes rise{0%{opacity:0;transform:translateY(12px)}}@keyframes grow{0%{transform:scaleX(0)}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,16px) scale(.96)}}#view.enter .card,#view.enter .toolbar,#view.enter .summary-strip,#view.enter .notice,#view.enter .banner,#view.enter .empty{animation:rise .42s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i, 0) * 45ms)}#view.enter-month .card,#view.enter-month .summary-strip{animation:rise .3s cubic-bezier(.2,.8,.2,1) both}#view.enter .bar-fill,#view.enter .gauge span,#view.enter-month .bar-fill,#view.enter-month .gauge span{transform-origin:left center;animation:grow .7s .12s cubic-bezier(.2,.8,.2,1) both}.month-label.next{animation:month-next .3s cubic-bezier(.2,.8,.2,1)}.month-label.prev{animation:month-prev .3s cubic-bezier(.2,.8,.2,1)}@keyframes month-next{0%{opacity:0;transform:translate(14px)}}@keyframes month-prev{0%{opacity:0;transform:translate(-14px)}}.btn,.tabbar button,.month-picker button,.nav-item,.fab,.chip,.row,.tx-row,.bar-row,.filters button{transition:transform .14s ease,background-color .2s ease,color .2s ease,box-shadow .2s ease}.btn:active,.tabbar button:active,.month-picker button:active:not(:disabled),.fab:active,.filters button:active,.chip:active,.haptic-wrap:active>.btn,.haptic-wrap:active>button:not(:disabled){transform:scale(.96)}.row:active,.tx-row:active,.bar-row:active{transform:scale(.99)}.tabbar button[aria-current=page] svg{animation:tab-pop .35s cubic-bezier(.2,.8,.2,1.4)}@keyframes tab-pop{40%{transform:scale(1.18) translateY(-1px)}}.toast{animation:toast-in .3s cubic-bezier(.2,.8,.2,1)}.sub-details[open]>:not(summary){animation:rise .25s ease both}.dialog-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:20px;background:#15161c61;animation:fade .18s ease}.dialog-backdrop[hidden]{display:none}.dialog{width:min(400px,100%);background:var(--surface);border-radius:var(--r-lg);padding:24px 22px 20px;text-align:center;box-shadow:0 24px 60px #15161c4d;animation:dialog-in .26s cubic-bezier(.2,.8,.2,1.2)}.dialog h2{font-family:var(--font-display);font-size:21px;font-weight:600;letter-spacing:-.01em;line-height:1.25}.dialog p{margin-top:8px;font-size:14px;color:var(--ink-2);line-height:1.45}.dialog .sheet-actions{margin-top:20px}.dialog-icon{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:16px;margin-bottom:12px;background:var(--good-soft);color:var(--good)}.dialog-icon.danger{background:var(--bad-soft);color:var(--bad)}.dialog-icon svg{width:24px;height:24px}.btn.danger-solid{background:var(--bad);color:var(--on-bad)}@keyframes dialog-in{0%{opacity:0;transform:translateY(10px) scale(.95)}}.kpi-value.bad{color:var(--bad)}.trend-rows{display:grid;gap:2px}.trend-row{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:12px;width:calc(100% + 16px);margin:0 -8px;padding:10px 8px;border:0;border-radius:12px;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}.trend-row:hover,.trend-row:focus-visible{background:var(--surface-2)}.trend-row.current{background:var(--surface-2)}.trend-month{font-weight:650;font-size:14px;text-transform:capitalize}.trend-month small{display:block;font-size:11.5px;font-weight:550;color:var(--muted);text-transform:none}.trend-main{display:block;min-width:0}.trend-track{position:relative;display:block;height:8px;border-radius:4px;background:var(--surface-2)}.trend-row.current .trend-track{background:var(--surface)}.trend-track:after{content:"";position:absolute;left:50%;top:-3px;bottom:-3px;width:1px;background:var(--line)}.trend-fill{position:absolute;top:0;bottom:0;border-radius:4px;min-width:3px}.trend-fill.pos{background:var(--good)}.trend-fill.neg{background:var(--bad)}.trend-meta{display:flex;flex-wrap:wrap;gap:0 10px;margin-top:5px;font-size:12.5px;color:var(--muted)}.trend-meta span{white-space:nowrap}.trend-value{font-weight:700;text-align:right;min-width:92px}.trend-value.bad,.trend-hausse{color:var(--bad)!important}.trend-baisse{color:var(--good)!important}.trend-cats .bar-label span:last-child{white-space:nowrap}.bar-row.static{cursor:default}.bar-row.static:hover{background:none}@media(max-width:860px){.trend-cats .bar-label span:last-child{display:inline}.trend-value{min-width:0}}@media(max-width:420px){.card{padding:16px}.table{font-size:13px}.table .check{font-size:0;gap:0}}
