/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.grid{display:grid}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--navy:#191919;--steel:#4f5558;--teal:#f87200;--teal-dark:#c94f00;--pale-teal:#fff0e5;--pale-blue:#f0f1f1;--paper:#fff;--shell:#f5f5f4;--line:#d4d6d6;--ink:#191919;--muted:#666b6e;--amber:#f87200}*{box-sizing:border-box}html,body{background:var(--shell);width:100%;height:100%;color:var(--ink);margin:0;overflow:hidden}button,input,select{font:inherit}button{color:inherit}.app-shell{width:100%;height:100dvh;min-height:0;font-family:var(--font-geist-sans), Arial, sans-serif;flex-direction:column;display:flex;overflow:hidden}.topbar{color:#fff;border-bottom:3px solid var(--teal);background:linear-gradient(135deg,#101010,#252525);flex:none;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;min-height:76px;padding:12px 20px;display:grid}.brand{align-items:center;gap:12px;min-width:0;display:flex}.brand-mark{object-fit:contain;flex:none;width:54px;height:49px}.brand h1{letter-spacing:-.03em;margin:0;font-size:clamp(18px,2vw,25px);line-height:1.05}.brand p{opacity:.7;margin:4px 0 0;font-size:12px}.topbar-actions{justify-self:end;align-items:center;gap:9px;display:flex}.mode-tabs{background:#080808;border:1px solid #555;border-radius:12px;padding:4px;display:flex}.mode-tabs button{color:#c8c8c8;cursor:pointer;background:0 0;border:0;border-radius:9px;min-height:42px;padding:0 18px;font-weight:750}.mode-tabs .active{color:#fff;background:var(--teal);box-shadow:0 4px 12px #0016}.export{background:var(--teal);color:#fff;cursor:pointer;border:0;border-radius:12px;justify-self:end;min-height:48px;padding:0 20px;font-weight:800;box-shadow:0 8px 20px #0014}.print-menu{position:relative}.print-options{z-index:60;background:#fff;border:1px solid #cdd9dd;border-radius:12px;gap:7px;width:min(360px,100vw - 32px);padding:8px;display:grid;position:fixed;top:70px;right:16px;box-shadow:0 18px 38px #1730422e}.export-option{background:#f7fafb;border-radius:9px;grid-template-columns:minmax(0,1fr) 92px;align-items:center;gap:7px;min-height:42px;padding:6px;display:grid}.export-option span{min-width:0;color:var(--navy);white-space:normal;font-size:12px;font-weight:850}.print-options button{width:100%;min-height:34px;color:var(--navy);text-align:center;cursor:pointer;background:#fff;border:0;border-radius:8px;justify-content:center;padding:0 8px;font-size:11px;font-weight:900;box-shadow:inset 0 0 0 1px #dce8eb}.print-options button:hover{background:var(--pale-blue)}.save-action{background:var(--amber);color:#fff;cursor:pointer;border:0;border-radius:11px;min-height:44px;padding:0 14px;font-weight:900}.save-action.ghost{color:#dce9ee;background:#ffffff12;border:1px solid #ffffff3d}.logout{color:#dce9ee;cursor:pointer;background:#ffffff12;border:1px solid #ffffff3d;border-radius:11px;min-height:44px;padding:0 13px;font-weight:800}.logout:hover{color:#fff;background:#fff2}.login-shell{min-height:100dvh;font-family:var(--font-geist-sans), Arial, sans-serif;color:var(--ink);background:radial-gradient(circle at 20% 10%,#f8720033,#0000 30%),linear-gradient(135deg,#080808,#202020 48%,#111);place-items:center;padding:24px;display:grid}.login-card{border:1px solid #ffffff24;border-top:4px solid var(--teal);background:#fffffff4;border-radius:22px;width:min(100%,450px);padding:28px;box-shadow:0 26px 70px #0009}.login-brand{border-bottom:1px solid var(--line);align-items:center;gap:14px;padding-bottom:20px;display:flex}.login-brand>img{object-fit:contain;filter:drop-shadow(0 8px 12px #0002);flex:none;width:82px;height:74px}.login-brand h1{letter-spacing:-.04em;color:var(--navy);margin:0;font-size:26px;line-height:1.05}.login-brand p{color:var(--muted);margin:3px 0 0;font-size:13px;font-weight:700}.login-form{gap:13px;margin-top:20px;display:grid}.login-form label{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;gap:6px;font-size:11px;font-weight:900;display:grid}.login-form input{border:1px solid var(--line);background:var(--shell);height:50px;color:var(--ink);text-transform:none;letter-spacing:normal;border-radius:13px;outline:none;padding:0 14px;font-size:18px;font-weight:800}.login-form input:focus{border-color:var(--teal);background:#fff;box-shadow:0 0 0 4px #f8720024}.login-form button{background:var(--teal);color:#fff;cursor:pointer;border:0;border-radius:14px;min-height:52px;margin-top:5px;font-size:16px;font-weight:900;box-shadow:0 12px 24px #f8720038}.login-error{color:#a23b3b;background:#fff0f0;border-radius:10px;margin:0;padding:10px 12px;font-size:13px;font-weight:800}.sizebar{border-bottom:1px solid var(--line);background:#fff;flex:none;justify-content:space-between;align-items:center;gap:16px;min-height:67px;padding:8px 20px;display:flex}.size-fields{align-items:end;gap:10px;display:flex}.size-fields label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;gap:3px;font-size:11px;font-weight:800;display:grid}.size-fields select{min-width:108px;height:40px;color:var(--ink);background:var(--shell);border:1px solid var(--line);text-transform:none;border-radius:9px;padding:0 34px 0 12px;font-size:15px;font-weight:750}.orientation-toggle{border:1px solid var(--teal);background:var(--pale-teal);min-width:116px;height:40px;color:var(--teal-dark);cursor:pointer;text-transform:none;border-radius:9px;padding:0 12px;font-weight:850}.size-fields .body-select{min-width:205px}.size-fields>span{height:38px;color:var(--muted);place-items:center;font-weight:800;display:grid}.scale-readout{background:var(--pale-teal);color:var(--teal-dark);font:700 13px var(--font-geist-mono), monospace;border-radius:10px;padding:10px 14px}.workspace{flex:1;grid-template-columns:310px minmax(420px,1fr) 270px;min-height:0;display:grid}.panel{overscroll-behavior:contain;z-index:5;background:#fff;min-height:0;padding:18px;overflow:auto}.library{border-right:1px solid var(--line);grid-template-rows:auto minmax(0,1fr);display:grid;overflow:hidden}.library:has(.search){grid-template-rows:auto auto auto minmax(0,1fr)}.inspector{border-left:1px solid var(--line)}.builds-drawer{z-index:30;border:1px solid var(--line);border-radius:20px;width:min(360px,100vw - 28px);transition:translate .2s;position:fixed;top:90px;bottom:18px;left:14px;translate:calc(-100% - 30px);box-shadow:0 18px 55px #0004}.builds-drawer.open{translate:0}.panel-head{justify-content:space-between;align-items:start;gap:12px;margin-bottom:14px;display:flex}.panel-head small{color:var(--teal-dark);letter-spacing:.12em;font-size:10px;font-weight:900}.panel-head h2{margin:2px 0 0;font-size:19px;line-height:1.15}.mobile-close{background:var(--pale-blue);cursor:pointer;border:0;border-radius:50%;width:42px;height:42px;font-size:26px;display:none}.drawer-close{background:var(--pale-blue);width:42px;height:42px;color:var(--ink);cursor:pointer;border:0;border-radius:50%;flex:none;place-items:center;font-size:26px;display:grid}.search{border:1px solid var(--line);width:100%;height:45px;color:var(--ink);background:var(--shell);border-radius:10px;outline:none;padding:0 12px}.search:focus{border-color:var(--teal);box-shadow:0 0 0 3px #0b9c9820}.pitman-source{background:var(--pale-teal);border-radius:9px;gap:2px;margin-top:9px;padding:9px 10px;display:grid}.pitman-source strong{color:var(--teal-dark);font-size:10px}.pitman-source span{color:var(--muted);font-size:8px;line-height:1.25}.saved-builds{border:1px solid var(--line);background:var(--shell);border-radius:13px;margin-bottom:13px;padding:11px}.saved-builds-head{justify-content:space-between;align-items:start;gap:8px;display:flex}.saved-builds-head div{gap:2px;display:grid}.saved-builds-head strong{color:var(--navy);font-size:13px}.saved-builds-head span{color:var(--muted);font-size:10px;line-height:1.25}.saved-builds-head button{border:1px solid var(--line);min-height:30px;color:var(--steel);cursor:pointer;background:#fff;border-radius:8px;padding:0 8px;font-size:10px;font-weight:800}.saved-build-list{gap:6px;max-height:235px;margin-top:9px;display:grid;overflow:auto}.saved-build-list article{grid-template-columns:1fr 44px 30px;align-items:stretch;gap:5px;min-height:54px;display:grid}.saved-build-list article.active .open-build{border-color:var(--teal);background:var(--pale-teal)}.saved-build-list .open-build{text-align:left;border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:9px;gap:2px;min-width:0;padding:8px;display:grid}.saved-build-list .open-build strong{text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:11px;overflow:hidden}.saved-build-list .open-build span{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:9px;overflow:hidden}.saved-build-list article>button:not(.open-build){border:1px solid var(--line);color:var(--steel);cursor:pointer;background:#fff;border-radius:9px;font-size:10px;font-weight:850}.saved-build-list article>.delete-build{color:#a23b3b!important;border-color:#e7bcbc!important;font-size:17px!important}.saved-build-list p{color:var(--muted);background:#fff;border-radius:9px;margin:0;padding:10px;font-size:11px;line-height:1.35}.object-picker{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;scrollbar-gutter:stable;align-content:start;gap:11px;min-height:0;margin:12px -7px -8px 0;padding:0 7px 16px 0;display:grid;overflow-y:auto}.object-group{gap:7px;display:grid}.object-group-toggle{z-index:1;text-align:left;cursor:pointer;background:#fff;border:1px solid #d8cfc5;border-radius:10px;align-items:center;gap:9px;width:100%;min-height:38px;padding:0 9px;display:flex;position:sticky;top:0;box-shadow:0 3px 10px #17304210}.object-group h3{color:var(--ink);flex:1;margin:0;font-size:12px;font-weight:950}.object-group-toggle span{background:var(--pale-teal);min-width:24px;height:24px;color:var(--teal-dark);border-radius:999px;place-items:center;font-size:10px;font-weight:950;display:grid}.object-group-toggle b{background:var(--pale-blue);min-width:44px;min-height:24px;color:var(--steel);text-transform:uppercase;letter-spacing:.04em;border-radius:999px;place-items:center;font-size:9px;font-weight:950;display:grid}.object-group.collapsed .object-group-toggle{background:#fafafa}.object-group.collapsed .object-group-toggle b{background:var(--pale-teal);color:var(--teal-dark)}.equipment-list{gap:8px;padding:0 8px 8px;display:grid}.equipment-empty{color:var(--muted);text-align:center;margin:0;padding:18px 12px;font-size:12px}.equipment-card{text-align:left;border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:11px;grid-template-columns:68px 1fr minmax(36px,auto);align-items:center;gap:9px;width:100%;min-height:82px;padding:8px;display:grid;box-shadow:0 3px 10px #1730420a}.equipment-card:hover{border-color:var(--teal);transform:translateY(-1px)}.equipment-card span:nth-child(2){gap:3px;min-width:0;display:grid}.equipment-card strong{font-size:13px;line-height:1.15}.equipment-card small{color:var(--muted);font-size:10px}.equipment-card b{background:var(--pale-teal);min-height:30px;color:var(--teal-dark);text-transform:uppercase;letter-spacing:.04em;border-radius:999px;place-items:center;padding:0 8px;font-size:10px;font-weight:950;display:grid}.equipment-icon{width:68px;height:62px;color:var(--steel);background:linear-gradient(#f8fafb,#e7edef);border-radius:9px;place-items:center;font-size:22px;display:grid;overflow:hidden}.canvas-zone{background:#e9eff2;flex-direction:column;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.ruler{height:30px;color:var(--steel);font:700 11px var(--font-geist-mono), monospace;border-bottom:1px solid var(--line);background:#f8fafb;justify-content:space-between;align-items:center;padding:0 8px;display:flex}.canvas-scroll{flex:1;place-items:start center;min-height:0;padding:72px 42px 105px;display:grid;overflow:auto}.canvas-wrap{place-items:center;width:min(100%,900px);display:grid}.print-heading{width:100%;color:var(--navy);justify-content:space-between;align-items:end;gap:20px;margin:0 0 14px;display:none}.print-heading strong{font-size:20px}.print-heading span{color:var(--muted);font:700 11px var(--font-geist-mono), monospace}.export-capture{background:linear-gradient(#fff,#f7fafb)!important;padding:24px 34px 34px!important}.export-capture .print-heading{display:flex!important}.export-capture .trailer-canvas{transform:none!important;box-shadow:0 14px 32px #17304224,inset 0 0 0 7px #eef1f2!important}.export-capture .placed-item.selected{border-color:#657780;outline:0;box-shadow:0 2px 5px #17304235}.export-capture.print-bw{background:#fff!important}.export-capture.print-bw .trailer-canvas,.export-capture.print-bw .equipment-visual,.export-capture.print-bw .hitch,.export-capture.print-bw .vehicle-cab,.export-capture.print-bw .trailer-details,.export-capture.print-bw .blueprint-overlay,.export-capture.print-bw .blue-mark,.export-capture.print-bw .placed-item{filter:grayscale()contrast(1.18)!important}.export-capture.print-bw .trailer-canvas{background-color:#fff!important;box-shadow:inset 0 0 0 6px #f2f2f2!important}.export-capture.print-bw .trailer-canvas:before{border-color:#f8f8f8!important;box-shadow:inset 0 0 0 1px #5556!important}.export-capture.print-bw .placed-item strong,.export-capture.print-bw .placed-item small{color:#111!important;background:#fff!important}.drawing-frame{place-items:center;width:100%;display:grid;position:relative}.drawing-frame.horizontal-frame{padding:105px 205px 120px 85px}.drawing-frame.vertical-frame{width:min(100%,560px);padding:85px 105px 205px}.drawing-ruler{z-index:8;border:1px solid var(--line);pointer-events:none;border-radius:8px;width:auto;position:absolute;top:67px;left:85px;right:205px;box-shadow:0 2px 7px #0001}.vertical-frame .drawing-ruler{top:47px;left:105px;right:105px}.trailer-canvas{border:6px solid var(--navy);transform-origin:50%;touch-action:none;background-color:#fff;max-width:100%;height:min(66vh,680px);transition:transform .18s;position:relative;box-shadow:0 12px 30px #17304225}.horizontal-frame .trailer-canvas{width:100%;height:auto;min-height:250px}.vertical-frame .trailer-canvas{width:100%;height:auto;min-height:540px}.layout-frame .trailer-canvas{background-color:#fdfdfc;border:6px double #51636c;box-shadow:0 12px 30px #1730421f,inset 0 0 0 6px #eef1f2}.trailer-canvas.show-grid{background-image:linear-gradient(#c7d5dc55 1px,#0000 1px),linear-gradient(90deg,#c7d5dc55 1px,#0000 1px),linear-gradient(#315b7333 1px,#0000 1px),linear-gradient(90deg,#315b7333 1px,#0000 1px);background-size:2.5% 2.5%,2.5% 2.5%,10% 10%,10% 10%}.layout-frame .trailer-canvas:before{content:"";z-index:0;border:9px solid var(--wall-color,#f5f7f7);pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #425b6666,inset 0 0 12px #17304225}.trailer-canvas.floor-rubber{background-color:#c8cdd0;background-image:radial-gradient(circle,#858f94 0 1.6px,#0000 1.8px);background-size:13px 13px}.trailer-canvas.floor-diamond{background-color:#cbd1d3;background-image:linear-gradient(135deg,#ffffff65 12%,#0000 12% 38%,#6e7b8055 38% 50%,#0000 50% 88%,#ffffff65 88%),linear-gradient(45deg,#0000 42%,#fff5 42% 50%,#6f7c8155 50% 58%,#0000 58%);background-size:18px 18px}.trailer-canvas.floor-wood{background-color:#b98557;background-image:repeating-linear-gradient(90deg,#7b4d2d55 0 2px,#0000 2px 34px),repeating-linear-gradient(0deg,#fff2d522 0 1px,#0000 1px 8px)}.trailer-canvas.floor-checker{background-color:#d8dcde;background-image:linear-gradient(45deg,#889398 25%,#0000 25% 75%,#889398 75%),linear-gradient(45deg,#889398 25%,#0000 25% 75%,#889398 75%);background-position:0 0,18px 18px;background-size:36px 36px}.trailer-canvas.wall-white{--wall-color:#f7f8f6}.trailer-canvas.wall-aluminum{--wall-color:#aeb9bd}.trailer-canvas.wall-black{--wall-color:#303b40}.trailer-canvas.wall-wood{--wall-color:#8d5d36}.trailer-label{color:#315b7370;font:800 10px var(--font-geist-mono), monospace;position:absolute;bottom:5px;right:7px}.hitch{background:var(--navy);color:#fff;clip-path:polygon(20% 0,80% 0,100% 100%,0 100%);letter-spacing:.08em;place-items:center;width:62px;height:24px;font-size:8px;font-weight:800;display:grid;position:absolute;top:-29px;left:50%;translate:-50%}.horizontal-frame .hitch{clip-path:polygon(0 4%,0 96%,78% 66%,100% 57%,100% 43%,78% 34%);color:#0000;background:linear-gradient(90deg,#687a82,#43545c);width:190px;height:86px;top:50%;left:auto;right:-190px;translate:0 -50%}.vertical-frame .hitch{clip-path:polygon(43% 0,57% 0,66% 22%,96% 100%,4% 100%,34% 22%);color:#0000;background:linear-gradient(#43545c,#687a82);width:86px;height:190px;top:-190px;bottom:auto;left:50%;translate:-50%}.body-transit .hitch,.body-sprinter .hitch,.body-promaster .hitch,.body-stepvan .hitch{display:none}.vehicle-cab{z-index:0;clip-path:polygon(0 0,67% 4%,100% 26%,100% 74%,67% 96%,0 100%);pointer-events:none;background:linear-gradient(90deg,#e4e8e9,#aebbc0 58%,#738891);border:5px solid #526871;border-left:0;border-radius:0 55% 40% 0;width:155px;height:92%;position:absolute;top:4%;right:-155px}.vertical-frame .vehicle-cab{clip-path:polygon(0 0,100% 0,96% 67%,74% 100%,26% 100%,4% 67%);background:linear-gradient(#e4e8e9,#aebbc0 58%,#738891);border:5px solid #526871;border-top:0;border-radius:0 0 40% 55%;width:92%;height:155px;top:auto;bottom:-155px;right:4%}.vertical-frame .body-stepvan .vehicle-cab,.vertical-frame .body-stepvan.vehicle-cab{clip-path:polygon(0 0,100% 0,100% 82%,82% 100%,18% 100%,0 82%);border-radius:0 0 12px 12px;width:92%;height:135px;bottom:-135px;right:4%}.body-stepvan .vehicle-cab{clip-path:polygon(0 0,82% 0,100% 18%,100% 82%,82% 100%,0 100%);border-radius:0 12px 12px 0;width:135px;right:-135px}.vehicle-cab .windshield{background:linear-gradient(100deg,#dff3f7,#6594a3);border:2px solid #3a555f;border-radius:6px 24px 24px 6px;width:29%;position:absolute;top:15%;bottom:15%;right:18%}.vehicle-cab .driver-seat,.vehicle-cab .passenger-seat{background:#3f5057;border-radius:8px;width:23%;height:28%;position:absolute;left:23%;box-shadow:inset 0 0 0 3px #718188}.vehicle-cab .driver-seat{top:13%}.vehicle-cab .passenger-seat{bottom:13%}.vertical-frame .vehicle-cab .windshield{background:linear-gradient(#dff3f7,#6594a3);border-radius:6px 6px 24px 24px;width:auto;height:29%;inset:auto 15% 18%}.vertical-frame .vehicle-cab .driver-seat,.vertical-frame .vehicle-cab .passenger-seat{width:28%;height:23%;top:23%;bottom:auto}.vertical-frame .vehicle-cab .driver-seat{left:13%}.vertical-frame .vehicle-cab .passenger-seat{left:auto;right:13%}.body-tag{z-index:2;color:#fff;letter-spacing:.04em;pointer-events:none;background:#173042d9;border-radius:5px;padding:4px 7px;font-size:8px;font-weight:850;position:absolute;top:7px;left:8px}.blueprint-mode .body-tag{background:#154b78}.trailer-details{z-index:0;pointer-events:none;position:absolute;inset:0}.trailer-details .wheel-box{background:linear-gradient(#303b40,#77858b 52%,#3d474c);border:2px solid #5d6b71;border-radius:6px;height:14px;position:absolute;box-shadow:inset 0 0 0 2px #9aa7ac66}.horizontal-frame .trailer-details .fender-a{border-bottom:0;border-radius:6px 6px 0 0;top:-14px}.horizontal-frame .trailer-details .fender-b{border-top:0;border-radius:0 0 6px 6px;top:auto;bottom:-14px}.vertical-frame .trailer-details .wheel-box{width:14px;height:auto}.vertical-frame .trailer-details .fender-a{border-right:0;border-radius:6px 0 0 6px;left:-14px}.vertical-frame .trailer-details .fender-b{border-left:0;border-radius:0 6px 6px 0;left:auto;right:-14px}.trailer-details .rear-light{background:#d45039;border-radius:2px;width:5px;height:13%;position:absolute;left:-5px;box-shadow:0 0 0 1px #7c3126}.trailer-details .rear-light.one{top:18%}.trailer-details .rear-light.two{bottom:18%}.vertical-frame .trailer-details .rear-light{width:13%;height:5px;top:auto;bottom:-5px}.vertical-frame .trailer-details .rear-light.one{top:auto;bottom:-5px;left:18%}.vertical-frame .trailer-details .rear-light.two{inset:auto 18% -5px auto}.placed-item{border:2px solid var(--steel);min-width:34px;min-height:34px;color:var(--ink);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;background:#e6ecef;border-radius:5px;flex-direction:column;justify-content:center;align-items:center;padding:3px;display:flex;position:absolute;overflow:hidden;box-shadow:0 3px 7px #17304222}.placed-item:active{cursor:grabbing}.placed-item>span{font-size:16px}.placed-item strong{white-space:nowrap;text-overflow:ellipsis;max-width:95%;font-size:clamp(7px,.75vw,10px);overflow:hidden}.placed-item small{font:600 clamp(6px, .6vw, 8px) var(--font-geist-mono), monospace}.placed-item>i{color:#a46000;font:900 6px var(--font-geist-sans);position:absolute;top:2px;right:2px}.placed-item.selected{z-index:3;border:3px solid var(--amber);outline:3px solid #fff;box-shadow:0 0 0 5px #f2b84b66,0 7px 16px #17304233}.placed-item.locked{cursor:not-allowed;background:#fff1cc}.placed-item.sink{background:#dce8ed}.placed-item.fridge{background:#d9e1e5}.placed-item.cold{background:#dff3f2}.layout-frame .placed-item{background:linear-gradient(145deg,#f7f8f8 0%,#cbd1d3 48%,#f4f5f5 100%);border:1px solid #657780;border-radius:2px;justify-content:flex-end;gap:1px;padding:3px 4px;box-shadow:0 2px 5px #17304235}.layout-frame .placed-item strong{z-index:2;color:#203744;text-align:center;background:#ffffffe8;border-radius:2px;max-width:100%;padding:0 2px;font-size:clamp(6px,.58vw,8px);line-height:1;position:relative}.layout-frame .placed-item small{z-index:2;color:#3e5967;background:#ffffffd9;border-radius:2px;padding:0 1px;font-size:clamp(5px,.44vw,6px);line-height:1;position:relative}.equipment-visual{background:linear-gradient(135deg,#f9fafa,#bcc4c7 52%,#f1f3f3);border:1px solid #71828a;border-radius:3px;gap:3px;display:flex;position:absolute;inset:4px;overflow:hidden;box-shadow:inset 0 0 0 1px #fff8}.equipment-icon .equipment-visual{transform-origin:bottom;width:58px;height:48px;position:relative;inset:auto;transform:perspective(110px)rotateX(10deg);box-shadow:0 4px 7px #17304228}.equipment-visual i,.equipment-visual b{display:block}.sink-visual{align-items:stretch;padding:8px 4px 5px}.sink-visual i{background:radial-gradient(circle,#293f49 0 5%,#dae1e3 7% 58%,#7d8d93 61% 66%,#f7f8f8 69%);border:2px solid #6b7d84;border-radius:5px;flex:1;min-width:0;position:relative;box-shadow:inset 1px 1px 3px #40545d88}.sink-visual .backsplash{background:linear-gradient(#f9fafa,#aeb9bd);border-bottom:1px solid #71828a;height:6px;position:absolute;top:1px;left:2px;right:2px}.sink-visual .faucet{z-index:2;border:2px solid #53666e;border-bottom:0;border-radius:8px 8px 0 0;width:8px;height:10px;position:absolute;top:1px;left:50%;translate:-50%}.sink-visual .drainboard{background:repeating-linear-gradient(90deg,#eef1f2 0 2px,#89979c 2px 3px);border:1px solid #7d8c92;width:13%}.sink-visual.handsink .drainboard{display:none}.fridge-visual{padding:4px}.fridge-visual i{background:linear-gradient(120deg,#fbfbfb,#b9c2c5 55%,#f8f8f8);border:1px solid #7d8b90;flex:1;position:relative;box-shadow:inset 0 0 0 1px #fff9}.fridge-visual i b{background:#445b65;border-radius:2px;width:2px;position:absolute;top:16%;bottom:16%;right:3px}.fridge-visual:before{content:"";z-index:2;background:#f8ffffcc;border-radius:2px;height:3px;position:absolute;top:4px;left:5px;right:5px}.backbar-visual{background:linear-gradient(#39484e,#11191c);gap:2px;padding:4px}.backbar-visual>i{background:linear-gradient(135deg,#79a4af55,#0c161acc 60%);border:1px solid #9eb5bd;flex:1;position:relative;box-shadow:inset 0 0 0 2px #263b43}.backbar-visual>i b{background:#d4dde0;border-radius:2px;width:2px;position:absolute;top:18%;bottom:18%;left:3px}.cold-visual{background:linear-gradient(120deg,#f9fafa,#aeb9bd 58%,#edf0f1);grid-template-rows:20% 34% 16% 30%;gap:1px;padding:3px;display:grid}.cold-visual .prep-lid{background:linear-gradient(#f7f8f8,#9ca9ae);border:1px solid #697b82;border-radius:2px 2px 0 0;box-shadow:inset 0 1px #fff}.cold-visual .prep-pans{background:#84949a;border:1px solid #64777f;grid-auto-columns:1fr;grid-auto-flow:column;gap:1px;min-height:0;padding:1px;display:grid}.cold-visual .prep-pans i{background:linear-gradient(135deg,#f5f6f6,#b9c2c5);border:1px solid #788a91;border-radius:1px;min-width:0;box-shadow:inset 0 0 0 1px #fff8}.cold-visual .cutting-board{background:linear-gradient(#fffef5,#e8e5d6);border:1px solid #c9c7b5;border-radius:1px;box-shadow:0 1px 2px #33485255}.cold-visual .cold-cabinet{background:linear-gradient(120deg,#e9edee,#9aa8ad);gap:1px;min-height:0;padding:1px 18% 1px 1px;display:flex;position:relative}.cold-visual .cold-cabinet i{background:linear-gradient(120deg,#f7f8f8,#b0babd);border:1px solid #77888f;flex:1;min-width:0}.cold-visual .cold-cabinet b{background:repeating-linear-gradient(90deg,#40545d 0 1px,#b8c3c6 1px 3px);border:1px solid #61747c;width:16%;position:absolute;top:2px;bottom:2px;right:2px}.table-visual{align-items:stretch;padding:4px}.table-visual i{background:linear-gradient(110deg,#fafafa,#c4cbcd 52%,#f6f7f7);border:1px solid #95a1a6;flex:1}.table-visual b{border:1px solid #ffffffb5;position:absolute;inset:3px}.ice-visual{place-content:center}.ice-visual i{color:#5d9fbd;filter:drop-shadow(0 1px #fff);margin:auto;font-size:22px;font-style:normal}.ice-visual b{background:repeating-linear-gradient(90deg,#647983 0 1px,#bec6c9 1px 4px);height:8%;position:absolute;bottom:10%;left:12%;right:12%}.fryer-visual{padding:5px 5px 13px}.fryer-visual i{background:repeating-linear-gradient(90deg,#5e6f75 0 2px,#ced4d6 2px 5px);border:2px solid #65757b;flex:1}.fryer-visual b{background:#d9ddde;border:1px solid #718188;height:6px;position:absolute;bottom:3px;left:8%;right:8%}.cooktop-visual{padding:5px}.cooktop-visual i{background:linear-gradient(#444f53,#9aa6aa);border:2px solid #5f6f75;flex:1}.cooktop-visual.griddle i{background:linear-gradient(135deg,#8e9a9e,#48555a 45%,#a8b2b5)}.cooktop-visual.charbroiler i{background:repeating-linear-gradient(90deg,#3d494e 0 2px,#aab3b6 2px 6px)}.cooktop-visual b{background:#d9ddde;height:4px;position:absolute;bottom:2px;left:8%;right:8%}.range-visual{grid-template-columns:1fr 1fr;gap:4px;padding:6px;display:grid}.range-visual i{background:radial-gradient(circle,#26363d 0 23%,#9ba7ab 25% 42%,#4e5e64 45% 58%,#d5dadb 61%);border:2px solid #53646b;border-radius:50%}.box-visual{padding:5px}.box-visual i{background:linear-gradient(135deg,#56666c,#ccd2d4 20% 80%,#718087);border:2px solid #66777e;flex:1}.box-visual b{background:#2f8b75;border-radius:50%;width:5px;height:5px;position:absolute;top:8px;right:8px}.tank-visual{background:linear-gradient(135deg,#eef7fb,#8fa5af);place-items:center;padding:5px;display:grid}.tank-visual i{background:linear-gradient(135deg,#f9fbfb,#aebbc0 58%,#e7edf0);border:2px solid #526871;border-radius:5px;position:absolute;inset:13% 8%;box-shadow:inset 0 0 0 1px #fff9}.tank-visual.grayTank{background:linear-gradient(135deg,#edf0f1,#7e8d95)}.tank-visual b{z-index:1;color:#fff;font:900 clamp(5px, .62vw, 8px) var(--font-geist-sans);letter-spacing:.04em;background:#173042d9;border-radius:3px;padding:2px 4px;position:relative}.waterheater-visual{background:linear-gradient(135deg,#e8eef1,#9ba9af);justify-content:center;padding:5px}.waterheater-visual i{background:linear-gradient(90deg,#f9fbfb,#b7c1c5 55%,#eef1f2);border:2px solid #65777f;border-radius:40% 40% 18% 18%;width:54%;height:84%;margin:auto}.waterheater-visual.instahot i{border-radius:6px;width:62%;height:62%}.waterheater-visual b{background:#4b6974;border-radius:999px;height:8%;position:absolute;top:9%;left:22%;right:22%}.waterheater-visual em{background:#f87200;border-radius:50%;width:16%;height:16%;position:absolute;bottom:10%;right:10%}.coffee-visual{background:linear-gradient(135deg,#252f34,#9ba9af 58%,#eef1f2);padding:5px}.coffee-visual i{background:linear-gradient(#edf1f2,#6e7f86);border:2px solid #394b52;border-radius:4px;flex:1}.coffee-visual b{background:#2b383e;border-radius:3px;height:12%;position:absolute;bottom:8%;left:15%;right:15%}.coffee-visual em{z-index:1;background:#101719;border-radius:999px;width:9%;height:24%;margin:18% 3% auto;position:relative}.coffee-visual.cappuccino em:last-child{background:#f8fafb;box-shadow:0 0 0 1px #40545d}.coffee-visual.coffeebrewer{background:linear-gradient(135deg,#fff7e8,#8f9da3)}.dispenser-visual{background:linear-gradient(135deg,#e7f4f7,#87979e);gap:4px;padding:4px}.dispenser-visual i{background:linear-gradient(#dff3f7,#6ca0ad 62%,#263a42);border:2px solid #526871;border-radius:4px;flex:1}.dispenser-visual b{background:#2d3d44;height:9%;position:absolute;bottom:7%;left:12%;right:12%}.softserve-visual{background:linear-gradient(135deg,#f3f6f6,#aab5b9);gap:3px;padding:5px}.softserve-visual i{background:linear-gradient(#f9fbfb,#9ca9ae);border:2px solid #60727a;border-radius:4px;flex:1}.softserve-visual b{background:#38484f;border-radius:3px;height:11%;position:absolute;bottom:8%;left:18%;right:18%}.softserve-visual em{background:#fff;border-radius:50%;width:18%;height:18%;position:absolute;top:9%;left:50%;translate:-50%;box-shadow:0 0 0 2px #9ba9af}.small-appliance-visual{background:linear-gradient(135deg,#f4f6f6,#9eaab0);place-content:center;padding:5px}.small-appliance-visual i{background:linear-gradient(#dff3f7,#607680);border:2px solid #5d6f77;border-radius:4px 4px 12px 12px;width:42%;height:46%;margin:7% auto 0}.small-appliance-visual b{background:#34444b;border-radius:4px;width:68%;height:18%;margin:auto auto 6%}.small-appliance-visual em{background:#526871;width:32%;height:8%;position:absolute;top:8%;left:50%;translate:-50%}.hood-visual{clip-path:polygon(8% 0,92% 0,100% 100%,0 100%);padding:6px}.hood-visual i{background:repeating-linear-gradient(90deg,#d8ddde 0 7px,#98a4a8 7px 9px);border:1px solid #7c8a90;flex:1}.shelf-visual{flex-direction:column;padding:5px}.shelf-visual i{background:linear-gradient(#f4f5f5,#b9c1c4);border:1px solid #89979c;flex:1;width:100%}.door-visual{padding:4px}.door-visual i{background:linear-gradient(110deg,#f8f9f9,#aeb8bc 50%,#eef0f0);border:2px solid #697b82;flex:1}.door-visual b{background:#273f49;border-radius:50%;width:5px;height:5px;position:absolute;top:48%;right:15%}.opening-visual{background:linear-gradient(#dfeef1,#9bb8c0);padding:4px}.opening-visual i{background:linear-gradient(135deg,#d9f3f8,#6da0ad);border:2px solid #57747f;flex:1}.opening-visual b{background:#f0b848;height:3px;position:absolute;top:5px;left:6%;right:6%}.opening-visual.awning{background:repeating-linear-gradient(135deg,#f7fafb 0 6px,#b8c8cd 6px 12px)}.layout-frame .placed-item.window{background:#bfe8f2;border:2px solid #2b7186;box-shadow:0 5px 12px #1730423d}.layout-frame .placed-item.awning{background:repeating-linear-gradient(135deg,#fff6cf 0 9px,#e7bd56 9px 18px);border:2px solid #b37c14;box-shadow:0 8px 16px #8e641c42}.layout-frame .placed-item.door{background:linear-gradient(135deg,#eef1f2,#aeb9bd);border:2px solid #536a73}.layout-frame .placed-item.freshTank{background:linear-gradient(135deg,#eef9ff,#8eb9cf);border-color:#1687d9}.layout-frame .placed-item.grayTank{background:linear-gradient(135deg,#f3f4f4,#9aa5aa);border-color:#657780}.layout-frame .placed-item.window strong,.layout-frame .placed-item.awning strong,.layout-frame .placed-item.door strong{color:#fff;letter-spacing:.02em;background:#173042e8;font-size:clamp(7px,.78vw,10px)}.generator-visual{background:linear-gradient(135deg,#202b30,#69787e 48%,#182126);place-content:center;padding:5px}.generator-visual em{aspect-ratio:1;background:#293b42;border:2px solid #b6c3c7;border-radius:50%;width:18%;position:absolute;top:10%;left:8%}.generator-visual i{color:#eff4f5;font:900 clamp(5px, .7vw, 9px) var(--font-geist-sans);letter-spacing:.06em;margin:auto;font-style:normal}.generator-visual b{background:repeating-linear-gradient(90deg,#101719 0 2px,#829096 2px 4px);border:1px solid #101719;height:7px;position:absolute;bottom:4px;left:8%;right:8%}.propane-visual{background:0 0;border:0;justify-content:center;padding:4px}.propane-visual i{background:linear-gradient(90deg,#e8ebec,#9ca9ae 52%,#f4f5f5);border:2px solid #697c83;border-radius:45% 45% 36% 36%;width:42%;height:88%}.dimension{color:#294859;font:800 11px var(--font-geist-mono), monospace;pointer-events:none;position:absolute}.dimension:before,.dimension:after{content:"";background:#294859;position:absolute}.dimension span{white-space:nowrap;background:#e9eff2;padding:0 7px}.dimension-length{border-top:1px solid #294859;place-items:center;height:20px;display:grid;bottom:65px;left:85px;right:205px}.dimension-length:before,.dimension-length:after{width:1px;height:10px;top:-5px}.dimension-length:before{left:0}.dimension-length:after{right:0}.dimension-width{border-left:1px solid #294859;place-items:center;width:42px;display:grid;top:105px;bottom:120px;right:164px}.dimension-width span{rotate:-90deg}.dimension-width:before,.dimension-width:after{width:10px;height:1px;left:-5px}.dimension-width:before{top:0}.dimension-width:after{bottom:0}.vertical-frame .dimension-length{border-top:0;border-left:1px solid #294859;width:25px;height:auto;inset:85px 55px 205px auto}.vertical-frame .dimension-length span{rotate:-90deg}.vertical-frame .dimension-length:before,.vertical-frame .dimension-length:after{width:10px;height:1px;left:-5px}.vertical-frame .dimension-length:before{top:0}.vertical-frame .dimension-length:after{top:auto;bottom:0;right:auto}.vertical-frame .dimension-width{border-top:1px solid #294859;border-left:0;width:auto;height:20px;inset:auto 105px 160px}.vertical-frame .dimension-width span{rotate:none}.vertical-frame .dimension-width:before,.vertical-frame .dimension-width:after{width:1px;height:10px;top:-5px}.vertical-frame .dimension-width:before{left:0}.vertical-frame .dimension-width:after{bottom:auto;left:auto;right:0}.placed-item.underlay-item{opacity:.86;filter:grayscale(.2);box-shadow:none;background:#eef5f8e8;border-color:#315b73}.blueprint-mode .placed-item strong{color:#153f59;white-space:normal;text-overflow:clip;background:#fff;border-radius:3px;max-width:100%;padding:2px 4px;font-size:clamp(8px,.82vw,12px);line-height:1.05;overflow:visible}.blueprint-mode .placed-item small{color:#fff;background:#154b78;border-radius:2px;padding:1px 3px;font-size:clamp(7px,.7vw,10px);font-weight:850}.placed-item.hidden-layer{display:none}.trailer-canvas.blueprint-mode{background-color:#fafdff;background-image:linear-gradient(#5d94ba32 1px,#0000 1px),linear-gradient(90deg,#5d94ba32 1px,#0000 1px),linear-gradient(#326f993b 1px,#0000 1px),linear-gradient(90deg,#326f993b 1px,#0000 1px);background-size:2.5% 2.5%,2.5% 2.5%,10% 10%,10% 10%;border-color:#154b78}.blueprint-overlay{z-index:4;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.blueprint-overlay text{fill:#553d98;font:800 2.8px var(--font-geist-mono), monospace;paint-order:stroke;stroke:#fff;stroke-width:.65px}.draft-point{fill:#fff;stroke:var(--teal);stroke-width:.7px;vector-effect:non-scaling-stroke}.siding-note{z-index:5;color:#154b78;max-width:43%;font:850 clamp(7px, .75vw, 11px) var(--font-geist-sans);pointer-events:none;background:#fafdfff0;border:1px solid #154b78;border-radius:4px;padding:4px 6px;line-height:1.15;position:absolute;top:9%;left:2%;box-shadow:0 2px 5px #17304216}.blue-mark{z-index:5;text-align:left;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:#fffef2e8;border:1.5px solid #315b73;border-radius:4px;gap:1px;max-width:34%;padding:4px 6px;display:grid;position:absolute;translate:-50% -50%;box-shadow:0 2px 5px #17304222}.blue-mark:active{cursor:grabbing}.blue-mark b{color:var(--teal-dark);letter-spacing:.08em;font-size:clamp(7px,.65vw,10px)}.blue-mark span{color:var(--ink);font-size:clamp(8px,.78vw,12px);font-weight:800;line-height:1.15}.blue-mark.tank{text-align:center;background:#e9f6ffde;border:2px solid #1687d9;border-radius:50%;place-content:center;min-width:24%;min-height:7%}.blue-mark.panel{background:#fff1f2e6;border:2px solid #d73a49}.blue-mark.outlet{border-color:#d73a49;border-radius:50%}.blue-mark.text{max-width:44%;box-shadow:none;background:#fffffff0;border:0;border-radius:2px;padding:1px 3px}.blue-mark.text span{font-size:clamp(9px,.9vw,13px);line-height:1.05}.blue-help{background:var(--pale-teal);color:var(--teal-dark);border-radius:11px;gap:4px;margin-bottom:12px;padding:12px;display:grid}.blue-help strong{font-size:12px}.blue-help span{color:var(--muted);font-size:10px;line-height:1.35}.blue-tools{grid-template-columns:1fr 1fr;gap:7px;display:grid}.blue-tools button{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:10px;grid-template-columns:28px 1fr;align-items:center;gap:5px;min-height:72px;padding:7px;display:grid}.blue-tools button>span:first-child{background:var(--pale-blue);width:28px;height:34px;color:var(--steel);border-radius:8px;place-items:center;font-size:19px;font-weight:900;display:grid}.blue-tools button>span:last-child{gap:2px;display:grid}.blue-tools strong{font-size:10px;line-height:1.05}.blue-tools small{color:var(--muted);font-size:8px;line-height:1.15}.blue-tools button.active{border:2px solid var(--teal);background:var(--pale-teal)}.blueprint-tool-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;scrollbar-gutter:stable;align-content:start;gap:12px;min-height:0;margin:0 -7px -8px 0;padding:0 7px 18px 0;display:grid;overflow-y:auto}.note-entry{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;gap:5px;margin-top:13px;font-size:10px;font-weight:800;display:grid}.note-entry textarea{resize:vertical;border:1px solid var(--line);width:100%;color:var(--ink);background:var(--shell);text-transform:none;letter-spacing:normal;border-radius:10px;padding:10px;font-size:12px;font-weight:550}.blue-object-section{border-top:1px solid var(--line);padding-top:12px}.blue-section-head{gap:2px;margin-bottom:8px;display:grid}.blue-section-head strong{color:var(--ink);font-size:12px}.blue-section-head span{color:var(--muted);font-size:10px;line-height:1.3}.blue-object-section .equipment-list{padding:0}.blue-presets{grid-template-columns:1fr 1fr;gap:7px;display:grid}.blue-presets button{border:1px solid var(--line);min-height:38px;color:var(--navy);cursor:pointer;background:#fff;border-radius:9px;padding:0 8px;font-size:10px;font-weight:900}.blue-presets button:hover{border-color:var(--teal);background:var(--pale-teal);color:var(--teal-dark)}.blue-line-handle{z-index:6;color:#173042;min-width:28px;min-height:28px;font:900 clamp(7px, .72vw, 10px) var(--font-geist-mono), monospace;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:#ffffffd9;border:1px solid #fff;border-radius:999px;padding:2px 5px;position:absolute;translate:-50% -50%;box-shadow:0 2px 5px #17304224}.blue-line-handle:active{cursor:grabbing}.blue-line-handle.wire,.blue-line-handle.water,.blue-line-handle.drain,.blue-line-handle.gas{color:#0000;width:18px;min-width:18px;min-height:18px;padding:0;font-size:0;overflow:hidden}.blue-line-handle.wire{background:#d73a49}.blue-line-handle.water{background:#1687d9}.blue-line-handle.drain{background:#6e7681}.blue-line-handle.gas{background:#e59b18}.blue-line-handle.dimension{color:#553d98;border-color:#6b4dbb}.blue-line-handle.arrow{color:#173042;border-color:#173042}.canvas-actions{left:50%;bottom:max(12px, env(safe-area-inset-bottom));border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:25;background:#fffc;border-radius:18px;gap:6px;max-width:calc(100% - 24px);padding:7px;display:flex;position:fixed;translate:-50%;box-shadow:0 9px 25px #17304224}.canvas-actions button{min-width:72px;min-height:48px;color:var(--steel);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:11px;padding:0 12px;font-size:12px;font-weight:800}.canvas-actions button:hover,.canvas-actions button.on{background:var(--pale-teal);color:var(--teal-dark)}.canvas-actions button:first-child{background:var(--teal);color:#fff}.canvas-actions button:disabled{opacity:.4}.selected-preview{background:var(--pale-blue);text-align:center;border-radius:12px;align-content:center;place-items:center;gap:4px;min-height:102px;margin:4px 0 16px;display:grid}.selected-preview span{color:var(--steel);font-size:37px}.selected-preview .selected-equipment-visual{width:128px;height:78px;font-size:initial;display:block;position:relative}.selected-preview .selected-equipment-visual .equipment-visual{inset:0}.selected-preview strong{font-size:12px}.item-label-entry{color:var(--muted);gap:4px;margin-bottom:12px;font-size:11px;font-weight:800;display:grid}.item-label-entry input{border:1px solid var(--line);background:var(--shell);width:100%;height:42px;color:var(--ink);border-radius:9px;outline:none;padding:0 10px;font-weight:750}.item-label-entry input:focus{border-color:var(--teal);box-shadow:0 0 0 3px #0b9c9820}.measurement-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.measurement-grid label{color:var(--muted);gap:4px;font-size:11px;font-weight:800;display:grid}.measurement-grid label span{border:1px solid var(--line);background:var(--shell);height:42px;font:600 11px var(--font-geist-mono), monospace;border-radius:9px;align-items:center;gap:4px;padding-right:8px;display:flex}.measurement-grid input{width:100%;min-width:0;height:100%;color:var(--ink);background:0 0;border:0;outline:0;padding:0 6px;font-weight:800}.item-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:14px;display:grid}.item-actions button,.new-project{border:1px solid var(--teal);min-height:45px;color:var(--teal-dark);cursor:pointer;background:#fff;border-radius:10px;font-size:12px;font-weight:800}.item-actions .locked-action{background:var(--amber);border-color:var(--amber);color:var(--navy)}.item-actions .delete{color:#a23b3b;border-color:#e7bcbc}.new-project{border-color:var(--line);width:100%;color:var(--muted);margin-top:20px}.empty-state{background:var(--shell);color:var(--muted);text-align:center;border-radius:12px;padding:24px 14px;font-size:13px;line-height:1.5}.legend{background:var(--shell);border-radius:12px;gap:10px;padding:12px;font-size:11px;font-weight:750;display:grid}.legend div{align-items:center;gap:9px;display:flex}.legend i{border-radius:2px;width:28px;height:4px}.layers{gap:6px;margin-top:14px;display:grid}.layers label{border:1px solid var(--line);cursor:pointer;border-radius:9px;align-items:center;gap:8px;min-height:41px;padding:0 10px;font-size:11px;font-weight:750;display:flex}.layers input{width:18px;height:18px;accent-color:var(--teal)}.blueprint-counts{grid-template-columns:1fr 1fr;gap:8px;margin-top:14px;display:grid}.blueprint-counts div{text-align:center;background:var(--pale-blue);border-radius:10px;padding:10px;display:grid}.blueprint-counts strong{color:var(--steel);font-size:22px}.blueprint-counts span{color:var(--muted);font-size:9px;font-weight:750}.clear-blueprint{color:#a23b3b;cursor:pointer;background:#fff;border:1px solid #e7bcbc;border-radius:10px;width:100%;min-height:45px;margin-top:14px;font-size:11px;font-weight:800}@media (width<=980px){.topbar{grid-template-columns:1fr auto}.topbar-actions{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;grid-column:1/-1;justify-content:center;justify-self:stretch;overflow-x:auto}.mode-tabs{order:3;grid-column:1/-1;justify-self:center;margin-bottom:2px}.topbar{padding-bottom:8px}.workspace{grid-template-columns:1fr}.panel{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:22px;height:min(76dvh,680px);max-height:calc(100dvh - 22px);transition:translate .2s;position:fixed;inset:auto 12px 10px;overflow-y:auto;translate:0 110%;box-shadow:0 -12px 35px #17304230}.panel.open{z-index:40;translate:0}.library{grid-template-rows:auto minmax(0,1fr);display:grid;overflow:hidden}.library:has(.search){grid-template-rows:auto auto auto minmax(0,1fr)}.library .panel-head{z-index:2;background:#fff;margin:-18px -18px 10px;padding:18px 18px 10px;position:sticky;top:0}.library .object-picker,.library .blueprint-tool-scroll{touch-action:pan-y;-webkit-overflow-scrolling:touch;min-height:0;overflow-y:auto}.builds-drawer{width:auto;max-height:min(72dvh,620px);inset:auto 12px 10px;translate:0 110%}.builds-drawer.open{translate:0}.mobile-close{display:block}.canvas-zone{min-height:calc(100dvh - 190px)}.canvas-scroll{padding:30px 20px 108px}.horizontal-frame .trailer-canvas{height:auto}}@media (width<=620px){.app-shell{height:100dvh;overflow:hidden}.topbar{gap:6px;min-height:0;padding:7px 8px}.brand-mark{width:48px;height:43px}.brand h1{font-size:16px}.brand p{display:none}.export{min-height:42px;padding:0 11px;font-size:11px}.topbar-actions{scrollbar-width:none;justify-content:flex-start;gap:6px;width:100%;padding-bottom:2px}.topbar-actions::-webkit-scrollbar{display:none}.save-action,.logout{min-height:42px;padding:0 9px;font-size:11px}.mode-tabs{width:100%}.mode-tabs button{flex:1;min-height:39px;padding:0 8px;font-size:12px}.sizebar{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;min-height:60px;padding:6px 8px;overflow-x:auto}.sizebar::-webkit-scrollbar{display:none}.size-fields{flex-wrap:nowrap;align-items:end;width:max-content}.size-fields select{min-width:92px;height:38px;font-size:13px}.size-fields .body-select{min-width:150px}.scale-readout{display:none}.workspace,.canvas-zone{min-height:0}.canvas-scroll{align-items:start;padding:44px 14px 105px}.canvas-wrap{width:100%}.drawing-frame.horizontal-frame{padding:70px 115px 85px 60px}.drawing-frame.vertical-frame{width:min(100%,390px);padding:55px 55px 118px}.drawing-ruler{height:26px;font-size:8px;top:34px;left:60px;right:115px}.vertical-frame .drawing-ruler{top:22px;left:55px;right:55px}.trailer-canvas{border-width:4px;height:min(57vh,520px)}.horizontal-frame .trailer-canvas{width:100%;height:auto;min-height:160px}.vertical-frame .trailer-canvas{width:100%;height:auto;min-height:470px}.dimension{font-size:8px}.dimension-length{bottom:42px;left:60px;right:115px}.dimension-width{width:38px;top:70px;bottom:85px;right:74px}.horizontal-frame .hitch{width:108px;height:54px;right:-108px}.vertical-frame .hitch{width:54px;height:108px;top:-108px;bottom:auto}.vehicle-cab{border-width:3px;width:98px;right:-98px}.vertical-frame .vehicle-cab{border-width:3px;width:92%;height:98px;bottom:-98px;right:4%}.body-stepvan .vehicle-cab{width:92px;right:-92px}.vertical-frame .body-stepvan .vehicle-cab{width:92%;height:92px;bottom:-92px;right:4%}.vertical-frame .dimension-length{top:55px;bottom:118px;right:22px}.vertical-frame .dimension-width{bottom:82px;left:55px;right:55px}.body-tag{padding:3px 5px;font-size:6px}.blueprint-mode .placed-item strong{font-size:clamp(7px,2.2vw,10px)}.blueprint-mode .placed-item small{font-size:clamp(6px,1.8vw,8px)}.canvas-actions{width:calc(100% - 18px);bottom:max(8px, env(safe-area-inset-bottom));scrollbar-width:none;border-radius:16px;grid-template-columns:repeat(3,minmax(0,1fr));justify-content:stretch;display:grid;overflow:visible}.canvas-actions::-webkit-scrollbar{display:none}.canvas-actions button{white-space:normal;min-width:0;min-height:46px;padding:0 6px;line-height:1.05}.canvas-actions button:first-child,.canvas-actions button:nth-child(2){min-width:0}.panel{border-radius:20px;height:min(78dvh,680px);max-height:calc(100dvh - 14px);padding:17px;bottom:6px;left:7px;right:7px}.library.panel{height:100dvh;max-height:none;padding:13px 12px max(18px, env(safe-area-inset-bottom));border-radius:0;grid-template-rows:auto minmax(0,1fr);inset:0}.library.panel:has(.search){grid-template-rows:auto auto minmax(0,1fr)}.library .panel-head{margin:-13px -12px 8px;padding:13px 12px 8px;box-shadow:0 8px 16px #17304210}.library .search{z-index:2;height:42px;position:sticky;top:61px}.library .pitman-source{display:none}.builds-drawer{bottom:6px;left:7px;right:7px}.object-picker{padding-bottom:max(16px, env(safe-area-inset-bottom));gap:10px;margin-top:8px}.blueprint-tool-scroll{padding-bottom:max(20px, env(safe-area-inset-bottom));gap:10px;margin-top:2px}.blue-help{margin-bottom:0;padding:10px}.blue-tools{grid-template-columns:1fr;gap:7px}.blue-tools button{grid-template-columns:36px 1fr;min-height:56px;padding:8px}.blue-tools button>span:first-child{width:34px;height:34px}.blue-tools strong{font-size:11px}.blue-tools small{font-size:9px}.note-entry{margin-top:0}.note-entry textarea{min-height:72px}.object-group{gap:6px}.object-group-toggle{min-height:36px;padding:0 10px;top:0}.object-group h3{font-size:12px}.object-group-toggle span{min-width:22px;height:22px}.object-group-toggle b{min-width:42px}.equipment-list{gap:7px;padding:0 0 4px}.equipment-card{grid-template-columns:48px 1fr 54px;gap:8px;min-height:60px;padding:7px}.equipment-icon{width:46px;height:42px}.equipment-card strong{font-size:12px}.equipment-card small{font-size:9px}.equipment-card b{min-height:36px;padding:0 9px;font-size:10px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}@media print{@page{size:landscape;margin:.35in}body{background:#fff}.topbar,.sizebar,.panel,.canvas-actions{display:none!important}.workspace,.canvas-zone,.canvas-scroll{background:#fff;padding:0;display:block;overflow:visible}.canvas-wrap{width:100%;max-width:none}.print-heading{display:flex}.drawing-frame.horizontal-frame{width:10in;margin:.1in auto 0;padding:.35in .9in .55in .35in}.drawing-frame.vertical-frame{width:6.8in;margin:.05in auto 0;padding:.25in .55in .7in}.drawing-ruler{top:.02in;left:.35in;right:.9in}.vertical-frame .drawing-ruler{top:0;left:.55in;right:.55in}.trailer-canvas{box-shadow:none;margin:0 auto;transform:none!important}.horizontal-frame .trailer-canvas{width:8.75in;height:auto;min-height:0}.vertical-frame .trailer-canvas{width:5.7in;height:auto;min-height:0}.dimension-length{bottom:.22in;left:.35in;right:.9in}.dimension-width{width:.34in;top:.35in;bottom:.55in;right:.42in}.vertical-frame .dimension-length{top:.25in;bottom:.7in;right:.18in}.vertical-frame .dimension-width{bottom:.42in;left:.55in;right:.55in}.dimension span{background:#fff}.placed-item.selected{border:1px solid #657780;outline:0;box-shadow:0 2px 5px #17304235}.trailer-canvas:not(.blueprint-mode) .trailer-label{display:none}.blueprint-mode{height:auto}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}
