:root {
    --navy: #152A45;
    --muted: #697585;
    --gruen: #1E8449;
    --rot: #C0392B;
    --gelb: #B9770E;
    --rand: #DCE1E8;
    --hg: #F7F9FB;
}
* { box-sizing: border-box; }
body {
    margin: 0;
    font-family: -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;
    color: #1C2530;
    background: var(--hg);
}
.kopf {
    background: var(--navy);
    color: #fff;
}
.kopf-inner {
    max-width: 760px;
    margin: 0 auto;
    padding: 16px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.marke { font-weight: 600; font-size: 1.05rem; }
.marke-klein { font-weight: 400; opacity: .75; font-size: .9rem; }
.kopf-links a {
    color: #C9D3E0;
    text-decoration: none;
    margin-left: 16px;
    font-size: .85rem;
}
.kopf-links a:hover { color: #fff; }
.inhalt {
    max-width: 760px;
    margin: 0 auto;
    padding: 32px 20px 60px;
}
h1 { font-size: 1.5rem; margin-bottom: .25rem; }
h1 + p.lead { color: var(--muted); margin-top: 0; }
.karte {
    background: #fff;
    border: 1px solid var(--rand);
    border-radius: 10px;
    padding: 24px;
    margin-top: 20px;
}
.feld { margin-bottom: 18px; }
.feld label { display: block; font-weight: 600; margin-bottom: 6px; }
.feld input[type=file] {
    display: block; width: 100%;
    padding: 10px; border: 1px dashed var(--rand); border-radius: 8px; background: var(--hg);
}
.hinweis {
    font-size: .85rem; color: var(--muted); margin-top: 6px;
}
button, .btn {
    background: var(--navy); color: #fff; border: none;
    padding: 12px 22px; border-radius: 8px; font-size: 1rem; font-weight: 600;
    cursor: pointer; text-decoration: none; display: inline-block;
}
button:hover, .btn:hover { background: #1E3A5F; }
.datenschutz-hinweis {
    background: #EAF2FB; border: 2px solid var(--navy); border-radius: 8px;
    padding: 14px 16px; font-size: .9rem; font-weight: 600; color: var(--navy); margin-bottom: 20px;
}
.fehler {
    background: #FDEDEC; border: 1px solid var(--rot); color: #7A241C;
    border-radius: 8px; padding: 14px 16px; margin-top: 20px;
}
.fehler-liste { margin: 10px 0 0 18px; padding: 0; font-size: .92rem; }
.fehler-liste li { margin-bottom: 4px; }
.format-hinweis { margin-top: 10px; font-size: .88rem; color: var(--muted); }
.format-hinweis summary { cursor: pointer; font-weight: 600; color: var(--navy); }
.format-hinweis ul { margin: 8px 0 0 18px; padding: 0; }
.downloads { list-style: none; padding: 0; margin: 20px 0; }
.downloads li { margin-bottom: 12px; }
.checkbox-zeile { display: flex; align-items: flex-start; gap: 10px; margin-top: 16px; font-size: .9rem; }
.checkbox-zeile input { margin-top: 3px; }
.fuss {
    max-width: 760px; margin: 0 auto; padding: 20px; color: var(--muted); font-size: .8rem;
}
.fuss a { color: var(--muted); }
