:root{--bg:#242835;--flaeche:#2c3140;--flaeche-2:#353b4c;--linie:#444b5e;--text:#e6e8ec;--text-leise:#a9b0bd;--akzent:#6ea8fe;--akzent-text:#0f1a2b;--gut:#5fbf8f;--warnung:#e5b567;--fehler:#f0727d;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--radius:3px;font:15px/1.5 var(--sans);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg);font-synthesis:none;-webkit-font-smoothing:antialiased}*,:before,:after{box-sizing:border-box}body{margin:0}#root{flex-direction:column;min-height:100svh;display:flex}h1{margin:0 0 16px;font-size:22px;font-weight:600}h2{margin:0 0 8px;font-size:15px;font-weight:600}p{margin:0}.leise{color:var(--text-leise);font-size:13px}button,.knopf{font:inherit;color:var(--text);background:var(--flaeche-2);border:1px solid var(--linie);border-radius:var(--radius);cursor:pointer;padding:6px 12px;text-decoration:none;display:inline-block}button:hover:not(:disabled){border-color:var(--text-leise)}button:disabled{opacity:.5;cursor:default}button.haupt{background:var(--akzent);border-color:var(--akzent);color:var(--akzent-text);font-weight:600}button.gefahr{color:var(--fehler)}button.schlicht{color:var(--text-leise);background:0 0;border-color:#0000}input,select,textarea{font:inherit;color:var(--text);background:var(--flaeche-2);border:1px solid var(--linie);border-radius:var(--radius);width:100%;padding:6px 10px}input[type=checkbox],input[type=radio]{width:auto}:is(input,select,textarea,button,a):focus-visible{outline:2px solid var(--akzent);outline-offset:1px}label{color:var(--text-leise);flex-direction:column;gap:4px;font-size:13px;display:flex}label.haken{flex-direction:row;align-items:center;gap:8px}.formular{flex-direction:column;gap:12px;display:flex}.reihe{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.reihe.zwischen{justify-content:space-between}.karte{background:var(--flaeche);border:1px solid var(--linie);border-radius:var(--radius);padding:16px}.raster{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;display:grid}.kachel{color:inherit;text-decoration:none;display:block}.kachel:hover{border-color:var(--text-leise)}.hinweis{border:1px solid var(--linie);border-left:3px solid var(--warnung);background:var(--flaeche);border-radius:var(--radius);margin-bottom:12px;padding:8px 12px}.hinweis.fehler{border-left-color:var(--fehler)}.tabelle-rahmen{border:1px solid var(--linie);border-radius:var(--radius);background:var(--flaeche);overflow:auto}table{border-collapse:separate;border-spacing:0;width:100%}th,td{text-align:left;white-space:nowrap;border-bottom:1px solid var(--linie);padding:8px 12px}th{color:var(--text-leise);background:var(--flaeche);z-index:1;font-size:13px;font-weight:600;position:sticky;top:0}tbody tr:last-child td{border-bottom:none}tbody tr.klickbar{cursor:pointer}tbody tr.klickbar:hover td{background:var(--flaeche-2)}.zahl{font-variant-numeric:tabular-nums;text-align:center}dialog{color:var(--text);background:var(--flaeche);border:1px solid var(--linie);border-radius:var(--radius);width:min(460px,100vw - 32px);padding:20px}button.wahl{text-align:left;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.warnung-gross{border:2px solid var(--fehler);border-radius:var(--radius);background:#f0727d1f;flex-direction:column;gap:8px;padding:14px 16px;display:flex}.warnung-gross strong{color:var(--fehler);font-size:16px}.warnung-gross ul{margin:0;padding-left:20px}dialog.breit{width:min(720px,100vw - 32px)}dialog.sehr-breit{width:min(1200px,100vw - 32px)}fieldset.gruppe{background:var(--bg);border:1px solid var(--linie);border-radius:var(--radius);flex-direction:column;gap:10px;padding:8px 12px 12px;display:flex}fieldset.gruppe>legend{color:var(--text);margin:0;padding:0 6px;font-weight:600}.unterpunkte{border-left:2px solid var(--akzent);flex-direction:column;gap:10px;margin-left:6px;padding-left:12px;display:flex}.klassenliste-spalten{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:6px;display:grid}.dialog-tabelle{max-height:50vh}th.schmal,td.schmal{width:1%}dialog::backdrop{background:#0000008c}.leer{text-align:center;color:var(--text-leise);padding:32px}.login{flex-wrap:wrap;flex:1;justify-content:center;align-items:center;gap:24px;padding:16px;display:flex}.passwortfeld{position:relative}.passwortfeld input{padding-right:42px}.passwortfeld button{align-items:center;padding:0 8px;display:flex;position:absolute;top:0;bottom:0;right:0}.passwortfeld img{filter:invert();opacity:.8;width:20px;height:20px}.passwortfeld button:hover img{opacity:1}button.schuljahr{color:var(--text-leise);font-variant-numeric:tabular-nums;background:0 0;padding:2px 8px;font-size:13px}select.schuljahr{width:auto;color:var(--text-leise);font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border-color:#0000;padding:2px 4px;font-size:13px}select.schuljahr option{color:var(--text);background:var(--flaeche-2)}select.schuljahr:hover,button.schuljahr:hover{color:var(--text)}header button.schuljahr{margin-right:12px}.login-hilfe{color:#fff;border-radius:var(--radius);background:#ffffff14;border:1px solid #ffffff26;flex-direction:column;gap:10px;width:min(320px,100%);padding:16px;display:flex}.login-hilfe label{color:#fff}.login-hilfe select{color:#fff;background:#ffffff1a;border-color:#fff3}.login-hilfe option{color:#fff;background:var(--flaeche-2)}.login-hilfe-knoepfe{flex-direction:column;gap:6px;display:flex}.login-hilfe button{color:#fff;text-align:left;background:#ffffff1a;border-color:#fff3}.login .karte{width:min(390px,100%);padding:24px}.login details{color:var(--text-leise);font-size:13px}.login summary{cursor:pointer;margin-bottom:8px}.notenraster th,.notenraster td{border-right:1px solid var(--linie)}.notenraster th:last-child,.notenraster td:last-child{border-right:none}.notenraster .nr,.notenraster .schueler{background:var(--flaeche);z-index:2;position:sticky}.notenraster .nr{width:48px;min-width:48px;color:var(--text-leise);padding-inline:4px;left:0}.notenraster .schueler{min-width:190px;left:48px}.notenraster th.nr,.notenraster th.schueler{z-index:3}.namensknopf{text-align:left;background:0 0;border:none;padding:0}.namensknopf:hover{color:var(--akzent)}pre{margin:0;font-size:13px;overflow:auto}.notenraster td.feld{padding:2px;position:relative}.notenraster td.feld input{text-align:center;font-variant-numeric:tabular-nums;background:0 0;border-color:#0000;width:100%;min-width:64px;height:34px;padding:0}.notenraster td.feld input:hover:not(:read-only){border-color:var(--linie)}.notenraster td.feld input:focus{background:var(--flaeche-2)}.notenraster td.feld input.falsch{border-color:var(--fehler);outline-color:var(--fehler)}.notenraster td.feld.nacharbeit input{color:var(--warnung)}.notenraster td.feld .noten-datum{color:var(--text-leise);cursor:pointer;background:0 0;border:0;padding:3px;display:flex;position:absolute;top:50%;left:4px;transform:translateY(-50%)}.notenraster td.feld .noten-datum:hover:not(:disabled){color:var(--akzent)}.notenraster td.feld .noten-datum:disabled{cursor:default}.notenraster td.feld .noten-datum svg{fill:none;stroke:currentColor;stroke-width:1.2px;stroke-linecap:round;width:12px;height:12px}.notenraster td.feld .noten-datum-auswahl{opacity:0;pointer-events:none;border:0;width:1px;min-width:0;height:1px;padding:0;position:absolute;bottom:0;left:4px}.notenraster td.feld.mit-info:after{content:"";background:var(--akzent);pointer-events:none;border-radius:50%;width:5px;height:5px;position:absolute;top:6px;right:8px}.notenraster th.leistung{text-align:center;min-width:72px;padding:6px 4px}.notenraster th.leistung button{color:var(--text);background:0 0;border:none;width:100%;padding:2px 6px;font-weight:600}.notenraster th.leistung button:not(:disabled) .leistung-name:hover{color:var(--akzent)}.notenraster th.leistung .leistung-name{border-radius:4px;padding:0 4px;transition:box-shadow .25s,background-color .25s;box-shadow:0 0 0 2px #0000}.notenraster th.leistung button.hervorgehoben .leistung-name{color:var(--fehler);background-color:color-mix(in srgb, var(--fehler) 18%, transparent);box-shadow:0 0 0 2px var(--fehler), 0 0 10px 1px color-mix(in srgb, var(--fehler) 55%, transparent)}.notenraster th.leistung button.abgabe-knopf{border:1px solid var(--linie);border-radius:var(--radius);width:auto;color:var(--text-leise);align-items:center;gap:3px;margin:2px auto;padding:0 6px;font-size:11px;font-weight:400;display:flex}.notenraster th.leistung button.abgabe-knopf:hover{color:var(--akzent);border-color:var(--akzent)}.notenraster th.leistung button.abgabe-knopf.abgegeben{color:var(--gut);border-color:#0000}.notenraster th.leistung .abgabe-symbol{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:10px;height:10px}.abgabe-angaben{border:1px solid var(--linie);border-radius:var(--radius);padding:8px 12px}.abgabe-angaben summary{cursor:pointer;color:var(--text-leise)}.abgabe-angaben[open] summary{margin-bottom:8px}.formular input.fehlt{border-color:var(--warnung)}.hinweis.vollstaendigkeit{align-items:flex-start;gap:12px;display:flex}.hinweis.vollstaendigkeit details{flex:1}.hinweis.vollstaendigkeit summary{cursor:pointer}.notenraster .fehlt-marke{color:var(--warnung);opacity:.55;cursor:help;margin-left:6px;font-size:11px;font-weight:600}.notenraster .fehlt-marke:hover{opacity:1}.hinweis-knoepfe{flex:none;align-items:center;gap:8px;display:flex}.hinweis-knoepfe .schlicht{font-size:13px}.hinweis-knoepfe .schlicht.bestaetigen{color:var(--warnung);font-weight:600}.hinweis-zu{color:var(--text-leise);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:18px;line-height:1}.hinweis-zu:hover{color:var(--text)}.hinweis.vollstaendigkeit ul{margin:8px 0 0;padding-left:20px}.notenraster .halbjahr-grenze{border-left:3px solid var(--text-leise);position:relative}.notenraster .halbjahr-strich{cursor:help;z-index:1;width:8px;position:absolute;top:0;bottom:0;left:-5px}.notenraster th.leistung.ziehbar{cursor:grab}.notenraster th.leistung.wird-gezogen{opacity:.4}.notenraster th.leistung.ablage-links{box-shadow:inset 3px 0 0 var(--akzent)}.notenraster th.leistung.ablage-rechts{box-shadow:inset -3px 0 0 var(--akzent)}.notenraster th.leistung small{color:var(--text-leise);font-weight:400;display:block}.leistung-schnitt{border:2px solid var(--linie);border-radius:var(--radius);min-width:46px;color:var(--text);font-variant-numeric:tabular-nums;margin-top:4px;padding:0 6px;font-size:14px;display:inline-block}.notenraster .schnitt{background:var(--flaeche-2);font-weight:600}.infoleiste{z-index:5;min-height:62px;margin-top:12px;position:sticky;bottom:31px;box-shadow:0 -6px 16px #00000059}html:has(.infoleiste){scroll-padding-bottom:130px}.infoleiste input{flex:1;min-width:200px}.infoleiste-datum{flex-direction:row;flex:none;align-items:center;gap:6px}.infoleiste .infoleiste-datum input{flex:none;width:auto;min-width:0}.punkt{background:var(--text-leise);border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.punkt.gut{background:var(--gut)}.punkt.warnung{background:var(--warnung)}.punkt.fehler{background:var(--fehler)}.seitenleiste{grid-template-columns:200px minmax(0,1fr);gap:16px;display:grid}.seitenleiste nav{flex-direction:column;gap:2px;display:flex}.seitenleiste nav button{text-align:left;background:0 0;border-color:#0000}.seitenleiste nav button[aria-current=true]{background:var(--flaeche-2);border-color:var(--linie)}.seitenleiste .nav-gruppe{border:1px solid var(--linie);border-radius:var(--radius);flex-direction:column;gap:2px;padding:6px;display:flex}.seitenleiste .nav-gruppe+.nav-gruppe{margin-top:10px}.seitenleiste .nav-gruppe h2{text-transform:uppercase;letter-spacing:.04em;opacity:.65;margin:0 0 4px 8px;font-size:.75rem}.seitenleiste nav button.gefahr{color:#c62828}.hinweis.warnung{color:#c62828;border-color:#c62828}@media (width<=720px){.seitenleiste{grid-template-columns:minmax(0,1fr)}.seitenleiste nav{flex-direction:row;overflow-x:auto}}.notenraster td.schnitt .rundung{min-width:24px;color:var(--text-leise);margin-left:6px;padding:0 6px;font-size:13px;line-height:20px}.markierfeld{background:var(--flaeche-2);border-radius:var(--radius);position:relative}.markierfeld textarea{z-index:1;background:0 0;display:block;position:relative}.markierfeld-spiegel{font:inherit;white-space:pre-wrap;overflow-wrap:break-word;color:#0000;pointer-events:none;border:1px solid #0000;padding:6px 10px;position:absolute;inset:0;overflow:hidden}.markierfeld-spiegel mark{color:#0000;background:#facc1566;border-radius:2px}.markierfeld-leiste{align-items:center;gap:10px;min-height:24px;font-size:13px;display:flex}.markiert-hinweis{color:#facc15;margin-left:6px}.fertig-hinweis{vertical-align:middle;color:var(--gut);margin-left:6px;display:inline-flex}.fertig-hinweis svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.notenraster td.schnitt .teilschnitte{color:var(--text-leise);white-space:nowrap;font-size:11px;font-weight:400}.notenraster td.schnitt .rundung.entschieden{color:var(--akzent);border-color:var(--akzent)}.notenraster td.schnitt .rundung.veraltet{color:var(--warnung);border-color:var(--warnung)}.rundungs-symbol{vertical-align:-3px;background:var(--warnung);width:16px;height:16px;-webkit-mask:var(--symbol) center / contain no-repeat;mask:var(--symbol) center / contain no-repeat;cursor:help;margin-right:4px;display:inline-block}.rundungs-symbol.grenze{background:var(--text)}.schulleitungen{flex-direction:column;gap:10px;display:flex}.haken-raster{color:var(--text);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:4px 12px;display:grid}fieldset{color:var(--text-leise);border:none;margin:0;padding:0;font-size:13px}legend{margin-bottom:4px;padding:0}a.leistung-schnitt{text-decoration:none}a.leistung-schnitt:hover{background:var(--flaeche-2)}.statistik-symbol{width:10px;height:10px;fill:var(--text-leise);margin-right:4px}.zurueck{color:var(--text-leise);margin-bottom:8px;font-size:13px;text-decoration:none;display:inline-block}.zurueck:hover{color:var(--akzent)}.kennzahlen{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;margin-bottom:16px;display:grid}.kennzahlen .karte{flex-direction:column;gap:2px;padding:12px 16px;display:flex}.kennzahlen strong{font-size:24px;font-weight:600}.kennzahlen .schnitt-rahmen{border:2px solid var(--linie);border-radius:var(--radius);font-variant-numeric:tabular-nums;align-self:flex-start;padding:0 10px}.statistik-raster{grid-template-columns:minmax(340px,1fr) minmax(0,1.8fr);gap:16px;margin-bottom:16px;display:grid}.statistik-raster>section{flex-direction:column;display:flex}.statistik-raster.fuellen>section:last-child>.karte{flex-direction:column;flex:1;display:flex}.diagramm.fuellen{flex:1;min-height:220px}.diagramm.fuellen svg{height:100%;position:absolute;inset:0}.statistik-kopf{justify-content:space-between;align-items:center;gap:8px;min-height:37px;margin-bottom:8px;display:flex}.statistik-kopf h2{margin:0}@media (width<=860px){.statistik-raster{grid-template-columns:minmax(0,1fr)}}.zeugnis-raster{grid-template-columns:minmax(300px,1fr) minmax(0,1.4fr);align-items:start;gap:16px;display:grid}.zeugnis-vorschau{border:1px solid var(--linie);border-radius:var(--radius);background:#fff;width:100%;height:calc(100vh - 200px);min-height:500px}.pdf-vorschau{overflow-anchor:none;scrollbar-gutter:stable;overscroll-behavior:contain;background:var(--flaeche-2);padding:12px;overflow:hidden auto}.pdf-seite{background:#fff;margin:0 auto 12px;display:block;box-shadow:0 1px 4px #00000059}.pdf-seite:last-child{margin-bottom:0}@media (width<=860px){.zeugnis-raster{grid-template-columns:minmax(0,1fr)}}.statistik-raster tfoot td{border-bottom:none;font-weight:600}.zahl-links{font-variant-numeric:tabular-nums}.punkte-eingabe{width:90px}.umschalter{border:1px solid var(--linie);border-radius:var(--radius);display:inline-flex;overflow:hidden}.umschalter button{background:var(--flaeche);color:var(--text-leise);border:none;border-radius:0}.umschalter button+button{border-left:1px solid var(--linie)}.umschalter button[aria-pressed=true]{background:var(--flaeche-2);color:var(--text);font-weight:600}.diagramm{position:relative}.diagramm svg{width:100%;height:auto;display:block;overflow:visible}.diagramm .raster{stroke:var(--linie);stroke-width:1px}.diagramm text{font:12px var(--sans)}.diagramm .achse{fill:var(--text-leise);font-variant-numeric:tabular-nums}.diagramm .wert{fill:var(--text);font-weight:600}.diagramm .mitte-zahl{fill:var(--text);font-size:28px;font-weight:600}.diagramm .treffer{fill:#0000}.diagramm g[tabindex]{cursor:default;outline:none}.diagramm g.aktiv path{filter:brightness(1.18)}.diagramm g.aktiv .treffer{fill:#ffffff08}.diagramm .kreisteil{stroke:var(--flaeche);stroke-width:2px}.diagramm-tipp{pointer-events:none;background:var(--bg);border:1px solid var(--linie);border-radius:var(--radius);white-space:nowrap;padding:6px 10px;font-size:13px;position:absolute;transform:translate(-50%,calc(-100% - 12px));box-shadow:0 4px 12px #0000004d}.diagramm-tipp span{color:var(--text-leise);font-size:12px;display:block}.notenraster td.feld.berechnet,.notenraster th.leistung.berechnet{background:var(--bg)}.notenraster td.feld.berechnet input{color:var(--text-leise);cursor:not-allowed}.notenraster td.feld.berechnet input:focus{background:0 0}.hilfe{border:1px solid var(--text-leise);width:18px;height:18px;color:var(--text-leise);cursor:help;border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:600;line-height:1;display:inline-flex}.hilfe:hover,.hilfe:focus-visible{border-color:var(--akzent);color:var(--akzent)}.punkte-raster{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);align-items:start;gap:16px;display:grid}@media (width<=860px){.punkte-raster{grid-template-columns:minmax(0,1fr)}}input.punkte-eingabe.falsch{border-color:var(--fehler)}td.abstand{color:var(--text-leise);font-variant-numeric:tabular-nums;padding-block:4px;font-size:13px;line-height:1.35}td.abstand span{display:block}td.abstand span.knapp-besser,td.abstand span.knapp-schlechter{width:fit-content;color:var(--text);border-radius:4px;margin-block:1px;padding:0 5px}input.neu-markiert{outline:2px solid var(--akzent);outline-offset:2px;box-shadow:0 0 0 5px color-mix(in srgb, var(--akzent) 25%, transparent)}td.abstand span.knapp-besser{background:#2e9d4f2e}td.abstand span.knapp-schlechter{background:#d9822b33}.gefaehrdet{color:var(--fehler);font-weight:600}.notenraster tr.gefaehrdet-zeile>td{box-shadow:inset 0 0 0 100vmax #f0727d1a}.fach-link{color:inherit;text-decoration:none}.fach-link:hover{color:var(--akzent)}.protokoll-erklaerung{max-width:80ch;margin-bottom:16px}.protokoll-filter{margin-bottom:20px}.protokoll-filter label:not(.haken){min-width:150px}.protokoll-tag h2{margin-top:20px}ul.protokoll{margin:0;padding:0 16px;list-style:none}.protokoll-eintrag{border-bottom:1px solid var(--linie);grid-template-columns:48px 92px minmax(0,1fr);align-items:baseline;gap:12px;padding:8px 0;display:grid}.protokoll-eintrag:last-child{border-bottom:none}.protokoll-eintrag time{color:var(--text-leise);font-variant-numeric:tabular-nums}.protokoll-eintrag .aktion{text-align:center;border-radius:var(--radius);color:var(--text-leise);border:1px solid;padding:1px 6px;font-size:12px}.protokoll-eintrag .aktion.create{color:var(--gut)}.protokoll-eintrag .aktion.update{color:var(--akzent)}.protokoll-eintrag .aktion.delete{color:var(--fehler)}.protokoll-eintrag .bereich{color:var(--text-leise);background:var(--flaeche-2);border-radius:var(--radius);margin-right:8px;padding:1px 6px;font-size:12px}.protokoll-inhalt{overflow-wrap:anywhere}.protokoll-werte{flex-wrap:wrap;gap:2px 16px;margin:4px 0 0;padding:0;font-size:13px;list-style:none;display:flex}.protokoll-werte s{color:var(--text-leise)}.protokoll-gruppe,.protokoll-technik{margin-top:4px;font-size:13px}.protokoll-gruppe summary,.protokoll-technik summary,details.einzeln summary{cursor:pointer;color:var(--text-leise)}.protokoll-gruppe ul{margin:6px 0 0;padding-left:18px}.protokoll-gruppe li+li{margin-top:6px}.protokoll-technik dl{grid-template-columns:max-content minmax(0,1fr);gap:2px 12px;margin:6px 0;display:grid}.protokoll-technik dt{color:var(--text-leise)}.protokoll-technik dd{margin:0}@media (width<=720px){.protokoll-eintrag{grid-template-columns:48px minmax(0,1fr)}.protokoll-eintrag .aktion{justify-self:start}.protokoll-inhalt{grid-column:1/-1}}.vorschau-rahmen{border:5px solid var(--warnung);border-bottom:none;border-radius:2px;padding:0 16px;scroll-margin-top:80px}.vorschau-kopf{background:var(--warnung);color:#1d1606;flex-wrap:wrap;align-items:baseline;gap:4px 16px;margin:0 -16px 16px;padding:12px 16px;display:flex}.vorschau-kopf strong{font-size:1.3rem;font-weight:800}.vorschau-leiste{z-index:5;background:var(--flaeche);border-top:5px solid var(--warnung);border-bottom:5px solid var(--warnung);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin:16px -16px 0;padding:12px 16px;display:flex;position:sticky;bottom:31px}button.gross{padding:10px 28px;font-size:1.1rem;font-weight:800}button.uebernehmen{background:var(--gut);border-color:var(--gut);color:#0b2117}.vorschau-wahl{align-items:center;gap:12px 24px}.schieber{align-items:center;gap:10px;display:inline-flex}.schieber-text{color:var(--text-leise);background:0 0;border:none;padding:0;font-weight:600}.schieber-text.aktiv{color:var(--text);font-weight:800}.schieber-knopf{border:2px solid var(--linie);background:var(--flaeche-2);border-radius:15px;width:56px;height:30px;padding:0;position:relative}.schieber-knopf:after{content:"";background:var(--text-leise);border-radius:50%;width:20px;height:20px;transition:transform .15s;position:absolute;top:3px;left:3px}.schieber-knopf[aria-checked=true]{border-color:var(--warnung);background:var(--warnung)}.schieber-knopf[aria-checked=true]:after{background:#1d1606;transform:translate(26px)}button.uebernehmen:hover{filter:brightness(1.1)}.auswahl{min-width:140px;position:relative}.auswahl-knopf{text-align:left;width:100%;font:inherit;color:var(--text);background:var(--flaeche-2);border:1px solid var(--linie);border-radius:var(--radius);cursor:pointer;align-items:center;gap:6px;padding:6px 28px 6px 10px;display:flex;position:relative}.auswahl-knopf:after{content:"";opacity:.7;border-bottom:1.5px solid;border-right:1.5px solid;width:6px;height:6px;position:absolute;top:50%;right:10px;transform:translateY(-70%)rotate(45deg)}.auswahl-liste{z-index:20;background:var(--flaeche-2);border:1px solid var(--linie);border-radius:var(--radius);min-width:100%;max-height:320px;margin:0;padding:4px 0;list-style:none;position:absolute;top:calc(100% + 2px);left:0;overflow-y:auto;box-shadow:0 6px 18px #00000059}.auswahl-liste li{white-space:nowrap;cursor:pointer;align-items:center;gap:6px;padding:4px 10px;display:flex}.auswahl-liste li.eingerueckt{padding-left:24px}.auswahl-liste li.markiert{background:var(--flaeche)}.auswahl-liste li[aria-selected=true]{font-weight:600}.warn-symbol{background:var(--warnung);width:16px;height:16px;-webkit-mask:var(--symbol) center / contain no-repeat;mask:var(--symbol) center / contain no-repeat;flex:none;display:inline-block}.formular.formular-raster{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:12px 16px;display:grid}.formular-raster>*{grid-column:1/-1}.formular-raster>.breite-viertel{grid-column:span 1}.formular-raster>.breite-halb{grid-column:span 2}@media (width<=760px){.formular.formular-raster{grid-template-columns:repeat(2,minmax(0,1fr))}.formular-raster>.breite-halb{grid-column:1/-1}}.formular-raster .schulleitungen{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;display:grid}.formular-raster .schulleitungen>label{grid-column:1/-1;max-width:calc(25% - 12px)}.formular-raster .schulleitungen .haken-raster{grid-template-columns:repeat(auto-fill,minmax(105px,1fr))}@media (width<=760px){.formular-raster .schulleitungen{grid-template-columns:minmax(0,1fr)}.formular-raster .schulleitungen>label{max-width:none}}@media (width<=720px){h1{font-size:20px}input,select,textarea{font-size:16px}.karte{padding:12px}th,td{padding:6px 8px}dialog,dialog.breit,dialog.sehr-breit{width:calc(100vw - 16px);max-width:none;max-height:calc(100svh - 16px);padding:14px}.login{padding:12px}.login .karte,.login-hilfe{width:100%}.hinweis.vollstaendigkeit{flex-wrap:wrap}.hinweis.vollstaendigkeit details{flex-basis:100%}.hinweis-knoepfe{justify-content:space-between;width:100%}.notenraster .nr{width:34px;min-width:34px}.notenraster .schueler{white-space:normal;width:130px;min-width:0;max-width:130px;left:34px}.infoleiste,.vorschau-leiste{bottom:0}.infoleiste{flex-wrap:wrap}.infoleiste input{min-width:0}.vorschau-leiste{margin-inline:-12px;padding:10px 12px}.vorschau-rahmen{border-width:3px;padding:0 8px}button.gross{padding:10px 16px}.zeugnis-vorschau{height:70svh;min-height:360px}.seitenleiste nav button{white-space:nowrap}}.diskret .sensibel,.diskret .notenraster td:not(.nr):not(.schueler),.diskret .teilschnitte,.diskret .sensibel-unten{filter:blur(6px);-webkit-user-select:none;user-select:none}.diskret .gefaehrdet{color:inherit}.diskret .notenraster tr.gefaehrdet-zeile>td{box-shadow:none}.diskret-knopf{align-items:center;gap:6px;display:inline-flex}.diskret-knopf svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;width:16px;height:16px}button.schlicht.diskret-knopf.an{background:var(--akzent);border-color:var(--akzent);color:var(--akzent-text)}.server-zeile{color:var(--text-leise);justify-content:space-between;align-items:center;gap:8px;font-size:13px;display:flex}.server-zeile>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.server-zeile button{flex-shrink:0;font-size:13px}.server-ok{color:#3a9a5b}.server-fehlt{color:var(--fehler)}.server-wahl{flex-direction:column;gap:8px;font-size:13px;display:flex}.server-wahl p{color:var(--text-leise);margin:0}.server-wahl .reihe{flex-wrap:wrap}.support-info{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px 24px;margin:12px 0 16px;display:grid}.support-info>div{grid-template-columns:140px minmax(0,1fr);align-items:baseline;gap:8px;display:grid}.support-info dt{font-weight:600}.support-info dd{overflow-wrap:anywhere;align-items:baseline;gap:8px;margin:0;display:flex}.support-info dd button{white-space:nowrap;padding:0 6px;font-size:12px}footer{background:var(--flaeche);border-top:1px solid var(--linie);color:var(--text-leise);z-index:10;justify-content:space-between;gap:16px;padding:6px 20px;font-size:12px;display:flex;position:sticky;bottom:0}footer .footer-gruppe{flex-wrap:wrap;gap:2px 12px;display:flex}footer .footer-mitte{position:absolute;left:50%;transform:translate(-50%)}footer a,footer .footer-link{color:inherit}footer .footer-link{font:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}footer .lizenz-zeile{text-overflow:ellipsis;white-space:nowrap;max-width:clamp(0px,50vw - 380px,40ch);overflow:hidden}footer .offen{color:var(--akzent)}footer .errorMessage{color:var(--fehler)}@media (width<=720px){footer{flex-wrap:wrap;gap:2px 12px;padding:6px 12px;position:static}footer .footer-mitte{position:static;transform:none}footer .lizenz-zeile{max-width:100%}}header{background:var(--flaeche);border-bottom:1px solid var(--linie);z-index:10;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;min-height:52px;padding:0 20px;display:flex;position:sticky;top:0}header nav{align-items:center;gap:4px;display:flex}header nav a{color:var(--text-leise);border-radius:var(--radius);padding:6px 10px;text-decoration:none}header nav a:hover{color:var(--text)}header nav a.active{color:var(--text);background:var(--flaeche-2)}header .marke{margin-right:12px;font-weight:600}header .konto{align-items:center;gap:16px;font-size:13px;display:flex}header .Rolle{color:var(--text-leise)}header .alpha-zettel{color:var(--fehler);pointer-events:none;font-size:150%;font-weight:900;position:absolute;top:50%;left:60%;transform:translate(-50%,-50%)}header .menue-links{display:contents}header .menue-knopf{display:none}@media (width<=720px){header{grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:0 8px;min-height:48px;padding:6px 12px;display:grid}header nav{display:contents}header .marke{grid-area:1/1;margin-right:0}header button.schuljahr{grid-area:1/2;justify-self:start;margin-right:0}header .alpha-zettel{text-align:center;grid-area:1/3;justify-self:center;font-size:11px;line-height:1.1;position:static;transform:none}header .menue-knopf{color:var(--text);grid-area:1/4;align-items:center;gap:6px;padding:6px;display:flex}header .menue-knopf .punkt{margin-right:0}header .menue-knopf svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;width:22px;height:22px}header .menue-links,header .konto{grid-column:1/-1;display:none}header .menue-links{grid-row:2}header .konto{grid-row:3}header.menue-offen .menue-links{border-top:1px solid var(--linie);flex-direction:column;gap:2px;margin-top:6px;padding-top:6px;display:flex}header.menue-offen .menue-links a{padding:10px 8px}header.menue-offen .konto{border-top:1px solid var(--linie);flex-wrap:wrap;justify-content:space-between;gap:6px 12px;padding:8px 0 4px;display:flex}}.layout{flex-direction:column;min-height:100vh;display:flex}.content{flex:1;width:100%;max-width:95%;margin:0 auto;padding:20px}@media (width<=720px){.content{max-width:100%;padding:12px}}.toasts{z-index:100;pointer-events:none;flex-direction:column;align-items:flex-end;gap:8px;max-width:calc(100vw - 40px);display:flex;position:fixed;bottom:47px;right:20px}.toast{background:var(--flaeche-2);border:1px solid var(--linie);border-left:3px solid var(--akzent);border-radius:var(--radius);min-width:260px;max-width:420px;color:var(--text);pointer-events:auto;align-items:center;gap:12px;padding:10px 10px 12px 14px;font-size:14px;animation:.2s ease-out toast-ein;display:flex;position:relative;overflow:hidden;box-shadow:0 6px 20px #0006}.toast.geht{animation:.2s ease-in forwards toast-aus}.toast-fehler{border-left-color:var(--fehler)}.toast-text{flex:1}.toast-aktion{color:var(--akzent);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-weight:600}.toast-aktion:hover{text-decoration:underline}.toast-zu{color:var(--text-leise);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:18px;line-height:1}.toast-zu:hover{color:var(--text)}.toast-zeit{background:var(--akzent);opacity:.6;transform-origin:0;width:100%;height:2px;animation:linear forwards toast-zeit;position:absolute;bottom:0;left:0}@keyframes toast-ein{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes toast-aus{to{opacity:0;transform:translateY(8px)}}@keyframes toast-zeit{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media (prefers-reduced-motion:reduce){.toast,.toast.geht{animation-duration:0s}.toast-zeit{display:none}}@media (width<=720px){.toasts{align-items:stretch;max-width:none;bottom:12px;left:8px;right:8px}.toast{min-width:0;max-width:none}}
