/* Eltern-Formular: Entwurf A, Fortschritt wählbar (Seitenleiste / Segmentbalken / Linienplan) */

/* Frontend: Entwurf A. Fortschritt wählbar (B, D, F). Backend: Entwurf B. */
:root{--f-head:'Fredoka','Trebuchet MS',sans-serif;--f-body:'Karla',system-ui,sans-serif;--green:#76c91e;--orange:#f26b1d;--pink:#f48fb1;--cyan:#5aaeff;--lgreen:#81c784;--side:#0c3b61}
.m-root{background:var(--bg)}
.m-header{background:var(--surface);position:relative;z-index:5}
.hd{display:flex;align-items:center;gap:18px;padding-block:10px}.hd img{height:78px;display:block}
.hd nav{margin-inline-start:auto;display:flex;gap:2px;align-items:center}.hd nav a{padding:9px 12px;border-radius:9px;color:var(--ink);text-decoration:none;font-weight:500}
.mosaic{display:flex;gap:3px;overflow:hidden;height:16px;align-items:center;padding:0 4px;background:var(--surface);border-bottom:1px solid var(--line)}.mosaic i{flex:none;width:9px;height:9px;border-radius:2px}
.hero{position:relative;min-height:clamp(380px,50vw,540px);display:flex;align-items:flex-end;background:#2b4a63;overflow:hidden;color:#fff}
.hero-bg{position:absolute;inset:0;overflow:hidden}.hero-bg img{width:100%;height:100%;object-fit:cover;display:block}
.hero:before{content:"";z-index:1;position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,28,48,.9) 0%,rgba(6,28,48,.4) 55%,rgba(6,28,48,.05) 100%)}
.hero .in{position:relative;z-index:2;padding-block:40px;display:grid;gap:16px;max-width:820px;margin-inline-start:max(clamp(16px,3vw,32px),calc((100vw - var(--wrap))/2))}
.hero .tag{background:var(--hi);color:var(--hi-ink);width:max-content;padding:4px 14px;border-radius:99px;font:600 15px var(--f-head)}
.hero h1{font-size:clamp(34px,6vw,62px)}.hero p{margin:0;font-size:19px;opacity:.95;max-width:56ch}.hero .row{display:flex;gap:16px;flex-wrap:wrap;align-items:center}
.m-start.btn-g{background:var(--green);color:#10300a;font:600 22px var(--f-head);padding:16px 30px;border-radius:14px;display:inline-flex;gap:10px;align-items:center;box-shadow:0 6px 0 #4f8a10,0 12px 24px rgba(0,0,0,.3);transition:transform .15s}.m-start.btn-g:hover{transform:translateY(-2px)}
.m-closed{background:var(--accent)}
.how{padding-block:48px 24px}.how h2{font-size:32px;margin-bottom:22px}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;counter-reset:s}
.steps li{counter-increment:s;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px;display:grid;grid-template-columns:1fr;gap:12px;align-content:start;box-shadow:var(--shadow)}
.steps li:before{content:counter(s);width:48px;height:48px;border-radius:12px;background:var(--hi);color:var(--hi-ink);display:grid;place-items:center;font:600 24px var(--f-head)}
.steps li:nth-child(2):before{background:var(--cyan)}.steps li:nth-child(3):before{background:var(--lgreen)}.steps li:nth-child(4):before{background:#ffb066}.steps li:nth-child(5):before{background:var(--pink)}
.steps b{font:600 17px/1.25 var(--f-head);overflow-wrap:break-word;word-break:normal;hyphens:none}
.langband{background:linear-gradient(120deg,color-mix(in srgb,var(--hi) 38%,var(--surface)),var(--surface) 70%);border-block:1px solid var(--line);padding-block:26px;margin-top:30px}.langband .wrapx{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.langband b{font:600 22px var(--f-head)}
.m-footer{background:#0c3b61;color:#cfe3f2;padding:26px 0;font-size:15px}.m-footer .wrapx{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
/* Karte */
.m-wiz .m-card{margin-top:18px}.m-nav .m-btn.go{background:var(--green);color:#10300a}.m-infobox{background:var(--hi)}
.m-pinfo b{font-family:var(--f-head)}
/* Fortschritt: Seitenleiste (B) */
.m-wiz.m-p-side{display:grid;grid-template-columns:300px minmax(0,1fr);gap:28px;align-items:start;max-width:1240px}
.m-p-side .m-card{margin-top:0}
.m-p-side .m-progress{position:sticky;top:16px;background:var(--side);color:#e9f3fb;border-radius:18px;padding:22px 16px}
.m-p-side .m-pinfo{display:block;color:#a9c7de;margin-bottom:16px;padding-inline:8px}.m-p-side .m-pinfo b{display:block;color:#fff;font-size:1.25rem}
.m-p-side .m-prog{flex-direction:column;gap:2px;position:relative}.m-p-side .m-prog li{position:relative}
.m-p-side .m-prog li:not(:last-child):after{content:"";position:absolute;inset-inline-start:27px;top:48px;bottom:-4px;width:3px;background:#ffffff30;z-index:0}
.m-p-side .m-prog li.done:not(:last-child):after{background:var(--green)}
.m-p-side .m-prog button{position:relative;z-index:1;color:#e9f3fb;padding:8px;border-radius:12px}.m-p-side .m-prog li.cur button{background:#ffffff1c}
.m-p-side .m-prog .n{background:#0c3b61;border-color:#ffffff55;color:#fff;border-radius:12px;width:40px;height:40px}
.m-p-side .m-prog li.cur .n{background:var(--hi);border-color:var(--hi);color:#15283a}.m-p-side .m-prog li.done .n{background:var(--green);border-color:var(--green);color:#10300a}
.m-p-side .m-prog .tx{font-size:.98rem}.m-p-side .m-pbar{display:block;background:#ffffff30;margin:18px 8px 0}.m-p-side .m-pbar i{background:var(--hi)}
@media(max-width:900px){.m-wiz.m-p-side{grid-template-columns:1fr}.m-p-side .m-progress{position:static}.m-p-side .m-prog{flex-direction:row}.m-p-side .m-prog li:after{display:none}}
/* Fortschritt: Segmentbalken (D) */
.m-p-bar .m-pbar{display:none}.m-prog-bar{gap:8px}
.m-prog-bar button{flex-direction:column;align-items:flex-start;gap:9px;padding:0;border-radius:0}
.m-prog-bar button:before{content:"";display:block;height:8px;width:100%;border-radius:9px;background:var(--line);transition:background .3s}
.m-prog-bar li.done button:before{background:var(--green)}.m-prog-bar li.cur button:before{background:linear-gradient(90deg,var(--accent) 45%,var(--line) 45%)}
.m-prog-bar .n{display:none}.m-prog-bar .tx{font-size:.82rem;color:var(--muted)}.m-prog-bar li.cur .tx{color:var(--ink)}.m-prog-bar li.done .tx{color:var(--ink)}
.m-p-bar .m-progress{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px 18px;box-shadow:var(--shadow)}
/* Fortschritt: Linienplan (F) */
.m-metro{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px 20px 8px;box-shadow:var(--shadow)}
.m-metro .ln{stroke:var(--line)}.m-metro .ln.dn{stroke:var(--accent)}.m-metro .gh{stroke:var(--orange);opacity:1}
.stn .dot{font-family:var(--f-head)}.stn.ghost .dot{border-color:var(--orange);color:var(--orange)}.stn.ghost .tx{color:var(--orange);font-weight:600}
.stn .tx{font:600 .92rem/1.15 var(--f-head)}.stn.done .dot{background:var(--green);border-color:var(--green)}
.bigerr{margin-top:16px;padding:12px 14px;background:var(--badbg);border-radius:10px;display:flex;gap:8px;align-items:center}
.m-nav .m-btn[disabled]{opacity:.6;cursor:wait}
.m-doc a.m-btn{text-decoration:none}
.m-footer a{color:#cfe3f2;text-decoration:underline}
.m-sep{grid-column:1/-1;border:0;border-top:2px dashed var(--line);margin:8px 0 4px;width:100%}
.gsym{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;margin-inline-end:auto}
.gsym .ic{width:18px;height:18px}
.gsym.venus{background:#fde3ee;color:#e0508a}.gsym.mars{background:#dcecfb;color:#2f7fd1}
.m-opt:has(.gsym) .ot{flex:0 1 auto}
.m-infobox .ib-room{font:600 1.35rem/1.25 var(--f-head);margin:6px 0 0}
.m-infobox .ib-addr{margin:1.1em 0 0;line-height:1.5}
.m-infobox .ib-c2{border-top:1px solid #00000022;margin-top:16px;padding-top:12px;display:grid;gap:4px;font-weight:700}
.m-infobox .ib-c2 p{margin:0;display:flex;gap:8px;align-items:center}
.m-hint{margin:10px 0 0;color:var(--muted);display:flex;gap:6px;align-items:center;font-size:.92rem}.m-hint.err{color:var(--bad);font-weight:600}
.m-req{border-left:4px solid #2e9e4f;padding-left:18px}
.m-ack{margin-top:12px}
.m-infobox .ib-slot{display:block;font-style:normal;font-weight:500;font-size:.85em;margin-top:4px}
/* Segmentbalken & Linienplan: dunkelblaue Fläche wie die Seitenleiste */
.m-p-bar .m-progress,.m-p-metro .m-progress{background:var(--side);color:#e9f3fb;border:0;border-radius:18px;padding:20px 22px}
.m-p-bar .m-pinfo,.m-p-metro .m-pinfo{color:#e9f3fb}.m-p-bar .m-pinfo span,.m-p-metro .m-pinfo span{color:#b9d4e8}
.m-prog-bar button:before{background:#ffffff30}.m-prog-bar li.done button:before{background:var(--green)}
.m-prog-bar li.cur button:before{background:linear-gradient(90deg,var(--hi) 45%,#ffffff30 45%)}
.m-prog-bar .tx{color:#b9d4e8}.m-prog-bar li.cur .tx,.m-prog-bar li.done .tx{color:#fff}
.m-p-metro .m-metro{background:transparent;border:0;box-shadow:none;padding:6px 0 8px}
.m-p-metro .m-metro .ln{stroke:#ffffff35}.m-p-metro .m-metro .ln.dn{stroke:var(--green)}
.m-p-metro .stn .dot{background:#0c3b61;border-color:#ffffff55;color:#fff}
.m-p-metro .stn.cur .dot{background:var(--hi);border-color:var(--hi);color:#15283a}
.m-p-metro .stn.done .dot{background:var(--green);border-color:var(--green);color:#10300a}
.m-p-metro .stn .tx{color:#e9f3fb}.m-p-metro .stn.ghost .tx{color:var(--hi)}.m-p-metro .stn.ghost .dot{border-color:var(--hi);color:var(--hi);background:transparent}
.m-p-bar .m-pinfo b,.m-p-metro .m-pinfo b{color:#fff}
.m-p-metro .stn.cur .dot{box-shadow:0 0 0 5px #ffffff30}
.m-p-metro .stn.cur .tx{color:#fff}
/* Warnfeld (Freitext, rot) */
.m-f.m-red .m-in{background:#fde2e2;border-color:#e59a9a;min-height:9.5em;resize:vertical;line-height:1.45}
.m-f.m-red .m-l{color:#b3201f}
.m-hint{display:block;color:var(--muted);font-size:.9rem;line-height:1.35;margin:0 0 6px}
.m-paper td{white-space:pre-wrap}
.m-in::placeholder{color:#b4bfca;opacity:1}

.m-gt{border-left:4px solid #0b6bb5;padding-left:18px;margin-top:18px}.m-docs.m-gt h3 .ic{color:#0b6bb5}

.m-paper tr.p-warn th,.m-paper tr.p-warn td{background:#fde3e3;color:#b3141a;font-weight:700;padding:6px 8px;border-top:2px solid #d32f2f;border-bottom:2px solid #d32f2f}.m-paper tr.p-warn th{padding-inline-start:8px}

.m-privlink{margin:6px 0 0;margin-inline-start:54px}.m-privlink a{display:inline-flex;gap:6px;align-items:center;font-weight:700;color:var(--accent)}.m-privlink .ic{width:16px;height:16px}

/* „Wann“ als grüner Kasten in der gelben Abschlussbox */
.m-infobox .ib-h{background:#e3f5e6;border:2px solid #2e9e4f;border-radius:14px;padding:14px 20px;color:#15283a;margin-bottom:20px}
.m-infobox .ib-h .ic{color:#1f7a3a;flex:none}.m-infobox .ib-h small{color:#1f6b35;opacity:1}
.m-infobox .ib-h .ib-slot{color:#1f6b35}

.m-infobox .ib-g>div:first-child{padding-inline-start:22px}
.m-subhd{grid-column:1/-1;margin:6px 0 -2px;font-size:17px;color:var(--brand,#4A80B7)}
.m-dbtns{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.m-dbtns .m-btn{text-decoration:none}
@media(max-width:600px){.m-dbtns{width:100%;justify-content:flex-start}}
/* V81: Eingabefelder nebeneinander stehen auf exakt gleicher Höhe (Beschriftung oben, Feld unten ausgerichtet) */
.m-grid>.m-f{display:flex;flex-direction:column}
.m-grid>.m-f>.m-in,.m-grid>.m-f>.m-choices{margin-top:auto}
.m-grid>.m-f>.m-l{margin-bottom:6px}
.m-f>input.m-in,.m-f>select.m-in{height:54px;box-sizing:border-box}
.m-docpv{width:min(960px,100%);height:92vh}.m-docpv-b{padding:0;flex:1;display:flex;min-height:0}.m-docpv-b iframe{border:0;width:100%;flex:1;min-height:60vh;background:#fff}
.m-f.req .m-in[readonly],.m-f .m-in[readonly]{background-color:#eceff3;border-color:#c5ced8;color:#6b7b8c;cursor:not-allowed}
.m-paper tr.p-ru th,.m-paper tr.p-ru td{background:#ede5f7;color:#4a2a80;font-weight:700;padding:6px 8px;border-top:2px solid #7b4fb8;border-bottom:2px solid #7b4fb8}.m-paper tr.p-ru th{padding-inline-start:8px}
/* V135: Startseite auf Laptops/Tablets kompakter – möglichst alles bis zur Sprachwahl ohne Scrollen (Handys ausgenommen) */
@media (min-width:701px) and (max-height:1000px){
  .hd{padding-block:6px}.hd img{height:56px}
  .hero{min-height:clamp(250px,calc(100vh - 92px - 126px - 70px - 44px),540px)}
  .hero .in{padding-block:22px;gap:10px}
  .hero h1{font-size:clamp(30px,4.6vw,52px);line-height:1.05}.hero p{font-size:17px}
  .hero .tag{font-size:14px;padding:3px 12px}
  .m-start.btn-g{font-size:20px;padding:11px 24px;box-shadow:0 4px 0 #4f8a10,0 8px 16px rgba(0,0,0,.25)}
  .how{padding-block:14px 4px}.how h2{font-size:22px;margin-bottom:10px}
  .steps{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
  .steps li{grid-template-columns:auto 1fr;align-items:center;gap:10px;padding:9px 12px;box-shadow:none}
  .steps li:before{width:34px;height:34px;font-size:18px;border-radius:9px}
  .steps b{font-size:15px}
  .langband{padding-block:9px;margin-top:12px}.langband .wrapx{gap:12px}.langband b{font-size:17px}
  .m-footer{padding:12px 0;font-size:14px}
}
.m-subhd{color:#c62828}

/* V139: Zusendung per E-Mail (Prüfseite, Abschlussseite, Landing-Page) */
.m-mailopt{margin-top:16px;border:2px solid #d5e0ea;border-radius:14px;background:#fff;padding:16px 18px;display:flex;flex-direction:column;gap:10px}
.m-mailopt.on{border-color:#76c91e}
.m-mailopt-l{display:flex;gap:12px;align-items:flex-start;cursor:pointer}
.m-mailopt-l input{width:22px;height:22px;flex:none;margin:2px 0 0;accent-color:#4A80B7}
.m-mailopt-l b{display:block;font-size:1.05rem}
.m-mailopt-l small{display:block;color:#4d6a84;line-height:1.5;margin-top:3px;font-size:.9rem}
.m-mailopt-a{margin-inline-start:34px;background:#f3f7fb;border-radius:10px;padding:8px 12px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.m-mailopt-a>span{color:#4d6a84}
.m-mailopt-a .m-btn{margin-inline-start:auto}
.m-mailst{display:flex;gap:10px;align-items:center;margin:0 0 16px;padding:10px 14px;border-radius:10px;background:#E2F1FB;color:#17324a}
.m-mailst.ok{background:#e4f4e6}.m-mailst.fail{background:#fdecea;color:#8a1c12}
.m-mailst .ic{flex:none}
.m-landing .m-docs:first-of-type{margin-top:8px}
