:root{--bg:#0b1220;--panel:#0f1a2e;--panel2:#0c162a;--text:#e7eefc;--muted:rgba(231,238,252,.7);--line:rgba(231,238,252,.12);--line2:rgba(231,238,252,.18);--btn:rgba(231,238,252,.08);--btn2:rgba(231,238,252,.14);--danger:rgba(255,107,107,.18);--accent:rgba(122,162,255,.95);--accentSoft:rgba(122,162,255,.12);--shadow:0 10px 30px rgba(0,0,0,.25);--r-xs:8px;--r-sm:10px;--r-md:14px;--control-h:40px;--control-h-sm:32px;--control-pad-x:12px;--p-xs:8px;--p-sm:10px;--p-md:12px;--fs-xs:11px;--fs-sm:12px;--fs-md:13px;--fs-base:13px;--fs-section:14px;--fs-lg:16px;--fs-xl:18px;--topbar-height: 56px;--main-nav-height: 48px;--sidebar-width: 340px;--footer-height: 24px}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial;background:var(--bg);color:var(--text)}::selection{background:#7aa2ff40}.logo{height:32px;width:auto;flex-shrink:0}.topbar{display:flex;justify-content:space-between;align-items:center;padding:0 20px;height:var(--topbar-height);border-bottom:1px solid var(--line);background:linear-gradient(180deg,#0f1a2ef2,#0b1220f2)}.topbar-left{display:flex;align-items:center;gap:12px}.topbar-title{display:flex;flex-direction:column}.topbar-right{display:flex;gap:12px;align-items:center}.title{font-weight:700;font-size:var(--fs-lg)}.subtitle{font-size:var(--fs-sm);color:var(--muted);margin-top:2px}.lang-picker{display:flex;align-items:center;gap:8px}.lang-picker label{font-size:var(--fs-sm);color:var(--muted);white-space:nowrap}.lang-picker select{padding:6px 10px;border-radius:var(--r-xs);border:1px solid var(--line);background:#0000002e;color:var(--text);font-size:var(--fs-sm);cursor:pointer;outline:none}.lang-picker select:focus{border-color:var(--accent)}.autosave-indicator{display:flex;align-items:center;gap:6px;font-size:var(--fs-sm);color:var(--muted);padding:6px 10px;border-radius:999px;background:#e7eefc08;border:1px solid var(--line)}.autosave-indicator .dot{width:8px;height:8px;background-color:#4ade80;border-radius:50%;box-shadow:0 0 8px #4ade8066}.undo-controls{display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:var(--r-sm);background:#0000002e;border:1px solid var(--line);height:36px}.btn-icon{width:28px;height:28px;padding:4px;border-radius:var(--r-xs);border:1px solid var(--line);background:var(--btn);color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.btn-icon:hover{background:var(--btn2);border-color:var(--line2)}.btn-icon:active{transform:translateY(1px)}.btn-icon:disabled{opacity:.4;cursor:not-allowed}.btn-icon:disabled:hover{background:var(--btn);border-color:var(--line);transform:none}.btn-icon svg{width:16px;height:16px}.undo-counter{font-size:var(--fs-xs);color:var(--muted);padding:0 4px;font-variant-numeric:tabular-nums}.settings-menu{position:relative}.settings-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;background:var(--panel);border:1px solid var(--line2);border-radius:var(--r-md);box-shadow:var(--shadow);z-index:1000;overflow:hidden;animation:fadeIn .15s ease}.settings-dropdown.hidden{display:none}.settings-section{padding:8px 0}.settings-divider{height:1px;background:var(--line);margin:0}.settings-item{display:flex;align-items:center;gap:12px;width:100%;padding:10px 16px;border:none;background:transparent;color:var(--text);font-size:var(--fs-md);font-family:inherit;cursor:pointer;text-align:left;transition:background .15s}.settings-item:hover{background:#ffffff0d}.settings-item.danger{color:#ff6b6b}.settings-item.danger:hover{background:#ff6b6b1a}.settings-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px}.settings-icon svg{width:16px;height:16px}.debug-panel{position:fixed;right:20px;top:calc(var(--topbar-height) + 8px);width:min(520px,calc(100vw - 40px));max-height:calc(100vh - var(--topbar-height) - var(--footer-height) - 12px);display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow);z-index:2000}.debug-panel.hidden{display:none}.debug-panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--line);background:#0000001f}.debug-panel-title{margin:0;font-size:var(--fs-section);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent)}.debug-panel-content{padding:16px;display:flex;flex-direction:column;gap:12px;overflow-y:auto;min-height:0}.app-footer{position:fixed;bottom:0;left:0;right:0;height:24px;display:flex;align-items:center;justify-content:center;padding:0 20px;background:linear-gradient(180deg,#0b1220f2,#080e1afa);border-top:1px solid var(--line);color:#94a3b899;font-size:10px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial;letter-spacing:.02em;z-index:100;-webkit-user-select:none;user-select:none;pointer-events:none}.main-nav{display:flex;justify-content:space-between;align-items:center;padding:0 20px;height:var(--main-nav-height);background:var(--panel);border-bottom:1px solid var(--line)}.main-nav-tabs{display:flex;gap:4px}.main-nav-tab{display:flex;align-items:center;gap:8px;padding:10px 20px;border:none;background:transparent;color:var(--muted);font-size:var(--fs-md);font-weight:600;cursor:pointer;border-radius:var(--r-sm);transition:all .2s ease}.main-nav-tab:hover{color:var(--text);background:#e7eefc0f}.main-nav-tab.active{color:var(--accent);background:var(--accentSoft)}.main-nav-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px}.main-nav-icon svg{width:16px;height:16px}.main-nav-context,.main-nav-actions{display:flex;align-items:center;gap:8px}.nav-context-text{font-size:var(--fs-sm);color:var(--muted)}.main-content{height:calc(100vh - var(--topbar-height) - var(--main-nav-height) - var(--footer-height));overflow:hidden}.main-panel{display:none;height:100%;overflow:auto}.main-panel.active{display:block}.main-panel[data-main-panel=setup],.main-panel[data-main-panel=commercial]{background:var(--panel2)}.setup-flow{max-width:100%;margin:0 auto;padding:20px;display:flex;flex-direction:column;gap:20px}.setup-block{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}.setup-block-header{display:flex;align-items:center;gap:12px;padding:16px 20px;background:#00000014;border-bottom:1px solid var(--line)}.setup-block-number{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--accentSoft);color:var(--accent);font-size:var(--fs-md);font-weight:700;border-radius:50%}.setup-block-title{font-size:var(--fs-section);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);margin:0}.setup-block-content{padding:20px;display:flex;flex-direction:column;gap:16px}.inline-select-row{display:flex;gap:8px;align-items:center}.inline-select{flex:1;padding:10px var(--control-pad-x);border-radius:var(--r-sm);border:1px solid var(--line);background:#0000002e;color:var(--text);font-size:var(--fs-md);font-weight:500;min-height:var(--control-h);outline:none}.inline-select:focus{border-color:#7aa2ff8c;box-shadow:0 0 0 3px var(--accentSoft)}.btn-inline{width:36px;height:var(--control-h);display:flex;align-items:center;justify-content:center;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--btn);color:var(--text);font-size:18px;font-weight:600;cursor:pointer;transition:all .15s}.btn-inline:hover{background:var(--btn2);border-color:var(--line2)}.btn-inline.danger{color:#ff6b6b}.btn-inline.danger:hover{background:#ff6b6b26;border-color:#ff6b6b66}.btn-inline.small{width:28px;height:var(--control-h-sm);font-size:14px}.dimensions-row{display:flex;gap:12px;align-items:flex-end}.dimensions-row .field{flex:1}.dimensions-x{font-size:var(--fs-lg);color:var(--muted);padding-bottom:10px}.sections-advanced{margin-top:8px}.sections-hint{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#7aa2ff0d;border:1px dashed var(--line);border-radius:var(--r-sm);font-size:var(--fs-sm);color:var(--muted)}.hint-icon{font-size:16px}.btn-text{background:none;border:none;color:var(--accent);font-size:var(--fs-sm);font-weight:600;cursor:pointer;padding:4px 8px;margin-left:auto;transition:opacity .15s}.btn-text:hover{opacity:.8}.sections-panel{margin-top:16px;padding-top:16px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:12px}.sections-header{display:flex;justify-content:space-between;align-items:center}.sections-header label{font-size:var(--fs-sm);color:var(--muted);font-weight:500}.section-props-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.section-props-grid .field{gap:4px}.section-props-grid .field label{font-size:var(--fs-xs)}.section-props-grid .field input{padding:6px 8px;min-height:var(--control-h-sm);font-size:var(--fs-sm)}.setup-continue{display:flex;justify-content:center;padding-top:8px}.setup-collection{display:grid;gap:16px}.collection-section{border:1px solid var(--line);border-radius:var(--r-md);padding:12px;background:#0000001a;display:grid;gap:10px}.collection-title{margin:0;font-size:var(--fs-sm);font-weight:600;color:var(--text)}.preset-room-list{display:grid;gap:6px;padding:8px;border:1px solid var(--line);border-radius:var(--r-xs);background:#0000001f;max-height:160px;overflow-y:auto}.preset-room-list .preset-room-item{display:flex;align-items:center;gap:10px;font-size:var(--fs-sm);color:var(--text)}.preset-room-list .preset-room-item span{margin-left:2px}.field .preset-room-item input[type=checkbox],.field input[type=checkbox].checkbox{width:18px;height:18px;min-width:18px;min-height:18px;max-width:18px;max-height:18px;padding:0;border-radius:2px}.btn.large{padding:14px 32px;font-size:var(--fs-lg);gap:8px}.btn-arrow{font-size:18px}.setup-container{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:20px;max-width:1200px;margin:0 auto}.setup-section{display:flex;flex-direction:column;gap:16px}@media(max-width:900px){.setup-container{grid-template-columns:1fr}}@media(max-width:600px){.setup-flow{padding:20px 16px}.setup-block-content{padding:16px}.dimensions-row{flex-direction:column;gap:12px}.dimensions-x{display:none}.section-props-grid{grid-template-columns:repeat(2,1fr)}}.planning-fullwidth{display:flex;flex-direction:column;height:100%;background:var(--panel2)}.planning-header{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:var(--panel);border-bottom:1px solid var(--line);flex-shrink:0}.planning-header-left{display:flex;align-items:center;gap:16px}.view-toggle{display:flex;align-items:center;background:#0000002e;border-radius:var(--r-sm);padding:2px;gap:2px}.view-toggle-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;border:none;background:transparent;color:var(--muted);font-size:var(--fs-sm);font-weight:500;cursor:pointer;border-radius:calc(var(--r-sm) - 2px);transition:all .15s ease}.view-toggle-btn:hover{color:var(--text);background:#ffffff0d}.view-toggle-btn.active{background:var(--accent);color:#fff}.view-toggle-btn:disabled{opacity:.3;cursor:not-allowed;pointer-events:none}.view-toggle-btn svg{width:14px;height:14px}.view-toggle-divider{width:1px;height:24px;background:var(--line);margin:0 4px}.planning-room-select{display:flex;align-items:center;gap:8px;font-size:var(--fs-md);color:var(--muted)}.planning-room-select select{padding:10px var(--control-pad-x);border-radius:var(--r-sm);border:1px solid var(--line);background:#0000002e;color:var(--text);font-size:var(--fs-md);font-weight:500;outline:none;min-height:var(--control-h)}.planning-room-select select:focus{border-color:var(--accent)}.planning-area{padding:6px 12px;background:var(--accentSoft);border-radius:var(--r-sm);font-size:var(--fs-sm);font-weight:600;color:var(--accent)}.planning-header-right{display:flex;align-items:center;gap:8px}.planning-warnings-mini{display:flex;align-items:center;gap:4px;padding:4px 8px;border-radius:var(--r-sm);cursor:pointer;border:1px solid var(--line);background:#0003}.planning-tips-mini{border-color:#6eb4ff73;background:#6eb4ff24;color:#c3e1fff2}.planning-tips-mini.hidden{display:none}.planning-warnings-mini .warn-icon{font-size:14px}.planning-warnings-mini .pill{min-width:20px;height:20px;font-size:var(--fs-xs)}.planning-warnings-mini.status-green{border-color:#4caf5059;background:#4caf501f;color:#b4e6b9f2}.planning-warnings-mini.status-yellow{border-color:#ffc10780;background:#ffc1072e;color:#ffe8aaf2}.planning-warnings-mini.status-red{border-color:#ff6b6b99;background:#ff6b6b38;color:#ffcdcdf2}.planning-warnings-mini.status-green .warn-icon,.planning-warnings-mini.status-yellow .warn-icon,.planning-warnings-mini.status-red .warn-icon{color:currentColor}.planning-warnings-mini.status-green .pill,.planning-warnings-mini.status-yellow .pill,.planning-warnings-mini.status-red .pill{border-color:currentColor;color:currentColor}.planning-warnings-full{margin:0 20px;padding:12px;background:#ffc8641a;border:1px solid rgba(255,200,100,.3);border-radius:var(--r-sm)}.warnings-panel{right:20px;bottom:20px;width:min(520px,calc(100vw - 40px));max-height:70vh}.planning-preview-area{flex:1;padding:16px 20px;display:flex;flex-direction:column;min-height:0}.planning-svg{flex:1;position:relative;min-height:300px;padding-bottom:70px}.quick-controls{position:absolute;bottom:20px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:16px;padding:14px 24px;background:#0f1a2efa;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--line2);border-radius:var(--r-md);box-shadow:0 4px 20px #0006;z-index:10}.quick-control-group{display:flex;align-items:center;gap:8px}.quick-label{font-size:var(--fs-md);color:var(--muted);font-weight:500}.quick-input{width:60px;padding:6px 10px;border-radius:var(--r-xs);border:1px solid var(--line);background:#00000040;color:var(--text);font-size:var(--fs-md);text-align:center;outline:none;min-height:var(--control-h-sm)}.quick-input.small{width:50px}.quick-input:focus{border-color:var(--accent)}.quick-x{color:var(--muted);font-size:var(--fs-md)}.quick-unit{font-size:var(--fs-sm);color:var(--muted)}.quick-spinner{display:flex;align-items:stretch;gap:0}.quick-spinner-btn{display:flex;align-items:center;justify-content:center;width:28px;height:var(--control-h);border:1px solid var(--line);background:#00000040;color:var(--text);font-size:16px;font-weight:600;cursor:pointer;transition:all .15s}.quick-spinner-btn:first-child{border-radius:var(--r-xs) 0 0 var(--r-xs);border-right:none}.quick-spinner-btn:last-child{border-radius:0 var(--r-xs) var(--r-xs) 0;border-left:none}.quick-spinner input{flex:1;min-width:0}.quick-controls .quick-spinner{align-items:center}.quick-controls .quick-spinner-btn{height:var(--control-h-sm)}.commercial-table .quick-spinner{display:inline-flex;vertical-align:middle}.commercial-table td{vertical-align:middle}.commercial-table .quick-spinner-btn,.section-props-grid .quick-spinner-btn{height:var(--control-h-sm)}.quick-spinner-btn:hover{background:#ffffff1a}.quick-spinner-btn:active{background:#ffffff26}.quick-spinner .quick-input{border-radius:0;width:45px}.quick-slider{width:80px;height:4px;-webkit-appearance:none;appearance:none;background:var(--line);border-radius:2px;outline:none;cursor:pointer}.quick-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent);cursor:pointer;border:2px solid var(--bg);box-shadow:0 1px 3px #0000004d}.quick-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--accent);cursor:pointer;border:2px solid var(--bg);box-shadow:0 1px 3px #0000004d}.quick-slider:disabled{opacity:.5;cursor:not-allowed}.floor-controls .quick-btn span{font-size:var(--fs-sm)}.pattern-groups-controls .quick-btn{display:flex;align-items:center;gap:6px}.pattern-groups-controls .quick-btn span{font-size:var(--fs-sm)}.pattern-groups-controls .quick-btn:disabled{opacity:.4}.pattern-groups-controls #pgStatusLabel{font-size:var(--fs-sm);color:var(--muted);min-width:120px}.calibration-panel{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:0 8px 32px #0006;padding:20px 24px;min-width:320px;max-width:400px;z-index:200}.calibration-panel.hidden{display:none}.calibration-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.calibration-step{font-size:var(--fs-lg);font-weight:600;color:var(--accent)}.calibration-instruction{margin:0 0 8px;color:var(--text);line-height:1.5}.calibration-hint{margin:0 0 16px;font-size:var(--fs-xs);color:var(--muted);font-style:italic}.calibration-input{margin-bottom:16px}.calibration-input.hidden{display:none}.calibration-input label{display:block;font-size:var(--fs-sm);color:var(--muted);margin-bottom:8px}.calibration-input-row{display:flex;gap:8px}.calibration-input-row input{flex:1;padding:8px 12px;border:1px solid var(--line);border-radius:var(--r-xs);background:#0003;color:var(--text);font-size:var(--fs-md)}.calibration-input-row input:focus{outline:none;border-color:var(--accent)}.calibration-measurements{display:flex;flex-direction:column;gap:6px;margin-top:12px}.calibration-measurement{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#22c55e1a;border:1px solid rgba(34,197,94,.3);border-radius:var(--r-xs);font-size:var(--fs-sm)}.calibration-measurement-icon{color:#22c55e;font-weight:700}.calibration-measurement-text{color:var(--text)}.calibration-success{text-align:center;padding:16px 0}.calibration-success.hidden{display:none}.calibration-success-icon{width:48px;height:48px;margin:0 auto 12px;background:#22c55e;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;color:#fff}.calibration-success p{margin:0 0 8px;color:var(--text)}.calibration-success .btn{margin-top:16px}.calibration-failed{text-align:center;padding:16px 0}.calibration-failed.hidden{display:none}.calibration-failed-icon{width:48px;height:48px;margin:0 auto 12px;background:#ef4444;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;color:#fff}.calibration-failed p{margin:0 0 8px;color:var(--text)}.calibration-failed-reason{font-size:var(--fs-sm);color:var(--muted)}.calibration-failed .btn{margin-top:16px}.floor-scale-indicator{position:absolute;bottom:60px;right:20px;background:#000000b3;border:1px solid var(--line);border-radius:var(--r-xs);padding:6px 12px;font-size:var(--fs-sm);color:var(--text);display:flex;align-items:center;gap:8px}.floor-scale-indicator.hidden{display:none}.scale-bar{width:50px;height:4px;background:var(--accent);border-radius:2px}.no-spinner::-webkit-outer-spin-button,.no-spinner::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.no-spinner{-moz-appearance:textfield}.quick-select{padding:6px var(--control-pad-x);border-radius:var(--r-xs);border:1px solid var(--line);background:#00000040;color:var(--text);font-size:var(--fs-md);outline:none;cursor:pointer;min-height:var(--control-h-sm)}.quick-select-wide{min-width:180px}.quick-select:focus{border-color:var(--accent)}.quick-control-divider{width:1px;height:var(--control-h-sm);background:var(--line)}.quick-toggles{display:flex;gap:6px}.quick-toggle{display:flex;align-items:center;justify-content:center;width:var(--control-h-sm);height:var(--control-h-sm);border-radius:var(--r-xs);border:1px solid var(--line);background:transparent;cursor:pointer;transition:all .15s}.quick-toggle input{display:none}.quick-toggle-icon{font-size:16px;color:var(--muted);transition:color .15s}.quick-toggle:hover{border-color:var(--line2);background:#ffffff0d}.quick-toggle:has(input:checked){background:var(--accentSoft);border-color:var(--accent)}.quick-toggle:has(input:checked) .quick-toggle-icon{color:var(--accent)}.quick-toggle-switch{display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;-webkit-user-select:none;user-select:none}.quick-toggle-label{font-size:10px;color:var(--muted);white-space:nowrap;text-align:center;line-height:1}.quick-toggle-slider{position:relative;width:32px;height:18px;background-color:var(--btn);border:1px solid var(--line2);border-radius:18px;transition:all .2s ease;flex-shrink:0}.quick-toggle-slider:before{position:absolute;content:"";height:12px;width:12px;left:2px;bottom:2px;background-color:var(--muted);border-radius:50%;transition:all .2s cubic-bezier(.68,-.55,.265,1.55)}.quick-toggle-switch input{display:none}.quick-toggle-switch input:checked+.quick-toggle-slider{background-color:var(--accentSoft);border-color:var(--accent)}.quick-toggle-switch input:checked+.quick-toggle-slider:before{transform:translate(14px);background-color:var(--accent)}.quick-control-group.disabled,.quick-toggle.disabled{opacity:.4;pointer-events:none}.quick-actions{display:flex;gap:6px}.quick-btn{padding:6px 12px;border-radius:var(--r-xs);border:1px solid var(--line);background:var(--btn);color:var(--text);font-size:var(--fs-md);font-weight:600;cursor:pointer;transition:all .15s;min-height:var(--control-h-sm)}.quick-btn:hover{background:var(--btn2);border-color:var(--line2)}.quick-btn.active{background:var(--accentSoft);border-color:var(--accent);color:var(--accent)}.quick-btn:disabled{opacity:.4;cursor:not-allowed}.quick-dropdown{position:relative}.quick-dropdown-menu{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);min-width:140px;background:#0f1a2efa;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--line2);border-radius:var(--r-md);box-shadow:0 4px 20px #0006;overflow:hidden;z-index:20}.quick-dropdown-menu.hidden{display:none}.quick-dropdown-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;border:none;background:transparent;color:var(--text);font-size:var(--fs-md);font-family:inherit;cursor:pointer;text-align:left;transition:background .15s}.quick-dropdown-item:hover{background:#ffffff1a}.quick-dropdown-icon{font-size:16px;width:20px;text-align:center;color:var(--muted)}.quick-dropdown-item:hover .quick-dropdown-icon{color:var(--accent)}.zoom-controls{display:flex;align-items:center;gap:4px}.zoom-btn{width:var(--control-h-sm);padding:0;display:flex;align-items:center;justify-content:center;font-size:16px}.zoom-indicator{min-width:48px;text-align:center;font-size:var(--fs-sm);font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}#planSvg.pan-ready,#planSvgFullscreen.pan-ready{cursor:grab}#planSvg.panning,#planSvgFullscreen.panning{cursor:grabbing}#planSvg.drawing-polygon,#planSvgFullscreen.drawing-polygon{cursor:crosshair}#planSvg.drawing-polygon *,#planSvgFullscreen.drawing-polygon *{cursor:crosshair!important}#planSvg.drawing-polygon>*:not(.polygon-draw-preview),#planSvgFullscreen.drawing-polygon>*:not(.polygon-draw-preview){pointer-events:none}#planSvg.drawing-polygon .polygon-draw-preview,#planSvgFullscreen.drawing-polygon .polygon-draw-preview{pointer-events:auto}.polygon-draw-preview .close-target{cursor:pointer!important}.polygon-draw-hint{position:absolute;bottom:60px;left:50%;transform:translate(-50%);padding:8px 16px;background:#000000bf;color:#fff;border-radius:6px;font-size:13px;pointer-events:none;z-index:100;white-space:nowrap}#floorDrawRoom.active{background:var(--accent);color:#fff}.metrics-bar{display:flex;align-items:center;justify-content:center;gap:16px;padding:12px 20px;background:var(--panel);border-top:1px solid var(--line);flex-shrink:0;flex-wrap:wrap}.metrics-bar-item{display:flex;align-items:baseline;gap:6px}.metrics-bar-item.highlight{padding:4px 12px;background:var(--accentSoft);border-radius:var(--r-sm)}.metrics-bar-label{font-size:var(--fs-sm);color:var(--muted)}.metrics-bar-value{font-size:var(--fs-md);font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}.metrics-bar-item.highlight .metrics-bar-value{color:var(--accent)}.metrics-bar-sub{font-size:var(--fs-xs);color:var(--muted)}.metrics-bar-divider{width:1px;height:20px;background:var(--line)}.settings-panel{position:fixed;top:calc(var(--topbar-height) + var(--main-nav-height));right:0;width:min(520px,46vw);height:calc(100vh - var(--topbar-height) - var(--main-nav-height) - var(--footer-height));background:var(--panel);border-left:1px solid var(--line);box-shadow:-4px 0 20px #0000004d;z-index:100;display:flex;flex-direction:column;transform:translate(0);transition:transform .25s ease}.settings-panel.hidden{transform:translate(100%)}.settings-panel-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line);flex-shrink:0}.settings-panel-header h3{margin:0;font-size:var(--fs-lg)}.settings-panel-content{flex:1;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:20px}.panel-section{display:flex;flex-direction:column;gap:12px}.panel-section-title{font-size:var(--fs-section);font-weight:700;text-transform:uppercase;color:var(--accent);letter-spacing:.06em;margin:0;padding-bottom:8px;border-bottom:1px solid var(--line)}.panel-fields{display:flex;flex-direction:column;gap:12px}.skirting-room-list{display:grid;gap:6px;padding:8px;border:1px solid var(--line);border-radius:var(--r-xs);background:#0000001f;max-height:160px;overflow-y:auto}.skirting-room-floor{font-size:var(--fs-sm);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-top:6px}.skirting-room-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:6px 8px;border-radius:var(--r-sm);background:#00000014}.skirting-room-row.is-section{padding-left:18px;background:#0000000d}.skirting-room-row.is-section.is-disabled{opacity:.5}.skirting-room-row.is-section.is-disabled .toggle-switch{cursor:not-allowed}.skirting-room-name{font-size:var(--fs-sm);color:var(--text)}.skirting-room-toggle{justify-content:flex-end;width:auto}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}#tilePresetRow{grid-template-columns:1fr}#tilePresetSelect{width:100%}.panel-details{border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden}.panel-details summary{padding:10px 12px;background:#0000001a;cursor:pointer;font-size:var(--fs-sm);color:var(--muted);-webkit-user-select:none;user-select:none}.panel-details summary:hover{background:#00000026}.panel-details[open] summary{border-bottom:1px solid var(--line)}.panel-details>.panel-fields{padding:12px}.excl-list{width:100%;min-height:60px;padding:8px;border-radius:var(--r-sm);border:1px solid var(--line);background:#0000002e;color:var(--text);font-size:var(--fs-sm)}.excl-props{padding:8px;background:#0000001a;border-radius:var(--r-sm);display:grid;grid-template-columns:1fr 1fr;gap:8px}.excl-props .field{gap:4px}.excl-props .field label{font-size:var(--fs-xs)}.excl-props .field input{padding:6px 8px;min-height:32px;font-size:var(--fs-sm)}@media(max-width:768px){.quick-controls{left:12px;right:12px;transform:none;flex-wrap:wrap;justify-content:center}.quick-control-group:nth-child(3){display:none}.settings-panel{width:100%}.metrics-bar{gap:12px;padding:10px 12px}.metrics-bar-divider{display:none}}.commercial-container{padding:20px;max-width:100%;margin:0 auto;display:flex;flex-direction:column;gap:20px}.export-container{padding:20px;display:grid;grid-template-columns:1.15fr 1fr;gap:20px}.export-card .card-content{padding:16px 20px}.export-rooms{display:flex;flex-direction:column;gap:12px}.export-rooms-header{display:flex;justify-content:flex-start}.export-actions{display:flex;gap:8px}.export-rooms-list{display:flex;flex-direction:column;gap:10px;max-height:420px;overflow:auto;padding-right:4px}.export-room-group{border:1px solid var(--line);border-radius:var(--r-sm);padding:10px 12px;background:#0000000f}.export-room-group-title{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:8px}.export-room-item{display:flex;align-items:center;justify-content:flex-start;gap:10px;padding:6px 0;border-bottom:1px dashed rgba(0,0,0,.15)}.export-room-item:last-child{border-bottom:none}.export-room-label{display:flex;flex-direction:column;gap:4px}.export-room-name{font-weight:600}.export-room-meta{font-size:var(--fs-xs);color:var(--muted)}.export-options{display:flex;flex-direction:column;gap:14px}.field-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.toggle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px}.export-progress{display:flex;flex-direction:column;gap:8px}.export-progress-bar{height:8px;background:#00000026;border-radius:999px;overflow:hidden}.export-progress-fill{height:100%;width:0%;background:#7ac7ff;transition:width .2s ease}.export-status{font-size:var(--fs-xs);color:var(--muted)}.export-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.export-buttons .btn{width:100%}.section-card{border:1px solid var(--line);border-radius:var(--r-md);background:var(--panel);overflow:hidden}.section-card .section-header,.section-card .section-header-collapsible{padding:16px 20px;background:#0000001f;border-bottom:1px solid var(--line)}.section-card .card-content{padding:16px 20px}.section-card.danger-zone{border-color:#ff6b6b4d;background:#ff6b6b05}.section-card.danger-zone .section-title{color:#ff6b6b}.section-header-collapsible{display:flex;justify-content:space-between;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;min-height:48px}.section-header-collapsible:hover{background:#ffffff08}.section-header-collapsible .section-title{margin:0}.section-header{display:flex;justify-content:space-between;align-items:center;min-height:48px}.section-header .section-title{margin:0}.section-title{font-size:var(--fs-section);font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin:0;color:var(--accent)}.collapse-toggle{font-size:10px;color:var(--muted);transition:transform .2s}.hidden{display:none!important}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}.span2{grid-column:1 / -1}.field{display:flex;flex-direction:column;gap:6px}.field label{display:block;font-size:var(--fs-sm);color:var(--muted);font-weight:500}.input-with-unit{display:flex;align-items:center;gap:8px}.input-with-unit input,.input-with-unit .quick-spinner{flex:1}.input-unit{font-size:var(--fs-sm);color:var(--muted);white-space:nowrap}.field input,.field select{width:100%;padding:10px var(--control-pad-x);border-radius:var(--r-sm);border:1px solid var(--line);background:#0000002e;color:var(--text);outline:none;font-family:inherit;font-size:var(--fs-md);transition:all .2s ease;min-height:var(--control-h)}.quick-spinner .spinner-input,.quick-spinner .quick-input{border-radius:0;border-left:none;border-right:none;min-height:var(--control-h)}.quick-controls .quick-spinner .spinner-input,.quick-controls .quick-spinner .quick-input,.commercial-table .quick-spinner .spinner-input,.section-props-grid .quick-spinner .spinner-input{min-height:var(--control-h-sm)}.field input::placeholder{color:#e7eefc59}.field input:focus,.field select:focus{border-color:#7aa2ff8c;box-shadow:0 0 0 3px var(--accentSoft)}.input-with-icon{position:relative;display:flex;align-items:center}.input-with-icon input{padding-right:32px!important}.input-icon{position:absolute;right:12px;color:var(--muted);pointer-events:none;opacity:.6}.btnrow{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:4px}.btn{padding:9px 14px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--btn);color:var(--text);cursor:pointer;font-family:inherit;font-size:var(--fs-md);transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;min-height:36px}.btn:hover{background:var(--btn2);border-color:var(--line2)}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--accentSoft);border-color:#7aa2ff73;color:var(--accent)}.btn.primary:hover{background:#7aa2ff33}.btn.danger{background:var(--danger);border-color:#ff6b6b59}.btn.small{padding:6px 10px;font-size:var(--fs-sm);min-height:var(--control-h-sm)}.toggle-switch{display:flex;align-items:center;justify-content:space-between;width:100%;cursor:pointer;-webkit-user-select:none;user-select:none;min-height:24px}.toggle-switch input{display:none}.toggle-slider{position:relative;width:36px;height:20px;background-color:var(--btn);border:1px solid var(--line2);border-radius:20px;transition:all .3s ease;flex-shrink:0}.toggle-slider:before{position:absolute;content:"";height:14px;width:14px;left:2px;bottom:2px;background-color:var(--muted);border-radius:50%;transition:all .3s cubic-bezier(.68,-.55,.265,1.55)}.toggle-switch input:checked+.toggle-slider{background-color:var(--accentSoft);border-color:var(--accent)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(16px);background-color:var(--accent)}.toggle-label{font-size:var(--fs-md);color:var(--text);line-height:20px;flex:1}.checkbox{appearance:none;-webkit-appearance:none;width:18px;height:18px;min-width:18px;max-width:18px;min-height:18px;max-height:18px;padding:0;border:1px solid var(--line2);border-radius:2px;background:var(--btn);cursor:pointer;position:relative;transition:all .15s ease}.checkbox:hover{border-color:var(--accent)}.checkbox:checked{background:var(--accent);border-color:var(--accent)}.checkbox:checked:after{content:"";position:absolute;left:50%;top:45%;width:4px;height:8px;border:solid var(--bg);border-width:0 2px 2px 0;transform:translate(-50%,-50%) rotate(45deg)}.checkbox:disabled{opacity:.5;cursor:not-allowed}.meta{font-size:var(--fs-sm);color:var(--muted);display:grid;gap:6px}.meta .k{color:#e7eefce6}.subtle{color:#e7eefc9e}.viewerHead{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:40px;flex-shrink:0;margin-bottom:8px}#planTitle{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0;font-size:var(--fs-md);font-weight:600}.pill{min-width:24px;height:24px;border-radius:999px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);background:#e7eefc0d;color:var(--text);font-size:var(--fs-sm)}.warnings{display:grid;gap:8px;margin-bottom:12px}.warnSection{font-size:var(--fs-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-top:6px}.warnItem{border:none;border-radius:0;padding:0;background:transparent}.warnItem.info{background:transparent}.warnItem+.warnItem{margin-top:10px}.wTitle{font-size:var(--fs-md);font-weight:700;margin-bottom:4px}.wText{font-size:var(--fs-md);color:var(--muted)}.svgWrap{border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;background:#081022;flex:1;display:flex;flex-direction:column;min-height:300px;position:relative;margin-bottom:12px}#planSvg,#threeDCanvas{width:100%;height:100%;flex:1;display:block;min-height:0}.resize-metrics{position:fixed;z-index:10000;pointer-events:none;padding:4px 6px;border-radius:var(--r-sm);background:#0f1a2ee6;border:1px solid rgba(255,255,255,.12);color:#e7eefcf2;font-size:9px;font-weight:500;white-space:nowrap;box-shadow:0 4px 12px #00000059;transform:translate(-50%,-120%)}.plan-toolbar{position:absolute;top:12px;right:12px;display:flex;gap:8px;z-index:10}.toolbar-toggle{display:flex;align-items:center;gap:6px;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:6px 10px;border-radius:var(--r-sm);border:1px solid var(--line2);cursor:pointer;transition:all .2s;color:var(--text)}.toolbar-toggle:hover{background:#000c;border-color:var(--accent)}.toolbar-toggle input{display:none}.toggle-icon{width:28px;height:16px;background:#ffffff1a;border-radius:8px;position:relative;border:1px solid rgba(255,255,255,.1);transition:.3s}.toggle-icon:after{content:"";position:absolute;width:10px;height:10px;background:#aaa;border-radius:50%;top:2px;left:2px;transition:.3s}.toolbar-toggle input:checked+.toggle-icon{background:var(--accentSoft);border-color:var(--accent)}.toolbar-toggle input:checked+.toggle-icon:after{left:14px;background:var(--accent)}.toolbar-text{font-size:var(--fs-xs);font-weight:600;letter-spacing:.02em}.tip-section{background:#7aa2ff0d;border:1px solid var(--line);border-radius:var(--r-md);padding:12px 16px;display:flex;flex-direction:column;gap:4px;flex-shrink:0;margin-bottom:12px}.tip-header{display:flex;align-items:center;gap:8px}.tip-icon{font-size:16px}.tip-title{font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;color:var(--accent);letter-spacing:.05em}.tip-content{font-size:var(--fs-sm);color:var(--muted);line-height:1.4}.metrics-panel{border:1px solid var(--line);border-radius:var(--r-md);background:#00000014;padding:16px;display:flex;flex-direction:column;gap:16px}.metrics-section-title{font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;color:var(--accent);letter-spacing:.05em;margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid var(--line)}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.metric-item{display:flex;justify-content:space-between;align-items:baseline;padding:4px 0}.metric-label{font-size:var(--fs-sm);color:var(--muted)}.metric-value{font-size:var(--fs-md);color:var(--text);font-weight:600;text-align:right;font-variant-numeric:tabular-nums}.metric-total{margin-top:8px;padding-top:8px;border-top:2px solid var(--line)}.metric-total .metric-label{color:var(--text);font-weight:700}.metric-total .metric-value{color:var(--accent);font-size:var(--fs-lg)}#planSvg.removal-mode [data-tileid],#planSvgFullscreen.removal-mode [data-tileid],#planSvg.removal-mode [data-skirtid],#planSvgFullscreen.removal-mode [data-skirtid]{cursor:pointer;pointer-events:auto!important;transition:opacity .2s,filter .2s,stroke .2s,fill .2s}#planSvg.removal-mode [data-tileid]:hover,#planSvgFullscreen.removal-mode [data-tileid]:hover{filter:brightness(1.3);stroke:var(--accent)!important;stroke-width:2.5px!important;stroke-dasharray:none!important;opacity:1!important}#planSvg.removal-mode [data-skirtid]:hover,#planSvgFullscreen.removal-mode [data-skirtid]:hover{filter:brightness(1.3);stroke:var(--accent)!important;stroke-width:2.5px!important;opacity:1!important}#planSvg.removal-mode .tile-excluded,#planSvgFullscreen.removal-mode .tile-excluded,#planSvg.removal-mode .skirt-excluded,#planSvgFullscreen.removal-mode .skirt-excluded{opacity:.6}#planSvg.removal-mode [data-tileid]:not(.tile-excluded),#planSvgFullscreen.removal-mode [data-tileid]:not(.tile-excluded){fill:#ffffff40!important}.commercial-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.commercial-table th,.commercial-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line)}.commercial-table th{color:var(--muted);font-weight:600;text-transform:uppercase;font-size:10px;letter-spacing:.05em}.commercial-table tr:last-child td{border-bottom:none}.commercial-table input{width:60px;background:#0000002e;border:1px solid var(--line);color:var(--text);border-radius:var(--r-sm);padding:6px 8px;font-size:var(--fs-sm);min-height:var(--control-h-sm)}.commercial-table .room-name{font-weight:600}.commercial-table .material-ref{color:var(--accent);font-family:monospace}.commercial-wall-row td{background:#ffffff08;color:var(--muted)}.commercial-wall-row .room-name{font-weight:400;font-style:italic}.commercial-wall-row .material-ref{color:var(--accent);opacity:.75}.source-tag{font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:2px 6px;border-radius:var(--r-sm)}.source-floor{background:#6366f126;color:var(--accent)}.source-wall{background:#eab30826;color:#d4a017}.source-sub{background:#10b98126;color:#059669}.commercial-list{max-height:500px;overflow-y:auto}.color-picker-row{display:flex;align-items:center;gap:8px}.color-presets{display:flex;gap:4px}.color-presets.disabled{pointer-events:none;opacity:.5}.tile-config-fields.is-readonly{opacity:.55;filter:grayscale(.2)}.pattern-group-child-notice{margin:8px 0 12px;padding:10px 12px;background:#63b3ed26;border:1px solid rgba(99,179,237,.3);border-radius:var(--r-sm);font-size:var(--fs-sm);color:var(--accent);display:flex;align-items:center;gap:8px}.pattern-group-child-notice.hidden{display:none}.pattern-group-child-notice .notice-icon{font-size:1.1em}#groutColorPresets .color-swatch.disabled{opacity:.4;pointer-events:none;cursor:not-allowed}.pattern-group-locked{position:relative}.pattern-group-locked:after{content:"";position:absolute;inset:0;cursor:not-allowed;z-index:10}.pattern-group-locked:hover:after{background:#63b3ed1f;border-radius:var(--r-sm)}.panel-fields.pattern-group-locked{pointer-events:auto}.panel-fields.pattern-group-locked:after{border-radius:var(--r-sm)}.tile-edit-actions{margin:10px 0 6px;padding:10px 12px;border:1px solid var(--line2);border-radius:var(--r-sm);background:#ffffff0a;display:flex;flex-direction:column;align-items:stretch;gap:10px}.tile-edit-actions.hidden{display:none}.tile-edit-actions-text{font-size:var(--fs-sm);color:var(--text-soft)}.tile-edit-actions-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}.tile-edit-btn.update{border-color:#ffc45f80;color:#ffd48a}.tile-edit-btn.update:hover{background:#ffc45f26;border-color:#ffc45fcc}.tile-edit-btn.update.armed{box-shadow:0 0 0 2px #ffc45f40}.tile-edit-btn.new{border-color:#4ade808c;color:#bff7d4}.tile-edit-btn.new:hover{background:#4ade8029;border-color:#4ade80d9}.tile-edit-btn.discard{border-color:#ff6b6b80;color:#ff8a8a}.tile-edit-btn.discard:hover{background:#ff6b6b1f;border-color:#ff6b6bcc}.tile-edit-warning{padding:8px 10px;border:1px solid rgba(255,196,95,.35);border-radius:var(--r-sm);background:#ffc45f14}.tile-edit-warning .wTitle{color:#ffd48a}.tile-preset-empty{display:grid;gap:10px;padding:14px;border:1px solid rgba(122,162,255,.35);border-radius:var(--r-md);background:linear-gradient(135deg,#7aa2ff1a,#0000)}.tile-preset-empty.hidden{display:none}.tile-preset-empty-text{font-size:var(--fs-sm);color:var(--text);font-weight:600;letter-spacing:.01em}.tile-preset-empty .btn{width:100%;justify-content:center;padding:10px 12px}#quickTilePresetGroup.no-presets .quick-label{opacity:.7}#quickTilePresetGroup .btn{padding:6px 10px}.quick-create-preset{border:1px solid rgba(122,162,255,.6);background:#7aa2ff2e;color:var(--accent);font-weight:600}.quick-create-preset:hover{background:#7aa2ff47;border-color:#7aa2ffe6}.preset-delete-warning{padding:10px 12px;border:1px solid rgba(255,107,107,.4);border-radius:var(--r-sm);background:#ff6b6b14;margin-top:10px}.preset-delete-warning.hidden{display:none}.preset-delete-warning .wTitle{color:#ff8a8a}.preset-delete-actions{margin-top:8px;display:flex;gap:8px;flex-wrap:wrap}.field-error{margin-top:6px;font-size:var(--fs-sm);color:#ff8a8a}.field-error.hidden{display:none}.color-swatch{width:22px;height:22px;border:1px solid var(--line2);border-radius:4px;cursor:pointer;padding:0;transition:transform .1s,box-shadow .1s}.color-swatch:hover{transform:scale(1.1);box-shadow:0 2px 6px #0000004d}.color-swatch.selected{border:2px solid var(--accent)}#groutColor,#tilePresetGroutColor{width:40px;height:22px;padding:0;border:1px solid var(--line2);border-radius:4px;cursor:pointer}.fullscreen-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#081022fa;z-index:9999;display:flex;flex-direction:column;animation:fadeIn .2s ease}.fullscreen-header{padding:16px;display:flex;justify-content:flex-end;align-items:center}.fullscreen-content{flex:1;display:flex;align-items:center;justify-content:center;padding:20px;overflow:hidden}#planSvgFullscreen{width:100%;height:100%;max-width:100%;max-height:100%}.code{border:1px solid var(--line);border-radius:var(--r-md);padding:10px;background:#00000029;color:#e7eefcd9;overflow:auto;max-height:320px;font-size:var(--fs-xs);line-height:1.4}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#e7eefc1f;border-radius:999px;border:2px solid rgba(0,0,0,.2)}::-webkit-scrollbar-thumb:hover{background:#e7eefc2e}::-webkit-scrollbar-track{background:transparent}h2{font-size:var(--fs-md);letter-spacing:.02em;margin:0}h3{font-size:var(--fs-section);font-weight:600;letter-spacing:.01em;margin:0}hr{border:none;border-top:1px solid var(--line);margin:12px 0}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.dialog-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .15s ease-out}.dialog-modal{background:#0f1a2efa;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 32px #0000004d;min-width:320px;max-width:480px;width:90%;animation:dialogSlideIn .15s ease-out}@keyframes dialogSlideIn{0%{opacity:0;transform:scale(.95) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}.dialog-header{padding:16px 20px 0}.dialog-title{font-size:var(--fs-lg);font-weight:600;margin:0;color:var(--text-primary)}.dialog-content{padding:12px 20px 16px}.dialog-message{font-size:var(--fs-md);color:var(--muted);margin:0;line-height:1.5;white-space:pre-wrap}.dialog-message.hidden{display:none}.dialog-input-section{margin-top:12px}.dialog-input{width:100%;padding:8px 12px;font-size:var(--fs-md);border:1px solid var(--line);border-radius:4px;background:var(--bg-surface);color:var(--text-primary)}.dialog-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px rgba(var(--accent-rgb),.2)}.dialog-select-section{margin-top:12px}.dialog-select{width:100%;padding:8px 12px;font-size:var(--fs-md);border:1px solid var(--line);border-radius:4px;background:var(--bg-surface);color:var(--text-primary)}.dialog-select:focus{outline:none;border-color:var(--accent)}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px 16px;border-top:1px solid var(--line)}.dialog-actions .btn{min-width:80px}.dialog-actions .btn.danger{background:var(--danger);color:#fff}.dialog-actions .btn.danger:hover{background:var(--danger-hover, #c0392b)}.dialog-modal[data-type=error] .dialog-title{color:var(--danger)}.dialog-modal[data-type=warning] .dialog-title{color:var(--warning, #f39c12)}.dialog-modal[data-type=success] .dialog-title{color:var(--success, #27ae60)}@media(max-width:768px){.topbar,.main-nav{padding:0 12px}.main-nav-tab{padding:8px 12px}.main-nav-tab span:not(.main-nav-icon){display:none}.setup-container,.commercial-container,.export-container,.planning-sidebar,.planning-preview{padding:12px}.export-container,.field-row,.toggle-grid,.export-buttons{grid-template-columns:1fr}.toolbar-text{display:none}}.doorway-editor-form{display:flex;flex-direction:column;gap:12px;margin-top:8px;white-space:normal}.doorway-editor-field{display:flex;flex-direction:column;gap:4px}.doorway-editor-field label{font-size:var(--fs-sm);color:var(--muted);font-weight:500}.doorway-editor-field .dialog-input{width:100%}.surface-editor-form{display:flex;flex-direction:column;gap:12px;margin-top:8px;white-space:normal}.surface-editor-section{display:flex;flex-direction:column;gap:12px}.surface-editor-section-title{font-size:var(--fs-base);font-weight:600;margin:0 0 8px;color:var(--fg)}.surface-editor-field{display:flex;flex-direction:column;gap:4px}.surface-editor-field label{font-size:var(--fs-sm);color:var(--muted);font-weight:500}.surface-editor-field .dialog-input{width:100%}.surface-editor-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.surface-editor-divider{height:1px;background:var(--border);margin:8px 0}.surface-tiling-fields{transition:all .2s ease}
