:root{--demo-bg:#f4f7fb;--demo-surface:#fff;--demo-line:#dbe4ee;--demo-muted:#7c8a9a;--demo-text:#223045;--demo-blue:#2b7de9;--demo-blue-soft:#eaf3ff;--demo-green:#48a868;--demo-yellow:#f6c84c;--demo-danger:#df4b45;--demo-panel-shadow:0 16px 34px rgba(32,46,67,.12);--nav-height:61px;--left-rail:70px;--cargo-panel:360px;--right-panel:320px;--radius:8px;color-scheme:light}*{box-sizing:border-box}body,html{height:100%;margin:0}body{background:var(--demo-bg);color:var(--demo-text);font-family:Montserrat,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:0}button,input,select{font:inherit}a{color:inherit;text-decoration:none}.demo-top-nav{background:var(--demo-surface);border-bottom:1px solid var(--demo-line);gap:24px;height:var(--nav-height);padding:0 22px;position:-webkit-sticky;position:sticky;top:0;z-index:50}.demo-logo,.demo-top-nav{align-items:center;display:flex}.demo-logo{color:#1f9c5c;font-size:20px;font-weight:800;gap:8px;min-width:150px}.demo-nav-links{align-items:center;display:flex;gap:30px;font-size:14px;font-weight:600}.demo-nav-link{color:#566274}.demo-nav-link.active{color:var(--demo-blue)}.demo-nav-spacer{flex:1 1}.demo-avatar{background:#f1f6fd;border:1px solid var(--demo-line);border-radius:50%;color:var(--demo-blue);display:grid;justify-items:center}.demo-avatar,.icon-button{align-items:center;height:34px;width:34px}.icon-button{background:transparent;border:0;border-radius:6px;color:#5d6a7a;cursor:pointer;display:inline-flex;justify-content:center}.icon-button.active,.icon-button:hover{background:var(--demo-blue-soft);color:var(--demo-blue)}.demo-button{align-items:center;background:var(--demo-surface);border:1px solid var(--demo-line);border-radius:6px;color:var(--demo-text);cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:8px;height:38px;justify-content:center;padding:0 14px;white-space:nowrap}.demo-button:hover{border-color:#a9c4e7;color:var(--demo-blue)}.demo-button.primary{background:var(--demo-blue);border-color:var(--demo-blue);color:#fff}.demo-button.danger{background:var(--demo-danger);border-color:var(--demo-danger);color:#fff}.demo-button:disabled{cursor:not-allowed;opacity:.45}.projects-page{padding:34px 48px}.projects-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.projects-header h1{font-size:30px;font-weight:700;margin:0}.projects-toolbar{align-items:center;display:flex;gap:12px;margin-bottom:18px}.project-opening-status{align-items:center;background:hsla(0,0%,100%,.96);border:1px solid var(--demo-line);border-radius:10px;box-shadow:var(--shadow);color:#1d2a3d;display:inline-flex;font-weight:800;left:50%;padding:14px 18px;position:fixed;top:92px;transform:translateX(-50%);z-index:60}.projects-search{align-items:center;background:var(--demo-surface);border:1px solid var(--demo-line);border-radius:6px;display:flex;height:40px;max-width:320px;min-width:260px;padding:0 12px}.projects-search svg{flex:0 0 auto;margin-right:8px}.projects-search input{background:transparent;border:0;color:var(--demo-text);height:100%;outline:none;width:100%}.project-table-wrap{background:var(--demo-surface);border:1px solid var(--demo-line);border-radius:var(--radius);overflow:visible}.project-table{border-collapse:collapse;font-size:14px;width:100%}.project-table th{color:var(--demo-muted);font-size:12px;font-weight:700;height:48px;padding:0 18px;text-align:left}.project-table td{border-top:1px solid #eef2f7;height:58px;padding:0 18px}.project-table tbody tr.menu-open,.project-table tbody tr:hover{background:#eff7ff}.project-title-link{color:#2b64bd;font-weight:700}.owner-badge{align-items:center;background:#f7cb4d;border-radius:50%;color:#684b00;display:inline-flex;height:28px;justify-content:center;width:28px}.row-actions{position:relative;text-align:right}.project-menu{background:var(--demo-surface);border:1px solid var(--demo-line);border-radius:8px;box-shadow:var(--demo-panel-shadow);display:grid;grid-gap:2px;gap:2px;min-width:178px;padding:8px;position:absolute;right:18px;top:48px;z-index:30}.project-menu button{background:transparent;border:0;border-radius:6px;color:#34445a;cursor:pointer;font-size:13px;height:34px;padding:0 10px;text-align:left}.project-menu button:hover{background:var(--demo-blue-soft)}.modal-backdrop{align-items:center;background:rgba(29,40,56,.32);display:flex;inset:0;justify-content:center;position:fixed;z-index:100}.modal{background:var(--demo-surface);border-radius:8px;box-shadow:var(--demo-panel-shadow);min-width:388px;padding:26px}.modal h2{font-size:19px;margin:0 0 18px}.modal-field{display:grid;grid-gap:7px;gap:7px;margin:12px 0}.modal-field label{color:#536276;font-size:12px;font-weight:700}.modal-field input,.modal-field select{border:1px solid var(--demo-line);border-radius:6px;height:38px;padding:0 10px}.modal-error{background:#fff1f2;border:1px solid #fecdd3;border-radius:6px;color:#b4233c;font-size:12px;font-weight:700;padding:9px 10px}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:22px}.transport-scheme-modal{display:grid;grid-gap:16px;gap:16px;max-width:none;width:100%}.modal:has(.transport-scheme-modal){box-sizing:border-box;max-height:calc(100vh - 32px);overflow:auto;width:min(960px,calc(100vw - 48px))}.transport-scheme-summary{color:#34435c;display:grid;font-size:12px;grid-gap:14px 24px;gap:14px 24px;grid-template-columns:minmax(180px,.8fr) minmax(150px,.6fr) minmax(300px,1.6fr);line-height:1.45}.transport-scheme-axle-summary,.transport-scheme-dimensions,.transport-scheme-heading{display:grid;grid-gap:3px;gap:3px}.transport-scheme-summary strong{font-size:14px}.transport-scheme-dimensions{border-left:3px solid #5d6fd3;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;padding-left:10px}.transport-scheme-axle-summary{color:#5a687c}.transport-scheme-svg{background:#f9fbff;border:1px solid #d8e0e8;border-radius:6px;height:auto;min-width:0;width:100%}.scheme-axle-dimension-name,.scheme-axle-label,.scheme-body-label,.scheme-dimension-label,.scheme-note,.scheme-structure-label,.scheme-subtitle,.scheme-title,.scheme-view-label{fill:#34435c;font-family:Arial,sans-serif;font-size:12px;font-weight:700}.scheme-spec-title,.scheme-spec-value{fill:#34435c;font-family:Arial,sans-serif;font-size:11px;font-weight:700}.scheme-spec-title{fill:#5d6fd3;font-size:12px}.scheme-title{font-size:18px}.scheme-subtitle{fill:#647087;font-size:11px;font-weight:600}.scheme-view-label{fill:#5d6fd3;font-size:12px;text-transform:uppercase}.scheme-dimension-label{fill:#5d6fd3;font-size:11px;paint-order:stroke;stroke:#f9fbff;stroke-width:4px;text-anchor:middle}.scheme-body-label{font-size:13px;text-anchor:middle}.scheme-structure-label{font-size:12px;text-anchor:middle}.scheme-axle-label{fill:#26354a;font-size:9px;text-anchor:middle}.scheme-axle-dimension-name,.scheme-axle-label{paint-order:stroke;stroke:#f9fbff;stroke-width:3px}.scheme-axle-dimension-name{fill:#596983;font-size:10px;font-weight:700}.scheme-note{fill:#647087;font-size:11px;font-weight:600;text-anchor:middle}.scheme-body{fill:#fff;stroke:#202b3b;stroke-width:2}.scheme-loading-area{fill-opacity:.5;stroke:#73849a;stroke-width:1}.scheme-cab{fill:#fff;stroke:#202b3b;stroke-linejoin:round;stroke-width:2}.scheme-window{fill:#eaf4ff;stroke:#202b3b;stroke-width:1.8}.scheme-axle-line,.scheme-frame{fill:none;stroke:#202b3b;stroke-linecap:round;stroke-width:2}.scheme-wheel{fill:#eef2f6;stroke:#202b3b;stroke-width:2}.scheme-hub{fill:#e9edf3;stroke:#202b3b;stroke-width:1.6}.scheme-dimension{stroke:#5d6fd3;stroke-linecap:round;stroke-width:1.4}.scheme-guide{stroke:#9aa8d8;stroke-dasharray:4 4;stroke-width:1.1}.scheme-arrow{fill:#5d6fd3}.scheme-centerline,.scheme-detail-line,.scheme-fifth-wheel,.scheme-light-line{fill:none;stroke:#56677d;stroke-linecap:round;stroke-width:1.3}.scheme-centerline{stroke-dasharray:9 5 2 5}.scheme-grid-line{fill:none;stroke:#d5dfea;stroke-width:.7}.scheme-tank{fill:#dce4ec}.scheme-bumper,.scheme-tank{stroke:#202b3b;stroke-width:1.5}.scheme-bumper{fill:#c7d1dc}.scheme-rear-light{fill:#e34f4f;stroke:#7f2525;stroke-width:1}.workspace-page{height:calc(100vh - var(--nav-height));min-height:720px;overflow:hidden;position:relative}.workspace-canvas-layer{background:#6caee0;inset:0;left:var(--left-rail);position:absolute;z-index:1}.workspace-canvas-layer canvas{display:block}.workspace-left-rail{align-items:center;background:var(--demo-surface);border-right:1px solid var(--demo-line);display:flex;flex-direction:column;gap:18px;inset:0 auto 0 0;padding-top:22px;position:absolute;width:var(--left-rail);z-index:20}.rail-item{align-items:center;background:transparent;border:0;border-radius:7px;color:#6d7b8e;cursor:pointer;display:grid;font-size:11px;font-weight:700;grid-gap:4px;gap:4px;justify-items:center;min-height:52px;width:54px}.rail-item.active{background:var(--demo-blue-soft);color:var(--demo-blue)}.cargo-panel{background:var(--demo-surface);border-right:1px solid var(--demo-line);bottom:0;left:var(--left-rail);overflow:hidden;padding:18px 14px 82px;position:absolute;top:0;min-width:360px;width:var(--cargo-panel);z-index:19}.cargo-group-row>span:first-of-type{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-panel-toggle{align-items:center;background:hsla(0,0%,100%,.94);border:1px solid var(--demo-line);border-radius:6px;box-shadow:0 10px 24px rgba(32,46,67,.14);color:#536275;cursor:pointer;display:inline-flex;height:34px;justify-content:center;position:absolute;top:14px;width:34px;z-index:28}.workspace-panel-toggle:hover{background:var(--demo-blue-soft);color:var(--demo-blue)}.workspace-panel-toggle.left{left:calc(var(--left-rail) + var(--cargo-panel) + 10px)}.workspace-page.cargo-panel-hidden .workspace-panel-toggle.left{left:calc(var(--left-rail) + 12px)}.workspace-panel-toggle.right{right:calc(var(--right-panel) + 10px)}.workspace-page.results-panel-hidden .workspace-panel-toggle.right{right:12px}.workspace-panel-resizer{bottom:0;cursor:col-resize;position:absolute;top:0;touch-action:none;width:10px;z-index:27}.workspace-panel-resizer:after{background:transparent;bottom:0;content:"";left:4px;position:absolute;top:0;width:2px}.workspace-panel-resizer:hover:after{background:rgba(43,125,233,.42)}.workspace-panel-resizer.left{left:calc(var(--left-rail) + var(--cargo-panel) - 5px)}.workspace-panel-resizer.right{right:calc(var(--right-panel) - 5px)}.panel-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:18px}.panel-title{font-size:18px;font-weight:800}.sr-only{height:1px;margin:-1px;overflow:hidden;position:absolute;width:1px}.cargo-composition-controls{display:grid;grid-gap:6px;gap:6px;margin-bottom:14px}.cargo-composition-actions{display:grid;grid-gap:8px;gap:8px;grid-template-columns:minmax(0,1fr) auto}.cargo-composition-button{width:100%}.cargo-composition-cancel{min-width:88px}.cargo-composition-error,.cargo-composition-help{font-size:11px;line-height:1.3}.cargo-composition-help{color:#667387}.cargo-composition-error{color:#c04747}.pallet-form{display:grid;grid-gap:12px;gap:12px;min-width:min(420px,78vw)}.pallet-form label{color:#34435c;display:grid;font-size:12px;font-weight:700;grid-gap:5px;gap:5px}.pallet-form input{border:1px solid #cad6e4;border-radius:7px;color:#263449;font:500 13px/1.2 inherit;padding:9px 10px}.cargo-groups{display:grid;grid-gap:7px;gap:7px;max-height:calc(100% - 112px);min-width:0;overflow-x:hidden;overflow-y:auto;padding-right:2px}.cargo-group-section{border-bottom:1px solid #eef2f7;padding-bottom:8px}.cargo-group-list,.cargo-standalone-section{display:grid;grid-gap:8px;gap:8px}.cargo-list-heading{align-items:baseline;color:#34435c;display:flex;justify-content:space-between;padding:2px 3px 0}.cargo-list-heading strong{font-size:13px}.cargo-list-heading small{color:#77889d;font-size:11px}.cargo-group-row{align-items:center;display:grid;grid-gap:7px;gap:7px;grid-template-columns:22px minmax(0,1fr) minmax(96px,auto) 26px 18px;min-width:0;min-height:44px;padding:0 2px}.cargo-group-row.readonly{grid-template-columns:22px minmax(0,1fr) 24px}.cargo-group-title{display:grid;grid-gap:2px;gap:2px;min-width:0}.cargo-group-title strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cargo-group-title small{color:#77889d;font-size:11px}.cargo-chevron{align-items:center;background:transparent;border:0;color:#0b63be;cursor:pointer;display:inline-flex;height:24px;justify-content:center;padding:0;width:24px}.cargo-add-item{background:#fff;border:1px solid #eef3fa;border-radius:6px;box-shadow:0 8px 20px rgba(32,46,67,.08);color:#34435c;cursor:pointer;font-size:11px;font-weight:600;min-height:32px;min-width:0;padding:0 8px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.cargo-row-action{color:#ff9c9e;height:28px;width:28px}.cargo-more{color:#9aa8b8}.cargo-group-body{display:grid;grid-gap:8px;gap:8px;padding:5px 0 8px}.cargo-line-toggle,.cargo-select-all{align-items:center;color:#9aa1ad;display:flex;font-size:12px;gap:8px;line-height:1.35;min-width:0}.cargo-select-all{border-top:1px solid var(--demo-line);padding-top:8px}.cargo-fold-toggle input,.cargo-handling-row input,.cargo-item-row input[type=checkbox],.cargo-line-toggle input,.cargo-select-all input{accent-color:#8bb3e8}.cargo-item-block{background:#f8fdf8;border-radius:6px;margin-left:-2px;min-width:0;padding:6px 0}.cargo-item-block.open{background:#f7fcf7}.cargo-item-row{align-items:center;display:grid;grid-gap:7px;gap:7px;grid-template-columns:18px 22px 26px minmax(0,1fr) 28px;min-width:0;min-height:44px;padding:0 2px}.cargo-item-row.readonly{cursor:pointer;grid-template-columns:22px 26px minmax(0,1fr) 24px}.cargo-visibility-toggle{align-items:center;background:transparent;border:1px solid rgba(61,85,117,.25);border-radius:4px;color:var(--demo-text);cursor:pointer;display:flex;font-size:16px;font-weight:600;height:22px;justify-content:center;line-height:1;padding:0;width:22px}.cargo-visibility-toggle:hover{background:rgba(61,85,117,.1)}.cargo-item-block.cargo-item-hidden .cargo-item-main span,.cargo-item-block.cargo-item-hidden .cargo-item-main strong{opacity:.45}.cargo-color{border:2px solid hsla(0,0%,100%,.85);border-radius:50%;box-shadow:0 0 0 1px rgba(61,85,117,.12);height:25px;width:25px}.cargo-item-main{background:transparent;border:0;color:var(--demo-text);cursor:pointer;display:grid;font-size:12px;grid-gap:2px;gap:2px;min-width:0;padding:0;text-align:left}.cargo-item-main strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cargo-item-main span{color:#3d4b63;line-height:1.25}.cargo-item-editor{display:grid;grid-gap:10px;gap:10px;min-width:0;padding:8px 2px 4px 28px}.cargo-item-editor.readonly{color:#34435c}.cargo-shape-tabs{background:#e7f2ff;border:1px solid #cdddf1;border-radius:6px;display:grid;grid-template-columns:repeat(4,1fr);height:38px;overflow:hidden}.cargo-shape-tabs button{align-items:center;background:transparent;border:0;color:#91a0b2;display:flex;justify-content:center}.cargo-shape-tabs button.active{background:#f1f8ff;color:#8ab0e3}.shape-dot,.shape-pill,.shape-ring{border:2px solid;display:inline-block}.shape-dot{border-radius:50%;height:18px;width:18px}.shape-pill{border-radius:999px;height:14px;width:25px}.shape-ring{border-radius:50%;height:21px;width:21px}.cargo-item-editor h3{font-size:15px;margin:0}.cargo-form-grid{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(3,minmax(82px,1fr));min-width:0}.cargo-extra-fields label,.cargo-form-grid label{color:#34435c;display:grid;font-size:11px;font-weight:500;grid-gap:4px;gap:4px}.cargo-form-grid label.wide{grid-column:span 2}.cargo-extra-fields input,.cargo-form-grid input{background:#fff;border:1px solid #d5dee8;border-radius:6px;color:#38455d;height:34px;min-width:0;padding:0 8px;width:100%}.cargo-handling-row{align-items:center;display:flex;gap:10px;flex-wrap:wrap}.cargo-handling-row.readonly span{align-items:center;color:#b4bfcc;display:inline-flex}.cargo-handling-row.readonly span.enabled{color:#77889d}.cargo-handling-row label{align-items:center;color:#77889d;display:inline-flex;gap:5px}.cargo-extra-fields{display:grid;grid-gap:8px;gap:8px}.cargo-extra-fields h4{color:#8eb4e5;font-size:13px;margin:0}.cargo-fold-toggle{align-items:center;color:#8d97a7;display:flex;gap:6px}.cargo-editor-save{justify-self:start}.cargo-detail-grid{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(3,minmax(82px,1fr));margin:0;min-width:0}.cargo-detail-grid div{min-width:0}.cargo-detail-grid dt{color:#77889d;font-size:11px;font-weight:600;margin-bottom:3px}.cargo-detail-grid dd{background:#fff;border:1px solid #d5dee8;border-radius:6px;color:#38455d;font-size:12px;line-height:1.25;margin:0;min-height:34px;min-width:0;overflow:hidden;padding:8px;text-overflow:ellipsis;white-space:nowrap}.group-color{border-radius:3px;height:12px;width:12px}.cargo-import-footer{bottom:18px;left:14px;position:absolute;right:14px}.cargo-save-button{width:100%}.cargo-import-menu{background:#fff;border:1px solid #d7e2ef;border-radius:6px;bottom:48px;box-shadow:0 14px 30px rgba(32,46,67,.15);left:0;overflow:hidden;position:absolute;right:0;z-index:8}.cargo-import-menu button{align-items:center;background:#fff;border:0;color:#34435c;cursor:pointer;display:flex;font-size:13px;font-weight:700;gap:8px;min-height:38px;padding:0 12px;text-align:left;width:100%}.cargo-import-menu button:hover{background:#f1f7ff}.cargo-import-error,.cargo-import-status{font-size:11px;line-height:1.25;margin-top:8px}.cargo-import-status{color:#2f7b35}.cargo-import-error{color:#c04747}.cargo-space-panel{display:flex;flex-direction:column}.cargo-space-header{align-items:center;display:flex;gap:6px;margin-bottom:14px}.cargo-space-header .panel-title{flex:1 1}.cargo-space-link{white-space:nowrap}.cargo-space-link,.cargo-space-scheme-link{background:transparent;border:0;color:#0062c7;cursor:pointer;font-size:12px;font-weight:800;padding:0}.cargo-space-scheme-link{align-self:start;justify-self:start}.vehicle-type-tabs{background:#e8f3ff;border-radius:6px;display:grid;grid-gap:0;gap:0;grid-template-columns:repeat(4,1fr);height:38px;margin-bottom:12px;overflow:hidden}.vehicle-type-tabs button{align-items:center;background:transparent;border:0;color:#9cadbd;display:flex;justify-content:center}.vehicle-type-tabs button.active{background:#f3f9ff;color:#4d9aeb}.vehicle-tab-icon{border:2px solid;display:block;height:15px;position:relative;width:34px}.vehicle-tab-icon:after,.vehicle-tab-icon:before{background:currentColor;border-radius:50%;bottom:-6px;content:"";height:5px;position:absolute;width:5px}.vehicle-tab-icon:before{left:3px}.vehicle-tab-icon:after{right:3px}.vehicle-tab-icon.container:after,.vehicle-tab-icon.container:before,.vehicle-tab-icon.platform:after,.vehicle-tab-icon.platform:before{display:none}.vehicle-tab-icon.platform{border-top:0;height:18px}.cargo-space-scroll{display:grid;grid-gap:14px;gap:14px;min-height:0;overflow-x:hidden;overflow-y:auto;padding:0 2px 76px 0}.cargo-space-section{display:grid;grid-gap:10px;gap:10px}.cargo-space-section-title{align-items:center;display:flex;gap:12px;justify-content:space-between}.cargo-space-section-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.cargo-space-section-title span,.cargo-space-subpage-title{color:#334158;font-size:17px;font-weight:500}.cargo-space-section-title button{background:transparent;border:0;color:#0062c7;cursor:pointer;font-size:12px;font-weight:800;white-space:nowrap}.cargo-space-grid input,.cargo-space-grid select,.cargo-space-select select{background:#f9fafb;border:1px solid #d8e0e8;border-radius:6px;color:#89919c;height:30px;min-width:0;padding:0 10px;width:100%}.cargo-space-grid{display:grid;align-items:end;grid-gap:8px;gap:8px;min-width:0}.cargo-space-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.cargo-space-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.cargo-space-grid.one{grid-template-columns:minmax(0,1fr)}.cargo-space-grid label{color:#536176;display:grid;font-size:11px;font-weight:500;grid-gap:4px;gap:4px;line-height:1.2;min-width:0}.cargo-space-field.invalid{color:var(--demo-danger)}.cargo-space-field.invalid input{border-color:var(--demo-danger);border-bottom-color:var(--demo-danger);box-shadow:0 0 0 1px rgba(223,75,69,.16),inset 0 -2px 0 rgba(223,75,69,.42)}.axle-position-error{color:var(--demo-danger);font-size:10px;font-weight:600;line-height:1.25}.cargo-space-collapse{align-items:center;background:transparent;border:0;color:#34435c;cursor:pointer;display:inline-flex;font-size:12px;font-weight:800;gap:8px;justify-self:start;padding:0}.axle-fields{display:grid;grid-gap:7px;gap:7px}.axle-fields strong{color:#34435c;font-size:12px}.cargo-template-list,.cargo-template-row{display:grid;grid-gap:8px;gap:8px}.cargo-template-row{grid-template-columns:minmax(0,1fr) 34px}.cargo-template-row button:first-child{background:#fff;border:1px solid #d8e0e8;border-radius:6px;color:#34435c;cursor:pointer;display:grid;grid-gap:4px;gap:4px;min-height:48px;padding:8px 10px;text-align:left}.cargo-template-delete{align-items:center;background:#fff;border:1px solid #f1cfd2;border-radius:6px;color:var(--demo-danger);cursor:pointer;display:flex;justify-content:center;min-height:48px}.cargo-template-list span{color:#7c8a9a;font-size:11px}.right-panel{background:hsla(0,0%,100%,.96);border-left:1px solid var(--demo-line);bottom:0;overflow-x:hidden;overflow-y:auto;padding:18px 18px 22px;position:absolute;right:0;top:0;min-width:320px;width:var(--right-panel);z-index:20}.project-summary{border-bottom:1px solid var(--demo-line);padding-bottom:14px}.transport-label{color:var(--demo-blue);font-size:12px;font-weight:800;margin-bottom:10px}.project-label{color:var(--demo-muted);font-size:12px;font-weight:700}.project-value{font-size:14px;font-weight:800;margin-top:4px;overflow-wrap:anywhere}.tab-icons{display:flex;gap:8px;margin:14px 0 4px}.results-panel h2{font-size:18px;margin:0}.results-panel-header{align-items:center;display:flex;gap:10px;justify-content:space-between;margin:16px 0 10px}.recalculate-button{flex:0 0 auto;height:32px;padding:0 10px}.recalculation-error{color:var(--demo-danger)}.recalculation-error,.recalculation-stale{font-size:12px;font-weight:800;margin:6px 0}.recalculation-stale{background:#fff4db;border:1px solid #f1cf8c;border-radius:6px;color:#8a5a07;padding:6px 8px}.metric-block{border-bottom:1px solid #eef2f7;padding:11px 0}.metric-title{color:#5b6879;font-size:12px;font-weight:800;margin-bottom:6px}.metric-value{font-size:14px;font-weight:800}.metric-row.warning,.metric-value.warning{color:#b45309}.metric-row.danger,.metric-value.danger{color:var(--demo-danger)}.metric-row{display:flex;font-size:13px;gap:12px;justify-content:space-between;line-height:1.8}.metric-row span{min-width:0}.metric-row span:last-child{font-weight:700;overflow-wrap:anywhere;text-align:right}.metric-note{color:#65758a;font-size:11px;line-height:1.35;margin:-4px 0 6px}.calculation-panel{display:flex;flex-direction:column}.calculation-header{align-items:center;border-bottom:1px solid #e6edf5;display:flex;justify-content:space-between;min-height:67px;padding:16px 18px 12px}.calculation-header h2{margin:0}.calculation-header span{color:#6b788c;display:block;font-size:11px;font-weight:700;margin-top:4px}.calculation-confidence{align-items:center;background:#e8f5ee;border:1px solid #b7dfc7;border-radius:6px;color:#166534;display:flex;font-size:12px;font-weight:900;justify-content:center;min-width:54px;padding:6px 8px}.calculation-confidence.warning{background:#fff7ed;border-color:#fed7aa;color:#9a3412}.calculation-scroll{flex:1 1;min-height:0;overflow-y:auto;padding:12px 18px 24px}.calculation-reasons{align-items:flex-start;background:#fff7ed;border:1px solid #fed7aa;border-radius:6px;color:#9a3412;display:flex;gap:8px;margin-bottom:10px;padding:8px}.calculation-reasons.ok{background:#edf7f1;border-color:#bee5cc;color:#166534}.calculation-reasons div{display:flex;flex-wrap:wrap;gap:5px}.calculation-reason-list span,.calculation-reasons span{background:hsla(0,0%,100%,.72);border:1px solid rgba(148,163,184,.45);border-radius:999px;display:inline-flex;font-size:10px;font-weight:800;line-height:1.2;padding:3px 6px;overflow-wrap:anywhere}.calculation-section{border-bottom:1px solid #eef2f7;padding:12px 0}.calculation-section-title{align-items:center;color:#263445;display:flex;font-size:13px;font-weight:900;justify-content:space-between;margin-bottom:7px}.calculation-section.ok .calculation-section-title svg{color:#15803d}.calculation-section.warning .calculation-section-title svg{color:#b45309}.calculation-section.fail .calculation-section-title svg{color:#dc2626}.calculation-reason-list{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.calculation-empty{align-items:center;color:#9a3412;display:flex;font-size:13px;font-weight:800;gap:8px;padding:10px 0}.workspace-actions{display:grid;grid-gap:9px;gap:9px;margin-top:18px}.rating-prompt{border-radius:999px;box-shadow:0 8px 22px rgba(32,46,67,.13);gap:10px;padding:9px 16px;top:18px}.cargo-switcher,.rating-prompt{align-items:center;background:hsla(0,0%,100%,.92);display:flex;left:50%;position:absolute;transform:translateX(-50%);z-index:12}.cargo-switcher{border-radius:8px;bottom:24px;box-shadow:0 10px 26px rgba(32,46,67,.16);gap:8px;padding:8px}.cargo-switcher button{align-items:center;background:transparent;border:1px solid transparent;border-radius:6px;color:#5e6c7d;cursor:pointer;display:flex;gap:7px;height:38px;padding:0 12px}.cargo-switcher button.active{background:var(--demo-blue-soft);border-color:#b9d5f8;color:var(--demo-blue)}.workspace-state{align-items:center;background:hsla(0,0%,100%,.92);border-radius:8px;display:flex;inset:120px auto auto 50%;padding:14px 18px;position:absolute;transform:translateX(-50%);z-index:30}.workspace-loading-state{gap:10px}.workspace-loading-spinner{animation:workspace-spin .8s linear infinite;border-radius:50%;border:3px solid #dce8f5;border-top:3px solid var(--demo-blue);flex:0 0 auto;height:22px;width:22px}@keyframes workspace-spin{to{transform:rotate(1turn)}}.validation-status{color:var(--demo-green);font-size:12px;font-weight:800;margin-top:10px}.validation-status.warning{color:#b45309}.validation-status.invalid{color:var(--demo-danger)}.cargo-rotation-hint{align-items:center;background:hsla(0,0%,100%,.95);border:1px solid #d8e5f4;border-radius:8px;box-shadow:0 10px 24px rgba(32,46,67,.14);display:flex;gap:6px;left:50%;padding:7px;pointer-events:auto;position:absolute;top:18px;transform:translateX(-50%);z-index:30}.cargo-rotation-hint span{background:#f3f8ff;border:1px solid #c4d8f0;border-radius:6px;color:#245f9f;font-size:12px;font-weight:800;line-height:28px;min-width:48px;padding:0 8px;text-align:center}.cargo-composition-hint span{min-width:280px}.loading-report-modal{display:flex;flex-direction:column;height:min(860px,calc(100vh - 32px));max-width:1320px;padding:22px;width:min(1240px,calc(100vw - 36px))}.loading-report-modal>h2{margin-bottom:14px}.loading-report-modal>.modal-actions{flex:0 0 auto;margin-top:14px}.loading-report-preview{background:#eef2f6;border:1px solid #d7e0e9;border-radius:7px;flex:1 1;min-height:0;overflow:auto;padding:18px}.loading-report-heading,.loading-report-preview>section{background:#fff;margin:0 auto;max-width:1120px}.loading-report-heading{align-items:center;background:#17324d;color:#fff;display:flex;justify-content:space-between;padding:18px 22px}.loading-report-heading>div{display:grid;grid-gap:4px;gap:4px;text-align:right}.loading-report-heading span{font-size:11px;opacity:.78}.loading-report-brand{align-items:center;display:flex!important;font-size:13px;font-weight:800;gap:9px!important;text-align:left!important}.loading-report-brand-mark{align-items:center;background:#fff;border-radius:5px;color:#1f9c5c;display:flex;height:34px;justify-content:center;opacity:1!important;width:34px}.loading-report-summary{display:grid;grid-gap:1px;gap:1px;grid-template-columns:repeat(4,minmax(0,1fr));padding:18px 22px 8px}.loading-report-metric{background:#f4f7fb;display:grid;grid-gap:6px;gap:6px;min-height:64px;padding:11px 13px}.loading-report-metric span{color:#68778a;font-size:10px;font-weight:700}.loading-report-metric strong{color:#1d2c40;font-size:14px}.loading-report-layout{display:grid;grid-gap:22px;gap:22px;grid-template-columns:minmax(0,1fr) 330px;padding:20px 22px}.loading-report-section-title{align-items:baseline;display:flex;gap:12px;justify-content:space-between;margin-bottom:10px}.loading-report-section-title strong{color:#17324d;font-size:13px}.loading-report-section-title span{color:#7c8a9a;font-size:10px}.loading-report-diagram{min-width:0}.loading-report-top-view{background:#fbfcfe;border:1px solid #dbe4ee;display:block;height:auto;width:100%}.report-space-outline{fill:#fff;stroke:#63758a;stroke-width:2}.report-space-floor{fill:#f8fafc}.report-vehicle-cab{fill:#dce5ee;stroke:#63758a;stroke-width:2}.report-grid-line{stroke:#dfe7ef;stroke-width:1}.report-center-line{stroke:#aebdcb;stroke-dasharray:7 5;stroke-width:1}.report-zone{fill-opacity:.76;stroke:#2b7de9;stroke-width:2}.report-zone-label-bg{fill:#17324d}.report-zone-label{fill:#fff;font-size:15px;font-weight:800;text-anchor:middle}.report-axis-caption,.report-diagram-note{fill:#64748b;font-size:10px}.loading-report-details{display:grid;grid-gap:10px;gap:10px}.loading-report-detail-block{border-top:2px solid #17324d;display:grid;grid-gap:1px;gap:1px;padding-top:7px}.loading-report-detail-block>strong{color:#17324d;font-size:11px;margin-bottom:4px}.loading-report-detail-row{background:#f6f8fb;display:flex;font-size:10px;gap:10px;justify-content:space-between;padding:7px 8px}.loading-report-detail-row span{color:#66758a}.loading-report-detail-row strong{color:#27364a;text-align:right}.loading-report-zone-section{padding:8px 22px 26px}.loading-report-zone{border:1px solid #dbe4ee;margin-top:12px}.loading-report-zone-heading{align-items:center;background:#edf4fb;display:flex;justify-content:space-between;padding:9px 11px}.loading-report-zone-heading strong{color:#17324d;font-size:12px}.loading-report-zone-heading span{color:#64748b;font-size:10px}.loading-report-table-wrap{overflow-x:auto}.loading-report-table{border-collapse:collapse;font-size:10px;width:100%}.loading-report-table th{background:#17324d;color:#fff;font-weight:700;padding:8px;text-align:left;white-space:nowrap}.loading-report-table td{border-bottom:1px solid #e5ebf1;color:#34435a;padding:8px}.loading-report-table tbody tr:nth-child(2n) td{background:#f8fafc}.loading-report-empty{border:1px dashed #cbd5e1;color:#64748b;font-size:12px;padding:22px;text-align:center}.loading-report-error{background:#fff1f2;border:1px solid #fecdd3;color:#be123c;font-size:11px;margin:12px auto 0;max-width:1120px;padding:9px 11px}@media (max-width:980px){.loading-report-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.loading-report-layout{grid-template-columns:1fr}}