

html.js noscript{display:none}
[hidden]{display:none!important}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--bg-0);color:var(--ink);font-family:var(--font-display);min-height:100dvh;line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:var(--green);text-decoration:none}
a:hover{color:var(--green-soft)}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
:focus-visible{outline:1px solid rgba(57,255,20,.45);outline-offset:2px}
::selection{background:rgba(57,255,20,.25)}

.sp-boot{position:fixed;inset:0;z-index:200;display:grid;place-items:center;background:var(--bg-0);transition:opacity .32s ease}
.sp-boot.weg{opacity:0;pointer-events:none}
.sp-boot .b-in{display:grid;justify-items:center;gap:14px}
.sp-boot svg{width:52px;height:52px;color:var(--paper);filter:drop-shadow(0 0 12px rgba(57,255,20,.25))}
.sp-boot .b-w{font-family:var(--font-mono);font-size:11px;letter-spacing:4px;color:var(--ink-dim)}
.sp-boot .b-w b{color:var(--green);font-weight:600}
@keyframes spCur{0%,55%{opacity:1}56%,100%{opacity:.15}}
.sp-boot .mk-cur{animation:spCur 1.1s steps(1) infinite}

.sp-kopf{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(10px + env(safe-area-inset-top)) max(16px,env(safe-area-inset-left)) 10px max(16px,env(safe-area-inset-right));background:rgba(3,5,3,.78);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.sp-marke{display:inline-flex;align-items:center;gap:10px;min-height:44px}
.sp-marke svg{width:22px;height:22px;color:var(--paper);display:block}
.sp-marke .mk-cur,.sp-boot .mk-cur{fill:var(--green)}
.sp-wort{font-family:var(--font-mono);font-size:11px;letter-spacing:2.6px;color:var(--ink);text-transform:uppercase;white-space:nowrap}
.sp-wort i{font-style:normal;color:var(--ink-dim);padding:0 4px}
.sp-wort b{color:var(--green);font-weight:600;text-shadow:0 0 9px rgba(57,255,20,.35)}
.sp-wort .sp-beta{display:inline-block;margin-left:7px;padding:2px 5px 1px;border:1px solid rgba(57,255,20,.3);border-radius:4px;font-style:normal;font-size:8px;letter-spacing:1.4px;line-height:1;color:var(--green);vertical-align:1px}
                                                                                                       
.sp-modi{margin-top:10px;padding-top:10px;border-top:1px dashed var(--line,rgba(57,255,20,.14))}
.sp-teil-felder{display:grid;gap:8px;margin-top:10px}
.sp-teil-felder .tf{display:grid;grid-template-columns:minmax(0,1fr) 118px 20px;align-items:center;gap:10px;font-family:var(--font-mono,ui-monospace,monospace);font-size:12px;letter-spacing:.6px;color:var(--ink,#e7ffe2)}
.sp-teil-felder .tf-n{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sp-teil-felder .sp-in.klein{min-height:44px;padding:8px 10px;text-align:right;font-variant-numeric:tabular-nums}
.sp-teil-felder .sp-in.bad{border-color:var(--err-line,rgba(255,85,85,.5));color:var(--err,#ff5555)}
.sp-teil-felder .tf-e{color:var(--ink-dim,#8fc78a);text-align:center}
.sp-teil-info .warn{color:var(--warn,#ff9d3c)}
.sp-kopf-akt{display:inline-flex;align-items:center;gap:8px}
.sp-demo{font-family:var(--font-mono);font-size:9px;letter-spacing:1.6px;color:var(--warn);border:1px solid var(--warn-line);border-radius:999px;padding:3px 9px;cursor:pointer}
.sp-ikn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:9px;border:1px solid rgba(57,255,20,.14);background:rgba(57,255,20,.04);color:var(--ink-dim);transition:color .22s,border-color .22s,background .22s,box-shadow .22s}
.sp-ikn:hover{color:var(--green);border-color:rgba(57,255,20,.34);background:rgba(57,255,20,.09);box-shadow:inset 0 0 16px -8px rgba(57,255,20,.5)}
.sp-ikn svg{width:15px;height:15px;display:block}

.sp-haupt{max-width:660px;margin:0 auto;padding:20px max(16px,env(safe-area-inset-left)) calc(104px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-right))}
.sp-eyebrow{font-family:var(--font-mono);font-size:10px;letter-spacing:2.4px;text-transform:uppercase;color:var(--ink-dim);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sp-eyebrow .gr{color:var(--green)}
.sp-zurueck{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:11px;letter-spacing:1.5px;color:var(--ink-dim);min-height:44px}
.sp-zurueck:hover{color:var(--green)}
.sp-titel{font-size:clamp(26px,7vw,38px);font-weight:600;letter-spacing:-.5px;line-height:1.12;margin:2px 0 4px;text-wrap:balance}
.sp-tags{display:flex;gap:14px;flex-wrap:wrap;font-family:var(--font-mono);font-size:10.5px;letter-spacing:1.6px;text-transform:uppercase;color:var(--ink-dim)}
.sp-tags b{color:var(--ink);font-weight:500}

.sp-karte{border:1px solid var(--line);border-radius:10px;background:rgba(57,255,20,.03);padding:16px;margin-top:16px}
.sp-karte.eintritt{animation:spAuf .32s cubic-bezier(.2,.8,.2,1) both}
@keyframes spAuf{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.sp-k-kopf{display:flex;align-items:center;justify-content:space-between;gap:10px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:2.2px;color:var(--green);padding-bottom:10px;margin-bottom:12px;border-bottom:1px solid var(--line)}
.sp-k-kopf .aktion{color:var(--ink-dim);letter-spacing:1.4px;font-size:10px;min-height:30px;display:inline-flex;align-items:center}
.sp-k-kopf .aktion:hover{color:var(--green)}

.sp-hero{display:grid;gap:2px;padding:18px 16px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(160deg,rgba(57,255,20,.06),rgba(57,255,20,.015) 55%);position:relative;overflow:hidden;margin-top:16px}
.sp-hero::after{content:"";position:absolute;top:0;bottom:0;left:-45%;width:30%;background:linear-gradient(100deg,transparent,rgba(57,255,20,.07),transparent);transform:skewX(-18deg);animation:spScan 6s ease-in-out infinite}
@keyframes spScan{0%,64%{left:-45%}86%,100%{left:115%}}
.sp-hero .h-l{font-family:var(--font-mono);font-size:10px;letter-spacing:2.4px;color:var(--ink-dim)}
.sp-hero .h-b{font-size:clamp(34px,9vw,46px);font-weight:600;letter-spacing:-1px;color:var(--paper);font-variant-numeric:tabular-nums}
.sp-hero .h-b i{font-style:normal;color:var(--green);font-size:.6em;vertical-align:.14em;margin-left:4px}

.sp-zeile{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:13px 4px;min-height:60px;border-bottom:1px solid var(--line);transition:background .18s}
.sp-zeile:last-child{border-bottom:0}
.sp-zeile:hover{background:rgba(57,255,20,.04)}
.sp-zeile .z-txt{flex:1;min-width:0;display:grid;gap:2px}
.sp-zeile .z-n{font-size:16px;font-weight:500;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sp-zeile .z-m{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.6px;color:var(--ink-dim)}
.sp-zeile .z-b{font-family:var(--font-mono);font-size:15px;color:var(--paper);font-variant-numeric:tabular-nums;white-space:nowrap}
.sp-zeile .z-pf{color:var(--ink-dim);font-family:var(--font-mono);font-size:13px}
.sp-zeile:hover .z-pf{color:var(--green)}

.sp-saldo{display:grid;grid-template-columns:1fr auto;gap:3px 12px;padding:10px 4px;border-bottom:1px solid var(--line)}
.sp-saldo:last-child{border-bottom:0}
.sp-saldo .s-n{font-size:15px;font-weight:500}
.sp-saldo .s-b{font-family:var(--font-mono);font-size:14px;font-variant-numeric:tabular-nums;align-self:center}
.sp-saldo .s-b.plus{color:var(--green)}
.sp-saldo .s-b.minus{color:var(--warn)}
.sp-saldo .s-b.null{color:var(--ink-dim)}
.sp-saldo .s-bar{grid-column:1/-1;height:3px;border-radius:999px;background:rgba(57,255,20,.08);overflow:hidden}
.sp-saldo .s-bar i{display:block;height:100%;border-radius:999px;background:var(--green);box-shadow:0 0 8px rgba(57,255,20,.5);transition:width .5s cubic-bezier(.2,.8,.2,1)}
.sp-saldo .s-bar.minus i{background:var(--warn);box-shadow:0 0 8px rgba(255,157,60,.4)}

.sp-abr{display:grid;gap:10px}
.sp-transfer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;padding:13px 14px;background:rgba(3,5,3,.5)}
.sp-transfer .t-p{display:grid;gap:1px;min-width:0}
.sp-transfer .t-p.re{text-align:right}
.sp-transfer .t-r{font-family:var(--font-mono);font-size:9px;letter-spacing:1.8px;color:var(--ink-dim);text-transform:uppercase}
.sp-transfer .t-n{font-size:15px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sp-transfer .t-mitte{display:grid;justify-items:center;gap:2px}
.sp-transfer .t-b{font-family:var(--font-mono);font-size:14px;color:var(--paper);font-variant-numeric:tabular-nums;white-space:nowrap}
.sp-transfer .t-pfeil{color:var(--green);font-family:var(--font-mono);font-size:13px;letter-spacing:2px;animation:spPuls 2.6s ease-in-out infinite}
@keyframes spPuls{0%,100%{opacity:.5;transform:translateX(0)}50%{opacity:1;transform:translateX(3px)}}

.sp-trip-z{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:16px 4px;min-height:72px;border-bottom:1px solid var(--line)}
.sp-trip-z:last-child{border-bottom:0}
.sp-trip-z:hover{background:rgba(57,255,20,.04)}
.sp-trip-z .t-txt{flex:1;min-width:0;display:grid;gap:3px}
.sp-trip-z .t-n{font-size:18px;font-weight:600;letter-spacing:-.2px}
.sp-trip-z .t-m{font-family:var(--font-mono);font-size:10.5px;letter-spacing:1px;color:var(--ink-dim);text-transform:uppercase}
.sp-trip-z .t-s{font-family:var(--font-mono);font-size:13px;color:var(--paper);font-variant-numeric:tabular-nums}
.sp-trip-z .z-pf{color:var(--ink-dim);font-family:var(--font-mono)}
.sp-trip-z:hover .z-pf{color:var(--green)}

.sp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 22px;border-radius:999px;border:1px solid rgba(57,255,20,.3);background:rgba(57,255,20,.05);color:var(--green);font-family:var(--font-mono);font-size:11.5px;letter-spacing:2.4px;text-transform:uppercase;transition:border-color .2s,background .2s,box-shadow .2s,transform .12s}
.sp-btn:hover{border-color:rgba(57,255,20,.55);background:rgba(57,255,20,.1);box-shadow:var(--glow-soft)}
.sp-btn:active{transform:scale(.97)}
.sp-btn.voll{width:100%}
.sp-btn.primaer{background:rgba(57,255,20,.12);border-color:rgba(57,255,20,.5)}
.sp-btn.geist{border-color:var(--line);background:transparent;color:var(--ink-dim)}
.sp-btn.geist:hover{color:var(--green);border-color:rgba(57,255,20,.34);box-shadow:none}
.sp-btn.gefahr{border-color:var(--err-line);background:rgba(255,85,85,.06);color:var(--err)}
.sp-btn.gefahr:hover{box-shadow:0 0 10px rgba(255,85,85,.3)}
.sp-btn[disabled]{opacity:.45;pointer-events:none}

.sp-cta{position:fixed;left:0;right:0;bottom:0;z-index:40;padding:10px max(16px,env(safe-area-inset-left)) calc(12px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-right));background:linear-gradient(180deg,rgba(3,5,3,0),rgba(3,5,3,.88) 38%);pointer-events:none}
.sp-cta .in{max-width:660px;margin:0 auto;display:flex;gap:10px;pointer-events:auto}
.sp-cta .sp-btn{flex:1;min-height:52px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.sp-cta .sp-btn.neben{flex:0 0 auto;padding:10px 18px}

.sp-feld{display:grid;gap:6px;margin-top:14px}
.sp-feld label{font-family:var(--font-mono);font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--ink-dim)}
.sp-in{width:100%;min-height:48px;padding:11px 14px;border-radius:8px;border:1px solid var(--line);background:rgba(3,5,3,.6);color:var(--ink);font-family:var(--font-display);font-size:16px;transition:border-color .2s,box-shadow .2s}
.sp-in::placeholder{color:rgba(143,199,138,.4)}
.sp-in:focus{outline:none;border-color:rgba(57,255,20,.45);box-shadow:inset 0 0 14px -8px rgba(57,255,20,.5)}
.sp-in.geld{font-family:var(--font-mono);font-size:26px;text-align:center;min-height:60px;letter-spacing:1px;font-variant-numeric:tabular-nums}
.sp-chips{display:flex;flex-wrap:wrap;gap:8px}
.sp-chip{min-height:44px;padding:9px 16px;border-radius:999px;border:1px solid var(--line);background:rgba(3,5,3,.5);color:var(--ink-dim);font-size:14.5px;transition:color .18s,border-color .18s,background .18s}
.sp-chip[aria-pressed="true"]{color:var(--green);border-color:rgba(57,255,20,.5);background:rgba(57,255,20,.1);text-shadow:0 0 8px rgba(57,255,20,.3)}
.sp-chip:hover{border-color:rgba(57,255,20,.34)}
.sp-btn.klein{min-height:40px;padding:8px 16px;font-size:10px;letter-spacing:2px}
.sp-fehler{font-family:var(--font-mono);font-size:11px;letter-spacing:.5px;color:var(--warn);margin-top:10px;min-height:14px}
.sp-hinweis{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.4px;color:var(--ink-dim);line-height:1.7}
.sp-teil-info{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-dim);margin-top:8px;min-height:14px}
.sp-teil-info b{color:var(--green);font-weight:500}

.sp-dialog{position:fixed;inset:0;z-index:120;display:none}
.sp-dialog.offen{display:block}
.sp-dialog .d-hg{position:absolute;inset:0;background:rgba(2,4,2,.7);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;transition:opacity .24s}
.sp-dialog.zeig .d-hg{opacity:1}
.sp-blatt{position:absolute;left:0;right:0;bottom:0;max-height:calc(100dvh - 48px);overflow:auto;background:var(--bg-1);border:1px solid var(--line-strong);border-bottom:0;border-radius:14px 14px 0 0;padding:10px 20px calc(20px + env(safe-area-inset-bottom));transform:translateY(24px);opacity:0;transition:transform .28s cubic-bezier(.2,.8,.2,1),opacity .22s}
.sp-dialog.zeig .sp-blatt{transform:none;opacity:1}
.sp-blatt::before{content:"";display:block;width:38px;height:3px;border-radius:999px;background:rgba(57,255,20,.25);margin:2px auto 10px}
.sp-d-kopf{display:flex;align-items:center;justify-content:space-between;gap:10px;font-family:var(--font-mono);font-size:11px;letter-spacing:2.4px;color:var(--green);padding:6px 0 12px;border-bottom:1px solid var(--line)}
.sp-d-kopf .zu{color:var(--ink-dim);font-size:16px;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px}
.sp-d-kopf .zu:hover{color:var(--green);background:rgba(57,255,20,.08)}
.sp-d-akt{display:flex;gap:10px;margin-top:20px}
.sp-d-akt .sp-btn{flex:1}
@media (min-width:700px){
  .sp-blatt{left:50%;right:auto;bottom:auto;top:50%;transform:translate(-50%,calc(-50% + 16px));width:min(480px,calc(100vw - 48px));border-radius:12px;border-bottom:1px solid var(--line-strong);padding:8px 24px 24px}
  .sp-dialog.zeig .sp-blatt{transform:translate(-50%,-50%)}
  .sp-blatt::before{display:none}
}

.sp-leer{display:grid;justify-items:center;gap:10px;text-align:center;padding:34px 18px;border:1px dashed var(--line-strong);border-radius:10px;margin-top:16px}
.sp-leer .l-t{font-family:var(--font-mono);font-size:12px;letter-spacing:2.6px;color:var(--ink)}
.sp-leer .l-s{font-size:14px;color:var(--ink-dim);max-width:34ch}
.sp-toast{position:fixed;left:50%;bottom:calc(86px + env(safe-area-inset-bottom));transform:translate(-50%,12px);z-index:150;font-family:var(--font-mono);font-size:11.5px;letter-spacing:1px;color:var(--green);background:rgba(3,5,3,.92);border:1px solid rgba(57,255,20,.4);border-radius:999px;padding:9px 18px;opacity:0;pointer-events:none;transition:opacity .24s,transform .24s;max-width:calc(100vw - 32px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sp-toast.zeig{opacity:1;transform:translate(-50%,0)}
.sp-status{display:grid;place-items:center;gap:12px;padding:56px 16px;font-family:var(--font-mono);font-size:12px;letter-spacing:1.5px;color:var(--ink-dim);text-align:center;line-height:2}
.sp-gast{margin-top:14px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.5px;color:var(--ink-dim);border:1px solid var(--line);border-radius:999px;padding:7px 14px;display:inline-flex;gap:8px;align-items:center}
.sp-gast::before{content:"◉";color:var(--green);font-size:8px}
.sp-aktionen{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap;align-items:center}
.sp-konto-zeile{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:18px;font-family:var(--font-mono);font-size:11px;color:var(--ink-dim);letter-spacing:.5px;flex-wrap:wrap}
.sp-konto-zeile .ab{color:var(--ink-dim);border:1px solid var(--line);border-radius:999px;padding:7px 14px;min-height:34px;font-size:10px;letter-spacing:1.6px;text-transform:uppercase;font-family:var(--font-mono)}
.sp-konto-zeile .ab:hover{color:var(--green);border-color:rgba(57,255,20,.34)}

.sp-auth{max-width:400px;margin:0 auto;padding-top:6vh}
.sp-auth .a-mark{display:grid;justify-items:center;gap:14px;margin-bottom:26px}
.sp-auth .a-mark svg{width:46px;height:46px;color:var(--paper)}
.sp-auth .a-zeile{font-family:var(--font-mono);font-size:10px;letter-spacing:3.2px;color:var(--ink-dim)}
.sp-tabs{display:flex;padding:3px;border:1px solid rgba(57,255,20,.16);border-radius:999px;margin-bottom:6px}
.sp-tabs button{flex:1;min-height:40px;border-radius:999px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:2px;text-transform:uppercase;color:var(--ink-dim);transition:color .2s,background .2s}
.sp-tabs button[aria-selected="true"]{color:var(--green);background:rgba(57,255,20,.1);box-shadow:inset 0 0 0 1px rgba(57,255,20,.28)}

@media (min-width:960px){
  .sp-haupt{max-width:1060px;padding-bottom:40px}
  .sp-haupt.eng{max-width:660px}
  .sp-trip-grid{display:grid;grid-template-columns:1.15fr .95fr;gap:0 26px;align-items:start}
  .sp-trip-grid .spalte{min-width:0}
  .sp-trip-grid .spalte.haupt{order:-1}
  .sp-cta{position:static;padding:0;background:none;margin-top:22px}
  .sp-cta .in{max-width:none}
  .sp-cta .sp-btn{min-height:48px}
}
@media (prefers-reduced-motion:reduce){
  .sp-hero::after,.sp-transfer .t-pfeil,.sp-boot .mk-cur{animation:none}
  .sp-karte.eintritt{animation:none}
  .sp-blatt,.sp-dialog .d-hg,.sp-toast,.sp-saldo .s-bar i{transition:none}
}

.kd{display:inline-block;width:7px;height:7px;border-radius:2px;background:var(--ink-dim);vertical-align:0;margin-right:6px}
.kd[data-kat="essen"]{background:#39ff14}
.kd[data-kat="verkehr"]{background:#7cff5a}
.kd[data-kat="zuhause"]{background:#27cd0d}
.kd[data-kat="unterhaltung"]{background:#8dff70}
.kd[data-kat="nebenkosten"]{background:#159b05}
.kd[data-kat="leben"]{background:#2bbf10}
.kd[data-kat="allgemein"]{background:#8fc78a}
.sp-chip.klein{min-height:38px;padding:7px 13px;font-size:13.5px}
.sp-zeile.warte{opacity:.72}
.sp-zeile.warte .z-m::after{content:" · ⟳ wartet";color:var(--warn)}
.sp-gast.off{border-color:var(--warn-line);color:var(--warn)}
.sp-gast.off::before{content:"◌";color:var(--warn)}
.sp-demo.off{color:var(--warn);border-color:var(--warn-line)}
.sg-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.sg-tab{min-height:32px;padding:5px 12px;border:1px solid var(--line);border-radius:999px;font-family:var(--font-mono);font-size:9.5px;letter-spacing:1.6px;text-transform:uppercase;color:var(--ink-dim);transition:color .18s,border-color .18s,background .18s}
.sg-tab:hover{border-color:rgba(57,255,20,.34)}
.sg-tab[aria-selected="true"]{color:var(--green);border-color:rgba(57,255,20,.5);background:rgba(57,255,20,.08)}
.sg-z{display:grid;grid-template-columns:minmax(86px,110px) 1fr auto;gap:10px;align-items:center;padding:7px 0}
.sg-l{font-size:13px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sg-b{height:10px;border-radius:999px;background:rgba(57,255,20,.07);overflow:hidden}
.sg-b i{display:block;height:100%;border-radius:999px;box-shadow:0 0 8px rgba(57,255,20,.3);transition:width .5s cubic-bezier(.2,.8,.2,1)}
.sg-w{font-family:var(--font-mono);font-size:11.5px;color:var(--ink-dim);font-variant-numeric:tabular-nums}
.sg-t{width:100%;border-collapse:collapse}
.sg-t th{font-family:var(--font-mono);font-size:9px;letter-spacing:1.6px;text-transform:uppercase;color:var(--ink-dim);text-align:right;padding:4px 2px;border-bottom:1px solid var(--line);font-weight:500}
.sg-t th:first-child,.sg-t td:first-child{text-align:left}
.sg-t td{padding:8px 2px;border-bottom:1px solid var(--line);text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:12px;color:var(--ink)}
.sg-t tr:last-child td{border-bottom:0}
.sg-t td:first-child{font-family:var(--font-display);font-size:13.5px}
.sg-t .plus{color:var(--green)}
.sg-t .minus{color:var(--warn)}
.sp-wk{margin-top:8px;font-family:var(--font-mono);font-size:10px;letter-spacing:1.5px;color:var(--ink-dim);min-height:34px;display:inline-flex;align-items:center;gap:6px}
.sp-wk:hover{color:var(--green)}
.sp-wk[aria-expanded="true"]{color:var(--green)}
.sp-wbox{border:1px solid var(--line);border-radius:10px;padding:12px;margin-top:8px;display:grid;gap:10px;background:rgba(3,5,3,.4)}
.sp-wbox .wz{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sp-winfo{font-family:var(--font-mono);font-size:11px;color:var(--green);min-height:13px}

.sp-kwahl{display:flex;align-items:center;gap:10px;width:100%;min-height:48px;padding:8px 14px;border-radius:8px;border:1px solid var(--line);background:rgba(3,5,3,.6);color:var(--ink);font-family:var(--font-display);font-size:15px;text-align:left;transition:border-color .2s}
.sp-kwahl:hover,.sp-kwahl[aria-expanded="true"]{border-color:rgba(57,255,20,.45)}
.sp-kwahl .pf{margin-left:auto;color:var(--ink-dim);font-family:var(--font-mono)}
.sp-kpanel{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);border:1px solid var(--line);border-radius:10px;margin-top:8px;background:rgba(3,5,3,.45);max-height:280px;overflow:hidden}
.kp-g{border-right:1px solid var(--line);overflow-y:auto;max-height:280px}
.kp-gb{display:flex;align-items:center;gap:9px;width:100%;text-align:left;padding:9px 10px;min-height:46px;border-bottom:1px solid var(--line);font-size:13.5px;color:var(--ink-dim);transition:background .15s,color .15s}
.kp-gb:last-child{border-bottom:0}
.kp-gb:hover{color:var(--ink)}
.kp-gb[aria-selected="true"]{color:var(--ink);background:rgba(57,255,20,.07)}
.kp-gb .pf{margin-left:auto;color:var(--ink-dim);font-family:var(--font-mono);font-size:12px}
.kp-u{overflow-y:auto;max-height:280px}
.kp-ub{display:block;width:100%;text-align:left;padding:12px;min-height:46px;border-bottom:1px solid var(--line);font-size:13.5px;color:var(--ink);transition:background .15s}
.kp-ub:last-child{border-bottom:0}
.kp-ub:hover{background:rgba(57,255,20,.05)}
.kp-ub[aria-selected="true"]{color:var(--green);background:rgba(57,255,20,.09)}
.kt{width:38px;height:38px;flex:none;border-radius:9px;border:1px solid var(--line);background:rgba(57,255,20,.04);display:grid;place-items:center;color:var(--ink-dim)}
.kt svg{width:19px;height:19px;display:block}
.kt.mini{width:26px;height:26px;border-radius:7px}
.kt.mini svg{width:14px;height:14px}
.kt[data-kat="essen"]{color:#39ff14}
.kt[data-kat="verkehr"]{color:#7cff5a}
.kt[data-kat="zuhause"]{color:#27cd0d}
.kt[data-kat="unterhaltung"]{color:#8dff70}
.kt[data-kat="nebenkosten"]{color:#159b05}
.kt[data-kat="leben"]{color:#2bbf10}
.kt[data-kat="allgemein"]{color:#8fc78a}
.sp-monat{font-family:var(--font-mono);font-size:9.5px;letter-spacing:2.4px;color:var(--ink-dim);padding:16px 4px 8px;border-bottom:1px solid var(--line)}
.sp-monat:first-child{padding-top:4px}
.sp-zeile{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;gap:11px;align-items:center}
.z-dat{display:grid;justify-items:center;gap:0;min-width:30px;font-family:var(--font-mono)}
.z-dat i{font-style:normal;font-size:8.5px;letter-spacing:1.4px;color:var(--ink-dim)}
                                                                                  
.sp-link{display:inline-flex;align-items:center;min-height:44px;padding:0 4px;margin-top:2px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:1px;color:var(--ink-dim);text-decoration:underline;text-underline-offset:3px}
.sp-link:hover{color:var(--green)}
.sp-hinweis a{text-decoration:underline;text-underline-offset:3px}
.sp-ich{display:grid;gap:6px;margin-top:16px;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:rgba(3,5,3,.5)}
.sp-ich .i-l{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-family:var(--font-mono);font-size:10px;letter-spacing:2.4px;text-transform:uppercase;color:var(--ink-dim)}
.sp-ich .i-x{font-family:var(--font-mono);font-size:10px;letter-spacing:1px;text-transform:none;color:var(--ink-dim);text-decoration:underline;text-underline-offset:3px;min-height:28px;padding:0 4px}
.sp-ich .i-x:hover{color:var(--green)}
.sp-ich .i-b{font-size:19px;font-weight:500;color:var(--ink)}
.sp-ich .i-b b{font-family:var(--font-mono);font-weight:500;font-variant-numeric:tabular-nums}
.sp-ich.plus .i-b b{color:var(--green)}.sp-ich.minus .i-b b{color:var(--warn)}
.sp-ich .i-liste{display:grid;gap:4px;margin-top:2px}
.sp-ich .i-z{font-size:13.5px;color:var(--ink-dim)}.sp-ich .i-z b{color:var(--ink);font-weight:500}
.sp-ich .i-s{font-size:12.5px;color:var(--ink-dim)}
.sp-ich.leer .sp-chips{margin-top:6px}
.t-ok{margin-top:6px;min-height:40px;padding:6px 12px;border-radius:999px;border:1px solid var(--line);font-family:var(--font-mono);font-size:9.5px;letter-spacing:1.4px;text-transform:uppercase;color:var(--ink-dim);white-space:nowrap}
.t-ok:hover{color:var(--green);border-color:rgba(57,255,20,.34)}
.sp-zeile.ausgleich .z-n{color:var(--ink-dim)}
.sp-zeile.ausgleich .kt{opacity:.7}
input.sp-in[type="date"]{font-family:var(--font-mono);font-size:14px;color-scheme:dark}
.ko-panel.gefahr{border-color:var(--err-line)}
.ko-panel.gefahr .sp-k-kopf span{color:var(--err)}
.z-dat b{font-size:15px;font-weight:500;color:var(--ink)}
.z-re{display:grid;gap:2px;justify-items:end}
.z-wer{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.8px;color:var(--ink-dim)}
#dt-personen{display:grid;gap:8px}
.dt-reihe{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
.dt-x{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;border:1px solid var(--line);color:var(--ink-dim);font-size:13px;transition:color .18s,border-color .18s}
.dt-x:hover{color:var(--err);border-color:var(--err-line)}

.df-liste{display:grid;gap:0;margin-top:6px}
.df-z{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:10px 2px;border-bottom:1px solid var(--line);min-height:48px}
.df-z:last-child{border-bottom:0}
.df-z .n{font-size:14.5px;color:var(--ink)}
.df-z .m{font-family:var(--font-mono);font-size:10px;color:var(--ink-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}
.df-z:has(.dt-x){grid-template-columns:1fr auto auto}
.df-liste.kompakt .df-z{grid-template-columns:1fr auto;min-height:42px;padding:8px 2px}

.sp-rail{display:none}
body.hat-rail .sp-toast{bottom:calc(24px + env(safe-area-inset-bottom))}
@media (min-width:960px){
  .sp-rail:not([hidden]){display:flex;flex-direction:column;gap:2px;position:fixed;left:0;top:57px;bottom:0;width:224px;z-index:30;padding:18px 12px 20px;border-right:1px solid var(--line);background:rgba(3,5,3,.5);overflow-y:auto}
  body.hat-rail{padding-left:224px}
  .nur-mobil{display:none!important}
}
.r-dash{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:9px 10px;min-height:40px;border-radius:9px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:2px;color:var(--ink-dim);transition:color .18s,background .18s}
.r-dash:hover{color:var(--ink)}
.r-dash.aktiv{color:var(--green);background:rgba(57,255,20,.07)}
.r-kopf{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:16px 4px 4px;padding-bottom:5px;border-bottom:1px solid var(--line);font-family:var(--font-mono);font-size:9px;letter-spacing:2.2px;color:var(--ink-dim)}
.r-kopf button{font-family:var(--font-mono);font-size:9px;letter-spacing:1.2px;color:var(--ink-dim);min-height:26px;padding:0 4px}
.r-kopf button:hover{color:var(--green)}
.r-z{display:flex;align-items:center;gap:9px;width:100%;text-align:left;padding:8px 10px;min-height:38px;border-radius:9px;font-size:13.5px;color:var(--ink);transition:background .18s;overflow:hidden}
.r-z:not(.frd):hover{background:rgba(57,255,20,.05)}
.r-z.aktiv{background:rgba(57,255,20,.09);color:var(--green)}
.r-z .pkt{flex:none;width:6px;height:6px;border-radius:2px;background:var(--green);box-shadow:0 0 6px rgba(57,255,20,.5)}
.r-z .pkt.p2{background:var(--ink-dim);box-shadow:none;border-radius:999px}
.r-z .fn{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.r-z .fm{margin-left:auto;font-family:var(--font-mono);font-size:8.5px;color:var(--ink-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:80px}
.r-leer{font-family:var(--font-mono);font-size:10px;color:var(--ink-dim);padding:8px 10px;letter-spacing:.5px}

.sg-donut{display:block;width:100%;height:232px;cursor:pointer}
.sg-dleg{display:grid;margin-top:2px}
.sg-dl{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;text-align:left;padding:8px 2px;min-height:42px;border-bottom:1px solid var(--line);transition:background .15s}
.sg-dl:last-child{border-bottom:0}
.sg-dl:hover{background:rgba(57,255,20,.04)}
.sg-dl[aria-pressed="true"]{background:rgba(57,255,20,.08)}
.sg-dl .kd{margin-right:0}
.sg-dl .l{font-size:13.5px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sg-dl .w{font-family:var(--font-mono);font-size:11px;color:var(--ink-dim);font-variant-numeric:tabular-nums;white-space:nowrap}

                                                                                           
                                                                                                           
.sp-rev { display: flex; align-items: center; gap: 14px; margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--line, rgba(57,255,20,.14)); }
.sp-rev .sp-hinweis { margin: 0; }
.sp-rev-qr { display: none; flex: none; width: 74px; height: 74px; padding: 5px; background: #fff; }
@media (min-width: 720px) { .sp-rev-qr { display: block; } }
