
:root { --sky:#3c95d1; --anthrazit:#373737; --blau:#373737; --blau2:#3c95d1; --hell:#eaf4fb; --linie:#d5dde8; --text:#1d2733; --grau:#5d6b7a; --gut:#1e7d3a; --gutbg:#e6f4ea; --warn:#8a5a00; --warnbg:#fff4dc; --rot:#b3261e; --rotbg:#fdecea; --bg:#f6f8fb; }
* { box-sizing:border-box; }
body { margin:0; font-family:"DIN","Segoe UI",system-ui,sans-serif; font-size:15px; color:var(--text); background:var(--bg); }
header { background:#fff; border-top:6px solid var(--sky); }
.kopf { max-width:1100px; margin:0 auto; padding:10px 16px; display:flex; align-items:center; gap:16px; }
.kopf img { height:58px; } .kopf .titel { font-weight:700; color:var(--anthrazit); font-size:20px; letter-spacing:.2px; padding-left:16px; border-left:3px solid var(--sky); } .kopf .titel span { display:block; font-weight:400; font-size:13px; color:var(--sky); letter-spacing:.3px; }
.kopf .wer { margin-left:auto; text-align:right; font-size:13px; color:var(--grau); }
.stwahl { font-weight:600; color:var(--sky); border:2px solid var(--sky); border-radius:7px; padding:5px 8px; width:auto; font-size:13px; margin-top:4px; }
.pflicht::after { content:" *"; color:var(--rot); } .fehlt { border-color:var(--rot) !important; background:#fff7f6; } .ftext { color:var(--rot); font-size:12.5px; margin-top:3px; }
.zwei { display:grid; grid-template-columns:1fr 1fr; gap:0 16px; } @media (max-width:640px) { .zwei { grid-template-columns:1fr; } }
.radio { display:flex; flex-wrap:wrap; gap:8px; margin-top:4px; } .radio label { margin:0; display:flex; gap:6px; align-items:center; border:1px solid var(--linie); border-radius:7px; padding:8px 12px; color:var(--text); font-size:14px; cursor:pointer; background:#fff; } .radio input { width:auto; } .kopf .wer b { color:var(--text); display:block; font-size:14px; }
nav { background:var(--anthrazit); }
nav .in { max-width:1100px; margin:0 auto; padding:0 8px; display:flex; flex-wrap:wrap; }
nav a { color:#d7d7d7; text-decoration:none; padding:12px 13px; font-size:14px; border-bottom:4px solid transparent; }
nav a:hover { color:#fff; }
nav a.akt { color:#fff; border-bottom-color:var(--sky); font-weight:600; }
.band { background:linear-gradient(90deg,var(--sky),#2f7fb8); color:#fff; } .band .in { max-width:1100px; margin:0 auto; padding:18px 16px; } .band h1 { color:#fff; margin:0; font-size:23px; } .band p { margin:3px 0 0; opacity:.92; font-size:14px; }
main { max-width:1100px; margin:0 auto; padding:22px 16px 60px; }
h1 { font-size:22px; color:var(--anthrazit); margin:0 0 4px; } .unter { color:var(--grau); margin:0 0 18px; }
.raster { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:14px; margin-bottom:16px; }
.karte { background:#fff; border:1px solid var(--linie); border-top:3px solid var(--sky); border-radius:10px; padding:16px 18px; margin-bottom:14px; box-shadow:0 1px 3px rgba(0,0,0,.04); }
.karte h2 { font-size:15px; margin:0 0 10px; color:var(--anthrazit); text-transform:uppercase; letter-spacing:.6px; font-size:13px; }
.karte a { color:var(--sky); font-weight:600; text-decoration:none; }
.jahrwahl { display:flex; align-items:center; gap:10px; margin:0 0 14px; } .jahrwahl select { width:auto; font-weight:700; color:var(--anthrazit); border:2px solid var(--sky); padding:7px 12px; }
.zahl-gross { font-size:26px; font-weight:700; margin:4px 0; } .klein { font-size:12.5px; color:var(--grau); }
.badge { display:inline-block; padding:2px 9px; border-radius:10px; font-size:12px; font-weight:600; background:var(--hell); color:var(--blau); }
.badge.gut { background:var(--gutbg); color:var(--gut); } .badge.warn { background:var(--warnbg); color:var(--warn); } .badge.rot { background:var(--rotbg); color:var(--rot); }
table { width:100%; border-collapse:collapse; } th, td { text-align:left; padding:8px 8px; border-bottom:1px solid var(--linie); font-size:14px; vertical-align:top; }
th { background:var(--hell); font-size:12.5px; color:var(--grau); font-weight:600; } td.z, th.z { text-align:right; white-space:nowrap; }
.dok { display:flex; align-items:center; gap:12px; padding:10px 0; border-bottom:1px solid var(--linie); }
.dok:last-child { border-bottom:0; } .dok .ico { width:34px; height:40px; border-radius:4px; background:#fbe9e7; color:#c0392b; font-size:10px; font-weight:700; display:flex; align-items:center; justify-content:center; flex:none; }
.dok .t { flex:1; } .dok .t b { display:block; font-weight:600; } .neu { background:var(--blau2); color:#fff; font-size:11px; padding:1px 7px; border-radius:8px; margin-left:6px; }
button.p, a.p { background:var(--blau2); color:#fff; border:0; border-radius:7px; padding:9px 16px; font:inherit; font-weight:600; cursor:pointer; text-decoration:none; display:inline-block; }
button.s { background:#fff; color:var(--blau); border:1px solid var(--linie); border-radius:7px; padding:8px 14px; font:inherit; cursor:pointer; }
input, select, textarea { font:inherit; padding:9px 10px; border:1px solid var(--linie); border-radius:7px; width:100%; background:#fff; }
label { display:block; font-size:13px; color:var(--grau); margin:12px 0 4px; }
.anm-bg { background:linear-gradient(160deg,var(--sky) 0%,#2a6fa3 100%); min-height:82vh; padding:40px 16px; } .anm { max-width:430px; margin:0 auto; } .anm .karte { padding:30px; border-top:0; box-shadow:0 10px 30px rgba(0,0,0,.18); } .anm img { height:70px; display:block; margin:0 auto 12px; } .anm-fuss { text-align:center; color:#eaf4fb; font-size:13px; margin-top:16px; }
.trenner { text-align:center; color:var(--grau); font-size:12.5px; margin:16px 0; }
.hinweis { background:var(--hell); border-left:4px solid var(--blau2); padding:10px 14px; border-radius:6px; font-size:13.5px; margin:10px 0; }
.ok { background:var(--gutbg); border-left:4px solid var(--gut); padding:10px 14px; border-radius:6px; font-size:13.5px; margin:10px 0; }
.objekt { display:flex; justify-content:space-between; padding:6px 0; border-bottom:1px dashed var(--linie); font-size:14px; } .objekt:last-child { border:0; }
.zeit { border-left:2px solid var(--linie); margin-left:6px; padding-left:14px; } .zeit div { position:relative; padding:4px 0 10px; } .zeit div::before { content:""; position:absolute; left:-20px; top:9px; width:10px; height:10px; border-radius:50%; background:var(--blau2); }
footer { text-align:center; font-size:12px; color:#cfcfcf; padding:20px; background:var(--anthrazit); } footer a { color:var(--sky); }
@media (max-width:640px) { .kopf .wer { display:none; } nav a { padding:9px 9px; font-size:13px; } h1 { font-size:19px; } }

.versteckt { display:none !important; }
.leiste { display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin:0 0 14px; }
.leiste select { width:auto; }
.rechts { margin-left:auto; }
.mt { margin-top:12px; } .mb0 { margin-bottom:0; }
.breit { width:100%; }
.feldfehler { color:var(--rot); font-size:12.5px; margin-top:3px; }
.fehlerbox { background:var(--rotbg); border-left:4px solid var(--rot); padding:10px 14px; border-radius:6px; font-size:13.5px; margin:10px 0; }
.warnbox { background:var(--warnbg); border-left:4px solid var(--warn); padding:10px 14px; border-radius:6px; font-size:13.5px; margin:10px 0; }
.check { display:flex; gap:8px; align-items:flex-start; color:var(--text); font-size:14px; } .check input { width:auto; margin-top:3px; }
.kat { font-size:12px; color:var(--sky); text-transform:uppercase; letter-spacing:.5px; margin:16px 0 4px; font-weight:700; }
.kat:first-child { margin-top:0; }
.dok a.t { color:var(--text); font-weight:400; } .dok a.t b { color:var(--text); }
.knopfreihe { display:flex; gap:8px; flex-wrap:wrap; margin-top:12px; }
.status { white-space:nowrap; }
pre.daten { white-space:pre-wrap; font:inherit; font-size:13px; margin:4px 0 0; color:var(--grau); }
.lade { color:var(--grau); padding:30px 0; text-align:center; }
.wer button.s { margin-top:6px; padding:4px 10px; font-size:12.5px; }
a.s { background:#fff; color:var(--blau); border:1px solid var(--linie); border-radius:7px; padding:8px 14px; text-decoration:none; font-weight:400; display:inline-block; white-space:nowrap; }
.dok a.s { font-size:13px; padding:6px 10px; }
.anm-powered { text-align:center; color:#cfe6f6; font-size:11.5px; letter-spacing:.4px; margin-top:6px; opacity:.85; }
