:root{color:#15275d;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#f5f8ff;--background-edge:#edf3ff;--surface:#fff;--surface-subtle:#f8faff;--surface-elevated:#fcfdff;--canvas:#f5f8fe;--border:#e2e8f5;--border-muted:#e8edf6;--text-primary:#1c2b60;--text-secondary:#53617e;--muted:#8190b4;--hover:#f2f3ff;--selected:#eeedff;--accent:#5149ed;--accent-contrast:#fff;--danger:#c94d61;--warning:#876533;--success:#3c986c;--shadow:#1b356914;background:#f5f8ff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#101522;--background-edge:#151c2b;--surface:#171e2c;--surface-subtle:#121925;--surface-elevated:#20293a;--canvas:#111824;--border:#2b374b;--border-muted:#243044;--text-primary:#edf2ff;--text-secondary:#c1cbe0;--muted:#92a0bb;--hover:#222c41;--selected:#2b2853;--accent:#938cff;--accent-contrast:#101426;--danger:#e07b8b;--warning:#d8ae6a;--success:#72c7a1;--shadow:#00000057}*{box-sizing:border-box}body{background:var(--background);min-width:1080px;min-height:100vh;color:var(--text-primary);margin:0}button,input{font:inherit}button{cursor:pointer}.app-frame{background:radial-gradient(circle at 60% 0,#fff 0,#f5f8ff 55%,#edf3ff 100%);min-height:100vh;padding:22px}.app-header{background:#fffffff0;border:1px solid #e2e8f5;border-radius:12px 12px 0 0;align-items:center;gap:28px;height:68px;padding:0 18px;display:flex;box-shadow:0 10px 30px #1b35690d}.brand{color:#3754ed;white-space:nowrap;align-items:center;gap:8px;font-size:17px;font-weight:800;display:flex}.brand b{color:#1a2a62}.brand-mark{color:#fff;background:#5046ef;border-radius:8px;place-items:center;width:29px;height:29px;font-size:19px;font-weight:900;display:grid}.brand-copy{flex-direction:column;align-items:flex-start;line-height:1;display:flex}.brand-copy>span{display:block}.brand-credit{color:#8190b2;letter-spacing:.13em;text-transform:uppercase;align-items:center;gap:4px;margin-top:5px;font-style:normal;font-weight:800;line-height:1;font-size:6px!important;display:flex!important}.brand-credit i{color:#5149ed;font-size:11px;font-style:normal;font-weight:900;line-height:6px;transform:skew(-12deg)}.brand-credit b{color:#2b3d75;letter-spacing:.105em;font-size:6.5px;font-style:italic;font-weight:900}.product-navigation{flex:none;align-self:stretch;gap:4px;display:flex}.product-navigation__link{color:#68759a;white-space:nowrap;border-bottom:2px solid #0000;align-items:center;padding:0 14px;font-size:12px;text-decoration:none;display:flex}.product-navigation__link:hover{color:#4a46ee}.product-navigation__link--active{color:#4a46ee;border-bottom-color:#554dff;font-weight:700}.header-actions{white-space:nowrap;align-items:center;gap:9px;min-width:0;margin-left:auto;display:flex}.layout-selector,.icon-action,.header-button{color:#35446e;background:#fff;border:1px solid #e3e8f4;border-radius:7px;align-items:center;gap:6px;height:31px;padding:0 10px;font-size:11px;display:flex}.icon-action{justify-content:center;width:31px;padding:0}.layout-selector span{color:#aab3cc}.saved-state{color:#3c986c;font-size:10px}.saved-state:before{content:"";background:#42bf7c;border-radius:50%;width:7px;height:7px;margin-right:5px;display:inline-block}.save-button{color:#fff;background:#5149ed;border:0;border-radius:7px;align-items:center;gap:6px;height:31px;padding:0 12px;font-size:11px;font-weight:700;display:flex;box-shadow:0 4px 10px #5149ed44}.editor-body{background:#fff;border:1px solid #e2e8f5;border-top:0;border-radius:0 0 12px 12px;grid-template-columns:178px 224px minmax(520px,1fr) 248px 180px;height:calc(100vh - 112px);min-height:660px;display:grid;overflow:hidden}.project-panel{background:#f9fbff;border-right:1px solid #e6ebf5;flex-direction:column;min-width:0;padding:14px 9px;display:flex}.project-top{border-bottom:1px solid #e8edf6;padding:3px 5px 15px}.workspace-label{color:#96a1bc;letter-spacing:.08em;font-size:8px;font-weight:800}.workspace-switch{color:#2c3e70;background:0 0;border:0;align-items:center;gap:4px;padding:6px 0 0;font-size:10px;font-weight:700;display:flex}.project-title{justify-content:space-between;align-items:center;padding:15px 5px 7px;display:flex}.project-title span{color:#96a1bc;font-size:8px;font-weight:800;display:block}.project-title b{color:#2b3c6c;font-size:11px}.project-title button{color:#5951ee;background:#fff;border:1px solid #dfe5f1;border-radius:5px;place-items:center;width:24px;height:24px;display:grid}.project-list{flex-direction:column;gap:3px;display:flex}.project-item{text-align:left;color:#6f7e9d;background:0 0;border:1px solid #0000;border-radius:7px;align-items:center;gap:7px;padding:8px 6px;display:flex}.project-item span{flex:1;min-width:0}.project-item b{color:#405176;white-space:nowrap;text-overflow:ellipsis;font-size:10px;display:block;overflow:hidden}.project-item small{color:#9aa5bd;margin-top:3px;font-size:8px;display:block}.project-item--active{color:#564cf0;background:#efefff;border-color:#dedcff}.project-item--active b{color:#3c35d4}.project-library{color:#7b88a5;border-top:1px solid #e8edf6;gap:7px;margin-top:auto;padding:14px 5px 3px;display:flex}.project-library b,.project-library small{display:block}.project-library b{font-size:10px}.project-library small{margin-top:3px;font-size:8px}.side-panel{background:#fff;border-right:1px solid #e6ebf5;min-width:0}.details-panel{border-left:1px solid #e6ebf5;border-right:0}.panel-heading{padding:20px 16px 13px}.panel-heading .eyebrow{color:#8190b4;text-transform:uppercase;letter-spacing:.08em;margin:0 0 4px;font-size:10px;font-weight:700}.panel-heading h2{color:#1c2b60;letter-spacing:-.02em;margin:0;font-size:15px}.panel-heading span{color:#8c99b8;margin-top:4px;font-size:10px;display:block}.search-field{color:#8190b4;border:1px solid #dde5f4;border-radius:7px;align-items:center;gap:7px;height:34px;margin:0 14px 12px;padding:0 9px;display:flex}.search-field input{color:#2d3d6c;border:0;outline:0;width:100%;min-width:0;font-size:11px}.filter-tabs{border-bottom:1px solid #edf0f7;gap:5px;padding:0 14px 13px;display:flex}.filter-tab{color:#687598;background:#f8faff;border:1px solid #e1e6f2;border-radius:5px;padding:5px 8px;font-size:10px}.filter-tab--active{color:#fff;background:#534bf0;border-color:#534bf0}.machine-list{height:calc(100% - 136px);padding:7px;overflow:auto}.venue-machine{text-align:left;color:#213261;background:0 0;border:1px solid #0000;border-radius:8px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:6px;width:100%;padding:9px 7px;display:grid}.venue-machine:hover,.venue-machine--selected{background:#f4f5ff;border-color:#dcdcff}.machine-code{color:#564cf0;font-size:11px;font-weight:800}.machine-info{min-width:0}.machine-info strong{white-space:nowrap;text-overflow:ellipsis;font-size:11px;display:block;overflow:hidden}.machine-info small{color:#8c99b7;margin-top:3px;font-size:9px;display:block}.unplaced-dot{background:#b5c0d8;border-radius:50%;width:6px;height:6px;margin-right:2px}.placed-tag{color:#40926c;align-items:center;gap:2px;font-size:8px;display:flex}.workspace{background:#f8faff;flex-direction:column;min-width:0;display:flex;position:relative}.toolbar{z-index:2;background:#fff;border-bottom:1px solid #e9edf5;align-items:center;gap:6px;height:52px;padding:0 13px;display:flex}.tool-button{color:#637197;background:0 0;border:0;border-radius:6px;place-items:center;width:28px;height:28px;display:grid}.tool-button:hover{background:#eef1fa}.tool-button--active,.scale-button--active{color:#5149ed;background:#eeedff;border:1px solid #cfcaff}.tool-divider{background:#e4e8f2;width:1px;height:21px;margin:0 3px}.zoom-label{color:#596686;background:0 0;border:0;margin:0 2px;font-size:10px}.scale-button,.upload-button{color:#4c5a80;background:#fff;border:1px solid #e1e6f2;border-radius:6px;align-items:center;gap:5px;height:29px;margin-left:3px;padding:0 9px;font-size:10px;display:flex}.upload-button{color:#fff;background:#5149ed;border-color:#5149ed;margin-left:auto}.canvas-shell{background-color:#f5f8fe;background-image:linear-gradient(#e8edf8 1px,#0000 1px),linear-gradient(90deg,#e8edf8 1px,#0000 1px);background-size:22px 22px;flex:1;position:relative;overflow:hidden}.canvas-shell canvas{display:block}.hidden-upload{display:none}.stage--panning{cursor:grab}.canvas-empty-state{text-align:center;pointer-events:none;background:#fafcffb8;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.canvas-empty-state button{pointer-events:auto}.upload-orb{color:#554cf0;background:#f3f2ff;border:1px solid #d9ddff;border-radius:13px;place-items:center;width:46px;height:46px;display:grid}.canvas-empty-state h2{color:#243665;margin:13px 0 5px;font-size:16px}.canvas-empty-state p{color:#7583a4;margin:0;font-size:11px}.empty-upload{color:#fff;background:#5149ed;border:0;border-radius:7px;align-items:center;gap:6px;margin-top:14px;padding:8px 12px;font-size:11px;font-weight:700;display:flex}.calibration-hint,.scale-readout,.canvas-feedback{color:#4b44da;background:#fff;border:1px solid #dedcff;border-radius:7px;padding:8px 11px;font-size:10px;position:absolute;top:14px;left:50%;transform:translate(-50%);box-shadow:0 4px 18px #25376f15}.scale-readout{color:#3c906a;border-color:#d8eee3;left:auto;right:12px;transform:none}.canvas-feedback{color:#33446f;border-color:#dfe5f2;top:auto;bottom:14px}.scale-dialog{background:#fff;border:1px solid #dce3f2;border-radius:10px;width:260px;padding:17px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 16px 42px #263a7450}.scale-dialog h3{margin:0;font-size:14px}.scale-dialog p{color:#7c89a6;margin:6px 0 13px;font-size:10px}.scale-dialog label{border:1px solid #dce3f2;border-radius:6px;align-items:center;height:35px;display:flex;overflow:hidden}.scale-dialog input{border:0;outline:0;width:100%;min-width:0;padding:0 9px;font-size:12px}.scale-dialog label span{color:#7f8daa;border-left:1px solid #e6ebf4;padding:0 9px;font-size:10px}.scale-dialog>div{justify-content:flex-end;gap:7px;margin-top:14px;display:flex}.scale-dialog>div button{color:#657395;background:0 0;border:0;border-radius:6px;height:28px;padding:0 8px;font-size:10px}.scale-dialog>div .primary-action{color:#fff;background:#5149ed}.status-bar{color:#7e8ba8;background:#fff;border-top:1px solid #e6ebf5;align-items:center;gap:8px;height:32px;padding:0 14px;font-size:9px;display:flex}.status-version{color:#a0aac1;margin-left:auto}.right-tabs{border-bottom:1px solid #e9edf5;gap:5px;height:52px;padding:10px;display:flex}.right-tab{color:#7180a1;background:#f4f6fb;border:0;border-radius:6px;flex:1;font-size:10px;font-weight:700}.right-tab--active{color:#fff;background:#5149ed;box-shadow:0 3px 8px #5149ed33}.details-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:calc(100% - 52px);padding:20px;display:flex}.empty-icon{color:#554cf0;background:#f1f3ff;border-radius:11px;place-items:center;width:39px;height:39px;display:grid}.details-empty h2{margin:12px 0 5px;font-size:13px}.details-empty p{color:#7c89a6;margin:0;font-size:10px;line-height:1.5}.details-empty span,.phase-note{color:#9ba6bf;margin-top:12px;font-size:9px}.detail-drawer{padding:14px;position:relative}.close-drawer{color:#7b89a7;background:0 0;border:0;position:absolute;top:11px;right:11px}.detail-code{color:#554cf0;margin:2px 0 9px;font-size:11px;font-weight:800}.machine-card{background:#fcfdff;border:1px solid #dfe4f3;border-radius:8px;gap:10px;padding:8px;display:flex}.machine-card img{object-fit:cover;object-position:center;border-radius:5px;width:54px;height:66px}.machine-card div{flex-direction:column;justify-content:center;gap:3px;display:flex}.machine-card b{color:#534bf0;font-size:10px}.machine-card strong{font-size:11px}.machine-card span{color:#8591ae;font-size:9px}.detail-drawer dl{margin:15px 0}.detail-drawer dl div{border-bottom:1px solid #edf0f6;justify-content:space-between;padding:8px 0;display:flex}.detail-drawer dt{color:#8894af;font-size:10px}.detail-drawer dd{color:#33446f;margin:0;font-size:10px;font-weight:700}.status-pill{color:#7e8da9;background:#eef1f7;border-radius:9px;padding:3px 6px}.drawer-actions{gap:7px;display:flex}.drawer-actions button{border-radius:6px;justify-content:center;align-items:center;gap:4px;height:30px;font-size:10px;font-weight:700;display:flex}.secondary-action{color:#506080;background:#fff;border:1px solid #dfe5f1;flex:1}.primary-action{color:#fff;background:#5149ed;border:0;flex:1}.phase-note{line-height:1.4}.mode-rail{background:#f8faff;border-left:1px solid #e7ecf6;flex-direction:column;gap:14px;padding:14px;display:flex}.mode-card,.mode-explainer{background:#fff;border:1px solid #d8e0f5;border-radius:9px;padding:12px}.mode-card{justify-content:space-between;align-items:center;display:flex}.mode-card b{font-size:11px;display:block}.mode-card span{color:#8390ad;margin-top:3px;font-size:9px;display:block}.switch{background:#c6cfdf;border:0;border-radius:999px;width:35px;height:20px;padding:2px}.switch i{background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s;display:block}.switch--on{background:#554cf0}.switch--on i{transform:translate(15px)}.mode-explainer{color:#627094;margin-top:6px}.mode-explainer svg{color:#554cf0}.mode-explainer h3{color:#253666;margin:8px 0 5px;font-size:11px}.mode-explainer p{margin:0;font-size:10px;line-height:1.55}.mode-explainer span{color:#554cf0;margin-top:9px;font-size:9px;display:block}.rail-foot{color:#7a87a5;align-items:center;gap:5px;margin-top:auto;font-size:9px;display:flex}@media (max-width:1450px){.editor-body{grid-template-columns:178px 220px minmax(520px,1fr) 230px}.mode-rail{display:none}.app-frame{padding:12px}.app-header{gap:16px}.product-navigation__link{padding:0 10px}.layout-context{text-overflow:ellipsis;overflow:hidden}}@media (max-width:900px){body{min-width:320px}.app-frame{padding:0}.app-header{border-radius:0}.editor-body{height:calc(100vh - 68px);min-height:0;display:block}.library-panel,.details-panel,.project-panel{display:none}.workspace{height:100%}.header-actions .layout-selector,.header-actions .header-button,.header-actions .saved-state,.product-navigation{display:none}.app-header{gap:8px}.header-actions{gap:5px}}.map-ruler{color:#415176;pointer-events:none;height:23px;font-size:9px;position:absolute;bottom:18px;left:20px}.map-ruler div{border-bottom:2px solid #415176;border-left:2px solid #415176;border-right:2px solid #415176;height:7px}.map-ruler span{position:absolute;top:10px;left:-2px}.map-ruler b{white-space:nowrap;font-size:9px;position:absolute;top:10px;transform:translate(-50%)}.machine-visual-panel{flex-direction:column;height:calc(100% - 52px);min-height:0;display:flex}.visual-heading{border-bottom:1px solid #edf0f6;justify-content:space-between;align-items:center;padding:12px;display:flex}.visual-heading b,.visual-heading small{display:block}.visual-heading b{font-size:11px}.visual-heading small{color:#8b97b3;margin-top:3px;font-size:9px}.grid-choice{border:1px solid #e1e6f2;border-radius:6px;gap:2px;padding:2px;display:flex}.grid-choice button{color:#7d89a4;background:0 0;border:0;border-radius:4px;place-items:center;width:22px;height:22px;display:grid}.grid-choice button.active{color:#fff;background:#5149ed}.visual-grid{align-content:start;gap:8px;padding:10px;display:grid;overflow-y:auto}.visual-grid--1{grid-template-columns:1fr}.visual-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.visual-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.visual-card{text-align:left;color:#33446f;will-change:transform;background:#fff;border:1px solid #e0e5f1;border-radius:7px;min-width:0;padding:5px;transition:transform .15s ease-out,box-shadow .15s ease-out,border-color .15s ease-out}.visual-card--hovered{z-index:2;background:#f8f7ff;border-color:#716af0;position:relative;transform:scale(1.04);box-shadow:0 5px 14px #3d499526}.visual-card--selected{background:#f6f6ff;border-color:#5951ef;box-shadow:0 0 0 2px #5149ed26}.visual-card img{aspect-ratio:1;object-fit:cover;background:#f2f4f9;border-radius:4px;width:100%}.visual-card span{padding:5px 1px 1px;display:block}.visual-card b,.visual-card small,.visual-card em{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.visual-card b{color:#5149ed;font-size:9px}.visual-card small{color:#394a75;margin-top:2px;font-size:9px}.visual-card em{color:#8c98b4;margin-top:2px;font-size:8px;font-style:normal}.workspace-row{justify-content:space-between;align-items:center;display:flex}.collapse-workspace{color:#5966a0;background:#fff;border:1px solid #e2e7f2;border-radius:6px;place-items:center;width:25px;height:25px;display:grid}.collapse-workspace:hover{color:#5149ed;border-color:#cbc8ff}.project-panel--collapsed{width:52px;padding:10px 7px}.project-panel--collapsed .workspace-label,.project-panel--collapsed .workspace-switch span,.project-panel--collapsed .workspace-switch svg,.project-panel--collapsed .project-title div,.project-panel--collapsed .project-title button,.project-panel--collapsed .project-item span,.project-panel--collapsed .project-item svg+span,.project-panel--collapsed .project-item>svg~svg,.project-panel--collapsed .transfer-section,.project-panel--collapsed .project-library{display:none}.project-panel--collapsed .project-top{padding:0 5px 12px}.project-panel--collapsed .workspace-row{justify-content:center}.project-panel--collapsed .project-list{gap:7px}.project-panel--collapsed .project-item{justify-content:center;width:36px;height:36px;padding:0}.project-panel--collapsed .project-item svg{width:17px;height:17px}.project-panel--collapsed .project-title{padding:0}.project-panel--collapsed .collapse-workspace{transform:rotate(180deg)}.transfer-section{border-top:1px solid #e4e9f4;margin-top:13px;padding:10px 3px 0}.transfer-section .project-title{padding:0 2px 8px}.transfer-section .project-title b{letter-spacing:.01em;font-size:10px}.transfer-section .project-title span{letter-spacing:.09em;font-size:8px}.transfer-item{border:1px solid #0000;border-radius:7px;margin:2px 0;padding:7px 6px}.transfer-item:hover{background:#f2f4ff;border-color:#e0dfff}.transfer-item b{font-size:10px;font-weight:700}.transfer-item small{color:#8996b2;font-size:8px}.buffer-panel{color:#53617e;background:#fff;border:1px solid #dfe3f2;border-radius:8px;margin:7px 2px 0;padding:9px;font-size:9px}.buffer-panel>b{white-space:nowrap;text-overflow:ellipsis;color:#33446f;max-width:92px;font-size:10px;display:inline-block;overflow:hidden}.buffer-panel>button{color:#68769b;background:0 0;border:0;padding:3px}.buffer-panel label{border-top:1px solid #eff1f6;padding:6px 0;font-size:9px;display:block}.buffer-panel label small{color:#8d99b4;margin-top:2px;margin-left:17px;font-size:8px;display:block}.buffer-panel>button:last-child,.buffer-panel>button:nth-last-child(2){color:#5149ed;margin-right:8px;padding:5px 0;font-size:9px}.machine-main{width:100%;color:inherit;text-align:left;background:0 0;border:0;grid-template-columns:14px 34px minmax(0,1fr) auto;align-items:center;gap:5px;padding:0;display:grid}.inline-dimensions{gap:4px;padding:6px 0 0 19px;display:flex}.inline-dimensions label,.dimension-editor label{color:#7886a5;font-size:9px}.inline-dimensions input,.dimension-editor input{color:#33446f;border:1px solid #dce3f1;border-radius:4px;width:47px;padding:3px;font-size:9px}.dimension-editor{border-top:1px solid #edf0f6;margin-top:13px;padding-top:11px}.dimension-editor>b{margin-bottom:7px;font-size:10px;display:block}.dimension-editor label{justify-content:space-between;align-items:center;margin-top:5px;display:flex}.dimension-editor label input{width:65px;margin-left:auto}.dimension-editor label span{width:22px;margin-left:4px}.dimension-editor small{color:#7c89a6;margin:8px 0;font-size:9px;display:block}.dimension-editor button{color:#5149ed;background:0 0;border:0;padding:0;font-size:9px;font-weight:700}.machine-image-fallback{color:#8290ad;text-align:center;background:#f0f3fa;border-radius:5px;flex:none;place-items:center;width:54px;height:66px;font-size:9px;display:grid}.machine-card .machine-image-fallback{color:#8290ad}.project-panel{position:relative}.workspace-resizer{z-index:20;cursor:col-resize;width:10px;height:100%;position:absolute;top:0;right:-5px}.workspace-resizer:after{content:"";background:0 0;width:2px;position:absolute;top:0;bottom:0;left:4px}.workspace-resizer:hover:after,.workspace-resizer:active:after{background:#5149ed}.workspace{container:workspace/inline-size}.toolbar{min-width:0;overflow:hidden}.toolbar>.tool-button,.toolbar>.tool-divider,.toolbar>.zoom-label,.toolbar>.scale-button,.toolbar>.upload-button{flex-shrink:0}@container workspace (max-width:900px){.toolbar{gap:3px;padding:0 7px}.toolbar .scale-button,.toolbar .upload-button{justify-content:center;gap:0;width:32px;padding:0;font-size:0}.toolbar .scale-button svg,.toolbar .upload-button svg{width:15px;height:15px}.toolbar .upload-button{margin-left:auto}.toolbar .zoom-label{margin:0;font-size:9px}.toolbar .tool-divider{margin:0 1px}}@media (max-width:1450px) and (min-width:901px){.editor-body{grid-template-columns:var(--workspace-width,218px) minmax(180px,220px) minmax(360px,1fr) minmax(210px,248px);overflow:hidden}.editor-body.editor-body--panels-hidden{grid-template-columns:minmax(620px,1fr)!important}.editor-body:not(.editor-body--panels-hidden):has(.project-panel--collapsed){grid-template-columns:52px minmax(180px,220px) minmax(360px,1fr) minmax(210px,248px)!important}.editor-body:not(.editor-body--panels-hidden):has(.project-panel--collapsed)>.mode-rail{display:none}}.visual-empty{text-align:center;color:#7c89a6;flex:1;place-items:center;min-height:0;padding:24px;font-size:11px;line-height:1.5;display:grid}.machine-code{order:initial;color:#7d89a8!important;font-size:9px!important;font-weight:700!important}.machine-info{order:initial}.machine-info strong{color:#253866;font-size:11px}.machine-code-editor{padding:7px 0 0 19px;display:flex}.machine-code-editor label{color:#7886a5;align-items:center;gap:5px;font-size:9px;display:flex}.machine-code-editor input{color:#33446f;border:1px solid #dce3f1;border-radius:4px;width:86px;padding:4px 6px;font-size:10px}.selectable-machine{min-width:0}.venue-machine{grid-template-columns:minmax(0,1fr);gap:5px;display:grid;position:relative}.venue-machine>.machine-main{grid-column:1/-1;width:100%;min-width:0}.venue-machine>.machine-code-editor,.venue-machine>.inline-dimensions,.venue-machine>.catalog-edit-button,.venue-machine>.catalog-appearance-button{grid-column:1/-1;margin-left:19px}.venue-machine>.catalog-edit-button,.venue-machine>.catalog-appearance-button{text-align:left;margin-top:2px}.venue-machine>.row-overflow-button{float:none;z-index:2;position:absolute;top:7px;right:5px}.venue-machine>.machine-details-toggle{color:#5149ed;text-align:left;background:#fff;border:1px solid #dce3f1;border-radius:6px;grid-column:1/-1;margin-left:19px;padding:6px 9px;font-size:10px}.venue-machine>.machine-details-toggle:hover{background:#f5f4ff;border-color:#c9c5ff}.library-panel{position:relative}.library-resizer{z-index:20;cursor:col-resize;width:10px;height:100%;position:absolute;top:0;right:-5px}.library-resizer:after{content:"";background:0 0;width:2px;position:absolute;top:0;bottom:0;left:4px}.library-resizer:hover:after,.library-resizer:active:after{background:#5149ed}.selectable-machine>.machine-type-editor{display:none}@media (max-width:1450px) and (min-width:901px){.editor-body:not(.editor-body--panels-hidden){grid-template-columns:var(--workspace-width,218px) var(--library-width,280px) minmax(360px,1fr) minmax(210px,248px)!important}.editor-body:not(.editor-body--panels-hidden):has(.project-panel--collapsed){grid-template-columns:52px var(--library-width,280px) minmax(360px,1fr) minmax(210px,248px)!important}}.project-list{gap:8px}.venue-section{border:1px solid #0000;border-radius:8px;padding:3px 0;transition:background .15s,border-color .15s}.venue-section>span{color:#8d99b4;letter-spacing:.1em;padding:3px 6px 5px;font-size:8px;font-weight:800;display:block}.venue-section>small{color:#a1abc1;padding:4px 6px 5px;font-size:8px;font-style:italic;display:block}.venue-section--drop-target{background:#f1f1ff;border-color:#cfcaff}.venue-delete-link{color:#d15165;text-align:center;background:0 0;border:0;width:100%;margin-top:10px;font-size:10px}html[data-theme=dark] .venue-machine .machine-info strong{color:#f3f6ff;text-shadow:0 0 7px #9d9aff47}html[data-theme=dark] .venue-machine .machine-info small{color:#c0cbe0}html[data-theme=dark] .venue-machine .machine-code{text-shadow:0 0 6px #938cff3d;color:#c7c3ff!important}html[data-theme=dark] .venue-machine .placed-tag{color:#78d8ac;text-shadow:0 0 7px #46c18533}html[data-theme=dark] .venue-machine .unplaced-dot{background:#aab8d3}html[data-theme=dark] .canvas-shell:after{content:"";z-index:1;pointer-events:none;background:#0408102e;position:absolute;inset:0}.devlog-app{background:radial-gradient(circle at 60% 0,#fff 0,#f5f8ff 55%,#edf3ff 100%);min-height:100vh;padding:22px}.devlog-shell{background:#fff;border:1px solid #e2e8f5;border-top:0;border-radius:0 0 12px 12px;min-height:calc(100vh - 112px);overflow:hidden}.devlog-hero{background:linear-gradient(118deg,#f4f5ff,#fbfcff 58%,#eef4ff);border-bottom:1px solid #e3e8f4;padding:40px 54px 34px}.devlog-hero>p{color:#5a52e9;letter-spacing:.14em;margin:0;font-size:10px;font-weight:800}.devlog-hero h1{color:#1c2b60;letter-spacing:-.04em;margin:8px 0;font-size:30px}.devlog-hero>span{color:#7180a1;max-width:620px;font-size:12px;line-height:1.55;display:block}.devlog-summary{color:#74829f;align-items:baseline;gap:7px;margin-top:22px;font-size:10px;display:flex}.devlog-summary b{color:#5149ed;font-size:13px}.devlog-summary span{margin-right:14px}.devlog-timeline{max-width:940px;margin:0 auto;padding:30px 42px 48px}.devlog-entry{grid-template-columns:112px 20px minmax(0,1fr);gap:13px;padding-bottom:17px;display:grid;position:relative}.devlog-entry:last-child{padding-bottom:0}.devlog-entry:not(:last-child):after{content:"";background:#e2e7f3;width:1px;position:absolute;top:19px;bottom:-2px;left:121px}.devlog-entry time{color:#7c89a6;text-align:right;padding-top:5px;font-size:10px;font-weight:700}.devlog-marker{z-index:1;background:#665ded;border:2px solid #fff;border-radius:50%;width:10px;height:10px;margin-top:6px;position:relative;box-shadow:0 0 0 2px #cecbff}.devlog-card{background:#fff;border:1px solid #e2e7f3;border-radius:10px;padding:14px 16px;box-shadow:0 5px 18px #2234680a}.devlog-card>div{align-items:center;gap:8px;display:flex}.devlog-kind{color:#5149ed;letter-spacing:.06em;text-transform:uppercase;background:#eeedff;border-radius:999px;padding:3px 7px;font-size:8px;font-weight:800}.devlog-kind--fix{color:#338360;background:#e8f7ef}.devlog-kind--platform{color:#396ca9;background:#e9f3ff}.devlog-kind--design{color:#9b6a1f;background:#fff1db}.devlog-card code{color:#8b97b2;font-size:9px}.devlog-card h2{color:#263764;margin:8px 0 4px;font-size:14px}.devlog-card p{color:#6e7d9c;margin:0;font-size:11px;line-height:1.55}html[data-theme=dark] .devlog-app{background:radial-gradient(circle at 60% 0%,#1c2638 0,var(--background) 58%,var(--background-edge) 100%)}html[data-theme=dark] .devlog-shell,html[data-theme=dark] .devlog-card{background:var(--surface);border-color:var(--border)}html[data-theme=dark] .devlog-hero{border-color:var(--border);background:linear-gradient(118deg,#20283b,#171e2c 58%,#1a2639)}html[data-theme=dark] .devlog-hero h1,html[data-theme=dark] .devlog-card h2{color:var(--text-primary)}html[data-theme=dark] .devlog-hero>span,html[data-theme=dark] .devlog-summary,html[data-theme=dark] .devlog-card p,html[data-theme=dark] .devlog-card code,html[data-theme=dark] .devlog-entry time{color:var(--muted)}html[data-theme=dark] .devlog-entry:not(:last-child):after{background:var(--border)}html[data-theme=dark] .devlog-marker{border-color:var(--surface);box-shadow:0 0 0 2px #4f4a97}html[data-theme=dark] .devlog-card{box-shadow:0 8px 22px var(--shadow)}@media (max-width:900px){.devlog-app{padding:0}.devlog-shell{border-radius:0}.devlog-hero{padding:28px 24px}.devlog-timeline{padding:24px 18px}.devlog-entry{grid-template-columns:84px 16px minmax(0,1fr);gap:9px}.devlog-entry:not(:last-child):after{left:91px}.devlog-card{padding:12px}.devlog-card h2{font-size:13px}}html[data-theme=dark] input:not([type=checkbox]):not([type=radio]),html[data-theme=dark] select,html[data-theme=dark] textarea,html[data-theme=dark] .search-field,html[data-theme=dark] .upload-orb,html[data-theme=dark] .asset-drawer-actions button,html[data-theme=dark] .shipment-card footer select,html[data-theme=dark] .shipment-card footer button,html[data-theme=dark] .shipment-line-maker button,html[data-theme=dark] .asset-modal footer button{background:var(--surface-elevated);color:var(--text-primary);border-color:var(--border)}html[data-theme=dark] .upload-orb{color:var(--accent)}html[data-theme=dark] .app-frame,html[data-theme=dark] .asset-app{background:radial-gradient(circle at 60% 0%,#1c2638 0,var(--background) 58%,var(--background-edge) 100%)}html[data-theme=dark] .app-header,html[data-theme=dark] .editor-body,html[data-theme=dark] .asset-shell,html[data-theme=dark] .side-panel,html[data-theme=dark] .details-panel,html[data-theme=dark] .toolbar,html[data-theme=dark] .status-bar,html[data-theme=dark] .asset-content,html[data-theme=dark] .asset-drawer,html[data-theme=dark] .asset-table,html[data-theme=dark] .asset-row,html[data-theme=dark] .asset-card,html[data-theme=dark] .shipment-card,html[data-theme=dark] .full-store,html[data-theme=dark] .full-plan,html[data-theme=dark] .machine-card,html[data-theme=dark] .mode-card,html[data-theme=dark] .mode-explainer,html[data-theme=dark] .venue-dialog,html[data-theme=dark] .footprint-context-menu,html[data-theme=dark] .asset-modal{background:var(--surface);border-color:var(--border)}html[data-theme=dark] .project-panel,html[data-theme=dark] .asset-sidebar,html[data-theme=dark] .mode-rail,html[data-theme=dark] .workspace,html[data-theme=dark] .canvas-shell,html[data-theme=dark] .asset-table-head,html[data-theme=dark] .asset-image-fallback,html[data-theme=dark] .visual-image-fallback,html[data-theme=dark] .catalog-image-fallback,html[data-theme=dark] .full-plan-empty{background-color:var(--surface-subtle);border-color:var(--border)}html[data-theme=dark] .canvas-shell{background-image:linear-gradient(#273247 1px,#0000 1px),linear-gradient(90deg,#273247 1px,#0000 1px)}html[data-theme=dark] .project-top,html[data-theme=dark] .project-library,html[data-theme=dark] .filter-tabs,html[data-theme=dark] .right-tabs,html[data-theme=dark] .visual-heading,html[data-theme=dark] .asset-row,html[data-theme=dark] .asset-drawer dl>div,html[data-theme=dark] .asset-parts,html[data-theme=dark] .layout-actions,html[data-theme=dark] .asset-parts>span,html[data-theme=dark] .machine-delete-actions{border-color:var(--border-muted)}html[data-theme=dark] .app-header,html[data-theme=dark] .asset-shell,html[data-theme=dark] .editor-body{box-shadow:0 10px 30px var(--shadow)}html[data-theme=dark] .brand b,html[data-theme=dark] .brand-credit b,html[data-theme=dark] .panel-heading h2,html[data-theme=dark] .details-empty h2,html[data-theme=dark] .asset-sidebar h1,html[data-theme=dark] .asset-heading h2,html[data-theme=dark] .asset-row strong,html[data-theme=dark] .asset-drawer h2,html[data-theme=dark] .shipment-card h3,html[data-theme=dark] .venue-dialog h3,html[data-theme=dark] .footprint-context-menu strong,html[data-theme=dark] .auth-card h1{color:var(--text-primary)}html[data-theme=dark] .brand-credit,html[data-theme=dark] .product-navigation__link,html[data-theme=dark] .project-item,html[data-theme=dark] .project-item b,html[data-theme=dark] .workspace-switch,html[data-theme=dark] .panel-heading .eyebrow,html[data-theme=dark] .panel-heading span,html[data-theme=dark] .machine-info small,html[data-theme=dark] .asset-heading span,html[data-theme=dark] .asset-row,html[data-theme=dark] .asset-row small,html[data-theme=dark] .asset-drawer dt,html[data-theme=dark] .asset-note,html[data-theme=dark] .shipment-card small,html[data-theme=dark] .shipment-card>p,html[data-theme=dark] .details-empty p,html[data-theme=dark] .phase-note,html[data-theme=dark] .full-store-head span,html[data-theme=dark] .mode-explainer,html[data-theme=dark] .venue-dialog p{color:var(--muted)}html[data-theme=dark] .search-field,html[data-theme=dark] .layout-context,html[data-theme=dark] .layout-selector,html[data-theme=dark] .header-button,html[data-theme=dark] .icon-action,html[data-theme=dark] .scale-button,html[data-theme=dark] .grid-choice,html[data-theme=dark] .asset-view-toggle,html[data-theme=dark] .asset-filters input,html[data-theme=dark] .asset-filters select,html[data-theme=dark] .asset-modal input,html[data-theme=dark] .asset-modal select,html[data-theme=dark] .asset-modal textarea,html[data-theme=dark] .asset-drawer input,html[data-theme=dark] .asset-drawer select,html[data-theme=dark] .asset-drawer textarea,html[data-theme=dark] .venue-dialog input,html[data-theme=dark] .venue-dialog select,html[data-theme=dark] .footprint-context-menu,html[data-theme=dark] .full-store-head button,html[data-theme=dark] .layout-actions button{background:var(--surface-elevated);border-color:var(--border);color:var(--text-secondary)}html[data-theme=dark] input::placeholder,html[data-theme=dark] textarea::placeholder{color:#8491aa}html[data-theme=dark] .asset-row:hover,html[data-theme=dark] .asset-row--selected,html[data-theme=dark] .venue-machine:hover,html[data-theme=dark] .venue-machine--selected,html[data-theme=dark] .visual-card--hovered,html[data-theme=dark] .full-card--hovered{background:var(--hover)}html[data-theme=dark] .project-item--active,html[data-theme=dark] .right-tab--active,html[data-theme=dark] .asset-tab--active,html[data-theme=dark] .visual-card--selected,html[data-theme=dark] .full-card--selected,html[data-theme=dark] .theme-option--active{background:var(--selected);color:#d9d6ff;border-color:#6962d7}html[data-theme=dark] .visual-card,html[data-theme=dark] .full-card,html[data-theme=dark] .machine-card,html[data-theme=dark] .existing-model-card,html[data-theme=dark] .catalog-picker-preview{background:var(--surface-elevated);border-color:var(--border);color:var(--text-secondary)}html[data-theme=dark] .asset-pill--new{color:#83d1ad;background:#19372f}html[data-theme=dark] .asset-pill--used{color:#e2bd7d;background:#3b3020}html[data-theme=dark] .asset-warning{color:#ee9a77}html[data-theme=dark] .asset-muted{color:var(--muted)}html[data-theme=dark] .canvas-empty-state{background:#111824d1}html[data-theme=dark] .canvas-empty-state h2,html[data-theme=dark] .canvas-empty-state p,html[data-theme=dark] .scale-readout,html[data-theme=dark] .canvas-feedback{color:var(--text-secondary)}html[data-theme=dark] .scale-readout,html[data-theme=dark] .canvas-feedback,html[data-theme=dark] .scale-dialog{background:var(--surface-elevated);border-color:var(--border)}html[data-theme=dark] .connection-line--muted{stroke:#8796c7}html[data-theme=dark] .connection-line--hovered{stroke:#a29bff}html[data-theme=dark] .connection-line--selected{stroke:#aca7ff}.theme-control{flex:none;position:relative}.theme-trigger{border:1px solid var(--border);background:var(--surface);width:31px;height:31px;color:var(--text-secondary);border-radius:7px;place-items:center;padding:0;display:grid}.theme-trigger:hover{background:var(--hover);color:var(--accent);border-color:#a9a4ff}.theme-menu{z-index:120;border:1px solid var(--border);background:var(--surface-elevated);min-width:128px;box-shadow:0 12px 28px var(--shadow);border-radius:8px;padding:4px;display:grid;position:absolute;top:calc(100% + 7px);right:0}.theme-option{color:var(--text-secondary);text-align:left;background:0 0;border:0;border-radius:5px;align-items:center;gap:8px;padding:7px 8px;font-size:10px;display:flex}.theme-option:hover{background:var(--hover);color:var(--accent)}.theme-option--active{color:var(--accent);font-weight:800}nav a{color:#68759a;border-bottom:2px solid #0000;align-items:center;padding:0 14px;font-size:12px;text-decoration:none;display:flex}nav a:hover{color:#4a46ee}.asset-app{background:radial-gradient(circle at 60% 0,#fff 0,#f5f8ff 55%,#edf3ff 100%);min-height:100vh;padding:22px}.asset-shell{background:#fff;border:1px solid #e2e8f5;border-top:0;border-radius:0 0 12px 12px;grid-template-columns:220px minmax(700px,1fr) 320px;min-height:calc(100vh - 112px);display:grid;overflow:hidden}.asset-sidebar{background:#f9fbff;border-right:1px solid #e6ebf5;padding:20px 14px}.asset-back{color:#68779c;align-items:center;gap:5px;margin-bottom:25px;font-size:11px;text-decoration:none;display:flex}.asset-sidebar h1{color:#20325f;margin:0;font-size:20px}.asset-sidebar>p{color:#8490ad;margin:5px 0 20px;font-size:10px}.asset-tab{color:#627093;text-align:left;background:0 0;border:0;border-radius:7px;align-items:center;gap:9px;width:100%;padding:10px;font-size:11px;font-weight:700;display:flex;position:relative}.asset-tab span{color:#7887a9;place-items:center;display:grid}.asset-tab em{background:#edf0f7;border-radius:9px;margin-left:auto;padding:2px 5px;font-size:9px;font-style:normal}.asset-tab--active{color:#5048e9;background:#eeedff}.asset-tab--active span{color:#5048e9}.asset-content{min-width:0;padding:26px 30px;overflow:auto}.asset-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.asset-heading h2{color:#1c2d5c;margin:2px 0 4px;font-size:23px}.asset-heading span{color:#7a88a6;font-size:11px}.eyebrow{text-transform:uppercase;letter-spacing:.09em;color:#8693b1;margin:0;font-size:9px;font-weight:800}.asset-primary{color:#fff;background:#5149ed;border:0;border-radius:7px;justify-content:center;align-items:center;gap:6px;min-height:34px;padding:0 13px;font-size:11px;font-weight:700;display:flex}.asset-view-toggle{border:1px solid #e1e6f2;border-radius:7px;padding:2px;display:flex}.asset-view-toggle button{color:#7a87a5;background:0 0;border:0;border-radius:5px;padding:6px 9px;font-size:10px}.asset-view-toggle .active{color:#fff;background:#5149ed}.asset-filters{align-items:center;gap:8px;margin-bottom:14px;display:flex}.asset-filters input,.asset-filters select,.asset-modal input,.asset-modal select,.asset-modal textarea,.asset-drawer select,.asset-drawer textarea,.asset-drawer input{color:#33446f;min-height:33px;font:inherit;background:#fff;border:1px solid #dce3f1;border-radius:6px;outline-color:#6961ed;padding:0 9px;font-size:10px}.asset-filters input{width:250px}.asset-filters span{color:#7e8aa6;margin-left:auto;font-size:10px}.asset-table{border:1px solid #e3e8f3;border-radius:9px;overflow:hidden}.asset-table-head,.asset-row{grid-template-columns:minmax(180px,1.6fr) 80px minmax(110px,1fr) 82px 110px 92px;align-items:center;gap:10px;padding:11px 14px;display:grid}.asset-table-head{color:#8b97b1;text-transform:uppercase;letter-spacing:.07em;background:#f8faff;font-size:8px;font-weight:800}.asset-row{color:#435276;text-align:left;background:#fff;border:0;border-top:1px solid #eef1f6;width:100%;font-size:10px}.asset-row:hover,.asset-row--selected{background:#f5f4ff}.asset-row strong,.asset-row small{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.asset-row strong{color:#283965;font-size:11px}.asset-row small{color:#8a97b2;margin-top:3px;font-size:9px}.asset-row>b,.asset-code{color:#5149ed;font-size:10px}.asset-pill{text-align:center;border-radius:10px;width:max-content;padding:4px 6px;font-size:9px}.asset-pill--new{color:#348666;background:#e8f7ef}.asset-pill--used{color:#876533;background:#fff4dd}.asset-muted{color:#7c88a3}.asset-warning{color:#b15a3e;font-weight:700}.asset-empty,.asset-loading{color:#7b88a5;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:9px;min-height:230px;font-size:11px;display:flex}.asset-cards{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:11px;display:grid}.asset-card{text-align:left;color:#35456e;background:#fff;border:1px solid #e0e5f1;border-radius:9px;padding:8px}.asset-card:hover{background:#fafaff;border-color:#a8a3ff}.asset-card img,.asset-image-fallback{object-fit:contain;background:#f4f6fb;border-radius:6px;width:100%;height:135px}.asset-image-fallback{color:#8793ad;place-items:center;font-size:10px;display:grid}.asset-card span{padding:8px 2px 2px;display:block}.asset-card b,.asset-card small,.asset-card em{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.asset-card b{font-size:11px}.asset-card small{color:#8793ae;margin-top:3px;font-size:9px}.asset-card em{color:#5149ed;margin-top:6px;font-size:9px;font-style:normal}.asset-drawer{background:#fff;border-left:1px solid #e4e9f3;padding:25px 19px;position:relative;overflow:auto}.asset-close{color:#7b88a4;background:0 0;border:0;padding:4px;position:absolute;top:13px;right:12px}.asset-drawer h2{color:#263763;margin:4px 24px 2px 0;font-size:16px}.asset-code{margin-bottom:14px;display:block}.asset-drawer-image{object-fit:contain;background:#f4f6fb;border-radius:8px;width:100%;height:150px}.asset-drawer dl{margin:14px 0}.asset-drawer dl>div{border-bottom:1px solid #edf0f6;justify-content:space-between;align-items:center;gap:8px;padding:8px 0;display:flex}.asset-drawer dt{color:#8591ad;font-size:10px}.asset-drawer dd{text-align:right;color:#384970;margin:0;font-size:10px;font-weight:700}.asset-drawer select{min-height:27px;font-size:9px}.asset-note{color:#7785a4;margin:13px 0;font-size:10px;display:block}.asset-note textarea{resize:vertical;width:100%;min-height:68px;margin-top:5px;padding:8px;display:block}.asset-parts{border-top:1px solid #e9edf5;padding-top:12px}.asset-parts>b{font-size:10px}.asset-parts>span{background:#f6f7fb;border-radius:5px;justify-content:space-between;align-items:center;margin-top:6px;padding:5px 7px;font-size:9px;display:flex}.asset-parts button{color:#5a51e9;background:0 0;border:0;font-size:9px}.asset-parts>div{gap:5px;margin-top:7px;display:flex}.asset-parts input{flex:1;min-width:0;min-height:28px}.asset-drawer-actions{gap:6px;margin-top:18px;display:flex}.asset-drawer-actions button{color:#5149ed;background:#fff;border:1px solid #dce3f1;border-radius:6px;flex:1;height:30px;font-size:10px}.asset-drawer-actions .danger{color:#c45161}.asset-switch{cursor:pointer;background:#cad2e1;border-radius:99px;width:32px;height:18px;padding:2px;display:inline-flex}.asset-switch input{display:none}.asset-switch i{background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .15s}.asset-switch:has(input:checked){background:#5149ed}.asset-switch:has(input:checked) i{transform:translate(14px)}.asset-error{color:#bd5162;background:#fff4f5;border:1px solid #f3cbd2;border-radius:7px;justify-content:space-between;align-items:center;margin-bottom:12px;padding:9px 11px;font-size:10px;display:flex}.asset-error button{color:inherit;background:0 0;border:0}.shipment-list{gap:10px;display:grid}.shipment-card{background:#fff;border:1px solid #e0e5f1;border-radius:9px;padding:15px}.shipment-card header{justify-content:space-between;gap:14px;display:flex}.shipment-card h3{color:#293a66;margin:3px 0;font-size:13px}.shipment-card small,.shipment-card>p{color:#8190ad;font-size:10px}.shipment-card>p{margin:10px 0;line-height:1.5}.shipment-status{color:#5149ed;background:#eeedff;border-radius:12px;height:max-content;padding:5px 8px;font-size:9px;font-weight:700}.shipment-card footer{justify-content:flex-end;gap:7px;display:flex}.shipment-card footer select,.shipment-card footer button{color:#536180;background:#fff;border:1px solid #dce3f1;border-radius:6px;min-height:30px;padding:0 8px;font-size:10px}.shipment-card footer button{color:#5149ed;align-items:center;gap:5px;display:flex}.asset-modal-backdrop{z-index:100;background:#19224458;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.asset-modal{background:#fff;border-radius:12px;width:min(600px,100%);max-height:calc(100vh - 44px);padding:25px;position:relative;overflow:auto;box-shadow:0 22px 70px #15255e55}.asset-modal h2{color:#253764;margin:0;font-size:19px}.asset-modal>p{color:#7d8aa6;margin:6px 0 17px;font-size:11px;line-height:1.45}.asset-form-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.asset-form-grid label,.asset-modal>label{color:#74829e;flex-direction:column;gap:5px;font-size:10px;display:flex}.asset-form-grid label:last-child{grid-column:1/-1}.asset-modal input,.asset-modal select{width:100%}.shipment-line-maker{grid-template-columns:minmax(0,1fr) 62px 72px;gap:6px;margin-top:12px;display:grid}.shipment-line-maker button,.asset-modal footer button{color:#5149ed;background:#fff;border:1px solid #dce3f1;border-radius:6px;font-size:10px}.shipment-lines{flex-wrap:wrap;gap:5px;min-height:20px;margin-top:10px;display:flex}.shipment-lines span{color:#5149ed;background:#f0efff;border-radius:10px;align-items:center;gap:4px;padding:4px 7px;font-size:9px;display:flex}.shipment-lines button{color:inherit;background:0 0;border:0;padding:0}.asset-modal footer{justify-content:flex-end;gap:8px;margin-top:19px;display:flex}.asset-modal footer button{height:32px;padding:0 11px}.asset-modal footer .asset-primary{color:#fff;border:0}.allocate-list{border:1px solid #e1e6f2;border-radius:7px;max-height:250px;margin-top:12px;overflow:auto}.allocate-list label{color:#63708d;border-bottom:1px solid #edf0f6;align-items:center;gap:8px;padding:9px;font-size:10px;display:flex}.allocate-list label:last-child{border-bottom:0}.allocate-list span b{color:#5149ed;width:65px;margin-right:5px;display:inline-block}.saved-state--failed{color:#c75364}.saved-state--failed:before{background:#e26a7b}@media (max-width:1100px){.asset-shell{grid-template-columns:190px minmax(560px,1fr)}.asset-drawer{z-index:50;width:310px;position:fixed;top:0;bottom:0;right:0;box-shadow:-8px 0 30px #1b285933}.asset-table-head,.asset-row{grid-template-columns:minmax(170px,1.6fr) 70px minmax(100px,1fr) 80px}.asset-table-head>:nth-child(5),.asset-table-head>:nth-child(6),.asset-row>:nth-child(5),.asset-row>:nth-child(6){display:none}}.asset-shell{overflow:visible}.asset-sidebar,.asset-drawer{overscroll-behavior:contain;align-self:start;max-height:calc(100vh - 32px);position:sticky;top:16px;overflow-y:auto}.asset-sidebar{border-bottom:1px solid #e6ebf5}.asset-drawer{border-bottom:1px solid #e4e9f3}@media (max-width:1100px){.asset-drawer{overscroll-behavior:auto;max-height:none;position:fixed;top:0;bottom:0}}.library-panel{flex-direction:column;min-height:0;display:flex}.library-panel>.panel-heading,.library-panel>.search-field,.library-panel>.machine-filters,.library-panel>.buffer-action{flex-shrink:0}.library-panel>.machine-list{flex:1;height:auto;min-height:0;overflow-y:auto}.visual-card>span{flex-direction:column;display:flex}.visual-card>span>small{color:#33446f;order:1;margin-top:2px;font-size:9px}.visual-card>span>b{color:#7d89a8;order:2;margin-top:2px;font-size:8px}.visual-card>span>em{order:3}.project-panel--collapsed .project-menu{display:none}.venue-machine>.machine-row-menu{z-index:20;background:#fff;border:1px solid #dce3f1;border-radius:8px;flex-direction:column;min-width:148px;padding:4px;display:flex;position:absolute;top:32px;right:5px;box-shadow:0 8px 22px #1d285522}.machine-row-menu button{color:#4a5a7f;font:inherit;text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:0;align-items:center;gap:6px;padding:7px 9px;font-size:11px;display:flex}.machine-row-menu button:hover{color:#5149ed;background:#f2f1ff}.machine-row-menu .machine-row-menu-danger{color:#c94d61}.editor-body{grid-template-columns:var(--workspace-width,218px) var(--library-width,280px) minmax(360px,1fr) minmax(210px,248px)}.editor-body:has(.project-panel--collapsed){grid-template-columns:52px var(--library-width,280px) minmax(360px,1fr) minmax(210px,248px)}@media (max-width:1450px) and (min-width:901px){.editor-body:not(.editor-body--panels-hidden){grid-template-columns:var(--workspace-width,218px) var(--library-width,280px) minmax(360px,1fr) minmax(210px,248px)!important}.editor-body:not(.editor-body--panels-hidden):has(.project-panel--collapsed){grid-template-columns:52px var(--library-width,280px) minmax(360px,1fr) minmax(210px,248px)!important}}.venue-icon{justify-content:center;align-items:center;width:20px;font-size:15px;line-height:1;display:inline-flex}.shipment-mode-toggle{gap:6px;margin:0 0 11px;display:flex}.shipment-mode-toggle button{color:#677593;background:#fff;border:1px solid #dce3f1;border-radius:6px;padding:7px 9px;font-size:10px}.shipment-mode-toggle button.active{color:#5149ed;background:#eeedff;border-color:#7870f2;font-weight:700}.shipment-existing-form{grid-template-columns:minmax(0,1fr) 74px;align-items:end;gap:10px;display:grid}.shipment-existing-form label{color:#74829e;flex-direction:column;gap:5px;font-size:10px;display:flex}.shipment-existing-form label:first-child,.shipment-model-preview{grid-column:1/-1}.shipment-model-preview{color:#405177;background:#fff;border:1px solid #e0e5f1;border-radius:7px;align-items:center;gap:9px;min-height:55px;padding:6px 8px;display:flex}.shipment-model-preview img,.shipment-model-preview>div{object-fit:contain;color:#8290aa;background:#f2f5fb;border-radius:4px;place-items:center;width:42px;height:42px;font-size:8px;display:grid}.shipment-model-preview b,.shipment-model-preview small{display:block}.shipment-model-preview b{font-size:10px}.shipment-model-preview small{color:#7d8aa6;margin-top:3px;font-size:9px}.shipment-modal footer{z-index:2;background:linear-gradient(#ffffffdb,#fff 32%);margin-left:-25px;margin-right:-25px;padding:14px 25px 0;position:sticky;bottom:-25px}.shipment-modal footer .asset-primary{color:#fff;background:#5149ed;min-width:142px;display:flex}.shipment-modal footer .asset-primary:disabled{opacity:.72;color:#fff;cursor:not-allowed;background:#9894c9;display:flex}.shipment-modal{width:min(720px,100%)}.shipment-machine-form{background:#f8faff;border:1px solid #dfe4f2;border-radius:9px;margin-top:14px;padding:14px}.shipment-machine-form header{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:11px;display:flex}.shipment-machine-form header b,.shipment-machine-form header small{display:block}.shipment-machine-form header b{color:#2c3d69;font-size:12px}.shipment-machine-form header small{color:#7e8ba7;margin-top:3px;font-size:9px}.shipment-machine-form header>span{color:#5149ed;white-space:nowrap;background:#eeedff;border-radius:10px;padding:4px 7px;font-size:9px;font-weight:700}.shipment-machine-form .asset-form-grid{grid-template-columns:repeat(3,1fr)}.shipment-machine-form .asset-form-grid label:first-child,.shipment-machine-form .asset-form-grid label:nth-child(2){grid-column:span 1}.shipment-machine-form .shipment-image-input{grid-column:span 2}.shipment-machine-form input[type=file]{height:auto;padding:6px;font-size:9px}.shipment-image-preview,.shipment-image-empty{color:#8390ab;background:#fff;border:1px dashed #cbd4e8;border-radius:6px;justify-content:center;align-items:center;gap:7px;min-height:54px;font-size:9px;display:flex}.shipment-image-preview img{object-fit:contain;width:45px;height:50px}.shipment-image-preview button,.shipment-add-line{color:#5149ed;background:#fff;border:1px solid #cfcaff;border-radius:6px;padding:6px 8px;font-size:10px}.shipment-add-line{align-items:center;gap:5px;margin-top:11px;font-weight:700;display:flex}.shipment-line-error{color:#bd5162;margin:9px 0 0;font-size:10px}.shipment-lines span{max-width:100%;line-height:1.35}.shipment-progress{color:#5149ed;background:#f8faff;border:1px solid #dfe4f2;border-radius:7px;align-items:center;gap:9px;margin-top:12px;padding:9px 10px;font-size:10px;display:flex}.shipment-progress b,.shipment-progress small{display:block}.shipment-progress small{color:#7d8aa6;margin-top:3px}.shipment-progress-spinner{border:2px solid #d7d5ff;border-top-color:#5149ed;border-radius:50%;flex:none;width:14px;height:14px;animation:.8s linear infinite shipment-spin}@keyframes shipment-spin{to{transform:rotate(360deg)}}.shipment-upload-failure{color:#bd5162;background:#fff4f5;border:1px solid #f1c8d0;border-radius:7px;margin-top:12px;padding:10px;font-size:10px}.shipment-upload-failure small{color:#9c6871;margin-top:3px;display:block}.shipment-upload-failure div{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.shipment-upload-failure button{color:#a74758;font:inherit;cursor:pointer;background:#fff;border:1px solid #e4aeb9;border-radius:5px;padding:5px 7px}.shipment-upload-failure button:hover{background:#ffecef}.visual-image-frame{background:#f2f4f9;border-radius:5px;justify-content:center;align-items:center;width:100%;height:clamp(96px,10vw,150px);padding:4px;display:flex;overflow:hidden}.visual-image-frame img{object-fit:contain;object-position:center;width:100%;height:100%;display:block}.visual-image-frame--trimmed img{width:100%;height:100%}.visual-card{padding:6px}.visual-card>span:not(.visual-image-frame){padding:6px 1px 1px}@media (max-width:1250px){.visual-image-frame{height:clamp(88px,9vw,124px)}}.asset-modal footer .asset-primary{color:#fff;background:#5149ed;min-width:132px;display:flex}.asset-modal footer .asset-primary:disabled{opacity:.72;color:#fff;cursor:not-allowed;background:#9894c9}.allocate-list input[type=checkbox]{accent-color:#5149ed;flex:0 0 18px;width:18px;height:18px;min-height:18px;padding:0}html[data-theme=dark] .asset-modal footer .asset-primary{color:#fff;background:#5149ed}html[data-theme=dark] .asset-modal footer .asset-primary:disabled{color:#fff;background:#7773a8}.editor-body{grid-template-rows:minmax(0,1fr)}.project-panel{min-height:0;overflow:hidden}.project-top,.project-title,.transfer-section,.project-library{flex-shrink:0}.project-list{overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#c7cfe0 transparent;flex:1;min-height:0;overflow-y:auto}.project-list::-webkit-scrollbar{width:6px}.project-list::-webkit-scrollbar-thumb{background:#c7cfe0;border-radius:6px}.venue-section{flex:none}.project-row{transition:opacity .12s;position:relative}.project-drag-handle{color:#a5afc4;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;border:0;border-radius:4px;flex:0 0 14px;place-items:center;width:14px;height:25px;margin-left:2px;padding:0;display:grid}.project-drag-handle:hover{color:#5149ed;background:#ebeaff}.project-drag-handle:focus-visible{outline-offset:1px;color:#5149ed;outline:2px solid #746bff}.project-drag-handle:active{cursor:grabbing}.project-panel--collapsed .project-drag-handle{display:none}.project-row--dragging{opacity:.42;cursor:grabbing}.project-row--drop-before:before,.project-row--drop-after:after{content:"";z-index:2;pointer-events:none;background:#5149ed;border-radius:2px;height:2px;position:absolute;left:5px;right:5px}.project-row--drop-before:before{top:-2px}.project-row--drop-after:after{bottom:-2px}.shipment-board-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:14px;display:grid}.shipment-board-tab{color:#34466f;text-align:left;cursor:pointer;background:#fff;border:1px solid #e0e5f1;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;min-width:0;padding:10px 12px;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.shipment-board-tab:hover{border-color:#b8b4ff}.shipment-board-tab--active{background:#f7f6ff;border-color:#8b84ff;box-shadow:0 2px 8px #5049ed12}.shipment-board-tab>span{min-width:0;display:block}.shipment-board-tab b,.shipment-board-tab small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.shipment-board-tab b{font-size:11px}.shipment-board-tab small{color:#8390aa;margin-top:3px;font-size:9px}.shipment-board-tab em{color:#5149ed;background:#f0efff;border-radius:50%;flex:0 0 25px;place-items:center;height:25px;font-size:10px;font-style:normal;font-weight:800;display:grid}.shipment-card-badges{flex-wrap:wrap;justify-content:flex-end;gap:5px;max-width:180px;display:flex}.shipment-stage-pill{white-space:nowrap;border-radius:12px;height:max-content;padding:5px 8px;font-size:9px;font-weight:750}.shipment-stage-pill--in_shipping{color:#5149ed;background:#eeedff}.shipment-stage-pill--arrived{color:#93651f;background:#fff3dc}.shipment-stage-pill--located{color:#287b5a;background:#e7f7ef}.shipment-unit-list{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:6px;margin:12px 0;padding:0;list-style:none;display:grid}.shipment-unit-list li{background:#f9faff;border:1px solid #edf0f6;border-radius:6px;grid-template-columns:56px minmax(0,1fr);align-items:baseline;gap:2px 7px;padding:7px 9px;display:grid}.shipment-unit-list b{color:#5149ed;grid-row:span 2;font-size:10px}.shipment-unit-list span{color:#34466f;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:700;overflow:hidden}.shipment-unit-list small{color:#8390aa;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}html[data-theme=dark] .shipment-board-tab{border-color:var(--border);background:var(--surface);color:var(--text-primary)}html[data-theme=dark] .shipment-board-tab--active{background:var(--surface-elevated);border-color:#726cff}html[data-theme=dark] .shipment-board-tab small,html[data-theme=dark] .shipment-unit-list small{color:var(--muted)}html[data-theme=dark] .shipment-board-tab em,html[data-theme=dark] .shipment-stage-pill--in_shipping{color:#c0bcff;background:#302d5c}html[data-theme=dark] .shipment-stage-pill--arrived{color:#f3ce82;background:#4a3920}html[data-theme=dark] .shipment-stage-pill--located{color:#8fe0ba;background:#173b30}html[data-theme=dark] .shipment-unit-list li{border-color:var(--border);background:var(--surface-subtle)}html[data-theme=dark] .shipment-unit-list span{color:var(--text-primary)}@media (max-width:760px){.shipment-board-tabs{grid-template-columns:1fr}.shipment-card-badges{max-width:130px}.shipment-unit-list{grid-template-columns:1fr}}
.side-panel{min-height:0}.library-panel{flex-direction:column;display:flex}.machine-list{flex:1;height:auto;min-height:0}.editor-body{position:relative}.connection-overlay,.full-connection-overlay{pointer-events:none;z-index:8;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.connection-line{vector-effect:non-scaling-stroke}.connection-line--muted{stroke:#6171ac;stroke-width:1px;opacity:.14}.connection-line--hovered{stroke:#716af0;stroke-width:1.6px;opacity:.58;filter:drop-shadow(0 1px 2px #5149ed2e)}.connection-line--selected{stroke:#5149ed;stroke-width:2px;opacity:.96;filter:drop-shadow(0 1px 2px #5149ed40)}.show-all-control{color:#7582a1;place-items:center;gap:2px;width:39px;font-size:8px;line-height:1;display:grid}.show-all-control input{accent-color:#5149ed;margin:0}.full-store{--perimeter-gap:clamp(20px,2.2vw,40px);grid-template-columns:150px minmax(420px,1fr) 150px;grid-template-rows:52px calc(52px + var(--perimeter-gap)) minmax(330px,1fr) calc(52px + var(--perimeter-gap));column-gap:var(--perimeter-gap);background:#f5f8ff;border:1px solid #e2e8f5;border-top:0;grid-template-areas:"head head head"".top.""left plan right"".bottom.";row-gap:8px;height:calc(100vh - 112px);min-height:660px;padding:10px;display:grid;position:relative;overflow:hidden}.full-store-head{z-index:10;grid-area:head;justify-content:space-between;align-items:center;padding:0 10px;display:flex;position:relative}.full-store-head b,.full-store-head span{display:block}.full-store-head b{font-size:14px}.full-store-head span{color:#8490ac;margin-top:3px;font-size:9px}.full-store-head button{color:#4c5a80;background:#fff;border:1px solid #dbe1ef;border-radius:7px;align-items:center;gap:5px;padding:7px 10px;font-size:10px;display:flex}.full-cards{z-index:9;place-content:center;gap:4px;display:flex;position:relative}.full-cards--top{flex-wrap:wrap;grid-area:top}.full-cards--bottom{flex-wrap:wrap;grid-area:bottom}.full-cards--left{grid-area:left;grid-template-columns:repeat(3,minmax(0,1fr));align-content:center;display:grid;overflow:hidden;transform:translate(clamp(20px,4vw,88px))}.full-cards--right{grid-area:right;grid-template-columns:repeat(3,minmax(0,1fr));align-content:center;display:grid;overflow:hidden;transform:translate(clamp(-88px,-4vw,-20px))}.full-cards--left .full-card,.full-cards--right .full-card{text-align:center;width:100%;height:46px;padding:2px;display:block}.full-cards--left .full-card img,.full-cards--right .full-card img,.full-cards--left .full-card>svg,.full-cards--right .full-card>svg{width:20px;height:25px;margin:auto;display:block}.full-cards--left .full-card small,.full-cards--right .full-card small{display:none}.full-card{color:#31416e;text-align:left;background:#fff;border:1px solid #dfe4f1;border-radius:5px;align-items:center;gap:3px;width:62px;height:50px;padding:3px;display:flex;overflow:hidden;box-shadow:0 2px 6px #2738680f}.full-card img,.full-card>svg{object-fit:cover;background:#f1f3f8;border-radius:3px;flex:0 0 25px;width:25px;height:42px}.full-card span{min-width:0}.full-card b,.full-card small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.full-card b{color:#5149ed;font-size:7px}.full-card small{margin-top:2px;font-size:6px}.full-card--selected{background:#f1f0ff;border-color:#5149ed;box-shadow:0 0 0 2px #5149ed2e}.full-plan{z-index:3;background:#fff;border:1px solid #d9e0ee;grid-area:plan;place-self:center;width:auto;max-width:100%;height:100%;max-height:100%;position:relative;overflow:hidden;box-shadow:0 9px 30px #1d30601f}.full-plan>img{object-fit:fill;width:100%;height:100%;position:absolute;inset:0}.full-plan-empty{color:#8c98b3;place-items:center;height:100%;font-size:11px;display:grid}.full-footprint{color:#263866;z-index:5;background:#f7f9ffd6;border:1px solid #66779f;border-radius:2px;min-width:5px;min-height:5px;padding:0;font-size:clamp(4px,.48vw,8px);font-weight:800;position:absolute;overflow:hidden;transform:translate(-50%,-50%)}.full-footprint--selected{z-index:6;background:#ecebff;border:2px solid #5149ed}.full-cards--left,.full-cards--right{overflow:visible}.full-card--hovered{z-index:7;background:#f8f7ff;border-color:#716af0;position:relative;transform:scale(1.55);box-shadow:0 10px 24px #3d49953d}.full-card--hovered img{transform:scale(1.18)}.full-card{transition:transform .2s cubic-bezier(.22,.61,.36,1),box-shadow .15s ease-out,border-color .15s ease-out}.full-card img{transition:transform .2s cubic-bezier(.22,.61,.36,1)}.full-cards--left .full-card--hovered{transform-origin:0}.full-cards--right .full-card--hovered{transform-origin:100%}.full-cards--top .full-card--hovered{transform-origin:top}.full-cards--bottom .full-card--hovered{transform-origin:bottom}.full-footprint--hovered{color:#17265b;z-index:6;background:#f0efff;border:2px solid #716af0}.full-card--selected,.full-card--hovered,.full-footprint--selected,.full-footprint--hovered{overflow:visible}.full-card--selected:after,.full-card--hovered:after,.full-footprint--selected:after,.full-footprint--hovered:after{content:attr(data-machine-name);color:#fff;letter-spacing:.01em;pointer-events:none;z-index:12;background:#202b50;border:1px solid #c9c5ff;border-radius:6px;width:max-content;max-width:180px;padding:5px 8px;font-size:9px;font-weight:700;line-height:1.2;position:absolute;bottom:calc(100% + 7px);left:50%;transform:translate(-50%);box-shadow:0 7px 18px #19264e38}.full-footprint--selected:after,.full-footprint--hovered:after{transform:translateX(-50%) rotate(calc(-1 * var(--footprint-rotation,0deg)));white-space:nowrap;font-size:8px}@media (max-width:1450px){.full-store{grid-template-columns:130px minmax(380px,1fr) 130px;height:calc(100vh - 92px)}.full-card{width:58px}}.editor-body--panels-hidden{grid-template-columns:minmax(620px,1fr)!important}.editor-body--panels-hidden>.project-panel,.editor-body--panels-hidden>.library-panel,.editor-body--panels-hidden>.details-panel,.editor-body--panels-hidden>.mode-rail,.desktop-only-message{display:none}button:disabled{cursor:not-allowed;opacity:.48;box-shadow:none}.layout-actions{border-top:1px solid #edf0f6;gap:6px;margin-top:12px;padding-top:10px;display:grid}.layout-actions small{color:#7c89a6;font-size:9px;line-height:1.45}.layout-actions button{color:#4e5d82;background:#fff;border:1px solid #dfe4f1;border-radius:6px;min-height:28px;font-size:9px;font-weight:700}.layout-actions button:hover{color:#5149ed;background:#f7f6ff;border-color:#c9c5ff}.layout-actions button.danger{color:#c14f60;border-color:#f0d9dd}.inline-dimensions{flex-wrap:wrap;row-gap:5px}.inline-dimensions label{white-space:nowrap;align-items:center;gap:3px;display:flex}.inline-dimensions input{width:44px}.placed-tag{white-space:nowrap}.machine-info small{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}@media (max-width:899px){.app-header,.editor-body,.full-store{display:none!important}.desktop-only-message{text-align:center;background:#fff;border:1px solid #e1e7f3;flex-direction:column;justify-content:center;align-items:center;gap:8px;height:calc(100vh - 24px);display:flex}.desktop-only-message b{font-size:18px}.desktop-only-message span{color:#7886a5;font-size:12px}.app-frame{padding:12px}}.layout-context{color:#35446e;background:#f8faff;border:1px solid #e3e8f4;border-radius:7px;align-items:center;gap:6px;height:31px;padding:0 10px;font-size:11px;display:flex}.layout-context span{color:#aab3cc}.saved-state--failed{color:#c24e60}.saved-state--failed:before{background:#d85f70}.venue-dialog{z-index:30;background:#fff;border:1px solid #dce3f2;border-radius:10px;width:280px;padding:17px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 18px 44px #263a7460}.venue-dialog h3{margin:0;font-size:14px}.venue-dialog p{color:#7c89a6;margin:6px 0 13px;font-size:10px}.venue-dialog input,.venue-dialog select{box-sizing:border-box;color:#33446f;background:#fff;border:1px solid #dce3f2;border-radius:6px;outline:0;width:100%;height:34px;padding:0 9px;font-size:11px}.venue-dialog>div{justify-content:flex-end;gap:7px;margin-top:14px;display:flex}.venue-dialog button{color:#657395;background:0 0;border:0;border-radius:6px;height:28px;padding:0 9px;font-size:10px}.venue-dialog .primary-action{color:#fff;background:#5149ed}.panel-heading{position:relative}.panel-heading .icon-button{color:#5149ed;background:#fff;border:1px solid #dfe4f1;border-radius:5px;place-items:center;width:25px;height:25px;display:grid;position:absolute;bottom:0;right:0}.panel-heading .icon-button:hover{background:#f4f3ff;border-color:#c9c5ff}.machine-filters{gap:8px;padding:9px 0;display:grid}.machine-filters>label{color:#7c89a6;justify-content:space-between;align-items:center;gap:8px;font-size:9px;font-weight:700;display:flex}.machine-filters select{color:#42517a;background:#fff;border:1px solid #dce3f1;border-radius:6px;min-width:122px;height:28px;padding:0 6px;font-size:9px}.machine-type-editor{color:#7785a3;align-items:center;gap:5px;padding:5px 0 0 20px;font-size:9px;display:flex}.machine-type-editor input{color:#405078;border:1px solid #dce3f1;border-radius:5px;width:112px;min-width:0;height:24px;padding:0 6px;font-size:9px}.full-footprint[draggable=true]{cursor:grab}.full-footprint[draggable=true]:active{cursor:grabbing}.existing-model-dialog{z-index:31;width:360px}.venue-dialog .existing-model-list{justify-content:stretch;gap:7px;max-height:230px;margin-top:10px;display:grid;overflow:auto}.venue-dialog .existing-model-card{text-align:left;color:#405078;background:#fff;border:1px solid #dce3f2;justify-content:flex-start;align-items:center;gap:9px;width:100%;height:auto;min-height:54px;padding:6px 8px;display:flex}.venue-dialog .existing-model-card:hover,.venue-dialog .existing-model-card--selected{background:#f5f4ff;border-color:#8f89ff}.existing-model-card img{object-fit:contain;background:#f7f9fd;border-radius:4px;width:38px;height:38px}.existing-model-card span{gap:3px;min-width:0;display:grid}.existing-model-card strong{white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.existing-model-card small{color:#7785a3;font-size:9px;line-height:1.25}.existing-model-dialog>div:last-child{justify-content:space-between}.existing-model-dialog>div:last-child button{padding:0 7px}.venue-dialog .catalog-picker-preview{background:#fafbff;border:1px solid #e3e8f4;border-radius:6px;justify-content:flex-start;align-items:center;gap:8px;margin-top:9px;padding:6px 7px;display:flex}.catalog-picker-preview img{object-fit:contain;width:34px;height:34px}.catalog-picker-preview span{gap:2px;min-width:0;display:grid}.catalog-picker-preview strong{font-size:10px}.catalog-picker-preview small{color:#7785a3;font-size:9px}.library-empty{color:#7c89a6;text-align:center;padding:22px 14px;font-size:10px;line-height:1.5}.project-row{border-radius:7px;align-items:center;display:flex}.project-row--active{background:#f0efff}.project-row .project-item{flex:1;min-width:0}.project-menu{color:#7583a4;background:0 0;border:0;border-radius:5px;width:25px;height:25px;font-size:17px;line-height:1}.project-menu:hover{color:#5149ed;background:#e5e3ff}.catalog-image-fallback{color:#7d89a5;background:#fafbff;border:1px dashed #cbd4e8;border-radius:6px;place-items:center;height:72px;font-size:10px;display:grid}.visual-image-fallback{color:#8390aa;text-align:center;background:#eef1f8;border-radius:5px;flex:none;place-items:center;width:36px;height:42px;font-size:8px;display:grid}.drop-target--active{outline-offset:-2px;outline:2px solid #5149ed;box-shadow:0 0 0 4px #5149ed24;background:#f1f0ff!important}.recently-transferred-tag{color:#5149ed;white-space:nowrap;background:#efeeff;border-radius:10px;padding:3px 5px;font-size:8px}.catalog-dialog{overscroll-behavior:contain;width:min(420px,100vw - 40px);max-height:calc(100vh - 40px);overflow-y:auto}.catalog-dialog input[type=file]{background:#fafbff;height:auto;padding:7px;font-size:10px}.catalog-dialog>img.catalog-image-preview{object-fit:contain;background:#f7f9fd;border:1px solid #e1e6f2;border-radius:7px;width:100%;height:220px;max-height:32vh;margin-top:10px;padding:7px;display:block}.catalog-dialog .catalog-image-fallback{height:100px;margin-top:10px}.catalog-dialog>p{line-height:1.45}.catalog-dialog>div:last-child{flex-wrap:wrap}.catalog-dialog>div:last-child button{white-space:nowrap}.machine-drop-target{border:1px dashed #0000;border-radius:10px;min-height:18px}.machine-drop-target--active{background:#eeedff;border-color:#5149ed}.machine-drop-guidance{color:#5149ed;padding:10px;font-weight:700}.machine-drop-guidance small{font-weight:500;display:block}.machine-group-heading{color:#7b86a8;text-transform:uppercase;letter-spacing:.08em;margin:14px 8px 6px;font-size:11px}.footprint-context-menu{z-index:1000;background:#fff;border:1px solid #d7ddf1;border-radius:10px;flex-direction:column;gap:4px;width:230px;padding:10px;display:flex;position:fixed;box-shadow:0 12px 30px #1d285522}.footprint-context-menu strong{color:#253665;padding:3px 6px;font-size:12px}.footprint-context-menu button{text-align:left;color:#253665;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:7px}.footprint-context-menu button:hover{color:#5149ed;background:#eeedff}.footprint-context-menu span{color:#7b86a8;padding:7px 6px;font-size:11px;font-weight:700}.transfer-item.drop-target--active{background:#eeedff;outline:2px solid #5149ed;box-shadow:0 0 0 4px #5149ed22}.machine-drop-target--invalid{color:#b8324b;background:#fff0f2;border-color:#d94b62}.drop-target--recommended{background:#effcf5;outline:2px solid #32b579;box-shadow:0 0 0 4px #32b57933}.catalog-edit-button{font:inherit;color:#5149ed;background:#f7f8fd;border:1px solid #d7ddf1;border-radius:6px;padding:5px 8px;font-size:11px}.catalog-appearance-button{margin-left:4px}.appearance-preview{border:2px solid;border-radius:8px;flex-direction:column;gap:4px;padding:14px;font-size:13px;display:flex}.appearance-preview small{font-size:11px}.auth-screen{background:#f5f7fd;place-items:center;min-height:100vh;display:grid}.auth-card{background:#fff;border:1px solid #dbe2f4;border-radius:16px;flex-direction:column;gap:14px;width:min(380px,100vw - 40px);padding:32px;display:flex;box-shadow:0 20px 50px #22305d18}.auth-card h1{color:#1e2b58;margin:0}.auth-card p{color:#7380a3;margin:0}.auth-card label{color:#42517b;flex-direction:column;gap:6px;font-size:13px;display:flex}.auth-card input{border:1px solid #d5ddef;border-radius:8px;padding:10px}.auth-error{color:#b8324b}.destructive-action{color:#fff!important;background:#c94d61!important;border-color:#c94d61!important}.destructive-action:hover{background:#ae3d51!important}.destructive-dialog{width:min(380px,100vw - 32px)}.destructive-dialog ul{color:#4a5a7f;margin:8px 0 12px;padding-left:20px;font-size:11px;line-height:1.7}.destructive-dialog label{color:#4a5a7f;align-items:flex-start;gap:7px;font-size:10px;line-height:1.4;display:flex}.destructive-dialog label input{width:auto;margin-top:2px}.destructive-dialog>small{color:#8994ad;margin-top:10px;font-size:9px;line-height:1.35;display:block}.row-overflow-button{float:right;color:#7d89a5;cursor:pointer;background:0 0;border:0;border-radius:5px;width:26px;height:24px;font-size:16px;line-height:1}.row-overflow-button:hover{color:#5149ed;background:#eeedff}.machine-delete-actions{color:#7180a3;background:#fafbff;border-top:1px solid #e7ebf5;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-size:10px;display:flex}.machine-delete-actions .destructive-action{border-radius:6px;height:26px;padding:0 9px;font-size:10px}.footprint-delete-trigger{z-index:1001;border-radius:6px;height:30px;padding:0 10px;font-size:10px;position:fixed;box-shadow:0 7px 20px #1d285522}

