@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Plus+Jakarta+Sans:wght@600;700&family=JetBrains+Mono:wght@400;500&display=swap";html{--lumo-primary-color:#2563eb;--lumo-primary-color-50pct:#2563eb80;--lumo-primary-color-10pct:#2563eb1a;--lumo-primary-text-color:#1d4ed8;--lumo-base-color:#fff;--lumo-body-text-color:#0b1c30;--lumo-header-text-color:#0f172a;--lumo-secondary-text-color:#64748b;--lumo-tertiary-text-color:#94a3b8;--lumo-success-color:#0d9488;--lumo-success-text-color:#047857;--lumo-success-color-50pct:#0d948880;--lumo-success-color-10pct:#ecfdf5;--lumo-error-color:#ef4444;--lumo-error-text-color:#b91c1c;--lumo-error-color-50pct:#ef444480;--lumo-error-color-10pct:#fef2f2;--lumo-contrast-5pct:#f8fafc;--lumo-contrast-10pct:#e2e8f0;--lumo-contrast-20pct:#cbd5e1;--lumo-font-family:"Inter", "Segoe UI", system-ui, sans-serif;--lumo-font-size-m:.875rem;--lumo-border-radius-s:.375rem;--lumo-border-radius-m:.5rem;--lumo-border-radius-l:.75rem}h1,h2,h3{letter-spacing:-.02em;color:#0f172a;font-family:Plus Jakarta Sans,Inter,sans-serif}vaadin-app-layout::part(drawer){--lumo-body-text-color:#e2e8f0;--lumo-header-text-color:#fff;--lumo-secondary-text-color:#94a3b8;--lumo-tertiary-text-color:#64748b;--lumo-contrast-5pct:#ffffff0f;--lumo-contrast-10pct:#ffffff1f;--lumo-primary-color-10pct:#2563eb59;--lumo-primary-text-color:#bfdbfe;color:#e2e8f0;background:#0f172a;border-inline-end:1px solid #ffffff14}vaadin-app-layout::part(navbar){background:#fff;border-bottom:1px solid #e2e8f0}vaadin-grid{font-variant-numeric:tabular-nums;--lumo-contrast-20pct:#e2e8f0}vaadin-grid::part(header-cell){color:#64748b;text-transform:uppercase;letter-spacing:.05em;background:#f8fafc;font-size:.6875rem;font-weight:600}vaadin-big-decimal-field::part(value),vaadin-integer-field::part(value){font-variant-numeric:tabular-nums}.vbill-app-title{margin:0 var(--lumo-space-m);font-size:1.25rem}.vbill-instanz-hinweis{color:#92400e;font-size:var(--lumo-font-size-s);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;background:#fef3c7;border:1px solid #f59e0b;border-radius:999px;padding:.2rem .75rem;font-weight:600}vaadin-dialog-overlay.vbill-zugang-dialog::part(overlay){width:520px;max-width:95vw}.vbill-zugang-daten{font-family:var(--lumo-font-family-monospace,monospace);padding:var(--lumo-space-s) var(--lumo-space-m);background:var(--lumo-contrast-5pct);border-radius:var(--lumo-border-radius-m);white-space:pre;font-weight:600}.vbill-zugang-zelle{align-items:center}.vbill-zugang-art{font-size:var(--lumo-font-size-xs);padding:1px var(--lumo-space-s);border-radius:var(--lumo-border-radius-s);background:var(--lumo-contrast-10pct);color:var(--lumo-secondary-text-color);font-weight:600}.vbill-zugang-art[data-art=ADMIN]{background:var(--lumo-primary-color-10pct);color:var(--lumo-primary-text-color)}.vbill-zugang-art[data-art=BUERO]{background:var(--lumo-success-color-10pct);color:var(--lumo-success-text-color)}.vbill-zugang-art[data-art=GESPERRT]{background:var(--lumo-error-color-10pct);color:var(--lumo-error-text-color)}.vbill-zugang-2fa{font-size:var(--lumo-font-size-xs);padding:1px var(--lumo-space-s);border-radius:var(--lumo-border-radius-s);color:#047857;background:#ecfdf5;font-weight:600}vaadin-dialog-overlay.vbill-zwei-faktor-dialog::part(overlay){width:480px;max-width:95vw}.vbill-zwei-faktor-dialog vaadin-select,.vbill-zwei-faktor-dialog vaadin-email-field,.vbill-zwei-faktor-dialog vaadin-text-field{width:100%;max-width:360px}.vbill-zwei-faktor-konten{max-width:640px}vaadin-dialog-overlay.vbill-benutzer-dialog::part(overlay){width:680px;max-width:95vw}.vbill-benutzer-dialog vaadin-form-layout{width:100%}.vbill-benutzer-abschnitt{margin:var(--lumo-space-s) 0 0;font-size:var(--lumo-font-size-m)}.vbill-rechte-matrix{grid-template-columns:minmax(14rem,1fr) 6rem 6rem;align-items:center;row-gap:2px;width:100%;max-width:32rem;display:grid}.vbill-rechte-matrix>:nth-child(3n+2),.vbill-rechte-matrix>:nth-child(3n){justify-self:center}.vbill-rechte-kopf{font-size:var(--lumo-font-size-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--lumo-secondary-text-color);padding-bottom:var(--lumo-space-xs);border-bottom:1px solid var(--lumo-contrast-10pct);font-weight:600}.vbill-rechte-bereich{font-size:var(--lumo-font-size-s)}.vbill-rechte-ohne{color:var(--lumo-disabled-text-color)}.vbill-rechte-matrix[data-admin=true]{opacity:.45}.vbill-dialog-links{margin-inline-end:auto}.vbill-zugang-art[data-art=BUCHHALTUNG],.vbill-zugang-art[data-art=STEUERBERATER]{color:#b45309;background:#fffbeb}.vbill-zugang-art[data-art=INDIVIDUELL]{background:var(--lumo-contrast-5pct);color:var(--lumo-body-text-color)}.vbill-geschaeftsjahr{margin-left:auto;margin-right:var(--lumo-space-m);width:13rem}.vbill-benutzer-bereich{padding:var(--lumo-space-m) var(--lumo-space-s);border-top:1px solid #ffffff14;margin-top:auto}.vbill-benutzer-name{font-size:var(--lumo-font-size-s);color:var(--lumo-secondary-text-color)}.vbill-kpi-leiste{gap:var(--lumo-space-m);flex-wrap:wrap;width:100%;display:flex}.vbill-kpi-karte{border-radius:var(--lumo-border-radius-m);padding:var(--lumo-space-s) var(--lumo-space-m);background:#fff;border:1px solid #e2e8f0;flex-direction:column;flex:200px;gap:.125rem;display:flex;box-shadow:0 1px 3px #0f172a0a,0 1px 2px -1px #0f172a0a}.vbill-kpi-karte--kritisch{background:#fef2f2;border-color:#fecaca}.vbill-kpi-karte--kritisch .vbill-kpi-wert{color:#b91c1c}.vbill-kpi-karte--hinweis{background:#fffbeb;border-color:#fde68a}.vbill-kpi-karte--hinweis .vbill-kpi-wert{color:#b45309}vaadin-dialog-overlay.vbill-pdf-dialog::part(overlay),.vbill-pdf-dialog::part(overlay){width:min(1000px,95vw);height:92vh}.vbill-pdf-ansicht{box-sizing:border-box;border:1px solid var(--lumo-contrast-10pct);border-radius:var(--lumo-border-radius-m);width:100%;height:calc(92vh - 170px);display:flex;overflow:hidden}.vbill-versand-ausserhalb{margin-top:var(--lumo-space-m);color:var(--lumo-secondary-text-color);font-weight:600}vaadin-dialog-overlay.vbill-versand-dialog::part(overlay),.vbill-versand-dialog::part(overlay){width:640px;max-width:95vw}.vbill-pnl-grid::part(vbill-summe){background:var(--lumo-contrast-5pct);font-weight:700}.vbill-pnl-grid::part(vbill-negativ){color:var(--lumo-error-text-color)}.vbill-pnl-grid::part(vbill-pnl-detail){font-size:var(--lumo-font-size-s);color:var(--lumo-secondary-text-color);background:#f8fafc}.vbill-kontenplan-aktionen{flex-wrap:wrap;align-items:center}.vbill-kontenplan-grid::part(vbill-konto-erweiterung){color:#1d4ed8;background:#eff6ff}.vbill-kontenplan-grid::part(vbill-konto-angepasst){color:#6d28d9;background:#f5f3ff}.vbill-kontenplan-grid::part(vbill-konto-ausgeblendet){color:var(--lumo-disabled-text-color);font-style:italic}.vbill-personalkosten-matrix{align-items:center;gap:2px var(--lumo-space-xs);flex-shrink:0;grid-template-columns:9rem 4rem repeat(12,minmax(6.5rem,1fr)) 8rem auto;width:100%;display:grid;overflow-x:auto}.vbill-personalkosten-kopf{font-size:var(--lumo-font-size-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--lumo-secondary-text-color);padding-bottom:var(--lumo-space-xs);border-bottom:1px solid var(--lumo-contrast-10pct);font-weight:600}.vbill-personalkosten-ma{font-weight:600}.vbill-personalkosten-feld{--vaadin-input-field-value-font-size:var(--lumo-font-size-s);width:100%}.vbill-personalkosten-feld::part(input-field),.vbill-personalkosten-summe{font-variant-numeric:tabular-nums;text-align:right}.vbill-personalkosten-summe{font-weight:600}.vbill-personalkosten-aufklapper{justify-self:start;min-width:0;padding:0;font-weight:600}.vbill-personalkosten-posten{padding-left:var(--lumo-space-m);white-space:nowrap;text-overflow:ellipsis;font-size:var(--lumo-font-size-s);color:var(--lumo-secondary-text-color);grid-column:span 2;overflow:hidden}.vbill-personalkosten-posten-betrag{font-variant-numeric:tabular-nums;text-align:right;font-size:var(--lumo-font-size-s);color:var(--lumo-secondary-text-color);padding-right:var(--lumo-space-s)}.vbill-personalkosten-gesamt{color:var(--lumo-secondary-text-color);align-self:center;font-weight:600}.vbill-personalkosten-titel{margin:var(--lumo-space-m) 0 0;font-size:var(--lumo-font-size-l)}.vbill-lohnkosten-aktionen{align-items:center}.vbill-lohnkosten-matrix{align-items:center;gap:2px var(--lumo-space-xs);width:100%;font-size:var(--lumo-font-size-s);flex-shrink:0;grid-template-columns:4rem minmax(10rem,16rem) repeat(12,minmax(6.5rem,1fr)) 8rem;display:grid;overflow-x:auto}.vbill-lohnkosten-bezeichnung{white-space:nowrap;text-overflow:ellipsis;color:var(--lumo-secondary-text-color);overflow:hidden}.vbill-lohnkosten-betrag{font-variant-numeric:tabular-nums;text-align:right}.vbill-lohnkosten-protokoll{gap:var(--lumo-space-xs);max-height:12rem;padding:var(--lumo-space-s) var(--lumo-space-m);border-radius:var(--lumo-border-radius-m);background:var(--lumo-contrast-5pct);font-size:var(--lumo-font-size-s);flex-direction:column;flex-shrink:0;display:flex;overflow-y:auto}.vbill-kpi-label{text-transform:uppercase;letter-spacing:.05em;color:#64748b;font-size:.6875rem;font-weight:600}.vbill-kpi-wert{font-variant-numeric:tabular-nums;color:#0f172a;font-family:Plus Jakarta Sans,Inter,sans-serif;font-size:1.5rem;font-weight:700}.vbill-kpi-zusatz{font-size:var(--lumo-font-size-xs);color:var(--lumo-secondary-text-color)}.vbill-einstellungen-tabs{width:100%}.vbill-einstellungen-tabs vaadin-tabs{border-bottom:1px solid #e2e8f0}.vbill-tab-hinweis{font-size:var(--lumo-font-size-s);color:var(--lumo-secondary-text-color);max-width:48rem}.vbill-export-link{font-size:var(--lumo-font-size-s);font-weight:500}.vbill-journal-aktionen{align-items:center;gap:var(--lumo-space-m)}.vbill-abgleich-dialog::part(overlay){width:820px;max-width:95vw}.vbill-abgleich-auswahl{align-items:flex-end;gap:var(--lumo-space-m)}.vbill-abgleich-summe{align-items:center;gap:var(--lumo-space-m);padding:0 var(--lumo-space-m) var(--lumo-space-s);font-weight:600}.vbill-zeiten-summe{font-size:var(--lumo-font-size-s);color:var(--lumo-secondary-text-color);font-variant-numeric:tabular-nums;align-self:center;margin-inline-start:var(--lumo-space-m)}.vbill-abschnitt-titel{margin:var(--lumo-space-m) 0 var(--lumo-space-xs) 0;font-size:.9375rem}.vbill-anlagen-liste{gap:var(--lumo-space-xs);flex-wrap:wrap;display:flex}.vbill-anlage-chip{align-items:center;gap:var(--lumo-space-xs);border-radius:var(--lumo-border-radius-s);font-size:var(--lumo-font-size-s);background:#f7fafb;border:1px solid #cbd5e1;padding:.375rem .75rem;font-family:JetBrains Mono,monospace;display:inline-flex}.vbill-anlagen-hinweis{font-size:var(--lumo-font-size-xs);color:var(--lumo-secondary-text-color);margin-top:var(--lumo-space-xs)}.vbill-pruefer-inhalt{align-items:stretch}.vbill-pruefer-journal{flex:40%;min-width:20rem}.vbill-inspector{border-radius:var(--lumo-border-radius-m);padding:var(--lumo-space-m);background:#fff;border:1px solid #e2e8f0;flex:60%;overflow:auto}.vbill-status-badge{text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;border-radius:9999px;align-self:center;align-items:center;padding:.125rem .625rem;font-size:.6875rem;font-weight:600;display:inline-flex}.vbill-status-badge--valide{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0}.vbill-status-badge--invalide{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.vbill-status-badge--unlesbar{color:#64748b;background:#f8fafc;border:1px solid #cbd5e1}.vbill-status-badge--warnung{color:#b45309;background:#fffbeb;border:1px solid #fde68a}.vbill-status-badge--neutral{color:#64748b;background:#f8fafc;border:1px solid #cbd5e1}.vbill-controlling-filter{flex-wrap:wrap;align-items:end}.vbill-controlling-filter .vbill-export-link{margin-bottom:.625rem;margin-left:var(--lumo-space-m)}.vbill-projekt-zelle{flex-direction:column;gap:.0625rem;padding:.25rem 0;display:flex}.vbill-projekt-nr{font-variant-numeric:tabular-nums;font-weight:600}.vbill-projekt-name{font-size:var(--lumo-font-size-s);color:var(--lumo-secondary-text-color)}.vbill-budget-zelle{font-variant-numeric:tabular-nums;flex-direction:column;gap:.25rem;padding:.25rem 0;display:flex}.vbill-budget-zelle .vbill-budget-balken{width:11rem;height:.375rem;margin:0}.vbill-budget-balken::part(bar){background:#e2e8f0}.vbill-budget-balken::part(value){background:#0d9488}.vbill-budget-balken--warnung::part(value){background:#d97706}.vbill-budget-balken--ueberschritten::part(value){background:#dc2626}.vbill-gantt-container{border-radius:var(--lumo-border-radius-l);padding:var(--lumo-space-s) var(--lumo-space-m);background:#fff;border:1px solid #e2e8f0;overflow-x:auto}gantt-element{font-size:var(--lumo-font-size-m);--timeline-row-font-size:var(--lumo-font-size-s);--timeline-row-height:1.5rem}gantt-element .step{font-size:var(--lumo-font-size-m);box-shadow:none;border-radius:.5rem;font-weight:500}gantt-element .step.vbill-gantt-schritt-ueberbucht{color:#991b1b}gantt-step-element::part(step-label){padding:0 .75rem}.vbill-gantt-balken--festangestellt{background:#2563eb}.vbill-gantt-balken--subunternehmer{background:#0d9488}.vbill-gantt-balken--fremdfirma{background:#0f172a}.vbill-gantt-balken--ueberbucht{background:#fecaca;border:1px solid #fca5a5}.vbill-gantt-legende{gap:var(--lumo-space-m);font-size:var(--lumo-font-size-s);color:var(--lumo-secondary-text-color);flex-wrap:wrap;display:flex}.vbill-gantt-legende-eintrag{align-items:center;gap:.375rem;display:inline-flex}.vbill-gantt-legende-farbe{border-radius:.1875rem;width:.875rem;height:.875rem;display:inline-block}.vbill-bank-betrag--gutschrift{color:#047857;font-variant-numeric:tabular-nums;font-weight:600}.vbill-bank-betrag--belastung{color:#b91c1c;font-variant-numeric:tabular-nums;font-weight:600}.vbill-inspector-daten{grid-template-columns:max-content 1fr;gap:.375rem 1.5rem;width:100%;display:grid}.vbill-inspector-label{text-transform:uppercase;letter-spacing:.05em;color:#64748b;align-self:center;font-size:.6875rem;font-weight:600}.vbill-inspector-wert{font-size:var(--lumo-font-size-s);font-variant-numeric:tabular-nums;color:#0f172a}.vbill-befund{border-radius:var(--lumo-border-radius-s);width:100%;font-size:var(--lumo-font-size-s);color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;padding:.375rem .75rem}.vbill-xml-details{width:100%}.vbill-xml-ansicht{color:#e2e8f0;border-radius:var(--lumo-border-radius-m);padding:var(--lumo-space-m);white-space:pre-wrap;word-break:break-all;background:#0f172a;max-height:24rem;margin:0;font-family:JetBrains Mono,monospace;font-size:.75rem;line-height:1.5;overflow:auto}.vbill-about-dialog .vbill-inspector-daten{min-width:22rem;padding-top:var(--lumo-space-s)}.vbill-login{background:#f1f5f9;justify-content:center;align-items:center}.vbill-login vaadin-login-form{border-radius:var(--lumo-border-radius-l);background:#fff;border:1px solid #e2e8f0;box-shadow:0 10px 15px -3px #0f172a14,0 4px 6px -4px #0f172a08}.vbill-zwei-faktor-karte{box-sizing:border-box;max-width:min(380px,100vw - 32px);padding:var(--lumo-space-l);border-radius:var(--lumo-border-radius-l);background:#fff;border:1px solid #e2e8f0;box-shadow:0 10px 15px -3px #0f172a14,0 4px 6px -4px #0f172a08}.vbill-zwei-faktor-karte h2{font-size:var(--lumo-font-size-xl);margin:0}.vbill-zwei-faktor-karte p{color:var(--lumo-secondary-text-color);font-size:var(--lumo-font-size-s);margin:0}.vbill-zwei-faktor-code{width:100%}.vbill-zwei-faktor-code input{font-size:var(--lumo-font-size-xl);letter-spacing:.4em;text-align:center}.vbill-zwei-faktor-karte vaadin-button[theme~=primary]{width:100%}.vbill-login-hinweis{font-size:var(--lumo-font-size-xs);color:var(--lumo-secondary-text-color)}vaadin-button[theme~=primary]{background:#2563eb;font-weight:500}vaadin-button[theme~=primary]:hover{background:#1d4ed8}vaadin-button[theme~=success][theme~=primary]{background:#0d9488}vaadin-button[theme~=success][theme~=primary]:hover{background:#0f766e}vaadin-dialog-overlay.vbill-ki-extraktion-dialog::part(overlay){width:600px;max-width:95vw}vaadin-dialog-overlay.vbill-verlaengerung-dialog::part(overlay){width:640px;max-width:95vw}.vbill-verlaengerung-bisher{color:var(--vbill-text-sekundaer,#5a6a72);font-size:var(--lumo-font-size-s);margin-bottom:var(--lumo-space-s)}vaadin-dialog-overlay.vbill-schein-dialog::part(overlay){width:860px;max-width:95vw}.vbill-tage--warnung{color:#b45309;font-weight:600}.vbill-tage--ueberschritten{color:#b91c1c;font-weight:600}vaadin-tooltip-overlay::part(overlay),vaadin-tooltip::part(overlay){color:#f1f5f9;border-radius:var(--lumo-border-radius-s);background:#0f172a;max-width:22rem;padding:.375rem .625rem;font-size:.75rem;line-height:1.4;box-shadow:0 4px 12px #0f172a40}.vbill-hilfe{text-underline-offset:3px;cursor:help;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.vbill-export-leiste{align-items:center;gap:var(--lumo-space-m)}.vbill-export-button{font-size:var(--lumo-font-size-s);font-weight:500}.vbill-diagramm-bereich{width:100%;max-width:72rem;padding:var(--lumo-space-s) var(--lumo-space-m);box-sizing:border-box;background:var(--lumo-base-color);border:1px solid var(--lumo-contrast-10pct);border-radius:var(--lumo-border-radius-l)}.vbill-diagramm{--apex-charts-background-color:var(--lumo-base-color);width:100%;height:20rem;display:block}.vbill-kunde-filter{width:20rem}.vbill-zeilen-aktionen{--lumo-button-size:var(--lumo-size-s)}.vbill-aktion--gefahr{color:var(--lumo-error-text-color)}
