/* Adaptive dock: consistent navigation, roomy canvas and readable touch targets. */
.plan-shell{--glass:rgba(17,43,63,.96);--glass-line:rgba(150,208,242,.24);--float-shadow:0 6px 24px #0003}
.plan-shell[data-theme=light]{--glass:rgba(246,251,255,.98);--glass-line:rgba(31,95,133,.25);--float-shadow:0 6px 24px #15374b20}
.plan-shell #app{position:relative;min-height:0;background:var(--canvas-bg)}
.plan-shell .workspace{padding:0;flex:1;min-height:0;position:relative;display:flex}
.plan-shell .editor{padding:0;flex:1;min-width:0;display:flex;position:relative}
.plan-shell .canvas-wrap{flex:1;border:0;border-radius:0;min-height:0;background-color:var(--canvas-bg)}
.plan-shell .compact-bar{display:none}
.plan-shell .topbar{position:absolute;inset:0 0 auto;z-index:10;height:56px;min-height:56px;background:var(--canvas-bg);border-bottom:1px solid var(--line);padding:4px 10px;gap:10px;display:flex}
.plan-shell .brand{display:none}.plan-shell .topbar .divider{display:none}
.plan-shell .project-heading{order:1;display:flex!important;min-width:0;flex:1;padding:0!important;border:0;max-width:none}
.plan-shell #projectName{font-family:var(--font);font-size:15px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;padding:0;min-height:24px;text-align:left}
.plan-shell .save-status{display:block;font-size:10px;white-space:nowrap}
.plan-shell .top-actions{display:contents}
.plan-shell #projectsTop{display:flex!important;order:0;height:44px;min-height:44px;padding:6px 9px;font-size:13px;background:var(--glass);border:1px solid var(--glass-line);border-radius:12px;flex-shrink:0}
.plan-shell .adaptive-history{order:2;display:flex;gap:3px}
.plan-shell .adaptive-history button{font-size:0;min-width:42px;width:42px;min-height:44px;padding:0;background:transparent;border:0;border-radius:10px;color:var(--ink)}
.plan-shell #undoBtn:before{content:'↶';font-size:25px}.plan-shell #redoBtn:before{content:'↷';font-size:25px}
.plan-shell #exportBtn{order:3;display:flex;gap:5px;align-items:center;justify-content:center;font-size:13px;padding:6px 10px;height:44px;min-height:44px;border-radius:12px;background:#0b7ca8;color:white;flex-shrink:0}
.plan-shell #exportBtn svg{width:19px;height:19px}
.plan-shell #toolsMenu{order:4;position:static}
.plan-shell #toolsMenu>summary{height:44px;min-height:44px;min-width:44px;width:44px;padding:0;font-size:22px;letter-spacing:1px;background:var(--glass);border:1px solid var(--glass-line);border-radius:12px;color:var(--ink)}
.plan-shell #toolsMenu .canvas-toolbar{position:absolute;top:62px;left:auto;right:8px;width:min(500px,calc(100vw - 16px));max-height:calc(100dvh - 144px);overflow:auto;display:flex;flex-direction:column;gap:10px;z-index:22;padding:14px;border-radius:18px;background:var(--surface);box-shadow:var(--float-shadow)}
.plan-shell #toolsMenu .toolbar-group{min-width:0;flex-wrap:wrap;flex-shrink:0}
.plan-shell #toolsMenu .toolbar-actions .space-chip{margin-left:0}
.plan-shell .shell-settings-row{display:flex;flex-wrap:wrap;gap:7px;border-top:1px solid var(--line);padding-top:10px;flex-shrink:0}
.plan-shell .shell-settings-row #settingsBtn{width:auto;height:44px;display:flex;align-items:center;gap:6px;font-size:13px;padding:7px 10px;border:1px solid var(--line);border-radius:9px}
.plan-shell .shell-settings-row #themeToggle{display:block!important;font-size:13px;height:44px;min-height:44px}
.plan-shell #warningCount:empty{display:none}.plan-shell #warningCount{min-height:44px;font-size:13px;white-space:normal;text-align:left;color:var(--ink)}
.plan-shell .adaptive-dock{position:absolute;bottom:0;left:0;right:0;height:66px;display:flex;justify-content:center;align-items:center;gap:6px;padding:4px 10px;z-index:10;background:var(--canvas-bg);border-top:1px solid var(--line)}
.plan-shell .adaptive-dock>button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:clamp(65px,20%,120px);min-height:54px;padding:5px 10px;font-size:12px;font-weight:500;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--ink)}
.plan-shell .adaptive-dock svg{width:22px;height:22px}
.plan-shell .adaptive-dock>button.active,.plan-shell .adaptive-dock>button[aria-expanded=true]{background:#0e648c;border-color:#36b6df;color:white}
.plan-shell .adaptive-dock .switch{display:none}
.plan-shell .level-bar{position:absolute;left:10px;bottom:74px;min-height:36px;max-width:calc(100% - 135px);width:auto;display:flex;align-items:center;gap:5px;padding:0;border:0;z-index:5}
.plan-shell .level-tabs{display:flex;overflow:auto;max-width:45vw;flex:0 1 auto;gap:5px}
.plan-shell .level-tabs button,.plan-shell #levelsMenu>summary,.plan-shell .workspace-view-chip{font-family:var(--font);font-size:12px;min-height:36px;padding:5px 9px;white-space:nowrap;border-radius:10px;background:var(--glass);border:1px solid var(--glass-line);color:var(--ink)}
.plan-shell .level-tabs button.active{background:#0e648c;color:white;border-color:#36b6df}
.plan-shell .workspace-view-chip{display:inline-flex}.plan-shell .level-actions{bottom:44px;right:auto;left:0}
.plan-shell .statusbar{display:none}
.plan-shell .zoom-controls{bottom:74px!important;right:10px!important;z-index:5;border:1px solid var(--glass-line);border-radius:11px;background:var(--glass);overflow:hidden}
.plan-shell .zoom-controls button{height:36px;min-height:36px;min-width:36px;padding:3px 8px;font-size:20px;background:transparent;border-color:var(--glass-line)}
.plan-shell .zoom-controls #fitBtn{font-size:12px}
.plan-shell .scale-readout,.plan-shell .view-mode .scale-readout{bottom:116px!important;left:auto!important;right:12px;z-index:4;background:transparent;border:0;padding:0;box-shadow:none;max-width:180px;display:flex;align-items:center;gap:7px}
.plan-shell .scale-readout #scaleBtn,.plan-shell .grid-info>summary{min-height:24px;font-size:11px}
.plan-shell .grid-info #gridLegend{right:0;left:auto;bottom:32px}
.plan-shell .canvas-tip{display:none}.plan-shell .empty-hint strong{font-size:20px}
.plan-shell .selection-bar{position:absolute;top:64px;left:10px;right:auto;max-width:calc(100% - 20px);width:max-content;transform:none!important;margin:0;padding:4px;gap:4px;border:1px solid var(--glass-line);border-radius:12px;background:var(--glass);box-shadow:var(--float-shadow);z-index:7;display:flex;flex-wrap:nowrap;overflow-x:auto;white-space:nowrap}
.plan-shell .selection-bar[hidden]{display:none}
.plan-shell .selection-bar button{min-height:40px;padding:5px 9px;font-size:12px;border-radius:8px;flex-shrink:0}
.plan-shell .selection-count{font-size:11px;padding-inline:3px}
.plan-shell .catalog,.plan-shell .inspector-drawer{top:62px;bottom:72px;border:1px solid var(--glass-line);border-radius:18px;background:var(--surface);box-shadow:var(--float-shadow);z-index:18}
.plan-shell .catalog{left:8px}.plan-shell .inspector-drawer{right:8px}
.plan-shell .panel-backdrop{inset:56px 0 66px;z-index:17}
.plan-shell .inspector-drawer .quick-actions{display:none}
.plan-shell .adaptive-view-panel,.plan-shell .item-actions-menu{position:absolute;right:8px;bottom:72px;top:auto;z-index:18;width:min(330px,calc(100% - 16px));max-height:calc(100% - 136px);overflow:auto;padding:12px;background:var(--surface);border:1px solid var(--glass-line);border-radius:18px;box-shadow:var(--float-shadow);display:flex;flex-direction:column;gap:10px}
.plan-shell .adaptive-view-panel[hidden],.plan-shell .item-actions-menu[hidden]{display:none}
.plan-shell .adaptive-view-panel header,.plan-shell .item-actions-menu header{display:flex;align-items:center;justify-content:space-between;font-size:18px;font-weight:600;flex-shrink:0}
.plan-shell .adaptive-view-panel header button,.plan-shell .item-actions-menu header button{width:44px;min-height:44px}
.plan-shell .view-choices{display:flex;gap:7px}.plan-shell .view-choices button{flex:1;min-height:44px}
.plan-shell .view-choices button[aria-pressed=true]{background:#0e648c;color:white;border-color:#36b6df}
.plan-shell .adaptive-view-panel .toolbar-checks{border-top:1px solid var(--line);display:flex;flex-direction:column;align-items:stretch;gap:0;padding-block:6px}
.plan-shell .adaptive-view-panel .names-toggle{min-height:44px;font-size:14px}
.plan-shell .item-actions-menu{top:114px;bottom:auto;left:10px;right:auto;width:220px;max-height:calc(100% - 190px)}
.plan-shell .item-actions-menu>.compact-button{text-align:left;justify-content:start;min-height:44px;flex-shrink:0}
.plan-shell .nudge-pad{display:none!important;position:absolute;left:50%;bottom:118px;transform:translateX(-50%);gap:4px;padding:6px;max-width:calc(100% - 20px);border:1px solid var(--glass-line);border-radius:13px;background:var(--glass);z-index:8}
.plan-shell.move-tools-open .nudge-pad:not([hidden]){display:flex!important}
.plan-shell .nudge-pad button{width:40px;height:44px;flex-shrink:0;font-size:23px;border-radius:9px;background:var(--surface-raised);color:var(--ink)}
.plan-shell .nudge-step select{height:44px;width:64px;font-size:12px;padding:3px}
.plan-shell #closeMovePad{font-size:12px;width:48px}
.plan-shell .measurement-card{position:absolute;top:116px;left:50%;right:auto;transform:translateX(-50%);width:min(330px,calc(100% - 20px));max-width:none;padding:10px 14px;pointer-events:none;z-index:8;border-radius:14px;background:var(--glass)}
.plan-shell .measurement-card .measurement-close{pointer-events:auto}.plan-shell .measurement-card strong{font-size:15px}.plan-shell .measurement-card span{font-size:12px}
.plan-shell #restoreControlsBtn{display:none;position:absolute;top:10px;right:10px;z-index:25;min-height:44px}
.plan-shell.controls-hidden .topbar,.plan-shell.controls-hidden .adaptive-dock,.plan-shell.controls-hidden .level-bar,.plan-shell.controls-hidden .zoom-controls,.plan-shell.controls-hidden .scale-readout,.plan-shell.controls-hidden .selection-bar,.plan-shell.controls-hidden .nudge-pad,.plan-shell.controls-hidden .catalog,.plan-shell.controls-hidden .inspector-drawer,.plan-shell.controls-hidden .panel-backdrop{display:none!important}
.plan-shell.controls-hidden #restoreControlsBtn{display:block}
.plan-shell #fullScreenBtn{display:none!important}.plan-shell.view-mode .adaptive-dock,.plan-shell.view-mode .selection-bar{display:none!important}
.plan-shell.view-mode .return-edit{top:64px;right:10px;z-index:12}
.plan-shell #plan .fixture-art{filter:drop-shadow(0 1.4px 1px #0004)}
.plan-shell[data-theme=dark] .room-floor{fill:#203446!important;stroke:#a7bbc8!important}
.plan-shell[data-theme=dark] #plan text{stroke:#122b3f;fill:#b9dae8}
.plan-shell[data-theme=dark] #plan .auto-gap-arrow text{fill:#82e0f7;stroke:#122b3f}.plan-shell[data-theme=dark] #plan .auto-gap-arrow path{stroke:#82e0f7}
/* Wall view stays inside the same navigation shell. Its options live under View. */
.plan-shell #canvasWrap>.elevation-dialog{position:absolute;inset:112px 10px 154px;margin:0;width:auto;height:auto;max-width:none;max-height:none;z-index:2;border-radius:12px;background:var(--canvas-bg);padding:0}
.plan-shell #canvasWrap>.elevation-dialog:not([open]){display:none}
.plan-shell.wall-view-active #plan{visibility:hidden}
.plan-shell #canvasWrap>.elevation-dialog .elevation-header,.plan-shell #canvasWrap>.elevation-dialog .elevation-compact-strip,.plan-shell #canvasWrap>.elevation-dialog .elevation-camera,.plan-shell #canvasWrap>.elevation-dialog .elevation-item-editor{display:none!important}
.plan-shell #canvasWrap>.elevation-dialog .elevation-map{width:105px;right:5px;top:5px}
.plan-shell #canvasWrap>.elevation-dialog .elevation-map svg{height:55px}
.plan-shell #canvasWrap>.elevation-dialog .elevation-footer{font-size:11px;padding:4px 8px}.plan-shell .elevation-footer small{display:none}
.plan-shell .adaptive-view-panel #elevationControls{display:block!important;max-height:none;border-top:1px solid var(--line);border-bottom:0;padding:0;overflow:visible;flex-shrink:0}
.plan-shell .adaptive-view-panel #elevationControls[hidden]{display:none!important}
.plan-shell .adaptive-view-panel .elevation-options>summary{display:none}
.plan-shell .adaptive-view-panel .elevation-control-row{flex-direction:column;align-items:stretch;gap:8px}
.plan-shell .adaptive-view-panel .elevation-control-row>label:not(.checkbox-row){justify-content:space-between;font-size:13px;min-height:44px}
.plan-shell .adaptive-view-panel .elevation-control-row select{max-width:165px;font-size:14px}
.plan-shell .adaptive-view-panel .elevation-control-row input{font-size:16px}
.plan-shell.wall-view-active .scale-readout{display:none}
@media(max-width:650px){.plan-shell .topbar{gap:5px;padding-inline:7px}.plan-shell .topbar #projectsTop{font-size:12px;padding:5px 7px}.plan-shell #projectName{font-size:13px}.plan-shell .save-status{font-size:9px}.plan-shell .adaptive-history{gap:0}.plan-shell .adaptive-history button{min-width:36px;width:36px}.plan-shell #exportBtn{padding:6px;min-width:40px}.plan-shell #exportBtn span{display:none}.plan-shell .level-bar{max-width:calc(100% - 125px);gap:4px}.plan-shell .workspace-view-chip{display:none}.plan-shell #levelsMenu>summary{font-size:0;width:36px;padding:0}.plan-shell #levelsMenu>summary:after{content:'⋯';font-size:20px}.plan-shell .level-tabs{max-width:40vw}.plan-shell .nudge-pad{gap:2px;padding:4px}.plan-shell .nudge-pad button{width:36px}.plan-shell .nudge-step select{width:58px}.plan-shell .selection-count{display:none}.plan-shell .selection-bar button{padding:5px 8px}.plan-shell #canvasWrap>.elevation-dialog .elevation-map{display:none}}
@media(max-height:500px){.plan-shell #canvasWrap>.elevation-dialog{inset:110px 10px 117px}.plan-shell #canvasWrap>.elevation-dialog .elevation-footer{display:none}.plan-shell .catalog,.plan-shell .inspector-drawer{top:60px;bottom:70px}.plan-shell .adaptive-view-panel{max-height:calc(100% - 136px)}.plan-shell .selection-bar{top:61px}.plan-shell .measurement-card{top:110px}.plan-shell .scale-readout{bottom:114px!important}}
.plan-shell.wall-measuring .selection-bar{display:none}
.plan-shell .nearby-clearances{margin:8px 0;padding:8px 0;border-block:1px solid var(--line)}
.plan-shell .nearby-clearances summary{min-height:40px;display:flex;align-items:center;font-size:13px;font-weight:600;cursor:pointer}
.plan-shell .nearby-clearances summary:after{content:'⌄';margin-left:auto}
.plan-shell .nearby-clearances:not([open])>:not(summary){display:none}
.plan-shell .inspector .selected-preview{max-height:100px;overflow:hidden}
/* Readable, consistently aligned navigation on phone and tablet. */
.plan-shell .adaptive-dock>button{font-size:14px;line-height:1.2;min-height:56px;gap:4px}
.plan-shell .adaptive-dock>button>span{display:block;line-height:18px;text-align:center}
.plan-shell .topbar #projectsTop,.plan-shell #exportBtn{font-size:15px;line-height:1.2;align-items:center;justify-content:center}
.plan-shell #projectName{font-size:17px;line-height:1.3}.plan-shell .save-status{font-size:11px;line-height:1.3}
.plan-shell .level-bar{align-items:center;max-width:calc(100% - 140px);gap:6px;overflow:visible}
.plan-shell .level-tabs button,.plan-shell #levelsMenu>summary,.plan-shell .workspace-view-chip{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:7px 11px;font-size:14px;line-height:1.2;vertical-align:middle}
.plan-shell .workspace-view-chip{display:inline-flex!important;white-space:nowrap}
.plan-shell .quick-wall-select{height:44px;max-width:190px;min-width:105px;padding:6px 10px;border:1px solid var(--glass-line);border-radius:10px;color:var(--ink);background:var(--surface);font-size:15px}
.plan-shell .quick-wall-select[hidden]{display:none}
.plan-shell #levelsMenu>summary{width:auto;font-size:14px}.plan-shell #levelsMenu>summary:after{display:none}
.plan-shell .level-actions{z-index:24;bottom:50px;left:0;max-height:calc(100dvh - 190px);overflow:auto}
.plan-shell .selection-bar button,.plan-shell .compact-button{font-size:14px;line-height:1.25}
.plan-shell .zoom-controls button{min-height:44px}.plan-shell .zoom-controls #fitBtn{font-size:14px}
.plan-shell .scale-readout #scaleBtn,.plan-shell .grid-info>summary{font-size:12px}
.plan-shell .elevation-footer{font-size:13px!important}
.plan-shell #elevationSvg text{font-family:'DM Sans',sans-serif;letter-spacing:0}
.plan-shell #elevationSvg .elevation-item-label{fill:#eff8ff;stroke:#102a3e;stroke-width:1.5;paint-order:stroke;stroke-linejoin:round}
.plan-shell[data-theme=light] #elevationSvg .elevation-item-label{fill:#112e42;stroke:#f5fbff}
.plan-shell[data-color-blind=on] .adaptive-dock>button.active,.plan-shell[data-color-blind=on] .adaptive-dock>button[aria-expanded=true],.plan-shell[data-color-blind=on] .level-tabs button.active{box-shadow:inset 0 -4px 0 currentColor;border:2px solid currentColor}
.plan-shell[data-color-blind=on] .access-zone{stroke-width:2;vector-effect:non-scaling-stroke}
.plan-shell[data-color-blind=on] .status-warning{border:2px dashed #E69F00}
.plan-shell[data-color-blind=on] .status-warning:not(:empty):before{content:'⚠ ';font-weight:700}
.plan-shell[data-color-blind=on] #elevationSvg .elevation-obstruction{stroke-dasharray:5 3;opacity:.42}
.plan-shell[data-color-blind=on] #elevationSvg .elevation-conflict{stroke:#E69F00;stroke-width:2;vector-effect:non-scaling-stroke}
@media(max-width:650px){.plan-shell #projectName{font-size:14px}.plan-shell .save-status{font-size:10px}.plan-shell .level-bar{max-width:calc(100% - 130px);flex-wrap:wrap;row-gap:4px;bottom:74px}.plan-shell .level-tabs button,.plan-shell #levelsMenu>summary,.plan-shell .workspace-view-chip{font-size:13px;padding:6px 8px}.plan-shell .quick-wall-select{font-size:14px;max-width:155px}.plan-shell.wall-view-active .level-tabs,.plan-shell.wall-view-active #levelsMenu{display:none}.plan-shell .level-tabs{max-width:40vw}.plan-shell .topbar #projectsTop{font-size:13px}.plan-shell .adaptive-dock>button{font-size:14px}}
.plan-shell .accessibility-legend{display:none;font-size:14px;line-height:1.5;border-top:1px solid var(--line);padding-top:10px;margin:0}
.plan-shell[data-color-blind=on] .accessibility-legend{display:block}
.plan-shell[data-color-blind=on] #elevationSvg .elevation-item-label{font-weight:600}
.plan-shell[data-color-blind=on] #elevationSvg .elevation-selected{stroke:#56B4E9;stroke-width:4;vector-effect:non-scaling-stroke;stroke-dasharray:7 2}
.plan-shell #plan .warning-symbol{fill:#132536!important;stroke:none!important;font-family:sans-serif!important;font-weight:700}
@media(max-width:650px){.plan-shell.wall-view-active #levelsMenu{display:block!important}.plan-shell.wall-view-active .level-bar{max-width:calc(100% - 20px)}.plan-shell.wall-view-active .zoom-controls{bottom:126px!important}.plan-shell.wall-view-active #canvasWrap>.elevation-dialog{bottom:180px}.plan-shell .quick-wall-select{min-width:90px;max-width:125px}}
.plan-shell .adaptive-view-panel .superseded-wall-control{display:none!important}
/* Compact tool buttons: clear boundaries, readable icons and tactile states. */
.plan-shell .adaptive-dock{gap:9px;padding:5px 12px}
.plan-shell .adaptive-dock>button{background:var(--surface-raised);border:1px solid var(--glass-line);border-radius:11px;box-shadow:inset 0 1px 0 #ffffff10,0 2px 5px #0002;min-height:54px;transition:background .12s,border-color .12s,transform .08s}
.plan-shell .adaptive-dock>button svg{width:23px;height:23px;stroke-width:1.9}
.plan-shell .adaptive-dock>button:hover{border-color:#4fa3cc}
.plan-shell .adaptive-dock>button:active{transform:translateY(1px);background:var(--active-bg);box-shadow:inset 0 2px 4px #0003}
.plan-shell .adaptive-dock>button.active,.plan-shell .adaptive-dock>button[aria-expanded=true]{background:#0e648c;border:2px solid #68d6f3;box-shadow:inset 0 -3px 0 #89e5fa;color:#fff}
.plan-shell .adaptive-dock>button:focus-visible{outline:3px solid #68d6f3;outline-offset:2px}
@media(max-width:650px){.plan-shell .adaptive-dock{gap:7px}.plan-shell .adaptive-dock>button{width:calc((100% - 21px)/4);padding:4px 7px}}
@media(prefers-reduced-motion:reduce){.plan-shell .adaptive-dock>button{transition:none}}
.plan-shell #plan .measurement-label text{font-family:var(--draft-font,'Architects Daughter'),cursive!important;font-weight:400;stroke:none!important;fill:#10364d!important;letter-spacing:0}
.plan-shell[data-theme=dark] #plan .measurement-label text{fill:#f0fbff!important}
.plan-shell .measurement-card strong{font-size:22px;line-height:1.3}
.plan-shell .measurement-card span{font-size:15px;line-height:1.4}

/* Boolean view settings use accessible switch tracks, including wall obstructions. */
.plan-shell .adaptive-view-panel .names-toggle,.plan-shell .adaptive-view-panel .checkbox-row{display:flex;align-items:center;gap:12px;min-height:46px;font-size:14px;cursor:pointer}
.plan-shell :is(.adaptive-view-panel,.wall-navigation,.accessibility-toggle) input[role=switch]{appearance:none;-webkit-appearance:none;width:42px!important;height:25px!important;min-width:42px;position:relative;border:1px solid #728998;border-radius:20px;background:#516575;cursor:pointer;margin:0;box-shadow:inset 0 1px 3px #0003;flex:none;transition:background .15s}
.plan-shell :is(.adaptive-view-panel,.wall-navigation,.accessibility-toggle) input[role=switch]::after{content:'';position:absolute;width:19px;height:19px;top:2px;left:2px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0005;transition:transform .15s}
.plan-shell :is(.adaptive-view-panel,.wall-navigation,.accessibility-toggle) input[role=switch]:checked{background:#087caf;border-color:#3fcbef}
.plan-shell :is(.adaptive-view-panel,.wall-navigation,.accessibility-toggle) input[role=switch]:checked::after{transform:translateX(17px)}
.plan-shell :is(.adaptive-view-panel,.wall-navigation,.accessibility-toggle) input[role=switch]:indeterminate{background:#657e8d}
.plan-shell :is(.adaptive-view-panel,.wall-navigation,.accessibility-toggle) input[role=switch]:indeterminate::after{transform:translateX(8px)}
.plan-shell :is(.adaptive-view-panel,.wall-navigation,.accessibility-toggle) input[role=switch]:focus-visible{outline:3px solid #59cbea;outline-offset:3px}
.plan-shell .view-switch-row{padding-top:8px}
/* Spacious desktops and tablets reserve real canvas space for pinned panels. */
.plan-shell #layoutModeBtn{order:2;min-height:40px;height:40px;padding:5px 9px;font-size:12px;border-radius:10px;background:var(--glass);border:1px solid var(--glass-line);color:var(--ink);white-space:nowrap}
.plan-shell #expandedToolbar{display:none}
.plan-shell.layout-expanded #expandedToolbar{display:flex;position:fixed;left:8px;right:8px;top:59px;height:48px;gap:12px;align-items:center;overflow-x:auto;z-index:12;background:var(--surface);border:1px solid var(--glass-line);border-radius:10px;padding:3px 9px;white-space:nowrap}
.plan-shell.layout-expanded #expandedToolbar .toolbar-group{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;border:0;flex:none;margin:0;padding:0}
.plan-shell.layout-expanded #expandedToolbar button{height:36px;min-height:36px;padding:5px 9px;font-size:12px;white-space:nowrap}
.plan-shell.layout-expanded .workspace:has(.catalog.mobile-open) .editor{margin-left:274px}
.plan-shell.layout-expanded .workspace:has(.inspector-drawer.panel-open) .editor{margin-right:268px}
.plan-shell.layout-expanded .catalog{position:fixed!important;top:114px;bottom:8px;left:8px;width:258px;max-width:none;transition:none}
.plan-shell.layout-expanded .inspector-drawer{position:fixed!important;top:114px;bottom:8px;right:8px;width:252px;max-width:none;transition:none}
.plan-shell.layout-expanded .panel-backdrop{display:none!important}
.plan-shell.layout-expanded .selection-bar{top:114px}
.plan-shell.layout-expanded #toolsMenu .canvas-toolbar{width:300px}
.plan-shell.layout-expanded .adaptive-dock>button{flex-direction:row;gap:8px;width:auto;min-width:85px;min-height:44px}
.plan-shell.layout-expanded .adaptive-dock{height:58px}
.plan-shell.layout-expanded .catalog .parts-grid{grid-template-columns:1fr 1fr}
.plan-shell.layout-expanded .adaptive-history button{font-size:12px;width:auto;min-width:65px}
.plan-shell.layout-expanded .adaptive-history button:before{display:none}
.plan-shell.layout-expanded.controls-hidden .catalog,.plan-shell.layout-expanded.controls-hidden .inspector-drawer,.plan-shell.layout-expanded.controls-hidden #expandedToolbar{display:none!important}
.plan-shell.layout-expanded.controls-hidden .editor{margin:0!important}
.plan-shell.layout-expanded.view-mode .catalog,.plan-shell.layout-expanded.view-mode #expandedToolbar{display:none!important}
.plan-shell.layout-expanded.view-mode .editor{margin:0!important}
/* Navigation stays visible outside Wall View, sharing the main editing shell. */
.plan-shell .wall-navigation{position:absolute;top:113px;left:10px;right:10px;z-index:7;background:var(--glass);border:1px solid var(--glass-line);border-radius:11px;padding:5px;display:flex;flex-direction:column;gap:4px;min-height:88px}
.plan-shell .wall-navigation[hidden]{display:none}
.plan-shell .wall-nav-row{display:flex;align-items:center;gap:5px;overflow-x:auto;min-height:34px;white-space:nowrap}
.plan-shell .wall-nav-row button{height:34px;min-height:34px;flex:none;padding:4px 8px;font-size:13px}
.plan-shell .wall-nav-row .names-toggle{display:flex;align-items:center;gap:6px;font-size:12px;flex:none}
.plan-shell .wall-depth-status,.plan-shell .wall-pan-hint{font-size:11px;white-space:nowrap;color:var(--muted)}
.plan-shell .wall-pan-hint{margin-left:auto}
.plan-shell #canvasWrap>.elevation-dialog{top:210px}
.plan-shell.layout-expanded .wall-navigation{top:164px}
.plan-shell.layout-expanded #canvasWrap>.elevation-dialog{top:261px}
@media(max-width:650px){.plan-shell #layoutModeBtn{font-size:10px;max-width:70px;white-space:normal;padding:3px}.plan-shell .wall-pan-hint{display:none}.plan-shell .wall-navigation{left:5px;right:5px}.plan-shell .wall-nav-row button{font-size:12px;padding:4px 7px}.plan-shell.layout-expanded .catalog{width:220px}.plan-shell.layout-expanded .inspector-drawer{width:230px}.plan-shell.layout-expanded .workspace:has(.catalog.mobile-open) .editor{margin-left:232px}.plan-shell.layout-expanded .workspace:has(.inspector-drawer.panel-open) .editor{margin-right:242px}}
@media(max-height:500px){.plan-shell .wall-navigation{top:110px;min-height:44px;flex-direction:row;overflow-x:auto}.plan-shell .wall-nav-row{overflow:visible;flex:none}.plan-shell .wall-pan-hint{display:none}.plan-shell #canvasWrap>.elevation-dialog{top:161px}.plan-shell.layout-expanded #canvasWrap>.elevation-dialog{top:212px}}

.plan-shell #plan .fixture-art{filter:none!important}

.plan-shell #colorModeStatus{order:2;background:#F0E442;color:#132536;border-radius:6px;padding:4px 7px;font-size:11px;white-space:nowrap}
.plan-shell #colorModeStatus[hidden]{display:none}
.plan-shell[data-color-blind=on]{--teal:#0072B2;--lime:#F0E442;--active-bg:#005b88}
.plan-shell[data-color-blind=on] .selected-outline{stroke:#F0E442!important;stroke-dasharray:8 3;vector-effect:non-scaling-stroke}
@media(max-width:650px){.plan-shell #colorModeStatus{font-size:9px;max-width:65px;white-space:normal}}

.plan-shell #backupFolderBtn[hidden]{display:none!important}

.plan-shell .workspace-view-chip[aria-pressed=true]{background:#0e648c;color:#fff;border-color:#36b6df}
.plan-shell #buildModeToggle[aria-pressed=true]{background:#6a5135;color:#fff;border-color:#e5bc75}
.plan-shell .adaptive-dock>button{width:clamp(58px,17%,110px)}
.plan-shell.layout-expanded .adaptive-dock>button{width:auto;min-width:80px}
.plan-shell.layout-expanded .inspector-drawer{z-index:16}
.plan-shell.layout-expanded #toolsMenu .canvas-toolbar{z-index:24}

.plan-shell .topbar{z-index:30}

/* Touch-sized close controls and centered project title. */
.plan-shell .dialog-top,.plan-shell .catalog-heading,.plan-shell .inspector-heading{align-items:center}
.plan-shell button:is([data-close],[data-dismiss],[data-close-prices]),.plan-shell #closeCatalog,.plan-shell #collapseInspector,.plan-shell #closeViewPanel{width:auto!important;min-width:76px;min-height:44px;padding:8px 16px!important;border-radius:24px;border:2px solid #48caf2;background:linear-gradient(#187ab3,#159ddb);color:white;font-size:16px!important;font-weight:700;line-height:1.2;flex-shrink:0}
.plan-shell .project-heading{align-items:center;text-align:center}
.plan-shell #projectName{text-align:center}
@media(min-width:850px){.plan-shell .project-heading{position:absolute;left:50%;transform:translateX(-50%);width:40%;max-width:calc(100% - 620px)}.plan-shell .adaptive-history{margin-left:auto}}

.plan-shell .panel-heading{display:flex;align-items:center;justify-content:space-between}

@media (pointer: coarse) and (max-height: 650px), (pointer: coarse) and (max-width: 900px) {
 .plan-shell .topbar { container-type: size; }
 .plan-shell .topbar #projectName { font-size: clamp(15px, 37cqh, 19px); line-height: 1.15; }
}
