.wle-canvas-space{position:relative;transform-origin:top left;will-change:transform}
.warehouse-layout-page{--wle-green:#176b52;--wle-green-dark:#0d4738;--wle-line:#d8e4df;--wle-bg:#f3f6f5}
.warehouse-layout-page>.wle-workspace-content{grid-column:2;grid-row:2/4;min-width:0;min-height:0;overflow:hidden;padding:9px;display:flex;flex-direction:column;background:var(--wle-bg)}
.warehouse-layout-page>.workspace-tabs{margin:0}
.wle-property-header-actions{display:flex;align-items:center;gap:5px}.wle-delete-action{color:#b33a32;border-color:#ebc7c3;background:#fff8f7}.wle-slot-list-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.wle-slot-list-head>span{display:flex;align-items:baseline;gap:6px}.wle-slot-list-head>span>b{font-size:12px;color:#4a5c53}.wle-slot-list-head>span>small{font-size:10px;color:#89968f}.wle-slot-list-actions{display:flex;align-items:center;gap:5px}.wle-slot-order{display:inline-flex;padding:2px;border:1px solid #cfddd6;border-radius:5px;background:#eef4f1}.wle-slot-order button{min-width:38px;height:24px;padding:0 7px;border:0;border-radius:3px;background:transparent;color:#60756b;font-size:10px;cursor:pointer}.wle-slot-order button.is-active{background:#fff;color:#176b52;box-shadow:0 1px 3px rgba(32,67,56,.16);font-weight:700}.wle-slot-order button:focus-visible{outline:2px solid #3d9275;outline-offset:1px}.wle-slot-list-head .wle-add-slot{min-height:28px;padding:3px 7px}.wle-slot-row{display:flex;align-items:stretch;gap:5px}.wle-slot-row .wle-slot{min-width:0;flex:1}.wle-slot-delete{flex:0 0 30px;width:30px;border:1px solid #ebd2cf;border-radius:5px;background:#fff;color:#ad443b;cursor:pointer}.wle-slot-delete:hover,.wle-delete-action:hover{border-color:#d98f88;background:#fff0ee;color:#8f2f28}.wle-slot-delete svg{width:14px;height:14px}
.warehouse-layout-page button:disabled{opacity:.42;cursor:not-allowed;filter:saturate(.45)}
.warehouse-layout-page .workspace-heading{margin-bottom:0}.wle-metrics{flex:0 0 auto;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin-bottom:7px}.wle-metric{background:#fff;border:1px solid var(--wle-line);border-radius:6px;padding:8px 11px;min-height:56px;display:flex;flex-direction:column;justify-content:space-between}.wle-metric span{font-size:12px;color:#65746e}.wle-metric b{font-size:20px;line-height:1;color:var(--wle-green-dark)}.wle-metric--warning b{color:#bc6c13}.wle-metric--info b{color:#2c6a9a}.wle-toolbar{flex:0 0 auto;display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--wle-line);border-radius:6px;padding:7px 10px;margin-bottom:7px;flex-wrap:wrap}.wle-toolbar label{display:flex;align-items:center;gap:7px;font-size:12px;color:#65746e}.wle-toolbar select{min-width:260px;height:32px;border:1px solid #c9d8d2;border-radius:4px;padding:0 9px;background:#fff;color:#20332c}.wle-toolbar-note{font-size:12px;color:#76857f}.wle-toolbar-actions{margin-left:auto;display:flex;gap:7px}.wle-editor{flex:1 1 auto;min-height:0;overflow:hidden;display:grid;grid-template-columns:86px minmax(420px,1fr) 288px;gap:7px}.wle-palette,.wle-properties{min-height:0;height:100%;background:#fff;border:1px solid var(--wle-line);border-radius:6px}.wle-palette{overflow-y:auto;padding:10px 7px;display:flex;flex-direction:column;gap:6px}.wle-palette>b{font-size:12px;color:#66766f;padding:3px 5px 8px}.wle-tool{border:1px solid transparent;background:#f6f9f7;color:#40564d;border-radius:5px;min-height:43px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:11px;cursor:pointer}.wle-tool svg{width:17px;height:17px}.wle-tool:hover,.wle-tool.is-active{background:#e2f0ea;border-color:#b5d5c8;color:var(--wle-green-dark)}.wle-tool:disabled{opacity:.45;cursor:not-allowed}.wle-palette-tip{margin-top:auto;border-top:1px solid #edf2ef;padding:9px 4px 2px;color:#87958f;font-size:10px;line-height:1.6}.wle-canvas-wrap{min-width:0;min-height:0;height:100%;overflow:hidden;background:#fff;border:1px solid var(--wle-line);border-radius:6px;padding:9px;display:flex;flex-direction:column}.wle-canvas{position:relative;flex:1 1 auto;width:100%;height:auto;min-height:260px;aspect-ratio:auto!important;overflow:hidden;border:1px solid #d5e2dc;border-radius:5px;background-color:#fbfdfc;background-image:linear-gradient(#e7efeb 1px,transparent 1px),linear-gradient(90deg,#e7efeb 1px,transparent 1px)}.wle-canvas-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#8a9992;font-size:13px}.wle-canvas-empty svg{width:28px;height:28px}.wle-zone{position:absolute;border:1px dashed #90b6a8;border-radius:8px;padding:8px;box-sizing:border-box;opacity:.72;pointer-events:none}.wle-zone b{display:block;font-size:12px;color:#355e4d}.wle-zone small{font-size:10px;color:#628274}.wle-rack{position:absolute;border:1px solid #a8beb5;border-radius:6px;background:#fff;box-shadow:0 2px 8px rgba(30,70,55,.08);padding:7px;box-sizing:border-box;cursor:grab;user-select:none;transition:box-shadow .15s,border-color .15s}.wle-rack:active{cursor:grabbing}.wle-rack.is-selected{border:2px solid var(--wle-green);box-shadow:0 0 0 3px rgba(23,107,82,.13)}.wle-rack--vertical{background:#f8fbfa}.wle-rack--floor{background:#fff8ec;border-color:#e8c88d}.wle-rack-head{display:flex;align-items:center;justify-content:space-between;gap:4px}.wle-rack-head b{font-size:12px;color:#173f32}.wle-rack-head em{font-style:normal;font-size:9px;color:#7a8b84}.wle-rack-levels{display:flex;gap:3px;margin:10px 0 7px}.wle-rack-levels i{font-style:normal;font-size:10px;width:18px;height:18px;display:grid;place-items:center;border-radius:3px;color:#739083;background:#e8efec}.wle-rack-levels i.is-used{color:#fff;background:#367da4}.wle-rack>small{font-size:10px;color:#73827c}.wle-canvas-footer{flex:0 0 auto;display:flex;justify-content:space-between;gap:8px;color:#7b8b84;font-size:11px;padding:7px 2px 0}.wle-canvas-footer svg{width:13px;height:13px;vertical-align:-2px}.wle-properties{padding:11px;overflow-y:auto;overflow-x:hidden}.wle-properties header{display:flex;justify-content:space-between;border-bottom:1px solid #ebf0ed;padding-bottom:10px;margin-bottom:11px}.wle-properties header span{font-size:11px;color:#74827c}.wle-properties h2{font-size:20px;margin:3px 0;color:var(--wle-green-dark)}.wle-properties header small{font-size:11px;color:#788881}.wle-property-form{display:flex;flex-direction:column;gap:9px}.wle-property-form label,.wle-modal-form label{display:flex;flex-direction:column;gap:5px;font-size:11px;color:#5f7069}.wle-property-form input,.wle-property-form select,.wle-modal-form input,.wle-modal-form select{height:32px;border:1px solid #cad9d3;border-radius:5px;padding:0 8px;background:#fff;color:#22362e;box-sizing:border-box}.wle-property-form label small{font-size:10px;color:#8b9993}.wle-form-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.wle-property-actions{display:flex;gap:6px;margin:12px 0 15px}.wle-property-actions .factory-button{flex:1;justify-content:center}.wle-slot-list{border-top:1px solid #edf1ef;padding-top:10px;display:flex;flex-direction:column;gap:5px}.wle-slot-list>b{font-size:12px;color:#4a5c53;display:flex;justify-content:space-between}.wle-slot-list>b small{font-size:10px;color:#89968f;font-weight:400}.wle-slot{display:flex;justify-content:space-between;align-items:center;gap:6px;border:1px solid #e1eae5;background:#f8fbf9;border-radius:5px;padding:7px 8px;text-align:left;cursor:pointer}.wle-slot span{font-size:10px;color:#476157}.wle-slot em{font-style:normal;font-size:10px;color:#778880}.wle-slot.is-used{border-color:#b9d4e4;background:#f0f7fb}.wle-slot.is-danger{border-color:#efb2aa;background:#fff5f3}.wle-properties-empty,.wle-empty,.wle-loading,.wle-error{min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:#7b8983;text-align:center}.wle-properties-empty{min-height:240px}.wle-properties-empty svg,.wle-empty svg,.wle-error svg{width:28px;height:28px;color:#75a391}.wle-empty h2{margin:0;color:#26453a;font-size:18px}.wle-empty p{margin:0 0 6px;font-size:12px}.wle-error svg{color:#c5544b}.wle-error b{color:#873e38}.wle-modal-form{display:flex;flex-direction:column;gap:12px}.wle-modal-form p{font-size:12px;color:#7b8983;line-height:1.6;background:#f6f9f7;padding:9px;border-radius:5px;margin:0}.wle-loading svg{animation:wle-spin 1s linear infinite}.wle-loading{min-height:320px}.wle-loading span{font-size:13px}@keyframes wle-spin{to{transform:rotate(360deg)}}
@media(max-width:1100px){.wle-editor{grid-template-columns:70px minmax(420px,1fr);grid-template-rows:minmax(420px,1fr) auto;overflow:auto}.wle-palette,.wle-canvas-wrap{height:auto;min-height:420px}.wle-properties{grid-column:1/-1;height:auto;min-height:340px}.wle-palette-tip{display:none}.wle-metrics{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.wle-metrics{grid-template-columns:repeat(2,1fr)}.wle-editor{grid-template-columns:1fr;min-height:0}.wle-palette{display:flex;flex-direction:row;align-items:center}.wle-palette>b{padding:0}.wle-tool{min-height:38px;min-width:62px}.wle-canvas-wrap{min-height:430px}.wle-canvas{min-height:360px}.wle-properties{min-height:300px}.wle-toolbar-actions{margin-left:0}.wle-toolbar select{min-width:190px}}

/* Physical warehouse floor-plan editor */
.warehouse-layout-page{--wfm-green:#176b52;--wfm-ink:#16342a;--wfm-line:#d6e3dd;--wfm-grid-line:#dce8e3;--wfm-surface:#f4f7f5;--wfm-blue:#1f78b4;--wfm-orange:#cf7b1c;--wfm-red:#bd4c44;background:var(--wfm-surface)}
.wfm-heading{min-height:72px;padding:12px 17px;border-bottom:1px solid var(--wfm-line);background:#fff;display:flex;align-items:center;justify-content:space-between;gap:14px}.wfm-heading span{display:block;color:#6d8077;font-size:11px}.wfm-heading h1{font-size:21px;line-height:1.15;margin:3px 0;color:var(--wfm-ink);letter-spacing:0}.wfm-heading small{font-size:11px;color:#72857c}.wfm-heading>div:last-child{display:flex;gap:7px;align-items:center}.wfm-tabs{margin:0!important;border-radius:0!important;background:#f8fbf9;border-bottom:1px solid var(--wfm-line);padding-left:10px!important}.wfm-tabs button{font-size:12px!important;min-height:36px!important}.wfm-shell{min-height:0;height:calc(100vh - 194px);display:flex;flex-direction:column;padding:10px;gap:7px;box-sizing:border-box}.wfm-toolbar{flex:0 0 auto;min-height:44px;display:flex;gap:6px;align-items:center;padding:6px 8px;background:#fff;border:1px solid var(--wfm-line);border-radius:6px;overflow-x:auto}.wfm-toolbar label{display:flex;align-items:center;gap:4px;white-space:nowrap;font-size:11px;color:#61756b}.wfm-toolbar input,.wfm-toolbar select{height:29px;box-sizing:border-box;border:1px solid #cddcd5;border-radius:4px;padding:0 6px;background:#fff;color:#264136;font-size:12px}.wfm-toolbar label:first-child select{width:210px}.wfm-toolbar label:not(:first-child) input{width:58px}.wfm-toolbar>i{height:22px;width:1px;background:#dfe9e4;display:block;margin:0 2px}.wfm-toolbar output{font-size:11px;color:#60736a;min-width:34px;text-align:center}.wfm-spacer{margin-left:auto}.wfm-mode{height:29px;border:1px solid #cfded7;background:#fff;color:#587066;padding:0 8px;font-size:11px;cursor:pointer}.wfm-mode:first-of-type{border-radius:4px 0 0 4px;margin-right:-7px}.wfm-mode.is-active{background:#e4f1eb;color:#0d513b;border-color:#83b49f;font-weight:700}.wfm-legend{display:flex;align-items:center;gap:15px;min-height:28px;padding:0 4px;color:#64776e;font-size:11px;white-space:nowrap;overflow-x:auto}.wfm-legend span:last-child{margin-left:auto}.wfm-legend i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:4px;background:#dce8e3}.wfm-legend i.used{background:var(--wfm-blue)}.wfm-legend i.danger{background:var(--wfm-red)}
.wfm-main{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:8px}.wfm-floor-area,.wfm-inspector{min-height:0;background:#fff;border:1px solid var(--wfm-line);border-radius:6px;overflow:hidden}.wfm-floor-area{display:flex;flex-direction:column}.wfm-floor-scroll{flex:1 1 auto;min-height:0;overflow:auto;background:#eef3f0;padding:16px}.wfm-scaler{position:relative}.wfm-floor{position:relative;transform-origin:top left;overflow:hidden;border:1px solid #aebfb6;background-color:#fbfdfc;background-image:linear-gradient(var(--wfm-grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--wfm-grid-line) 1px,transparent 1px);background-size:var(--wfm-grid) var(--wfm-grid);box-shadow:0 2px 7px rgba(21,53,42,.12)}.wfm-floor.wfm-no-grid{background-image:none}.wfm-floor-area>footer{height:28px;flex:0 0 auto;border-top:1px solid #e2ece6;padding:0 8px;display:flex;align-items:center;justify-content:space-between;color:#7c8d85;font-size:10px}.wfm-floor-area>footer svg{width:12px;height:12px;vertical-align:-2px}.wfm-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#71847a;font-size:12px}.wfm-empty svg{width:30px;height:30px;color:#77a793}.wfm-empty b{color:#365a4b;font-size:14px}
.wfm-zone{position:absolute;box-sizing:border-box;border:1px dashed rgba(29,100,75,.46);border-radius:3px;padding:8px;cursor:grab;user-select:none;touch-action:none;opacity:.82}.wfm-zone:active{cursor:grabbing}.wfm-zone.is-selected{z-index:4;border:2px solid var(--wfm-green);box-shadow:0 0 0 3px rgba(23,107,82,.16);opacity:1}.wfm-zone b{display:block;font-size:12px;color:#255a45}.wfm-zone small{font-size:10px;color:#557d6c}.wfm-zone-resize{position:absolute;right:-5px;bottom:-5px;width:11px;height:11px;border:2px solid #fff;border-radius:1px;background:#176b52;cursor:nwse-resize;z-index:8}.wfm-no-zones .wfm-zone{display:none}.wfm-rack{position:absolute;box-sizing:border-box;display:flex;flex-direction:column;padding:7px;border:1px solid #9fb9ae;border-radius:3px;background:#fff;box-shadow:0 1px 4px rgba(15,63,45,.15);cursor:grab;user-select:none;touch-action:none}.wfm-rack:active{cursor:grabbing}.wfm-rack--vertical{background:#f8fbfa;border-color:#9db8ad}.wfm-rack--floor{background:#fff8e9;border-color:#dfb86c;border-style:dashed}.wfm-rack--used{border-color:#6da7c8;background:#f3f9fd}.wfm-rack--full{border-color:#df8a80;background:#fff7f5}.wfm-rack.is-selected{z-index:5;border:2px solid var(--wfm-green);box-shadow:0 0 0 3px rgba(23,107,82,.18)}.wfm-rack header{display:flex;justify-content:space-between;gap:6px;align-items:center;min-width:0}.wfm-rack header b{font-size:12px;color:var(--wfm-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wfm-rack header span{font-size:9px;color:#6d8177;white-space:nowrap}.wfm-rack-lines{margin:auto 0 7px;display:flex;flex-direction:column;gap:3px}.wfm-rack-lines i{display:block;min-height:4px;background:#dbe7e1;border-radius:1px}.wfm-rack-lines i.is-used{background:var(--wfm-blue)}.wfm-rack footer{display:flex;justify-content:space-between;gap:5px;font-size:9px;color:#70837a;white-space:nowrap}.wfm-no-labels .wfm-rack header,.wfm-no-labels .wfm-rack footer{visibility:hidden}.wfm-no-stock .wfm-rack-lines i.is-used{background:#dbe7e1}.wfm-rotate{position:absolute;right:-11px;top:-12px;width:22px;height:22px;border:1px solid #84af9d;border-radius:50%;background:#fff;color:#176b52;display:grid;place-items:center;cursor:pointer;z-index:8}.wfm-rotate svg{width:12px;height:12px}.wfm-resize{position:absolute;right:-5px;bottom:-5px;width:11px;height:11px;border:2px solid #fff;border-radius:1px;background:#176b52;cursor:nwse-resize;z-index:8}.wfm-moving,.wfm-moving *{cursor:grabbing!important}
.wfm-inspector{padding:12px;overflow:auto}.wfm-inspector>header{display:flex;justify-content:space-between;gap:8px;padding-bottom:10px;border-bottom:1px solid #e6eee9}.wfm-inspector>header span{font-size:11px;color:#72857c}.wfm-inspector h2{font-size:20px;line-height:1;margin:4px 0;color:var(--wfm-ink)}.wfm-inspector header small{font-size:10px;color:#71847a}.wfm-inspector-empty{height:100%;min-height:270px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;color:#7a8d84;font-size:12px;padding:20px}.wfm-inspector-empty svg{width:30px;height:30px;color:#72a18e}.wfm-inspector-empty b{font-size:14px;color:#3b5d50}.wfm-form{display:flex;flex-direction:column;gap:8px;padding:11px 0}.wfm-form label,.wfm-dialog label{display:flex;flex-direction:column;gap:4px;color:#5e7268;font-size:11px}.wfm-form input,.wfm-form select,.wfm-dialog input,.wfm-dialog select{height:30px;box-sizing:border-box;border:1px solid #cbd9d3;border-radius:4px;padding:0 7px;background:#fff;color:#254036;font-size:12px}.wfm-form h3{font-size:11px;margin:4px 0 0;color:#466056;border-top:1px solid #edf2ef;padding-top:10px}.wfm-form h3 small{float:right;font-weight:400;color:#81928a}.wfm-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.wfm-actions{display:flex;gap:6px}.wfm-actions .factory-button{flex:1;justify-content:center}.wfm-slots{border-top:1px solid #e8efeb;margin-top:12px;padding-top:10px}.wfm-slots>header{display:flex;justify-content:space-between;margin-bottom:6px;color:#476056;font-size:11px}.wfm-slots>header span{font-size:10px;color:#80918a}.wfm-slot{width:100%;border:1px solid #e1eae5;background:#f8fbf9;border-radius:4px;padding:6px 7px;margin-bottom:4px;display:flex;justify-content:space-between;gap:6px;text-align:left;color:#405e52;cursor:default}.wfm-slot b,.wfm-slot span{font-size:10px;font-weight:400}.wfm-slot span{color:#7b8d85}.wfm-slot--used{border-color:#bed9e7;background:#f1f8fc}.wfm-slot--danger{border-color:#edb5ae;background:#fff5f3}
.wfm-layer-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.wfm-layer-menu label{display:flex;align-items:center;gap:7px;padding:10px;border:1px solid #dce8e2;border-radius:4px;font-size:12px;color:#3f5b4f}.wfm-dialog{display:flex;flex-direction:column;gap:11px}.wfm-dialog p,.wfm-inspector-note{margin:0;padding:8px;background:#f3f8f5;border-radius:4px;color:#60766a;font-size:12px;line-height:1.5}.wfm-no-layout,.wfm-loading{min-height:430px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:#768a80;text-align:center}.wfm-no-layout svg,.wfm-loading svg{width:34px;height:34px;color:#76a48f}.wfm-no-layout h1{margin:0;color:#244639;font-size:22px}.wfm-no-layout p{margin:0 0 6px;font-size:13px}.wfm-loading svg{animation:wle-spin 1s linear infinite}
@media(max-width:1120px){.wfm-shell{height:auto;min-height:calc(100vh - 180px)}.wfm-main{grid-template-columns:minmax(600px,1fr);overflow:auto}.wfm-inspector{min-height:360px}.wfm-floor-area{min-height:500px}.wfm-toolbar{flex-wrap:wrap}.wfm-spacer{display:none}.wfm-legend span:last-child{margin-left:0}}
@media(max-width:720px){.wfm-heading{align-items:flex-start;flex-direction:column}.wfm-heading>div:last-child{width:100%}.wfm-heading>div:last-child .factory-button{flex:1;justify-content:center}.wfm-shell{padding:6px}.wfm-main{grid-template-columns:minmax(520px,1fr)}.wfm-toolbar label:first-child select{width:160px}.wfm-legend{gap:9px}.wfm-tabs{overflow-x:auto}.wfm-tabs button{white-space:nowrap}.wfm-floor-area{min-height:420px}}

/* Live capacity and inventory rules for the warehouse layout. */
.wle-slot.is-warning{border-color:#e9c27f;background:#fff9ed}.wle-slot.is-over{border-color:#9b2f2a;background:#fbe9e7;box-shadow:inset 3px 0 #8d2723}.wle-slot.is-locked{border-color:#b8bfbc;background:repeating-linear-gradient(135deg,#f2f4f3,#f2f4f3 6px,#e6e9e7 6px,#e6e9e7 12px)}.wle-slot span{display:flex;flex-direction:column;gap:2px}.wle-slot span b{font-size:11px}.wle-slot span small{font-size:9px;color:#7b8d85}.wle-rack--over{border-color:#a53932!important;box-shadow:0 0 0 2px rgba(165,57,50,.12)!important}.wle-rack-levels i.is-danger{background:#b3423a;color:#fff}.wle-slot-live{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.wle-slot-live span{padding:8px;border:1px solid #dce7e2;border-radius:5px;background:#f7faf8;font-size:10px;color:#6b7e75}.wle-slot-live b{display:block;font-size:17px;color:#173f32;margin-bottom:2px}.wle-slot-switches{display:grid;grid-template-columns:1fr 1fr;gap:7px}.wle-slot-switches label{display:flex;flex-direction:row;align-items:center;padding:8px;border:1px solid #dce7e2;border-radius:5px;background:#f8faf9}.wle-slot-switches input{width:16px;height:16px}.wle-inventory-overview{min-width:min(880px,82vw);max-height:68vh;overflow:auto}.wle-inventory-overview .wle-loading{min-height:260px}.wle-inventory-metrics{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:8px}.wle-inventory-metrics article{border:1px solid #dbe6e1;border-radius:6px;padding:11px;background:#f8fbf9}.wle-inventory-metrics span,.wle-inventory-metrics small{display:block;color:#6c7f76;font-size:11px}.wle-inventory-metrics b{display:block;color:#164536;font-size:21px;margin:5px 0}.wle-inventory-table{margin-top:10px;border:1px solid #dbe6e1;border-radius:6px;overflow:hidden}.wle-inventory-table header,.wle-inventory-table>div{display:grid;grid-template-columns:minmax(210px,1fr) 180px 180px;align-items:center;gap:10px;padding:8px 10px;border-bottom:1px solid #e7eeea}.wle-inventory-table header{display:flex;justify-content:space-between;background:#f3f7f5;color:#40584e}.wle-inventory-table>div:last-child{border-bottom:0}.wle-inventory-table span b,.wle-inventory-table span small{display:block}.wle-inventory-table span small{font-size:10px;color:#7b8b84;margin-top:2px}.wle-inventory-table em{font-style:normal;color:#526a60;font-size:11px}.wle-inventory-table strong{font-size:11px;color:#185b45;text-align:right}

/* Capacity settings group the operational rule instead of scattering raw values. */
.wle-capacity-settings{display:flex;flex-direction:column;gap:8px;margin:2px 0 3px;padding:10px;border:1px solid #cfe1d8;border-radius:6px;background:#f6faf7}.wle-capacity-settings h3{display:flex;justify-content:space-between;align-items:baseline;margin:0;color:#35594a;font-size:12px}.wle-capacity-settings h3 small{font-size:10px;color:#75877e;font-weight:400}.wle-capacity-settings label{display:flex;flex-direction:column;gap:4px;color:#5f7069;font-size:11px}.wle-capacity-settings input,.wle-capacity-settings select{height:32px;box-sizing:border-box;border:1px solid #cad9d3;border-radius:5px;padding:0 8px;background:#fff;color:#22362e}.wle-capacity-preview{min-height:32px;display:flex;align-items:center;padding:0 8px;border-left:3px solid #4b9a78;background:#eaf5ee;color:#225b43;font-size:11px;font-weight:700;line-height:1.35}

.wle-editor{grid-template-columns:210px minmax(420px,1fr) 310px}.wle-palette{padding:8px;gap:8px}.wle-palette-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.wle-palette-actions>b{grid-column:1/-1;padding:2px 3px;color:#66766f;font-size:11px}.wle-palette-actions .wle-tool{min-height:42px;padding:4px}.wle-structure-tree{min-height:0;overflow:auto;border-top:1px solid #e4ece8;padding-top:8px}.wle-structure-tree>b{display:block;margin:0 3px 7px;color:#556b61;font-size:11px}.wle-structure-tree>small{display:block;padding:10px;color:#89978f;font-size:10px}.wle-tree-zone{margin-bottom:7px;border:1px solid #e0e9e5;border-radius:5px;background:#fbfdfc;overflow:hidden}.wle-tree-zone>header{display:flex;justify-content:space-between;align-items:center;padding:6px 7px;background:#f1f6f3;color:#496257}.wle-tree-zone>header span,.wle-tree-rack span{display:flex;align-items:center;gap:5px;min-width:0}.wle-tree-zone svg,.wle-tree-rack svg{width:13px;height:13px}.wle-tree-zone b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wle-tree-zone small{font-size:9px;color:#7d8e86}.wle-tree-rack{width:100%;min-height:30px;display:flex;justify-content:space-between;align-items:center;border:0;border-top:1px solid #edf2ef;padding:4px 7px;background:#fff;color:#466056;cursor:pointer}.wle-tree-rack:hover{background:#f2f8f5}.wle-tree-rack.is-active{background:#e3f1e9;color:#0f5a3e;box-shadow:inset 3px 0 #26815e}.wle-tree-rack b{font-size:10px}.wle-tree-rack small{font-size:9px}.wle-palette-tip{margin-top:0}
@media(max-width:1100px){.wle-editor{grid-template-columns:190px minmax(420px,1fr)}}

/* A warehouse has one directly editable current layout, so status no longer occupies a metric card. */
.wle-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}

/* Current warehouse planner: modules are physical objects placed on one zone canvas. */
.wle-zone-select{min-width:210px!important}.wle-canvas-wrap{padding:0!important}.wle-canvas-header{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 11px;border-bottom:1px solid #e3ece7;background:#fff}.wle-canvas-header b{display:block;color:#21483a;font-size:13px}.wle-canvas-header small{display:block;margin-top:3px;color:#7c8d85;font-size:10px}.wle-canvas-header>span{color:#5c7668;font-size:11px;white-space:nowrap}.wle-canvas-wrap>.wle-canvas{margin:9px;flex:1 1 auto;width:auto;max-width:none;min-height:300px;border-radius:4px;background-color:#fbfdfc}.wle-canvas.is-drop-target{outline:2px solid #2e8b68;outline-offset:-2px;background-color:#f0faf4}.wle-canvas-footer{padding:7px 11px 8px!important}.wle-zone--canvas{inset:0!important;border-style:solid!important;border-color:rgba(29,100,75,.28)!important;border-radius:0!important;opacity:.46!important}.wle-zone--canvas b{font-size:13px}.wle-zone--canvas small{font-size:10px}
.wle-module-library{display:flex;flex-direction:column;gap:6px;padding:8px 0 10px;border-bottom:1px solid #e4ece8}.wle-module-library>header{display:flex;justify-content:space-between;align-items:baseline;padding:0 3px}.wle-module-library>header b{font-size:11px;color:#4e675c}.wle-module-library>header small{font-size:9px;color:#8a9891}.wle-module-card{width:100%;min-height:66px;display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:7px;padding:7px;border:1px solid #dbe7e1;border-radius:6px;background:#fbfdfc;color:#3f5d51;text-align:left;cursor:grab;transition:transform .15s,box-shadow .15s,border-color .15s}.wle-module-card:hover{border-color:#84bda5;box-shadow:0 3px 9px rgba(35,98,73,.13);transform:translateY(-1px)}.wle-module-card:active{cursor:grabbing;transform:none}.wle-module-card--vertical{background:#f5faf8}.wle-module-card--flat{background:#f7fbfa}.wle-module-card--floor{background:#fff9ed;border-color:#ead6a8}.wle-module-card>span:nth-child(2){display:flex;flex-direction:column;gap:2px;min-width:0}.wle-module-card b{font-size:11px;color:#21483a}.wle-module-card small{font-size:9px;color:#788d83;white-space:nowrap}.wle-module-card em{font-style:normal;font-size:9px;color:#6b8d7d}.wle-module-illustration{width:28px;height:40px;display:grid;place-items:center;border:1px solid #9fc5b3;border-radius:4px;background:#e8f3ed;color:#1d7153}.wle-module-card--vertical .wle-module-illustration{height:44px}.wle-module-card--floor .wle-module-illustration{border-style:dashed;border-color:#d7ae68;background:#fff2d7;color:#b8781d}.wle-module-illustration svg{width:19px;height:19px}.wle-tree-zone.is-active{border-color:#8abda7;box-shadow:0 0 0 2px rgba(40,131,91,.11)}.wle-tree-zone>header{cursor:pointer}.wle-tree-zone>header:hover{background:#e8f3ed}
.wle-rack{padding:6px!important;border-radius:4px!important;overflow:hidden}.wle-rack-head{position:relative;z-index:2}.wle-rack-physical{position:absolute;inset:31px 7px 22px;display:flex;flex-direction:column;justify-content:space-evenly;gap:3px}.wle-rack-physical i{display:flex;align-items:center;justify-content:center;min-height:8px;border:1px solid #b9cdc3;border-radius:2px;background:rgba(226,238,232,.9);color:#6b8679;font-size:8px;font-style:normal;line-height:1}.wle-rack--vertical .wle-rack-physical{inset:31px 13px 22px;border-left:4px solid #9bb8aa;border-right:4px solid #9bb8aa}.wle-rack--vertical .wle-rack-physical i{border-left:0;border-right:0;border-radius:0}.wle-rack--flat .wle-rack-physical{inset:31px 7px 22px;justify-content:space-evenly}.wle-rack--flat .wle-rack-physical i{height:8px;min-height:6px;border-top:2px solid #90ada0;border-bottom:1px solid #c4d4cc;background:#edf5f0}.wle-rack--floor .wle-rack-physical{inset:30px 8px 21px;display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr}.wle-rack--floor .wle-rack-physical i{min-height:0;border-style:dashed;background:#fff3d8;color:#a97828}.wle-rack-physical i.is-used{background:#d8ebf5;border-color:#5d9bc0;color:#236586}.wle-rack-physical i.is-danger{background:#f9d9d4;border-color:#bf5045;color:#963a32}.wle-rack>small{position:absolute;bottom:6px;left:7px;right:7px;z-index:2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wle-rack.is-selected{z-index:6}.wle-position-settings{display:flex;flex-direction:column;gap:8px;margin:2px 0 10px;padding:10px;border:1px solid #d5e4dc;border-radius:6px;background:#f8fbf9}.wle-position-settings h3{display:flex;justify-content:space-between;align-items:baseline;margin:0;color:#365b4b;font-size:12px}.wle-position-settings h3 small{font-size:10px;color:#7d9186;font-weight:400}.wle-position-settings input{height:30px!important}.wle-palette{padding:8px!important}
@media(max-width:1100px){.wle-editor{grid-template-columns:210px minmax(420px,1fr)}.wle-module-card{min-height:58px}.wle-properties{grid-column:1/-1;height:auto;min-height:340px}}

/* Zone settings use the same inspector as racks so the canvas remains the primary workspace. */
.wle-canvas-header-actions{display:flex;align-items:center;gap:8px}.wle-canvas-header-actions>span{color:#5c7668;font-size:11px;white-space:nowrap}.wle-canvas-header-actions .factory-button{min-height:28px;padding:3px 8px}.wle-canvas-header-actions svg{width:13px;height:13px}.wle-zone-property-header>svg{width:26px;height:26px;color:#5b987e}.wle-zone-size-settings{display:flex;flex-direction:column;gap:8px;margin-top:2px;padding:10px;border:1px solid #d5e4dc;border-radius:6px;background:#f8fbf9}.wle-zone-size-settings h3{display:flex;justify-content:space-between;align-items:baseline;margin:0;color:#365b4b;font-size:12px}.wle-zone-size-settings h3 small{font-size:9px;color:#7d9186;font-weight:400}.wle-zone-color-control{height:32px;display:flex;align-items:center;gap:8px;border:1px solid #cad9d3;border-radius:5px;padding:0 7px;background:#fff}.wle-zone-color-control input{width:36px!important;height:24px!important;border:0!important;padding:0!important;background:transparent!important}.wle-zone-color-control span{font-size:10px;color:#7a8d84}.wle-zone-property-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:12px}.wle-zone-property-actions .factory-button{justify-content:center}.wle-zone-delete{border-color:#e2aaa5!important;background:#fff6f5!important;color:#a23e36!important}.wle-zone-delete:hover{border-color:#c86d65!important;background:#fff0ee!important}.wle-zone-delete-note{margin:9px 0 0;padding:8px;border-left:3px solid #d29b55;background:#fff9ee;color:#796340;font-size:10px;line-height:1.5}

/* Physical rack silhouettes: front rack, its 90-degree plan view, and a pallet. */
.wle-module-illustration{position:relative;box-sizing:border-box;display:flex!important;gap:3px!important;padding:4px!important}.wle-module-illustration>i{display:block;box-sizing:border-box;border-radius:0;background:#7fae99}.wle-module-card--flat .wle-module-illustration{height:42px;border-left:3px solid #2b8061;border-right:3px solid #2b8061;flex-direction:column;justify-content:space-evenly}.wle-module-card--flat .wle-module-illustration>i{width:100%;height:2px}.wle-module-card--vertical .wle-module-illustration{width:42px;height:28px;border-top:3px solid #2b8061;border-bottom:3px solid #2b8061;flex-direction:row;justify-content:space-evenly}.wle-module-card--vertical .wle-module-illustration>i{width:2px;height:100%}.wle-module-card--floor .wle-module-illustration{width:44px;height:30px;align-items:stretch;border:1px solid #ad762f!important;border-radius:2px!important;background:#d9a45d!important;box-shadow:0 4px 0 #8d612b}.wle-module-card--floor .wle-module-illustration>i{flex:1;height:100%;border-left:1px solid #fff0c8;background:#c98e43}.wle-module-card--floor .wle-module-illustration>i:first-child{border-left:0}
.wle-rack--flat .wle-rack-physical{inset:31px 10px 22px;display:flex;flex-direction:column;justify-content:space-evenly;gap:3px;border-left:5px solid #86aa99;border-right:5px solid #86aa99}.wle-rack--flat .wle-rack-physical>i{display:flex;align-items:center;justify-content:center;flex:1;width:100%;min-height:7px;border:0;border-top:3px solid #8cafa0;border-bottom:1px solid #c5d7cf;border-radius:0;background:#eef5f1;color:#5b786b}.wle-rack--flat .wle-rack-physical>i span{font-size:8px;line-height:1}.wle-rack--vertical .wle-rack-physical{inset:38px 9px 25px;display:flex;flex-direction:row;justify-content:space-evenly;gap:3px;border:0;border-top:5px solid #86aa99;border-bottom:5px solid #86aa99}.wle-rack--vertical .wle-rack-physical>i{display:flex;align-items:center;justify-content:center;flex:1;height:100%;min-width:8px;min-height:0;border:0;border-left:3px solid #8cafa0;border-right:1px solid #c5d7cf;border-radius:0;background:#eef5f1;color:#5b786b}.wle-rack--vertical .wle-rack-physical>i span{font-size:7px;line-height:1;writing-mode:vertical-rl}.wle-rack--flat .wle-rack-physical>i.is-used,.wle-rack--vertical .wle-rack-physical>i.is-used{background:#d8ebf5;border-color:#5d9bc0;color:#236586}.wle-rack--flat .wle-rack-physical>i.is-danger,.wle-rack--vertical .wle-rack-physical>i.is-danger{background:#f9d9d4;border-color:#bf5045;color:#963a32}.wle-rack--floor{background:#fffaf1!important;border:1px solid #d4a45e!important}.wle-rack--floor .wle-rack-physical{inset:35px 10px 24px;display:flex;flex-direction:column;gap:5px;perspective:180px}.wle-pallet-deck{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;flex:1;padding:5px;border:1px solid #9a682d;border-radius:2px;background:#d7a156;box-shadow:0 3px 0 #a27035;transform:rotateX(7deg)}.wle-pallet-deck>i{display:block;min-height:10px;border:1px solid #b67d38;border-radius:1px;background:linear-gradient(90deg,#c98c40,#e0ae67,#c98c40)}.wle-pallet-feet{height:9px;display:grid;grid-template-columns:repeat(3,1fr);justify-items:center}.wle-pallet-feet>i{display:block;width:56%;height:8px;border:1px solid #785028;border-radius:1px;background:#966532}.wle-rack--floor .wle-rack-physical i{color:inherit}

/* Center-based rack editor and label-designer style zone canvas. */
.wle-editor{grid-template-columns:210px minmax(420px,1fr) 330px}.wle-properties{min-width:0}.wle-property-form input,.wle-property-form select,.wle-position-settings input{width:100%;min-width:0}.wle-form-row>*{min-width:0}.wle-coordinate-note{display:block;color:#71857b;font-size:10px;line-height:1.45}.wle-canvas-wrap>.wle-canvas{position:relative;display:block;overflow:hidden;background:#edf2ef;background-image:none}.wle-canvas-space{position:absolute;margin:0;border:1px solid #9db5aa;border-radius:2px;background-color:var(--wle-zone-color,#f7faf8);background-image:linear-gradient(rgba(107,145,128,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(107,145,128,.16) 1px,transparent 1px);background-size:10px 10px;box-shadow:0 3px 12px rgba(25,62,48,.16);overflow:visible}.wle-zone-canvas-label{position:absolute;top:7px;left:8px;z-index:1;display:flex;flex-direction:column;pointer-events:none}.wle-zone-canvas-label b{color:#2d5f4c;font-size:12px}.wle-zone-canvas-label small{color:#6d887b;font-size:9px}.wle-rack{transform-origin:center center;touch-action:none}.wle-rack.is-selected{overflow:visible}.wle-position-settings{min-width:0}.wle-module-card{grid-template-columns:44px minmax(0,1fr) auto}.wle-module-card b,.wle-module-card small,.wle-module-card em{word-break:keep-all;overflow-wrap:normal}
@media(max-width:1180px){.wle-editor{grid-template-columns:180px minmax(420px,1fr) 310px}.wle-properties{grid-column:auto;height:100%;min-height:0}.wle-property-actions{flex-wrap:wrap}.wle-property-actions .factory-button{min-width:90px}}
@media(max-width:980px){.wle-editor{grid-template-columns:170px minmax(420px,1fr);grid-template-rows:minmax(420px,1fr) auto;overflow:auto}.wle-properties{grid-column:1/-1;height:auto;min-height:340px}}
.wle-rack.is-snapped{border-color:#17885f!important;box-shadow:0 0 0 4px rgba(23,136,95,.22)!important}
/* Match the inventory map: every category uses the same numeric rack display. */
.wle-rack-head b{font-size:20px!important;font-weight:900!important}
.wle-rack-physical{bottom:26px!important}
.wle-rack-layer{grid-template-columns:30px minmax(0,1fr)!important}
.wle-rack-layer-label{font-size:20px!important;font-weight:900!important}
.wle-rack-slot{font-size:18px!important;font-weight:900!important}
.wle-rack>small{right:7px!important;bottom:4px!important;left:7px!important;font-size:16px!important;font-weight:800!important;line-height:1.1!important;text-align:center!important}
.wle-rack--vertical .wle-rack-layer{grid-template-columns:30px minmax(0,1fr)!important}
.wle-rack--vertical .wle-rack-layer-label,.wle-rack--vertical .wle-rack-slot{font-size:18px!important}
.wle-rack--vertical .wle-rack-slot span{writing-mode:horizontal-tb!important}
.wle-rack-head b{font-size:15px!important;font-weight:800;letter-spacing:.15px}.wle-rack-head em{font-size:10px!important}.wle-rack-physical{inset:31px 7px 22px!important;display:flex!important;flex-direction:column!important;justify-content:space-evenly!important;gap:3px!important}.wle-rack-levels{display:flex!important;flex-direction:column!important;gap:3px!important;min-height:0;width:100%;height:100%}.wle-rack-layer{display:grid!important;grid-template-columns:34px minmax(0,1fr);align-items:stretch;gap:3px;min-height:0;flex:1;border-bottom:1px solid #a9c1b5}.wle-rack-layer:last-child{border-bottom:0}.wle-rack-layer-label{display:flex;align-items:center;justify-content:center;color:#3b6654!important;font-size:11px!important;font-weight:800!important;white-space:nowrap;writing-mode:horizontal-tb}.wle-rack-slot-grid{display:grid!important;grid-template-columns:repeat(var(--wle-slot-count,1),minmax(0,1fr));min-width:0;min-height:0}.wle-rack-slot{display:flex!important;align-items:center;justify-content:center;width:auto!important;height:auto!important;min-width:0;min-height:0;border:0!important;border-left:1px solid #8eada0!important;border-radius:0!important;background:#edf5f0!important;color:#517364!important;font-size:9px!important;font-style:normal!important;overflow:hidden}.wle-rack-slot:first-child{border-left:0!important}.wle-rack-slot span{display:block;max-width:100%;padding:0 2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.1}.wle-rack-slot.is-used{background:#d8ebf5!important;border-left-color:#5d9bc0!important;color:#236586!important}.wle-rack-slot.is-danger{background:#f9d9d4!important;border-left-color:#bf5045!important;color:#963a32!important}.wle-rack--vertical .wle-rack-layer{grid-template-columns:27px minmax(0,1fr)}.wle-rack--vertical .wle-rack-layer-label{font-size:10px!important}.wle-rack--vertical .wle-rack-slot{font-size:8px!important}.wle-rack--vertical .wle-rack-slot span{writing-mode:vertical-rl}.wle-rack--floor .wle-rack-physical{inset:35px 10px 24px!important}.wle-rack--floor .wle-rack-physical .wle-rack-levels{display:none!important}
.wle-rack-head b{font-size:20px!important;font-weight:900!important}
.wle-rack-physical{bottom:26px!important}
.wle-rack-layer{grid-template-columns:30px minmax(0,1fr)!important}
.wle-rack-layer-label{font-size:20px!important;font-weight:900!important}
.wle-rack-slot{font-size:18px!important;font-weight:900!important}
.wle-rack>small{right:7px!important;bottom:4px!important;left:7px!important;font-size:16px!important;font-weight:800!important;line-height:1.1!important;text-align:center!important}
.wle-rack--vertical .wle-rack-layer{grid-template-columns:30px minmax(0,1fr)!important}
.wle-rack--vertical .wle-rack-layer-label,.wle-rack--vertical .wle-rack-slot{font-size:18px!important}
.wle-rack--vertical .wle-rack-slot span{writing-mode:horizontal-tb!important}
