:root{color:#111827;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f3f4f6;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-height:100vh}button,input,select,textarea{max-width:100%}input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #2563eb}input:not([type=radio]):not([type=checkbox]),select,textarea{background:linear-gradient(#fff 0%,#f8fafc 100%);border-color:#cbd5e1;min-height:2.75rem;transition:border-color .16s,box-shadow .16s,background-color .16s;box-shadow:0 1px 2px #0f172a0f,inset 0 1px #fffc}input:not([type=radio]):not([type=checkbox]):hover,select:hover,textarea:hover{border-color:#64748b}input:not([type=radio]):not([type=checkbox]):focus-visible,select:focus-visible,textarea:focus-visible{background:#fff;border-color:#2563eb;box-shadow:0 0 0 4px #2563eb1f,0 2px 6px #0f172a14}input::placeholder,textarea::placeholder{color:#94a3b8}input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;color:#64748b;opacity:.75;background:#e2e8f0}.plan-object{cursor:default;outline:none}.plan-object[data-locked=false]{cursor:grab;touch-action:none}.plan-object[data-dragging=true]{cursor:grabbing}.plan-object[data-collision-warning=true] .plan-object__shape{stroke:#d97706;stroke-width:4px;stroke-dasharray:7 4}.plan-object[data-selected=true][data-collision-warning=true] .plan-object__shape{stroke:#b45309;stroke-width:5px}.plan-object__shape{stroke-width:2px}.plan-object--carpet .plan-object__shape{fill-opacity:.55;stroke-opacity:.75;stroke-dasharray:3 2}.plan-object--furniture .plan-object__shape{fill-opacity:.92}.plan-object[data-selected=true] .plan-object__shape{stroke:#2563eb;stroke-width:4px}.plan-object[data-measurement-target=true] .plan-object__shape{stroke:#dc2626;stroke-width:5px;stroke-dasharray:7 4}.plan-object:focus-visible .plan-object__shape{stroke:#0ea5e9;stroke-width:4px;stroke-dasharray:5 3}.furniture-opening{pointer-events:none}.furniture-opening__closed,.furniture-opening__leaf,.furniture-opening__arc{fill:none;stroke:#334155;stroke-width:2px}.furniture-opening__closed,.furniture-opening__arc{stroke-dasharray:4 3;opacity:.75}.furniture-opening__hinge{fill:#334155;stroke:#fff;stroke-width:1px}.plan-object-label-layer{pointer-events:none}.plan-object__label{fill:#0f172a;pointer-events:none;paint-order:stroke;stroke:#fffc;stroke-width:.15rem;stroke-linejoin:round;font-size:.8rem;font-weight:600}.wall-element-layer{pointer-events:none}.wall-element-layer[data-wall-element-layer=fixtures] .wall-element{pointer-events:auto;cursor:pointer}.wall-element__segment,.wall-element__door-leaf,.wall-element__door-arc,.wall-element__window-frame,.wall-element__built-in-footprint{stroke-width:2px}.wall-element--door .wall-element__segment{stroke:#f8fafc;stroke-width:6px}.wall-element__door-leaf{stroke-linecap:round}.wall-element__door-arc{fill:none;stroke-dasharray:4 3}.wall-element--window .wall-element__segment{stroke-width:7px}.wall-element__window-frame{stroke-width:2px;stroke-linecap:square}.wall-element--built-in .wall-element__segment{stroke:#7c3aed;stroke-width:5px}.wall-element--recessed .wall-element__segment{stroke-dasharray:7 3}.wall-element--projecting .wall-element__segment{stroke:#6d28d9}.wall-element__built-in-footprint{fill:#ddd6fe;fill-opacity:.8;stroke:#7c3aed}.wall-element[data-collision-warning=true] .wall-element__segment,.wall-element[data-collision-warning=true] .wall-element__built-in-footprint{stroke:#d97706;stroke-width:4px}.wall-element[data-collision-warning=true] .wall-element__built-in-footprint{fill:#fef3c7}.wall-element[data-selected=true] .wall-element__segment,.wall-element[data-selected=true] .wall-element__built-in-footprint{stroke:#2563eb;stroke-width:5px}.wall-element[data-selected=true] .wall-element__built-in-footprint{fill:#dbeafe}.wall-element[data-selected=true][data-collision-warning=true] .wall-element__segment,.wall-element[data-selected=true][data-collision-warning=true] .wall-element__built-in-footprint{stroke:#7c3aed;stroke-dasharray:6 3}.wall-element:focus-visible{outline-offset:4px;outline:4px solid #2563eb}.canvas-controls{flex:none;gap:.35rem;min-width:0;display:flex}.canvas-controls button{min-width:2.75rem;min-height:2.75rem;font:inherit;border-radius:.45rem;padding:.35rem .6rem}.canvas-controls button:disabled{cursor:default;opacity:.45}:root{--action-primary-bg:#1d4ed8;--action-primary-hover:#1e40af;--action-primary-fg:#fff;--action-tool-bg:#7c3aed;--action-tool-hover:#6d28d9;--action-tool-fg:#fff;--action-success-bg:#047857;--action-success-hover:#065f46;--action-success-fg:#fff;--action-warning-bg:#b45309;--action-warning-hover:#92400e;--action-warning-fg:#fff;--action-danger-bg:#b91c1c;--action-danger-hover:#991b1b;--action-danger-fg:#fff;--action-neutral-bg:#fff;--action-neutral-hover:#f1f5f9;--action-neutral-fg:#1e293b;--action-navigation-bg:#f8fafc;--action-navigation-hover:#e2e8f0;--action-navigation-fg:#0f172a}.action-button{border:1px solid #0000;justify-content:center;align-items:center;gap:.45rem;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s,transform 80ms;display:inline-flex}.action-button__icon{flex:none;width:1.1rem;height:1.1rem}.action-button--primary{background:var(--action-primary-bg);color:var(--action-primary-fg)}.action-button--primary:hover{background:var(--action-primary-hover)}.action-button--tool{background:var(--action-tool-bg);color:var(--action-tool-fg)}.action-button--tool:hover{background:var(--action-tool-hover)}.action-button--success{background:var(--action-success-bg);color:var(--action-success-fg)}.action-button--success:hover{background:var(--action-success-hover)}.action-button--warning{background:var(--action-warning-bg);color:var(--action-warning-fg)}.action-button--warning:hover{background:var(--action-warning-hover)}.action-button--danger{background:var(--action-danger-bg);color:var(--action-danger-fg)}.action-button--danger:hover{background:var(--action-danger-hover)}.action-button--neutral{background:var(--action-neutral-bg);color:var(--action-neutral-fg);border-color:#94a3b8}.action-button--neutral:hover{background:var(--action-neutral-hover)}.action-button--navigation{background:var(--action-navigation-bg);color:var(--action-navigation-fg);border-color:#94a3b8}.action-button--navigation:hover{background:var(--action-navigation-hover)}.action-button[aria-pressed=true]{border-color:currentColor;transform:translateY(1px);box-shadow:inset 0 0 0 2px #fff,0 0 0 3px}.action-button:active:not(:disabled){transform:translateY(1px)}.action-button:focus-visible{outline-offset:3px;outline:3px solid #0f172a}.action-button:disabled{cursor:not-allowed;filter:grayscale(.35);opacity:.5}@media (prefers-reduced-motion:reduce){.action-button{transition:none}}.editor-toolbar{z-index:5;background:#f8fafcf5;border:1px solid #cbd5e1;border-radius:.75rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.65rem 1rem;margin-bottom:.75rem;padding:.65rem;display:flex;position:sticky;top:0;box-shadow:0 .35rem 1rem #0f172a1a}.editor-toolbar__creation-actions{flex-wrap:wrap;flex:22rem;gap:.5rem;min-width:0;display:flex}.editor-toolbar__creation-actions button[aria-expanded=true]{outline-offset:1px;outline:3px solid #93c5fd}.editor-toolbar__rotation{flex:none;min-height:2.75rem;padding:.35rem .6rem}@media (width<=36rem){.editor-toolbar{align-items:stretch;padding:.5rem;position:static}.editor-toolbar__creation-actions{flex-basis:100%}.editor-toolbar__creation-actions button{flex:100%}.canvas-controls,.canvas-controls button{flex:auto}}@media (height<=32rem) and (orientation:landscape){.editor-toolbar{position:static}}.room-canvas{min-width:0;margin:0}.room-canvas__viewport{background:#f8fafc;border:1px solid #cbd5e1;border-radius:.75rem;width:100%;height:clamp(18rem,58dvh,34rem);min-height:0;padding:clamp(.75rem,2vw,1.25rem);display:flex;position:relative;overflow:hidden}.room-canvas__svg{cursor:grab;touch-action:none;width:100%;min-width:0;max-width:100%;height:100%;max-height:100%;display:block}.room-canvas__viewport[data-panning=true] .room-canvas__svg{cursor:grabbing}.room-canvas__floor{fill:#e0f2fe;stroke:#94a3b8;stroke-width:1px;vector-effect:non-scaling-stroke}.room-canvas__wall{stroke:#0f172a;stroke-width:4px;stroke-linecap:square}.room-canvas__wall-target{cursor:pointer}.room-canvas__wall-hit-target{stroke:#0000;stroke-width:18px;pointer-events:stroke}.room-canvas__wall-target[data-selected=true] .room-canvas__wall{stroke:#0f766e;stroke-width:6px}.room-canvas__wall-target[data-measurement-target=true] .room-canvas__wall{stroke:#dc2626;stroke-width:6px;stroke-dasharray:7 4}.room-canvas__wall-target:focus-visible{outline-offset:3px;outline:4px solid #14b8a6}.room-canvas__furniture-opening-target{pointer-events:all;fill:#16a34a38;stroke:#16a34a;stroke-width:2px;cursor:crosshair}.room-canvas__measurement-status{color:#7f1d1d;background:#fef2f2;border-left:4px solid #dc2626;flex-wrap:wrap;align-items:center;gap:.75rem;margin:.75rem 0;padding:.75rem;font-weight:700;display:flex}.room-canvas figcaption{color:#64748b;text-align:center;margin-top:.6rem;font-size:.875rem}@media (width<=40rem){.room-canvas__viewport{height:clamp(16rem,52dvh,26rem);padding:.5rem}}@media (height<=32rem) and (orientation:landscape){.room-canvas__viewport{height:clamp(13rem,55dvh,19rem);padding:.5rem}}.measurement-layer{pointer-events:none}.measurement-layer__line{stroke:#dc2626;stroke-width:2px;stroke-dasharray:6 4}.measurement-layer__endpoint{fill:#dc2626;stroke:#fff;stroke-width:1px}.measurement-layer__label{fill:#991b1b;paint-order:stroke;stroke:#fff;stroke-width:4px;font-size:14px;font-weight:700}.collision-warnings{color:#78350f;overflow-wrap:anywhere;background:#fffbeb;border:1px solid #f59e0b;border-radius:.75rem;margin-top:1rem;padding:1rem}.collision-warnings h3,.collision-warnings p{margin:0 0 .5rem}.collision-warnings ul{margin:0;padding-left:1.25rem}.collision-warnings li+li{margin-top:.35rem}.editor-context-panel{overflow-wrap:anywhere;background:#f8fafc;border:1px solid #dbe3ee;border-radius:.75rem;min-width:0;max-height:calc(100vh - 2rem);padding:1rem;position:sticky;top:0;overflow-y:auto}.editor-context-panel>:first-child{margin-top:0}.editor-context-panel__title{color:#1e293b;margin:0 0 1rem}.editor-context-panel .plan-summary{grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr))}@media (width<=52rem){.editor-context-panel{max-height:none;position:static;overflow-y:visible}}@media (width<=40rem){.editor-context-panel{width:100%;padding:.75rem}}.plan-object-form{background:#f8fafc;border:1px solid #dbe3ee;border-radius:.75rem;gap:1rem;padding:1.25rem;display:grid}.plan-object-form__section,.plan-object-form__choice-group{flex-wrap:wrap;gap:.75rem 1.25rem;display:flex}.plan-object-form__section{gap:1rem 2rem}.plan-object-form__choice-group{border:0;min-width:min(100%,12rem);margin:0;padding:0}.plan-object-form__choice-group legend{width:100%;font-weight:700}.plan-object-form__choice-group label{align-items:center;gap:.4rem;display:flex}.plan-object-form__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.plan-object-form__field{gap:.35rem;display:grid}.plan-object-form__field--wide{grid-column:1/-1}.plan-object-form__field label{font-weight:600}.plan-object-form__field input,.plan-object-form__field select{color:#0f172a;width:100%;min-height:2.5rem;font:inherit;background:#fff;border:1px solid #94a3b8;border-radius:.45rem;padding:.55rem .65rem}.plan-object-form__opening{border:1px solid #cbd5e1;border-radius:.6rem;gap:.75rem;margin:0;padding:1rem;display:grid}.plan-object-form__opening>label{align-items:center;gap:.5rem;display:flex}.plan-object-form__help{color:#64748b;margin:0;font-size:.875rem}.plan-object-form__errors{color:#991b1b;background:#fef2f2;border:1px solid #dc2626;border-radius:.6rem;padding:.85rem}.plan-object-form__errors p,.plan-object-form__errors ul{margin:0}.plan-object-form__errors ul{padding:.4rem 0 0 1.25rem}.plan-object-form__submit{justify-self:start}@media (width<=40rem){.plan-object-form{padding:.75rem}.plan-object-form__section{gap:.75rem}.plan-object-form__grid{grid-template-columns:1fr}.plan-object-form__field--wide{grid-column:auto}.plan-object-form__submit{width:100%}}.confirmation-dialog__backdrop{z-index:10;background:#0f172a8c;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.confirmation-dialog{background:#fff;border-radius:.85rem;width:min(100%,30rem);max-height:calc(100dvh - 2rem);padding:clamp(1.25rem,5vw,2rem);overflow-y:auto;box-shadow:0 1.5rem 4rem #0f172a4d}.confirmation-dialog h2{margin-top:0}.confirmation-dialog__actions{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}@media (width<=36rem){.confirmation-dialog__backdrop{padding:.5rem}.confirmation-dialog{overflow-wrap:anywhere;max-height:calc(100dvh - 1rem);padding:1rem}.confirmation-dialog__actions button{flex:100%}}.plan-object-inspector{background:#eff6ff;border:2px solid #60a5fa;border-radius:.75rem;gap:1rem;margin-top:1.5rem;padding:1.25rem;display:grid}.plan-object-inspector__header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.plan-object-inspector__header h3,.plan-object-inspector__properties{overflow-wrap:anywhere;min-width:0;margin:0}.plan-object-inspector__properties{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.plan-object-inspector__property{background:#fff;border-radius:.45rem;padding:.65rem}.plan-object-inspector__property dt{color:#475569;font-size:.8rem}.plan-object-inspector__property dd{margin:.15rem 0 0;font-weight:700}.plan-object-inspector__actions,.plan-object-inspector__edit-actions{flex-wrap:wrap;gap:.75rem;display:flex}.plan-object-inspector button:disabled{cursor:not-allowed;opacity:.55}.plan-object-inspector__form{gap:1rem;display:grid}.plan-object-inspector__field{color:#1d4ed8;gap:.35rem;font-size:.9rem;font-weight:700;display:grid}.plan-object-inspector__field input,.plan-object-inspector__field select{color:#1f2937;width:100%;min-width:0;font:inherit;background:#fff;border:1px solid #93c5fd;border-radius:.45rem;padding:.65rem}.plan-object-inspector__opening{border:1px solid #93c5fd;border-radius:.6rem;gap:.75rem;margin:0;padding:1rem;display:grid}.plan-object-inspector__opening>label{align-items:center;gap:.5rem;display:flex}.plan-object-inspector__dimensions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.plan-object-inspector__error{color:#b91c1c;margin:0}@media (width<=40rem){.plan-object-inspector{margin-top:0;padding:.75rem}.plan-object-inspector__header button{flex:none}.plan-object-inspector__properties,.plan-object-inspector__dimensions{grid-template-columns:1fr}.plan-object-inspector__actions button,.plan-object-inspector__edit-actions button{width:100%}}.room-form{background:#fff;border:1px solid #dbe3ee;border-radius:1rem;gap:1.5rem;padding:clamp(1.25rem,4vw,2rem);display:grid;box-shadow:0 12px 35px #0f172a14}.room-form__shape{border:0;flex-wrap:wrap;gap:.75rem 1.5rem;margin:0;padding:0;display:flex}.room-form__shape legend{width:100%;margin-bottom:.5rem;font-weight:700}.room-form__shape label{align-items:center;gap:.5rem;display:flex}.room-form__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.room-form__field{gap:.4rem;display:grid}.room-form__field label{font-weight:600}.room-form__field input,.room-form__field select{color:#0f172a;width:100%;min-height:2.75rem;font:inherit;background:#fff;border:1px solid #94a3b8;border-radius:.5rem;padding:.65rem .75rem}.room-form__field input:focus-visible,.room-form__field select:focus-visible,.room-form button:focus-visible{outline-offset:2px;outline:3px solid #93c5fd}.room-form__errors{color:#991b1b;background:#fef2f2;border:1px solid #dc2626;border-radius:.75rem;padding:1rem}.room-form__errors p{margin:0 0 .5rem;font-weight:700}.room-form__errors ul{margin:0;padding-left:1.25rem}@media (width<=40rem){.room-form__grid{grid-template-columns:1fr}}.room-wall-inspector{background:#f0fdfa;border:2px solid #0f766e;border-radius:.75rem;margin-top:1rem;padding:1rem}.room-wall-inspector__header,.room-wall-inspector__actions{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.room-wall-inspector__header h3{overflow-wrap:anywhere;min-width:0;margin:0}.room-wall-inspector__form label{gap:.35rem;font-weight:700;display:grid}.room-wall-inspector__form input{width:100%;min-width:0;font:inherit;border:1px solid #5eead4;border-radius:.45rem;padding:.65rem}.room-wall-inspector__notice{color:#78350f;background:#fffbeb;border-left:4px solid #d97706;margin:1rem 0;padding:.75rem}.room-wall-inspector__notice p:last-child{margin-bottom:0}.room-wall-inspector__error{color:#991b1b}.room-wall-inspector__actions{flex-wrap:wrap;justify-content:flex-start;margin-top:.75rem}.room-wall-inspector button:disabled{cursor:not-allowed;opacity:.55}@media (width<=40rem){.room-wall-inspector{margin-top:0;padding:.75rem}.room-wall-inspector__header button{flex:none}.room-wall-inspector__actions button{width:100%}}.rooms-dashboard{background:#fff;border:1px solid #dbe3ee;border-radius:1rem;padding:clamp(1rem,3vw,2rem);box-shadow:0 12px 35px #0f172a14}.rooms-dashboard__header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.rooms-dashboard__header h2,.rooms-dashboard__header p,.room-card h3,.room-card p,.rooms-dashboard__empty h3{margin-top:0}.rooms-dashboard__header p,.room-card__date{color:#64748b}.rooms-dashboard__grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:1rem;margin:0;padding:0;list-style:none;display:grid}.room-card{overflow-wrap:anywhere;background:#f8fafc;border:1px solid #cbd5e1;border-radius:.8rem;flex-direction:column;justify-content:space-between;gap:1.25rem;min-width:0;height:100%;min-height:12rem;padding:1.25rem;display:flex}.room-card h3{color:#0f172a}.room-card__summary{font-weight:700}.room-card__date{margin-bottom:0;font-size:.9rem}.room-card__actions{flex-wrap:wrap;align-items:stretch;gap:.5rem;display:flex}.room-card__actions .action-button:first-child{flex-basis:100%}.rooms-dashboard__empty{text-align:center;background:#f8fafc;border:1px dashed #94a3b8;border-radius:.8rem;padding:clamp(1.5rem,5vw,3rem)}@media (width<=40rem){.rooms-dashboard{padding:.75rem}.rooms-dashboard__header{flex-direction:column;align-items:stretch}.rooms-dashboard__header .action-button,.room-card__actions .action-button,.rooms-dashboard__empty .action-button{width:100%}}.modal-dialog__backdrop{z-index:20;background:#0f172a99;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal-dialog{background:#fff;border-radius:.85rem;grid-template-rows:auto minmax(0,1fr);width:min(100%,48rem);max-height:calc(100dvh - 2rem);padding:clamp(1rem,3vw,1.5rem);display:grid;overflow:hidden;box-shadow:0 1.5rem 4rem #0f172a59}.modal-dialog__header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.modal-dialog__header h2{margin:0}.modal-dialog__header button{flex:none;min-width:2.75rem;padding:.5rem;font-size:1.5rem;line-height:1}.modal-dialog__content{overscroll-behavior:contain;min-width:0;overflow-y:auto}@media (width<=36rem){.modal-dialog__backdrop{padding:.5rem}.modal-dialog{max-height:calc(100dvh - 1rem);padding:.75rem}.modal-dialog__header{gap:.5rem;margin-bottom:.75rem}.modal-dialog__header h2{overflow-wrap:anywhere;min-width:0;font-size:1.25rem}}.rename-room-form{gap:.75rem;display:grid}.rename-room-form input{width:100%;min-width:0}.rename-room-form [role=alert]{color:#991b1b;margin:0}.rename-room-form__actions{justify-content:flex-end;gap:.75rem;display:flex}@media (width<=30rem){.rename-room-form__actions{flex-direction:column-reverse}.rename-room-form__actions .action-button{width:100%}}.wall-element-form{background:#f8fafc;border:1px solid #dbe3ee;border-radius:.75rem;gap:1rem;padding:1rem;display:grid}.wall-element-form__section{border:1px solid #cbd5e1;border-radius:.6rem;margin:0;padding:.75rem}.wall-element-form__choice-group{flex-wrap:wrap;gap:.75rem 1rem;display:flex}.wall-element-form__choice-group legend{font-weight:700}.wall-element-form__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.wall-element-form__field,.wall-element-form__choice-group label{gap:.35rem;display:grid}.wall-element-form input,.wall-element-form select{color:#0f172a;width:100%;min-width:0;min-height:2.6rem;font:inherit;background:#fff;border:1px solid #94a3b8;border-radius:.45rem;padding:.55rem}.wall-element-form__choice-group label:has(input[type=radio]){align-items:center;display:flex}.wall-element-form__help{color:#475569;margin:-.5rem 0 0;font-size:.9rem}.wall-element-form__errors{color:#991b1b;margin:0}.wall-element-form__submit{justify-self:start}@media (width<=40rem){.wall-element-form{padding:.75rem}.wall-element-form__section{padding:.6rem}.wall-element-form__grid{grid-template-columns:1fr}.wall-element-form__submit{width:100%}}.wall-element-inspector{background:#faf5ff;border:2px solid #7c3aed;border-radius:.75rem;margin-top:1rem;padding:1rem}.wall-element-inspector__header,.wall-element-inspector__actions{justify-content:space-between;align-items:center;gap:1rem;display:flex}.wall-element-inspector__header h3{overflow-wrap:anywhere;min-width:0;margin:0}.wall-element-inspector__form{gap:1rem;margin:1rem 0;display:grid}.wall-element-inspector__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.wall-element-inspector__field{color:#6b21a8;gap:.35rem;font-size:.9rem;font-weight:700;display:grid}.wall-element-inspector__field input,.wall-element-inspector__field select{color:#1f2937;width:100%;min-width:0;font:inherit;background:#fff;border:1px solid #c4b5fd;border-radius:.45rem;padding:.65rem}.wall-element-inspector__errors{color:#991b1b;margin:0}.wall-element-inspector__edit-actions{flex-wrap:wrap;gap:.75rem;display:flex}.wall-element-inspector button:disabled{cursor:not-allowed;opacity:.55}@media (width<=40rem){.wall-element-inspector{margin-top:0;padding:.75rem}.wall-element-inspector__header button{flex:none}.wall-element-inspector__grid{grid-template-columns:1fr}.wall-element-inspector__edit-actions button{width:100%}}.persistence-status{overflow-wrap:anywhere;border-radius:.65rem;margin:1rem 0;padding:.75rem 1rem}.persistence-status button{max-width:100%}.persistence-status--saved{color:#166534;background:#f0fdf4;border:1px solid #86efac}.persistence-status--error{color:#7f1d1d;background:#fef2f2;border:2px solid #dc2626}.persistence-status--error h3,.persistence-status--error p{margin-top:0}.app-shell{width:min(100% - 2rem,88rem);min-height:100vh;margin:0 auto;padding:clamp(1.25rem,4vw,3rem) 0}.app-header{text-align:center;margin-bottom:2rem}.app-header h1{margin:0 0 .5rem}.app-header__logo{object-fit:cover;object-position:center;width:min(22rem,80vw);height:8rem;margin:0 auto;display:block}.app-header p{color:#475569;margin:0}.app-shell h2{color:#1e293b}.confirmation-card,.recovery-card,.app-error{background:#fff;border:1px solid #dbe3ee;border-radius:1rem;padding:clamp(1.25rem,4vw,2rem);box-shadow:0 12px 35px #0f172a14}.plan-summary{gap:.75rem;display:grid}.plan-view{grid-template-columns:minmax(0,2.5fr) minmax(20rem,1fr);align-items:start;gap:1.5rem;display:grid}.editor-heading{align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.editor-heading h2{margin:0}.plan-view__canvas,.editor-context-panel{min-width:0}.confirmation-card,.recovery-card,.app-error,.plan-view,.plan-view__canvas{overflow-wrap:anywhere}.plan-summary div{background:#f1f5f9;border-radius:.5rem;padding:.75rem}.plan-summary dt{color:#475569;font-size:.875rem}.plan-summary dd{margin:.2rem 0 0;font-weight:700}button{color:#fff;min-height:2.75rem;font:inherit;cursor:pointer;background:#1d4ed8;border:0;border-radius:.55rem;padding:.65rem 1rem;font-weight:700}button:hover{background:#1e40af}button:focus-visible{outline-offset:2px;outline:3px solid #93c5fd}.app-error{color:#7f1d1d;background:#fef2f2;border:2px solid #dc2626;margin:1rem 0}.app-error p{margin-top:0}@media (width<=52rem){.plan-view{grid-template-columns:1fr}}@media (width<=40rem){.app-shell{width:min(100% - 1rem,88rem);padding:.75rem 0 1.5rem}.app-header{margin-bottom:1rem}.app-header__logo{width:min(18rem,85vw);height:5rem}.confirmation-card,.recovery-card,.app-error{border-radius:.75rem;padding:.75rem}.editor-heading{flex-direction:column;align-items:stretch}}
