:root{--navy:#162735;--ink:#314554;--muted:#8798a4;--line:#e3e9ed;--teal:#087d7c;--soft:#f4f7f8;--mint:#e9f5f2}*{box-sizing:border-box}html,body{margin:0;height:100%;width:100%;overflow:hidden}body{display:flex;flex-direction:column;font:12px -apple-system,BlinkMacSystemFont,"Segoe UI",Tahoma,Arial,sans-serif;color:var(--ink);background:var(--soft);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button{display:inline-flex;justify-content:center;align-items:center;gap:6px;border:0;background:none;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent}button:hover{background:#ecf2f3}button:disabled{opacity:.3;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #099996;outline-offset:2px}button,input,select{touch-action:manipulation}[hidden]{display:none!important}.topbar{height:62px;min-height:62px;display:flex;align-items:center;gap:28px;padding:0 20px;background:var(--navy);color:white;z-index:5}.brand{display:flex;align-items:center;gap:10px;min-width:220px;font-size:13px;letter-spacing:.04em}.brand b{font-size:12px;font-weight:500;padding-left:4px;color:#cfdfdf}.brand small{display:block;font-size:8px;letter-spacing:.22em;color:#829aa8;margin-top:5px}.brand-mark{display:grid;place-items:center;width:33px;height:33px;background:#20434b;border:1px solid #3b6c71;color:#6bcdc0;border-radius:7px;font-size:31px}.project-name{display:flex;flex-direction:column;gap:2px;flex:1;min-width:80px;max-width:420px}.project-name>span{font-size:8px;color:#879eab}.project-name input{background:none;border:0;color:#fff;padding:3px 0;font-size:13px;width:100%;border-bottom:1px solid transparent}.project-name input:hover{border-bottom-color:#537080}.file-actions{display:flex;gap:5px;margin-left:auto;align-items:center}.file-actions button{height:38px;padding:0 11px;border-radius:5px;font-size:11px;color:#d9e4e9;white-space:nowrap}.file-actions button:hover{background:#2b404f}.primary,.file-actions .primary{background:#159789;color:#fff;border-radius:6px;padding:0 18px;min-height:39px;font-weight:600;white-space:nowrap}.primary:hover,.file-actions .primary:hover{background:#0b8279}.optionsbar{height:48px;min-height:48px;display:flex;align-items:center;padding:0 12px;background:#fff;border-bottom:1px solid var(--line);z-index:4;overflow:auto;scrollbar-width:none}.optionsbar::-webkit-scrollbar{display:none}.control-group{display:flex;align-items:center;gap:7px;padding:0 12px;border-right:1px solid var(--line);flex-shrink:0;height:28px}.control-group:first-child{padding-left:0;gap:3px}.control-group:last-child{border:0}.icon-btn{width:30px;height:34px;border-radius:5px;font-size:22px}.toggle{display:flex;align-items:center;gap:5px;font-size:10px;color:#758894;padding:7px;border-radius:5px;cursor:pointer;min-height:34px;white-space:nowrap}.toggle:has(input:checked){background:var(--mint);color:var(--teal)}.toggle input{width:11px;height:11px;margin:0;accent-color:var(--teal)}.appearance{font-size:10px;color:#7c8e9a}.appearance label{white-space:nowrap}.appearance input[type=number]{width:38px;height:28px;border:1px solid var(--line);border-radius:4px;text-align:center;padding:3px;background:#fbfcfd;appearance:textfield}.appearance input::-webkit-inner-spin-button{display:none}.appearance input[type=color]{width:28px;height:28px;padding:3px;border:1px solid var(--line);border-radius:4px;background:white}.appearance input[type=color]::-webkit-color-swatch-wrapper{padding:0}.appearance input[type=color]::-webkit-color-swatch{border:0;border-radius:2px}.toolbar-end{margin-left:auto}.toolbar-end button{font-size:10px;color:#81929f;min-height:34px;border-radius:4px}.inspector-toggle{display:none}.workspace{flex:1;display:flex;min-height:0;position:relative}.toolrail{width:158px;min-width:158px;background:#fff;border-right:1px solid var(--line);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#dde5e9 transparent;padding:8px;z-index:3}.toolrail section{padding:7px 0 10px;border-bottom:1px solid #eff2f4}.toolrail section:first-child{padding-top:0}.toolrail h2{font-size:9px;color:#8b9ba6;letter-spacing:.02em;font-weight:500;margin:0 4px 6px}.tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:3px}.tool-btn{display:flex;flex-direction:column;gap:4px;min-height:49px;padding:6px 0;font-size:9px;border:1px solid transparent;border-radius:6px;color:#617786;position:relative}.tool-btn i{display:block;font-style:normal;font-family:Arial,sans-serif;font-size:24px;line-height:23px;height:23px;font-weight:400}.tool-btn:hover{background:#f1f6f6;border-color:#e2ebed}.tool-btn.active,.tool-btn[aria-pressed=true]{color:var(--teal);background:var(--mint);border-color:#b7dfd8}.tool-btn.active:before{content:"";position:absolute;left:-1px;top:12px;bottom:12px;width:3px;border-radius:0 3px 3px 0;background:var(--teal)}.rail-footer{font-size:8px;color:#9aaab3;text-align:center;padding:15px 0}.drawing-area{flex:1;min-width:0;min-height:0;position:relative;overflow:hidden;background:#f8fafb}#canvasHost{position:relative;width:100%;height:100%;overflow:hidden}#planCanvas{width:100%;height:100%;display:block;touch-action:none;outline:0}#planCanvas:focus-visible{outline:2px solid #16a79a40;outline-offset:-2px}#emptyHint{position:absolute;top:46%;left:50%;transform:translate(-50%,-50%);text-align:center;pointer-events:none;background:#f8fafbf2;border:1px solid #dfe9ec;box-shadow:0 12px 32px #12313c04;border-radius:12px;padding:25px 22px;width:280px;max-width:87%;color:#81959f}.empty-icon{display:grid;place-items:center;width:43px;height:43px;background:#e8f3f0;color:#78a9a2;border-radius:10px;margin:0 auto 14px;font:40px Arial}#emptyHint h1{font-size:18px;font-weight:500;color:#35515c;margin:0 0 10px}#emptyHint p{font-size:11px;line-height:1.9;margin:0 0 17px}#emptyHint b{font-weight:500;color:var(--teal)}#emptyHint small{display:block;border-top:1px solid #e1e9ec;padding-top:14px;font-size:9px;color:#9baab2}.canvas-badge{position:absolute;left:17px;top:16px;background:#ffffffdf;border:1px solid #e5ecef;color:#95a5af;font-size:8px;letter-spacing:.12em;padding:7px 8px;border-radius:4px;pointer-events:none}.canvas-badge b{font-weight:400;margin-left:8px;border-left:1px solid var(--line);padding-left:8px;font-size:7px}.inspector{width:258px;min-width:258px;background:white;border-left:1px solid var(--line);display:flex;flex-direction:column;z-index:3}.inspector-heading{display:flex;align-items:center;padding:17px;border-bottom:1px solid var(--line);min-height:52px;gap:10px}.inspector-heading h2{font-size:12px;font-weight:600;margin:0}.inspector-heading>span{margin-left:auto;color:#a2afb8;font-size:9px;border:1px solid var(--line);border-radius:4px;padding:2px 6px}#closeInspector{display:none;font-size:23px;color:#9caab2;width:32px;height:32px}.inspector-scroll{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin}.inspector-scroll>section{padding:20px 17px;border-bottom:1px solid var(--line)}.eyebrow{font-size:9px;letter-spacing:.05em;color:#98a8b2;margin-bottom:9px}.inspector h3{margin:0 0 10px;font-size:12px;font-weight:500;color:#526b7a}.hint{color:#99a8b2;font-size:10px;line-height:1.8;margin:8px 0 15px}.property-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 10px}.property-grid>.wide{grid-column:1/-1}.inspector label,dialog label{font-size:10px;color:#7f929f;display:flex;flex-direction:column;gap:6px;min-width:0}.inspector input,.inspector textarea,dialog input,dialog select{width:100%;min-width:0;border:1px solid var(--line);border-radius:5px;background:#fcfdfd;min-height:35px;padding:8px;color:#435c6c;font-size:12px;appearance:textfield}.inspector input::-webkit-inner-spin-button{display:none}.inspector textarea{resize:vertical;font:12px inherit}.selection-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:17px}.selection-actions button{min-height:34px;border:1px solid var(--line);border-radius:5px;font-size:10px;color:#7c909e}.selection-actions .danger{color:#b47171}.tool-settings .property-grid{margin-top:12px}.tool-settings [data-settings]+[data-settings]{margin-top:15px}.tool-settings .hint{margin-bottom:0}.quick-guide{background:#fafcfc}.quick-guide h3{color:#779891;font-size:11px}.quick-guide p{font-size:10px;color:#a0aeb7;line-height:1.9}.quick-guide b{font-weight:500;color:#7b949f}.inspector-bottom{padding:13px 15px;border-top:1px solid var(--line);font-size:9px;color:#98aab3;white-space:nowrap}.statusbar{min-height:35px;height:35px;display:flex;align-items:center;gap:18px;padding:0 13px;border-top:1px solid var(--line);background:white;font-size:9px;color:#95a5af;z-index:9}#statusText{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#statusText:before{content:"●";color:#469e91;margin-right:6px;font-size:7px}.document-status{display:flex;gap:13px;white-space:nowrap}.document-status>span+span{border-left:1px solid var(--line);padding-left:13px}.zoom-controls{height:100%;display:flex;align-items:center;gap:3px;border-left:1px solid var(--line);padding-left:10px}.zoom-controls button{width:28px;height:28px;border-radius:4px;font-size:17px}#zoomLabel{font-size:9px;width:39px;text-align:center;color:#78909f}#fitBtn{width:auto;font-size:11px;padding-left:12px;margin-left:5px;border-left:1px solid var(--line);border-radius:0}dialog{border:1px solid var(--line);border-radius:12px;padding:25px;width:430px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 30px);color:var(--ink);box-shadow:0 25px 80px #0c203f50;overflow:auto}dialog::backdrop{background:#11283875;backdrop-filter:blur(3px)}.dialog-heading{display:flex;align-items:flex-start;gap:12px}.dialog-heading h2{font-size:18px;font-weight:600;margin:0}.dialog-heading .eyebrow{font-size:8px;letter-spacing:.14em;color:#8fa9a5;margin-bottom:5px}.dialog-heading button{margin-left:auto;font-size:23px;width:29px;height:29px;border-radius:4px;color:#9baab3}.dialog-intro{font-size:11px;color:#93a4ae;margin:16px 0 22px}.dialog-heading+label{margin-top:22px}dialog .property-grid{margin:16px 0}dialog input,dialog select{min-height:41px}dialog .checkbox-label{display:flex;flex-direction:row;gap:9px;align-items:center;min-height:38px;font-size:11px}dialog input[type=checkbox]{width:15px;min-height:15px;accent-color:var(--teal);margin:0}#exportMessage{font-size:11px;color:#a86855;line-height:1.6;min-height:15px}.dialog-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:18px;margin-top:14px;border-top:1px solid var(--line)}.dialog-footer small{font-size:9px;color:#a0afb8}.help-steps{margin:23px 0;padding-left:23px;color:var(--teal)}.help-steps li{padding-left:5px;margin-bottom:17px}.help-steps b{color:#506d7b;font-size:12px;font-weight:500}.help-steps p{color:#95a6af;font-size:11px;line-height:1.8;margin:5px 0}.shortcut-list{border-top:1px solid var(--line);padding-top:17px;display:grid;grid-template-columns:1fr 1fr;gap:11px 15px;color:#8b9fab;font-size:9px}.shortcut-list>span{display:flex;justify-content:space-between;gap:4px}.shortcut-list kbd{font:8px Arial;border:1px solid var(--line);border-radius:3px;padding:3px 4px;background:#f7f9fa}.toast{position:fixed;bottom:52px;left:50%;transform:translate(-50%,8px);padding:12px 20px;background:#1b3543;color:white;border-radius:7px;font-size:12px;box-shadow:0 5px 30px #142d3a30;z-index:50;opacity:0;pointer-events:none;transition:.15s;max-width:90vw;text-align:center}.toast.visible{opacity:1;transform:translate(-50%,0)}
#toast{position:fixed;bottom:52px;left:50%;transform:translate(-50%,8px);padding:12px 20px;background:#1b3543;color:white;border-radius:7px;font-size:12px;box-shadow:0 5px 30px #142d3a30;z-index:50;opacity:0;pointer-events:none;transition:.15s;max-width:90vw;text-align:center}#toast.visible{opacity:1;transform:translate(-50%,0)}
@media(min-width:1450px){.toolrail{width:176px;min-width:176px;padding:10px}.tool-btn{min-height:57px;font-size:10px}.toolrail section{padding:10px 0 13px}.inspector{width:280px;min-width:280px}.inspector-scroll>section{padding:22px}.topbar{padding:0 24px}}
@media(max-width:1150px){.topbar{gap:18px;padding:0 15px}.brand{min-width:195px;font-size:11px}.brand b{font-size:10px}.file-actions button{padding:0 8px}.toolrail{width:144px;min-width:144px;padding:7px}.inspector{width:237px;min-width:237px}.inspector-scroll>section{padding:17px 13px}.control-group{padding:0 8px;gap:4px}.toggle{padding:6px}.appearance{gap:7px}}
@media(max-width:1050px){.inspector{position:absolute;right:0;top:0;bottom:0;width:266px;min-width:266px;box-shadow:-8px 0 30px #213b441a;transform:translateX(100%);visibility:hidden;transition:.15s;z-index:8}.inspector.open{transform:translateX(0);visibility:visible}#closeInspector,.inspector-toggle{display:inline-flex}.inspector-scroll>section{padding:19px 17px}.toolrail{width:154px;min-width:154px}.topbar{gap:20px}.project-name{max-width:none}.statusbar{height:40px;min-height:40px}.zoom-controls button{height:34px;min-width:33px}.inspector input,.selection-actions button{min-height:41px}.appearance label:last-child{display:none}}
@media(max-width:760px){.topbar{height:59px;min-height:59px;padding:0 10px;gap:12px}.brand{min-width:0;gap:7px;font-size:11px}.brand b{display:block;padding:0;font-size:8px;margin-top:2px}.brand small{display:none}.brand-mark{width:29px;height:29px;font-size:27px}.project-name input{font-size:11px}.project-name>span{font-size:7px}.file-actions{gap:2px}.file-actions button{padding:0 8px}.file-actions button>span{display:none}.file-actions .primary{font-size:10px;padding:0 10px}.optionsbar{padding:0 7px}.control-group{padding:0 7px;gap:2px}.toggle{font-size:9px;padding:5px}.appearance{font-size:9px}.toolbar-end{gap:5px}.toolbar-end button{white-space:nowrap}.toolbar-end #helpBtn>span{display:none}.toolrail{width:98px;min-width:98px;padding:6px 4px}.tool-btn{min-height:48px;font-size:8px;gap:3px}.tool-btn i{font-size:23px;height:22px;line-height:22px}.toolrail h2{font-size:7px;margin:0 2px 5px}.toolrail section{padding:7px 0}.tool-grid{gap:2px}.rail-footer{font-size:7px}.document-status{display:none}.statusbar{gap:7px;padding:0 8px;font-size:8px}.zoom-controls{gap:0;padding-left:5px}#fitBtn{padding-left:7px;margin-left:3px}#fitBtn span{display:none}.canvas-badge{top:12px;left:11px;font-size:7px}.canvas-badge b{display:none}#emptyHint{width:244px;padding:22px 12px}#emptyHint h1{font-size:16px}#emptyHint p{font-size:10px}#emptyHint small{font-size:8px}}
@media(max-width:480px){.brand>div{display:none}.topbar{gap:9px;padding:0 8px}.file-actions{gap:0}.file-actions button{padding:0 7px}.file-actions .primary{padding:0 9px}.toolrail{width:82px;min-width:82px;padding:5px 3px}.tool-btn{font-size:7px;min-height:47px}.toolrail h2{font-size:6px}.rail-footer{font-size:6px}.tool-btn i{font-size:21px}.toolrail section{padding:6px 0}#emptyHint h1{font-size:14px}#emptyHint{padding:19px 8px}#emptyHint p{font-size:9px}#emptyHint small{font-size:7px}.empty-icon{width:36px;height:36px;font-size:34px}dialog{padding:20px}.dialog-footer small{display:none}.dialog-footer{justify-content:flex-end}.shortcut-list{grid-template-columns:1fr}.inspector{width:251px;min-width:251px}.statusbar{font-size:7px}.zoom-controls button{min-width:27px}.canvas-badge{top:9px;left:9px}}
@media(pointer:coarse){.tool-btn{min-height:54px}.inspector input,.inspector select,.inspector textarea,.selection-actions button{min-height:44px}.optionsbar{height:52px;min-height:52px}.toggle,.icon-btn{min-height:44px}.statusbar{height:44px;min-height:44px}.zoom-controls button{height:40px;min-width:35px}.file-actions button{min-height:42px}.toolrail{scrollbar-width:none}.hint{font-size:11px}dialog input,dialog select{min-height:44px}}
/* The selection toolbar lives at body level so it can move beyond the canvas. */
body>.selection-bar{position:fixed;z-index:20;bottom:54px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);overflow:auto}body>.selection-bar .toolbar-grip{cursor:grab;touch-action:none;user-select:none;background:#eef8f5;color:#087d7c;min-width:44px}body>.selection-bar.dragging .toolbar-grip{cursor:grabbing}body>.selection-bar.dragging{user-select:none;box-shadow:0 8px 28px #16273530}@media(max-width:760px){body>.selection-bar{bottom:54px}body>.selection-bar .toolbar-grip span{display:none}}
/* Readability takes precedence over decorative density, especially on tablets. */
.measure-bar{position:absolute;top:12px;left:50%;transform:translateX(-50%);width:520px;max-width:calc(100% - 24px);padding:12px;background:#fff;border:1px solid #acd4cd;border-radius:10px;box-shadow:0 4px 18px #16273518;z-index:2;color:#294d58}.measure-controls{display:flex;align-items:end;gap:10px}.measure-controls label{flex:1;font-size:12px;display:flex;flex-direction:column;gap:4px}.measure-controls select,.measure-controls button,.inspector select{min-height:44px;border:1px solid #cbdcde;border-radius:6px;padding:8px;background:#fff;max-width:100%;font-size:13px}.measure-bar strong{display:block;font-size:14px;margin-top:9px;color:#087d7c}.measure-bar small{display:block;font-size:11px;line-height:1.6;margin-top:4px}.measure-bar:not([hidden])~.canvas-badge{display:none}input[readonly]{background:#edf3f4;color:#526777}@media(max-width:600px){.measure-controls{gap:5px;flex-wrap:wrap}.measure-controls label{min-width:100px}.measure-controls button{min-height:36px}.measure-bar{padding:8px}.measure-bar small{font-size:10px}}@media print{.measure-bar{display:none!important}}
body{font-size:14px}.toolrail{width:170px;min-width:170px}.tool-btn{font-size:12px;min-height:58px;color:#4e6776;line-height:1.35}.toolrail h2{font-size:11px;color:#637687;margin-bottom:8px}.toolrail section{padding-top:9px;padding-bottom:11px}.rail-footer{font-size:10px;color:#637687}.inspector h2{font-size:14px}.inspector h3{font-size:13px;color:#455f70}.inspector label,dialog label{font-size:12px;color:#526777}.inspector input,.inspector textarea,dialog input,dialog select{font-size:14px;min-height:39px}.hint{font-size:12px;color:#637687}.eyebrow{font-size:11px;color:#637687}.selection-actions button{font-size:12px;color:#526777;min-height:38px}.quick-guide h3{font-size:12px;color:#467267}.quick-guide p{font-size:12px;color:#637687}.quick-guide b{color:#526777}.inspector-bottom{font-size:10px;color:#637687}.toggle{font-size:12px;color:#526777}.appearance{font-size:11px;color:#526777}.toolbar-end button{font-size:12px;color:#526777}.file-actions button{font-size:12px}.project-name input{font-size:14px}.project-name>span{font-size:10px;color:#a5b7c3}.statusbar{font-size:11px;color:#526777}#zoomLabel{font-size:11px;color:#526777}#emptyHint p{font-size:12px;color:#637687}#emptyHint small{font-size:10px;color:#637687}.dialog-intro{font-size:12px;color:#637687}.dialog-footer small{font-size:10px;color:#637687}.help-steps p{font-size:12px;color:#637687}.help-steps b{font-size:14px}.shortcut-list{font-size:11px;color:#526777}.shortcut-list kbd{font-size:10px}.canvas-badge{color:#637687}.help-steps{line-height:1.6}
@media(max-width:1050px){.toolrail{width:166px;min-width:166px}.tool-btn{min-height:58px}.inspector input,.inspector select,.inspector textarea,.selection-actions button{min-height:44px}.inspector-bottom{font-size:10px}.toggle{font-size:11px}.appearance{font-size:11px}.statusbar{font-size:10px}}
@media(max-width:760px){.toolrail{width:110px;min-width:110px}.tool-grid{grid-template-columns:1fr}.tool-btn{flex-direction:row;justify-content:flex-start;padding:8px 6px;gap:7px;font-size:11px;min-height:44px}.tool-btn i{width:20px;min-width:20px;font-size:22px}.toolrail h2{font-size:10px}.rail-footer{font-size:9px}.tool-btn[data-tool=window]{font-size:10px}.project-name input{font-size:12px}.project-name>span{font-size:9px}.file-actions button,.file-actions .primary{font-size:11px}.statusbar{font-size:10px}.toggle{font-size:11px}.toolbar-end button{font-size:11px}.inspector label,dialog label{font-size:12px}#emptyHint p{font-size:11px}#emptyHint small{font-size:9px}.canvas-badge{font-size:8px}.inspector{width:267px;min-width:267px}}
@media(max-width:480px){.toolrail{width:98px;min-width:98px}.tool-btn{font-size:10px;gap:5px;padding:7px 4px}.tool-btn[data-tool=window]{font-size:9px}.toolrail h2{font-size:9px}.rail-footer{font-size:8px}.statusbar{font-size:9px}.inspector{width:254px;min-width:254px}.project-name input{font-size:11px}.project-name>span{font-size:8px}.file-actions .primary{font-size:10px}#emptyHint p{font-size:10px}#emptyHint small{font-size:9px}.tool-btn i{width:18px;min-width:18px}.inspector-bottom{font-size:10px}}
@media(pointer:coarse){.tool-btn{min-height:54px}.inspector input,.inspector select,.inspector textarea,.selection-actions button{min-height:44px}.toggle{min-height:44px}}
.configuring-tool .inspector-scroll{display:flex;flex-direction:column}.configuring-tool .inspector-scroll>section{flex-shrink:0}.configuring-tool .tool-settings{order:-1}
.drawing-area{display:flex;flex-direction:column}#canvasHost{flex:1;min-height:0;height:auto}.measure-bar{position:static;transform:none;flex-shrink:0;width:100%;max-width:none;border:0;border-bottom:1px solid #acd4cd;border-radius:0;box-shadow:none;padding:8px 16px}.measure-controls{max-width:600px}.measure-bar strong{display:inline-block;margin-right:12px}.measure-bar small{display:inline}.measure-bar:not([hidden])+ #canvasHost .canvas-badge{display:none}
.creator-credit{flex-shrink:0;white-space:nowrap;font-size:11px;color:#526777}.creator-credit strong{font-weight:600;color:#315c62}@media(max-width:760px){.creator-credit{font-size:10px}}
.tool-grid .text-tool{min-height:44px;white-space:nowrap;border-color:#cbdcde;font-size:12px}.selection-bar .add-selection{display:flex;align-items:center;gap:5px;font-size:12px;min-height:44px;white-space:nowrap;color:#315c62;padding:0 5px;cursor:pointer}.selection-bar .add-selection:has(input:checked){background:#e9f5f2;border-radius:5px}@media(max-width:760px){.tool-grid .text-tool{font-size:11px;justify-content:center}.selection-bar .add-selection{font-size:11px}}
.add-selection input{width:17px;height:17px;accent-color:#087d7c}.selection-bar{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:6px;padding:7px 10px;background:#fff;border:1px solid #b7d8d2;box-shadow:0 4px 20px #1627351a;border-radius:10px;z-index:2;max-width:calc(100% - 24px);width:max-content;flex-wrap:wrap;justify-content:center}.selection-bar strong{font-size:12px;color:#087d7c;padding:0 8px;white-space:nowrap}.selection-bar button{min-height:44px;border:1px solid #d4e3e2;border-radius:6px;font-size:12px;padding:7px 12px;color:#294d58}.selection-bar #groupBtn:not(:disabled){background:#087d7c;color:#fff;border-color:#087d7c}.selection-bar button:disabled{opacity:.45}.selection-bar button:focus-visible{outline-offset:1px}@media(max-width:760px){.selection-bar{bottom:10px;gap:5px;padding:6px}.selection-bar strong{flex-basis:100%;text-align:center}.selection-bar button{font-size:11px;padding:6px 8px}}@media print{.selection-bar{display:none!important}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}@media print{.topbar,.optionsbar,.toolrail,.inspector,.statusbar,#emptyHint,.canvas-badge,.toast,#toast,dialog{display:none!important}body{height:auto;background:white}.workspace,.drawing-area,#canvasHost{width:100%;height:100vh}}
/* Hybrid views and annotation decisions retain native keyboard controls. */
button,select,input:not([type=checkbox]),textarea{min-height:44px;min-width:44px}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid #087d7c;outline-offset:2px}
.file-actions button,.toolbar-end button,.icon-btn,.zoom-controls button,#closeInspector,.dialog-heading button,.selection-actions button{min-height:44px;min-width:44px}
.toggle{min-height:44px;display:inline-flex;align-items:center}.view-control{gap:8px}.view-control select{border:1px solid var(--line);border-radius:6px;background:white;font-size:13px;padding:6px}.optionsbar{height:auto;min-height:52px;overflow-x:auto;flex-shrink:0}.control-group{flex-shrink:0}.inspector-tabs{display:flex;padding:6px;gap:6px;border-bottom:1px solid var(--line)}.inspector-tabs button{flex:1;border:1px solid var(--line);border-radius:6px;font-size:12px}.inspector-tabs button[aria-pressed=true]{background:var(--mint);color:var(--teal);border-color:#b7dfd8}
#propertiesPanel>section,#objectListPanel{padding:18px 16px;border-bottom:1px solid var(--line)}.annotation-controls button{display:block;width:100%;border:1px solid var(--line);border-radius:6px;margin:6px 0;padding:8px;font-size:12px}#annotationTargetLabel,#arrangeSummary,#objectListSummary,#objectListEmpty,#exportScopeSummary,#exportDiagnostics{font-size:12px;line-height:1.7;overflow-wrap:anywhere}#arrangeAnnotationsBtn{background:var(--mint);color:var(--teal)}#objectList{display:flex;flex-direction:column;gap:5px}#objectList button{border:1px solid var(--line);border-radius:6px;text-align:left;padding:8px;overflow-wrap:anywhere;font-size:12px;flex-shrink:0}#objectList button[data-annotation]{margin-left:12px;color:#526777}#objectList button[data-issue]{background:#fff6e9;color:#8b4e22}#objectList button:disabled,.annotation-controls button:disabled{opacity:.6}#clearObjectSearchBtn,#showAllObjectsBtn{border:1px solid var(--line);border-radius:6px;padding:8px;margin:6px 0}#exportDiagnostics{color:#8b4e22;background:#fff6e9}#exportDownloadWarningBtn{width:100%;padding:10px}
.configuring-tool #propertiesPanel{display:flex;flex-direction:column}.configuring-tool #propertiesPanel>section{flex-shrink:0}.configuring-tool #propertiesPanel>.tool-settings{order:-1}
.statusbar{height:auto;min-height:46px}.zoom-controls{flex-shrink:0}#objectSearch{width:100%}@media(max-width:760px){.optionsbar{max-width:100vw}.control-group{padding:0 6px}.topbar{overflow-x:auto}.file-actions{flex-shrink:0}.project-name{min-width:90px}.inspector-tabs button{font-size:11px}.creator-credit{white-space:normal;max-width:90px}.statusbar{gap:5px}.zoom-controls button{min-width:44px;min-height:44px}#fitBtn{min-width:44px}.inspector{max-width:calc(100vw - 24px)}}
/* Equal-specificity final rules also cover the narrow measurement toolbar. */
.primary,.measure-controls button,dialog .checkbox-label,dialog select{min-height:44px;min-width:44px}
/* Modern drawing shell: chrome only; canvas remains in its original layout box. */
:root{--navy:#1e242b;--ink:#304451;--teal:#087d7c;--muted:#647985}
.topbar{background:#1e242b}.brand small{color:#b4c5cf}.project-name>span{color:#b8c9d3}
.toolrail{background:#242c34;color:#e3ebef;border-right-color:#39434d;padding:10px}.toolrail section{border-bottom-color:#3b4651}.toolrail h2{color:#b9c9d2;font-size:11px;font-weight:600;margin:10px 4px 8px}.tool-btn{color:#dce7ec;font-size:11px;min-height:56px;border-radius:8px}.tool-btn:hover{background:#34434c;border-color:#607880}.tool-btn.active,.tool-btn[aria-pressed=true]{background:#123f42;border-color:#68c7bd;color:#b4fff3}.tool-btn.active:before{background:#68c7bd}.tool-grid .text-tool{border-color:#607580;color:#dce7ec}.rail-footer{color:#b9c9d2;font-size:10px}.tool-btn svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.toolrail-heading{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:12px}.tool-search{display:flex;flex-direction:column;gap:8px;color:#c6d5dd;font-size:11px;margin:12px 0}.tool-search input{width:100%;border:1px solid #62747e;border-radius:8px;background:#182229;color:#f1f7fa;padding:8px}.tool-search input::placeholder{color:#b0c1ca}#toolSearchEmpty{line-height:1.7;font-size:12px;color:#dce7ec}#closeToolDrawer,#toolDrawerToggle{display:none}
.renderer-controls{display:flex;gap:3px;padding:3px;margin-right:10px;border:1px solid #d1dfe1;border-radius:9px;flex-shrink:0;background:#eff5f5}.renderer-controls button{min-width:44px;min-height:44px;padding:7px;border-radius:6px;font-weight:600}.renderer-controls button[aria-pressed=true]{background:#087d7c;color:white}.renderer-controls button:hover{background:#d4e8e5}.renderer-controls button[aria-pressed=true]:hover{background:#086967}
.renderer-notice{position:absolute;right:12px;top:12px;max-width:calc(100% - 170px);z-index:2;display:flex;align-items:center;gap:8px;color:#526975;font-size:11px;pointer-events:none}.renderer-notice button{background:#fff;border:1px solid #b6d6d2;border-radius:7px;padding:5px 10px;pointer-events:auto}#viewer3dHost{position:absolute;inset:0}.drawing-area{background:#f8fafb}.inspector-heading{background:#edf3f4}.inspector h3{color:#304956}.inspector label,dialog label{color:#506875}.hint,.quick-guide p,.quick-guide b{color:#5a707c}.eyebrow,.inspector-bottom,.document-status,.statusbar{color:#5c727e}.inspector-heading>span{color:#526b76}.toolbar-end button,.toggle,.appearance{color:#516974}.inspector,.toolrail{transition:transform 160ms ease,visibility 160ms ease}.tool-btn,.renderer-controls button{transition:background-color 160ms ease,border-color 160ms ease}#planCanvas:focus-visible{outline:2px solid #087d7c;outline-offset:-2px}
@media(max-width:1050px){#closeInspector{color:#405b68}.inspector{transition:transform 160ms ease,visibility 160ms ease}.inspector.open{visibility:visible}}
@media(max-width:760px){#toolDrawerToggle{display:inline-flex;flex-shrink:0;min-height:44px;min-width:44px;padding:6px;border:1px solid #cadcde;border-radius:7px;margin-right:6px}#closeToolDrawer{display:inline-flex;color:#dce7ec;min-height:44px;min-width:44px}.toolrail{position:absolute;left:0;top:0;bottom:0;width:244px;min-width:244px;max-width:calc(100vw - 24px);transform:translateX(-100%);visibility:hidden;z-index:10;box-shadow:10px 0 30px #152b3433;padding:12px}.toolrail.open{transform:translateX(0);visibility:visible}.tool-btn{min-height:56px;font-size:12px}.toolrail h2{font-size:12px}.inspector{top:auto;bottom:0;left:0;right:0;width:100%;min-width:0;max-width:none;max-height:78%;border-radius:14px 14px 0 0;transform:translateY(100%);box-shadow:0 -8px 30px #213b4426;z-index:11}.inspector.open{transform:translateY(0)}.renderer-notice{top:auto;bottom:8px;right:8px;max-width:calc(100% - 16px);background:#fffffff0;border-radius:6px;padding:4px 7px;font-size:10px}.renderer-controls{margin-right:5px}.statusbar{flex-wrap:wrap;padding:3px 8px}.document-status{gap:6px}.document-status>span+span{padding-left:6px}.toolrail .tool-grid{gap:5px}.toolrail .text-tool{font-size:12px}.canvas-badge{left:10px;top:10px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* Explicit values and preview assumptions stay visibly separate. */
.spatial-badge{display:block;font-size:.75rem;color:var(--muted,#536774)}
.spatial-badge[data-status="assumed"]{color:#805b16}
.spatial-badge[data-status="known"]{color:#087d7c}
.spatial-settings button{min-height:44px;margin-top:8px}

/* Installation viewer shares the measured canvas host; 2D stays in layout. */
#viewer3dHost{position:absolute;inset:0;z-index:1;overflow:hidden;background:#f8fafb;outline:0}
#viewer3dHost:focus-visible{outline:2px solid #087d7c;outline-offset:-2px}
#viewer3dHost>canvas{display:block;width:100%;height:100%;touch-action:none}
.viewer-3d-controls{position:absolute;left:12px;bottom:12px;z-index:3;display:flex;flex-wrap:wrap;gap:6px;max-width:calc(100% - 24px);background:#fff;border:1px solid #b6d6d2;border-radius:8px;padding:4px}
.viewer-3d-controls button,.viewer-3d-controls label{min-height:44px;min-width:44px;padding:8px;display:flex;align-items:center;gap:6px}
.viewer-3d-controls button{border-radius:5px}
.renderer-notice{z-index:3;background:#ffffffed;border-radius:5px;padding:5px 8px}
.renderer-3d .canvas-badge{visibility:hidden}
.renderer-3d .selection-bar{z-index:3}
@media(max-width:760px){.renderer-notice{max-width:calc(100% - 24px);right:12px;top:8px;font-size:10px}.viewer-3d-controls{bottom:8px}}

/* Primary-reference hierarchy; the existing tools and canonical data stay shared. */
.topbar{background:#20282f;gap:20px;padding:0 22px}
.brand{min-width:266px;font-size:20px;letter-spacing:0;gap:0}
.brand-mark{display:none}.brand-cmc{font-size:29px;font-weight:750;color:#16b5a5}
.brand b{font-size:19px;color:#fff;font-weight:600;padding-left:2px}.brand small{display:none}
.project-name input{font-size:16px;font-weight:600}.project-name>span{font-size:10px}
.header-history{border:0;gap:4px;padding:0}.header-history button{width:44px;min-height:44px;color:#dde7e9}
.header-history button:hover{background:#35424b}.file-actions button{min-height:44px;font-size:13px}
.file-actions .primary{background:#0d9e90;min-width:88px}.file-actions .export-action{background:#35424b;border:1px solid #4e5b64}
.toolrail{width:280px;min-width:280px;padding:15px;background:#242e35}
.toolrail h2{font-size:13px;font-weight:600;color:#f0f5f6;margin:0 7px 10px}
.toolrail section{padding:15px 0;border-bottom:1px solid #435058}
.toolrail .tool-grid{gap:7px}.tool-btn{min-height:62px;font-size:12px;color:#e6eef0}
.tool-btn svg{width:30px;height:30px}.tool-search{font-size:12px}.tool-search input{min-height:44px;font-size:13px}
.inspector{width:320px;min-width:320px;background:#fff}.inspector-heading{background:#fff}
.inspector-scroll>section{padding:20px}.inspector h3{font-size:16px;font-weight:600}
.inspector label{font-size:12px}.inspector input,.inspector textarea{font-size:14px;min-height:44px;background:#fbfcfd}
.inspector .property-grid{gap:15px 12px}.spatial-badge{font-size:12px;line-height:1.6}
#selectionProperties{padding:14px;border:1px solid #e0e7eb;border-radius:9px;background:#fff}
.drawing-area .renderer-controls{position:absolute;left:50%;top:14px;transform:translateX(-50%);margin:0;z-index:5;border-radius:24px;padding:3px;background:#eef4f5;box-shadow:0 2px 8px #243b4710}
.drawing-area .renderer-controls button{min-width:64px;border-radius:21px;font-size:14px}
.canvas-toolbar{position:absolute;left:12px;right:12px;top:14px;z-index:5;pointer-events:none}
.canvas-toolbar button,.canvas-toolbar select{pointer-events:auto;min-height:44px}
.canvas-toolbar .view-control{display:flex;width:max-content;height:44px;padding:0 8px;border:1px solid #dce5e8;border-radius:7px;background:#fffffff2;font-size:12px}
.canvas-toolbar select{max-width:105px;font-size:12px}
.canvas-toolbar .toolbar-end{position:absolute;left:178px;top:0;height:44px;padding:0;border:0;margin:0;display:flex;gap:4px}
.canvas-toolbar #helpBtn{width:44px;min-height:44px;border-radius:7px;background:#ffffffed;font-size:16px}
.canvas-toolbar #helpBtn span{display:none}
.canvas-toolbar .inspector-toggle{background:#fff;border:1px solid #dce5e8;border-radius:7px;padding:6px}
.viewer-assumptions{position:absolute;top:14px;right:12px;z-index:5;max-width:34%;padding:10px 12px;border:1px solid #efc575;border-radius:7px;background:#ffdfa0;color:#67470b;font-size:12px;line-height:1.5;font-weight:600;pointer-events:none}
.renderer-notice{top:70px;right:12px;max-width:calc(100% - 24px);font-size:10px}
.renderer-3d .optionsbar{display:none}
.viewer-3d-controls{left:50%;bottom:14px;transform:translateX(-50%);justify-content:center;flex-wrap:nowrap;max-width:calc(100% - 24px);box-shadow:0 5px 18px #2c45531c;border-color:#d2dde2;padding:5px 8px;border-radius:10px}
.viewer-3d-controls button,.viewer-3d-controls label,.orbit-hint{min-height:44px;white-space:nowrap;font-size:12px}
.orbit-hint{display:flex;align-items:center;color:#536873;padding:8px}
.viewer-3d-controls button:hover{background:#edf5f4}
.renderer-3d .selection-bar{bottom:130px;left:50%;transform:translateX(-50%);max-width:calc(100% - 24px)}
#closeInspector,#closeToolDrawer{min-height:44px;min-width:44px}.zoom-controls button{min-height:44px;min-width:44px}
@media(max-width:1200px){.brand{min-width:220px}.brand-cmc{font-size:25px}.brand b{font-size:16px}.toolrail{width:220px;min-width:220px}.inspector{width:290px;min-width:290px}.topbar{gap:12px;padding:0 14px}.project-name input{font-size:14px}.viewer-assumptions{max-width:calc(100% - 24px);top:70px}.renderer-notice{top:118px}}
@media(max-width:1050px){.inspector{width:320px;min-width:320px}.canvas-toolbar .toolbar-end{left:auto;right:0}.canvas-toolbar .inspector-toggle{font-size:0;width:44px}.canvas-toolbar .inspector-toggle:before{content:'☷';font-size:19px}.canvas-toolbar .view-control{top:58px;position:absolute;left:0}.viewer-assumptions{top:70px;left:185px;right:12px;max-width:none}.renderer-notice{top:132px}.viewer-3d-controls{flex-wrap:wrap;min-width:320px}.renderer-3d .selection-bar{bottom:190px}}
@media(max-width:760px){.topbar{display:grid;grid-template-columns:auto 1fr;height:auto;min-height:104px;padding:7px 10px;gap:3px 12px}.brand{min-width:0;font-size:14px}.brand-cmc{font-size:24px}.brand b{font-size:13px}.brand>div{display:block}.project-name{min-width:0;max-width:none}.project-name input{font-size:12px}.project-name>span{font-size:9px}.header-history{grid-column:1;grid-row:2;justify-content:flex-start}.file-actions{grid-column:2;grid-row:2;justify-self:end;gap:2px}.file-actions button{min-width:44px;padding:4px}.file-actions .primary{min-width:44px}.file-actions span{display:none}.file-actions .export-action{font-size:0}.file-actions .export-action:before{content:'↗';font-size:20px}.toolrail{width:264px;min-width:264px;padding:12px}.inspector{width:100%;min-width:0}.drawing-area .renderer-controls{top:12px}.canvas-toolbar{top:12px}.canvas-toolbar #toolDrawerToggle{margin:0;width:44px;font-size:0;background:#fff}.canvas-toolbar #toolDrawerToggle:before{content:'☰';font-size:18px}.canvas-toolbar .view-control{top:58px}.viewer-assumptions{top:120px;left:12px;right:12px;font-size:11px;padding:8px}.renderer-notice{top:auto;bottom:126px;left:12px;right:12px;max-width:none;font-size:10px}.viewer-3d-controls{bottom:8px;width:calc(100% - 24px);min-width:0;gap:2px;padding:4px}.viewer-3d-controls .orbit-hint{display:none}.viewer-3d-controls button,.viewer-3d-controls label{font-size:11px;padding:6px}.renderer-3d .selection-bar{bottom:230px}.statusbar{font-size:9px}.brand-mark{display:none}}
@media(max-width:760px){body.renderer-3d>.selection-bar{bottom:126px;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;max-height:66px}.renderer-3d .selection-bar strong{flex-basis:auto}.renderer-3d .selection-bar>*{flex-shrink:0}.renderer-3d .renderer-notice{bottom:200px}}

/* Matched installation hierarchy: every control remains a native bound control. */
.toolrail{width:290px;min-width:290px;padding:14px 16px}.toolrail-heading{display:none}.tool-search{margin:0 0 10px;gap:0}.search-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.toolrail section{padding:8px 0}.toolrail h2{font-size:15px;font-weight:600;margin:0 4px 8px;line-height:20px}.toolrail .tool-grid{gap:6px}.toolrail .tool-btn{min-height:60px;padding:5px 4px;font-size:13px;line-height:1.35;flex-direction:column}.tool-btn svg{width:28px;height:28px}.toolrail [data-tool-category="openings"] .tool-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.toolrail [data-tool-category="openings"] .tool-btn{font-size:11px}.toolrail [data-tool-category="equipment"] .tool-btn{grid-column:1/-1;flex-direction:row;justify-content:flex-start;padding-left:18px;gap:15px}
.toolrail [data-tool="power"] svg{color:#fa777c}.toolrail [data-tool="lan"] svg{color:#68b5ef}.toolrail [data-tool="gas"] svg{color:#f2ce58}
.toolrail details{border-bottom:1px solid #435058}.toolrail summary{min-height:44px;padding:10px 4px;font-size:13px;cursor:pointer;line-height:24px}.toolrail details .tool-grid{padding-bottom:10px}.toolrail details .tool-btn{min-height:54px}.rail-footer{padding:8px}
.inspector{width:333px;min-width:333px}.inspector-heading{padding:8px 18px;min-height:44px}.inspector-heading h2{font-size:13px}.inspector-tabs{padding:4px 16px}.inspector-tabs button{min-height:44px;font-size:13px}.inspector-scroll #propertiesPanel>section{padding:18px;border-bottom:1px solid #e2e8eb}
.selected-object-card{display:flex;gap:12px;align-items:center;padding:0 0 18px;border-bottom:1px solid #e2e8eb;margin-bottom:18px}.selected-object-card h3{font-size:20px;line-height:1.25;margin:0 0 5px;font-weight:650;overflow-wrap:anywhere}.selected-object-card #selectionType{font-size:13px;color:#6e7e87}.selected-object-icon{display:grid;place-items:center;width:44px;height:44px;border:1px solid #d6e5e6;border-radius:7px;background:#eef7f7;color:#087d7c;flex-shrink:0}.selected-object-icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
#selectionProperties{padding:0;border:0;background:transparent}.property-group+.property-group{border-top:1px solid #e2e8eb;margin-top:18px;padding-top:18px}.property-group h4{font-size:15px;font-weight:650;color:#344e59;margin:0 0 12px}.inspector label{font-size:14px;gap:7px}.inspector input,.inspector textarea,.inspector select{font-size:15px;min-height:44px;background:#fafcfc;color:#304451}.inspector .property-grid{gap:12px}.spatial-badge{font-size:12px;line-height:1.6}.spatial-badge[data-status="assumed"],.spatial-badge[data-status="unknown"]{background:#fff3d7;color:#805916;border:1px solid #ead3a0;border-radius:5px;padding:7px 9px}.spatial-badge[data-status="known"]{font-size:11px}
.selection-management-dock{padding:0 18px 16px}.selection-management-dock summary{min-height:44px;font-size:13px;color:#087d7c;cursor:pointer;line-height:24px;padding:10px 0}.selection-management-dock .selection-bar{position:static!important;left:auto!important;top:auto!important;bottom:auto!important;transform:none!important;width:100%;max-width:100%;box-shadow:none;flex-wrap:wrap;justify-content:flex-start;padding:8px;gap:6px}.selection-management-dock .selection-bar strong{flex-basis:100%;text-align:left}.selection-management-dock .selection-bar button{min-height:44px;min-width:44px}.selection-management-dock .hint{margin:0 0 8px}.selection-management-dock .add-selection{display:flex;flex-direction:row;align-items:center}.selection-management-dock .add-selection input{width:17px;height:17px;min-height:17px}
.room-wall-props-preview{white-space:pre-line;max-height:35vh;overflow:auto;padding:12px;border:1px solid #d9e8e7;border-radius:8px;background:#f4faf9;line-height:1.7}.room-wall-props-warning{color:#76520e;background:#fff8e5;border-left:3px solid #dbac37;padding:9px 11px;line-height:1.5}#applyRoomWallPropsBtn{color:#087d7c;font-weight:600}
.drawing-area .renderer-controls{gap:2px;border-radius:25px;box-shadow:0 3px 10px #243b4712}.drawing-area .renderer-controls button{min-width:84px;min-height:44px;padding:7px 20px}.viewer-3d-controls{gap:2px;padding:5px;border-radius:9px;font-size:12px;min-width:0;white-space:nowrap}.viewer-3d-controls button{padding:8px 10px;font-size:12px}.viewer-3d-controls label{font-size:12px;padding:8px}.viewer-3d-controls .orbit-hint{font-size:12px;padding:0 8px;color:#526975}.viewer-3d-controls input{accent-color:#087d7c}
@media(max-width:1200px){.toolrail{width:236px;min-width:236px}.inspector{width:310px;min-width:310px}}
@media(max-width:1050px){.inspector{width:333px;min-width:333px}.viewer-3d-controls{flex-wrap:nowrap;min-width:0}.viewer-3d-controls .orbit-hint{display:none}}
@media(max-width:760px){.toolrail{width:272px;min-width:272px;padding:12px}.toolrail-heading{display:flex;min-height:44px;margin-bottom:10px}.inspector{width:100%;min-width:0}.selected-object-card{padding-bottom:12px;margin-bottom:12px}.inspector-scroll #propertiesPanel>section{padding:16px}.drawing-area .renderer-controls button{min-width:64px;padding:7px 14px}.viewer-3d-controls{width:max-content;max-width:calc(100% - 16px);bottom:8px;gap:0;padding:4px}.viewer-3d-controls button{padding:6px 8px;font-size:11px}.viewer-3d-controls label{padding:6px;font-size:11px}.renderer-3d .renderer-notice{bottom:72px}.toolrail summary:focus-visible,.selection-management-dock summary:focus-visible{outline:2px solid #099996;outline-offset:2px}}

/* The physical height/base stay separate from planar dimensions, side by side. */
.property-group+.property-group{margin-top:14px;padding-top:14px}.selected-object-card{margin-bottom:14px;padding-bottom:14px}.spatial-badge[data-status="assumed"],.spatial-badge[data-status="unknown"]{font-size:11px;padding:6px;line-height:1.5}

/* Make opening drawers visible before their controls receive keyboard focus. */
@media(max-width:1050px){.inspector{transition:transform 160ms ease,visibility 0s linear 160ms}.inspector.open{transition:transform 160ms ease,visibility 0s}}
@media(max-width:760px){.toolrail{transition:transform 160ms ease,visibility 0s linear 160ms}.toolrail.open{transition:transform 160ms ease,visibility 0s}}
@media(max-width:760px){.toolrail #selectionTools .tool-grid,.toolrail #secondaryDrawingTools .tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.axis-widget{position:absolute;right:14px;bottom:84px;z-index:2;width:92px;padding:7px 8px 5px;border:1px solid #cbdcde;border-radius:9px;background:#fffffff2;box-shadow:0 3px 14px #1b384018;pointer-events:none;text-align:center;color:#31525c}
.axis-widget>span{display:block;font-size:9px;font-weight:700;letter-spacing:.04em;white-space:nowrap}
.axis-widget svg{display:block;width:68px;height:68px;margin:auto;overflow:visible}
.axis-widget line{stroke-width:2;stroke-linecap:round}
#axisXLine{stroke:#cf6458}#axisYLine{stroke:#358f8b}#axisHLine{stroke:#687eab}
.axis-widget circle{fill:#31525c}.axis-widget text{font:700 9px system-ui,sans-serif;fill:#31525c;text-anchor:middle;dominant-baseline:middle}
.axis-widget small{display:block;font-size:8px;color:#65818a}
@media(max-width:760px){.axis-widget{right:10px;bottom:82px;width:80px;padding:5px}.axis-widget svg{width:62px;height:62px}.axis-widget>span{font-size:8px}}
.axis-widget>span{overflow:hidden;text-overflow:ellipsis}
@media(max-width:760px){.axis-widget{top:205px;bottom:auto}}
@media(max-width:760px){.axis-widget{top:auto;bottom:130px}}
.export-view-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.export-view-options label{min-width:0}.export-view-options select{width:100%}@media(max-width:520px){.export-view-options{grid-template-columns:1fr}}
@media(max-width:760px){body:not(.renderer-3d) .axis-widget{left:10px;right:auto;bottom:160px}}
@media(max-width:760px){body:not(.renderer-3d):has(#selectionBar:not([hidden])) .axis-widget{bottom:260px}body:not(.renderer-3d):has(#selectionBar:not([hidden])) .renderer-notice{bottom:200px}}
#objectListPanel .arrange-list-controls{position:sticky;top:0;z-index:2;background:#fff;border:1px solid #d5e5e3;border-radius:9px;box-shadow:0 4px 14px #1e424516;padding:10px;margin:0 0 14px}
.arrange-list-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}
.arrange-list-options label{display:flex;flex-direction:column;gap:3px;min-width:0;font-size:11px;color:#526777}
.arrange-list-options select{width:100%;min-width:0;min-height:44px;border:1px solid #cbdcde;border-radius:6px;background:#fff;padding:6px}
#arrangeListBtn{width:100%;min-height:44px;border-radius:6px;background:#087d7c;color:#fff;font-weight:600;padding:8px 10px}
#arrangeListBtn:hover{background:#076e6d}
#arrangeListSummary{font-size:11px;line-height:1.5;color:#526777;margin:7px 0 12px;overflow-wrap:anywhere}
.issue-details summary{min-height:44px;display:flex;align-items:center;color:#087d7c;cursor:pointer;font-size:12px;padding:4px 8px}
#objectIssueGroup{border:1px solid #e9d5b7;border-radius:8px;background:#fffaf1;margin-top:10px;overflow-wrap:anywhere}
#objectIssueSummary{min-height:44px;display:flex;align-items:center;padding:8px 10px;color:#745018;font-size:12px;line-height:1.5;font-weight:600;cursor:pointer}
#objectIssueGroup>button[data-issue]{display:block;width:calc(100% - 16px);min-height:44px;margin:6px 8px;border:1px solid #edddc5;border-radius:6px;padding:8px;text-align:left;background:#fff;color:#704616;font-size:12px;overflow-wrap:anywhere}
#objectList .issue-details{margin:-4px 0 6px 8px;border-left:2px solid #f1d4aa;overflow-wrap:anywhere}
#objectIssueGroup .issue-details{margin:-4px 8px 6px 16px;border-left:2px solid #f1d4aa;overflow-wrap:anywhere}
#objectIssueGroup .issue-details p{margin:0 8px 10px;color:#526777;font-size:11px;line-height:1.6}
#objectList .issue-details p{margin:0 8px 10px;color:#526777;font-size:11px;line-height:1.6}
.annotation-target-details summary,.room-wall-props-details summary,.diagnostics-details summary,.help-details summary{min-height:44px;display:flex;align-items:center;color:#087d7c;cursor:pointer;font-size:12px}
.annotation-target-details p,.room-wall-props-details p,.diagnostics-details p,.help-details p{margin:3px 0 10px;color:#526777;font-size:12px;line-height:1.6;overflow-wrap:anywhere}
.help-details{margin:10px 0}
#exportWallDisplayControl{margin-top:12px}#exportWallDisplayNote,.export-direction-note{display:block;margin:7px 0;color:#637687;font-size:12px;line-height:1.5}#exportDetailPanel{margin:10px 0 2px;padding:4px 12px;border:1px solid #d8e5e7;border-radius:7px;background:#f7faf9}#exportDetailPanel summary{display:flex;align-items:center;min-height:44px;cursor:pointer;color:#285c63;font-size:12px;font-weight:600}#exportDetailPanel summary:focus-visible{outline:2px solid #099996;outline-offset:2px}#exportDetailList{max-height:160px;overflow:auto;margin:0 0 10px;line-height:1.6;overflow-wrap:anywhere}
#exportDetailPanel summary{display:list-item;min-height:44px;line-height:44px}
#exportDialog #exportDownloadWarningBtn:not([hidden]){position:sticky;bottom:0;z-index:2;min-height:48px;margin-top:8px;box-shadow:0 -7px 20px #f7faf9,0 4px 12px #1b41402b}
