/* Online-Schulanmeldung – gemeinsame Bausteine (Eltern-Formular und Backend). Schriften lokal eingebunden (kein Google-Fonts-Abruf). */
@font-face{font-family:'Fredoka';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/fredoka-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Fredoka';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/fredoka-latin-ext-500-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Fredoka';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/fredoka-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Fredoka';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/fredoka-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Karla';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/karla-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Karla';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/karla-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Karla';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/karla-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Karla';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/karla-latin-ext-500-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Karla';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/karla-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Karla';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/karla-latin-ext-700-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
/* Gemeinsame Bausteine der Mockups. Jeder Entwurf setzt Farben/Formen über CSS-Variablen und ergänzt eigenes Layout. */
*{box-sizing:border-box}
:root{--bg:#f3f7fb;--surface:#fff;--surface2:#eaf1f7;--ink:#15283a;--muted:#566b7f;--line:#d6e2ec;--accent:#0a6fb5;--accent-ink:#fff;--soft:#e2f0fa;--hi:#ffd23c;--hi-ink:#15283a;--ok:#1f8a3b;--okbg:#e6f5ea;--warn:#b26b00;--warnbg:#fff3dc;--bad:#c71f1f;--badbg:#fdeaea;--r:14px;--rs:10px;--bw:1px;--shadow:0 1px 2px rgba(21,40,58,.06),0 8px 24px rgba(21,40,58,.08);--f-head:system-ui,sans-serif;--f-body:system-ui,sans-serif;--fs:17px;--wrap:1120px}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:var(--fs)/1.55 var(--f-body)}
h1,h2,h3,h4{font-family:var(--f-head);margin:0;line-height:1.2}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid var(--hi);outline-offset:2px}
.ic{width:1.2em;height:1.2em;flex:none;vertical-align:-.22em}
[dir=rtl] .ic.flip{transform:scaleX(-1)}
.m-root{min-height:100vh;display:flex;flex-direction:column}
.m-main{flex:1}
.wrapx{max-width:var(--wrap);margin-inline:auto;padding-inline:clamp(16px,3vw,32px)}
.mut{color:var(--muted)}.mono{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.85em}

/* Buttons */
.m-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:var(--bw) solid transparent;background:var(--accent);color:var(--accent-ink);padding:12px 22px;border-radius:var(--rs);font:600 1rem var(--f-head);text-decoration:none;transition:filter .15s,transform .1s}
.m-btn:hover{filter:brightness(1.08)}.m-btn:active{transform:translateY(1px)}
.m-btn.sec{background:transparent;color:var(--accent);border-color:var(--accent);border-width:2px}
.m-btn.hi{background:var(--hi);color:var(--hi-ink)}
.m-btn.ghost{background:transparent;color:var(--ink);padding-inline:10px}
.m-btn.bad{background:var(--badbg);color:var(--bad);border-color:transparent}
.m-btn.sm{padding:6px 12px;font-size:.85rem;border-radius:calc(var(--rs) - 2px)}
.m-btn.wide{width:100%;margin-top:12px}
.m-btn[disabled]{opacity:.4;pointer-events:none}
.m-start{border:0;cursor:pointer;font-family:var(--f-head)}
.m-closed{display:inline-flex;gap:10px;align-items:center;background:var(--accent);color:#fff;padding:18px 28px;font:600 1.2rem var(--f-head);border-radius:var(--rs)}

/* Sprachwahl */
.m-lang{display:inline-flex;align-items:center;gap:4px;background:var(--surface);border:var(--bw) solid var(--line);border-radius:999px;padding:3px 4px 3px 10px;color:var(--muted)}
.m-lang button{border:0;background:transparent;padding:6px 10px;border-radius:999px;font:700 .8rem var(--f-body);color:var(--muted)}
.m-lang button.on{background:var(--accent);color:var(--accent-ink)}
.m-lang button:hover:not(.on){background:var(--soft)}

/* ---- Wizard ---- */
.m-wiz{max-width:var(--wrap);margin:0 auto;padding:clamp(16px,3vw,36px) clamp(16px,3vw,32px) 90px}
.m-card{background:var(--surface);border:var(--bw) solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:clamp(20px,3.2vw,40px);min-width:0}
.m-ch{display:flex;gap:16px;align-items:center;margin-bottom:26px}
.m-ch .ico{width:60px;height:60px;border-radius:var(--rs);background:var(--hi);color:var(--hi-ink);display:grid;place-items:center;flex:none}
.m-ch .ico .ic{width:30px;height:30px}
.m-ch small{display:block;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:.72rem}
.m-ch h2{font-size:clamp(1.4rem,3vw,2rem)}
.m-ch p{margin:4px 0 0;color:var(--muted);font-size:.95rem}
.m-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px 18px}
.m-f{grid-column:span 6;display:block;border:0;padding:0;margin:0;min-width:0}
.m-f.w-half{grid-column:span 3}.m-f.w-third{grid-column:span 2}
@media(max-width:700px){.m-f.w-half,.m-f.w-third{grid-column:span 6}}
.m-l{display:block;font-weight:700;margin-bottom:6px;font-size:.95rem;padding:0}
.m-l i{color:var(--bad);font-style:normal}.m-l em{font-style:normal;font-weight:500;color:var(--muted);font-size:.8rem;margin-inline-start:4px}
.m-in{width:100%;padding:13px 14px;border:2px solid var(--line);border-radius:var(--rs);background:var(--surface);font:inherit;color:var(--ink);min-height:50px}
.m-in:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 4px var(--soft)}
.m-f.err .m-in{border-color:var(--bad)}.m-f.err .m-opt{border-color:var(--bad)}
.m-err{color:var(--bad);font-weight:700;font-size:.88rem;margin-top:6px;display:flex;gap:6px;align-items:center}
.m-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:12px}
.m-opt{display:flex;gap:12px;align-items:center;text-align:start;padding:14px 16px;border:2px solid var(--line);border-radius:var(--rs);background:var(--surface);font-weight:700;min-height:58px;transition:border-color .15s,background .15s}
.m-opt .ot{flex:1}
.m-opt:hover{border-color:var(--accent)}
.m-opt.on{border-color:var(--accent);background:var(--soft)}
.m-opt .dot{width:24px;height:24px;border-radius:50%;border:2px solid var(--line);flex:none;display:grid;place-items:center;font-size:.8rem}
.m-opt.on .dot{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.m-opt .oi{width:42px;height:42px;border-radius:50%;background:var(--soft);display:grid;place-items:center;color:var(--accent);flex:none}
.m-opt.on .oi{background:var(--accent);color:var(--accent-ink)}
.m-chk{display:flex;gap:12px;align-items:flex-start;cursor:pointer;padding:12px 14px;border:2px solid var(--line);border-radius:var(--rs)}
.m-chk input{position:absolute;opacity:0}
.m-chk .bx{width:26px;height:26px;border:2px solid var(--muted);border-radius:7px;display:grid;place-items:center;flex:none;color:transparent;margin-top:1px}
.m-chk input:checked+.bx{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.m-chk input:focus-visible+.bx{outline:3px solid var(--hi)}
.m-chk i{color:var(--bad);font-style:normal}
.m-consent{display:grid;gap:12px;margin-top:22px}
.m-nav{display:flex;justify-content:space-between;gap:12px;margin-top:30px;padding-top:22px;border-top:var(--bw) dashed var(--line);flex-wrap:wrap}
.m-nav .m-btn{min-height:52px;padding-inline:26px}
.m-btn.go{background:var(--ok);color:#fff}
.m-sub{background:var(--surface2);border-radius:var(--rs);padding:18px;margin-bottom:16px}
.m-sub-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.m-sub-h b{display:flex;gap:8px;align-items:center;font-family:var(--f-head)}
.m-sum{border:var(--bw) solid var(--line);border-radius:var(--rs);margin-bottom:14px;overflow:hidden}
.m-sum-h{display:flex;justify-content:space-between;align-items:center;background:var(--surface2);padding:10px 14px}
.m-sum-h b{display:flex;gap:8px;align-items:center;font-family:var(--f-head)}
.m-sum dl,.m-dsec dl{margin:0;padding:6px 14px}
.m-sum .r,.m-dsec .r{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:12px;padding:7px 0;border-bottom:1px dashed var(--line);font-size:.93rem}
.m-sum .r:last-child,.m-dsec .r:last-child{border:0}
dt{color:var(--muted)}dd{margin:0;font-weight:600;overflow-wrap:anywhere}

/* ---- Fortschritt (generisch) ---- */
.m-pinfo{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-bottom:10px;font-size:.9rem;color:var(--muted)}
.m-pinfo b{color:var(--ink);font-family:var(--f-head)}
.m-prog{list-style:none;margin:0;padding:0;display:flex;gap:8px}
.m-prog li{flex:1;min-width:0}
.m-prog button{width:100%;border:0;background:transparent;display:flex;align-items:center;gap:10px;padding:8px;border-radius:var(--rs);text-align:start}
.m-prog .n{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font:700 1rem var(--f-head);background:var(--surface);border:2px solid var(--line);color:var(--muted);flex:none}
.m-prog .ig{display:none}
.m-prog .tx{font-weight:700;font-size:.9rem;line-height:1.2;overflow-wrap:anywhere;hyphens:auto;min-width:0}
.m-prog li.cur .n{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.m-prog li.done .n{background:var(--ok);border-color:var(--ok);color:#fff}
.m-prog li.done:hover .n,.m-prog li.cur:hover .n{filter:brightness(1.1)}
.m-prog li.lock button{cursor:default;opacity:.55}
.m-prog li.new{animation:pop .5s cubic-bezier(.3,1.6,.5,1)}
@keyframes pop{from{transform:scale(.6);opacity:0}to{transform:none;opacity:1}}
.m-pbar{height:8px;background:var(--line);border-radius:99px;margin-top:14px;overflow:hidden}
.m-pbar i{display:block;height:100%;background:var(--accent);border-radius:99px;transition:width .4s}
.m-wiz:not(.m-p-bar) .m-pbar{display:none}
@media(max-width:720px){.m-prog .tx{display:none}.m-prog li.cur .tx{display:block}.m-prog button{padding:4px}}

/* Metro */
.m-metro{overflow-x:auto;padding:8px 0 4px}
.m-metro-in{position:relative;width:100%}
.m-metro-in>svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.m-metro .ln{fill:none;stroke:var(--line);stroke-width:10;stroke-linecap:round;vector-effect:non-scaling-stroke}
.m-metro .ln.dn{stroke:var(--accent)}
.m-metro .gh{fill:none;stroke:var(--muted);stroke-width:3;stroke-dasharray:3 8;stroke-linecap:round;vector-effect:non-scaling-stroke;opacity:.7}
.stn{position:absolute;transform:translate(-50%,-22px);background:none;border:0;display:flex;flex-direction:column;align-items:center;gap:6px;width:130px;padding:0}
.stn .dot{width:44px;height:44px;border-radius:50%;background:var(--surface);border:6px solid var(--line);display:grid;place-items:center;font:700 .95rem var(--f-head);color:var(--muted);transition:transform .2s}
.stn .tx{font-weight:700;font-size:.85rem;line-height:1.15;text-align:center;color:var(--ink)}
.stn.done .dot{border-color:var(--accent);background:var(--accent);color:#fff}
.stn.cur .dot{border-color:var(--accent);background:var(--surface);color:var(--accent);transform:scale(1.18);box-shadow:0 0 0 6px var(--soft)}
.stn.ghost .dot{width:34px;height:34px;border:3px dashed var(--muted);background:var(--surface);color:var(--muted);margin-top:5px}
.stn.ghost .tx{color:var(--muted);font-weight:500}
.stn:not([disabled]):hover .dot{transform:scale(1.12)}
.stn[disabled]{cursor:default}
.stn.lock{opacity:.6}

/* ---- Abschluss ---- */
.m-done{padding-block:clamp(24px,4vw,56px) 90px;display:grid;gap:22px}
.m-donehead{display:flex;gap:20px;align-items:center}
.m-donehead .ok{width:76px;height:76px;border-radius:50%;background:var(--ok);color:#fff;display:grid;place-items:center;flex:none}
.m-donehead .ok .ic{width:40px;height:40px}
.m-donehead h1{font-size:clamp(1.6rem,3.6vw,2.4rem)}
.m-donehead p{margin:6px 0 8px;color:var(--muted)}
.m-reg{display:inline-block;background:var(--soft);color:var(--accent);padding:4px 12px;border-radius:99px;font-size:.88rem}
.m-infobox{background:var(--hi);color:var(--hi-ink);border-radius:var(--r);padding:clamp(18px,3vw,30px);box-shadow:var(--shadow)}
.ib-h{display:flex;gap:14px;align-items:center;margin-bottom:16px}
.ib-h .ic{width:36px;height:36px}.ib-h small{display:block;font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;opacity:.8}.ib-h b{font:600 clamp(1.2rem,2.6vw,1.6rem) var(--f-head)}
.ib-g{display:grid;grid-template-columns:1fr 1.3fr;gap:20px}
@media(max-width:700px){.ib-g{grid-template-columns:1fr}}
.ib-g span{display:flex;gap:8px;align-items:center;font-weight:700;margin-bottom:4px}
.ib-g p{margin:0}.ib-g ul{margin:0;padding-inline-start:20px}.ib-g li{margin-bottom:2px}
.ib-c{margin:16px 0 0;padding-top:14px;border-top:2px solid rgba(0,0,0,.12);display:flex;gap:8px;align-items:center;font-weight:700}
.m-mine,.m-doc{display:flex;gap:14px;align-items:center;background:var(--surface);border:var(--bw) solid var(--line);border-radius:var(--rs);padding:14px 16px}
.m-mine{border:2px solid var(--accent);padding:18px}
.m-mine>div,.m-doc>div{flex:1;min-width:0}
.m-mine b,.m-doc b{display:block;font-family:var(--f-head)}.m-mine small,.m-doc small{color:var(--muted)}
.di{width:46px;height:46px;border-radius:12px;background:var(--soft);color:var(--accent);display:grid;place-items:center;flex:none}
.m-docs{display:grid;gap:10px}.m-docs h3{display:flex;gap:10px;align-items:center;font-size:1.3rem}.m-docs .hint{margin:0 0 4px;color:var(--muted)}
.m-donefoot{text-align:center}
@media(max-width:600px){.m-doc,.m-mine{flex-wrap:wrap}}

/* Modal, Toast, Dock */
.m-modal-bg{position:fixed;inset:0;background:rgba(10,20,30,.55);display:grid;place-items:center;z-index:200;padding:16px;overflow:auto}
.m-modal{background:var(--surface);border-radius:var(--r);width:min(480px,100%);box-shadow:0 20px 60px rgba(0,0,0,.35);color:var(--ink);max-height:94vh;display:flex;flex-direction:column;border:var(--bw) solid var(--line)}
.m-modal.wide{width:min(860px,100%)}
.m-modal-h{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 18px;border-bottom:var(--bw) solid var(--line)}
.m-modal-h b{display:flex;gap:8px;align-items:center;font-family:var(--f-head)}
.m-modal-b{padding:18px;overflow:auto}.m-modal-f{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}
.m-toast{position:fixed;left:50%;bottom:84px;transform:translateX(-50%);background:#15283a;color:#fff;padding:12px 20px;border-radius:12px;z-index:300;box-shadow:0 8px 30px rgba(0,0,0,.3);font:600 .95rem system-ui;max-width:90vw}
.m-paper{background:#fff;color:#111;padding:28px;font:14px/1.45 system-ui,sans-serif;border:1px solid #ddd}
.m-paper h3{font-size:20px;margin:18px 0 6px}.m-paper h4{margin:14px 0 4px;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:#555;border-bottom:2px solid #ddd;padding-bottom:3px}
.m-paper table{width:100%;border-collapse:collapse}.m-paper th{text-align:start;width:42%;font-weight:500;color:#555;padding:3px 8px 3px 0;vertical-align:top}.m-paper td{font-weight:600;padding:3px 0}
.p-box{background:#ffd23c;color:#15283a;border-radius:10px;padding:16px 18px}
.p-bh{display:flex;gap:14px;align-items:center;margin-bottom:12px}.p-bh img{height:46px;background:#fff;border-radius:8px;padding:4px}.p-bh small{display:block;opacity:.8}
.p-bg{display:grid;grid-template-columns:1fr 1.2fr 1.4fr;gap:16px}.p-bg span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:700;opacity:.75}.p-bg ul{margin:0;padding-inline-start:16px}
.p-bc{margin-top:10px;padding-top:8px;border-top:2px solid rgba(0,0,0,.15);font-weight:700}
.p-ft{margin-top:24px;font-size:12px;color:#555}
@media(max-width:700px){.p-bg{grid-template-columns:1fr}}

/* Versions-Bubble (Vorgabe der Schule) */
.m-ver{display:inline-block;background:#E2F1FB;color:#4A80B7;font-weight:700;font-size:13px;border-radius:8px;padding:4px 12px;line-height:1.3;vertical-align:middle}
.m-rolebub{display:inline-flex;gap:6px;align-items:center;background:var(--okbg);color:var(--ok);font-weight:700;font-size:13px;border-radius:99px;padding:5px 12px}

/* ================= Admin ================= */
.m-admin{max-width:1640px;margin:0 auto;padding:22px clamp(14px,2.4vw,32px) 90px;font-size:15px;display:flex;flex-direction:column;gap:18px}
.m-anav{display:flex;gap:6px;flex-wrap:wrap}
.m-anav button{display:inline-flex;gap:8px;align-items:center;border:var(--bw) solid transparent;background:transparent;padding:9px 16px;border-radius:999px;font-weight:700;color:var(--muted)}
.m-anav button:hover{background:var(--soft)}
.m-anav button.on{background:var(--soft);color:var(--accent);border-color:var(--accent)}
.m-anav em{font-style:normal;background:var(--accent);color:var(--accent-ink);border-radius:99px;font-size:.75rem;padding:0 7px;min-width:20px;text-align:center}
.m-al-side,.m-al-rail{flex-direction:row;align-items:flex-start}
.m-al-side .m-anav,.m-al-rail .m-anav{flex-direction:column;flex:none;width:250px;position:sticky;top:16px}
.m-al-side .m-anav button,.m-al-rail .m-anav button{border-radius:var(--rs);justify-content:flex-start;padding:12px 14px}
.m-al-rail .m-anav{width:84px}
.m-al-rail .m-anav button{flex-direction:column;gap:4px;font-size:.7rem;text-align:center;justify-content:center;padding:12px 4px}
.m-al-rail .m-anav button .ic{width:24px;height:24px}.m-al-rail .m-anav button em{position:absolute;margin:-30px -34px 0 0}
.m-al-rail .m-anav button{position:relative}
.m-apane{flex:1;min-width:0;width:100%}
@media(max-width:900px){.m-al-side,.m-al-rail{flex-direction:column}.m-al-side .m-anav,.m-al-rail .m-anav{width:100%;flex-direction:row;position:static;overflow-x:auto;flex-wrap:nowrap}.m-al-rail .m-anav{width:100%}}
.m-panel{background:var(--surface);border:var(--bw) solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:18px;min-width:0}
.m-panel-h{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.m-panel-h h3{font-size:1.1rem;display:flex;gap:8px;align-items:center}
.m-edit{display:grid;grid-template-columns:270px minmax(0,1fr) 350px;gap:16px;align-items:start}
@media(max-width:1180px){.m-edit{grid-template-columns:1fr}}
.m-list{display:grid;gap:8px}
.m-row{display:flex;gap:10px;align-items:center;padding:10px 12px;border:var(--bw) solid var(--line);border-radius:var(--rs);background:var(--surface);cursor:pointer;text-align:start;width:100%}
.m-row:hover{border-color:var(--accent)}.m-row.sel{border-color:var(--accent);background:var(--soft)}.m-row.static{cursor:default}
.m-row .gr{color:var(--muted);opacity:.6}.m-row .bi{width:34px;height:34px;border-radius:9px;background:var(--soft);color:var(--accent);display:grid;place-items:center;flex:none}
.m-row .tt{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}.m-row .tt small{color:var(--muted);font-size:.78rem}
.m-badge{display:inline-flex;gap:4px;align-items:center;font-size:.72rem;font-weight:700;padding:3px 8px;border-radius:99px;background:var(--surface2);color:var(--muted);border:0;white-space:nowrap}
.m-badge.br{background:var(--warnbg);color:var(--warn)}.m-badge.req{background:var(--badbg);color:var(--bad)}.m-badge.sm{margin:4px 4px 0 0;font-size:.68rem}
.m-badge.tg{cursor:pointer}
.m-seg{display:inline-flex;background:var(--surface2);border-radius:var(--rs);padding:3px;gap:2px}
.m-seg button{border:0;background:transparent;padding:6px 12px;border-radius:calc(var(--rs) - 3px);font-weight:700;font-size:.82rem;color:var(--muted);display:inline-flex;gap:5px;align-items:center}
.m-seg button.on{background:var(--surface);color:var(--accent);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.m-seg button em{font-style:normal;opacity:.7}
.m-seg.sm button{padding:4px 10px}
.m-il{display:block;margin-bottom:14px;font-weight:700;font-size:.85rem;min-width:0}
.m-il input,.m-il select,.m-opt-r input,.m-cb select,.m-dsec input,.m-dsec select,.m-search input{width:100%;margin-top:5px;padding:9px 11px;border:2px solid var(--line);border-radius:calc(var(--rs) - 2px);background:var(--surface);font-weight:500;font-size:.92rem}
.m-il input:focus,.m-il select:focus,.m-opt-r input:focus,.m-search input:focus{outline:0;border-color:var(--accent)}
.m-il.row{display:flex;justify-content:space-between;align-items:center;gap:14px}.m-il.row small{display:block;font-weight:400}
.m-ig{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.m-ir{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.m-sw{width:48px;height:28px;border-radius:99px;border:0;background:var(--line);position:relative;flex:none;transition:background .2s}
.m-sw i{position:absolute;top:3px;inset-inline-start:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 3px rgba(0,0,0,.3)}
.m-sw.on{background:var(--ok)}.m-sw.on i{transform:translateX(20px)}[dir=rtl] .m-sw.on i{transform:translateX(-20px)}
.m-opts{display:grid;gap:6px;margin-top:4px}.m-opt-r{display:flex;gap:6px;align-items:center}.m-opt-r input{margin:0}
.m-cb{display:grid;gap:10px;margin-top:6px}
.m-cond{background:var(--warnbg);border-radius:var(--rs);padding:10px}
.m-cond .cr{display:flex;gap:6px;align-items:center}.m-cond .cr select{margin:0;flex:1;min-width:0;padding:7px 8px;font-size:.85rem}
.m-cond .kw{font-size:.7rem;font-weight:800;color:var(--warn);letter-spacing:.06em}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.chip{border:2px solid var(--line);background:var(--surface);border-radius:99px;padding:3px 11px;font-size:.8rem;font-weight:700;display:inline-flex;gap:4px;align-items:center;color:var(--muted)}
.chip.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.m-note{display:block;background:var(--soft);color:var(--ink);border-radius:var(--rs);padding:10px 12px;margin:10px 0;font-size:.86rem;font-weight:500}
.m-note.br{background:var(--warnbg)}.m-note.ok{background:var(--okbg)}.m-note .ic{margin-top:2px}
.m-addmenu{display:flex;gap:6px;flex-wrap:wrap}
/* Ablauf */
.m-flow{display:flex;flex-direction:column;align-items:center;padding:6px 0 10px}
.fl-end{background:var(--ink);color:var(--bg);border-radius:99px;padding:5px 16px;font-weight:700;font-size:.82rem}.fl-end.ok{background:var(--ok);color:#fff;display:flex;gap:6px;align-items:center}
.fl-line{width:3px;height:22px;background:var(--line)}
.fl-node{display:flex;gap:12px;align-items:flex-start;background:var(--surface);border:2px solid var(--line);border-radius:var(--rs);padding:12px 16px;min-width:300px;cursor:pointer;text-align:start}
.fl-node:hover,.fl-node.sel{border-color:var(--accent)}.fl-node.sel{background:var(--soft)}
.fl-node .bi{width:36px;height:36px;border-radius:10px;background:var(--soft);color:var(--accent);display:grid;place-items:center;flex:none}
.fl-node b{display:block}.fl-node small{color:var(--muted);display:block}
.fl-branch{border:2px dashed var(--warn);border-radius:var(--r);padding:12px;background:var(--warnbg);width:min(560px,100%)}
.fl-cond{font-size:.8rem;font-weight:800;color:var(--warn);display:flex;gap:6px;align-items:center;margin-bottom:10px}
.fl-lanes{display:grid;grid-template-columns:1.6fr 1fr;gap:12px}
.lane{position:relative;padding-top:18px}.lane .lb{position:absolute;top:0;font-size:.7rem;font-weight:800;text-transform:uppercase;color:var(--warn)}
.lane.no{border:2px dotted var(--line);border-radius:var(--rs);display:grid;place-items:center;color:var(--muted);padding:18px 8px 8px;text-align:center}
.lane .fl-node{min-width:0}
/* Eingänge */
.m-eng{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}
.m-eng.has{grid-template-columns:minmax(0,1fr) 430px}
@media(max-width:1180px){.m-eng.has{grid-template-columns:1fr}}
.m-tool{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.m-search{position:relative;flex:1;min-width:180px}.m-search .ic{position:absolute;inset-inline-start:11px;top:50%;transform:translateY(-35%);color:var(--muted)}.m-search input{margin:0;padding-inline-start:36px}
.m-lockbar{display:inline-flex;gap:6px;align-items:center;background:var(--okbg);color:var(--ok);font-weight:700;font-size:.8rem;padding:4px 12px;border-radius:99px}
.m-tbl-wrap{overflow-x:auto}
.m-tbl{width:100%;border-collapse:collapse;font-size:.9rem}
.m-tbl th{text-align:start;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:8px 10px;border-bottom:2px solid var(--line);white-space:nowrap}
.m-tbl td{padding:11px 10px;border-bottom:var(--bw) solid var(--line);white-space:nowrap}
.m-tbl tbody tr{cursor:pointer}.m-tbl tbody tr:hover td{background:var(--soft)}.m-tbl tr.sel td{background:var(--soft)}
.m-tbl input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}
.m-pill{display:inline-block;padding:2px 10px;border-radius:99px;font-weight:700;font-size:.76rem}
.m-pill.new{background:var(--warnbg);color:var(--warn)}.m-pill.ok{background:var(--okbg);color:var(--ok)}.m-pill.exp{background:var(--soft);color:var(--accent)}
.m-detail{position:sticky;top:12px;max-height:calc(100vh - 40px);overflow:auto}
.m-meta{display:grid;grid-template-columns:repeat(3,auto);gap:10px;margin-bottom:6px}.m-meta small{display:block;color:var(--muted);font-size:.7rem;text-transform:uppercase}.m-meta b{font-size:.85rem}
.m-dsec{margin-top:14px}.m-dsec h4{display:flex;gap:7px;align-items:center;font-size:.92rem;color:var(--accent);border-bottom:2px solid var(--line);padding-bottom:5px}
.m-dsec .r{font-size:.86rem;align-items:center}.m-dsec dl{padding:0}.m-dsec dd input,.m-dsec dd select{margin:0;padding:6px 8px}
.m-dc{background:var(--surface2);border-radius:var(--rs);padding:10px 12px;margin:8px 0}.m-dc p{margin:4px 0 0}.m-dc .m-il{margin-bottom:6px}
/* Export */
.m-exp{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:16px;align-items:start}
@media(max-width:1000px){.m-exp{grid-template-columns:1fr}}
.m-sumrow{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0}
.m-sumrow div{background:var(--surface2);border-radius:var(--rs);padding:10px 14px}.m-sumrow b{display:block;font:700 1.7rem var(--f-head)}.m-sumrow small{color:var(--muted)}
.m-sumrow .w{background:var(--warnbg)}.m-sumrow .w b{color:var(--warn)}.m-sumrow .g b{color:var(--ok)}
.m-h4{margin:18px 0 6px;font-size:.95rem}
.m-pre{background:#0f1e2c;color:#cfe3f2;border-radius:var(--rs);padding:14px;font:12px/1.5 ui-monospace,Menlo,monospace;overflow:auto;max-height:340px;margin:0;white-space:pre}
.m-map{display:grid;gap:4px;font-size:.84rem}.m-map .mr{display:grid;grid-template-columns:1fr 20px minmax(0,1fr);gap:8px;align-items:center;padding:6px 10px;background:var(--surface2);border-radius:8px}
.m-map .mr b{color:var(--accent);font-family:ui-monospace,Menlo,monospace;font-size:.78rem;overflow-wrap:anywhere}.m-map .mr.no b{color:var(--muted);font-weight:400}.m-map .mr .ic{color:var(--muted)}

.stn .dot .ic{width:20px;height:20px}
.stn{min-width:0}
.m-note>.ic{float:left;margin:3px 9px 0 0}.m-note:after{content:'';display:block;clear:both}
.m-row{min-width:0}.m-blocks .m-row .tt b{overflow-wrap:anywhere}

.m-prsel{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.m-prc{border:2px solid var(--line);border-radius:var(--rs);background:var(--surface);padding:14px;text-align:start;display:grid;gap:6px;align-content:start}
.m-prc:hover{border-color:var(--accent)}.m-prc.on{border-color:var(--accent);background:var(--soft)}
.m-prc svg{width:100%;height:56px;color:var(--accent)}.m-prc b{font-family:var(--f-head)}.m-prc small{color:var(--muted);font-size:.8rem;line-height:1.35}

.m-cols{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:6px;margin-bottom:8px}
.m-col{display:flex;gap:8px;align-items:center;text-align:start;padding:7px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--muted);font:inherit;font-size:.88rem;cursor:pointer}
.m-col i{width:16px;height:16px;border-radius:5px;border:2px solid var(--line);flex:none}
.m-col .ic,.m-col svg{width:16px;height:16px;flex:none}
.m-col.on{color:var(--ink);border-color:var(--accent);background:var(--soft)}.m-col.on i{background:var(--accent);border-color:var(--accent)}
.m-col:disabled{cursor:default;opacity:.85}.m-col span{overflow-wrap:anywhere}

.m-phr{display:grid;grid-template-columns:minmax(120px,190px) minmax(0,1fr) auto;gap:8px;align-items:center;margin-bottom:8px}.m-phr .m-btn{padding:10px}
@media(max-width:560px){.m-phr{grid-template-columns:1fr auto}.m-phr select{grid-column:1/-1}}
.m-in[readonly]{background:var(--soft);color:var(--muted)}
