:root{--bg:#15171b;--flaeche:#1e2127;--flaeche-2:#272a31;--flaeche-3:#30343c;--linie:#33373f;--text:#eceef1;--text-2:#9aa0a8;--text-3:#6f757e;--akzent:#d8b56e;--akzent-hell:#eacb8a;--akzent-tinte:#15171b;--akzent-weich:#d8b56e24;--offen:#e39a8a;--offen-weich:#e39a8a29;--prueft:#e4c98a;--prueft-weich:#e4c98a29;--fertig:#8fcfa6;--fertig-weich:#8fcfa629;--eingereicht:#b9c9d8;--eingereicht-weich:#b9c9d829;--radius:16px;--radius-gross:20px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:Sora,system-ui,-apple-system,Segoe UI,sans-serif;font-size:15px;line-height:1.5}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);min-height:100%;margin:0}body{-webkit-font-smoothing:antialiased}h1,h2,h3{letter-spacing:-.01em;margin:0;font-weight:600}h1{letter-spacing:-.02em;font-size:1.75rem}h2{font-size:1.15rem}h3{font-size:.95rem}p{margin:0}a{color:var(--akzent)}a:hover{color:var(--akzent-hell)}:focus-visible{outline:2px solid var(--akzent);outline-offset:2px}.hinweis,.leer{color:var(--text-2)}.leer{padding:32px 0}.warn{color:var(--offen)}.kopf{z-index:10;border-bottom:1px solid var(--linie);background:var(--bg);align-items:center;gap:28px;height:64px;padding:0 40px;display:flex;position:sticky;top:0}.marke{color:var(--text);letter-spacing:-.01em;white-space:nowrap;align-items:center;gap:12px;font-size:1rem;font-weight:600;text-decoration:none;display:flex}.marke-zeichen{background:var(--akzent);width:28px;height:28px;color:var(--akzent-tinte);border-radius:8px;place-items:center;display:grid}.navi{gap:4px;margin-left:12px;display:flex}.navi a{color:var(--text-2);border-radius:999px;padding:8px 14px;font-size:.9rem;font-weight:500;text-decoration:none}.navi a:hover{color:var(--text)}.navi a.aktiv{color:var(--text);background:var(--flaeche-2)}.kopf-rechts{align-items:center;gap:14px;margin-left:auto;display:flex}.mandant-name{color:var(--text-2);font-size:.9rem}.mandant-name select{min-width:0;padding:8px 32px 8px 12px;font-size:.9rem}.icon-knopf{border:1px solid var(--linie);background:var(--flaeche);width:40px;height:40px;color:var(--text);cursor:pointer;border-radius:999px;place-items:center;display:grid}.icon-knopf:hover{background:var(--flaeche-2)}.inhalt{max-width:1200px;margin:0 auto;padding:36px 40px 64px}.meldung{background:var(--fertig-weich);color:var(--fertig);border-radius:12px;margin-bottom:20px;padding:12px 16px;font-weight:500}.meldung.fehler{background:var(--offen-weich);color:var(--offen)}label{color:var(--text-2);flex-direction:column;gap:6px;font-size:.85rem;display:flex}input,select,textarea{font:inherit;border:1px solid var(--linie);background:var(--flaeche-2);color:var(--text);border-radius:10px;min-width:200px;padding:10px 12px}input:disabled{color:var(--text-3)}button{font:inherit;border:1px solid var(--akzent);background:var(--akzent);color:var(--akzent-tinte);cursor:pointer;border-radius:999px;padding:11px 20px;font-weight:600}button:hover{background:var(--akzent-hell);border-color:var(--akzent-hell)}button.sekundaer{border-color:var(--linie);color:var(--text);background:0 0}button.sekundaer:hover{background:var(--flaeche-2);border-color:var(--linie)}button:disabled{opacity:.55;cursor:wait}button.link{color:var(--akzent);background:0 0;border:none;border-radius:4px;padding:0;font-weight:500}button.link:hover{color:var(--akzent-hell);background:0 0}a.knopf{border:1px solid var(--linie);color:var(--text);border-radius:999px;padding:10px 18px;font-weight:600;text-decoration:none;display:inline-block}a.knopf:hover{background:var(--flaeche-2);color:var(--text)}.aktionen{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.aktionen.links{justify-content:flex-start}.zeile{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.status{white-space:nowrap;background:var(--flaeche-2);color:var(--text-2);border-radius:999px;padding:4px 10px;font-size:.78rem;font-weight:500;display:inline-block}.status-offen,.status-dublette,.status-abgelehnt,.status-fehler{background:var(--offen-weich);color:var(--offen)}.status-eingereicht,.status-eingegangen{background:var(--eingereicht-weich);color:var(--eingereicht)}.status-in_pruefung,.status-vorschlag,.status-rueckfrage,.status-warnung{background:var(--prueft-weich);color:var(--prueft)}.status-festgeschrieben,.status-bestaetigt,.status-extrahiert,.status-exportiert{background:var(--fertig-weich);color:var(--fertig)}.start{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:32px;display:grid}.monat-aktuell{background:var(--flaeche);border-radius:var(--radius-gross);flex-direction:column;gap:22px;padding:32px 36px;display:flex}.monat-kopf{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.monat-kopf h2{font-size:1.5rem}.zahl{align-items:baseline;gap:14px;display:flex}.zahl strong{letter-spacing:-.04em;color:var(--akzent);font-variant-numeric:tabular-nums;font-size:5.5rem;font-weight:700;line-height:1}.zahl span{color:var(--text-2);font-size:1.15rem}.frist{flex-direction:column;gap:10px;display:flex}.frist-zeile{color:var(--text-2);justify-content:space-between;font-size:.82rem;display:flex}.frist-zeile strong{color:var(--text);font-weight:500}.frist-balken{background:var(--flaeche-3);border-radius:999px;height:8px;position:relative}.frist-balken div{background:var(--akzent);border-radius:999px;height:8px;position:absolute;top:0;left:0}.frist-balken span{background:var(--bg);border:3px solid var(--akzent);border-radius:999px;width:18px;height:18px;margin-left:-9px;position:absolute;top:-5px}.frist-balken.ueberzogen div,.frist-balken.ueberzogen span{background:var(--offen);border-color:var(--offen)}.dropzone{border:2px dashed var(--flaeche-3);border-radius:var(--radius);text-align:center;background:var(--flaeche-2);flex-direction:column;gap:18px;padding:28px 24px 24px;transition:border-color .18s,background .18s,box-shadow .18s,transform .18s;display:flex;position:relative}.dropzone-innen{flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:92px;display:flex}.dropzone-innen strong{font-size:1.05rem}.dropzone-innen .hinweis{font-size:.88rem}.dropzone-icon{background:var(--flaeche-3);width:52px;height:52px;color:var(--text-2);border-radius:999px;place-items:center;margin-bottom:8px;display:grid}.dropzone-zahl{letter-spacing:-.03em;color:var(--akzent);margin-bottom:6px;font-size:2.6rem;font-weight:700;line-height:1}.dropzone.gefuellt{border-style:solid;border-color:var(--akzent);background:var(--akzent-weich)}.dropzone.aktiv{border-color:var(--akzent);background:linear-gradient(#d8b56e47,#d8b56e24);border-style:solid;transform:scale(1.01);box-shadow:0 0 0 6px #d8b56e2e,0 18px 50px #d8b56e2e}.dropzone.aktiv .dropzone-icon{background:var(--akzent);color:var(--akzent-tinte);animation:1s ease-in-out infinite schweben}.dropzone.aktiv .dropzone-innen strong{color:var(--akzent-hell)}@keyframes schweben{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.fenster.upload-fenster{grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:1fr;width:min(1040px,100%);height:min(720px,100%);font-size:.9rem}.upload-kopf{border-bottom:1px solid var(--linie);justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 24px 14px;display:flex}.upload-kopf h2{font-size:1.1rem}.upload-kopf .hinweis{margin-top:3px;font-size:.85rem}.upload-liste{align-content:start;gap:8px;margin:0;padding:12px 24px;list-style:none;display:grid;overflow:auto}.upload-zeile{--typ:var(--flaeche-3);background:color-mix(in srgb, var(--typ) 16%, var(--flaeche-2));border:1px solid color-mix(in srgb, var(--typ) 35%, var(--linie));border-radius:12px;grid-template-columns:112px minmax(0,1fr) auto 70px;align-items:center;gap:0 16px;min-height:60px;padding:0 12px 0 0;transition:background .4s,border-color .4s;display:grid;position:relative;overflow:hidden}.upload-typ{text-align:center;color:var(--akzent-tinte);background:var(--typ);justify-content:center;align-self:stretch;align-items:center;padding:6px 8px;font-size:.74rem;font-weight:700;line-height:1.15;display:flex}.phase-wartet .upload-typ,.phase-laedt .upload-typ,.phase-liest .upload-typ{background:var(--flaeche-3);color:var(--text-2)}.phase-liest .upload-typ{color:var(--akzent)}.phase-fehler{--typ:#e39a8a}.upload-haupt{flex-direction:column;gap:2px;min-width:0;padding:9px 0;display:flex}.upload-haupt strong{text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;line-height:1.3;overflow:hidden}.upload-zeile2{color:var(--text-2);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.8rem;line-height:1.3;display:-webkit-box;overflow:hidden}.upload-chips{flex-wrap:wrap;gap:4px;margin-top:3px;display:flex}.modell-chip{color:var(--text-2);white-space:nowrap;background:#00000040;border-radius:999px;padding:2px 7px;font-size:.68rem;font-weight:500}.modell-chip.bestanden{background:var(--fertig-weich);color:var(--fertig)}.modell-chip.aktiv{background:var(--akzent-weich);color:var(--akzent);animation:1.2s ease-in-out infinite pulsieren}.upload-chips .konto-chip{margin:0;padding:2px 8px;font-size:.68rem;display:inline-block}@keyframes pulsieren{0%,to{opacity:1}50%{opacity:.45}}.upload-betrag{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;flex-direction:column;align-items:flex-end;gap:1px;min-width:96px;display:flex}.upload-betrag strong{font-size:.98rem}.upload-meta{color:var(--text-2);font-size:.72rem}.upload-rate{text-align:center;font-variant-numeric:tabular-nums;min-width:58px;color:var(--text-2);background:#0003;border-radius:10px;justify-self:end;padding:6px 8px;font-size:.9rem;font-weight:700}.upload-rate.ampel-gruen{color:#a6e3bb;background:#8fcfa638}.upload-rate.ampel-gelb{color:#f0d79a;background:#e4c98a38}.upload-rate.ampel-rot{color:#f2a899;background:#e39a8a3d}.upload-balken{background:#ffffff0f;height:3px;position:absolute;bottom:0;left:112px;right:0}.upload-balken span{background:linear-gradient(90deg, var(--akzent), var(--akzent-hell));height:100%;transition:width .25s linear;display:block}.phase-fertig .upload-balken span{background:var(--fertig)}.phase-fehler .upload-balken span{background:var(--offen)}.phase-doppelt .upload-balken span{background:var(--text-3)}.phase-laedt .upload-balken span,.phase-liest .upload-balken span{background-size:200% 100%;background-image:linear-gradient(90deg, var(--akzent) 0%, var(--akzent-hell) 50%, var(--akzent) 100%);animation:1.6s linear infinite schimmern}@keyframes schimmern{0%{background-position:100% 0}to{background-position:-100% 0}}.upload-fuss{border-top:1px solid var(--linie);justify-content:space-between;align-items:center;gap:16px;padding:14px 24px 18px;display:flex}.upload-fuss .hinweis{font-size:.85rem}.schleier{z-index:50;background:#08090bb3;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.fenster{background:var(--flaeche);border:1px solid var(--linie);border-radius:var(--radius-gross);grid-template-columns:240px minmax(0,1fr);width:min(1120px,100%);height:min(760px,100%);display:grid;overflow:hidden;box-shadow:0 30px 80px #00000080}.fenster-navi{background:var(--bg);border-right:1px solid var(--linie);flex-direction:column;gap:2px;padding:18px 12px;display:flex}.fenster-navi h2{color:var(--text-2);padding:6px 12px 14px;font-size:.8rem}.fenster-navi button{all:unset;box-sizing:border-box;cursor:pointer;color:var(--text);border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-size:.9rem;font-weight:500;display:flex}.fenster-navi button:hover{background:var(--flaeche-2)}.fenster-navi button.aktiv{background:var(--akzent);color:var(--akzent-tinte)}.fenster-navi button:focus-visible{outline:2px solid var(--akzent)}.fenster-navi .fuss{color:var(--text-3);margin-top:auto;padding:8px 12px;font-size:.78rem}.fenster-inhalt{flex-direction:column;gap:20px;padding:26px 30px;display:flex;overflow:auto}.fenster-kopf{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.fenster-kopf h2{font-size:1.2rem}.fenster-kopf .hinweis{margin-top:4px;font-size:.85rem}.block{border:1px solid var(--linie);border-radius:12px;flex-direction:column;gap:12px;padding:14px 16px;display:flex}.block-zeile{justify-content:space-between;align-items:center;gap:16px;display:flex}.block-zeile .hinweis{font-size:.85rem}.stufen{gap:8px;margin:0;padding:0;list-style:none;display:grid}.stufe{border:1px solid var(--linie);border-radius:12px;grid-template-columns:28px minmax(0,1fr) 150px 140px auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.stufe label{gap:2px;font-size:.75rem}.stufe input,.stufe select{min-width:0;padding:8px 10px}.stufe-nr{color:var(--text-2);font-size:.85rem}.monat-stand{border-top:1px solid var(--linie);grid-template-columns:160px minmax(0,1fr) minmax(0,1.4fr) auto;align-items:end;gap:12px;padding:12px 0;display:grid}.monat-stand .monat-name strong{display:block}.monat-stand .hinweis{font-size:.82rem}@media (width<=760px){:root{font-size:15px}.kopf{flex-wrap:wrap;gap:12px;height:auto;min-height:60px;padding:0 16px 10px}.marke span{display:none}.navi{margin-left:0}.navi a{padding:8px 12px;font-size:.85rem}.kopf-rechts{gap:10px}.mandant-name{display:none}.inhalt{padding:20px 16px 48px}.start{grid-template-columns:1fr;gap:28px}.monat-aktuell{padding:24px 20px}.zahl strong{font-size:4.5rem}.frist-zeile{gap:12px}.frist-zeile span:first-child{display:none}input,select{width:100%;min-width:0}.belegzeile{grid-template-columns:1fr auto;grid-template-areas:"haupt betrag""datum status";gap:6px 12px}.beleg-nr{display:none}.beleg-haupt{grid-area:haupt}.beleg-betrag{grid-area:betrag;min-width:0}.beleg-datum{grid-area:datum}.beleg-status{grid-area:status;justify-self:end}.belegdetail{padding-left:16px}.schleier{padding:0}.fenster{border:none;border-radius:0;grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr;width:100%;height:100%}.fenster-navi{border-right:none;border-bottom:1px solid var(--linie);flex-direction:row;gap:6px;padding:10px 12px;overflow-x:auto}.fenster-navi h2,.fenster-navi .fuss{display:none}.fenster-navi button{white-space:nowrap;padding:8px 12px}.fenster-inhalt{padding:18px 16px}.stufe{grid-template-columns:1fr 1fr}.stufe-nr{grid-column:1/-1}.monat-stand{grid-template-columns:1fr;align-items:stretch}.monate-liste li{grid-template-columns:1fr auto}.fenster.upload-fenster{grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:1fr}.upload-liste{padding:10px 12px}.upload-zeile{grid-template-columns:78px minmax(0,1fr) auto;grid-template-areas:"typ haupt rate""typ haupt betrag";gap:2px 10px}.upload-typ{grid-area:typ;font-size:.66rem}.upload-haupt{grid-area:haupt}.upload-rate{grid-area:rate;align-self:start;min-width:50px;margin-top:8px;padding:4px 6px;font-size:.8rem}.upload-betrag{grid-area:betrag;align-self:end;min-width:0;margin-bottom:8px}.upload-balken{left:78px}.upload-fuss{flex-direction:column;align-items:stretch}.upload-fuss .aktionen{justify-content:stretch}.upload-fuss .aktionen button{flex:1}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.kaskade{flex-direction:column;gap:18px;display:flex}.garage{flex-direction:column;gap:6px;display:flex}.garage .hinweis{font-size:.82rem}.garage-reihe{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-top:6px;display:grid}.garage-karte{background:var(--flaeche-2);border:1px solid var(--linie);cursor:grab;text-align:center;border-radius:14px;flex-direction:column;align-items:center;gap:4px;padding:12px 10px 10px;display:flex}.garage-karte:active{cursor:grabbing}.garage-karte strong{font-size:.88rem}.garage-karte .hinweis{font-size:.75rem}.garage-karte .link{margin-top:4px;font-size:.8rem}.roboter{filter:drop-shadow(0 6px 14px #00000059);flex-shrink:0}.roboter .auge{transform-origin:50%;animation:4.5s infinite blinzeln}.roboter.schlaeft .auge{opacity:.55;animation:none}@keyframes blinzeln{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}.strecke{background:radial-gradient(circle at 50% 120%, #d8b56e14, transparent 60%), var(--bg);border:1px solid var(--linie);border-radius:16px;flex-wrap:wrap;align-items:stretch;gap:10px 0;padding:10px 4px 14px;display:flex;overflow-x:auto}.strecke-glied{flex-shrink:0;align-items:center;display:flex}.ablage{border-radius:6px;align-self:stretch;width:14px;transition:width .15s,background .15s}.ablage.aktiv{background:var(--akzent-weich);outline:2px dashed var(--akzent);outline-offset:-4px;width:56px}.ablage.ende{border:1px dashed var(--linie);border-radius:14px;place-items:center;width:auto;min-width:90px;margin-left:6px;padding:10px;display:grid}.ablage.ende .hinweis{font-size:.78rem}.ablage.ende.aktiv{border-color:var(--akzent);background:var(--akzent-weich);outline:none}.roboter-karte{background:var(--flaeche);border:1px solid var(--linie);cursor:grab;border-radius:16px;flex-direction:column;gap:12px;width:220px;padding:14px 14px 16px;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex;position:relative}.roboter-karte:hover{border-color:var(--flaeche-3);transform:translateY(-2px);box-shadow:0 14px 40px #00000059}.roboter-karte.wird-gezogen{opacity:.4}.roboter-karte.letzte{border-color:#d8b56e80}.roboter-karte header{align-items:center;gap:10px;display:flex}.stufe-badge{background:var(--akzent);width:26px;height:26px;color:var(--akzent-tinte);border-radius:999px;flex-shrink:0;place-items:center;font-size:.8rem;font-weight:700;display:grid}.roboter-reihen{gap:4px;margin-left:auto;display:flex}.icon-knopf.klein{background:0 0;width:28px;height:28px}.icon-knopf.klein:disabled{opacity:.3;cursor:default}.roboter-karte label{font-size:.75rem}.roboter-karte select{min-width:0;padding:8px 10px}.regler{flex-direction:column;gap:6px;display:flex}.regler-kopf{color:var(--text-2);justify-content:space-between;align-items:baseline;font-size:.75rem;display:flex}.regler-kopf strong{color:var(--akzent);font-variant-numeric:tabular-nums;font-size:1rem}input[type=range]{appearance:none;background:var(--flaeche-3);cursor:pointer;border:none;border-radius:999px;width:100%;min-width:0;height:6px;padding:0}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--akzent);border:3px solid var(--bg);width:18px;height:18px;box-shadow:0 0 0 1px var(--akzent);border-radius:999px}input[type=range]:disabled{opacity:.35;cursor:default}.segment{background:var(--flaeche-2);border-radius:10px;grid-template-columns:repeat(3,1fr);gap:2px;padding:3px;display:grid}.segment button{color:var(--text-2);background:0 0;border:none;border-radius:8px;padding:7px 4px;font-size:.78rem;font-weight:500}.segment button:hover{background:var(--flaeche-3);color:var(--text)}.segment button.aktiv{background:var(--akzent);color:var(--akzent-tinte)}.letzte-hinweis{color:var(--text-2);font-size:.75rem}.pfeil{color:var(--text-3);padding:0 2px}@media (width<=760px){.strecke,.strecke-glied{flex-direction:column;align-items:stretch}.ablage{width:auto;height:10px}.ablage.aktiv{width:auto;height:40px}.roboter-karte{width:auto}.pfeil{align-self:center;transform:rotate(90deg)}}.buchungsliste{gap:6px;margin:0;padding:0;list-style:none;display:grid}.buchung{--typ:var(--flaeche-3);background:var(--flaeche);border:1px solid var(--linie);border-radius:12px;grid-template-columns:6px 86px minmax(0,1.4fr) minmax(0,1.6fr) 120px 110px auto;align-items:center;gap:14px;padding:10px 14px 10px 0;display:grid}.buchung.unsicher{border-color:#e4c98a80}.buchung.erledigt{opacity:.7}.buchung-typ{background:var(--typ);border-radius:12px 0 0 12px;align-self:stretch;margin:-10px 0}.buchung-datum{color:var(--text-2);font-variant-numeric:tabular-nums;font-size:.85rem}.buchung-beleg{flex-direction:column;min-width:0;display:flex}.buchung-beleg strong,.buchung-beleg .hinweis,.buchung-grund{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.buchung-beleg .hinweis,.buchung-grund{font-size:.8rem}.buchung-konto{flex-direction:column;gap:3px;min-width:0;display:flex}.buchung-konto select{width:100%;min-width:0;padding:8px 10px;font-size:.88rem}.buchung-konto select.unsicher{border-color:var(--prueft)}.buchung-gegen{white-space:nowrap;font-size:.82rem}.buchung-betrag{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.buchung-betrag.haben{color:var(--fertig)}button.klein{padding:8px 14px;font-size:.82rem}.konto-chip{color:var(--akzent);background:var(--akzent-weich);text-align:center;border-radius:999px;margin-top:4px;padding:2px 8px;font-size:.72rem;font-weight:600;display:block}.regeln{gap:8px;margin:0;padding:0;list-style:none;display:grid}.regel{border:1px solid var(--linie);border-radius:12px;padding:10px 12px}@media (width<=760px){.buchung{grid-template-columns:6px minmax(0,1fr) auto;grid-template-areas:"typ beleg betrag""typ konto konto""typ gegen aktion";gap:8px 12px}.buchung-typ{grid-area:typ}.buchung-datum{display:none}.buchung-beleg{grid-area:beleg}.buchung-konto{grid-area:konto}.buchung-gegen{grid-area:gegen}.buchung-betrag{grid-area:betrag}.buchung-aktion{grid-area:aktion;justify-self:end}}
