.editor-layout { position: relative; min-width: 0; }
.editor-plan { min-width: 0; }
.editor-dock { position: fixed; z-index: 30; left: 50%; bottom: calc(var(--size-bottom-nav) + var(--space-sm) + var(--editor-keyboard-inset, 0dvh)); transform: translateX(-50%); display: flex; flex-direction: column; width: min(var(--size-screen-width), calc(100vw - var(--size-gutter) * 2)); height: min(70dvh, calc(var(--editor-visible-height, 100dvh) - var(--size-header) - var(--size-bottom-nav) - var(--space-lg))); border: var(--size-line-width) solid var(--color-line); border-radius: var(--size-radius-card); overflow: hidden; background: var(--color-surface); }
.editor-dock .editor-preview { flex: none; }
.editor-form-scroll { flex: 1; min-height: var(--size-touch-min); overflow: auto; overscroll-behavior: contain; }
.editor-dock .inspector { overflow: visible; max-height: none; border: 0; border-radius: 0; }
.editor-dock[data-cabinet-preview="true"] .inspector > .panel-head { display: none; }
.editor-dock .inspector-body { gap: var(--space-sm); padding: var(--space-sm); }
.editor-dock .inspector-title h2 { font-size: var(--font-size-body); }
.editor-dock .inspector-title { display: none; }
.editor-feedback { position: fixed; z-index: 35; top: calc(var(--size-header) + var(--space-sm)); left: 50%; transform: translateX(-50%); width: min(var(--size-screen-width), calc(100vw - var(--size-gutter) * 2)); }
.editor-dock .editor-feedback { position: relative; flex: none; top: auto; left: auto; transform: none; width: 100%; }
.editor-dock .editor-error { border-radius: 0; border-width: 0 0 var(--size-line-width); }
[data-editor-keyboard="true"] .editor-preview-image { height: var(--size-touch-min); }
.editor-error { display: block; min-width: 0; padding: var(--space-sm); border: var(--size-line-width) solid var(--color-accent); border-radius: var(--size-radius-field); background: var(--color-surface); color: var(--color-text); }
.editor-error-summary { display: flex; align-items: center; gap: var(--space-sm); }
.editor-error-summary > div { flex: 1; min-width: 0; }
.editor-error strong { font-size: var(--font-size-label); }
.editor-error-address { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--color-text-muted); font-size: var(--font-size-caption); }
.editor-error p { margin: var(--space-xs) 0 0; font-size: var(--font-size-caption); line-height: 1.3; }
.editor-error-summary p { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.editor-error-summary button { flex: none; max-width: 40%; }
.editor-error details { font-size: var(--font-size-caption); }
.editor-error summary { min-height: var(--size-touch-min); display: flex; align-items: center; color: var(--color-accent); cursor: pointer; }
.editor-error details > div { position: absolute; top: 100%; left: 0; right: 0; max-height: calc(var(--editor-visible-height, 100dvh) / 3); padding: var(--space-sm); overflow: auto; border: var(--size-line-width) solid var(--color-line); border-radius: var(--size-radius-field); background: var(--color-surface); }
.editor-error pre { white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; }
