:root{color-scheme:light;--ink:#18251f;--muted:#6e7973;--line:#e5e9e4;--paper:#fff;--bg:#f5f6f2;--green:#28644b;--green-dark:#1f503b;--green-pale:#eaf3ed;--gold:#85581a;--gold-pale:#fbf2e3;--red:#a83c35;--red-pale:#fff0ed;--radius:16px;--shadow:0 2px 10px rgba(24,37,31,.035)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.55 'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button{cursor:pointer}.topbar{height:72px;background:rgba(255,255,255,.94);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:32px;padding:0 max(24px,calc((100vw - 1160px)/2));position:sticky;top:0;z-index:5}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);font:700 16px Manrope,sans-serif;white-space:nowrap}.brand:hover{text-decoration:none}.brand-mark{height:32px;width:32px;display:grid;place-items:center;background:var(--green);color:white;border-radius:10px;font-weight:800}.main-nav{display:flex;align-items:center;gap:6px;flex:1}.main-nav a{padding:9px 12px;color:#65716a;border-radius:9px;font-size:13px;font-weight:600;white-space:nowrap}.main-nav a:hover,.main-nav a.active{color:var(--green-dark);background:var(--green-pale);text-decoration:none}.top-action{margin-left:auto}.page-shell{max-width:1160px;margin:0 auto;padding:42px 24px 70px;min-height:calc(100vh - 132px)}.site-footer{border-top:1px solid var(--line);padding:22px max(24px,calc((100vw - 1160px)/2));display:flex;justify-content:space-between;color:var(--muted);font-size:13px;background:#fff}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px}.page-heading h1,.public-wrap h1,.login-wrap h1{margin:4px 0 5px;font:800 clamp(28px,4vw,36px)/1.2 Manrope,sans-serif;letter-spacing:-1.1px}.eyebrow{text-transform:uppercase;letter-spacing:1.4px;font-size:11px;font-weight:700;color:var(--green)}.muted{color:var(--muted)}.lead{color:var(--muted);font-size:16px;margin:8px 0 26px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border:1px solid transparent;border-radius:10px;font-size:13px;font-weight:700;text-decoration:none;transition:background .15s,border .15s;white-space:nowrap}.button:hover{text-decoration:none}.button-primary{background:var(--green);color:#fff}.button-primary:hover{background:var(--green-dark)}.button-outline{background:#fff;border-color:#d8dfd9;color:var(--ink)}.button-outline:hover{border-color:var(--green);color:var(--green)}.button-quiet{background:transparent;color:#65716a;padding:0 10px}.button-quiet:hover{background:var(--bg)}.button-danger-outline{background:white;color:var(--red);border-color:#e8c9c5}.button-danger-outline:hover{background:var(--red-pale)}.button-small{min-height:34px;padding:0 11px;font-size:12px}.button-wide{width:100%;min-height:48px}.card,.balance-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.balance-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:42px}.balance-card{padding:22px 24px;min-height:146px;border-top:3px solid #a7b6ab}.balance-card strong{display:block;font:800 clamp(25px,3vw,32px) Manrope,sans-serif;letter-spacing:-.8px;margin:12px 0 4px}.card-label{font-size:13px;font-weight:700;color:#59665f}.card-hint{font-size:12px;color:var(--muted)}.balance-warm{border-top-color:#d1a55c}.balance-green{border-top-color:#4f9872}.section-block{margin-top:36px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.section-heading h2,.detail-card h2,.action-card h2{font:700 19px Manrope,sans-serif;margin:0 0 3px}.section-heading p{margin:0;font-size:13px}.count-pill{display:grid;place-items:center;border-radius:20px;background:var(--green-pale);color:var(--green);font-weight:700;font-size:13px;min-width:30px;height:30px;padding:0 9px}.table-wrap{overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:14px}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}th{padding:12px 16px;color:#77817b;background:#fafbf9;text-transform:uppercase;font-size:10px;letter-spacing:.7px;font-weight:700;border-bottom:1px solid var(--line)}td{padding:14px 16px;border-bottom:1px solid #eef0ed;vertical-align:middle}tbody tr:last-child td{border-bottom:0}.person-cell{font-weight:700}.person-cell small{display:block;color:var(--muted);font-size:11px;font-weight:400;margin-top:3px}.status{display:inline-flex;border-radius:20px;padding:4px 9px;background:#f0f1ef;color:#626d66;font-size:11px;font-weight:700;white-space:nowrap}.status-submitted,.status-eingereicht{background:#edf2f8;color:#48617b}.status-approved,.status-offen,.status-bestätigt{background:var(--gold-pale);color:var(--gold)}.status-paid,.status-bezahlt{background:var(--green-pale);color:var(--green)}.status-rejected,.status-abgelehnt{background:var(--red-pale);color:var(--red)}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:38px 20px;color:var(--muted)}.empty-state strong{color:var(--ink);margin-top:8px}.empty-state p{margin:4px 0}.empty-mark{display:grid;place-items:center;border-radius:50%;width:38px;height:38px;background:var(--green-pale);color:var(--green);font-weight:800}.public-wrap{width:min(100%,620px);margin:18px auto 0}.public-wrap .lead{max-width:560px}.form-card{padding:24px;display:flex;flex-direction:column;gap:18px}.form-grid{display:grid;gap:16px}.two-col{grid-template-columns:1fr 1fr}.form-card label,.filters label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:700;color:#34433b}.required{color:var(--red)}.optional{font-size:11px;font-weight:500;color:#909992;margin-left:4px}input,select,textarea{width:100%;background:#fff;border:1px solid #dce2dc;border-radius:9px;min-height:44px;padding:10px 12px;color:var(--ink);outline:none}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:#6f9b81;box-shadow:0 0 0 3px rgba(40,100,75,.11)}.upload-box{min-height:144px;border:1.5px dashed #b9c9bd;border-radius:13px;display:flex;align-items:center;justify-content:center;gap:5px;background:#fafcf9;text-align:center;padding:18px;position:relative;color:var(--ink)!important}.upload-box input{position:absolute;inset:0;height:100%;opacity:0;cursor:pointer}.upload-box span{font-size:12px;color:var(--muted);font-weight:400}.upload-box strong{font-size:14px}.upload-icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--green-pale);color:var(--green);font-size:20px!important;font-weight:700!important;margin-bottom:2px}.fine-print{font-size:12px;color:var(--muted);margin:-4px 0 0}.notice{padding:13px 15px;border-radius:10px;font-size:13px;margin:16px 0}.notice.success{background:var(--green-pale);color:var(--green-dark)}.notice.error{background:var(--red-pale);color:var(--red)}.notice strong,.notice span{display:block}.notice ul{margin:7px 0 0;padding-left:20px}.login-wrap{max-width:430px;margin:45px auto}.login-wrap .form-card{margin-top:20px}.back-link{display:inline-block;color:var(--muted);font-size:13px;margin:0 0 18px}.login-wrap .back-link{margin-top:20px}.flash-stack{margin-bottom:18px}.flash{padding:12px 14px;border-radius:9px;background:var(--green-pale);color:var(--green)}.detail-heading{align-items:center}.detail-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}.detail-card,.action-card{padding:22px}.data-list{margin:16px 0 18px}.data-list div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #eef0ed}.data-list dt{font-size:13px;color:var(--muted)}.data-list dd{margin:0;text-align:right;font-weight:600;font-size:13px}.data-list .amount-large{font:800 21px Manrope,sans-serif}.inner-form{padding:0;border:0;box-shadow:none;margin-top:16px}.inner-form label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:700}.button-stack{display:flex;flex-wrap:wrap;gap:9px}.ocr-details{margin:0 0 16px;color:var(--muted);font-size:12px}.ocr-details pre{white-space:pre-wrap;max-height:200px;overflow:auto;background:#f7f8f6;padding:12px;border-radius:8px}.timeline{border-left:1px solid #dce3dd;margin:6px 0 0 8px}.timeline-item{position:relative;display:flex;gap:20px;padding:0 0 23px 21px;align-items:flex-start}.timeline-dot{position:absolute;left:-5px;top:6px;width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px var(--bg)}.timeline-item strong{font-size:14px}.timeline-item p{margin:3px 0;color:var(--muted);font-size:13px}.timeline-item time{font-size:11px;color:#929b94}.timeline-amount{margin-left:auto;font-weight:700;white-space:nowrap}.total-chip{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);padding:12px 16px;border-radius:12px}.total-chip span{font-size:11px;color:var(--muted)}.total-chip strong{font:800 19px Manrope,sans-serif;margin-top:2px}.payout-list{display:grid;gap:14px}.payout-group{overflow:hidden}.payout-person{display:flex;align-items:center;gap:12px;padding:17px 20px;border-bottom:1px solid var(--line)}.avatar{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:var(--green-pale);color:var(--green);font-weight:800}.payout-person h2{font:700 16px Manrope,sans-serif;margin:0}.payout-person .muted{font-size:12px}.group-total{margin-left:auto;font:800 18px Manrope,sans-serif}.payout-items{padding:0 20px}.payout-item{display:flex;align-items:center;gap:14px;padding:13px 0;border-bottom:1px solid #eef0ed}.payout-item:last-child{border-bottom:0}.payout-item>div{flex:1;display:flex;flex-direction:column}.payout-item>div>a{font-size:12px;font-weight:700}.payout-item .muted{font-size:11px}.payout-item>strong{font-size:13px}.filters{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr auto;gap:12px;padding:15px;align-items:end}.filters label{font-size:11px}.filters input,.filters select{min-height:40px;font-size:12px}.history-block{margin-top:20px}.nowrap{white-space:nowrap}.event-type{font-weight:700;color:#45564b}.transaction-form{max-width:620px}.transaction-form .fine-print{padding:4px 0}.text-link{font-size:13px;font-weight:600}.top-action form{margin:0}
@media(max-width:760px){.topbar{height:auto;min-height:62px;padding:12px 16px;gap:8px;flex-wrap:wrap}.brand{margin-right:auto}.main-nav{order:3;width:100%;overflow-x:auto;gap:2px;margin:2px -4px -4px}.main-nav a{padding:8px 10px;font-size:12px}.top-action{margin-left:0}.page-shell{padding:28px 16px 48px}.page-heading{align-items:flex-start;flex-direction:column;margin-bottom:21px;gap:14px}.page-heading>.button,.page-heading>.total-chip{align-self:stretch}.balance-grid{grid-template-columns:1fr;gap:10px;margin-bottom:32px}.balance-card{min-height:auto;padding:17px 19px}.balance-card strong{margin:7px 0 1px}.detail-grid{grid-template-columns:1fr}.filters{grid-template-columns:1fr 1fr}.filters label:first-child{grid-column:span 2}.filters button{grid-column:span 2}.payout-item{gap:9px}.payout-item .button{padding:0 8px}.site-footer{padding:18px 16px}.public-wrap{margin-top:4px}}
@media(max-width:450px){.two-col{grid-template-columns:1fr;gap:18px}.form-card{padding:19px}.filters{grid-template-columns:1fr}.filters label:first-child,.filters button{grid-column:auto}.payout-person{padding:15px}.payout-items{padding:0 14px}.payout-item{flex-wrap:wrap}.payout-item>div{min-width:55%;}.payout-item form{margin-left:auto}.detail-card,.action-card{padding:18px}.timeline-amount{font-size:12px}.public-wrap h1,.login-wrap h1{font-size:29px}}
[hidden]{display:none!important}
.upload-box:focus-within{border-color:var(--green);box-shadow:0 0 0 3px rgba(40,100,75,.11)}
.receipt-selection{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fafcf9;min-width:0}
.receipt-selection strong{max-width:100%;overflow-wrap:anywhere;font-size:13px}
.receipt-selection .muted{font-size:12px}
.receipt-preview{display:block;max-width:100%;max-height:300px;object-fit:contain;border-radius:8px;background:#fff;align-self:center}
.receipt-pdf-icon{display:grid;place-items:center;width:64px;height:78px;border:1px solid #d8dfd9;border-radius:7px;background:#fff;color:var(--red);font-weight:800}
