:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#f7f8fa;--foreground:#1f2933;--muted:#667085;--border:#d0d5dd;--surface:#fff;--primary:#2563eb;--primary-hover:#1d4ed8;--danger:#b42318}*{box-sizing:border-box}html{scrollbar-color:var(--muted) var(--background);scrollbar-width:auto}body{background:var(--background);color:var(--foreground);margin:0;font-family:Arial,Helvetica,sans-serif;font-size:18px;overflow-y:scroll}html::-webkit-scrollbar{width:16px}.modal-overlay::-webkit-scrollbar{width:16px}html::-webkit-scrollbar-track{background:var(--background)}.modal-overlay::-webkit-scrollbar-track{background:var(--background)}html::-webkit-scrollbar-thumb{background:var(--muted);border:3px solid var(--background);border-radius:8px}.modal-overlay::-webkit-scrollbar-thumb{background:var(--muted);border:3px solid var(--background);border-radius:8px}html::-webkit-scrollbar-thumb:hover{background:var(--foreground)}.modal-overlay::-webkit-scrollbar-thumb:hover{background:var(--foreground)}a{color:inherit}button,input,textarea{font:inherit}button{background:var(--primary);border:1px solid var(--primary);color:#fff;cursor:pointer;border-radius:8px;min-height:52px;padding:0 20px;font-size:18px;font-weight:600}button:disabled{cursor:not-allowed;opacity:.55}button:hover:not(:disabled){background:var(--primary-hover)}.button-link{background:var(--surface);border:1px solid var(--primary);color:var(--primary);border-radius:8px;justify-content:center;align-items:center;min-height:52px;padding:0 20px;font-size:18px;font-weight:600;text-decoration:none;display:inline-flex}.button-link:hover{background:#eef4ff}input,select,textarea{border:1px solid var(--border);border-radius:8px;min-height:48px;padding:8px 12px;font-size:18px}label span,.field>span{font-weight:600}.hinweis{color:var(--muted);font-size:16px}.kachel-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-top:24px;display:grid}.kachel{background:var(--surface);border:1px solid var(--border);color:inherit;text-align:center;border-radius:12px;padding:32px 24px;font-size:20px;font-weight:700;text-decoration:none;display:block}.kachel:hover{border-color:var(--primary)}.gliederung-wahl{flex-wrap:wrap;gap:8px;margin-top:24px;display:flex}.gliederung-wahl button{background:var(--surface);border:1px solid var(--border);color:var(--foreground);font-weight:600}.gliederung-wahl button:hover:not(:disabled){border-color:var(--primary);color:var(--foreground);background:#eef4ff}.gliederung-wahl button.gewaehlt,.gliederung-wahl button.gewaehlt:hover:not(:disabled){background:var(--primary);border-color:var(--primary);color:#fff}.gruppen-titel{border-bottom:2px solid var(--border);margin:32px 0 0;padding-bottom:6px;font-size:22px}.gruppen-anzahl{color:var(--muted);white-space:nowrap;font-size:16px;font-weight:400}.knopf-klein,button.knopf-klein{background:var(--primary);border:1px solid var(--primary);color:#fff;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;min-height:40px;padding:0 14px;font-size:16px;font-weight:600;text-decoration:none;display:inline-flex}.knopf-klein:hover,button.knopf-klein:hover:not(:disabled){background:var(--primary-hover)}button.knopf-sekundaer{background:var(--surface);border:1px solid var(--primary);color:var(--primary)}button.knopf-sekundaer:hover:not(:disabled){background:#eef4ff}button.link-knopf{color:inherit;font-size:inherit;text-align:left;background:0 0;border:none;min-height:0;padding:0;font-weight:400;text-decoration:underline}button.link-knopf:hover:not(:disabled){color:var(--primary);background:0 0}.zeilen-aktionen{justify-content:flex-end;align-items:flex-start;gap:10px;display:flex}.knopf-klein.sekundaer,button.knopf-klein.sekundaer{background:var(--surface);color:var(--primary)}.knopf-klein.sekundaer:hover,button.knopf-klein.sekundaer:hover:not(:disabled){background:#eef4ff}.ohne-umbruch{white-space:nowrap}.page.breit{max-width:1180px}.datum-wochentag{color:var(--muted);align-self:center;min-width:90px;font-size:16px}.mit-notiz,.mit-notiz-inhalt{gap:16px;display:grid}.notiz-spalte .notiz{margin-top:0}.mit-notiz+.mit-notiz{border-top:1px solid #e5e7eb;padding-top:16px}@media (min-width:1280px){.page:has(.rechnung-form){max-width:1244px}.rechnung-form{padding-left:324px}.mit-notiz{grid-template-columns:300px minmax(0,1fr);align-items:start;column-gap:24px;margin-left:-324px}.mit-notiz>.mit-notiz-inhalt{grid-area:1/2}.mit-notiz>.notiz-spalte{grid-area:1/1;position:relative}.notiz-spalte .notiz{z-index:1;position:absolute;top:0;left:0;right:0}.notiz-spalte .notiz textarea{resize:none;max-height:140px}.notiz-spalte .notiz .knopf-sekundaer{width:100%;min-height:40px;font-size:16px}}.pdf-herunterladen{flex-direction:column;gap:4px;display:flex}.pdf-hinweis,.pdf-status,.zelle-unterzeile{color:var(--muted);font-size:14px}.zelle-unterzeile{display:block}.liste .betrag{white-space:nowrap}.notiz{background:var(--surface);border:1px dashed var(--border);border-radius:8px;margin-top:12px;padding:10px 14px}.notiz summary{cursor:pointer;font-weight:600}.notiz-zusatz{color:var(--muted);font-weight:400}.notiz-status-kopf{color:var(--muted);float:right;font-size:14px;font-weight:400}.notiz-zusatz.warnend{color:var(--danger)}.notiz-hinweis,.notiz-status{color:var(--muted);margin:8px 0;font-size:14px}.notiz textarea{border:1px solid var(--border);font:inherit;resize:vertical;border-radius:8px;width:100%;padding:8px 12px;font-size:16px}.notiz-aktionen{flex-wrap:wrap;align-items:center;gap:12px;margin-top:8px;display:flex}.letzte-rechnungen{margin-top:40px}.letzte-rechnungen h2{margin-bottom:0;font-size:22px}.liste{border-collapse:collapse;width:100%;margin-top:16px}.liste th,.liste td{border-bottom:1px solid var(--border);text-align:left;padding:12px 10px}.liste th{color:var(--muted);font-size:16px}.ergebnis-tabelle{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-top:8px;padding:16px 20px}.ergebnis-zeile{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.ergebnis-zeile:last-child{border-bottom:none}.ergebnis-zeile.gesamt{font-size:20px;font-weight:700}.ergebnis-zeile input{text-align:right;max-width:140px}.ergebnis-label{flex-wrap:wrap;flex:1;align-items:center;gap:8px;display:flex}.ergebnis-label .ergebnis-anzahl{color:var(--muted);white-space:nowrap}.ergebnis-label select{max-width:190px}.ergebnis-label input.bezeichnung-input{text-align:left;flex:1;min-width:160px;max-width:none}.info-box{background:#eef4ff;border-radius:8px;margin:10px 0 4px;padding:12px 16px}.letzte-rechnung{border-top:1px solid #0f172a1f;margin:10px 0 0;padding-top:10px;font-size:16px;line-height:1.5}.letzte-rechnung.leer{color:var(--muted)}.modal-overlay{scrollbar-color:var(--muted) var(--background);scrollbar-width:auto;z-index:100;background:#0f172a80;justify-content:center;align-items:flex-start;padding:40px 16px;display:flex;position:fixed;inset:0;overflow-y:scroll}.modal-box{background:var(--surface);border-radius:12px;width:100%;max-width:560px;padding:24px}.modal-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.modal-header h2{margin:0}.modal-close{border:1px solid var(--border);color:var(--muted);background:0 0;min-height:40px;font-size:16px}.modal-close:hover{background:var(--background)}.liste tr{cursor:pointer}.liste tr:hover{background:#f5f7fb}.app-shell{min-height:100vh}.app-header{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:24px;min-height:56px;padding:0 24px;display:flex}.brand-link{font-weight:700;text-decoration:none}.nav-links{gap:12px;display:flex}.nav-link{color:var(--muted);border-radius:6px;padding:8px 10px;text-decoration:none}.nav-link[aria-current=page]{color:var(--foreground);background:#eef4ff}.page{max-width:920px;margin:0 auto;padding:48px 24px}.narrow-page{max-width:440px;margin:0 auto;padding:64px 24px}.form-stack,.panel-stack{gap:16px;display:grid}.field{gap:6px;display:grid}.checkbox-field,.actions-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}button.danger{background:var(--surface);border-color:var(--danger);color:var(--danger)}button.danger:hover:not(:disabled){background:#fdf0ee}.error-text{color:var(--danger)}.session-list{gap:12px;display:grid}.session-item{background:var(--surface);border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px;display:flex}.session-item h2{margin:0 0 6px;font-size:18px}.session-item p{margin:0 0 4px}.session-actions{justify-items:end;gap:8px;display:grid}.betrag-feld{background:var(--surface);border:1px solid var(--border);border-radius:8px;align-items:center;min-height:48px;padding-right:12px;display:inline-flex;overflow:hidden}.betrag-feld:focus-within{border-color:var(--primary)}.betrag-feld input{text-align:right;border:none;flex:1;min-width:0}.betrag-feld input:focus{outline:none}.betrag-einheit{color:var(--muted);padding-left:6px;font-weight:400}.datum-feld{gap:8px;display:flex;position:relative}.datum-feld input{flex:1;min-width:0}.datum-knopf{background:var(--surface);border:1px solid var(--border);color:var(--foreground);min-height:48px;padding:0 12px;font-size:20px}.kalender{background:var(--surface);border:1px solid var(--border);z-index:20;border-radius:10px;width:300px;padding:12px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 8px 24px #0f172a2e}.kalender-kopf{justify-content:space-between;align-items:center;margin-bottom:8px;font-weight:700;display:flex}.kalender-kopf button{background:var(--surface);border:1px solid var(--border);color:var(--foreground);min-height:36px;padding:0 12px;font-size:20px;line-height:1}.kalender-gitter{text-align:center;grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.kalender-wochentag{color:var(--muted);padding:4px 0;font-size:14px}.kalender-tag{background:var(--surface);color:var(--foreground);border:1px solid #0000;border-radius:6px;min-height:36px;padding:0;font-size:16px}.kalender-tag:hover:not(:disabled){background:#eef4ff}.kalender-tag.heute{border-color:var(--border)}.kalender-tag.gewaehlt{background:var(--primary);border-color:var(--primary);color:#fff}.ergebnis-zeile .betrag-feld{max-width:160px}.pdf-vorschau{border:1px solid var(--border);border-radius:8px;width:100%;height:min(78vh,900px)}.modal-box:has(.pdf-vorschau){max-width:900px}.nummer-zeile{justify-content:space-between;align-items:baseline;gap:12px;min-height:40px;display:flex}.nummer-zeile .hinweis,.nummer-zeile .warnung{flex:1}.nummer-anzeige{font-size:20px}.leiser-knopf{color:var(--muted);background:0 0;border:none;min-height:32px;padding:0;font-size:16px;text-decoration:underline}.leiser-knopf:hover:not(:disabled){color:var(--foreground);background:0 0}.warnung{color:var(--muted);margin:0;font-size:16px}.auswahl-feld{border:1px solid var(--border);border-radius:10px;gap:8px;margin:0;padding:12px 20px 16px;display:grid}.auswahl-feld legend{padding:0 6px;font-weight:600}.auswahl-feld .hinweis{margin:4px 0 0}.posten-zeile{border-top:1px solid var(--border);flex-wrap:wrap;align-items:end;gap:10px;padding-top:12px;display:flex}.posten-zeile .field{flex:1;min-width:160px}.posten-zeile .posten-anzahl,.posten-zeile .posten-preis{flex:0 0 130px;min-width:110px}.posten-zeile .posten-weg{flex:none}
