/* Grundlayout */
html,body{height:100%}
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:#f7f7f7;margin:0;padding:2rem;color:#222}
h1{margin-top:0}

/* Index */
.ok{padding:1rem;background:#e0ffe0;border:1px solid #0c0;margin-bottom:1rem}
.links a{display:inline-block;margin-right:1rem}

/* Formular/Seiten-Wrapper */
.wrap{max-width:760px;margin:0 auto;background:#fff;padding:1.25rem;border-radius:10px;box-shadow:0 1px 3px rgba(0,0,0,.06)}
label{display:block;margin:.6rem 0 .25rem}
input,select,button{font:inherit;padding:.55rem .7rem;width:100%}
button{cursor:pointer;margin-top:.75rem}
small{color:#666}

/* Steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;margin:.2rem 0 1rem}
.step{position:relative;padding:.6rem .5rem;border:1px solid #e5e7eb;border-radius:8px;background:#fafafa;color:#555;text-align:center;font-size:.95rem}
.step.active{border-color:#1e88e5;background:#eaf3fe;color:#0b64c0;font-weight:600}
.step.done{border-color:#34c759;background:#e9f9ee;color:#1b7f3c}
.step small{display:block;color:#777;font-weight:400}

/* (Step navigation removed) */

/* Grid-Zeilen */
.row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}

/* Meldungen */
.msg{margin-bottom:1rem;padding:.8rem;border-radius:6px}
.ok{background:#e9f9ee;border:1px solid #34c759}
.bad{background:#fdecea;border:1px solid #f44336}

/* Consent */
.consent{display:flex;gap:.5rem;align-items:flex-start;margin-top:.5rem}
.consent input{width:auto}

/* Storno-Seite */
.meta{color:#333;background:#fafafa;border:1px solid #eee;border-radius:6px;padding:.7rem;margin-top:.8rem}
a.btn{display:inline-block;margin-top:1rem;padding:.6rem .9rem;background:#1e88e5;color:#fff;text-decoration:none;border-radius:6px}
a.btn:hover{opacity:.92}

/* FAQ */
details{border:1px solid #e5e7eb;border-radius:8px;padding:.8rem;margin:.6rem 0;background:#fafafa}
summary{cursor:pointer;font-weight:600}

