.planer [hidden]{display:none!important}.planer{margin-block:2rem}.planer h3,.planer h4{margin-block:1.25rem .5rem}.planer__hinweis{padding:.75rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-warn-soft)}.planer__klein{display:block;font-size:.9rem;color:var(--color-muted)}.planer__nur-lesen{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.planer__app{display:grid;gap:1.25rem}.planer__eingaben{display:grid;gap:1rem}.planer__gruppe{display:grid;gap:.6rem;margin:0;padding:.75rem 1rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface)}.planer__gruppe legend{padding-inline:.4rem;font-weight:700}.planer__zeile{display:grid;gap:.25rem}.planer label{font-size:.95rem;font-weight:600}.planer input,.planer select{width:100%;min-height:2.75rem;padding:.45rem .65rem;font:inherit;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border-input);border-radius:8px}.planer__plan-bereich{display:grid;gap:.75rem}.planer__plan{display:block;width:100%;height:auto;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);user-select:none;-webkit-user-select:none}.planer__boden{fill:var(--color-surface);stroke:var(--color-border-input);stroke-width:2px;vector-effect:non-scaling-stroke}.planer__wand{fill:url(#planer-wand);stroke:var(--color-border-input);stroke-width:2px;vector-effect:non-scaling-stroke}.planer__schraffur{stroke:var(--color-border-input);stroke-width:2px}.planer__oeffnung{fill:var(--color-bg);stroke:var(--color-border-input);stroke-width:2px;stroke-dasharray:5 3;vector-effect:non-scaling-stroke}.planer__schwenk{fill:var(--color-warn-soft);fill-opacity:.85;stroke:var(--color-warn);stroke-width:2px;stroke-dasharray:6 4;vector-effect:non-scaling-stroke}.planer__gelaender{stroke:var(--color-text);stroke-width:5px;vector-effect:non-scaling-stroke}.planer__beschriftung{fill:var(--color-muted)}.planer__moebel{cursor:grab;outline:none}.planer__moebel rect{fill:var(--color-accent-soft);stroke:var(--color-accent);stroke-width:2px;vector-effect:non-scaling-stroke}.planer__moebel--stuhl rect,.planer__moebel--beet rect{fill:var(--color-ok-soft);stroke:var(--color-ok)}.planer__moebel--bank rect{fill:var(--color-warn-soft);stroke:var(--color-warn)}.planer__moebel--eigen rect{fill:var(--color-surface);stroke:var(--color-muted)}.planer__moebel--haengt rect{stroke-dasharray:6 3}.planer__moebel-name{fill:var(--color-text);pointer-events:none}.planer__moebel--gewaehlt rect,.planer__moebel:focus-visible rect{stroke:var(--color-focus);stroke-width:4px}.planer__moebel--kollision rect{fill:var(--color-warn-soft);stroke:var(--color-accent-dark);stroke-dasharray:3 3}.planer__moebel--kollision.planer__moebel--gewaehlt rect,.planer__moebel--kollision:focus-visible rect{stroke:var(--color-focus)}.planer__werkzeug{display:grid;gap:.5rem;padding:.75rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface)}.planer__werkzeug p{margin:0}.planer__knoepfe{display:flex;flex-wrap:wrap;gap:.5rem}.planer__knopf{min-height:2.75rem;padding:.5rem 1rem;font:inherit;font-weight:700;color:var(--color-on-accent);background:var(--color-accent);border:2px solid var(--color-accent);border-radius:var(--radius);cursor:pointer}.planer__knopf:hover:not(:disabled),.planer__knopf:focus-visible{background:var(--color-accent-dark);border-color:var(--color-accent-dark)}.planer__knopf:disabled{opacity:.5;cursor:not-allowed}.planer__knopf--pfeil{min-width:2.75rem;padding-inline:.75rem}.planer__knopf--zweit{color:var(--color-accent-dark);background:transparent}.planer__knopf--zweit:hover:not(:disabled),.planer__knopf--zweit:focus-visible{color:var(--color-on-accent)}.planer__liste{display:flex;flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none}.planer__listenknopf{min-height:2.75rem;padding:.4rem .75rem;font:inherit;font-size:.9rem;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border-input);border-radius:999px;cursor:pointer}.planer__listenknopf[aria-pressed=true]{border:3px solid var(--color-focus);font-weight:700}.planer__ergebnis{padding:.5rem 1rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface)}.planer__ergebnis h3{margin-top:.5rem}.planer__werte{display:grid;gap:.35rem;margin:0}.planer__werte div{display:flex;justify-content:space-between;gap:1rem;padding-block:.25rem;border-bottom:1px solid var(--color-border)}.planer__werte dt{color:var(--color-muted)}.planer__werte dd{margin:0;font-weight:700;text-align:right}.planer__werte dd[data-status=ok]{color:var(--color-ok)}.planer__werte dd[data-status=warnung]{color:var(--color-accent-dark)}.planer__meldungen{margin:0;padding:.6rem 1rem .6rem 2rem;border:1px solid var(--color-warn);border-radius:var(--radius);background:var(--color-warn-soft)}.planer__produkte{display:grid;gap:.6rem;margin:0 0 1rem;padding:0;list-style:none}.planer__produkte li{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface)}.planer__produkte li>div{display:grid;gap:.15rem;min-width:0}.planer__eigenes{display:grid;gap:.6rem;margin-bottom:1rem}.planer__erklaerung summary{font-weight:700;cursor:pointer}@media(min-width:48rem){.planer__eingaben{grid-template-columns:1fr 1fr}.planer__eigenes{grid-template-columns:2fr 1fr 1fr;align-items:end}.planer__eigenes .planer__knopf{grid-column:1 / -1;justify-self:start}}.planer__boden--offen{stroke:none}.planer__offen{stroke:var(--color-muted);stroke-width:2px;stroke-dasharray:5 4;vector-effect:non-scaling-stroke}.planer__moebel--schirm rect{fill:var(--color-warn-soft);fill-opacity:.45;stroke:var(--color-warn);stroke-dasharray:8 4}.planer__moebel--schirm.planer__moebel--gewaehlt rect,.planer__moebel--schirm:focus-visible rect{stroke:var(--color-focus);stroke-dasharray:none}.planer__eigenes .planer__zeile--haken{grid-column:1 / -1}.planer__zeile--haken label{display:flex;gap:.5rem;align-items:center}
