:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:var(--lightningcss-light,#f5f6f4)var(--lightningcss-dark,#161816);--surface:var(--lightningcss-light,#fff)var(--lightningcss-dark,#212421);--text:var(--lightningcss-light,#1c1f1c)var(--lightningcss-dark,#eceeec);--muted:var(--lightningcss-light,#5e655e)var(--lightningcss-dark,#a3aaa3);--border:var(--lightningcss-light,#d9ddd8)var(--lightningcss-dark,#3a3f3a);--accent:var(--lightningcss-light,#1f6f4a)var(--lightningcss-dark,#4fbf8b);--on-accent:var(--lightningcss-light,#fff)var(--lightningcss-dark,#0d1f16);--error:var(--lightningcss-light,#b3261e)var(--lightningcss-dark,#f2978f);font-family:system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}h1,h2,h3{margin:0 0 8px;line-height:1.2}h1{font-size:1.5rem}h2{font-size:1.15rem}h3{margin-top:20px;font-size:1rem}p{margin:0 0 12px}.center{place-content:center;justify-items:center;gap:12px;min-height:100dvh;padding:16px;display:grid}.topbar{background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:12px 16px;display:flex}.topbar strong{white-space:nowrap}.topbar .muted{text-overflow:ellipsis;white-space:nowrap;margin-left:auto;overflow:hidden}.content{grid-template-columns:minmax(0,1fr);gap:16px;max-width:720px;margin:0 auto;padding:16px;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:8px;min-width:0;padding:16px}.narrow{text-align:center;gap:12px;width:min(360px,100vw - 32px);display:grid}.narrow p{margin:0}.muted{color:var(--muted)}.error{color:var(--error)}button,.button{min-height:44px;color:var(--text);border:1px solid var(--border);font:inherit;text-align:center;cursor:pointer;background:0 0;border-radius:6px;flex-shrink:0;padding:10px 14px;text-decoration:none;display:inline-block}button:disabled{cursor:not-allowed;opacity:.6}.primary{color:var(--on-accent);background:var(--accent);border-color:var(--accent);font-weight:600}:is(a,button,input):focus-visible{outline:2px solid var(--accent);outline-offset:2px}input,select{width:100%;min-width:0;min-height:44px;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:10px 12px;font-size:16px}select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.row{gap:8px;display:flex}.person-rose{--person:#f4a6b5}.person-peche{--person:#f9c08a}.person-sable{--person:#f0dd7a}.person-sauge{--person:#b5dc8e}.person-menthe{--person:#8fdcbc}.person-ciel{--person:#94cdf0}.person-lavande{--person:#b9aef2}.person-lilas{--person:#e3a6e6}.person-none{--person:#dadcd8}.person-chip{color:#1c1f1c;background:var(--person);border-radius:50%;flex-shrink:0;place-items:center;width:18px;height:18px;font-size:.5625rem;font-weight:700;line-height:1;display:inline-grid}.color-picker{border:0;margin:0;padding:0}.color-picker legend{margin-bottom:8px;padding:0;font-weight:600}.color-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.color-option{color:#1c1f1c;background:var(--person);text-align:center;cursor:pointer;border:2px solid #0000;border-radius:6px;place-items:center;min-height:44px;padding:8px 4px;font-size:.875rem;display:grid;position:relative}.color-option input{opacity:0;pointer-events:none;position:absolute}.color-option:has(input:checked){border-color:var(--text);font-weight:700}.color-option:has(input:checked) span:before{content:"✓ "}.color-option:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;display:grid}.weekday{color:var(--muted);text-align:center;padding-bottom:4px;font-size:.75rem}button.day{background:0 0;border-color:#0000;border-radius:4px;grid-template-rows:auto 1fr auto;justify-items:center;gap:2px;min-width:0;min-height:72px;padding:2px 1px;display:grid}button.day[aria-pressed=true]{border-color:var(--accent)}.day-number{font-size:.8125rem;line-height:1.3}button.day[aria-current=date] .day-number{color:var(--on-accent);background:var(--accent);border-radius:8px;padding:0 5px;font-weight:700}.day-chips{flex-wrap:wrap;place-content:center;gap:1px;display:flex}.day-more{color:var(--muted);font-size:.625rem}.day-total{max-width:100%;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.625rem;overflow:hidden}.legend{flex-wrap:wrap;gap:6px 12px;margin:12px 0 0;padding:0;font-size:.875rem;list-style:none;display:flex}.legend li{align-items:center;gap:6px;display:flex}.day-title:first-letter{text-transform:uppercase}.list li.day-expense{flex-wrap:nowrap;justify-content:flex-start}.day-expense .expense-main{flex:1}.dialog-backdrop{z-index:10;background:#0009;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.offline-banner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin:0;display:flex}.search-field,.search-dates label{gap:4px;min-width:0;font-size:.875rem;display:grid}.search-dates{margin-top:8px}.search-dates label{flex:1}.search-clear{margin-top:8px}.results-title{margin-bottom:12px}.budget-summary{color:var(--muted);margin:0 0 4px}.budget-over{color:var(--error)}.bar-fill.over{background:var(--error)}.budget-edit{align-items:center;gap:8px;margin-top:6px;display:flex}.budget-edit input{flex:1}.trend-chart{grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;gap:2px;height:160px;margin-top:12px;display:grid}button.trend-col{background:0 0;border:0;border-radius:0;align-items:flex-end;min-width:0;height:100%;min-height:0;padding:0 1px;display:flex}.trend-bar{background:var(--accent);opacity:.55;border-radius:4px 4px 0 0;width:100%;min-height:2px}button.trend-col:hover .trend-bar,button.trend-col[aria-pressed=true] .trend-bar{opacity:1}.trend-axis{border-top:1px solid var(--border);color:var(--muted);text-align:center;grid-template-columns:repeat(12,minmax(0,1fr));gap:2px;margin-top:4px;padding-top:4px;font-size:.625rem;display:grid}.trend-detail{margin:12px 0 0}.trend-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin-top:8px;font-size:.875rem}.trend-table td{border-bottom:1px solid var(--border);padding:4px 0}.trend-table td:last-child{text-align:right}.grow{flex:1;min-width:0}.tabs{gap:8px;display:flex}.tabs button{flex:1;justify-items:center;gap:2px;min-width:0;padding:6px 2px;font-size:.8125rem;display:grid}.tabs button[aria-current=page]{color:var(--on-accent);background:var(--accent);border-color:var(--accent);font-weight:600}.expense-form{grid-template-columns:1fr 1fr;gap:12px;display:grid}.expense-form label{gap:4px;min-width:0;font-size:.875rem;display:grid}.form-actions{grid-column:1/-1}.form-actions .primary{flex:1}.form-message{margin:12px 0 0}.undo{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.month-nav{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.month-nav h2{margin:0}.filters select{flex:1}.total{border-bottom:2px solid var(--border);font-variant-numeric:tabular-nums;justify-content:space-between;margin:12px 0 4px;padding:8px 0;display:flex}.list li.expense{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:12px 0;display:grid}.expense-main{min-width:0;display:grid}.amount{font-variant-numeric:tabular-nums;white-space:nowrap}.expense-actions{grid-column:1/-1;justify-content:flex-end}.expense-actions button{min-height:36px;padding:4px 10px;font-size:.875rem}.hero{gap:4px;display:grid}.hero-number{font-variant-numeric:tabular-nums;font-size:2.25rem;line-height:1.15}.bars{gap:16px;margin:12px 0 0;padding:0;list-style:none;display:grid}.bar-head{overflow-wrap:anywhere;justify-content:space-between;gap:12px;display:flex}.bar-track{background:var(--border);border-radius:4px;height:8px;margin:4px 0;overflow:hidden}.bar-fill{background:var(--accent);border-radius:4px;min-width:4px;height:100%}@media (width<=480px){.expense-form,.filters{grid-template-columns:1fr}.expense-form label:nth-of-type(n){grid-column:1/-1}.filters{flex-direction:column}}.list{margin:0 0 12px;padding:0;list-style:none}.list:empty{display:none}.list li{border-bottom:1px solid var(--border);overflow-wrap:anywhere;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;padding:8px 0;display:flex}.notice{border:1px solid var(--accent);border-radius:6px;margin-top:12px;padding:12px}
