:root{--sage:#eff2e8;--sage-2:#e7efe3;--ink:#14150f;--muted:#6f756a;--line:#e3e7dc;--tile:#f6f8f1;--mint:#7deba4;--mint-pale:#dff8e7;--mint-ink:#1b5c36;--lav:#c6ccfb;--lav-pale:#e7eafe;--lav-ink:#31378a;--gold:#e3b23c;--gold-pale:#faf0d6;--gold-ink:#7a5711;--red:#ff6b6b;--red-pale:#ffe2e2;--red-ink:#8e2020}*{box-sizing:border-box;margin:0;padding:0}[hidden]{display:none!important}body{color:var(--ink);background:linear-gradient(170deg,var(--sage) 0,var(--sage) 55%,var(--sage-2) 100%);background-attachment:fixed;min-height:100vh;font:15px/1.55 Outfit,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}h1,h2,h3{font-weight:500;letter-spacing:-.02em}.muted{color:var(--muted)}.small{font-size:12px}.err{color:var(--red-ink);font-size:13px;min-height:16px}.center{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.wrap{max-width:1600px;margin:0 auto;padding:12px 14px}.spacer{flex:1 1}.topbar{gap:10px;padding:8px 14px;border-bottom:1px solid var(--line);background:hsla(0,0%,100%,.72);position:-webkit-sticky;position:sticky;top:0;z-index:5}.brand,.topbar{display:flex;align-items:center}.brand{gap:8px;font-weight:600;letter-spacing:-.02em;font-size:15px}.leaf{width:20px;height:20px}.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin-bottom:10px}.card.login{border-radius:22px;padding:24px 26px}.login{width:360px}.login h1{font-weight:500;letter-spacing:-.03em;margin-bottom:6px}.stack{display:flex;flex-direction:column;gap:11px}.consent{display:flex;gap:9px;align-items:flex-start;font-size:12px;line-height:1.45}.consent,.hint{color:var(--muted)}.hint{font-size:11px;line-height:1.4;margin-top:-4px}.ek-zelle{cursor:text}.ek-zelle:hover{background:#f0f5ea}.ek-eigen{color:var(--ink);font-weight:500}.ek-eigen:after{content:"*";color:var(--muted);margin-left:2px}.ek-leer{color:var(--line)}.ek-zelle:hover .ek-leer{color:var(--muted)}.ek-input{width:72px;padding:1px 5px;font-size:12px;text-align:right;border-radius:6px}.consent input{width:auto;margin-top:2px;flex-shrink:0}input{width:100%;background:var(--tile);border:1px solid var(--line);color:var(--ink);border-radius:12px;padding:11px 14px;font:inherit;font-size:14px;outline:none}input::placeholder{color:var(--muted)}input:focus{border-color:var(--mint);background:#fff}.btn{display:inline-flex;align-items:center;gap:8px;justify-content:center;background:var(--tile);color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:11px 20px;font:inherit;font-size:14px;font-weight:500;cursor:pointer;transition:.15s}.btn:hover{border-color:var(--muted)}.btn.primary{background:var(--ink);border-color:var(--ink);color:#fff}.btn.primary:hover{opacity:.9}.btn.mint{background:var(--mint);border-color:var(--mint);color:var(--mint-ink)}.btn.ghost{background:transparent}.btn:disabled{opacity:.5;cursor:default}.btn.block{width:100%}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.tag{font-size:11.5px;padding:3px 11px;border-radius:999px;background:var(--tile);color:var(--muted);font-weight:500}.tag.ok{color:var(--mint-ink);background:var(--mint-pale)}.tag.no{color:var(--muted);background:var(--tile)}.tablewrap{overflow:auto;max-height:calc(100vh - 210px)}table{border-collapse:collapse;width:100%;font-size:12px}td,th{padding:3px 8px;text-align:right;white-space:nowrap;border-bottom:1px solid #f2f4ee}td:first-child,th:first-child{text-align:left;left:0;max-width:260px;overflow:hidden;text-overflow:ellipsis}td:first-child,th:first-child,thead th{position:-webkit-sticky;position:sticky;background:#fff}thead th{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.04em;font-weight:500;border-bottom:1px solid var(--line);top:0;z-index:2}thead th:first-child{z-index:3}tbody td{color:var(--muted)}tbody td:first-child{color:var(--ink);font-weight:500}tbody tr:hover td{background:#fafcf7}.grp-cl{border-left:2px solid rgba(125,235,164,.5)}.grp-bw{border-left:2px solid rgba(198,204,251,.6)}.grp-abc{border-left:2px solid rgba(227,178,60,.5)}.on{color:var(--mint-ink)}.off{color:var(--muted)}.pos{color:var(--mint-ink)}.neg{color:var(--red-ink)}.connect{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px;margin-top:8px}.connect .box{background:var(--tile);border-radius:16px;padding:16px 18px}.spin{animation:sp 1s linear infinite}@keyframes sp{to{transform:rotate(1turn)}}@media (max-width:720px){.connect{grid-template-columns:1fr}}