:root{--bg:#f3f5f8;--card:#fff;--ink:#14202e;--mut:#56616d;--pri:#0f2a44;--acc:#1767c2;--red:#c42b2b;--amb:#8f5f00;--grn:#12804a}
*{box-sizing:border-box}body{margin:0;font:15px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;background:var(--bg);color:var(--ink)}
.hidden{display:none!important}
header{position:sticky;top:0;z-index:5;display:flex;gap:6px;padding:8px;padding-top:max(8px,env(safe-area-inset-top));background:var(--pri)}
header select,header input{flex:1;min-width:0;padding:9px;border-radius:9px;border:0;font-size:15px}
header select{flex:0 0 32%}header button{width:44px;border:0;border-radius:9px;background:var(--acc);color:#fff;font-size:22px}
nav{display:flex;gap:4px;padding:6px 8px;background:#fff;border-bottom:1px solid #dde3ea;position:sticky;top:54px;z-index:4}
nav button,nav a{flex:1;padding:8px;border:0;border-radius:8px;background:none;color:var(--mut);font-weight:600;text-align:center;text-decoration:none;font-size:14px}
nav .active{background:#e6eef8;color:var(--pri)}
main{padding:8px 8px 80px}
.board{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px}
.col{flex:0 0 85vw;max-width:320px;scroll-snap-align:start;background:#e9edf2;border-radius:12px;padding:6px}
.col h3{margin:4px 6px 8px;font-size:14px;display:flex;justify-content:space-between}
.card{background:var(--card);border-radius:10px;padding:10px;margin-bottom:6px;box-shadow:0 1px 2px #0001}
.deal{cursor:pointer}.deal b{display:block}.meta{color:var(--mut);font-size:13px}
.tag{display:inline-block;font-size:11px;padding:1px 6px;border-radius:6px;background:#eef2f6;color:#3b4a5a;margin:2px 2px 0 0}
.due{font-size:12px;font-weight:600}.due.over{color:var(--red)}.due.today{color:var(--amb)}.due.none{color:var(--red)}
section h2{font-size:15px;margin:14px 4px 6px}
dialog{border:0;border-radius:16px 16px 0 0;width:100%;max-width:640px;margin:auto auto 0;padding:0;max-height:92vh}
dialog::backdrop{background:#0007}#sheetBody{padding:14px;overflow:auto;max-height:92vh}
.row{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}.row>*{flex:1}
.btn{display:inline-block;padding:10px;border-radius:10px;border:0;background:#e6eef8;color:var(--pri);font-weight:600;text-align:center;text-decoration:none;font-size:14px}
.btn.pri{background:var(--acc);color:#fff}.btn.grn{background:var(--grn);color:#fff}.btn.red{background:#fde8e8;color:var(--red)}
label{display:block;font-size:12px;color:var(--mut);margin-top:8px}
input,select,textarea{width:100%;padding:9px;border:1px solid #cfd8e3;border-radius:9px;font:inherit;background:#fff}
textarea{min-height:70px}
pre{white-space:pre-wrap;background:#f6f8fa;padding:8px;border-radius:8px;font-size:12px}
#login{display:flex;min-height:100vh;align-items:center;justify-content:center;padding:20px}
#login form{width:100%;max-width:340px;display:flex;flex-direction:column;gap:10px}
#login button{padding:11px;border:0;border-radius:9px;background:var(--acc);color:#fff;font-weight:700}
.err{color:var(--red);min-height:1em}
.act{display:flex;justify-content:space-between;align-items:center;gap:6px}
@media(min-width:900px){.col{flex:0 0 280px}}
/* v3: Team, Finanzen, Desktop */
nav{overflow-x:auto}nav button{flex:1 0 auto;white-space:nowrap}
@media(max-width:899px){nav{position:fixed;bottom:0;top:auto;left:0;right:0;border-top:1px solid #dde3ea;border-bottom:0;padding-bottom:max(6px,env(safe-area-inset-bottom));z-index:6}
 nav button{font-size:12px;padding:8px 4px;display:flex;flex-direction:column;align-items:center}nav button i{font-style:normal;font-size:18px}main{padding-bottom:90px}}
@media(min-width:900px){nav button i{font-style:normal;margin-right:4px}main{max-width:1400px;margin:0 auto}#sheet{margin:auto;border-radius:16px;max-width:760px}
 .grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}}
.col{min-height:60vh}.col.drop{outline:2px dashed var(--acc)}
.col h3 small{display:block;font-weight:400;color:var(--mut);font-size:11px}
.deal.rot{border-left:4px solid var(--red)}.deal.dragging{opacity:.4}
#ghost{position:fixed;pointer-events:none;z-index:50;width:260px;transform:rotate(2deg);box-shadow:0 8px 24px #0003}
.score{float:right;font-size:11px;font-weight:700;padding:1px 6px;border-radius:6px;background:#eef2f6}
.score.hot{background:#fde8e8;color:var(--red)}.score.warm{background:#fff4d6;color:#8a6200}
.owner{display:inline-block;font-size:11px;font-weight:700;background:var(--pri);color:#fff;border-radius:10px;padding:0 6px;margin-left:4px}
.kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}@media(min-width:700px){.kpis{grid-template-columns:repeat(5,1fr)}}
.kpi{background:#fff;border-radius:10px;padding:10px}.kpi small{color:var(--mut);display:block;font-size:12px}.kpi b{font-size:19px}
.kpi.pos b{color:var(--grn)}.kpi.neg b{color:var(--red)}
table{width:100%;border-collapse:collapse;background:#fff;border-radius:10px;overflow:hidden;font-size:13px}
th,td{padding:7px 6px;border-bottom:1px solid #eef1f4;text-align:right;white-space:nowrap}th:first-child,td:first-child{text-align:left}
th{background:#f6f8fa;font-size:12px;color:var(--mut)}.tbl{overflow-x:auto;border-radius:10px}
.bar{height:8px;background:#e6eef8;border-radius:5px;overflow:hidden}.bar i{display:block;height:100%;background:var(--acc)}
.bar.ok i{background:var(--grn)}
.outcomes{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.outcomes .btn{padding:12px 4px}
.seg{display:flex;gap:4px;margin:6px 0}.seg button{flex:1;padding:8px;border:0;border-radius:8px;background:#e6eef8;font-weight:600;color:var(--pri)}.seg .on{background:var(--pri);color:#fff}
.tl{border-left:2px solid #dde3ea;margin-left:6px;padding-left:10px}.tl div{margin:0 0 8px;font-size:13px}.tl small{color:var(--mut)}
.prov td{font-size:13px}.prov .sum td{font-weight:700;border-top:2px solid #dde3ea}
.badge{font-size:11px;font-weight:700;padding:1px 6px;border-radius:6px;background:#eef2f6}
.badge.erwartet{background:#fff4d6;color:#8a6200}.badge.eingegangen{background:#e3f6ec;color:var(--grn)}.badge.storniert{background:#fde8e8;color:var(--red)}
#toast{position:fixed;left:50%;bottom:90px;transform:translateX(-50%);background:#14202e;color:#fff;padding:10px 14px;border-radius:10px;z-index:60;max-width:90vw;font-size:14px}
.up{color:var(--grn);font-size:11px}.down{color:var(--red);font-size:11px}
.switch{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff;padding:10px;border-radius:10px;margin:6px 0}
.switch input{width:auto;transform:scale(1.4)}
.muted{color:var(--mut)}.small{font-size:12px}.right{text-align:right}
details.card summary{font-weight:700;cursor:pointer}
.mgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:6px;font-size:14px}.mgrid small{display:block;color:var(--mut);font-size:11px}
@media(max-width:899px){.only-d{display:none}}@media(min-width:900px){.only-m{display:none}}

/* v4: Kontrast, Konto, Wissen */
header button.me{background:#ffffff26;font-size:18px}
.deal{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.btn:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #7fb2ff;outline-offset:1px}
.wcats{display:flex;gap:6px;overflow-x:auto;padding:4px 0 8px}.wcats button{flex:0 0 auto;padding:8px 12px;border:0;border-radius:18px;background:#e6eef8;color:var(--pri);font-weight:600;font-size:14px}
.wcats button.on{background:var(--pri);color:#fff}
.wlist .card{cursor:pointer}.wlist .card b{display:block;margin-bottom:2px}
.wgrid{display:grid;gap:8px}@media(min-width:900px){.wgrid{grid-template-columns:repeat(3,1fr)}}
.wdoc h2{margin:4px 0}.wdoc h3{font-size:15px;margin:16px 0 6px;color:var(--pri)}
.wdoc ul{margin:0;padding-left:20px}.wdoc li{margin:3px 0}
.wdoc .def{font-size:16px;background:#eef4fb;border-left:4px solid var(--acc);padding:10px;border-radius:8px}
.wdoc .obj{background:#fff;border-radius:8px;padding:8px;margin:6px 0;border:1px solid #e3e8ee}.wdoc .obj b{display:block}
.wdoc .zahlen{background:#fff8e6;border:1px solid #f0d9a0;border-radius:8px;padding:8px 10px}
.wdoc a.xl{display:inline-block;margin:3px 4px 0 0;padding:4px 10px;border-radius:14px;background:#e6eef8;color:var(--pri);text-decoration:none;font-weight:600;font-size:13px}
.wstand{font-size:12px;color:var(--mut);margin:6px 2px}
.wlink{display:inline-block;margin-top:4px;padding:3px 8px;border-radius:12px;background:#eef4fb;color:var(--pri);font-weight:600;font-size:12px;text-decoration:none}
@media(min-width:900px){.wwrap{display:grid;grid-template-columns:260px 1fr;gap:14px;align-items:start}.wside{position:sticky;top:110px}.wside .wcats{flex-direction:column;overflow:visible}.wside .wcats button{text-align:left;border-radius:8px}}
