:root{--bg: #0d0e10;--surface: #17191c;--text: #f1f2f4;--dim: #9499a0;--faint: #3a3e44;--border: #262a2f;--field: #1d2024;--accent: #34b8a3;--accent-text: #042320;--scrim: rgba(0, 0, 0, .45);--safe-b: env(safe-area-inset-bottom);--safe-t: env(safe-area-inset-top)}@media (prefers-color-scheme: light){:root:not([data-theme]){--bg: #eceef1;--surface: #ffffff;--text: #14171a;--dim: #787d83;--faint: #bfc3c9;--border: #e2e5e9;--field: #eceef1;--accent: #1f7a6c;--accent-text: #ffffff}}:root[data-theme=light]{--bg: #eceef1;--surface: #ffffff;--text: #14171a;--dim: #787d83;--faint: #bfc3c9;--border: #e2e5e9;--field: #eceef1;--accent: #1f7a6c;--accent-text: #ffffff}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0}body{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased}.app{display:flex;flex-direction:column;min-height:100vh}.nav{position:sticky;top:0;z-index:10;height:calc(56px + var(--safe-t));padding:var(--safe-t) 18px 0;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);background:var(--bg)}.brand{display:flex;align-items:center;gap:9px}.brandmark{width:24px;height:24px;border-radius:7px;background:var(--accent);display:flex;align-items:center;justify-content:center;flex:none}.brandmark svg{width:14px;height:14px;stroke:var(--accent-text)}.wordmark{font-size:16px;letter-spacing:-.01em}.wordmark b{font-weight:600}.wordmark span{font-weight:300;color:var(--text)}.iconbtn{width:34px;height:34px;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--dim);display:flex;align-items:center;justify-content:center;cursor:pointer;flex:none}.iconbtn svg{width:17px;height:17px}main.scroll{flex:1;overflow-y:auto}.screen{padding:24px 22px calc(34px + var(--safe-b));max-width:560px;margin:0 auto}.title{font-size:27px;font-weight:600;letter-spacing:-.01em;line-height:1;margin:0}.subtitle{color:var(--dim);font-size:13.5px;margin:9px 0 0}.section{margin-top:26px}.section.tight{margin-top:22px}.seclabel{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);margin:0 2px 10px}.seccount{font-weight:400;letter-spacing:.02em;color:var(--faint)}.card{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:8px 16px 16px;margin-bottom:14px}.card.tight{padding:14px 16px}.list{display:flex;flex-direction:column;gap:10px}.rowcard{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;width:100%;text-align:left;color:inherit;font:inherit}.rowmain{min-width:0}.name{font-size:15px;font-weight:500;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meta{font-size:12.5px;color:var(--dim);margin-top:2px}.rowside{text-align:right;flex:none}.amt{font-size:15px;font-weight:600}.status{display:flex;align-items:center;justify-content:flex-end;gap:6px;font-size:11.5px;font-weight:500;margin-top:3px}.status .dot{width:6px;height:6px;border-radius:999px;background:currentColor}.status.offen{color:var(--accent)}.status.bezahlt{color:var(--dim)}.avatar{width:40px;height:40px;border-radius:999px;background:var(--field);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--dim);flex:none}.custno{font-size:12px;color:var(--faint);flex:none}label{display:block;font-size:12px;color:var(--dim);margin:0 0 6px}input,select,textarea{width:100%;height:48px;font-size:16px;padding:0 14px;border:1px solid var(--border);border-radius:14px;background:var(--field);color:var(--text);font-family:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none}textarea{height:auto;padding:12px 14px}input::placeholder,textarea::placeholder{color:var(--faint)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent)}.field{margin-bottom:14px}.selectwrap{position:relative}.selectwrap>svg{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:13px;height:13px;color:var(--dim);pointer-events:none}.selectwrap select{padding-right:34px}.row2{display:flex;gap:12px}.row2>*{flex:1;min-width:0}.checkrow{display:flex;align-items:center;gap:10px;margin-top:14px;font-size:13.5px;color:var(--text)}.checkrow input{width:auto;height:auto}.btn{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;border:none;border-radius:18px;height:56px;font-size:16px;font-weight:600;letter-spacing:-.01em;cursor:pointer;font-family:inherit}.btn svg{width:19px;height:19px}.btn.primary{background:var(--accent);color:var(--accent-text)}.btn.secondary{background:transparent;border:1.5px solid var(--border);color:var(--text);height:50px;border-radius:14px}.btn.outline-accent{background:transparent;border:1px solid var(--accent);color:var(--accent);height:50px;border-radius:14px}.btn.textbtn{background:transparent;color:var(--dim);height:48px;font-weight:500}.btn:active{transform:scale(.99)}.btn:disabled{opacity:.5}.btn.sm{width:auto;height:38px;padding:0 16px;font-size:14px;border-radius:12px}.spacer{height:12px}.totals .tr{display:flex;justify-content:space-between;padding:6px 0;font-size:13.5px;color:var(--dim)}.totals .tr.grand{border-top:1px solid var(--border);margin-top:6px;padding-top:12px;color:var(--text)}.totals .tr.grand span:last-child{font-size:22px;font-weight:700;letter-spacing:-.02em}.lineitem{display:flex;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid var(--border)}.lineitem:last-of-type{border-bottom:none}.tabbar{position:sticky;bottom:0;height:calc(78px + var(--safe-b));padding-bottom:var(--safe-b);display:flex;border-top:1px solid var(--border);background:var(--bg)}.tabbar button{flex:1;background:none;border:none;color:var(--dim);font-family:inherit;font-size:10.5px;font-weight:500;letter-spacing:.01em;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}.tabbar button.active{color:var(--text)}.tabbar svg{width:22px;height:22px}.sheet-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:var(--scrim);display:flex;align-items:flex-end;animation:fade .2s ease}.sheet{width:100%;background:var(--surface);border-radius:26px 26px 0 0;padding:10px 22px calc(30px + var(--safe-b));max-height:86vh;overflow:auto;animation:slideup .28s ease-out}@keyframes slideup{0%{transform:translateY(100%)}}@keyframes fade{0%{opacity:0}}.handle{width:38px;height:5px;border-radius:999px;background:var(--faint);margin:0 auto 16px}.sheet h3{font-size:21px;font-weight:600;letter-spacing:-.02em;margin:0 0 6px}.sheet .hint{color:var(--dim);font-size:13.5px;margin:0 0 18px}.dropzone{height:200px;border:1.5px dashed var(--border);border-radius:18px;background:var(--field);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--dim);font-size:13px;cursor:pointer;margin-bottom:18px}.dropzone svg{width:40px;height:40px}.catrow{display:flex;justify-content:space-between;align-items:center;padding:14px 4px;border-bottom:1px solid var(--border);cursor:pointer}.catrow:last-child{border-bottom:none}.catrow .accent{color:var(--accent)}.settingrow{display:flex;align-items:center;justify-content:space-between;gap:14px}.toggle{width:46px;height:28px;border-radius:999px;background:var(--faint);position:relative;flex:none;border:none;cursor:pointer}.segmented{display:flex;gap:3px;background:var(--field);border:1px solid var(--border);border-radius:14px;padding:3px}.segmented button{flex:1;height:38px;border:none;background:transparent;color:var(--dim);border-radius:11px;font-family:inherit;font-size:13.5px;cursor:pointer}.segmented button.on{background:var(--accent);color:var(--accent-text);font-weight:600}.toggle.on{background:var(--accent)}.toggle:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:999px;background:#fff;box-shadow:0 1px 2px #00000040;transition:transform .18s ease}.toggle.on:after{transform:translate(18px)}.muted{color:var(--dim);font-size:13.5px}.empty{text-align:center;color:var(--dim);padding:60px 20px;font-size:14px}.empty svg{width:40px;height:40px;margin-bottom:12px;color:var(--faint)}.statrow{display:flex;justify-content:space-between;align-items:baseline;padding:10px 0}.statrow+.statrow{border-top:1px solid var(--border)}.statrow .lbl{color:var(--dim);font-size:13.5px}.statrow .val{font-size:18px;font-weight:600;letter-spacing:-.01em}.statrow .val.big{font-size:22px;font-weight:700;letter-spacing:-.02em}.statrow .val.accent{color:var(--accent)}.barrow{display:flex;align-items:center;gap:10px;padding:7px 0;font-size:13px}.barlabel{width:30px;color:var(--dim)}.bartrack{flex:1;height:8px;background:var(--field);border-radius:999px;overflow:hidden}.barfill{height:100%;background:var(--accent);border-radius:999px}.barval{width:92px;text-align:right;font-variant-numeric:tabular-nums;color:var(--text)}.warnbox{background:var(--surface);border:1px solid var(--accent);border-radius:18px;padding:14px 16px;margin-bottom:14px}.warnbox .warnhead{font-weight:600;color:var(--accent);margin-bottom:6px}.warnbox ul{margin:0 0 10px;padding-left:18px;font-size:13.5px;color:var(--text)}.warnbox li{margin:2px 0}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{width:100%;max-width:360px}.login-brand{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:26px}.login-error{color:var(--accent);font-size:13px;margin:10px 0 0}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:var(--scrim);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:#fff;font-size:14px}.photo-view{max-width:92%;max-height:80vh;object-fit:contain;border-radius:14px}.spinner{width:36px;height:36px;border:3px solid rgba(255,255,255,.25);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.flash{position:fixed;left:50%;transform:translate(-50%);bottom:calc(96px + var(--safe-b));background:var(--surface);border:1px solid var(--border);color:var(--text);padding:11px 18px;border-radius:999px;font-size:13.5px;z-index:70;box-shadow:0 6px 24px #0000004d}
