.door-fields { margin-top:8px; }
.door-offset { grid-column:1 / -1; }
.measure-unit { color:var(--muted); font-size:.75rem; }
.plan-key { display:flex; flex-wrap:wrap; gap:6px 14px; font-size:.75rem; color:var(--muted); }
.plan-key span { display:inline-flex; gap:5px; align-items:center; }
.plan-key span::before { content:""; width:.8em; height:.8em; border:1px var(--key-style,solid) var(--key-ink); border-radius:2px; background:var(--key-fill); }
.key-door { --key-fill:#dceae4; --key-ink:#567e71; }
.key-window { --key-fill:#dceaf1; --key-ink:#386887; }
.key-gap { --key-fill:#f4e8ce; --key-ink:#947343; --key-style:dashed; }
.key-overlap { --key-fill:#f4dcd8; --key-ink:#a43a33; }
.plan-issues { margin:4px 0 0; padding-left:18px; font-size:.8rem; line-height:1.55; color:var(--muted); }
.plan-issues [data-blocked] { color:var(--danger); }
.item-fields .hint { margin:-4px 0 0; }
.layout-library { margin-bottom:12px; padding-block:0; }
.layout-library summary { display:flex; align-items:center; gap:8px; padding-block:12px; }
.layout-library summary::before { content:"▸"; color:var(--accent); }
.layout-library[open] summary::before { content:"▾"; }
#layout-current { margin-left:auto; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.78rem; color:var(--muted); font-weight:500; }
.layout-tools { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.layout-tools button, #window-remove { margin-top:6px; }
.layout-library .status { margin:0 0 10px; }
.window-fields { margin-top:8px; }
@media (max-width:480px) {
  .layout-tools { grid-template-columns:1fr; }
}
