*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:linear-gradient(180deg,#f8fafc,#eef2f7)}.app-shell{min-height:100vh}.app-sider{border-inline-end:1px solid #e5e9ef}.app-logo{padding:18px 16px;font-weight:700;font-size:17px;color:#16325c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-logo.is-collapsed{padding-inline:10px;text-align:center}.app-header{background:#fff!important;border-bottom:1px solid #e5e9ef;padding-inline:20px!important}.instance-select{min-width:220px}.instance-label{max-width:260px;display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.app-content{padding:20px;overflow-x:auto}.app-sider-menu{border-inline-end:none!important}.app-sider-menu .ant-menu-item-divider{margin:14px 16px!important;background-color:#dfe6ef!important}.page-toolbar-scroll{width:100%;overflow-x:auto;padding-bottom:4px}.page-toolbar-strip{display:flex;align-items:center;gap:8px;min-width:max-content}.page-toolbar-scroll--wrap{overflow-x:visible;padding-bottom:0}.page-toolbar-strip--wrap{flex-wrap:wrap;align-items:flex-start;min-width:0;width:100%}.active-filters-bar{width:100%;padding:8px 12px;border:1px solid #e5e9ef;border-radius:10px;background:#fafbfd}.active-filters-inline{width:100%}.summary-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;width:100%}.summary-metric-button{width:100%;min-height:112px;padding:16px;border:1px solid #d9e0ea;border-left-width:4px;border-radius:8px;background:#fff;text-align:left;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;gap:12px;box-shadow:0 1px 2px #0f172a0a}.summary-metric-button:hover,.summary-metric-button:focus-visible{border-top-color:#91caff;border-right-color:#91caff;border-bottom-color:#91caff;outline:none}.summary-metric-button__label{color:#3d4a5c;font-size:14px;line-height:1.35}.summary-metric-button__value{color:#1f2937;font-size:30px;font-weight:650;line-height:1;font-variant-numeric:tabular-nums}.table-clamp-text{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;word-break:break-word}.table-clamp-text-1{-webkit-line-clamp:1}.table-clamp-text-2{-webkit-line-clamp:2}.table-address-cell{max-width:220px}.table-mac-cell{display:inline-block;max-width:150px;white-space:normal;word-break:break-all;line-height:1.3}.stacked-text-cell{display:flex;flex-direction:column;min-width:0;gap:2px}.stacked-text-cell__primary{min-width:0;line-height:1.3}.stacked-text-cell__secondary{line-height:1.3;word-break:break-all;white-space:normal;font-size:12px}.action-icon-button-wrap{display:inline-flex}.action-icon-group{display:inline-flex;gap:4px;align-items:center;flex-wrap:nowrap}.store-row-muted td{color:#8c97a8!important}.store-row-muted .ant-tag,.store-row-muted .ant-btn,.store-row-muted .ant-typography a{opacity:.9}.store-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.store-form-grid-full{grid-column:1 / -1}@media (max-width: 900px){.store-form-grid{grid-template-columns:1fr}.store-form-grid-full{grid-column:auto}}.page-card{background:#fff;border:1px solid #e8ecf2;border-radius:12px;padding:16px}.plu-lookup-form{display:grid;grid-template-columns:minmax(260px,2fr) minmax(180px,1fr) 240px minmax(220px,1fr) auto;gap:12px;align-items:center}.plu-lookup-section{border:1px solid #e5e9ef;border-radius:12px;padding:16px;background:#fbfcfe}.plu-lookup-empty{margin-block:8px 0}@media (max-width: 1200px){.plu-lookup-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 700px){.plu-lookup-form{grid-template-columns:1fr}}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:radial-gradient(circle at 10% 10%,rgba(82,146,255,.16),transparent 35%),radial-gradient(circle at 90% 90%,rgba(32,191,107,.14),transparent 30%),#f6f8fc}.login-card{width:min(460px,100%);background:#fff;border:1px solid #e5e9ef;border-radius:14px;padding:24px}.mobile-layout{min-height:100vh;background:linear-gradient(180deg,#f7f9fc,#eef2f7)}.mobile-header{position:sticky;top:0;z-index:10;background:#ffffffeb!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid #e5e9ef;padding-inline:12px!important}.mobile-content{padding:12px}.mobile-card{border-radius:14px}.mobile-rack-photo{min-width:96px}.mobile-detail-image .ant-image-img{border-radius:14px;object-fit:cover}.mobile-photo-empty{width:96px;height:96px;display:flex;align-items:center;justify-content:center;background:#eef2f7;color:#7a8798;border-radius:12px;text-align:center;font-size:12px;padding:8px}.mobile-photo-empty.small{width:84px;height:84px}.mobile-qr-modal{max-width:480px}.mobile-qr-modal .ant-modal-content{background:#000;color:#fff;border-radius:24px;overflow:hidden;padding:0}.mobile-qr-modal .ant-modal-header{background:#000;border-bottom:none;padding:18px 18px 0}.mobile-qr-modal .ant-modal-title{color:#fff}.mobile-qr-modal .ant-modal-close{color:#ffffffe6}.mobile-qr-modal .ant-modal-body{padding:16px 16px 24px}.mobile-qr-modal .ant-typography.ant-typography-secondary{color:#ffffffb8}.mobile-qr-shell{width:100%;min-height:min(72vh,560px);display:flex;align-items:center;justify-content:center;background:#000}.mobile-qr-frame{display:inline-flex;align-items:center;justify-content:center;padding:10px;background:#fff;border-radius:18px;box-shadow:0 0 0 1px #ffffffeb}.mobile-qr-frame .ant-qrcode{display:flex}.floormap-editor-page{display:flex;flex-direction:column;gap:12px;min-width:0}.floormap-editor-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.floormap-editor-workspace{display:grid;grid-template-columns:minmax(0,1fr) 420px;min-height:calc(100vh - 190px);border:1px solid #d9d9d9;border-radius:8px;overflow:hidden;background:#fff}.floormap-editor-panel{border-left:1px solid #d9d9d9;padding:0 16px 16px;min-width:0;overflow:auto;max-height:calc(100vh - 190px)}.floormap-editor-footer{position:sticky;bottom:12px;z-index:3;display:flex;justify-content:flex-end;pointer-events:none}.floormap-editor-footer .ant-btn{pointer-events:auto;box-shadow:0 4px 16px #0000002e}.floormap-canvas-shell{position:relative;min-width:0;min-height:620px;overflow:hidden;background-color:#e8edf3;background-image:radial-gradient(#c8d0d9 1px,transparent 1px);background-size:18px 18px}.floormap-canvas{width:100%;height:100%;display:block;touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none}.floormap-canvas:active{cursor:grabbing}.floormap-canvas--rack-linking,.floormap-canvas--rack-linking:active,.floormap-canvas--rack-linking .floormap-rack-object{cursor:crosshair}.floormap-canvas--rack-linking .floormap-rack-object:hover>rect{stroke:#1677ff;stroke-width:4}.floormap-canvas--drawing-wall,.floormap-canvas--drawing-wall:active{cursor:crosshair}.floormap-rack-snap-guide{stroke:#13c2c2;stroke-width:1.5;stroke-dasharray:5 4}.floormap-canvas-toolbar{position:absolute;top:12px;right:12px;z-index:2;padding:6px;border-radius:8px;background:#fffffff0;box-shadow:0 2px 10px #0000001f}.floormap-legend{position:absolute;left:12px;top:62px;z-index:2;display:flex;flex-direction:column;gap:8px;max-width:min(430px,calc(100% - 24px));padding:6px 9px;border-radius:8px;border:1px solid #b7b7b7;background:#fffffff0;color:#595959;font-size:12px;pointer-events:none}.floormap-legend-section{display:flex;flex-wrap:wrap;gap:5px 12px}.floormap-legend-section strong{flex-basis:100%;color:#262626}.floormap-legend-section--vertical{flex-direction:column;align-items:flex-start}.floormap-legend-section--vertical strong{flex-basis:auto}.floormap-legend span{display:inline-flex;align-items:center;gap:5px}.floormap-legend i,.floormap-camera-status-dot{display:inline-block;width:10px;height:10px;flex:0 0 auto;border:1px solid rgba(0,0,0,.18);border-radius:50%}.floormap-wall-drawing-hint{position:absolute;top:12px;left:50%;z-index:2;transform:translate(-50%);padding:6px 10px;border-radius:6px;background:#fffffff0;color:#262626;font-size:12px;box-shadow:0 2px 10px #0000001f;pointer-events:none}.floormap-meter-value{width:116px}.floormap-meter-line{stroke:#fa8c16;stroke-width:8;stroke-linecap:square;cursor:move}.floormap-meter-tick{stroke:#d46b08;stroke-width:4;cursor:ew-resize}.floormap-meter-label{fill:#ad4e00;font-size:14px;font-weight:700;paint-order:stroke;stroke:#ffffffe6;stroke-width:4px;stroke-linejoin:round}.floormap-meter-handle{fill:#fa8c16;stroke:#fff;stroke-width:2;cursor:pointer}.floormap-meter-rotate-line{stroke:#fa8c16;stroke-width:2}.floormap-zoom-indicator{position:absolute;bottom:12px;left:12px;z-index:2;padding:4px 8px;border-radius:6px;background:#ffffffe6;color:#595959;font-size:12px}.floormap-canvas-empty{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);padding:12px 18px;border-radius:8px;background:#ffffffeb;color:#595959;pointer-events:none}.floormap-camera-link{stroke:#fa8c16;stroke-width:3;stroke-dasharray:6 4;opacity:.8;pointer-events:none}.floormap-camera-link-hit{cursor:pointer}.floormap-camera-label{fill:#262626;font-weight:600;paint-order:stroke;stroke:#fffffff2;stroke-width:4px;stroke-linejoin:round}.floormap-color-dot{display:inline-block;width:16px;height:16px;border:1px solid rgba(0,0,0,.16);border-radius:4px;vertical-align:middle}.floormap-number-field{display:flex;flex-direction:column;min-width:0}.floormap-number-field .ant-input-number{width:100%}.floormap-number-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}.floormap-rack-id-cell{font-size:11px}.floormap-rack-details .ant-descriptions-item-label{width:120px}.floormap-selected-row>td{background:#e6f4ff!important}@media (max-width: 1200px){.floormap-editor-workspace{grid-template-columns:minmax(0,1fr) 360px}}
