:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f7f4ef;--surface:#fff;--surface-sunken:#efebe4;--border:#e4ded4;--ink:#1f1d1a;--ink-muted:#6f695f;--ink-faint:#a39c91;--on-accent:#fff;--accent:#2f6f62;--accent-soft:#e2efe9;--positive:#2e7d4f;--warning:#b7791f;--warning-soft:#fbf0dc;--danger:#b4483c;--danger-soft:#f8e4e0;--section-lebensunterhalt:#3f8f6e;--section-entertainment:#7a5ea8;--section-sonstige:#c0892b;--section-mobilitaet:#3d74b6;--section-wohnen:#a5654a;--section-default:#6f695f;--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, sans-serif;--font-numbers:ui-rounded, "SF Pro Rounded", -apple-system, BlinkMacSystemFont, sans-serif;--text-xs:.75rem;--text-sm:.875rem;--text-md:1rem;--text-lg:1.25rem;--text-xl:1.75rem;--text-amount:3rem;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--radius-sm:10px;--radius-md:16px;--radius-lg:24px;--radius-full:999px;--shadow:0 1px 2px #1f1d1a0f, 0 4px 16px #1f1d1a0f;--nav-height:64px;--tap:44px;--ease:cubic-bezier(.2, .8, .2, 1)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#141311;--surface:#1f1d1a;--surface-sunken:#2a2723;--border:#35312c;--ink:#f3efe8;--ink-muted:#aaa298;--ink-faint:#756e64;--on-accent:#0f1f1b;--accent:#6cc0a9;--accent-soft:#1d3530;--positive:#6cc78f;--warning:#e2b05a;--warning-soft:#3a2f1c;--danger:#e58b7e;--danger-soft:#3d2420;--section-lebensunterhalt:#6cc0a0;--section-entertainment:#ad93db;--section-sonstige:#e2b05a;--section-mobilitaet:#79a8e0;--section-wohnen:#d49a80;--section-default:#aaa298;--shadow:0 1px 2px #0000004d, 0 4px 16px #00000040}}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none;margin:0;font-size:16px;line-height:1.4}body.no-scroll{overflow:hidden}button,input,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}button:disabled{opacity:.45;cursor:default}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1,h2,h3{letter-spacing:-.01em;margin:0;font-weight:650}.num{font-family:var(--font-numbers);font-variant-numeric:tabular-nums}.muted{color:var(--ink-muted)}.small{font-size:var(--text-sm)}.pad{padding:var(--space-5) var(--space-2);text-align:center}.lead{font-size:var(--text-lg);margin:0 0 var(--space-2);font-weight:600}.text-danger{color:var(--danger)}.text-positive{color:var(--positive)}.app{max-width:560px;min-height:100dvh;padding-bottom:calc(var(--nav-height) + env(safe-area-inset-bottom) + var(--space-4));margin:0 auto}.top{z-index:5;padding:calc(env(safe-area-inset-top) + var(--space-3)) var(--space-4) var(--space-3);background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(12px);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.top h1{font-size:var(--text-xl)}.avatar{border-radius:var(--radius-full);background:var(--accent-soft);width:36px;height:36px;color:var(--accent);font-weight:700}.content{padding:0 var(--space-4)}.pending{margin:0 var(--space-4) var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--warning-soft);color:var(--warning);font-size:var(--text-sm)}.tabbar{z-index:10;max-width:560px;height:calc(var(--nav-height) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--border);grid-template-columns:repeat(4,1fr);margin:0 auto;display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar button{color:var(--ink-faint);font-size:var(--text-xs);flex-direction:column;justify-content:center;align-items:center;gap:2px;font-weight:550;transition:color .15s;display:flex}.tabbar button.on{color:var(--accent)}.splash{min-height:100dvh}.skeleton{border-radius:var(--radius-md);background:linear-gradient(90deg, var(--surface-sunken), var(--surface), var(--surface-sunken));background-size:200% 100%;height:240px;animation:1.4s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.stack{gap:var(--space-4);flex-direction:column;display:flex}.card{background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow);padding:var(--space-4)}.section-title{font-size:var(--text-sm);color:var(--ink-muted);text-transform:uppercase;letter-spacing:.04em;margin:var(--space-2) var(--space-1) var(--space-2);font-weight:650}.dot{border-radius:var(--radius-full);background:var(--chip-color,var(--ink-faint));flex:none;width:8px;height:8px;display:inline-block}.dot-lg{width:10px;height:10px}.button{white-space:nowrap;justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--tap);padding:0 var(--space-4);border-radius:var(--radius-sm);transition:transform .1s var(--ease), background .15s;font-weight:600;display:inline-flex}.button:active:not(:disabled){transform:scale(.97)}.button-primary{background:var(--accent);color:var(--on-accent)}.button-quiet{background:var(--surface-sunken)}.button-danger{background:var(--danger-soft);color:var(--danger)}.button-small{min-height:32px;padding:0 var(--space-3);background:var(--accent-soft);color:var(--accent);font-size:var(--text-sm)}.button-block{width:100%}.icon-button{width:var(--tap);height:var(--tap);border-radius:var(--radius-full);color:var(--ink-muted);place-items:center;display:grid}.banner{width:100%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:var(--warning-soft);color:var(--warning);text-align:left;font-weight:600}.badge{margin-left:var(--space-2);border-radius:var(--radius-full);background:var(--surface-sunken);color:var(--ink-muted);font-size:var(--text-xs);font-family:var(--font);padding:1px 6px}.segmented{border-radius:var(--radius-sm);background:var(--surface-sunken);grid-auto-columns:1fr;grid-auto-flow:column;padding:3px;display:grid}.segmented button{border-radius:calc(var(--radius-sm) - 3px);min-height:36px;color:var(--ink-muted);font-weight:600;transition:background .15s,color .15s}.segmented button.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.segmented-small button{white-space:nowrap;min-height:30px;padding:0 var(--space-3);font-size:var(--text-sm)}.capture{gap:var(--space-3);flex-direction:column;display:flex}.amount{justify-content:center;align-items:baseline;gap:var(--space-2);font-family:var(--font-numbers);font-variant-numeric:tabular-nums;padding:0;display:flex}.amount-value{font-size:var(--text-amount);letter-spacing:-.02em;font-weight:650}.amount-currency{font-size:var(--text-xl);color:var(--ink-muted)}.amount-in .amount-value{color:var(--positive)}.parts{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.part{align-items:center;gap:var(--space-2);min-height:36px;padding:0 var(--space-3);border-radius:var(--radius-full);background:var(--surface-sunken);font-size:var(--text-sm);display:inline-flex}.part.on{background:var(--surface);box-shadow:inset 0 0 0 2px var(--accent)}.part-remove{color:var(--ink-muted);place-items:center;display:grid}.parts-total{color:var(--ink-muted);font-size:var(--text-sm);margin-left:auto}.chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.chip{align-items:center;gap:var(--space-2);min-height:36px;padding:0 var(--space-3);border-radius:var(--radius-full);background:var(--surface);box-shadow:inset 0 0 0 1px var(--border);font-size:var(--text-sm);transition:background .15s, box-shadow .15s, transform .1s var(--ease);font-weight:550;display:inline-flex}.chip:active{transform:scale(.96)}.chip.on{background:color-mix(in srgb, var(--chip-color,var(--accent)) 26%, var(--surface));box-shadow:inset 0 0 0 2px var(--chip-color,var(--accent));font-weight:650}.chips-small{padding-left:var(--space-1)}.chip-small{min-height:32px;font-weight:500}.chip-small.on{--chip-color:var(--accent)}.chip-ghost{box-shadow:inset 0 0 0 1px var(--border);color:var(--ink-muted);background:0 0;border-style:dashed}.new-label input{width:11rem;min-height:32px;padding:0 var(--space-3);border-radius:var(--radius-full);border:2px solid var(--accent);background:var(--surface);font-size:var(--text-sm);outline:none}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.direction{align-self:center;min-width:220px}.fields{gap:var(--space-2);grid-template-columns:1fr 1fr auto;display:grid}.capture .field{min-height:40px;padding:0 var(--space-3);font-size:var(--text-sm);justify-content:center}.field-button{color:var(--ink-muted);font-weight:550}.field{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--surface);box-shadow:inset 0 0 0 1px var(--border);flex-direction:column;gap:2px;min-width:0;display:flex;position:relative}.field>span:first-child{font-size:var(--text-xs);color:var(--ink-muted)}.field input,.field select{appearance:none;background:0 0;border:0;outline:none;width:100%;min-width:0;padding:0;font-weight:550}.capture .field input[type=date]{opacity:0;position:absolute;inset:0}.field-value{font-weight:550}.field-wide{grid-column:1/-1}.keypad{gap:var(--space-2);grid-template-columns:repeat(3,1fr);display:grid}.key{border-radius:var(--radius-sm);background:var(--surface);height:44px;box-shadow:inset 0 0 0 1px var(--border);font-family:var(--font-numbers);font-size:var(--text-lg);transition:background .1s, transform 80ms var(--ease);place-items:center;font-weight:600;display:grid}.key:active{background:var(--surface-sunken);transform:scale(.96)}.capture-actions{bottom:calc(var(--nav-height) + env(safe-area-inset-bottom));z-index:4;gap:var(--space-2);margin:0 calc(-1 * var(--space-4));padding:var(--space-2) var(--space-4);background:var(--bg);display:flex;position:sticky}.capture-edit .capture-actions{bottom:calc(-1 * (var(--space-4) + env(safe-area-inset-bottom)))}.capture-actions .button-primary{min-height:50px;font-size:var(--text-md);flex:1}.capture-actions .button-quiet,.capture-actions .button-danger{min-height:50px}.capture-edit .capture-actions .button-quiet{width:50px;padding:0}.hero{gap:var(--space-2);flex-direction:column;display:flex}.hero-label{margin-left:var(--space-2);font-size:var(--text-md);color:var(--ink-muted);letter-spacing:0;font-weight:550}.hero-amount{letter-spacing:-.02em;font-size:2.5rem;font-weight:700;line-height:1.1}.hero-foot{gap:var(--space-2);font-size:var(--text-sm);font-weight:550;display:flex}.progress{border-radius:var(--radius-full);background:var(--surface-sunken);height:6px;overflow:hidden}.progress-fill{border-radius:var(--radius-full);height:100%;transition:width .5s var(--ease)}.tiles{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));display:grid}.tile{text-align:left;flex-direction:column;gap:2px;display:flex}.tile-name{color:var(--ink-muted);font-weight:600;font-size:var(--text-sm)}.tile-amount{font-size:var(--text-lg);font-weight:700}.tile-open{margin-top:var(--space-1);color:var(--warning)}.lines{gap:var(--space-4);flex-direction:column;display:flex}.line{flex-direction:column;gap:6px;display:flex}.line-head{justify-content:space-between;gap:var(--space-2);font-weight:600;display:flex}.line-name{align-items:center;gap:var(--space-2);display:inline-flex}.line-foot{font-size:var(--text-xs)}.cycle-nav{justify-content:space-between;align-items:center;display:flex}.cycle-label{text-align:center;font-weight:600}.filters{gap:var(--space-2);justify-content:space-between;align-items:center;display:flex}.select-small{max-width:50%;min-height:36px;padding:0 var(--space-3);border-radius:var(--radius-sm);background:var(--surface-sunken);font-size:var(--text-sm);border:0}.list{padding:var(--space-1) 0}.row{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);text-align:left;display:flex}.row+.row{border-top:1px solid var(--border)}.row:active:not(.row-static){background:var(--surface-sunken)}.row-main{flex-direction:column;flex:1;min-width:0;display:flex}.row-title{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.row-sub{font-size:var(--text-sm);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.row-end{align-items:center;gap:var(--space-2);font-weight:600;display:flex}.status{border-radius:var(--radius-full);background:var(--surface-sunken);width:20px;height:20px;color:var(--ink-muted);place-items:center;display:grid}.status-ok{background:var(--accent-soft);color:var(--accent)}.status-warn{background:var(--warning-soft);color:var(--warning)}.jar{gap:var(--space-3);flex-direction:column;display:flex}.jar-head{justify-content:space-between;align-items:flex-start;display:flex}.jar-available{text-align:right}.facts{gap:var(--space-1) var(--space-3);font-size:var(--text-sm);grid-template-columns:auto 1fr;margin:0;display:grid}.facts dt{color:var(--ink-muted)}.facts dd{text-align:right;margin:0}.mini-list{font-size:var(--text-sm);margin:0;padding:0;list-style:none}.mini-list li{justify-content:space-between;gap:var(--space-3);border-top:1px solid var(--border);padding:6px 0;display:flex}.mini-row{text-align:left;min-width:0;color:var(--accent);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.link-button{color:var(--accent);font-size:var(--text-sm);font-weight:600}.check-list{border-radius:var(--radius-sm);background:var(--surface);max-height:40dvh;box-shadow:inset 0 0 0 1px var(--border);margin:0;padding:0;list-style:none;overflow-y:auto}.check-list li+li{border-top:1px solid var(--border)}.check-list label{align-items:center;gap:var(--space-3);min-height:var(--tap);padding:0 var(--space-3);font-size:var(--text-sm);display:flex}.check-list input{width:20px;height:20px;accent-color:var(--accent);flex:none}.check-main{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.fields-two{grid-template-columns:1fr 1fr}.warning{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--warning-soft);color:var(--warning);margin:0;font-weight:600}.history summary{cursor:pointer;color:var(--ink-muted);font-size:var(--text-sm)}.split{gap:var(--space-2);margin:var(--space-4) 0;flex-direction:column;display:flex}.split-labels{justify-content:space-between;display:flex}.split input[type=range]{width:100%;accent-color:var(--accent)}.sheet-backdrop{z-index:20;background:#00000059;justify-content:center;align-items:flex-end;animation:.2s fade;display:flex;position:fixed;inset:0}.sheet{width:100%;max-width:560px;max-height:92dvh;padding:var(--space-4) var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom));border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--bg);animation:rise .28s var(--ease);overflow-y:auto}.sheet-head{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.sheet-head h2{font-size:var(--text-lg)}.sheet-body{gap:var(--space-3);flex-direction:column;display:flex}.sheet-actions{gap:var(--space-2);margin-top:var(--space-2);grid-template-columns:1fr 2fr;display:grid}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(40px)}}.toast{left:50%;bottom:calc(var(--nav-height) + env(safe-area-inset-bottom) + var(--space-3));z-index:30;align-items:center;gap:var(--space-4);width:max-content;max-width:calc(100% - 2 * var(--space-4));padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:var(--ink);color:var(--bg);font-size:var(--text-sm);box-shadow:var(--shadow);animation:rise .25s var(--ease);font-weight:550;display:flex;position:fixed;transform:translate(-50%)}.toast-ok:before{content:"";border-radius:var(--radius-full);background:var(--positive);flex:none;width:8px;height:8px}.toast-error{background:var(--danger);color:#fff}.toast button{color:var(--accent-soft);font-weight:700}.auth{max-width:400px;min-height:100dvh;padding:var(--space-6) var(--space-5);justify-content:center;gap:var(--space-4);text-align:center;flex-direction:column;margin:0 auto;display:flex}.brand{align-items:center;gap:var(--space-2);margin-bottom:var(--space-5);flex-direction:column;display:flex}.brand img{box-shadow:var(--shadow);border-radius:18px}.brand h1{font-size:var(--text-xl)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
