:root{--bg:#f4f6f1;--card:#fff;--text:#1f2a1a;--muted:#5b6656;--border:#d9dfd3;--accent:#2f7d32;--accent-soft:#e3f1e1;--bad:#c62828;--bad-soft:#fdecea;--warn:#8a5a00;--warn-soft:#fff4d6;--override:#1565c0;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#151a13;--card:#1e251b;--text:#e6ecdf;--muted:#a3ae9b;--border:#364030;--accent:#7cc47f;--accent-soft:#24331f;--bad:#ff8a80;--bad-soft:#3a1f1d;--warn:#ffd27a;--warn-soft:#3a3120;--override:#82b1ff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#151a13;--card:#1e251b;--text:#e6ecdf;--muted:#a3ae9b;--border:#364030;--accent:#7cc47f;--accent-soft:#24331f;--bad:#ff8a80;--bad-soft:#3a1f1d;--warn:#ffd27a;--warn-soft:#3a3120;--override:#82b1ff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font:15px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.app{max-width:1280px;margin:0 auto;padding:16px}.app-header h1{margin:0 0 4px;font-size:1.6rem}.app-header p{color:var(--muted);margin:0 0 16px}.layout{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:16px;display:grid}.view-col{gap:16px;display:grid;position:sticky;top:16px}.form-col{gap:16px;display:grid}@media (width<=860px){.layout{grid-template-columns:minmax(0,1fr)}.view-col{position:static}}.card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:14px 16px}.card h2{margin:0 0 10px;font-size:1.05rem}.card-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.view-card{padding:10px}.plot-view{-webkit-user-select:none;user-select:none;border-radius:6px;width:100%;max-height:72vh;display:block}.plot-view .house{cursor:grab;touch-action:none}.plot-view .house:active{cursor:grabbing}.plot-view .house:focus{outline:none}.plot-view .house:focus-visible{stroke-dasharray:var(--focus-dash)}.legend{color:var(--muted);flex-wrap:wrap;gap:14px;margin:8px 4px;font-size:.85rem;display:flex}.sw{vertical-align:-2px;border:1px solid var(--border);border-radius:3px;width:14px;height:14px;margin-right:4px;display:inline-block}.sw.zone{background:repeating-linear-gradient(45deg,#c9a227 0 2px,#eef6e8 2px 6px)}.sw.area{border:2px dashed #2f7d32}.sw.house-ok{background:#4caf5099;border-color:#2f7d32}.sw.house-bad{background:#e5393599;border-color:#c62828}.row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.field{gap:3px;min-width:0;margin-bottom:8px;display:grid}.field-label{color:var(--muted);font-size:.82rem}.field-input{border:1px solid var(--border);background:var(--card);border-radius:6px;align-items:center;display:flex}.field-input:focus-within{outline:2px solid var(--accent);outline-offset:-1px}.field-input input{width:100%;min-width:0;color:inherit;font:inherit;background:0 0;border:0;outline:none;flex:1;padding:7px 8px}.field-input input[aria-invalid=true]{color:var(--bad)}.field-unit{color:var(--muted);padding:0 8px;font-size:.85rem}.field.overridden .field-input{border-color:var(--override)}.field.overridden input{color:var(--override);font-weight:600}select{width:100%;font:inherit;color:inherit;background:var(--card);border:1px solid var(--border);border-radius:6px;padding:7px 6px}.setback{border-top:1px solid var(--border);padding:8px 0}.setback:first-of-type{border-top:0}.setback-value{align-items:end;gap:6px;display:flex}.setback-value .field{flex:1}button{font:inherit;color:inherit;background:var(--accent-soft);border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:7px 12px}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.45;cursor:default}button.icon{margin-bottom:8px;padding:7px 10px}button.link{color:var(--accent);background:0 0;border:0;padding:0;text-decoration:underline}.buttons{flex-wrap:wrap;gap:8px;display:flex}.export{margin:4px}.reset-all{justify-self:start}.hint{color:var(--muted);margin:0 0 6px;font-size:.8rem}.badge{background:var(--override);color:var(--card);border-radius:4px;padding:0 6px;font-size:.75rem;display:inline-block}.warn{background:var(--warn-soft);color:var(--warn);border-radius:6px;margin:4px 0;padding:6px 8px;font-size:.85rem}.error{background:var(--bad-soft);color:var(--bad);border-radius:6px;margin:4px 0;padding:6px 8px}.status.ok{border-color:var(--accent);background:var(--accent-soft)}.status.ok h2{color:var(--accent)}.status.bad{border-color:var(--bad);background:var(--bad-soft)}.status.bad h2{color:var(--bad)}.status ul{margin:0 0 8px;padding-left:20px}.status p{margin:0 0 8px}.margins{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.88rem}.margins th,.margins td{text-align:right;border-bottom:1px solid var(--border);padding:3px 6px}.margins th:first-child,.margins td:first-child{text-align:left}.margins tr.bad td{color:var(--bad);font-weight:600}.stats{grid-template-columns:1fr 1fr;gap:8px;margin:0 0 10px;display:grid}.stats div{background:var(--bg);border-radius:6px;padding:6px 8px}.stats dt{color:var(--muted);font-size:.78rem}.stats dd{font-variant-numeric:tabular-nums;margin:0;font-size:1.1rem;font-weight:600}.stats div.bad dd{color:var(--bad)}.app-footer{color:var(--muted);margin-top:24px;font-size:.8rem}
