:root{--bg: #f6f7f9;--card: #ffffff;--text: #1f2933;--muted: #6b7280;--border: #d8dee4;--primary: #2563eb;--primary-dark: #1d4ed8;--danger: #b91c1c;--erfolg: #047857;--na: #9ca3af;--surface-2: #f1f5f9;--active-bg: #eef2ff;--invalid-bg: #fef2f2;--pruefung-bg: #fff7ed;--pruefung-head-bg: #ffedd5;--pruefung-border: #fb923c;--pruefung-text: #9a3412;color-scheme:light;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}:root[data-theme=dark]{--bg: #0f141a;--card: #1a212b;--text: #e6eaf0;--muted: #9aa4b2;--border: #2c3744;--primary: #4f8cf5;--primary-dark: #3f7ae6;--danger: #f08a8a;--erfolg: #34d39a;--na: #6b7480;--surface-2: #232c37;--active-bg: #25344c;--invalid-bg: #3a2528;--pruefung-bg: #2a2117;--pruefung-head-bg: #38291a;--pruefung-border: #b4631f;--pruefung-text: #f0ad6a;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:15px}button{cursor:pointer;border:1px solid var(--primary);background:var(--primary);color:#fff;padding:.5rem 1rem;border-radius:6px;font-size:.95rem}button:hover:not(:disabled){background:var(--primary-dark)}button:disabled{opacity:.5;cursor:not-allowed}button.secondary{background:var(--card);color:var(--primary)}button.secondary:hover:not(:disabled){background:var(--active-bg)}.link-button{background:none;border:none;color:var(--primary);padding:0 .25rem;font-size:.85rem}.link-button:hover{background:none;text-decoration:underline}.navbar{display:flex;align-items:center;gap:1.5rem;padding:.75rem 1.5rem;background:var(--card);border-bottom:1px solid var(--border)}.navbar-brand{font-weight:700}.navbar-links{display:flex;gap:1rem;flex:1}.navbar-links a{text-decoration:none;color:var(--muted);padding:.25rem .5rem;border-radius:6px}.navbar-links a.active{color:var(--primary);background:var(--active-bg);font-weight:600}.navbar-user{display:flex;align-items:center;gap:.75rem;color:var(--muted);font-size:.9rem}.theme-toggle{background:none;border:1px solid var(--border);padding:.1rem .4rem;font-size:1.05rem;line-height:1.4;border-radius:6px}.theme-toggle:hover:not(:disabled){background:var(--surface-2)}.content{max-width:1100px;margin:1.5rem auto;padding:0 1.5rem}.page h2{margin-top:0}.muted{color:var(--muted)}.fehler{color:var(--danger)}.erfolg{color:var(--erfolg)}.card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:1.5rem}.login-wrap{display:flex;justify-content:center;padding:8vh 1rem 0}.login-card{width:min(340px,100%);display:flex;flex-direction:column;gap:.75rem}.login-card h1{font-size:1.25rem;margin:0}.login-card label,.filterleiste label{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;color:var(--muted)}input,select{font-size:16px;padding:.5rem .6rem;border:1px solid var(--border);border-radius:6px;background:var(--card);color:var(--text);max-width:100%}.filterleiste{display:flex;gap:1rem;align-items:flex-end;flex-wrap:wrap;margin-bottom:1rem}.tabelle-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}.tabelle th:first-child,.tabelle td:first-child{position:sticky;left:0;z-index:1}.tabelle td:first-child{background:var(--card)}.tabelle th:first-child{z-index:2}.tabelle{border-collapse:collapse;width:100%;background:var(--card);border:1px solid var(--border);border-radius:8px}.tabelle th,.tabelle td{border-bottom:1px solid var(--border);padding:.45rem .6rem;text-align:center}.tabelle th{background:var(--surface-2);font-weight:600;font-size:.85rem}.tabelle td.name,.tabelle th:first-child{text-align:left;white-space:nowrap}.tabelle.zeugnis td:not(.name){font-weight:600}.vorschau-spalte{color:var(--muted);font-variant-numeric:tabular-nums}.pruefung-spalte{background:var(--pruefung-bg)}.tabelle th.pruefung-spalte{background:var(--pruefung-head-bg)}.pruefung-start{border-left:2px solid var(--pruefung-border)}.tabelle th.pruefung-gruppe{text-align:center;color:var(--pruefung-text);letter-spacing:.03em}.tabs{display:flex;gap:.5rem;margin-bottom:1.25rem;border-bottom:1px solid var(--border)}.tab{background:none;border:none;border-bottom:2px solid transparent;color:var(--muted);border-radius:0;padding:.5rem .75rem}.tab:hover:not(:disabled){background:none;color:var(--text)}.tab.aktiv{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.admin-grid{display:grid;grid-template-columns:minmax(260px,1fr) minmax(360px,1.6fr);gap:1.25rem;align-items:start}.admin-grid .span-2{grid-column:1 / -1}.admin-grid h3{margin-top:0}.admin-zwei{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.admin-zwei h4{margin:0 0 .5rem}@media (max-width: 720px){.admin-grid,.admin-zwei{grid-template-columns:1fr}}.formular{display:flex;flex-direction:column;gap:.6rem;align-items:stretch}.formular.zeile{flex-direction:row;align-items:flex-end;flex-wrap:wrap;gap:.5rem}.formular.zeile label{font-size:.8rem}.hinweis{font-size:.8rem;margin-top:.75rem}.chip-liste{list-style:none;padding:0;margin:.75rem 0 0;display:flex;flex-direction:column;gap:.35rem}.chip-liste li{display:flex;justify-content:space-between;align-items:center;background:var(--surface-2);border-radius:6px;padding:.3rem .6rem;font-size:.9rem}.chip-liste li.muted{background:none}.aktionen{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}.link-button.gefahr{color:var(--danger)}.komponenten-konfig{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:.5rem .75rem;margin-bottom:.75rem}.komponenten-konfig .check{display:flex;align-items:center;gap:.3rem;font-size:.9rem}.komponenten-konfig .check input{width:auto}.note-input{display:flex;align-items:center;gap:.25rem;justify-content:center}.note-input input{width:3.5rem;text-align:center}.note-input.invalid input{border-color:var(--danger);background:var(--invalid-bg)}.note-input.na{color:var(--na)}.na-label{font-style:italic}.na-toggle{color:var(--na)}@media (max-width: 640px){body{font-size:16px}.content{margin:1rem auto;padding:0 .85rem}.navbar{flex-wrap:wrap;gap:.5rem 1rem;padding:.6rem .85rem}.navbar-links{order:3;flex-basis:100%;justify-content:space-between;gap:.25rem}.navbar-links a{padding:.4rem .6rem}.navbar-user{font-size:.85rem}.filterleiste{flex-direction:column;align-items:stretch;gap:.6rem}.filterleiste label,.filterleiste select,.filterleiste input,.filterleiste button{width:100%}.tabelle th,.tabelle td{padding:.4rem .45rem}}.druck-kopf{display:none}@media print{@page{size:A4 landscape;margin:10mm}.navbar,.filterleiste,.fehler,.erfolg{display:none!important}.page>h2{display:none}body,.content,.page{margin:0;padding:0;background:#fff;color:#000}.druck-bereich{-webkit-print-color-adjust:exact;print-color-adjust:exact;color:#000}.druck-kopf{display:block;margin-bottom:4mm}.druck-kopf h1{font-size:1.6em;margin:0;font-weight:700}.druck-bereich .tabelle-scroll{overflow:visible;max-width:none}.druck-bereich .tabelle{border:1px solid #000;border-radius:0;background:#fff;width:100%;table-layout:auto}.druck-bereich .tabelle th,.druck-bereich .tabelle td{border:1px solid #999;padding:.2em .3em;font-size:1em;color:#000;word-break:break-word}.druck-bereich .tabelle th{background:#eee;font-weight:700}.druck-bereich .tabelle td:first-child,.druck-bereich .tabelle th:first-child{position:static;background:#fff;white-space:normal;min-width:3cm;max-width:5cm}.druck-bereich .tabelle th:first-child{background:#eee}.druck-bereich .pruefung-spalte{background:#f2e2cf!important}.druck-bereich .tabelle th.pruefung-spalte,.druck-bereich .tabelle th.pruefung-gruppe{background:#e7cfa8!important}.druck-bereich .pruefung-start{border-left:1.5pt solid #000}}
