:root{--wf-side-w:216px;--color-primary:#123f3c;--color-primary-dark:#0e3330;--color-highlight:#a8751a;--color-cta:#146b45;--color-cta-press:#0f5233;--surface-page:#f4f6f6;--surface-card:#fff;--surface-sunken:#edf1f1;--surface-dark:#0e3330;--surface-backdrop:#3a4a47;--immer-weiss:#fff;--surface-on-primary:#2c7a5b;--color-bg:var(--surface-page);--color-card:var(--surface-card);--color-card-dark:var(--surface-dark);--border:#dfe4e4;--border-strong:#c7d0cf;--text-on-dark:#fff;--white:#fff;--paper:#f5f4f1;--paper-2:#f1efe6;--surface-line:#eceae0;--ink:#0b0d0c;--online:#4ade80;--brand-accent:#2fa45c;--accent-soft:#9fe0c0;--share-mit-bg:#eef6f0;--chat-out-bg:#d6efe0;--warn-soft-bg:#fef3e2;--warn-strong-text:#9a6207;--lock-grad-top:#1c5a50;--lock-grad-bottom:#0c2a26;--text-on-light:#101a19;--text:var(--text-on-light);--text-primary:var(--text-on-light);--text-muted:#63736f;--status-planned:#78878a;--status-started:#146b45;--status-done:#123f3c;--status-new:#a8751a;--status-txt-geplant:var(--text-muted);--status-txt-begonnen:#0f5233;--status-txt-pausiert:#6f4e12;--status-txt-problem:#8c201c;--status-txt-abgeschlossen:#123f3c;--status-dark-geplant:#ffffffb8;--status-dark-begonnen:#7fd8a6;--status-dark-pausiert:#f2c766;--status-dark-problem:#ff9e96;--status-dark-abgeschlossen:#9fd9cf;--status-date-dark:#ffffffa8;--danger:#b0231f;--danger-bg:#faeceb;--danger-border:#e8c4c2;--danger-text:#8c201c;--warning:#a8751a;--warning-bg:#faf2e2;--warning-border:#e5d3ac;--warning-text:#6f4e12;--success:#146b45;--success-bg:#e9f2ec;--success-border:#c3ddce;--success-text:#0f5233;--absence:#3b7db0;--absence-bg:#e8f0f7;--absence-border:#c7dbea;--absence-text:#235e86;--info:#33484a;--info-bg:#edf2f2;--info-border:#cfdada;--info-text:#2a3b3d;--scale-green:#146b45;--scale-warn:#a8751a;--scale-red:#b0231f;--scale-track:#e4e9e9;--font-family:"Inter", "Segoe UI", system-ui, -apple-system, Roboto, Arial, sans-serif;--fs-heading:26px;--fs-metric:19px;--fs-subtitle:18px;--fs-button:17px;--fs-status:15px;--fs-small:13px;--fs-caption:12px;--fw-bold:700;--fw-semibold:600;--fw-regular:400;--color-superadmin:#3b2a55;--radius:8px;--radius-sm:6px;--radius-pill:999px;--gap:16px;--pad:16px;--shadow-card:none;--shadow-fab:0 4px 12px #0e333038;--shadow-overlay:0 8px 28px #0e33302e;--touch-min:48px;--header-bg:var(--color-primary);--header-text:var(--text-on-dark);--header-muted:#ffffffd9;--header-control-bg:#ffffff1f;--header-border:transparent;--header-surface-desktop:#f2f5f4;--badge-planned-bg:var(--status-planned);--badge-planned-text:var(--text-on-dark);--badge-started-bg:var(--status-started);--badge-started-text:var(--text-on-dark);--badge-done-bg:var(--status-done);--badge-done-text:var(--text-on-dark);--badge-new-bg:var(--status-new);--badge-new-text:var(--text-on-dark);--badge-problem-bg:var(--scale-red);--badge-problem-text:var(--text-on-dark);--badge-border:transparent;--chip-on-bg:var(--color-primary);--chip-on-text:var(--text-on-dark);--surface-accent:var(--surface-dark);--surface-accent-text:var(--text-on-dark);--accent-control-bg:#ffffff1a;--accent-border:transparent;--accent-stripe:transparent;--sheet-w:680px;--sheet-w-wide:1040px;--app-w-form:460px;--app-w-list:760px;--app-w-wide:900px;--app-w-dash:1120px;--app-max:#0b6fa4;--app-max-on-dark:#58b6e8;--app-solo:#a06a00;--app-solo-on-dark:#f7c55c;--app-faktura:#a0497c;--app-faktura-on-dark:#e094c0;--app-lager:#ae4a00;--app-lager-on-dark:#f58a45;--app-self:var(--app-lager);--app-self-on-dark:var(--app-lager-on-dark)}@media (width>=900px){:root{--color-primary:#2b534e;--color-primary-dark:#234a45;--surface-dark:#234a45;--surface-backdrop:#4a5a56;--surface-on-primary:#3e9b72;--surface-page:#e8edec;--surface-card:#f7faf9;--text-on-light:#2a3936;--border:#d4dcda;--header-bg:var(--header-surface-desktop);--header-text:#2a3936;--header-muted:#66746f;--header-control-bg:#0000000f;--header-border:#d4dcda;--surface-accent:#e3ebe7;--surface-accent-text:#2a3936;--accent-control-bg:#0000000d;--accent-border:#c8d5cf;--accent-stripe:#2e7d5b;--badge-planned-bg:#e4e9e9;--badge-planned-text:#47534f;--badge-started-bg:#dbeae2;--badge-started-text:#1b5c3f;--badge-done-bg:#dce6e4;--badge-done-text:#1e4340;--badge-new-bg:#f3ead9;--badge-new-text:#6f4e12;--badge-problem-bg:#f6dedb;--badge-problem-text:#8c201c;--badge-border:#00000014;--chip-on-bg:#dbe6e2;--chip-on-text:#22513f;--color-cta:#3c8062;--color-cta-press:#2f6b51;--scale-green:#7cbba0}body .overlay,body .modal{align-items:center}body .sheet,body .modal__panel{border-radius:var(--radius);max-width:var(--sheet-w);max-height:86vh}body .sheet--wide,body .modal__panel--wide{max-width:var(--sheet-w-wide)}}.wf-side{display:none}@media (width>=900px){.wf-side{width:var(--wf-side-w);z-index:150;background:var(--surface-card);border-right:1px solid var(--border);flex-direction:column;gap:2px;padding:14px 10px;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.wf-side__brand{font-size:var(--fs-metric);font-weight:var(--fw-bold);color:var(--color-primary);padding:8px 12px 16px}.wf-side__item{border-radius:var(--radius);color:var(--text-on-light);font-size:var(--fs-status);font-weight:var(--fw-semibold);align-items:center;gap:10px;padding:10px 12px;text-decoration:none;display:flex}.wf-side__item:hover{background:var(--surface-sunken)}.wf-side__item.is-active{background:var(--chip-on-bg);color:var(--chip-on-text);font-weight:var(--fw-bold)}.wf-side__sep{background:var(--border);height:1px;margin:10px 12px}:root{--touch-min:38px;--pad:18px}body button,body input,body select,body textarea,body .ds-btn{min-height:38px}body .ds-btn--primary{min-height:42px}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{font-family:var(--font-family);color:var(--text-on-light);background:var(--color-bg);margin:0;padding:0;font-size:16px;line-height:1.35}.ds-heading{font-size:var(--fs-heading);font-weight:var(--fw-bold)}.ds-metric{font-size:var(--fs-metric);font-weight:var(--fw-semibold)}.ds-btn-text{font-size:var(--fs-button);font-weight:var(--fw-semibold)}.ds-status{font-size:var(--fs-status);font-weight:var(--fw-semibold)}.ds-small{font-size:var(--fs-small);font-weight:var(--fw-regular)}.ds-card{background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius);padding:var(--pad)}.ds-btn{min-height:var(--touch-min);border-radius:var(--radius-sm);font-family:var(--font-family);font-size:var(--fs-button);font-weight:var(--fw-semibold);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;padding:14px 20px;display:inline-flex}.ds-btn--cta{background:var(--color-cta);color:var(--text-on-dark);width:100%;font-weight:var(--fw-bold)}.ds-btn--cta:active{background:var(--color-cta-press)}.ds-btn--nav{background:var(--surface-card);color:var(--color-primary);border:1px solid var(--border-strong);font-weight:var(--fw-semibold)}.ds-btn--nav:active{background:var(--surface-sunken)}.ds-badge{border-radius:var(--radius);font-size:var(--fs-status);font-weight:var(--fw-semibold);border:1px solid var(--badge-border);align-items:center;padding:4px 12px;display:inline-flex}.ds-badge--planned{background:var(--badge-planned-bg);color:var(--badge-planned-text)}.ds-badge--started{background:var(--badge-started-bg);color:var(--badge-started-text)}.ds-badge--done{background:var(--badge-done-bg);color:var(--badge-done-text)}.ds-badge--new{background:var(--badge-new-bg);color:var(--badge-new-text)}.vx-status{font-size:var(--fs-status);font-weight:var(--fw-bold);white-space:nowrap;align-items:baseline;gap:6px;line-height:1.2;display:inline-flex}.vx-status--geplant{color:var(--status-txt-geplant)}.vx-status--begonnen{color:var(--status-txt-begonnen)}.vx-status--pausiert{color:var(--status-txt-pausiert)}.vx-status--problem{color:var(--status-txt-problem)}.vx-status--abgeschlossen{color:var(--status-txt-abgeschlossen)}.vx-status--entwurf{color:var(--status-txt-geplant)}.vx-status--gesendet{color:var(--status-txt-pausiert)}.vx-status--bestaetigt{color:var(--status-txt-begonnen)}.vx-status--abgelehnt,.vx-status--offen{color:var(--status-txt-geplant)}.vx-status--bezahlt{color:var(--status-txt-abgeschlossen)}.vx-status--ueberfaellig{color:var(--status-txt-problem)}.vx-status--erstellt{color:var(--status-txt-geplant)}.vx-status--unterschrieben{color:var(--status-txt-abgeschlossen)}.vx-status__date{font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--text-muted)}.vx-status--on-dark.vx-status--geplant{color:var(--status-dark-geplant)}.vx-status--on-dark.vx-status--begonnen{color:var(--status-dark-begonnen)}.vx-status--on-dark.vx-status--pausiert{color:var(--status-dark-pausiert)}.vx-status--on-dark.vx-status--problem{color:var(--status-dark-problem)}.vx-status--on-dark.vx-status--abgeschlossen{color:var(--status-dark-abgeschlossen)}.vx-status--on-dark .vx-status__date{color:var(--status-date-dark)}.vx-status--on-dark.vx-status--entwurf{color:var(--status-dark-geplant)}.vx-status--on-dark.vx-status--gesendet{color:var(--status-dark-pausiert)}.vx-status--on-dark.vx-status--bestaetigt{color:var(--status-dark-begonnen)}.vx-status--on-dark.vx-status--abgelehnt,.vx-status--on-dark.vx-status--offen{color:var(--status-dark-geplant)}.vx-status--on-dark.vx-status--bezahlt{color:var(--status-dark-abgeschlossen)}.vx-status--on-dark.vx-status--ueberfaellig{color:var(--status-dark-problem)}.vx-status--on-dark.vx-status--erstellt{color:var(--status-dark-geplant)}.vx-status--on-dark.vx-status--unterschrieben{color:var(--status-dark-abgeschlossen)}.vx-sim{font-size:10px;font-weight:var(--fw-bold);border-radius:var(--radius-pill);vertical-align:middle;background:var(--absence-bg);color:var(--absence-text);border:1px solid var(--absence-border);padding:2px 8px;line-height:1.4;display:inline-block}.vx-sim-box{background:var(--absence-bg);color:var(--absence-text);border:1px solid var(--absence-border);border-radius:var(--radius);font-size:var(--fs-caption);font-weight:var(--fw-semibold);margin-bottom:10px;padding:9px 12px;line-height:1.5}@media print{.vx-sim,.vx-sim-box{color:#000!important;background:0 0!important;border:1px dashed #000!important}}.header{position:relative}.header:after{content:"";left:var(--pad);border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:var(--app-self-on-dark);width:72px;height:3px;position:absolute;bottom:0}.wx-paket{color:var(--app-self);font-weight:var(--fw-semibold)}.wx-paket--on-dark{color:var(--app-self-on-dark)}.vx-app-dot{width:18px;height:18px;font-size:11px;font-weight:var(--fw-bold);color:#fff;letter-spacing:0;vertical-align:middle;border-radius:50%;flex:none;justify-content:center;align-items:center;line-height:1;display:inline-flex}.vx-app-dot--max{background:var(--app-max)}.vx-app-dot--solo{background:var(--app-solo)}.vx-app-dot--faktura{background:var(--app-faktura)}.vx-app-dot--lager{background:var(--app-lager)}@media (width>=900px){.header:after{background:var(--app-self)}}.vx-del{width:44px;height:44px;color:var(--danger-text);font-size:16px;line-height:1;font-weight:var(--fw-semibold);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;margin:-14px;padding:0;display:inline-flex}.vx-del:hover{color:var(--danger)}.vx-del:active{opacity:.6}.vx-del--compact{width:44px;height:44px;margin:-14px;font-size:14px}.vx-del--on-dark{color:var(--status-dark-problem)}.vx-row{text-align:left;background:var(--surface-card);border:none;border-bottom:1px solid var(--border);width:100%;font-family:var(--font-family);color:var(--text);cursor:pointer;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 4px;display:grid}.vx-row:last-child{border-bottom:none}.vx-row--still{opacity:.55}.vx-row__t{font-size:var(--fs-button);font-weight:var(--fw-bold);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.vx-row__s{font-size:var(--fs-status);text-overflow:ellipsis;white-space:nowrap;margin-top:1px;display:block;overflow:hidden}.vx-row__id{font-size:var(--fs-caption);color:var(--text-muted);margin-top:1px;display:block}.vx-row__arr{color:var(--text-muted);flex:none;font-size:18px}.ds-progress{border-radius:var(--radius-pill);background:var(--scale-track);height:10px;overflow:hidden}.ds-progress>span{background:var(--scale-green);border-radius:var(--radius-pill);height:100%;display:block}.ds-progress.is-warn>span{background:var(--scale-warn)}.ds-progress.is-over>span{background:var(--scale-red)}@media (width>=900px){body:has(.wf-side){padding-left:var(--wf-side-w)}}.vx-hilfe{opacity:.55;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:44px;height:44px;margin:-12px;padding:0;font-size:13px;line-height:1;text-decoration:none;display:inline-flex}.vx-hilfe:hover,.vx-hilfe:focus{opacity:1}.vx-hilfe--on-dark{opacity:.8}.vx-anzeige{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-card);color:var(--text);margin-top:18px;padding:10px 12px;text-decoration:none;display:block}.vx-anzeige__label{font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--text-muted);letter-spacing:.3px;margin-bottom:4px;display:block}.vx-anzeige__title{font-size:var(--fs-button);font-weight:var(--fw-bold);display:block}.vx-anzeige__text{font-size:var(--fs-status);color:var(--text-muted);margin-top:2px;display:block}.vx-anzeige--eigen{border-color:var(--success-border);background:var(--success-bg)}.vx-anzeige--eigen .vx-anzeige__title{color:var(--success-text)}.legal-foot{text-align:center;font-size:var(--fs-caption);padding:20px 16px 8px;line-height:1.8}.legal-foot a:hover{text-decoration:underline}.legal-foot a{color:var(--text-muted);opacity:.8;text-decoration:none}.legal-foot .sep{color:var(--text-muted);opacity:.45;margin:0 7px}.vx-thumb{border-radius:var(--radius-sm);background:var(--surface-sunken);border:1px solid var(--border);flex:none;justify-content:center;align-items:center;width:44px;height:44px;font-size:21px;display:flex}.vx-thumb--klein{width:34px;height:34px;font-size:17px}.vx-thumb--foto{border-color:var(--color-cta)}.btn-cancel{background:var(--surface-sunken);color:var(--text-on-light)}@media (width>=900px){body:has(.wf-side) .footbar{left:var(--wf-side-w);right:0;transform:none}:is(body:has(.wf-side) .toast,body:has(.wf-side) .nsheet){left:calc(var(--wf-side-w) + (100vw - var(--wf-side-w)) / 2)}:is(body:has(.wf-side) .modal,body:has(.wf-side) .nsheet-bg){left:var(--wf-side-w)}}.vx-status--pruef-ok{color:var(--status-txt-geplant)}.vx-status--faellig{color:var(--status-txt-pausiert)}.vx-status--abgelaufen{color:var(--status-txt-problem)}.vx-status--on-dark.vx-status--pruef-ok{color:var(--status-dark-geplant)}.vx-status--on-dark.vx-status--faellig{color:var(--status-dark-pausiert)}.vx-status--on-dark.vx-status--abgelaufen{color:var(--status-dark-problem)}.header--ohne-akzent:after{content:none}.app{max-width:620px;margin:0 auto}#root .header{background:var(--color-primary);color:var(--white);padding:calc(16px + env(safe-area-inset-top,0)) 16px 18px}.header .oben{align-items:center;gap:10px;display:flex}.header .oben b,.header .oben h1{flex:1}.header h1,.header .oben b{font-size:var(--fs-button);font-weight:var(--fw-bold);margin:0}.header .oben a,.header .oben button{color:var(--white);cursor:pointer;font-family:var(--font-family);font-size:var(--fs-status);font-weight:var(--fw-semibold);background:0 0;border:none;padding:4px;text-decoration:none}.header .back{color:var(--white);cursor:pointer;background:0 0;border:none;flex:none;padding:2px 6px 2px 0;font-size:26px;line-height:1;text-decoration:none}.header .firma{font-size:24px;font-weight:var(--fw-bold);margin-top:10px}.header .wer{font-size:var(--fs-caption);opacity:.85;margin:2px 0 0}.content{padding:14px 16px 40px}.content img{max-width:100%}.kacheln{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:8px;display:grid}.kachel{border-radius:var(--radius);background:var(--surface-card);border:1px solid var(--border);min-height:92px;color:var(--text);font-family:var(--font-family);text-align:left;cursor:pointer;flex-direction:column;justify-content:center;gap:4px;padding:14px;text-decoration:none;display:flex;position:relative}.kachel .ic{font-size:24px;line-height:1}.kachel b{font-size:var(--fs-button);font-weight:var(--fw-bold)}.kachel span{font-size:var(--fs-caption);color:var(--text-muted)}.kachel.haupt{background:var(--color-cta);border-color:var(--color-cta);color:var(--white)}.kachel.haupt span{color:var(--white);opacity:.85}.kachel .badge{border-radius:var(--radius-pill);background:var(--danger);min-width:22px;height:22px;color:var(--white);font-size:var(--fs-caption);font-weight:var(--fw-bold);justify-content:center;align-items:center;padding:0 6px;display:flex;position:absolute;top:10px;right:10px}.content .sec{align-items:baseline;gap:10px;margin:22px 2px 8px;display:flex}.sec .t{font-size:var(--fs-status);font-weight:var(--fw-bold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px}.sec a{font-size:var(--fs-caption);font-weight:var(--fw-bold);color:var(--color-cta);margin-left:auto;text-decoration:none}.content .karte{background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.karte .zeile{border-top:1px solid var(--border);color:var(--text);align-items:center;gap:10px;padding:11px 12px;text-decoration:none;display:flex}.karte .zeile:first-child{border-top:none}.karte .zeile .nm{flex:1;min-width:0}.karte .zeile .nm b{font-size:var(--fs-status);font-weight:var(--fw-semibold);display:block}.karte .zeile .nm span{font-size:var(--fs-caption);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.karte .zeile .zahl{text-align:right;flex:none}.karte .zeile .zahl b{font-size:var(--fs-button);font-weight:var(--fw-bold);color:var(--warning-text);display:block}.karte .zeile .zahl span{font-size:var(--fs-caption);color:var(--text-muted);display:block}.karte .zeile .mg{font-weight:var(--fw-bold);white-space:nowrap;flex:none}.karte .zeile .mg.plus{color:var(--success-text)}.karte .zeile .mg.minus{color:var(--danger-text)}.karte .leer{font-size:var(--fs-status);color:var(--text-muted);padding:16px 12px}.content .status{font-size:var(--fs-caption);font-weight:var(--fw-bold);border-radius:var(--radius-pill);flex:none;padding:3px 9px}.content .status.offen{background:var(--warning-bg);color:var(--warning-text);border:1px solid var(--warning-border)}.content .status.bereit{background:var(--success-bg);color:var(--success-text);border:1px solid var(--success-border)}.content .status.erledigt{background:var(--surface-sunken);color:var(--text-muted);border:1px solid var(--border)}.content .card{background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:14px;padding:14px}.content .fld{margin-bottom:12px}.fld label{font-size:var(--fs-status);font-weight:var(--fw-bold);margin-bottom:6px;display:block}.fld input,.fld select{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius);width:100%;min-height:48px;font-size:var(--fs-button);font-family:var(--font-family);background:var(--surface-card);padding:0 12px}
