: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{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{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)}.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}.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}
