:root{--green: #009b14;--green-dark: #007a34;--green-soft: #e9f7ec;--red: #d8232a;--red-soft: #fdecec;--red-ink: #a3161c;--amber: #f97316;--amber-soft: #fff3e8;--amber-ink: #8a3f06;--blue: #2563eb;--blue-soft: #eaf1fe;--blue-ink: #1e40af;--ink: #1a2530;--ink-2: #4a5563;--muted: #6b7787;--faint: #8a93a0;--bg: #f3f6f3;--surface: #ffffff;--surface-2: #f7f9f7;--line: #e3e8e4;--line-2: #eef1ee;--shadow: 0 2px 10px rgba(26, 37, 48, .05);--green-ink: #006b2d;--green-line: #bfe6c6;--red-line: #f4c9cb;--amber-line: #fbd3ad;--vergangen: #fafbfa;--schraffur: rgba(26, 37, 48, .035);--meldung-link: #8ef09b;--radius: 16px;--font: "Mulish", -apple-system, "Segoe UI", sans-serif;color-scheme:light}:root[data-theme=dark]{--green-dark: #4cc46a;--green-soft: #16301e;--green-ink: #8fe0a3;--green-line: #285a35;--red-soft: #3a1b1d;--red-ink: #ff9ca0;--red-line: #6a2a2e;--amber-soft: #3a2a17;--amber-ink: #ffc48a;--amber-line: #6b4a24;--blue-soft: #18284a;--blue-ink: #a9c4ff;--ink: #eceef0;--ink-2: #c6cbd1;--muted: #9aa1a9;--faint: #737a82;--bg: #121416;--surface: #1b1e21;--surface-2: #22262a;--line: #31363b;--line-2: #282c31;--shadow: 0 2px 10px rgba(0, 0, 0, .35);--vergangen: #16181b;--schraffur: rgba(255, 255, 255, .035);--meldung-link: #007a34;color-scheme:dark}:root[data-theme=dark] .t-fahrt{--t-bg: #1c4a29;--t-ink: #d4f4dc}:root[data-theme=dark] .t-sonder{--t-bg: #4a3220;--t-ink: #f3dcc3}:root[data-theme=dark] .t-autobahn{--t-bg: #1d3468;--t-ink: #d6e2ff}:root[data-theme=dark] .t-nacht{--c: #8b84ff;--t-bg: #2e2a7a;--t-ink: #ecebff}:root[data-theme=dark] .t-pruefung{--t-bg: #5c1e22;--t-ink: #ffd6d8}:root[data-theme=dark] .t-theorie{--t-bg: #574509;--t-ink: #ffeaa3}:root[data-theme=dark] .t-blocker{--c: #8a96a3;--t-bg: #2e3842;--t-ink: #dbe2e8}:root[data-theme=dark] .t-abgesagt{--t-bg: #46280f;--t-ink: #ffd3aa}:root[data-theme=dark] .dialog-hintergrund{background:#0009}:root[data-theme=dark] .sidebar-logo img,:root[data-theme=dark] .login-card img{filter:brightness(1.15)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);background:var(--bg);color:var(--ink);font-size:15px}a{color:var(--green-dark)}button{font:inherit}h1,h2,h3,p{margin:0}:focus-visible{outline:3px solid var(--green);outline-offset:2px}.app{display:flex;min-height:100%;background:var(--bg)}.main{flex:1;min-width:0;display:flex;flex-direction:column}.sidebar{width:248px;flex-shrink:0;padding:24px 16px;background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column;gap:4px;position:sticky;top:0;height:100vh;overflow-y:auto}.sidebar-logo{padding:4px 10px 20px}.sidebar-logo img{width:170px;display:block}.nav-item{display:flex;align-items:center;gap:12px;height:44px;padding:0 14px;border-radius:12px;text-decoration:none;font-size:15px;font-weight:600;color:var(--ink-2)}.nav-item:hover{background:var(--surface-2)}.nav-item.active{color:var(--green-dark);background:var(--green-soft);font-weight:800}.nav-item.disabled{color:var(--faint);opacity:.7;pointer-events:none}.nav-item .grow{flex:1}.nav-knopf{border:0;background:transparent;font:inherit;font-size:14px;cursor:pointer;text-align:left;margin-bottom:8px}.nav-divider{height:1px;background:var(--line);margin:12px 8px}.tag-spaeter{font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:3px 8px;border-radius:999px;background:var(--line-2);color:var(--muted)}.sidebar-spacer{flex:1}.profile{display:flex;align-items:center;gap:12px;padding:12px;border-radius:14px;background:var(--bg)}.avatar{width:40px;height:40px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;flex-shrink:0}.avatar.grey{background:var(--line);color:var(--ink-2);font-size:13px}.profile-text{display:flex;flex-direction:column;min-width:0;flex:1}.profile-name{font-weight:800;font-size:14px}.profile-role{font-size:12px;color:var(--muted)}.icon-btn{width:36px;height:36px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.topbar{display:flex;align-items:center;gap:16px;padding:28px 40px 20px}.topbar-titles{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.topbar h1{font-size:30px;font-weight:900;letter-spacing:-.02em}.topbar-sub{font-size:15px;color:var(--muted)}.search{display:flex;align-items:center;gap:10px;width:320px;height:44px;padding:0 14px;background:var(--surface);border:1px solid var(--line);border-radius:12px;color:var(--muted)}.search input{border:0;outline:none;background:transparent;font:inherit;font-size:14px;flex:1;color:var(--ink);min-width:0}.btn-icon{width:44px;height:44px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 18px;border:0;border-radius:12px;background:var(--green);color:#fff;font-size:15px;font-weight:800;cursor:pointer;text-decoration:none;white-space:nowrap}.btn-primary:disabled{opacity:.6;cursor:default}.menu-btn{display:none}.content{padding:0 40px 32px;display:flex;flex-direction:column;gap:24px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card-pad{padding:22px 24px;display:flex;flex-direction:column;gap:14px}.card h2{font-size:19px;font-weight:900}.grid-2{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:20px}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.stat{padding:20px 22px;display:flex;flex-direction:column;gap:6px}.stat-label{font-size:14px;font-weight:700;color:var(--muted)}.stat-value{font-size:36px;font-weight:900;letter-spacing:-.02em}.stat-hint{font-size:13px;font-weight:700;color:var(--green-dark)}.muted{color:var(--muted)}.pill{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap}.pill-green{background:var(--green-soft);color:var(--green-ink)}.pill-amber{background:var(--amber-soft);color:var(--amber-ink)}.pill-grey{background:var(--line-2);color:var(--ink-2)}.pill-blue{background:var(--blue-soft);color:var(--blue-ink)}.row{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:12px;background:var(--surface-2)}.row-main{display:flex;flex-direction:column;flex:1;min-width:0}.row-title{font-size:15px;font-weight:800}.row-sub{font-size:13px;color:var(--muted)}.list{display:flex;flex-direction:column;gap:8px}table.tabelle{width:100%;border-collapse:collapse;font-size:14px}table.tabelle th{text-align:left;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em;padding:16px 12px;font-weight:800}table.tabelle td{padding:12px;border-top:1px solid var(--line-2)}table.tabelle th:first-child,table.tabelle td:first-child{padding-left:24px}.tabelle-wrap{overflow-x:auto}.hinweis{padding:14px 16px;border-radius:12px;font-size:14px;line-height:1.5}.hinweis-amber{background:var(--amber-soft);color:var(--amber-ink);border:1px solid var(--amber-line)}.hinweis-red{background:var(--red-soft);color:var(--red-ink);border:1px solid var(--red-line)}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.span-2{grid-column:span 2}.span-3{grid-column:1 / -1}.feld select,.feld textarea{min-height:46px;padding:0 12px;border-radius:10px;border:1px solid var(--line);font:inherit;font-size:15px;background:var(--surface);color:var(--ink)}.feld textarea{padding:12px 14px;min-height:90px;resize:vertical}.feld input:disabled,.feld select:disabled,.feld textarea:disabled{background:var(--surface-2);color:var(--muted)}.feld .pflicht{color:var(--red)}.feld-zeile{display:flex;gap:8px;align-items:stretch}.feld-zeile>select{flex:1;min-width:0}.schalter{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:700;color:var(--ink-2);cursor:pointer;min-height:44px}.schalter input{width:20px;height:20px;accent-color:var(--green)}.abschnitt{font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 16px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:15px;font-weight:800;cursor:pointer;text-decoration:none;white-space:nowrap}.btn-danger{background:var(--red)}.btn-klein{height:36px;padding:0 12px;font-size:13px;border-radius:10px}.aktionen{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.ausbildung-block{border:1px solid var(--line);border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:14px;background:var(--surface-2)}.filter-zeile{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.filter-btn{height:38px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:14px;font-weight:800;cursor:pointer}.filter-btn.an{background:var(--green);border-color:var(--green);color:#fff}.suche-feld{display:flex;align-items:center;gap:10px;height:40px;padding:0 14px;border-radius:12px;background:var(--surface);border:1px solid var(--line);color:var(--muted);min-width:240px;flex:1;max-width:360px}.suche-feld input{border:0;outline:none;background:transparent;font:inherit;font-size:14px;flex:1;color:var(--ink);min-width:0}.link-zeile{text-decoration:none;color:var(--ink);display:flex;align-items:center;gap:12px}.link-zeile:hover .name{color:var(--green-dark);text-decoration:underline}.leer{padding:28px 24px;text-align:center;color:var(--muted)}input.zelle{width:100%;height:40px;padding:0 10px;border-radius:8px;border:1px solid var(--line);font:inherit;font-size:14px;background:var(--surface);color:var(--ink)}input.zelle:disabled{background:transparent;border-color:transparent;color:var(--ink)}.zahl{font-variant-numeric:tabular-nums}.kal-leiste{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.kal-datum{position:relative;display:inline-flex;align-items:center;font-size:17px;padding:0 6px;cursor:pointer}.kal-datum input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.kal-datum input::-webkit-calendar-picker-indicator{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;cursor:pointer}.live-punkt{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:800;color:var(--muted)}.live-punkt:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--faint)}.live-punkt.live{color:var(--green-dark)}.live-punkt.live:before{background:var(--green);box-shadow:0 0 0 3px var(--green-soft)}.live-punkt.getrennt{color:var(--amber-ink)}.live-punkt.getrennt:before{background:var(--amber)}.kal-select{height:36px;border-radius:10px;border:1px solid var(--line);padding:0 10px;font:inherit;font-size:14px;font-weight:700;background:var(--surface);color:var(--ink)}.umschalter{display:inline-flex;padding:3px;border-radius:12px;background:var(--line-2)}.umschalter button{height:30px;padding:0 14px;border:0;border-radius:9px;background:transparent;font-size:13px;font-weight:800;color:var(--ink-2);cursor:pointer}.umschalter button.an{background:var(--surface);color:var(--green-dark);box-shadow:0 1px 3px #00000014}.kal-meldung{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:50;max-width:calc(100% - 32px);padding:12px 18px;border-radius:12px;background:var(--ink);color:var(--surface);font-size:14px;font-weight:700;box-shadow:0 8px 30px #0003}.kal{overflow:hidden}.kal-scroll{overflow:auto;max-height:calc(100vh - 230px)}.kal-raster{display:grid;min-width:min-content}.kal-ecke,.kal-kopf{position:sticky;top:0;z-index:4;background:var(--surface);border-bottom:1px solid var(--line)}.kal-ecke{left:0;z-index:5}.kal-kopf{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:12px 12px 10px;border:0;border-bottom:1px solid var(--line);border-left:1px solid var(--line-2);text-align:left;cursor:pointer;font:inherit}.kal-kopf:hover .kal-kopf-name,.kal-kopf.heute .kal-kopf-name{color:var(--green-dark)}.kal-kopf-name{font-size:15px;font-weight:900;color:var(--ink)}.kal-kopf-last{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:var(--muted);white-space:nowrap}.kal-warnung{font-size:11px;font-weight:900;color:var(--red-ink);background:var(--red-soft);padding:2px 8px;border-radius:999px}.kal-balken{width:46px;height:6px;border-radius:3px;background:var(--line-2);overflow:hidden;display:inline-block}.kal-balken span{display:block;height:100%;background:var(--green);border-radius:3px}.kal-achse{position:sticky;left:0;z-index:3;background:var(--surface);border-right:1px solid var(--line)}.kal-achse span{position:absolute;right:8px;transform:translateY(-50%);font-size:11px;font-weight:700;color:var(--faint)}.kal-achse span:first-child{transform:none}.kal-spalte{position:relative;border-left:1px solid var(--line-2);cursor:copy;background-image:repeating-linear-gradient(to bottom,var(--line-2) 0,var(--line-2) 1px,transparent 1px,transparent 66px)}.kal-spalte.vergangen{background-color:var(--vergangen)}.kal-frei-nicht{position:absolute;left:0;right:0;pointer-events:none;background:repeating-linear-gradient(135deg,var(--schraffur) 0,var(--schraffur) 6px,transparent 6px,transparent 12px)}.kal-luecke{position:absolute;left:4px;right:4px;border:1.5px dashed #5cbf6c;border-radius:10px;background:transparent;color:var(--green-dark);font:inherit;font-size:12px;font-weight:800;text-align:left;padding:6px 8px;display:flex;align-items:flex-start;pointer-events:none}.kal-pause{position:absolute;left:0;right:0;pointer-events:none;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:var(--faint);letter-spacing:.02em;overflow:hidden}.kal-viertel{position:absolute;left:0;right:0;border-top:1px dashed #9aa79f;pointer-events:none}.kal-zeiger{position:absolute;left:2px;right:2px;border-radius:6px;background:#009b1424;border:1.5px solid rgba(0,155,20,.55);pointer-events:none;z-index:2;font-size:11px;font-weight:900;color:var(--green-dark);padding:0 6px;display:flex;align-items:center}.kal-jetzt{position:absolute;left:0;right:0;height:2px;background:var(--red);z-index:2;pointer-events:none}.kal-jetzt:before{content:"";position:absolute;left:-4px;top:-4px;width:10px;height:10px;border-radius:50%;background:var(--red)}.kal-termin{position:absolute;z-index:1;border-radius:10px;padding:5px 8px;overflow:hidden;display:flex;flex-direction:column;gap:1px;font-size:13px;line-height:1.3;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;border-left:4px solid;box-shadow:0 1px 2px #0000000f}.kal-termin.ziehbar{cursor:grab}.kal-termin.aktiv{z-index:6;cursor:grabbing;box-shadow:0 10px 28px #00000038;opacity:.95}.kal-termin.quelle{opacity:.35}.kal-termin.kal-einfuegen{opacity:.75;pointer-events:none;z-index:6;border-style:dashed;box-shadow:0 6px 20px #00000026}.kal-termin.kal-vorschlag{opacity:.8;pointer-events:none;z-index:3;border-style:dashed;border-width:2px;border-left-width:4px}.assistent{border:2px solid var(--green)}.assistent-eingabe{display:flex;gap:10px;align-items:stretch}.assistent-eingabe textarea{flex:1;min-width:0;border-radius:12px;border:1px solid var(--line);padding:10px 14px;font:inherit;font-size:15px;resize:vertical}.assistent-eingabe .btn-primary{height:auto;min-height:44px}.mikro{width:52px;flex-shrink:0;border-radius:12px;border:1.5px solid var(--green);background:var(--surface);color:var(--green-dark);display:flex;align-items:center;justify-content:center;cursor:pointer}.mikro.an{background:var(--red);border-color:var(--red);color:#fff;animation:pulsieren 1.2s ease-in-out infinite}.mikro:disabled{opacity:.5;cursor:default}@keyframes pulsieren{50%{box-shadow:0 0 0 6px #d8232a33}}@media (prefers-reduced-motion: reduce){.mikro.an{animation:none}}.assistent-gruende ul{margin:6px 0 10px;padding-left:20px;display:flex;flex-direction:column;gap:3px}.vorschlag-zeile{flex-wrap:wrap;gap:8px}.vorschlag-zeile input,.vorschlag-zeile select{height:36px;border-radius:8px;border:1px solid var(--line);padding:0 8px;font:inherit;font-size:14px;background:var(--surface)}.vorschlag-zeile select{font-weight:700}.vorschlag-bis{font-weight:800;font-size:14px}.vorschlag-info{flex:1;min-width:120px}.vorschlag-zeile.konflikt{background:var(--red-soft)}.vorschlag-zeile.konflikt .vorschlag-info{color:var(--red-ink);font-weight:800}.assistent-blocker{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:12px;background:var(--surface-2);border:1px solid var(--line)}.assistent-blocker .row{background:var(--surface)}.assistent-blocker .row.konflikt{background:var(--red-soft)}.konflikt-text{color:var(--red-ink);font-weight:800}.assistent-entfernen{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:12px;background:var(--red-soft);border:1px solid var(--red-line)}.entfernen-zeile{cursor:pointer;background:var(--surface)}.entfernen-zeile input{width:20px;height:20px;accent-color:var(--red);flex-shrink:0}.assistent-info{display:flex;gap:12px;align-items:center;padding:10px 14px;border-radius:12px;background:var(--green-soft);color:var(--green-ink);font-weight:800;font-size:14px}.assistent-frage{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border-radius:12px;background:var(--amber-soft)}.assistent-frage input{height:40px;border-radius:10px;border:1px solid var(--line);padding:0 12px;font:inherit;max-width:320px}.assistent-auftrag{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;padding:10px 14px;border-radius:12px;background:var(--green-soft);font-size:14px}.assistent-fl{display:inline-flex;align-items:center;gap:6px;font-weight:700}.assistent-fl select{height:32px;border-radius:8px;border:1px solid var(--line);font:inherit;font-size:14px;font-weight:700;padding:0 6px}.kal-meldung{display:flex;align-items:center;gap:14px}.kal-meldung-knopf{border:0;background:transparent;color:var(--meldung-link);font:inherit;font-weight:900;text-decoration:underline;cursor:pointer;padding:0;white-space:nowrap}.kal-termin-zeile{display:flex;gap:6px;justify-content:space-between;min-width:0}.kal-termin-zeile strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:900}.kal-termin-sub{font-size:12px;opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kal-termin-sub.kursiv{font-style:italic}.kal-fahrzeug{display:inline-flex;align-items:center;gap:4px;font-weight:800}.kal-griff{position:absolute;left:0;right:0;bottom:0;height:8px;cursor:ns-resize}.t-fahrt{--c: #009b14;--t-bg: #c6ecce;--t-ink: #003d12;background:var(--t-bg);color:var(--t-ink);border-color:var(--c)}.t-sonder{--c: #8b5a2b;--t-bg: #ead6c0;--t-ink: #3d2410;background:var(--t-bg);color:var(--t-ink);border-color:var(--c)}.t-autobahn{--c: #2563eb;--t-bg: #cddcfd;--t-ink: #172f73;background:var(--t-bg);color:var(--t-ink);border-color:var(--c)}.t-nacht{--c: #1e1b4b;--t-bg: #3730a3;--t-ink: #fff;background:var(--t-bg);color:var(--t-ink);border-color:var(--c)}.t-pruefung{--c: #d8232a;--t-bg: #f9cfd1;--t-ink: #7a0d12;background:var(--t-bg);color:var(--t-ink);border-color:var(--c)}.t-theorie{--c: #d99a00;--t-bg: #fde59a;--t-ink: #4f3a00;background:var(--t-bg);color:var(--t-ink);border-color:var(--c)}.t-blocker{--c: #6b7787;--t-bg: #d9dfe5;--t-ink: #26313c;background:var(--t-bg);color:var(--t-ink);border-color:var(--c)}.t-abgesagt{--c: #f97316;--t-bg: #ffe0c4;--t-ink: #7a3505;background:var(--t-bg);color:var(--t-ink);border:1.5px dashed var(--c);border-left:4px dashed var(--c)}.t-luecke{background:transparent;border:1.5px dashed #5cbf6c}.link-knopf{border:0;background:transparent;padding:0 4px;font:inherit;font-size:14px;font-weight:800;color:var(--green-dark);text-decoration:underline;cursor:pointer}.merker{display:inline-flex;align-self:flex-start;align-items:center;gap:10px;padding:2px 4px 2px 12px;height:36px;border-radius:12px;background:var(--surface);border:1px solid var(--line);font-size:13px;max-width:100%;min-width:0}.merker-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.kal-punkt{width:10px;height:34px;border-radius:5px;border-left:4px solid;flex-shrink:0}.kal-legende{display:flex;gap:8px 18px;flex-wrap:wrap;font-size:13px;font-weight:700;color:var(--ink-2)}.kal-legende span{display:inline-flex;align-items:center;gap:6px}.kal-legende i{width:14px;height:14px;border-radius:4px;border-left:4px solid;display:inline-block}.kal-legende i.t-luecke{border-left:1.5px dashed #5cbf6c}.dialog-hintergrund{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#1a253059;display:flex;align-items:flex-start;justify-content:center;padding:6vh 16px 16px;overflow-y:auto}.dialog{width:100%;max-width:640px;padding:22px 24px;display:flex;flex-direction:column;gap:16px}.dialog-felder{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:16px;min-width:0}.dialog-fuss{padding-top:4px}.dialog-zusammenfassung{align-self:flex-start;font-size:14px;font-weight:800;padding:4px 10px;border-radius:8px;border-left:4px solid;max-width:100%}.art-wahl{display:flex;flex-direction:column;gap:10px}.art-haupt{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.art-knopf{height:44px;padding:0 6px;border-radius:12px;border:1.5px solid var(--line);background:var(--surface);font-size:14px;font-weight:800;color:var(--ink-2);cursor:pointer;border-top:4px solid var(--c)}.art-knopf.an{background:var(--c);border-color:var(--c);color:#fff}.art-unter{display:flex;gap:6px;flex-wrap:wrap;padding:10px;border-radius:12px;background:var(--surface-2)}.chip{height:34px;padding:0 14px;border-radius:999px;border:1.5px solid var(--line);background:var(--surface);font-size:13px;font-weight:800;color:var(--ink-2);cursor:pointer}.chip.an{background:var(--c);border-color:var(--c);color:#fff}.icon-btn.an{background:var(--ink);color:var(--surface);border-color:var(--ink)}.dialog .icon-btn{font-weight:900;font-family:Georgia,serif;font-size:16px}.verlauf{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border-radius:12px;background:var(--surface-2);border:1px solid var(--line-2);font-size:13px}.verlauf-zeile{display:flex;gap:10px;line-height:1.4}.verlauf-zeit{color:var(--muted);font-weight:700;white-space:nowrap;min-width:112px}.eingetragen{display:flex;flex-direction:column;gap:3px;padding:10px 14px;border-radius:12px;background:var(--green-soft);color:var(--green-ink);font-size:13px;font-weight:700}.zeit-box{display:flex;flex-direction:column;gap:14px;padding:16px;border-radius:14px;background:var(--surface-2);border:1px solid var(--line-2)}.dauer-zeile{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.dauer-zeile .filter-btn{height:40px}.gewaehlt{flex:1;min-height:46px;display:flex;align-items:center;padding:0 14px;border-radius:10px;background:var(--green-soft)}.such-wahl{position:relative;display:flex;flex-direction:column;gap:6px}.such-liste{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface);box-shadow:var(--shadow)}.such-liste button{display:flex;justify-content:space-between;gap:12px;padding:10px 14px;border:0;border-top:1px solid var(--line-2);background:transparent;text-align:left;cursor:pointer;font-size:14px}.such-liste button:first-child{border-top:0}.such-liste button:hover,.such-liste button:focus-visible{background:var(--green-soft)}.dauer-frei{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:800;color:var(--ink-2)}.dauer-frei input{width:76px;height:38px;padding:0 10px;border-radius:10px;border:1px solid var(--line);font:inherit;font-size:14px}.az-raster{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:10px}.az-tag{display:flex;flex-direction:column;gap:6px;padding:10px;border-radius:12px;background:var(--surface-2);border:1px solid var(--line-2)}.az-tag.an{background:var(--green-soft);border-color:var(--green-line)}.az-tag input{height:38px;padding:0 8px;border-radius:8px;border:1px solid var(--line);font:inherit;font-size:14px;min-width:0;background:var(--surface)}.az-pause-titel{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-top:4px}.az-weg{border:0;background:transparent;color:var(--muted);font-size:12px;font-weight:800;cursor:pointer;text-decoration:underline;align-self:flex-start;padding:0}.pill-rot{background:var(--red-soft);color:var(--red-ink)}.bereich-reiter{display:flex;gap:4px;border-bottom:2px solid var(--line)}.bereich-tab{display:inline-flex;align-items:center;gap:8px;height:48px;padding:0 22px;border:0;background:transparent;font:inherit;font-size:17px;font-weight:900;color:var(--muted);cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px}.bereich-tab.an{color:var(--green-dark);border-bottom-color:var(--green)}.bereich-zahl{min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:var(--amber);color:#fff;font-size:12px;display:inline-flex;align-items:center;justify-content:center}.pruef-tage{display:flex;flex-direction:column}.pruef-tag{border-top:1px solid var(--line)}.pruef-tag:first-child{border-top:0}.pruef-tag-kopf{width:100%;display:grid;grid-template-columns:290px minmax(0,1fr) auto 20px;gap:16px;align-items:center;padding:16px 20px;border:0;background:transparent;font:inherit;color:var(--ink);text-align:left;cursor:pointer}.pruef-tag-kopf:hover{background:var(--surface-2)}.pruef-tag.auf>.pruef-tag-kopf{background:var(--green-soft)}.pruef-tag-datum{display:flex;flex-direction:column;gap:2px}.pruef-tag-datum strong{font-size:16px;font-weight:900}.pruef-tag-datum .muted{font-size:13px;font-weight:700}.pruef-tag-namen{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pruef-tag-zahlen{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.pruef-tag-pfeil{color:var(--muted);font-size:14px}.pruef-tag.auf .pruef-liste{background:var(--surface);border-top:1px solid var(--line-2)}.pruef-tag-fuss{padding:10px 20px 16px}.pruef-tag-angaben{display:grid;grid-template-columns:repeat(2,minmax(0,260px));gap:12px;padding:14px 20px;background:var(--surface-2);border-bottom:1px solid var(--line-2)}.pruef-notiz{width:100%;margin-top:4px;padding:8px 10px;border-radius:8px;border:1px solid var(--line);background:var(--surface);font:inherit;font-size:14px;color:var(--ink);resize:vertical;min-height:36px}.pruef-notiz.wichtig{border-color:var(--red-line);background:var(--red-soft)}.pruef-notiz.wichtig::placeholder{color:var(--red-ink);font-weight:700}.pruef-hinweis{font-size:13px;padding:4px 20px 0}.pruef-tag.auf .pruef-liste{background:var(--surface-2);padding:14px 20px 4px;gap:12px}.pruef-termin-info{display:flex;gap:12px 24px;flex-wrap:wrap;align-items:center}.pruef-termin-info label{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:800;color:var(--muted)}.pruef-termin-info input{height:34px;width:220px;max-width:100%;border-radius:8px;border:1px solid var(--line);padding:0 10px;font:inherit;font-size:14px;font-weight:700;color:var(--ink);background:var(--surface)}.pruef-karten{display:flex;flex-direction:column;gap:10px}.pruef-karte{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border-radius:12px;background:var(--surface);border:1px solid var(--line);border-left:5px solid var(--blue)}.pruef-karte.erg-bestanden{border-left-color:var(--green)}.pruef-karte.erg-nicht_bestanden{border-left-color:var(--red)}.pruef-karte.erg-abgesagt{border-left-color:var(--faint);opacity:.75}.pruef-karte.erg-nicht_erschienen{border-left-color:var(--amber)}.pruef-karte-kopf{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pruef-uhr{height:34px;width:96px;border-radius:8px;border:1px solid var(--line);padding:0 6px;font:inherit;font-size:15px;font-weight:900;color:var(--ink);background:var(--surface-2)}.pruef-karte-meta{display:flex;align-items:center;gap:6px 14px;flex-wrap:wrap;font-size:13px;font-weight:700;color:var(--muted)}.pruef-karte-meta>span+span:before{content:"·";margin-right:14px;color:var(--faint)}.pruef-dauer{display:inline-flex;align-items:center;gap:4px}.pruef-dauer input{width:58px;height:28px;border-radius:6px;border:1px solid var(--line);padding:0 6px;font:inherit;font-size:13px;font-weight:800;color:var(--ink);background:var(--surface)}.pruef-weg{width:28px;height:28px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--faint);cursor:pointer;font-size:13px}.pruef-weg:hover{border-color:var(--red-line);background:var(--red-soft);color:var(--red-ink)}.pruef-hinweise{display:flex;gap:6px;flex-wrap:wrap}.pruef-hinweise .pill{font-size:11px;padding:3px 8px}.pruef-karte .pruef-notiz{margin-top:0}.erg-gruppe{display:inline-flex;border-radius:10px;overflow:hidden;border:1px solid var(--line)}.erg-gruppe button{height:32px;padding:0 12px;border:0;border-left:1px solid var(--line);background:var(--surface);font:inherit;font-size:13px;font-weight:800;color:var(--ink-2);cursor:pointer;white-space:nowrap}.erg-gruppe button:first-child{border-left:0}.erg-gruppe button.gut:hover,.erg-gruppe button.gut:focus-visible{background:var(--green);color:#fff}.erg-gruppe button.schlecht:hover,.erg-gruppe button.schlecht:focus-visible{background:var(--red);color:#fff}.erg-gruppe button:not(.gut):not(.schlecht):hover{background:var(--line-2)}.pruef-tag-fuss{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:13px;background:var(--surface-2)}.pruef-tag.auf .pruef-liste.ruhig{background:var(--surface);padding:0;gap:0}.pruef-termin-text{display:flex;flex-wrap:wrap;gap:6px 22px;align-items:center;width:100%;padding:12px 20px;border:0;border-bottom:1px solid var(--line-2);background:var(--surface-2);font:inherit;font-size:14px;color:var(--muted);text-align:left;cursor:pointer}.pruef-termin-text strong{color:var(--ink);font-weight:800}.pruef-stift{margin-left:auto;font-size:13px;font-weight:800;color:var(--green-dark);opacity:0;transition:opacity .15s}.pruef-termin-text:hover .pruef-stift,.pruef-termin-text:focus-visible .pruef-stift{opacity:1}.pruef-liste.ruhig>.pruef-termin-info{padding:10px 20px;background:var(--surface-2);border-bottom:1px solid var(--line-2)}.pruef-reihen{display:flex;flex-direction:column}.pruef-reihe{border-bottom:1px solid var(--line-2);--punkt: var(--blue)}.pruef-reihe.erg-bestanden{--punkt: var(--green)}.pruef-reihe.erg-nicht_bestanden{--punkt: var(--red)}.pruef-reihe.erg-nicht_erschienen{--punkt: var(--amber)}.pruef-reihe.erg-abgesagt{--punkt: var(--faint);opacity:.7}.pruef-reihe.bearbeiten{background:var(--surface-2)}.pruef-reihe-haupt{display:flex;align-items:flex-start;gap:12px;padding:12px 20px;cursor:pointer}.pruef-reihe-haupt:hover{background:var(--surface-2)}.pruef-punkt{width:10px;height:10px;border-radius:50%;background:var(--punkt);margin-top:6px;flex-shrink:0}.pruef-zeit-text{width:46px;flex-shrink:0;font-size:15px;font-weight:900;font-variant-numeric:tabular-nums}.pruef-reihe-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.pruef-reihe-titel{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.pruef-klasse{font-size:13px;font-weight:800;color:var(--muted)}.pruef-reihe-meta{display:flex;align-items:center;gap:4px 14px;flex-wrap:wrap;font-size:13px;font-weight:700;color:var(--muted)}.pruef-warnung{color:var(--amber-ink);font-weight:800}.pruef-warnung.knopf{border:0;background:var(--amber-soft);border-radius:999px;padding:2px 10px;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.pruef-warnliste{margin:2px 0 0;padding-left:18px;font-size:13px;color:var(--amber-ink);font-weight:700}.pruef-notiz-text{font-size:14px;color:var(--ink-2);font-style:italic}.pruef-reihe.erg-nicht_bestanden .pruef-notiz-text{color:var(--red-ink)}.pruef-reihe-erg{flex-shrink:0}.erg-flach{border:0;border-radius:999px;padding:5px 10px;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.pruef-reihe>.pruef-notiz.wichtig{display:block;width:calc(100% - 108px);margin:0 20px 12px 88px}.pruef-bearbeiten{display:flex;flex-wrap:wrap;gap:12px 16px;padding:4px 20px 14px 88px}.pruef-bearbeiten label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:800;color:var(--muted)}.pruef-bearbeiten label.breit{flex-basis:100%}.pruef-bearbeiten input,.pruef-bearbeiten select{height:36px;border-radius:8px;border:1px solid var(--line);padding:0 8px;font:inherit;font-size:14px;color:var(--ink);background:var(--surface)}.pruef-bearbeiten input[type=number]{width:80px}.pruef-bearbeiten-fuss{flex-basis:100%;display:flex;align-items:center;gap:12px;font-size:13px}.pruef-zeit{gap:6px}.pruef-zeit>input[type=time]{height:36px;width:100%;max-width:110px;border-radius:8px;border:1px solid var(--line);padding:0 8px;font:inherit;font-size:14px;font-weight:800;background:var(--surface);color:var(--ink)}.klassen-wahl{height:28px;border-radius:999px;border:0;padding:0 10px;font:inherit;font-size:12px;font-weight:800;background:var(--line-2);color:var(--ink-2);cursor:pointer}.pruef-liste{display:flex;flex-direction:column}.pruef-zeile{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:16px;padding:16px 20px;border-top:1px solid var(--line-2);align-items:start}.pruef-zeile:first-child{border-top:0}.pruef-zeile.erledigt{opacity:.85}.pruef-datum{display:flex;flex-direction:column;gap:2px;font-size:14px}.pruef-haupt{display:flex;flex-direction:column;gap:6px;min-width:0}.pruef-titel{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pruef-name{font-weight:900;font-size:16px;color:var(--ink);text-decoration:none}.pruef-name:hover{color:var(--green-dark);text-decoration:underline}.pruef-warnungen{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;font-weight:800;color:var(--amber-ink)}.pruef-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:6px;padding:12px;border-radius:12px;background:var(--surface-2)}.pruef-aktionen{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;max-width:420px}.erg-knopf{height:34px;padding:0 12px;border-radius:10px;border:1px solid var(--line);background:var(--surface);font:inherit;font-size:13px;font-weight:800;color:var(--ink-2);cursor:pointer;white-space:nowrap}.erg-knopf.gut{background:var(--green);border-color:var(--green);color:#fff}.erg-knopf.schlecht{background:var(--red-soft);border-color:var(--red-line);color:var(--red-ink)}.erg-wahl{border:0;font:inherit;font-size:12px;font-weight:800;cursor:pointer;padding:5px 10px}.neue-pruefung{border:2px solid var(--green)}.teilnehmer-zeile{flex-wrap:wrap;gap:8px}.teilnehmer-zeit{width:46px}.teilnehmer-dauer{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:800;color:var(--muted)}.teilnehmer-dauer input{width:64px;height:36px;border-radius:8px;border:1px solid var(--line);padding:0 8px;font:inherit;font-size:14px;background:var(--surface);color:var(--ink)}.teilnehmer-name{flex:1;min-width:140px;font-weight:800}.teilnehmer-zeile select{height:36px;border-radius:8px;border:1px solid var(--line);padding:0 8px;font:inherit;font-size:14px;background:var(--surface);color:var(--ink);max-width:100%}.sonder-stand{display:flex;flex-direction:column;gap:6px;padding-top:4px}.sonder-zeile{display:grid;grid-template-columns:90px minmax(0,1fr) 54px auto;gap:10px;align-items:center;font-size:13px}.sonder-balken{height:8px;border-radius:4px;background:var(--line-2);overflow:hidden}.sonder-balken>span{display:block;height:100%;background:var(--c);border-radius:4px}.fahrzeug-raster{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:16px}.fahrzeug-symbol{width:44px;height:44px;border-radius:12px;background:var(--green-soft);color:var(--green-dark);display:flex;align-items:center;justify-content:center;flex-shrink:0}.fahrzeug-karte.inaktiv{opacity:.6}.login-wrap{min-height:100%;display:flex;align-items:center;justify-content:center;padding:24px 16px}.login-card{width:100%;max-width:420px;padding:36px 32px;display:flex;flex-direction:column;gap:18px}.login-card img{width:200px;align-self:center;margin-bottom:8px}.login-card h1{font-size:24px;font-weight:900;text-align:center}.feld{display:flex;flex-direction:column;gap:6px}.feld span{font-size:13px;font-weight:800;color:var(--ink-2)}.feld input{height:46px;padding:0 14px;border-radius:10px;border:1px solid var(--line);font:inherit;font-size:15px;background:var(--surface);color:var(--ink)}.zentriert{min-height:100%;display:flex;align-items:center;justify-content:center;padding:24px}@media (max-width: 960px){.sidebar{position:fixed;left:0;top:0;z-index:30;transform:translate(-100%);transition:transform .2s ease;box-shadow:0 0 40px #00000026}.sidebar.open{transform:translate(0)}.menu-btn{display:flex}.search{display:none}.topbar{padding:20px 16px 16px;flex-wrap:wrap}.topbar h1{font-size:24px}.content{padding:0 16px 24px}.grid-2,.grid-4,.form-grid{grid-template-columns:minmax(0,1fr)}.span-2{grid-column:auto}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000040;z-index:20}.feld select,.feld input,.feld textarea{width:100%;min-width:0}.card-pad{min-width:0}.nur-breit{display:none!important}.pruef-tag-kopf{grid-template-columns:minmax(0,1fr) 20px;gap:6px 10px;padding:14px}.pruef-tag-namen,.pruef-tag-zahlen{grid-column:1;justify-content:flex-start}.pruef-tag-pfeil{grid-row:1;grid-column:2}.pruef-zeile{grid-template-columns:minmax(0,1fr);gap:8px;padding:14px}.pruef-datum{flex-direction:row;gap:8px}.pruef-aktionen{flex-direction:row;flex-wrap:wrap;align-items:center}.pruef-details{grid-template-columns:minmax(0,1fr)}.pruef-tag-angaben{grid-template-columns:minmax(0,1fr);padding:12px 14px}.pruef-reihe-haupt{padding:12px 14px;flex-wrap:wrap}.pruef-reihe-erg{flex-basis:100%;padding-left:68px}.pruef-bearbeiten{padding:4px 14px 14px}.pruef-reihe>.pruef-notiz.wichtig{width:calc(100% - 28px);margin:0 14px 12px}.pruef-termin-text{padding:12px 14px}.pruef-stift{opacity:1}.bereich-tab{flex:1;justify-content:center;padding:0 8px}table.tabelle th,table.tabelle td{padding-left:8px;padding-right:8px}table.tabelle th:first-child,table.tabelle td:first-child{padding-left:14px}.kal-scroll{max-height:calc(100dvh - 150px)}.kal-leiste{gap:8px}.kal-leiste>.aktionen{gap:6px}.kal-datum{font-size:15px}.kal-raster{grid-template-columns:44px repeat(var(--spalten),minmax(132px,1fr))!important}.kal-kopf{padding:8px 8px 6px}.kal-kopf-name{font-size:14px}.kal-achse span{right:4px;font-size:10px}.kal-legende{display:none}.fahrlehrer-filter{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.fahrlehrer-filter .filter-btn{height:32px;padding:0 12px;font-size:13px;flex-shrink:0}.merker{order:10;flex-basis:100%}.dialog-hintergrund{padding:0;align-items:stretch}.dialog{max-width:none;min-height:100%;border-radius:0;border:0;padding:16px 16px 0;gap:14px}.dialog-fuss{position:sticky;bottom:0;background:var(--surface);margin:0 -16px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);z-index:2}.dialog-fuss .btn-primary,.dialog-fuss .btn-secondary{padding:0 14px;font-size:14px}.dialog-fuss>span{display:none}.art-knopf{font-size:13px;padding:0 2px}.zeit-box{padding:12px}.zeit-box .form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.zeit-box .form-grid>:first-child{grid-column:1 / -1}.dauer-zeile .filter-btn{height:38px;padding:0 12px}.dauer-frei input{width:64px}.assistent-eingabe{flex-wrap:wrap}.assistent-eingabe textarea{flex-basis:100%;order:-1;font-size:16px}.assistent-eingabe .mikro{flex:1;height:48px;width:auto}.assistent-eingabe .btn-primary{flex:1}.assistent-hinweis-breit{display:none}.kennzahlen{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px!important;width:100%}.kennzahlen>div>span:first-child{font-size:17px!important;overflow-wrap:anywhere}.dialog{padding:18px 16px}.art-haupt{grid-template-columns:repeat(3,minmax(0,1fr))}.dialog-hintergrund{padding-top:16px}}@media (prefers-reduced-motion: reduce){.sidebar{transition:none}}
