:root{--tinte:#1a1d21;--tinte-weich:#3a3f47;--papier:#f7f5f1;--papier-tief:#ece8e1;--linie:#d9d4ca;--signal:#e2580c;--signal-tief:#b8470a;--st-eingegangen:#8a8f98;--st-bestaetigt:#3f6fb0;--st-disponiert:#5a4fb0;--st-durchgefuehrt:#2f8f6b;--st-abrechenbar:var(--signal);--st-fakturiert:#7a6320;--st-bezahlt:#2f7d3a;--radius:3px;--schatten:0 1px 2px rgba(26,29,33,0.08),0 2px 8px rgba(26,29,33,0.04);--font-display:"Söhne","Inter",system-ui,-apple-system,sans-serif;--font-body:system-ui,-apple-system,"Segoe UI",sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background:var(--papier);color:var(--tinte);line-height:1.5;-webkit-font-smoothing:antialiased}.zahl{font-variant-numeric:tabular-nums;font-feature-settings:"tnum","tnum"}.huelle{max-width:1180px;margin:0 auto;padding:0 32px 56px}.app-shell{display:flex;align-items:flex-start;min-height:100vh}.app-haupt{flex:1 1;min-width:0;padding-top:8px}.seitenleiste{width:232px;flex-shrink:0;align-self:stretch;position:-webkit-sticky;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:6px;padding:22px 16px;background:var(--papier);border-right:2px solid var(--tinte)}.seitenleiste-marke{display:block}.seitenleiste-slogan{font-size:11px;color:var(--tinte-weich);margin:2px 0 22px 2px}.seiten-nav{display:flex;flex-direction:column;gap:3px}.seiten-nav a{font-size:14px;font-weight:500;color:var(--tinte-weich);text-decoration:none;padding:9px 12px;border-radius:8px;transition:background .12s,color .12s}.seiten-nav a:hover{background:var(--papier-tief);color:var(--tinte)}.seiten-nav a.aktiv{background:var(--tinte);color:#fff;font-weight:600}.seitenleiste-fuss{margin-top:auto;padding-top:16px;border-top:1px solid var(--linie);font-size:13px}.seiten-tenant{font-weight:600;color:var(--tinte)}.seiten-nutzer{color:var(--tinte-weich);margin-bottom:8px}@media (max-width:860px){.app-shell{flex-direction:column;align-items:stretch}.seitenleiste{width:auto;height:auto;position:-webkit-sticky;position:sticky;top:0;z-index:10;flex-direction:row;align-items:center;gap:12px;flex-wrap:wrap;border-right:none;border-bottom:2px solid var(--tinte);padding:12px 16px}.seitenleiste-slogan{display:none}.seiten-nav{flex-direction:row;flex-wrap:wrap;gap:2px}.seiten-nav a{padding:6px 10px}.seitenleiste-fuss{margin-top:0;margin-left:auto;padding-top:0;border-top:none;display:flex;align-items:center;gap:10px}.seiten-nutzer{margin-bottom:0}.huelle{padding:0 20px 40px}}.kopf{border-bottom:2px solid var(--tinte);background:var(--papier);position:-webkit-sticky;position:sticky;top:0;z-index:10}.kopf-innen{display:flex;align-items:center;gap:20px;padding:14px 24px;max-width:1180px;margin:0 auto}.marke-link{text-decoration:none;color:inherit;flex-shrink:0}.logo{display:inline-flex;align-items:center;gap:9px}.logo-mark{display:block;flex-shrink:0}.logo-wort{font-family:var(--font-display);font-size:20px;letter-spacing:-.02em;line-height:1;color:var(--tinte)}.logo-wort b{font-weight:700}.logo-tms{font-weight:600;margin-left:3px;letter-spacing:.02em}.logo-slogan,.logo-tms{color:var(--tinte-weich)}.logo-slogan{font-size:11px;font-weight:500;align-self:center;padding-left:11px;margin-left:2px;border-left:1px solid var(--linie)}.logo--login{gap:11px}.logo--login .logo-wort{font-size:26px}.marke-strich{color:var(--signal)}.kopf-sub{font-size:13px;color:var(--tinte-weich)}@media (max-width:720px){.logo-slogan{display:none}}.kopf-tenant{margin-left:auto;font-size:13px;color:var(--tinte-weich)}.titelzeile{display:flex;align-items:baseline;gap:12px;margin:32px 0 20px}.titelzeile h1{font-family:var(--font-display);font-size:26px;font-weight:700;letter-spacing:-.02em}.zaehler{font-size:14px;color:var(--tinte-weich)}.tabelle{width:100%;border-collapse:collapse;background:#fff;box-shadow:var(--schatten);border-radius:var(--radius);overflow:hidden}.tabelle thead th{text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--tinte-weich);padding:12px 16px;background:var(--papier-tief)}.tabelle tbody td,.tabelle thead th{border-bottom:1px solid var(--linie)}.tabelle tbody td{padding:14px 16px;font-size:14px}.tabelle tbody tr:last-child td{border-bottom:none}.tabelle tbody tr{cursor:pointer;transition:background .12s}.tabelle tbody tr:hover{background:var(--papier-tief)}.nummer{font-family:var(--font-display);font-weight:600}.route{color:var(--tinte-weich);font-size:13px}.betrag{text-align:right}.betrag,.pille{font-weight:600}.pille{display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:3px 10px;border-radius:20px;color:#fff;white-space:nowrap}.pille:before{content:"";width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.85)}.zurueck{display:inline-block;margin:24px 0 8px;font-size:13px;color:var(--tinte-weich);text-decoration:none}.zurueck:hover{color:var(--signal)}.detail-kopf{display:flex;align-items:baseline;gap:16px;margin-bottom:4px}.detail-kopf h1{font-family:var(--font-display);font-size:28px;letter-spacing:-.02em}.detail-sub{color:var(--tinte-weich);font-size:14px;margin-bottom:28px}.gitter{display:grid;grid-template-columns:1fr 320px;grid-gap:28px;gap:28px;align-items:start}@media (max-width:820px){.gitter{grid-template-columns:1fr}}.karte{background:#fff;border-radius:var(--radius);box-shadow:var(--schatten);padding:22px 24px;margin-bottom:20px}.karte h2{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--tinte-weich);margin-bottom:16px}.feldgitter{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px 24px;gap:16px 24px}.feld-label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--tinte-weich);margin-bottom:2px}.feld-wert{font-size:14px}.feld-leer{color:var(--linie);font-style:italic}.feld-voll{grid-column:1/-1}.leitkarte{display:flex;gap:2px;margin:28px 0}.leit-stufe{flex:1 1;text-align:center;position:relative}.leit-balken{height:6px;background:var(--linie);border-radius:2px;transition:background .2s}.leit-stufe.erledigt .leit-balken{background:var(--st-durchgefuehrt)}.leit-stufe.aktuell .leit-balken{background:var(--signal)}.leit-name{font-size:10px;margin-top:7px;color:var(--tinte-weich);text-transform:uppercase;letter-spacing:.04em}.leit-stufe.aktuell .leit-name{color:var(--signal);font-weight:700}.leit-stufe.erledigt .leit-name{color:var(--tinte)}.aktionen{display:flex;flex-direction:column;gap:10px}.knopf{font:inherit;font-weight:600;font-size:14px;padding:11px 16px;border:none;border-radius:var(--radius);cursor:pointer;text-align:left;display:flex;align-items:center;gap:8px;transition:transform .05s,background .12s}.knopf:active{transform:translateY(1px)}.knopf-primaer{background:var(--signal);color:#fff}.knopf-primaer:hover{background:var(--signal-tief)}.knopf-sekundaer{background:var(--papier-tief);color:var(--tinte);border:1px solid var(--linie)}.knopf-sekundaer:hover{background:var(--linie)}.knopf:disabled{opacity:.5;cursor:not-allowed}.knopf-pfeil{margin-left:auto;opacity:.7}.endstatus{font-size:13px;color:var(--tinte-weich);padding:12px;background:var(--papier-tief);border-radius:var(--radius);text-align:center}.trail{list-style:none;position:relative;padding-left:20px}.trail:before{content:"";position:absolute;left:4px;top:4px;bottom:4px;width:2px;background:var(--linie)}.trail li{position:relative;padding:0 0 16px 16px}.trail li:before{content:"";position:absolute;left:-20px;top:4px;width:10px;height:10px;border-radius:50%;background:var(--signal);border:2px solid #fff}.trail li:last-child{padding-bottom:0}.trail-status{font-size:13px;font-weight:600}.trail-zeit{font-size:12px;color:var(--tinte-weich)}.trail-quelle{font-size:11px;color:var(--tinte-weich)}.leer-zustand{background:#fff;border-radius:var(--radius);box-shadow:var(--schatten);padding:56px 24px;text-align:center}.leer-zustand h2{font-family:var(--font-display);font-size:18px;margin-bottom:6px}.leer-zustand p{color:var(--tinte-weich);font-size:14px}.fehler{background:#fdeee8;border:1px solid var(--signal);color:var(--signal-tief);border-radius:var(--radius);margin-bottom:16px}.erfolg,.fehler{padding:12px 16px;font-size:13px}.erfolg{background:#f0fdf4;border:1px solid #86efac;color:#166534;border-radius:var(--radius)}:focus-visible{outline:2px solid var(--signal);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.login-huelle{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login-karte{background:#fff;box-shadow:var(--schatten);border-radius:var(--radius);padding:36px 32px;width:100%;max-width:380px;border-top:3px solid var(--signal)}.login-marke{font-family:var(--font-display);font-weight:700;font-size:24px;letter-spacing:-.02em}.login-slogan{font-weight:600;font-size:14px;color:var(--signal);margin:6px 0 0}.login-sub{color:var(--tinte-weich);font-size:14px;margin:4px 0 24px}.login-form{display:flex;flex-direction:column;gap:6px}.login-form .feld-label{margin-top:12px}.eingabe:focus{border-color:var(--signal);background:#fff}.kopf-logout,.kopf-nutzer{color:var(--tinte-weich)}.kopf-logout{font:inherit;font-size:13px;margin-left:14px;background:none;border:none;cursor:pointer;text-decoration:underline;padding:0}.kopf-logout:hover{color:var(--signal)}.rechnung-blatt{background:#fff;box-shadow:var(--schatten);border-radius:var(--radius);padding:40px 44px;margin:16px 0 40px;max-width:760px}.rechnung-kopf{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid var(--tinte);padding-bottom:20px;margin-bottom:24px}.rechnung-titel{font-family:var(--font-display);font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:var(--tinte-weich)}.rechnung-nummer{font-family:var(--font-display);font-size:24px;font-weight:700}.rechnung-meta{text-align:right;font-size:13px}.rechnung-meta div{display:flex;gap:12px;justify-content:flex-end;margin-bottom:3px}.rechnung-meta span:first-child{color:var(--tinte-weich)}.rechnung-empfaenger{margin-bottom:28px}.rechnung-adresse{font-size:14px;line-height:1.6;margin-top:4px}.rechnung-ustid{font-size:12px;color:var(--tinte-weich)}.rechnung-positionen{width:100%;border-collapse:collapse;margin-bottom:20px}.rechnung-positionen th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--tinte-weich);padding:8px 10px;border-bottom:1px solid var(--linie)}.rechnung-positionen td{padding:10px;border-bottom:1px solid var(--papier-tief);font-size:14px}.rechnung-summen{margin-left:auto;width:280px;font-size:14px}.rechnung-summen>div{display:flex;justify-content:space-between;padding:6px 0}.rechnung-summen>div span:first-child{color:var(--tinte-weich)}.rechnung-brutto{border-top:2px solid var(--tinte);margin-top:6px;padding-top:10px!important;font-weight:700;font-size:16px}.rechnung-brutto span:first-child{color:var(--tinte)!important}.rechnung-fuss{margin-top:32px;padding-top:20px;border-top:1px solid var(--linie);font-size:13px;color:var(--tinte-weich)}.rechnung-fuss p{margin-bottom:14px}@media print{.kopf,.rechnung-fuss .knopf,.zurueck{display:none}.rechnung-blatt{box-shadow:none}}.kopf-nav{display:flex;gap:4px;margin-left:4px;flex-wrap:wrap}.kopf-nav a{font-size:14px;font-weight:500;color:var(--tinte-weich);text-decoration:none;padding:6px 10px;border-radius:7px;transition:color .12s,background .12s}.kopf-nav a:hover{color:var(--tinte);background:var(--papier-tief)}.hinweis-pruefung{background:#fff8f3;border:1px solid #f3c9a8;border-left:3px solid var(--signal);padding:12px 16px;border-radius:var(--radius);font-size:13px;margin-bottom:20px;color:var(--tinte-weich)}.pruef-gitter{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px 24px;gap:14px 24px;margin-bottom:24px}@media (max-width:720px){.pruef-gitter{grid-template-columns:1fr}}.pruef-feld{display:flex;flex-direction:column;gap:4px}.pruef-feld .feld-label{display:flex;align-items:center;gap:8px}.konf-warnung{background:var(--signal);color:#fff}.konf-leer,.konf-warnung{font-size:10px;text-transform:uppercase;letter-spacing:.04em;padding:1px 6px;border-radius:8px}.konf-leer{background:var(--linie);color:var(--tinte-weich)}.eingabe-unsicher{border-color:var(--signal);background:#fff8f3}.pruef-aktionen{display:flex;gap:12px}.karte-leiste{display:flex;align-items:center;gap:20px;flex-wrap:wrap;background:#fff;box-shadow:var(--schatten);border-radius:var(--radius);padding:14px 18px;margin-bottom:16px}.karte-leiste .feld-label{margin:0 6px 0 0}.karte-legende{display:flex;gap:16px;margin-left:auto;font-size:12px;color:var(--tinte-weich);align-items:center;flex-wrap:wrap}.karte-legende span{display:inline-flex;align-items:center;gap:5px}.leg-punkt{border-radius:50%;border:2px solid var(--tinte)}.leg-pin,.leg-punkt{width:12px;height:12px;display:inline-block}.leg-pin{border-radius:50% 50% 50% 0;transform:rotate(-45deg)}.dispokarte{height:600px;width:100%;border-radius:var(--radius);box-shadow:var(--schatten);overflow:hidden;z-index:1}.karte-hinweis{font-size:12px;color:var(--tinte-weich);margin-top:12px}.karte-layout{display:grid;grid-template-columns:300px 1fr;grid-gap:16px;gap:16px;align-items:start}@media (max-width:820px){.karte-layout{grid-template-columns:1fr}}.karte-panel{background:#fff;box-shadow:var(--schatten);border-radius:var(--radius);padding:14px;max-height:600px;overflow-y:auto}.panel-titel{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--tinte-weich);margin-bottom:8px;font-weight:600}.panel-zeile{display:block;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--papier-tief);padding:10px 6px;cursor:pointer;transition:background .1s}.panel-zeile:hover{background:var(--papier-tief)}.panel-kopf{display:flex;justify-content:space-between;align-items:baseline}.panel-name{font-family:var(--font-display);font-weight:600;font-size:14px}.panel-frei{font-size:12px;color:var(--tinte-weich)}.panel-balken{height:6px;background:var(--papier-tief);border-radius:3px;margin:6px 0 4px;overflow:hidden}.panel-balken span{display:block;height:100%;border-radius:3px;transition:width .3s}.panel-meta{font-size:11px;color:var(--tinte-weich)}.panel-zeile--aktiv{background:#fef3c7;border-left:3px solid #f59e0b}.tour-kachel{cursor:pointer;transition:box-shadow .15s,transform .15s}.tour-kachel:hover{box-shadow:0 4px 16px rgba(0,0,0,.12);transform:translateY(-2px)}.panel-zeile--ladestelle{border-left:3px solid #3f6fb0}.panel-zeile--ladestelle:hover{background:#eff6ff}.panel-zeile--dragging{opacity:.5;background:#dbeafe!important}.panel-zeile--zuweisung{border-left:3px solid transparent}.panel-zeile--zuweisung:hover:not(:disabled){background:#f0fdf4;border-left-color:#2f7d3a}.panel-zeile--zuweisung:disabled{opacity:.6;cursor:not-allowed}.panel-zurueck{background:none;border:none;color:var(--tinte-weich);font-size:13px;cursor:pointer;padding:0 0 12px;display:block}.panel-zurueck:hover{color:var(--tinte)}.karte-layout .dispokarte{height:600px}.admin-layout{display:grid;grid-template-columns:200px 1fr;grid-gap:24px;gap:24px;align-items:start;margin-top:24px}@media (max-width:720px){.admin-layout{grid-template-columns:1fr}}.admin-nav{display:flex;flex-direction:column;gap:2px;background:#fff;box-shadow:var(--schatten);border-radius:var(--radius);padding:12px}.admin-nav-titel{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--tinte-weich);font-weight:600;padding:6px 10px}.admin-nav a{padding:9px 10px;border-radius:var(--radius);text-decoration:none;color:var(--tinte);font-size:14px}.admin-nav a:hover{background:var(--papier-tief)}.admin-nav-bald{color:var(--tinte-weich)!important;cursor:default;pointer-events:none;display:flex;justify-content:space-between;align-items:center}.admin-nav-bald span{font-size:9px;text-transform:uppercase;background:var(--linie);color:var(--tinte-weich);padding:1px 5px;border-radius:6px}.admin-hilfe{font-size:13px;color:var(--tinte-weich);margin-bottom:14px}.adress-liste{list-style:none;margin-bottom:16px}.adress-liste li{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--papier-tief)}.adress-liste code{font-size:14px;background:var(--papier-tief);padding:3px 8px;border-radius:var(--radius)}.adress-loeschen{margin-left:auto;background:none;border:none;color:var(--tinte-weich);font-size:12px;cursor:pointer;text-decoration:underline}.adress-loeschen:hover{color:var(--signal)}.adress-neu{display:flex;gap:10px;align-items:center}.adress-neu .eingabe{flex:1 1}.admin-anleitung{padding-left:20px;font-size:14px;line-height:1.7}.admin-anleitung code{background:var(--papier-tief);padding:1px 5px;border-radius:3px;font-size:13px}.kpi-gitter{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:16px;gap:16px;margin-bottom:20px}.kpi-gitter-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px;margin:20px 0}@media (max-width:820px){.kpi-gitter{grid-template-columns:repeat(2,1fr)}.kpi-gitter-2{grid-template-columns:1fr}}.kpi{background:#fff;box-shadow:var(--schatten);border-radius:var(--radius);padding:18px 20px}.kpi-akzent{border-top:3px solid var(--signal)}.kpi-titel{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--tinte-weich);margin-bottom:10px;display:flex;align-items:center;gap:8px}.kpi-wert{font-family:var(--font-display);font-size:30px;font-weight:700;letter-spacing:-.02em}.kpi-sub{font-size:12px;color:var(--tinte-weich);margin-top:4px}.kpi-schaetzung{font-size:9px;text-transform:uppercase;letter-spacing:.04em;background:var(--linie);color:var(--tinte-weich);padding:1px 6px;border-radius:6px}.umsatz-chart{margin-top:8px}.umsatz-svg{width:100%;height:160px;display:block}.umsatz-achse{display:flex;margin-top:8px}.umsatz-label{flex:1 1;text-align:center;display:flex;flex-direction:column;gap:2px}.umsatz-betrag{font-size:11px;font-weight:600}.umsatz-kw{font-size:10px;color:var(--tinte-weich)}.dashboard-aktionen{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}.form-gitter{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}@media (max-width:640px){.form-gitter{grid-template-columns:1fr}}.form-feld{display:flex;flex-direction:column;gap:4px}.form-voll{grid-column:1/-1}.form-zwei{display:grid;grid-template-columns:1fr 2fr;grid-gap:12px;gap:12px}.form-zwei>div{display:flex;flex-direction:column;gap:4px}.checkbox-zeile{display:flex;align-items:center;gap:8px;text-transform:none;letter-spacing:0;font-size:14px;color:var(--tinte);cursor:pointer}.checkbox-zeile input{width:auto}.form-aktionen{display:flex;gap:12px;margin-top:20px}.eingabe{font:inherit;font-size:15px;padding:10px 12px;border:1px solid var(--linie);border-radius:var(--radius);background:var(--papier);width:100%}select.eingabe{cursor:pointer}