:root{--navy:#14304f;--navy2:#1e4a78;--link:#0b63b0;--bg:#f3f5f8;--card:#fff;--line:#dfe5ec;--text:#16283c;--muted:#5b6b7e;--infobg:#eef4fb;--infoline:#9dbbdc;--off:#a9b6c5;--rot:#C0392B;--gruen:#1E8449;--gelb:#B9770E}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:Aptos,Calibri,"Segoe UI",Arial,Helvetica,sans-serif;line-height:1.55}
.kopf{background:#fff;border-bottom:1px solid var(--line)}
.kopf-inner{max-width:1000px;margin:0 auto;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.marke-block{display:flex;align-items:center;gap:14px}
.logo{width:46px;height:46px;border-radius:12px;background:linear-gradient(135deg,var(--navy2),var(--navy));color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:17px}
.marke{font-weight:700;color:var(--navy);font-size:1.05rem}.marke-klein{display:block;font-weight:400;color:var(--muted);font-size:.85rem}
.kopf-inner{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:12px;padding:16px 20px 14px}
.marke{white-space:nowrap}
.kopf-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;width:100%}
.kopf-links a{color:var(--muted);text-decoration:none;font-size:.88rem}.kopf-links a:hover{color:var(--link);text-decoration:underline}
.kopf-links a:first-child{border:1.5px solid var(--navy2);border-radius:8px;padding:6px 14px;font-weight:600;background:var(--infobg);color:var(--navy)}.kopf-links a:first-child:hover{text-decoration:none;background:#e1ecf8}
.inhalt{max-width:1000px;margin:0 auto;padding:26px 20px 40px}
.hero{background:var(--navy);color:#fff;border-radius:18px;padding:30px 36px;margin-bottom:22px}
.hero .eyebrow{font-size:.75rem;letter-spacing:.14em;font-weight:700;color:#bcd3ee;text-transform:uppercase}
.hero h1{margin:6px 0 8px;font-size:1.9rem;line-height:1.2;color:#fff}.hero p{margin:0;color:#e6eef8;max-width:760px}
h1{font-size:1.6rem;color:var(--navy);margin:0 0 .3rem}h1+p.lead{color:var(--muted);margin-top:0}
.karte{background:var(--card);border-radius:18px;padding:28px;box-shadow:0 6px 24px rgba(20,48,79,.08);margin-top:18px}
.feld{margin-bottom:18px}.feld label{display:block;font-weight:700;margin-bottom:6px;color:var(--navy)}
.hinweis{font-size:.88rem;color:var(--muted);margin-top:6px}
button,.btn{background:var(--navy);color:#fff;border:0;padding:14px 24px;border-radius:12px;font-size:1.05rem;font-weight:700;cursor:pointer;text-decoration:none;display:inline-block;font-family:inherit}
button:hover,.btn:hover{background:var(--navy2)}button:disabled{background:var(--off);cursor:not-allowed}
.btn-hell{background:#fff;color:var(--navy);border:2px solid var(--navy)}.btn-hell:hover{background:var(--infobg)}
.datenschutz-hinweis,.info{background:var(--infobg);border:2px solid var(--infoline);border-radius:14px;padding:16px 20px;color:var(--navy);margin-bottom:18px}
.info h3{margin:0 0 6px;font-size:1.1rem}.info p{margin:0}
.fehler{background:#FDEDEC;border:1px solid var(--rot);color:#7A241C;border-radius:12px;padding:14px 18px;margin-top:18px}
.fehler-liste{margin:10px 0 0 18px;padding:0;font-size:.92rem}.fehler-liste li{margin-bottom:6px}
.warnung{background:#FEF5E7;border:1px solid var(--gelb);color:#6b4408;border-radius:12px;padding:14px 18px;margin-top:14px}
.block{border:1px solid var(--line);border-radius:14px;padding:20px 24px;margin-bottom:16px}
.block h3{margin:0 0 8px;font-size:1.15rem;color:var(--navy)}.block p{margin:0 0 14px}.block a{color:var(--link);font-weight:600}
label.chk{display:flex;gap:14px;align-items:center;font-weight:700;color:var(--navy);cursor:pointer}
label.chk input{width:24px;height:24px;accent-color:var(--navy2);flex:none;cursor:pointer}
.dropzone{border:2px dashed var(--infoline);background:var(--infobg);border-radius:16px;padding:34px 20px;text-align:center;cursor:pointer;transition:background .15s,border-color .15s}
.dropzone.aktiv{background:#dcebfa;border-color:var(--navy2)}
.dropzone strong{display:block;font-size:1.15rem;color:var(--navy)}.dropzone span{color:var(--muted);font-size:.92rem}
.dateiliste{list-style:none;margin:16px 0 0;padding:0}
.dateiliste li{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--line);border-radius:10px;padding:9px 14px;margin-bottom:8px;background:#fff}
.dateiliste li.zu-gross{border-color:var(--rot);background:#FDEDEC}
.dateiliste .dinfo{flex:1;min-width:0}.dateiliste .name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.dateiliste .gr{display:block;color:var(--muted);font-size:.85rem;white-space:normal;overflow-wrap:anywhere}.dateiliste button{flex:none}
.dateiliste button{padding:4px 12px;font-size:.85rem;background:#fff;color:var(--navy);border:1px solid var(--line)}
.summe{font-size:.9rem;color:var(--muted);margin-top:8px}.summe.fehl{color:var(--rot);font-weight:700}
.downloads{display:flex;gap:14px;flex-wrap:wrap;margin:20px 0}
.fortschritt{height:14px;background:var(--line);border-radius:8px;overflow:hidden;margin:18px 0 8px}
.fortschritt>div{height:100%;background:linear-gradient(90deg,var(--navy2),var(--navy));width:5%;transition:width .6s}
.spinner{display:inline-block;width:18px;height:18px;border:3px solid var(--line);border-top-color:var(--navy);border-radius:50%;animation:dreh 1s linear infinite;vertical-align:-3px;margin-right:8px}
@keyframes dreh{to{transform:rotate(360deg)}}
.fuss{max-width:1000px;margin:0 auto;padding:10px 20px 40px;color:var(--muted);font-size:.8rem;text-align:center}.fuss a{color:var(--muted);margin:0 6px}
@media(max-width:640px){.hero{padding:22px}.hero h1{font-size:1.5rem}.karte{padding:20px 16px}}
/* Handout-Download (V3.2.3) */
.btn-download{display:inline-flex;align-items:center;gap:10px}
.handout{display:grid;gap:22px;align-items:center;border:2px solid var(--infoline);background:var(--infobg)}
.handout-bild{display:block;border-radius:12px;overflow:hidden;box-shadow:0 6px 20px rgba(20,48,79,.18);border:1px solid var(--line);background:#fff}
.handout-bild img{display:block;width:100%;height:auto}
.handout-kompakt{display:block}
@media(min-width:820px){.handout:not(.handout-kompakt){grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:32px}}
.handout-kompakt{margin-bottom:16px}
.fuss-kontakt{display:inline-block;margin-top:6px;font-size:.9rem}.fuss-kontakt,.fuss-kontakt a{color:var(--text,#14304f);font-weight:700}
