@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-wght-normal-DLoelf7F.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-mono-vietnamese-400-normal-BNOj0Qhp.woff2) format("woff2"),url(/assets/space-mono-vietnamese-400-normal-B0PMp_xB.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-mono-latin-ext-400-normal-DTLbW2xa.woff2) format("woff2"),url(/assets/space-mono-latin-ext-400-normal-D4cJI_B-.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-mono-latin-400-normal-Rg4St2Dn.woff2) format("woff2"),url(/assets/space-mono-latin-400-normal-_3DlpgIW.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-mono-vietnamese-700-normal-DWQgDHuA.woff2) format("woff2"),url(/assets/space-mono-vietnamese-700-normal-D-KrLuLr.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-mono-latin-ext-700-normal-B2s3bDs2.woff2) format("woff2"),url(/assets/space-mono-latin-ext-700-normal-B_E7P90g.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-mono-latin-700-normal-mWgeinG7.woff2) format("woff2"),url(/assets/space-mono-latin-700-normal-D7A851RN.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper: #fdfaf1;--paper-2: #f6f0e0;--paper-line: #ece3cd;--ink: #33283b;--ink-soft: #7a6c82;--ink-faint: #c2b7c7;--tomate: #e8442f;--tomate-deep: #c63722;--gruen: #3e8e5a;--gruen-soft: #e2efe4;--senf: #e9a23b;--ground-a: #f3e9d5;--ground-b: #eddfc3;--font-display: "Bricolage Grotesque Variable", "Bricolage Grotesque", system-ui, sans-serif;--font-mono: "Space Mono", ui-monospace, "Courier New", monospace;--radius: 14px;--shadow-paper: 0 1px 2px rgba(51, 40, 59, .08), 0 10px 30px -12px rgba(51, 40, 59, .35);--zz: 10px}*{margin:0;padding:0;box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-display);color:var(--ink);background:repeating-linear-gradient(-56deg,var(--ground-a) 0 44px,var(--ground-b) 44px 88px);min-height:100dvh}body:before{content:"";position:fixed;top:0;left:0;right:0;height:env(safe-area-inset-top);background:var(--tomate);z-index:100}#root{min-height:100dvh;display:flex;justify-content:center}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--tomate);outline-offset:2px;border-radius:4px}.app-col{width:min(430px,100%);padding:calc(clamp(10px,3vw,26px) + env(safe-area-inset-top)) 10px calc(96px + env(safe-area-inset-bottom));position:relative}.receipt{background:var(--paper);background-image:repeating-linear-gradient(to bottom,transparent 0 30px,rgba(51,40,59,.016) 30px 31px);box-shadow:var(--shadow-paper);position:relative;padding:0 0 var(--zz)}.receipt:before,.receipt:after{content:"";position:absolute;left:0;right:0;height:var(--zz);background-size:calc(var(--zz) * 2) var(--zz)}.receipt:before{top:calc(-1 * var(--zz) + 1px);background-image:linear-gradient(45deg,transparent 50%,var(--paper) 50%),linear-gradient(-45deg,transparent 50%,var(--paper) 50%);background-position:0 0,0 0}.receipt:after{bottom:calc(-1 * var(--zz) + 1px);background-image:linear-gradient(135deg,transparent 50%,var(--paper) 50%),linear-gradient(-135deg,transparent 50%,var(--paper) 50%)}.receipt-inner{padding:26px 22px 18px}.masthead{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.brand{display:flex;align-items:baseline;gap:8px;text-decoration:none;color:inherit}.brand-half{font-family:var(--font-mono);font-weight:700;font-size:26px;color:var(--tomate);transform:rotate(-8deg);display:inline-block}.brand-name{font-weight:750;font-size:22px;letter-spacing:-.02em}.masthead-actions{display:flex;gap:4px}.icon-btn{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;color:var(--ink-soft);transition:background .15s,color .15s,transform .15s}.icon-btn:hover{background:var(--paper-2);color:var(--ink);transform:rotate(-6deg)}.tagline{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;color:var(--ink-soft);text-transform:uppercase;margin-bottom:18px}.rule{border:none;border-top:2px dotted var(--ink-faint);margin:14px 0}.rule--strong{border-top:2px dashed var(--ink)}.saldo{text-align:center;padding:10px 0 14px}.eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--ink-soft)}.saldo-amount{font-family:var(--font-mono);font-weight:700;font-size:clamp(44px,13vw,56px);line-height:1.1;letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:6px 0 2px}.saldo-amount .cur{font-size:.5em;vertical-align:.5em;color:var(--ink-soft);margin-left:2px}.saldo-who{font-size:15px;color:var(--ink-soft)}.saldo-who strong{color:var(--ink);font-weight:650}.saldo--even .saldo-amount{color:var(--gruen)}.stamp{display:inline-block;margin-top:10px;padding:4px 12px;border:2px solid var(--gruen);border-radius:6px;color:var(--gruen);font-family:var(--font-mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;transform:rotate(-3deg)}.entries{list-style:none}.entry{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"emoji store amount" "emoji meta half";column-gap:10px;align-items:baseline;padding:10px 2px;border-bottom:1px dotted var(--paper-line);width:100%;text-align:left;border-radius:6px;transition:background .15s}.entry:hover{background:var(--paper-2)}.entry-emoji{grid-area:emoji;font-size:20px;align-self:center}.entry-store{grid-area:store;font-weight:650;font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entry-meta{grid-area:meta;font-family:var(--font-mono);font-size:11px;color:var(--ink-soft)}.entry-amount{grid-area:amount;font-family:var(--font-mono);font-weight:700;font-size:16px;font-variant-numeric:tabular-nums;text-align:right}.entry-half{grid-area:half;font-family:var(--font-mono);font-size:11px;color:var(--tomate);text-align:right}.entry--pending{opacity:.6}.entry--pending .entry-meta:after{content:" · wartet auf Netz ⏳"}.empty{text-align:center;padding:28px 10px;color:var(--ink-soft)}.empty-art{font-size:40px;margin-bottom:8px}.empty p{font-size:14px;max-width:26ch;margin:0 auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 18px;border-radius:var(--radius);font-weight:700;font-size:16px;transition:transform .12s,box-shadow .12s,background .12s}.btn:active{transform:scale(.97)}.btn--primary{background:var(--tomate);color:#fff;box-shadow:0 4px 0 var(--tomate-deep)}.btn--primary:hover{background:#f05540}.btn--primary:active{box-shadow:0 1px 0 var(--tomate-deep);transform:translateY(3px) scale(.99)}.btn--primary:disabled{background:var(--ink-faint);box-shadow:0 4px #a99fb0;cursor:not-allowed}.btn--ghost{background:transparent;color:var(--ink-soft);font-weight:600}.btn--ghost:hover{color:var(--ink);background:var(--paper-2)}.btn--settle{background:var(--gruen);color:#fff;box-shadow:0 4px #2f6b45}.btn--settle:hover{filter:brightness(1.06)}.btn--danger-text{color:var(--tomate);font-weight:600}.fab{position:fixed;bottom:calc(22px + env(safe-area-inset-bottom));right:max(18px,calc(50vw - 197px));width:68px;height:68px;border-radius:50%;background:var(--tomate);color:#fff;font-size:34px;font-weight:700;display:grid;place-items:center;box-shadow:0 6px 0 var(--tomate-deep),0 14px 28px -8px #c637228c;transform:rotate(-8deg);transition:transform .15s;z-index:20}.fab:hover{transform:rotate(4deg) scale(1.06)}.fab:active{transform:rotate(-8deg) scale(.94) translateY(4px);box-shadow:0 2px 0 var(--tomate-deep)}.field{margin-bottom:16px}.field-label{display:block;font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:6px}.input{width:100%;background:var(--paper-2);border:2px solid transparent;border-radius:var(--radius);padding:12px 14px;font-size:16px;transition:border-color .15s,background .15s}.input:focus{outline:none;border-color:var(--tomate);background:#fff}.amount-input{font-family:var(--font-mono);font-weight:700;font-size:40px;text-align:center;letter-spacing:-.01em;padding:16px 14px;font-variant-numeric:tabular-nums}.amount-input::placeholder{color:var(--ink-faint)}.half-hint{text-align:center;font-family:var(--font-mono);font-size:13px;color:var(--tomate);min-height:20px;margin-top:6px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{padding:8px 14px;border-radius:999px;background:var(--paper-2);border:2px solid transparent;font-weight:600;font-size:14px;transition:transform .12s,border-color .12s,background .12s}.chip:hover{transform:rotate(-2deg) scale(1.04)}.chip--active{border-color:var(--tomate);background:#fff;color:var(--tomate)}.payer-toggle{display:grid;grid-template-columns:1fr 1fr;gap:8px}.payer-option{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;border-radius:var(--radius);background:var(--paper-2);border:2px solid transparent;font-weight:650;transition:transform .15s,border-color .15s,background .15s}.payer-option .payer-emoji{font-size:28px;transition:transform .2s}.payer-option--active{border-color:var(--tomate);background:#fff}.payer-option--active .payer-emoji{transform:scale(1.25) rotate(-8deg)}.tabs{display:grid;grid-template-columns:1fr 1fr;background:var(--paper-2);border-radius:var(--radius);padding:4px;margin-bottom:20px;position:relative}.tab{position:relative;z-index:1;padding:10px;font-weight:650;border-radius:calc(var(--radius) - 4px);color:var(--ink-soft);transition:color .15s}.tab--active{color:var(--ink)}.tab-thumb{position:absolute;top:4px;bottom:4px;width:calc(50% - 4px);background:var(--paper);border-radius:calc(var(--radius) - 4px);box-shadow:0 2px 6px #33283b1f}.scan-stage{position:relative;border-radius:var(--radius);overflow:hidden;background:var(--ink)}.scan-stage img{display:block;width:100%;max-height:340px;object-fit:contain}.scanline{position:absolute;left:0;right:0;height:3px;background:var(--tomate);box-shadow:0 0 18px 4px #e8442fa6}.scan-status{font-family:var(--font-mono);font-size:12px;text-align:center;color:var(--ink-soft);margin-top:10px;min-height:18px}.scan-progress{height:6px;border-radius:3px;background:var(--paper-2);overflow:hidden;margin-top:8px}.scan-progress-bar{height:100%;background:var(--tomate);border-radius:3px;transition:width .2s}.photo-drop{display:flex;flex-direction:column;align-items:center;gap:10px;padding:36px 16px;border:2px dashed var(--ink-faint);border-radius:var(--radius);color:var(--ink-soft);width:100%;transition:border-color .15s,background .15s,transform .15s}.photo-drop:hover{border-color:var(--tomate);background:var(--paper-2);transform:scale(1.01)}.photo-drop .cam{font-size:40px}.round{border:1px solid var(--paper-line);border-radius:var(--radius);margin-bottom:12px;overflow:hidden}.round-head{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:14px;text-align:left}.round-head:hover{background:var(--paper-2)}.round-date{font-family:var(--font-mono);font-size:12px;color:var(--ink-soft)}.round-sum{font-family:var(--font-mono);font-weight:700;font-variant-numeric:tabular-nums}.round-body{padding:0 14px 8px}.gate{text-align:center;padding:30px 0 16px}.gate .brand-half{font-size:64px;display:block;margin:0 auto 8px}.gate h1{font-size:28px;font-weight:750;letter-spacing:-.02em;margin-bottom:6px}.gate p{color:var(--ink-soft);font-size:15px;max-width:30ch;margin:0 auto 22px}.gate form{text-align:left}.form-error{color:var(--tomate);font-size:14px;font-weight:600;text-align:center;min-height:20px;margin-top:10px}.screen-head{display:flex;align-items:center;gap:6px;margin-bottom:16px}.screen-title{font-size:20px;font-weight:750;letter-spacing:-.01em}.receipt-footer{text-align:center;font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);padding-top:14px}.version-tag{margin-top:6px;font-size:9px;opacity:.75}.barcode{height:34px;margin:10px auto 4px;width:200px;background:repeating-linear-gradient(to right,var(--ink) 0 2px,transparent 2px 5px,var(--ink) 5px 6px,transparent 6px 11px,var(--ink) 11px 14px,transparent 14px 16px,var(--ink) 16px 17px,transparent 17px 22px);opacity:.75}.muted{color:var(--ink-soft);font-size:13px}.row{display:flex;gap:10px;align-items:center}.row>.grow{flex:1}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
