:root{color-scheme:light}
[hidden]{display:none!important}
img{max-width:100%}
/* Layout: schmale Spalte, Kopf mit Neun-Pin-Raute, feste Tableiste unten. Zahlen in Barlow Condensed wie an einer Kegelanzeige. */
:root{
  --bg:#f1f4f2;
  --surface:#ffffff;
  --ink:#15211c;
  --muted:#56665f;
  --line:#d3dcd7;
  --accent:#0d6a4b;
  --on-accent:#ffffff;
  --chip:#e3ebe7;
  --debt:#ad3524;
  --credit:#1c7547;
  --display:'Arial Narrow','Roboto Condensed','Helvetica Neue',system-ui,sans-serif;
  --body:system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',sans-serif;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#0e1613;--surface:#16211d;--ink:#e6eeea;--muted:#92a39b;--line:#2a3832;
    --accent:#4fc196;--on-accent:#06130e;--chip:#1f2c26;--debt:#ff8a76;--credit:#6bd39b;
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#0e1613;--surface:#16211d;--ink:#e6eeea;--muted:#92a39b;--line:#2a3832;
  --accent:#4fc196;--on-accent:#06130e;--chip:#1f2c26;--debt:#ff8a76;--credit:#6bd39b;
  color-scheme:dark;
}
*{box-sizing:border-box}
body{background:var(--bg);color:var(--ink);font:16px/1.45 var(--body);margin:0}
.page{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-top:max(12px,env(safe-area-inset-top,0px));padding-bottom:96px}
.wrap{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:16px}
h1,h2,h3,p,ul{margin:0}
ul{padding:0;list-style:none}
button,input,select{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

.top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:4px}
.brand h1{font:700 clamp(26px,8vw,34px)/1 var(--display);letter-spacing:.02em;text-transform:uppercase}
.brand p{color:var(--muted);font-size:14px;margin-top:4px}
.pins{width:40px;height:40px;color:var(--accent);flex:none}
.logo{width:56px;height:56px;border-radius:50%;flex:none;display:block;background:#000}
.role{display:inline-block;font:600 12px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;background:var(--accent);color:var(--on-accent);padding:4px 7px;border-radius:4px;margin-left:8px;vertical-align:middle}

.note{background:var(--chip);border-radius:8px;padding:10px 12px;font-size:14px}
.note.err{color:var(--debt)}

.hero{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px}
.eyebrow{font:600 13px/1 var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.big{font:700 52px/1.05 var(--display);font-variant-numeric:tabular-nums;margin-top:6px}
.sub{color:var(--muted);font-size:14px;margin-top:4px}

.card{background:var(--surface);border:1px solid var(--line);border-radius:10px}
.sec-title{font:600 14px/1 var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:4px 2px 0}
.sec-head{display:flex;align-items:center;justify-content:space-between;gap:8px}

.list>li+li{border-top:1px solid var(--line)}
.mhead{all:unset;box-sizing:border-box;width:100%;display:grid;grid-template-columns:1fr auto;column-gap:12px;align-items:center;padding:12px 14px;cursor:pointer;min-height:56px}
.mhead:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.mname{font-weight:600;min-width:0;overflow-wrap:anywhere}
.mval{font:700 24px/1 var(--display);font-variant-numeric:tabular-nums;text-align:right}
.mtag{grid-column:2;font-size:12px;color:var(--muted);text-align:right}
.mmeta{grid-column:1;grid-row:2;font-size:13px;color:var(--muted)}
.debt{color:var(--debt)}.credit{color:var(--credit)}.even{color:var(--muted)}
.mbody{padding:0 14px 14px;display:flex;flex-direction:column;gap:12px}
.ledger{display:flex;flex-direction:column}
.ledger li{display:grid;grid-template-columns:auto 1fr auto;gap:10px;padding:7px 0;border-top:1px solid var(--line);font-size:14px;align-items:baseline}
.ledger li:first-child{border-top:0}
.ledger .d{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.ledger .a{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}
.ledger .t{min-width:0;overflow-wrap:anywhere}
.empty{color:var(--muted);padding:14px;font-size:15px}

.btn{background:var(--accent);color:var(--on-accent);border:0;border-radius:8px;padding:0 16px;min-height:44px;font-weight:600;cursor:pointer}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
.btn.danger{background:transparent;color:var(--debt);border:1px solid var(--debt)}
.btn.sm{min-height:36px;padding:0 12px;font-size:14px}
.btn[disabled]{opacity:.55;cursor:default}
.btn.icon{min-width:44px;padding:0;font-size:20px;line-height:1}
.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}

.field{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1 1 130px}
.field>span,.lbl{font-size:13px;color:var(--muted);font-weight:600}
input[type=text],input[type=date],input[type=password],input:not([type]),select{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:0 10px;min-height:44px;width:100%;min-width:0;font-size:16px}
.form{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}
.form .btn{flex:0 0 auto}

.card-pad{padding:14px;display:flex;flex-direction:column;gap:12px}
.evhead{all:unset;box-sizing:border-box;width:100%;display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:12px 14px;cursor:pointer;align-items:center}
.evhead:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.evdate{font:700 22px/1.1 var(--display);letter-spacing:.01em}
.evmeta{grid-column:1/-1;font-size:14px;color:var(--muted)}
.evn{font-size:14px;color:var(--muted);text-align:right}
.kv{display:flex;flex-direction:column;gap:2px}
.kv b{font-size:13px;color:var(--muted);font-weight:600}
.tablebox{overflow-x:auto}
table{border-collapse:collapse;width:100%;font-size:14px}
th,td{padding:7px 8px;text-align:right;border-top:1px solid var(--line);white-space:nowrap;font-variant-numeric:tabular-nums}
th:first-child,td:first-child{text-align:left;white-space:normal;min-width:90px}
th{font:600 13px/1.1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-top:0}
td.top-v{font-weight:700;color:var(--accent)}
td small{display:block;color:var(--muted);font-size:12px;white-space:normal;text-align:left}

.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{border:1px solid var(--line);background:var(--bg);border-radius:999px;padding:0 14px;min-height:40px;cursor:pointer;font-weight:600}
.chip[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.grow{display:grid;grid-template-columns:1fr auto auto;gap:10px 14px;align-items:center}
.grow .h{font:600 12px/1.2 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:center}
.step{display:flex;align-items:center;gap:4px}
.step b{min-width:26px;text-align:center;font:700 22px/1 var(--display);font-variant-numeric:tabular-nums}
.pen{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;padding:6px 0;border-top:1px solid var(--line);font-size:15px}
.pen:first-child{border-top:0}
.gamerow{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.gamerow>:not(button){flex:1 1 140px;min-width:0}
.gcard{border:1px solid var(--line);border-radius:8px;padding:10px;display:flex;flex-direction:column;gap:10px}
.grow2{display:grid;grid-template-columns:minmax(0,1fr) 96px 84px;gap:8px 10px;align-items:center}
.grow2 .sub{text-align:right}
.edtop{display:flex;align-items:center;justify-content:space-between;gap:8px}
.edtop h2{font:700 28px/1 var(--display);text-transform:uppercase;letter-spacing:.02em}

.tabs{position:fixed;left:0;right:0;bottom:0;z-index:5;background:var(--surface);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}
.tabs button{all:unset;box-sizing:border-box;text-align:center;min-height:56px;display:flex;align-items:center;justify-content:center;font:600 16px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);cursor:pointer;border-top:3px solid transparent}
.tabs button[aria-current=page]{color:var(--accent);border-top-color:var(--accent)}
.tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:-4px}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(72px + env(safe-area-inset-bottom,0px));background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:8px;font-size:14px;z-index:9;max-width:calc(100vw - 32px)}
.stats3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.stat{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px}
.stat b{display:block;font:700 34px/1 var(--display);font-variant-numeric:tabular-nums;margin-top:6px}
@media (prefers-reduced-motion:no-preference){.toast{animation:in .15s ease-out}@keyframes in{from{opacity:0}to{opacity:1}}}
@media (max-width:420px){.big{font-size:44px}}

.logo.big{width:140px;height:140px}
.login{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding-top:24px}
.login h1{font:700 clamp(30px,9vw,40px)/1 var(--display);letter-spacing:.02em;text-transform:uppercase}
.login form{width:100%;max-width:360px;text-align:left;margin-top:8px}
