:root{color:#111827;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f4f6f8}*{box-sizing:border-box}body{background:#f4f6f8;min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}.screen-loader{place-items:center;min-height:100vh;display:grid}.frontend-error-page{background:#f4f6f8;place-items:center;min-height:100vh;padding:24px;display:grid}.login-page{background:linear-gradient(135deg,#1118270a,#2563eb12),#f4f6f8;place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:#fff;border:1px solid #d8dee8;border-radius:8px;width:min(420px,100%);padding:28px;box-shadow:0 18px 50px #11182714}.login-card h1.ant-typography{letter-spacing:0;margin-bottom:4px;font-size:28px}.login-form{margin-top:24px}.login-form .ant-alert{margin-bottom:16px}.app-layout{min-height:100vh}.app-header{justify-content:space-between;align-items:center;gap:16px;height:56px;padding:0 18px;display:flex}.app-header h1.ant-typography,.app-header .ant-typography{color:#fff;margin:0}.app-header h1.ant-typography{letter-spacing:0;font-size:18px}.app-sider{border-right:1px solid #e5e7eb;min-height:calc(100vh - 56px);transition:width .2s,min-width .2s,max-width .2s;position:relative}.app-menu{gap:4px;padding:16px 4px 4px;display:grid}.app-menu-item{color:#111827;cursor:pointer;text-align:left;background:0 0;border:0;border-left:3px solid #0000;border-radius:6px;grid-template-columns:18px 1fr;align-items:center;gap:10px;width:100%;min-height:40px;padding:0 14px 0 24px;transition:background .2s,color .2s,padding .2s;display:grid}.app-menu-item-label{white-space:nowrap;min-width:0;overflow:hidden}.app-menu-item:hover,.app-menu-item:focus-visible{background:#f3f6fb}.app-menu-item-selected,.app-menu-item-selected:hover,.app-menu-item-selected:focus-visible{color:#1d4ed8;background:#dbeafe;border-left-color:#2563eb;font-weight:600}.app-sider-collapsed .app-menu{padding:16px 6px 8px}.app-sider-collapsed .app-menu-item{border-left:0;grid-template-columns:1fr;justify-items:center;min-height:44px;padding:0}.app-sider-collapsed .app-menu-item-selected,.app-sider-collapsed .app-menu-item-selected:hover,.app-sider-collapsed .app-menu-item-selected:focus-visible{box-shadow:inset 3px 0 #2563eb}.app-sider-collapsed .app-menu-item-label{display:none}.app-sider-collapse-button.ant-btn{z-index:2;opacity:.5;background:#fff;border-color:#d8dee8;border-left-style:none;border-left-width:0;border-radius:0 8px 8px 0;width:16px;min-width:16px;height:64px;padding:0;transition:opacity .2s,background .2s,border-color .2s;position:absolute;top:50%;right:-16px;transform:translateY(-50%);box-shadow:0 2px 8px #0f172a14}.app-sider-collapse-button.ant-btn:hover,.app-sider-collapse-button.ant-btn:focus-visible{opacity:1}.app-content{background:#f4f6f8;min-width:0;padding:24px}.content-section{max-width:960px}.section-heading{justify-content:space-between;width:100%;margin-bottom:16px}.section-heading h2.ant-typography,.content-section h2.ant-typography{letter-spacing:0;margin:0;font-size:22px}.password-page{background:#f4f6f8;place-items:center;min-height:100vh;padding:24px;display:grid}.password-panel{background:#fff;border:1px solid #d8dee8;border-radius:8px;width:min(440px,100%);padding:28px;box-shadow:0 18px 50px #11182714}.password-heading{justify-content:space-between;width:100%;margin-bottom:18px}.password-heading h1.ant-typography{letter-spacing:0;margin:0 0 4px;font-size:24px}.password-form{margin-top:18px}.password-form .ant-form-item-extra,.account-password-form .ant-form-item-extra{color:#00000073;letter-spacing:0;margin-top:4px;font-family:Microsoft YaHei UI,Microsoft YaHei,PingFang SC,Noto Sans SC,Arial,sans-serif;font-size:12px;font-weight:400;line-height:18px}.product-spec-input-extra{color:#00000073;letter-spacing:0;margin-top:2px;font-size:12px;line-height:18px;display:block}.accounts-section,.data-section,.inventory-section,.inbound-section,.orders-section{max-width:none}.accounts-alert{margin-bottom:16px}.accounts-toolbar{width:100%;margin-bottom:16px}.table-column-filter-title{vertical-align:middle;align-items:center;max-width:100%;padding-right:22px;display:inline-flex;position:relative}.table-column-filter-label{text-overflow:ellipsis;min-width:0;overflow:hidden}.table-column-filter-button.ant-btn{color:#00000061;border:0;width:18px;height:18px;padding:0;line-height:18px;position:absolute;right:0}.table-column-filter-button.ant-btn:hover,.table-column-filter-button.ant-btn:focus-visible,.table-column-filter-button.ant-btn[data-active=true]{color:#2563eb;background:0 0}.table-column-filter-popover{min-width:220px}.table-column-filter-select{width:220px}.table-filter-summary{width:100%;margin:-4px 0 12px}.accounts-toolbar .ant-input-search{width:240px}.product-identity-selector{width:100%}.product-identity-style,.product-identity-spec{width:150px}.accounts-section .ant-table-wrapper,.data-section .ant-table-wrapper,.inventory-section .ant-table-wrapper,.inbound-section .ant-table-wrapper,.orders-section>.ant-table-wrapper{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow-x:auto}.orders-sync-alert,.orders-error-alert{margin-bottom:16px}.orders-toolbar{width:100%;margin-bottom:16px}.orders-toolbar .ant-input-search{width:260px}.orders-column-popover{width:220px}.orders-column-popover .ant-checkbox-group{gap:8px;display:grid}.orders-status-column .ant-tag{white-space:nowrap;max-width:100%;margin-inline-end:0;line-height:1.45}.orders-shop-cell{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.orders-processed-table .ant-table-cell{padding-inline:10px}.orders-processed-table .ant-table-thead>tr>th{white-space:nowrap}.orders-detail-content{width:100%}.orders-detail-summary-grid{background:#fff;border-top:1px solid #e5e7eb;border-left:1px solid #e5e7eb;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid;overflow:hidden}.orders-detail-summary-item{border-bottom:1px solid #e5e7eb;border-right:1px solid #e5e7eb;grid-template-columns:112px minmax(0,1fr);min-height:44px;display:grid}.orders-detail-summary-label,.orders-detail-summary-value{align-items:center;min-width:0;padding:10px 14px;display:flex}.orders-detail-summary-label{color:#4b5563;background:#fafafa;border-right:1px solid #e5e7eb}.orders-detail-summary-value{word-break:break-word}.orders-detail-modal,.orders-confirm-modal,.orders-adjustment-modal{max-width:calc(100vw - 48px)}.orders-detail-content .ant-table-wrapper,.orders-modal-content,.orders-modal-content .ant-table-wrapper{width:100%}.orders-detail-content .ant-table-wrapper,.orders-modal-content .ant-table-wrapper{overflow-y:hidden}.orders-detail-content .ant-table,.orders-modal-content .ant-table{min-width:0}.orders-detail-content .ant-table-cell,.orders-modal-content .ant-table-cell{word-break:break-word}.orders-confirm-quantity{width:112px}.orders-adjustment-type{width:140px}.orders-adjustment-line{width:280px}.orders-spec-assignment-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.orders-spec-assignment-summary div{border:1px solid #f0f0f0;border-radius:8px;padding:10px 12px}.orders-spec-assignment-summary span{color:#53627a;margin-bottom:6px;font-size:13px;display:block}.orders-spec-assignment-summary strong{word-break:break-word;font-size:16px}.orders-spec-assignment-total.is-ready{background:#f6ffed;border-color:#b7eb8f}.orders-spec-assignment-total.is-pending{background:#fff2f0;border-color:#ffccc7}.orders-spec-assignment-select{width:100%}.orders-style-assignment-popover{width:130px}.orders-style-assignment-popover .product-identity-selector,.orders-style-assignment-popover .product-identity-selector .ant-space-item,.orders-style-assignment-popover .product-identity-style{width:100%}.orders-style-assignment-actions{justify-content:flex-end;width:100%}.inventory-preview,.inbound-preview{width:100%}.inventory-preview .ant-table-wrapper{overflow-y:hidden}.inventory-report-toolbar .ant-input-search{width:260px}.inventory-report-period{width:104px}.inventory-report-date{width:160px}.inventory-report-summary{grid-template-columns:repeat(6,minmax(112px,1fr));gap:10px;margin-bottom:16px;display:grid}.inventory-report-metric{background:#fff;border:1px solid #e5e7eb;border-radius:8px;min-height:72px;padding:12px;display:grid}.inventory-report-metric span{color:#4b5563;font-size:13px}.inventory-report-metric strong{color:#111827;letter-spacing:0;font-size:24px}.inventory-report-skeleton-metric span,.inventory-report-skeleton-metric strong,.inventory-report-skeleton-panel div{background:linear-gradient(90deg,#edf1f5 0%,#f8fafc 48%,#edf1f5 100%) 0 0/200% 100%;border-radius:4px;animation:1.2s ease-in-out infinite inventory-report-skeleton;display:block}.inventory-report-skeleton-metric span{color:#0000;width:64px;height:16px}.inventory-report-skeleton-metric strong{color:#0000;width:48px;height:28px}.inventory-number-negative{color:#dc2626!important}.inventory-report-panels{grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);gap:16px;margin-bottom:16px;display:grid}.inventory-report-panel{background:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;min-width:0;padding:14px;display:flex}.inventory-report-panel h4.ant-typography{letter-spacing:0;margin:0 0 12px;font-size:16px}.inventory-report-skeleton-panel div{flex:1;min-height:250px}@keyframes inventory-report-skeleton{0%{background-position:100% 0}to{background-position:-100% 0}}.inventory-bucket-chart-shell{flex:1;grid-template-rows:minmax(250px,1fr) 34px 20px 26px;grid-template-columns:16px 34px minmax(0,1fr);gap:0 4px;min-height:352px;display:grid}.inventory-bucket-y-title{color:#4b5563;letter-spacing:0;text-align:right;text-orientation:upright;writing-mode:vertical-rl;grid-area:1/1;place-self:center end;font-size:12px;line-height:1}.inventory-bucket-y-axis{color:#6b7280;text-align:right;flex-direction:column;grid-area:1/2;justify-content:space-between;height:100%;min-height:250px;font-size:11px;line-height:1;display:flex}.inventory-bucket-plot{grid-area:1/3;min-width:0;min-height:250px;position:relative;overflow:visible}.inventory-bucket-grid{z-index:0;pointer-events:none;flex-direction:column;justify-content:space-between;display:flex;position:absolute;inset:0}.inventory-bucket-grid span{border-top:1px solid #e5e7eb}.inventory-bucket-chart{z-index:2;position:absolute;inset:0}.inventory-bucket-group{cursor:help;width:54px;position:absolute;top:0;bottom:0;transform:translate(-50%)}.inventory-bucket-empty{z-index:1;color:#6b7280;place-items:center;display:grid;position:absolute;inset:0}.inventory-bucket-line{z-index:3;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.inventory-bucket-line polyline{fill:none;stroke:#2563eb;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.4px;vector-effect:non-scaling-stroke}.inventory-bucket-balance-point{z-index:4;pointer-events:none;width:9px;height:9px;position:absolute;transform:translate(-50%,-50%)}.inventory-bucket-balance-dot{background:#fff;border:2px solid #2563eb;border-radius:999px;width:9px;height:9px;display:block}.inventory-bucket-balance-label{color:#2563eb;pointer-events:none;white-space:nowrap;font-size:11px;font-weight:600;line-height:1;position:absolute;bottom:11px;left:50%;transform:translate(-50%)}.inventory-bucket-balance-point-label-below .inventory-bucket-balance-label{top:11px;bottom:auto}.inventory-bucket-x-axis{color:#6b7280;grid-area:2/3;min-height:34px;font-size:11px;line-height:1;position:relative;overflow:hidden}.inventory-bucket-x-axis span{text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:72px;position:absolute;top:8px;overflow:hidden;transform:translate(-50%)}.inventory-bucket-x-title{color:#4b5563;text-align:center;grid-area:3/3;font-size:12px;line-height:20px}.inventory-bucket-legend{color:#4b5563;flex-wrap:wrap;grid-area:4/3;align-items:center;gap:14px;font-size:12px;display:flex}.inventory-bucket-legend span{align-items:center;gap:5px;display:inline-flex}.inventory-bucket-legend i{border-radius:999px;display:inline-block}.inventory-bucket-balance-legend{background:#2563eb}.inventory-bucket-legend i.inventory-bucket-balance-legend{border-radius:999px;width:18px;height:2px}.inventory-top-list{gap:10px;display:grid}.inventory-top-row{grid-template-columns:minmax(92px,1fr) minmax(80px,1.5fr) 40px;align-items:center;gap:8px;min-height:24px;display:grid}.inventory-top-row span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.inventory-top-track{background:#e5e7eb;border-radius:4px;height:8px;overflow:hidden}.inventory-top-track span{background:#2563eb;border-radius:4px;height:100%;display:block}.inbound-editor,.inbound-history,.inbound-detail-content,.inbound-adjustment-form{width:100%}.inbound-editor{gap:16px;margin-bottom:24px;display:grid}.inbound-manual-editor{gap:16px;display:grid}.inbound-section .ant-tabs-content-holder{padding-top:24px}.inbound-draft-table.ant-table-wrapper{overflow-y:hidden}.inbound-draft-table .product-identity-selector{width:100%;display:block}.inbound-draft-table .product-identity-selector .ant-space-item,.inbound-draft-table .product-identity-style,.inbound-draft-table .product-identity-spec,.inbound-draft-table .inbound-draft-date-input,.inbound-draft-table .inbound-draft-quantity-input,.inbound-draft-table .inbound-draft-unit-price-input,.inbound-draft-table .inbound-draft-note-input{width:100%}.inbound-draft-table .inbound-draft-index-cell,.inbound-draft-table .inbound-draft-actions-cell{white-space:nowrap;min-width:64px}.inbound-adjustment-popover{width:360px}.inbound-adjustment-popover .ant-input{width:100%}.inbound-adjustment-popover .product-identity-selector{grid-template-columns:1fr 1fr;gap:8px;display:grid}.inbound-adjustment-popover .product-identity-selector .ant-space-item{min-width:0}.inbound-adjustment-popover .product-identity-style,.inbound-adjustment-popover .product-identity-spec{width:100%}.inbound-adjustment-type{width:120px}.inbound-adjustment-line{width:180px}.inbound-adjustment-quantity,.inbound-adjustment-unit-price{width:120px}.inbound-customer-wip-adjustment{width:100%}.inbound-customer-wip-adjustment .ant-typography{margin:0}.inbound-customer-wip-adjustment-type{width:140px}.inbound-customer-wip-adjustment-quantity{width:120px}.inbound-customer-wip-negative-row>td{background:#fff1f0}.inbound-document-input,.inbound-supplier-input{width:150px}.inbound-editor>.accounts-toolbar .inbound-movement-select,.inbound-editor>.accounts-toolbar .inbound-process-select,.inbound-editor>.accounts-toolbar .inbound-customer-type-select,.inbound-editor>.accounts-toolbar .inbound-processing-stage-select{width:100px}.inbound-draft-process-select{width:100%}.inbound-date-input{width:160px}.inbound-bulk-import,.inbound-bulk-import-content,.inbound-bulk-import-preview{width:100%;min-width:0}.inbound-bulk-import-content{gap:16px;display:grid}.inbound-bulk-import{background:#fafafa;border:1px solid #d9d9d9;border-radius:8px;padding:16px}.inbound-bulk-import-heading{justify-content:space-between;width:100%}.inbound-bulk-import-heading .ant-typography{margin:0}.inbound-bulk-import-toolbar{width:100%}.inbound-bulk-import-toolbar .ant-upload-list{max-width:min(520px,100%)}.inbound-bulk-import-toolbar .ant-upload-list-item-name{white-space:normal;word-break:break-all}.inbound-bulk-import-preview .ant-table-cell{vertical-align:top}.inbound-bulk-import-preview .ant-table-wrapper{overflow:hidden}.inbound-bulk-edit-form{width:100%}.inbound-bulk-edit-error{margin-bottom:16px}.inbound-bulk-edit-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 16px;display:grid}.inbound-bulk-edit-grid .ant-form-item{min-width:0;margin-bottom:0}.inbound-bulk-edit-grid .ant-input,.inbound-bulk-edit-grid .ant-input-number,.inbound-bulk-edit-grid .ant-select{width:100%}.inbound-bulk-edit-grid .product-identity-selector{display:block}.inbound-bulk-edit-grid .product-identity-selector .ant-space-item,.inbound-bulk-edit-grid .product-identity-spec{width:100%}.inbound-bulk-edit-full{grid-column:1/-1}.inbound-opening-import,.inbound-opening-import-toolbar{width:100%}.inbound-opening-import-toolbar .ant-upload-list{max-width:min(640px,100%)}.inbound-opening-import-toolbar .ant-upload-list-item-name{white-space:normal;word-break:break-all}.stocktake-toolbar{width:100%;margin-bottom:16px}.stocktake-toolbar .ant-upload-list{max-width:min(520px,100%)}.stocktake-toolbar .ant-upload-list-item-name{white-space:normal;word-break:break-all}.accounts-section .ant-btn-icon-only{width:32px}@media (width<=720px){.accounts-toolbar .ant-input-search,.inventory-report-toolbar .ant-input-search,.inventory-report-period,.inventory-report-date,.inbound-document-input,.inbound-supplier-input,.inbound-date-input{width:100%}.inventory-report-summary,.inventory-report-panels{grid-template-columns:1fr}}
