@font-face{font-family:'Montserrat';src:url('/static/fonts/Montserrat.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:'Source Sans 3';src:url('/static/fonts/SourceSans3.woff2') format('woff2');font-weight:200 900;font-display:swap}
*{box-sizing:border-box}
body{margin:0;background:var(--color-bg,#FAFAF7);color:var(--color-text,#1A1A1A);font-family:var(--font-body);font-size:1.0625rem;line-height:1.55}
#app{max-width:820px;margin:0 auto;padding:0 1rem 5rem}
.top{position:sticky;top:0;z-index:5;background:var(--color-bg,#FAFAF7);padding:.75rem 0 .5rem;border-bottom:1px solid var(--color-border,#D6E3D8)}
.top-row{display:flex;align-items:center;gap:.75rem;justify-content:space-between;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:.6rem;font-family:var(--font-headline);font-weight:600;color:var(--color-primary,#1B6B2A)}
.brand img{height:34px;width:auto}
.saved{font-size:.85rem;color:var(--color-text-secondary,#4A5A4E)}
.saved.err{color:var(--color-error,#C2622D);font-weight:600}
.bar{height:6px;background:var(--color-surface,#F0F7F0);border-radius:6px;margin-top:.5rem;overflow:hidden}
.bar>div{height:100%;background:var(--color-primary,#1B6B2A);width:0}
.step{font-size:.85rem;color:var(--color-text-secondary,#4A5A4E);margin-top:.25rem}
h1,h2,h3{font-family:var(--font-headline);color:var(--color-primary,#1B6B2A);line-height:1.25}
h1{font-size:1.75rem;margin:1.5rem 0 .75rem}h2{font-size:1.35rem;margin:1.75rem 0 .5rem}h3{font-size:1.1rem;margin:0 0 .25rem}
p{margin:.5rem 0}a{color:var(--color-accent-text,#3B7829)}
.card{background:#fff;border:1px solid var(--color-border,#D6E3D8);border-radius:var(--radius,8px);padding:1rem 1.1rem;margin:1rem 0}
.card.hidden{display:none}
.blick{color:var(--color-text-secondary,#4A5A4E);margin:.15rem 0 .5rem;font-style:italic}
.hint{background:var(--color-surface,#F0F7F0);border-left:4px solid var(--color-primary-light,#3A9B42);padding:.5rem .75rem;margin:.6rem 0}
details.faq{border-top:1px solid var(--color-border,#D6E3D8);margin-top:.6rem;padding-top:.4rem}
details.faq>summary{cursor:pointer;font-weight:600;color:var(--color-accent-text,#3B7829);padding:.25rem 0}
.stand{color:var(--color-text-secondary,#4A5A4E);border-top:1px dashed var(--color-border,#D6E3D8);margin-top:.5rem;padding-top:.3rem}
fieldset{border:0;padding:0;margin:.5rem 0}legend{font-weight:600;padding:0}
.opt{display:flex;gap:.55rem;align-items:flex-start;padding:.3rem 0}.opt input{margin-top:.35rem;flex:0 0 auto}
.scale{display:flex;gap:.4rem;flex-wrap:wrap;margin:.5rem 0}
.scale label{flex:1 1 9rem;border:1px solid var(--color-border-strong,#B4CDB8);border-radius:var(--radius,8px);padding:.5rem .6rem;cursor:pointer;display:flex;gap:.4rem;align-items:center;background:#fff}
.scale label:has(input:checked){background:var(--color-surface,#F0F7F0);border-color:var(--color-primary,#1B6B2A);font-weight:600}
.scale label.untouched{opacity:.85}
.tablewrap{overflow-x:auto}table{border-collapse:collapse;min-width:100%}
th,td{border-bottom:1px solid var(--color-border,#D6E3D8);padding:.35rem .4rem;text-align:center;font-size:.92rem}
th:first-child,td:first-child{text-align:left;min-width:12rem}
input[type=number],select,textarea{font:inherit;padding:.4rem .5rem;border:1px solid var(--color-border-strong,#B4CDB8);border-radius:var(--radius,8px);background:#fff;color:inherit;max-width:100%}
input[type=number]{width:8rem}textarea{width:100%;min-height:6rem}
.linkbtn{background:none;border:0;color:var(--color-accent-text,#3B7829);text-decoration:underline;cursor:pointer;font:inherit;padding:.2rem 0}
.nav{display:flex;gap:.75rem;justify-content:space-between;margin:1.5rem 0}
button.btn{font:inherit;font-weight:600;padding:.65rem 1.2rem;border-radius:var(--radius,8px);border:1px solid var(--color-primary,#1B6B2A);background:var(--color-primary,#1B6B2A);color:#fff;cursor:pointer}
button.btn.sec{background:#fff;color:var(--color-primary,#1B6B2A)}
button.btn:disabled{opacity:.5;cursor:not-allowed}
.note{color:var(--color-text-secondary,#4A5A4E);font-size:.9rem}
.max{font-size:.85rem;color:var(--color-text-secondary,#4A5A4E)}
.center{text-align:center;padding:2rem 0}
@media (max-width:560px){#app{padding:0 .75rem 5rem}h1{font-size:1.5rem}.scale label{flex-basis:100%}}
.foot{margin:2rem 0 1rem;text-align:center;font-size:.85rem;color:var(--color-text-secondary,#4A5A4E)}
input[type=email],input[type=text]{font:inherit;padding:.4rem .5rem;border:1px solid var(--color-border-strong,#B4CDB8);border-radius:var(--radius,8px);background:#fff;color:inherit;max-width:100%;min-width:14rem}

/* Eingabefelder direkt im Antworttext, Pflichthinweise, verschachteltes Aufklappen */
.optline{display:inline-block}
.optline input[type=text]{width:min(16rem,60vw);vertical-align:middle;margin:0 .2rem}
.optline input.num{width:6.5rem;vertical-align:middle;margin:0 .2rem}
.wichtig{margin-top:.8rem;padding:.6rem .8rem;border-left:4px solid var(--color-primary,#1b6b2b);background:var(--color-surface,#F0F7F0)}
.wichtig p{margin:.3rem 0}
details.inner{margin:.6rem 0 .8rem .4rem}
