:root { --gold:#C8A84B; --gold2:#E2C46A; --navy:#1C1C23; --cyan:#4DC8E8; --hell:#f6f7f9; --grau:#5b6b7d; --linie:#e6e8ee; }
* { box-sizing:border-box; }
body { font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif; color:#1f2430; background:var(--hell); margin:0; line-height:1.55; }
.topbar { background:var(--navy); border-bottom:4px solid var(--gold); padding:18px 0; }
.topbar .inner { max-width:760px; margin:0 auto; padding:0 20px; }
.form-wrap { max-width:760px; margin:0 auto; padding:24px 20px 60px; }
.form-head { margin-bottom:22px; }
h1 { color:var(--navy); font-size:26px; margin:14px 0 6px; }
.intro { color:var(--grau); }
.hint { font-weight:400; font-size:13px; color:var(--grau); }
.block { background:#fff; border:1px solid var(--linie); border-radius:10px; padding:18px 20px; margin:16px 0; }
.block h2 { color:var(--navy); font-size:17px; margin:0 0 6px; padding-bottom:6px; border-bottom:2px solid var(--gold); }
.block .blockhint { color:var(--grau); font-size:13px; margin:0 0 12px; }
.field { margin-bottom:14px; }
.field label { display:block; font-weight:600; font-size:14px; margin-bottom:5px; }
.field input, .field select, .field textarea { width:100%; padding:9px 11px; border:1px solid #cdd6e2; border-radius:7px; font-size:15px; font-family:inherit; }
.field input:focus, .field select:focus, .field textarea:focus { outline:none; border-color:var(--gold); box-shadow:0 0 0 3px rgba(200,168,75,.18); }
.checks { display:flex; flex-wrap:wrap; gap:6px 16px; }
.check { font-weight:400; display:flex; align-items:center; gap:6px; }
.check input { width:auto; }
.scale-row { padding:12px 0; border-bottom:1px solid var(--linie); }
.scale-row:last-child { border-bottom:none; }
.scale-label { display:block; font-weight:600; font-size:14px; margin-bottom:8px; }
.scale-label .bsp { display:block; font-weight:400; font-size:12px; color:var(--grau); margin-top:2px; }
.scale { display:flex; gap:6px; }
.scale-opt { flex:1; text-align:center; border:1px solid #cdd6e2; border-radius:7px; padding:7px 0; cursor:pointer; font-size:14px; }
.scale-opt input { display:none; }
.scale-opt:has(input:checked) { background:var(--navy); color:var(--gold); border-color:var(--navy); font-weight:700; }
.hp { position:absolute; left:-9999px; }
.datenschutz { margin:18px 4px; font-size:14px; }
.submit { background:var(--gold); color:#1f2430; border:none; padding:13px 26px; border-radius:8px; font-size:16px; font-weight:700; cursor:pointer; width:100%; }
.submit:hover { background:var(--gold2); }
.danke { background:#fff; border:1px solid var(--linie); border-radius:10px; padding:24px; text-align:center; }
.danke .ref { font-size:24px; font-weight:800; color:var(--navy); letter-spacing:1px; margin:8px 0; }

/* Admin */
.admin-wrap { max-width:1000px; margin:0 auto; padding:24px 20px 60px; }
.admin-head { display:flex; justify-content:space-between; align-items:center; border-bottom:3px solid var(--gold); padding-bottom:12px; margin-bottom:20px; }
.admin-head .logo { font-weight:700; }
table.liste { width:100%; border-collapse:collapse; background:#fff; border-radius:10px; overflow:hidden; }
table.liste th, table.liste td { text-align:left; padding:10px 12px; border-bottom:1px solid var(--linie); font-size:14px; }
table.liste th { background:var(--navy); color:#fff; font-weight:600; }
.badge { display:inline-block; padding:2px 9px; border-radius:20px; font-size:12px; font-weight:600; }
.badge.neu { background:#fdf3e0; color:#a96a00; }
.badge.ausgewertet { background:#e6f6fc; color:#1577a0; }
.badge.freigegeben { background:#e3f3e8; color:#1c7a3e; }
.btn { background:var(--gold); color:#1f2430; border:none; padding:8px 14px; border-radius:6px; font-size:14px; cursor:pointer; text-decoration:none; display:inline-block; font-weight:600; }
.btn.grau { background:#5b6b7d; color:#fff; }
.btn.gruen { background:#1c7a3e; color:#fff; }
a { color:#1577a0; }
.login-box { max-width:380px; margin:60px auto; background:#fff; border:1px solid var(--linie); border-radius:10px; padding:28px; }
.login-box .topbar { margin:-28px -28px 18px; border-radius:10px 10px 0 0; }
.fehler { background:#fde8e8; color:#a23b3b; padding:10px 14px; border-radius:7px; margin-bottom:14px; }
