/* Loaded after core editor styles. Layout changes do not change drawing units. */
:root{--gr-top:60px;--gr-height:100vh}
body.plan-builder{height:var(--gr-height);overflow:hidden}
.plan-builder .app{height:calc(var(--gr-height) - var(--gr-top));min-height:0}
.adaptive-panel-heading,.adaptive-backdrop{display:none}
:root[data-touch-input="true"] .plan-builder :is(.btn,.padd,.ptab,.toolseg button,.zoom button,.mrow){min-height:44px}
:root[data-touch-input="true"] .plan-builder :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),select,textarea){font-size:16px;min-height:40px}
:root[data-touch-input="true"] .plan-builder :is(input[type=checkbox],input[type=radio]){min-width:20px;min-height:20px}
:root:not([data-device-layout="desktop"]) .plan-builder .app{grid-template-columns:minmax(0,1fr)}
:root:not([data-device-layout="desktop"]) .plan-builder .topbar{height:auto;min-height:56px;max-width:100vw;overflow-x:auto;overflow-y:hidden;flex-wrap:nowrap;gap:8px;padding:6px max(8px,env(safe-area-inset-right)) 6px max(8px,env(safe-area-inset-left));backdrop-filter:none}
:root:not([data-device-layout="desktop"]) .plan-builder .topbar>*{flex-shrink:0}
:root:not([data-device-layout="desktop"]) .plan-builder :is(.menu-btn,.rail-btn){display:inline-flex}
:root:not([data-device-layout="desktop"]) .plan-builder :is(.titlewrap,.brand .tag,.brand .madeby){display:none}
:root:not([data-device-layout="desktop"]) .plan-builder .rail{position:fixed;top:var(--gr-top);bottom:0;bottom:calc(100dvh - var(--gr-height));width:min(390px,94vw);max-width:94vw;z-index:100;overflow-y:auto;overscroll-behavior:contain;padding-bottom:max(16px,env(safe-area-inset-bottom));box-shadow:var(--shadow-lg);transition:transform .2s}
:root:not([data-device-layout="desktop"]) .plan-builder .rail.left{left:0;right:auto;transform:translateX(-105%)}
:root:not([data-device-layout="desktop"]) .plan-builder .rail.right{right:0;left:auto;transform:translateX(105%)}
:root:not([data-device-layout="desktop"]) body.nav-open .rail.left,:root:not([data-device-layout="desktop"]) body.rail-open .rail.right{transform:none}
:root:not([data-device-layout="desktop"]) .adaptive-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;position:sticky;top:0;background:var(--panel);padding:10px 12px;z-index:4;border-bottom:1px solid var(--line)}
:root:not([data-device-layout="desktop"]) .adaptive-backdrop:not([hidden]){display:block;position:fixed;inset:var(--gr-top) 0 0;border:0;border-radius:0;background:rgba(0,0,0,.35);z-index:90}
:root:not([data-device-layout="desktop"]) .plan-builder .pagebar{gap:6px;padding:6px;overflow:visible;flex-shrink:0}
:root:not([data-device-layout="desktop"]) .plan-builder .ptabs{max-width:calc(100% - 150px)}
:root:not([data-device-layout="desktop"]) .plan-builder .tools{width:100%;min-width:0;flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;align-items:center;gap:6px}
:root:not([data-device-layout="desktop"]) .plan-builder .tools>*{flex-shrink:0}
:root:not([data-device-layout="desktop"]) .plan-builder .canvas-scroll{padding:8px;min-height:0;overscroll-behavior:contain}
:root:not([data-device-layout="desktop"]) .plan-builder .statusbar{padding-bottom:env(safe-area-inset-bottom);flex-shrink:0;overflow:hidden}
:root:not([data-device-layout="desktop"]) .plan-builder .statusbar :is(.copyr,.coord,#hintText){display:none}
:root:not([data-device-layout="desktop"]) .plan-builder #deviceMenu{position:fixed!important;top:auto!important;left:8px!important;right:8px!important;bottom:max(8px,env(safe-area-inset-bottom))!important;width:auto!important;max-width:650px;max-height:calc(var(--gr-height) - 80px);margin:auto;overflow:auto;z-index:110}
:root:not([data-device-layout="desktop"]) .plan-builder #deviceMenu .menu-body{max-height:35vh;min-height:100px;overflow:auto}
:root:not([data-device-layout="desktop"]) .plan-builder #exportMenu{position:fixed;top:calc(var(--gr-top) + 4px);right:8px;left:auto;max-width:calc(100vw - 16px);max-height:calc(var(--gr-height) - var(--gr-top) - 12px);overflow:auto;z-index:110}
:root:not([data-device-layout="desktop"]) .plan-builder :is(dialog,.cat-card){max-width:calc(100vw - 16px)!important;max-height:calc(var(--gr-height) - 24px)!important;overflow:auto;box-sizing:border-box}
:root:not([data-device-layout="desktop"]) .plan-builder #bulkBar{max-width:calc(100vw - 16px);flex-wrap:wrap;max-height:35vh;overflow:auto;box-sizing:border-box}
:root[data-device-layout="phone"] .plan-builder .brand{display:none}
:root[data-device-layout="phone"] .plan-builder :is(#uploadPlanBtn .btxt,#exportBtn .btxt,#zoomFit,#zoomLvl){display:initial}
:root[data-device-layout="phone"] .plan-builder .pagebar .bar-sp{display:none}
@media(prefers-reduced-motion:reduce){.plan-builder .rail{transition:none!important}}
:root:not([data-device-layout="desktop"]) .plan-builder .tools #addDeviceBtn{order:-1;position:sticky;left:0;z-index:2}
:root:not([data-device-layout="desktop"]) .plan-builder #deviceMenu{bottom:calc(max(8px,env(safe-area-inset-bottom)) + max(0px,100dvh - var(--gr-height)))!important}
