:root{--dun-bg:#16110c;--dun-surface:#241c14;--dun-text:#e8d9b8;--dun-muted:#9a8568;--dun-gold:#b8873b;--dun-gold-dark:#8b5a2b;--dun-ember:#c9722e;--dun-line:#b8873b59;--dun-input:#1b140d}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--dun-bg);color:var(--dun-text);-webkit-font-smoothing:antialiased;font-family:Georgia,Iowan Old Style,Times New Roman,serif;line-height:1.5}a{color:var(--dun-gold)}.wordmark{letter-spacing:.22em;text-transform:uppercase;color:var(--dun-muted);margin:0;font-size:.74rem}.wordmark strong{color:var(--dun-gold);font-weight:600}.auth-shell{place-items:center;min-height:100dvh;padding:1.5rem;display:grid}.card{background:var(--dun-surface);border:1px solid var(--dun-line);border-radius:2px;width:100%;max-width:22rem;padding:2rem 1.75rem;box-shadow:inset 0 1px #b8873b26,0 18px 50px #00000073}.card h1{letter-spacing:.04em;margin:.6rem 0 1.4rem;font-size:1.35rem;font-weight:600}label{letter-spacing:.12em;text-transform:uppercase;color:var(--dun-muted);margin:0 0 .35rem;font-size:.7rem;display:block}input{background:var(--dun-input);border:1px solid var(--dun-line);width:100%;color:var(--dun-text);font:inherit;border-radius:2px;margin-bottom:1rem;padding:.6rem .7rem;font-size:.95rem}input:focus-visible{border-color:var(--dun-gold);outline:none;box-shadow:0 0 0 2px #b8873b40}button.primary{background:linear-gradient(180deg, var(--dun-gold) 0%, var(--dun-gold-dark) 100%);color:#1a120a;width:100%;font:inherit;letter-spacing:.05em;cursor:pointer;border:none;border-radius:2px;padding:.65rem;font-weight:700}button.primary:disabled{opacity:.55;cursor:progress}button.primary:focus-visible{outline:2px solid var(--dun-ember);outline-offset:2px}.fehler{color:#e9b48a;background:#c9722e1f;border:1px solid #c9722e80;border-radius:2px;margin:0 0 1rem;padding:.55rem .7rem;font-size:.85rem}.app{max-width:60rem;margin:0 auto;padding:2rem 1.5rem}.topbar{border-bottom:1px solid var(--dun-line);justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;padding-bottom:1rem;display:flex}.topbar .user{color:var(--dun-muted);align-items:center;gap:1rem;font-size:.85rem;display:flex}button.ghost{border:1px solid var(--dun-line);color:var(--dun-text);font:inherit;cursor:pointer;background:0 0;border-radius:2px;padding:.4rem .8rem;font-size:.85rem}button.ghost:hover{border-color:var(--dun-gold);color:var(--dun-gold)}button.ghost:focus-visible{outline:2px solid var(--dun-gold);outline-offset:2px}.platzhalter{border:1px dashed var(--dun-line);color:var(--dun-muted);border-radius:2px;padding:2rem}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.wordmark-link{text-decoration:none}.kassenstand-zeile{justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.75rem;display:flex}.ks-label{letter-spacing:.14em;text-transform:uppercase;color:var(--dun-muted);margin-bottom:.2rem;font-size:.7rem}.kassenstand{color:var(--dun-gold);letter-spacing:.01em;font-size:2rem;font-weight:600}.kassenstand.negativ{color:var(--dun-ember)}.btn-link{background:linear-gradient(180deg, var(--dun-gold) 0%, var(--dun-gold-dark) 100%);color:#1a120a;letter-spacing:.04em;white-space:nowrap;border-radius:2px;padding:.55rem 1rem;font-weight:700;text-decoration:none;display:inline-block}.btn-link:focus-visible{outline:2px solid var(--dun-ember);outline-offset:2px}.leer{border:1px dashed var(--dun-line);color:var(--dun-muted);text-align:center;border-radius:2px;padding:2rem}table.buchungen{border-collapse:collapse;width:100%;font-size:.92rem}table.buchungen th{text-align:left;letter-spacing:.12em;text-transform:uppercase;color:var(--dun-muted);border-bottom:1px solid var(--dun-line);padding:0 .6rem .5rem;font-size:.68rem;font-weight:600}table.buchungen td{vertical-align:top;border-bottom:1px solid #b8873b24;padding:.7rem .6rem}table.buchungen .num{text-align:right}.datum{white-space:nowrap;color:var(--dun-muted)}.betrag{white-space:nowrap;font-variant-numeric:tabular-nums}.zweck{color:var(--dun-text)}.beschreibung{color:var(--dun-muted);margin-top:.15rem;font-size:.82rem}.storno-grund{color:var(--dun-ember);margin-top:.25rem;font-size:.8rem}.aktion{text-align:right;white-space:nowrap}tr.storniert .zweck,tr.storniert .betrag{color:var(--dun-muted);text-decoration:line-through}tr.storniert td{opacity:.75}.badge{letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--dun-line);color:var(--dun-text);border-radius:2px;padding:.12rem .45rem;font-size:.66rem;display:inline-block}.badge-einlage{color:var(--dun-gold);border-color:var(--dun-gold)}.badge-einnahme{color:var(--dun-text);border-color:var(--dun-muted)}.badge-ausgabe{color:var(--dun-ember);border-color:#c9722e99}.auto{color:var(--dun-muted);margin-left:.4rem;font-size:.85rem}.ghost.klein,.primary.klein{width:auto;padding:.35rem .7rem;font-size:.8rem}tr.storno-zeile td{background:#c9722e0f;border-bottom:1px solid #b8873b24}.storno-box{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.storno-feld{flex:16rem}.storno-feld label{margin-bottom:.3rem}.storno-feld input{margin-bottom:0}.storno-aktionen{gap:.5rem;display:flex}.fehler-inline{color:var(--dun-ember);align-self:center;font-size:.82rem}.seitenkopf{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1.5rem;display:flex}.seitenkopf h1{letter-spacing:.02em;margin:0;font-size:1.5rem;font-weight:600}.zurueck{color:var(--dun-muted);white-space:nowrap;font-size:.85rem;text-decoration:none}.zurueck:hover{color:var(--dun-gold)}.form-karte{background:var(--dun-surface);border:1px solid var(--dun-line);border-radius:2px;max-width:38rem;padding:1.75rem}.feld-label{letter-spacing:.12em;text-transform:uppercase;color:var(--dun-muted);margin-bottom:.4rem;font-size:.7rem;display:block}.feld{margin-bottom:1.1rem}.feld label{margin-bottom:.35rem;display:block}.feld input,.feld select,.feld textarea,.storno-feld input{margin-bottom:0}.feld-reihe{flex-wrap:wrap;gap:1rem;display:flex}.feld-reihe .feld{flex:12rem}.vorschau{color:var(--dun-gold);margin-top:.3rem;font-size:.82rem;display:block}select,textarea{background:var(--dun-input);border:1px solid var(--dun-line);width:100%;color:var(--dun-text);font:inherit;border-radius:2px;padding:.6rem .7rem;font-size:.95rem}select:focus-visible,textarea:focus-visible{border-color:var(--dun-gold);outline:none;box-shadow:0 0 0 2px #b8873b40}textarea{resize:vertical}.typ-wahl{flex-wrap:wrap;gap:.5rem;margin-bottom:1.1rem;display:flex}.typ-option{background:var(--dun-input);border:1px solid var(--dun-line);cursor:pointer;text-align:left;color:var(--dun-text);font:inherit;border-radius:2px;flex-direction:column;flex:8rem;gap:.15rem;padding:.6rem .7rem;display:flex}.typ-option:hover{border-color:var(--dun-gold-dark)}.typ-option.aktiv{border-color:var(--dun-gold);box-shadow:inset 0 0 0 1px var(--dun-gold)}.typ-name{letter-spacing:.02em;font-weight:600}.typ-hilfe{color:var(--dun-muted);font-size:.74rem}.form-aktionen{margin-top:.5rem}.form-aktionen .primary{width:auto;padding:.6rem 1.4rem}.topbar-left{flex-wrap:wrap;align-items:center;gap:1.5rem;display:flex}.hauptnav{gap:1rem;display:flex}.hauptnav a{color:var(--dun-muted);letter-spacing:.04em;border-bottom:1px solid #0000;padding-bottom:.15rem;font-size:.85rem;text-decoration:none}.hauptnav a:hover{color:var(--dun-text)}.hauptnav a.aktiv{color:var(--dun-gold);border-bottom-color:var(--dun-gold)}.ks-inline{color:var(--dun-muted);white-space:nowrap;font-size:.95rem}.ks-inline .gold{color:var(--dun-gold)}.ks-inline .negativ{color:var(--dun-ember)}.auswertungen{flex-direction:column;gap:1.5rem;display:flex}.karten-reihe{flex-wrap:wrap;gap:1.5rem;display:flex}.karten-reihe .karte{flex:18rem}.karte{background:var(--dun-surface);border:1px solid var(--dun-line);border-radius:2px;padding:1.4rem 1.5rem}.karte.hervorgehoben{box-shadow:inset 0 0 0 1px var(--dun-gold);border-color:var(--dun-gold)}.karte h2{letter-spacing:.02em;color:var(--dun-text);margin:0 0 .2rem;font-size:1.05rem;font-weight:600}.karte-hinweis{color:var(--dun-muted);margin:0 0 1rem;font-size:.8rem}.aus-tabelle{border-collapse:collapse;width:100%;margin-top:.5rem;font-size:.92rem}.aus-tabelle th{text-align:left;letter-spacing:.12em;text-transform:uppercase;color:var(--dun-muted);border-bottom:1px solid var(--dun-line);padding:0 .5rem .45rem;font-size:.66rem;font-weight:600}.aus-tabelle .num{text-align:right}.aus-tabelle td{border-bottom:1px solid #b8873b1f;padding:.5rem}.aus-tabelle tfoot td{border-top:1px solid var(--dun-line);color:var(--dun-gold);border-bottom:none;padding-top:.6rem;font-weight:600}.aus-tabelle .betrag{font-variant-numeric:tabular-nums;white-space:nowrap}.aus-tabelle .negativ{color:var(--dun-ember)}.add-form{gap:.5rem;margin:.4rem 0 1rem;display:flex}.add-form input{flex:1;margin-bottom:0}.stamm-liste{margin:0;padding:0;list-style:none}.stamm-liste li{border-bottom:1px solid #b8873b1f;align-items:center;gap:.75rem;padding:.55rem 0;display:flex}.stamm-liste li:last-child{border-bottom:none}.stamm-name{flex:1}.stamm-liste li.inaktiv .stamm-name{color:var(--dun-muted);text-decoration:line-through}.status{letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--dun-line);white-space:nowrap;border-radius:2px;padding:.12rem .45rem;font-size:.62rem}.status.an{color:var(--dun-gold);border-color:#b8873b80}.status.aus{color:var(--dun-muted)}.leer-mini{color:var(--dun-muted);padding:.55rem 0;font-size:.85rem}.seiten-hinweis{color:var(--dun-muted);max-width:60ch;margin:.3rem 0 0;font-size:.88rem}.erfolg{color:var(--dun-gold);background:#b8873b14;border:1px solid #b8873b66;border-radius:2px;margin:0 0 1rem;padding:.5rem .75rem;font-size:.88rem}.form-karte h2{color:var(--dun-text);margin:0 0 1rem;font-size:1.05rem;font-weight:600}.da-layout{grid-template-columns:minmax(320px,420px) 1fr;align-items:start;gap:1.5rem;display:grid}@media (max-width:900px){.da-layout{grid-template-columns:1fr}}.da-liste{flex-direction:column;gap:.9rem;display:flex}.da-karte{background:var(--dun-surface);border:1px solid var(--dun-line);border-radius:2px;padding:.9rem 1.1rem}.da-karte.inaktiv{opacity:.6}.da-kopf{align-items:center;gap:.6rem;display:flex}.da-zweck{color:var(--dun-text);flex:1;font-weight:600}.da-betrag{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--dun-text)}.da-meta{color:var(--dun-muted);flex-wrap:wrap;gap:.4rem;margin-top:.4rem;font-size:.82rem;display:flex}.da-fuss{border-top:1px solid #b8873b1f;justify-content:space-between;align-items:center;gap:.75rem;margin-top:.75rem;padding-top:.6rem;display:flex}.da-status-zeile{align-items:center;gap:.6rem;display:flex}.da-letzte{color:var(--dun-muted);font-size:.76rem}.aktion-stapel{flex-direction:column;align-items:flex-end;gap:.35rem;display:flex}.beleg-zelle{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.35rem;display:inline-flex}.beleg-link{color:var(--dun-gold);white-space:nowrap;font-size:.82rem;text-decoration:none}.beleg-link:hover{color:var(--dun-gold-dark);text-decoration:underline}.beleg-x{color:var(--dun-muted);cursor:pointer;background:0 0;border:none;padding:0 .2rem;font-size:1rem;line-height:1}.beleg-x:hover{color:var(--dun-ember)}.beleg-x:disabled{opacity:.5;cursor:default}.beleg-leer{color:var(--dun-muted)}
