:root{--color-primary:#087e70;--color-ink:#253f50;--color-muted:#80919d;--color-border:#e5ebf0;--color-surface:#fff;--color-layout:#f4f7fa;--color-nav:#172f43;--space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px;--radius:7px;--sidebar-width:198px;--content-width:1600px;color:var(--color-ink);background:var(--color-layout);font-family:PingFang SC,Microsoft YaHei,Arial,sans-serif;font-size:13px;line-height:1.6}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}a{color:var(--color-primary)}button{cursor:pointer}button:disabled{cursor:not-allowed}button:focus-visible,summary:focus-visible,a:focus-visible{outline-offset:3px;outline:2px solid #087e70}h1,h2,h3,p{margin:0}.app-shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);min-height:100vh;display:grid}.app-sidebar{background:var(--color-nav);color:#afc3cf;flex-direction:column;height:100vh;padding:27px 16px;display:flex;position:sticky;top:0}.brand{color:#fff;white-space:nowrap;align-items:center;gap:10px;padding:0 10px 34px;font-size:18px;font-weight:600;display:flex}.brand strong{font-weight:600}.brand-mark{color:#fff;background:#217f75;border-radius:8px;flex-shrink:0;place-items:center;width:34px;height:34px;font-size:18px;font-weight:600;display:grid}.app-nav{color:inherit;text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:12px;width:100%;margin-bottom:5px;padding:11px 13px;font-size:13px;line-height:1.6;display:flex}.app-nav svg{flex-shrink:0;width:17px;height:17px}.app-nav:hover{background:#254658}.app-nav.active{color:#fff;background:#2c4f61}.side-caption{color:#86a3b4;margin-top:auto;padding:18px 10px 0;font-size:11px;line-height:2}.side-caption .app-nav{margin-top:7px;margin-bottom:0;padding:6px 0;font-size:11px}.topbar{border-bottom:1px solid var(--color-border);background:#fff;justify-content:space-between;align-items:center;gap:16px;height:69px;padding:0 32px;font-size:11px;display:flex}.topbar-context b{font-weight:500}.topbar-actions{align-items:center;gap:12px;display:flex}.topbar .ant-btn{height:33px;padding-inline:11px}.session-badge{color:#438d7e;background:#edf5f1;border-radius:3px;padding:5px 9px;font-size:10px}.topbar .ant-btn.session-badge{height:26px;padding-inline:9px;font-size:10px}.workspace{width:100%;max-width:var(--content-width);margin:auto;padding:29px 32px 50px}.page-stack{flex-direction:column;gap:22px;display:flex}.app-workspace,.workspace,.page-stack,.workspace .ant-card,.workspace .ant-card-body,.ant-table-wrapper,.ant-tabs-content-holder{min-width:0;max-width:100%}.page-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:-1px;display:flex}.page-heading h1{letter-spacing:-.5px;font-size:26px;font-weight:600;line-height:1.6}.page-heading p{color:var(--color-muted);margin-top:7px;font-size:11px;line-height:1.6}.ant-btn{color:#456071;box-shadow:none}.ant-btn-primary{color:#fff}.ant-btn-color-primary.ant-btn-variant-link{color:var(--color-primary)}.ant-btn-default{border-color:#d9e3e9}.ant-card{border-color:var(--color-border)}.ant-card .ant-card-head{border-bottom-color:#edf1f4;min-height:65px;padding:0 21px}.ant-card .ant-card-head-title{padding:19px 0;font-size:16px;font-weight:600}.ant-card .ant-card-extra{color:var(--color-muted);font-size:10px}.ant-card .ant-card-body{padding:20px 21px}.overview-filters{color:#758a98;align-items:center;gap:8px;height:38px;margin-bottom:0;font-size:11px;display:flex}.overview-filters .ant-picker{width:132px;height:37px;padding:8px 11px}.overview-filters .refresh-overview{opacity:.6}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.metric-card{border:1px solid var(--color-border);background:#fff;border-radius:7px;min-height:148px;padding:19px 20px}.metric-card.featured{border-top:3px solid var(--color-primary);padding-top:17px}.metric-label{color:#7d919d;justify-content:space-between;gap:6px;font-size:11px;display:flex}.metric-value{letter-spacing:-1px;font-variant-numeric:tabular-nums;white-space:nowrap;margin:13px 0 10px;font-size:31px;font-weight:600;line-height:1.3}.metric-card.featured .metric-value{color:var(--color-primary)}.metric-value small{color:#8197a2;letter-spacing:0;margin-left:6px;font-size:12px;font-weight:400}.metric-note{color:#8b9ca6;flex-wrap:wrap;gap:12px;font-size:10px;line-height:1.6;display:flex}.metric-card .ant-progress{margin:9px 0;line-height:5px;display:block}.metric-card:has(.ant-progress) .metric-value{margin-bottom:10px}.metric-card:has(.ant-progress){padding-bottom:16px}.ledger-metrics .metric-card{min-height:128px}.group-grid,.source-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.group-card{border:1px solid var(--color-border);background:#fff;border-radius:7px;min-height:164px;padding:17px 20px}.group-card-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.group-card h2{font-size:13px;font-weight:600}.group-card-heading .ant-btn{height:auto;padding:0;font-size:10px}.group-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:15px 0 12px;display:grid}.group-kpis dt{color:var(--color-muted);font-size:10px}.group-kpis dd{color:#456675;font-variant-numeric:tabular-nums;margin:4px 0 0;font-size:19px}.group-kpis div:nth-child(2) dd{color:var(--color-primary)}.group-progress{color:#8b9ca6;justify-content:space-between;font-size:10px;display:flex}.group-progress strong{color:var(--color-primary);font-weight:500}.group-card .ant-progress{margin-top:9px;line-height:5px;display:block}.group-empty{color:var(--color-muted);grid-column:1/-1;place-items:center;font-size:11px;display:grid}.section-grid{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);align-items:stretch;gap:20px;display:grid}.section-grid>.span-7{grid-column:1}.section-grid>.span-5{grid-column:2}.section-grid>.span-5:first-child{grid-column:1}.section-grid>.span-7:last-child{grid-column:2}.trend-svg{width:100%;height:210px;display:block;overflow:visible}.trend-svg text{fill:#91a2ac;font-size:10px}.chart-grid{stroke:#edf1f3}.chart-area{fill:#e8f4ed}.chart-line{fill:none;stroke:#278a72;stroke-width:2.3px}.chart-point{fill:#278a72;stroke:#fff;stroke-width:1.5px}.chart-empty{height:210px;color:var(--color-muted);place-items:center;font-size:11px;display:grid}.trend-note{color:#94a4ad;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:10px;font-size:10px;display:flex}.chart-legend{color:#8b9ca6;align-items:center;gap:15px;font-size:10px;display:flex}.legend-dot{background:#238773;border-radius:1px;width:7px;height:7px;margin-right:5px;display:inline-block}.legend-dot.secondary{background:#b9d4cc}.age-bar{border-bottom:1px solid #edf1f3;grid-template-columns:72px minmax(0,1fr) 60px;align-items:center;gap:12px;padding:13px 0;display:grid}.age-bar:last-child{border-bottom:0}.age-bar-label{color:#5c7a88;white-space:nowrap;font-size:11px}.comparison-bar{border-radius:2px;height:5px}.comparison-bar.opening{background:#b9d4cc;margin-bottom:5px}.comparison-bar.current{background:#238773}.age-bar-number{text-align:right;color:#426675;font-variant-numeric:tabular-nums;font-size:13px}.age-bar-number small{color:#a0adb5;font-size:9px;display:block}.age-source-note{color:#8b9ca6;margin-top:9px;font-size:10px}.age-source-note span{margin-top:3px;display:block}.version-line{color:var(--color-muted);flex-wrap:wrap;align-items:center;gap:16px;font-size:11px;display:flex}.muted{color:var(--color-muted)}.number{font-variant-numeric:tabular-nums;white-space:nowrap}.positive-number{color:var(--color-primary);font-weight:600}.cell-subtitle{color:#98a7b0;margin-top:5px;font-size:10px}.responsibility-names,.member-names{font-size:11px;line-height:1.7}.table-panel .ant-card-body,.basics-panel .ant-card-body,.ledger-table-panel .ant-card-body{padding:0}.table-panel .ant-tabs-nav,.basics-panel .ant-tabs-nav{margin:0;padding:0 21px}.table-panel .ant-tabs-tab,.basics-panel .ant-tabs-tab{padding:14px 0}.basics-panel .ant-tabs-tab{padding-bottom:17px}.table-toolbar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.table-panel .table-toolbar{border-bottom:1px solid var(--color-border);padding:15px 21px}.table-count{color:#91a2ac;margin-left:auto;font-size:10px}.ant-table-wrapper .ant-table{color:#5c7a88;font-size:11px;line-height:1.6}.ant-table-wrapper .ant-table-thead>tr>th{padding:13px 15px;font-weight:500}.ant-table-wrapper .ant-table-tbody>tr>td{padding:16px 15px}.ant-table-wrapper .ant-table-thead>tr>th:before{display:none}.ant-table-wrapper .ant-table-tbody>tr:hover>td{background:#fafdfb}.ant-table-wrapper b{color:#3e6170;font-weight:500}.ant-table-wrapper .ant-table-content{max-height:640px}.ant-table-wrapper .ant-table-thead th{z-index:1;position:sticky;top:0}.ant-table-wrapper .ant-btn{font-size:11px}.goods-table .ant-table-content{max-height:760px}.goods-children{background:#f4f8f7;padding:10px 14px 17px}.children-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;font-size:11px;display:flex}.goods-children .ant-table-wrapper{border:1px solid var(--color-border);border-radius:5px;overflow:hidden}.goods-children .ant-table-content{max-height:540px}.ant-table-wrapper .ant-table-expanded-row>td{padding:0!important}.table-pager,.basics-pager{color:#8b9ca6;justify-content:space-between;align-items:center;gap:16px;padding:13px 21px;font-size:10px;display:flex}.table-pager>div,.basics-pager>div{align-items:center;gap:12px;display:flex}.table-pager .ant-btn,.basics-pager .ant-btn{height:29px;font-size:10px}.source-grid{gap:15px;margin-bottom:-1px}.source-card.ant-card{border-radius:6px}.source-card .ant-card-body{min-height:183.5px;padding:19px}.source-card-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.source-card-heading h3{font-size:13px;font-weight:500}.source-card-title{color:inherit;font:inherit;text-align:left;background:0 0;border:0;padding:0}.source-card-title:hover{color:var(--color-primary)}.source-card p{color:#8b9ca6;margin:8px 0 14px;font-size:10px}.source-count{margin-bottom:13px;font-size:24px;line-height:1.6}.source-count strong{font-weight:500}.source-count small{font-size:11px;font-weight:400}.source-actions{flex-wrap:wrap;gap:12px;display:flex}.source-actions .ant-btn{height:32px;font-size:10px}.basics-toolbar{color:#8b9ca6;border-bottom:1px solid #edf1f3;justify-content:space-between;align-items:center;gap:12px;padding:15px 21px;font-size:11px;display:flex}.basics-count{white-space:nowrap}.basics-source-note{margin-bottom:18px}.basics-list-tools{justify-content:flex-end;align-items:flex-start;gap:12px;padding:10px 16px;display:flex}.basics-quality-details{color:var(--color-muted);flex:1;min-width:0;font-size:10px}.basics-quality-content{gap:12px;padding-top:12px;display:grid}.basics-more-fields{border-top:1px solid var(--color-border);color:var(--color-muted);padding:13px 21px;font-size:11px}.basics-more-fields[open] .ant-table-wrapper{margin-top:12px}.basics-source-table .ant-table-cell{overflow-wrap:anywhere;max-width:250px}.ledger-filter-panel,.ledger-table-panel{border:1px solid var(--color-border);background:#fff;border-radius:7px;overflow:hidden}.ledger-filter-panel.ant-card .ant-card-body{padding:0}.ledger-filter-row{flex-wrap:wrap;align-items:center;gap:14px 20px;padding:15px 20px;display:flex}.ledger-filter-row+.ledger-filter-row{border-top:1px solid #edf1f3}.ledger-filter-row .filter-field{flex-direction:row;align-items:center;gap:9px;min-width:0;display:flex}.ledger-filter-row label,.ledger-date-range{color:#80919d;font-size:11px}.ledger-date-range{align-items:center;gap:9px;display:flex}.ledger-date-range .ant-picker,.ledger-date-range .ant-input{width:137px}.ledger-filter-row .ant-select{min-width:112px}.ledger-filter-row .ant-select,.ledger-filter-row .ant-input,.ledger-filter-row .ant-input-affix-wrapper{min-height:37px}.ledger-filter-row .ant-input-affix-wrapper .ant-input{min-height:0}.ledger-filter-row .ant-select-placeholder{color:#355264}.ledger-search{align-items:center;gap:9px;display:flex}.ledger-search .ant-input-affix-wrapper,.ledger-search .ant-input-group-wrapper{width:300px}.ledger-result-count{color:var(--color-muted);margin-left:auto;font-size:10px}.ledger-table-summary,.ledger-cycle-note{color:var(--color-muted);font-size:11px}.ledger-table-panel .table-toolbar{border-bottom:1px solid var(--color-border);justify-content:space-between;padding:15px 21px}.ledger-cycle-note{margin-top:-9px}.overview-evidence,.ledger-evidence{color:var(--color-muted);font-size:11px}summary{cursor:pointer}summary:hover{color:var(--color-primary)}.evidence-stack{gap:16px;margin-block:16px;display:grid}.evidence-stack h3{margin:0;font-size:13px}.block-alert{margin:16px 0}.empty-state{text-align:center;padding:48px 24px}.skeleton-space{background:#fff;border-radius:7px;padding:24px}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;display:grid}.filter-grid{flex-wrap:wrap;align-items:end;gap:16px;display:flex}.filter-field{flex-direction:column;gap:8px;min-width:152px;display:flex}.filter-field label{color:var(--color-muted);font-size:11px}.filter-search{flex:1;min-width:220px}.snapshot-time{white-space:nowrap}.section-heading{font-size:16px;font-weight:600}.consumption-modal{max-width:96vw;padding-bottom:0}.ant-modal-root:has(.consumption-modal) .ant-modal-mask{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0d283e70}.consumption-modal .ant-modal-container{border-radius:9px;max-height:92vh;padding:0;overflow:auto;box-shadow:0 20px 60px #112e4030}.consumption-modal .ant-modal-header{z-index:3;border-bottom:1px solid var(--color-border);background:#fff;margin:0;padding:24px;position:sticky;top:0}.consumption-modal .ant-modal-title{font-size:19px;font-weight:600}.consumption-modal .ant-modal-body{padding:23px 24px}.consumption-modal .ant-modal-footer{border-top:1px solid var(--color-border);margin:0;padding:15px 24px}.consumption-modal .muted,.modal-description{font-size:11px;font-weight:400}.consumption-modal .ant-modal-title .muted{margin-top:5px;display:block}.modal-heading{justify-content:space-between;align-items:flex-start;gap:15px;display:flex}.modal-heading h2{font-size:19px;font-weight:600}.modal-heading p{color:#92a3ad;margin-top:6px;font-size:11px;font-weight:400}.modal-heading-close{color:#80919d;background:0 0;border:0;padding:0 3px;font-size:23px;line-height:1.3}.model-steps{gap:17px;display:grid}.model-steps article{border-bottom:1px solid #edf1f3;padding:16px 0}.model-steps h3{color:#3e6872;margin-bottom:7px;font-size:13px;font-weight:500}.model-steps p{color:#7c939f;font-size:12px;line-height:1.9}.model-steps code{color:#4d7d70;background:#eff5f3;margin:5px 0;padding:4px 7px;font-family:monospace;font-size:11px;display:inline-block}.calculation-formulas{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px;margin:21px 0;display:grid}.formula{border-bottom:1px solid #edf1f3;padding:12px 0}.formula small{color:#8c9da5;font-size:10px;display:block}.formula b{color:#406673;margin:6px 0;font-size:12px;font-weight:500;display:block}.formula p{color:#95a4ad;font-size:10px}.calculation-error{color:#b46757;background:#fdf0ed;border-radius:5px;margin:13px 0;padding:11px 14px;font-size:12px}.evidence-stack>h3{margin:24px 0 12px;font-size:13px;font-weight:500}.calculation-note{color:#8b9ca6;font-size:11px;line-height:1.8}.calculation-facts{flex-wrap:wrap;gap:23px;margin:20px 0;display:flex}.calculation-facts>*{border-left:2px solid #d9e9e2;padding-left:12px}.calculation-facts small{color:#899ea8;font-size:10px;display:block}.calculation-facts b{color:#3c6e71;margin-top:4px;font-size:20px;font-weight:500;display:block}.sku-metadata{background:#f6faf8;border-radius:5px;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 25px;padding:16px;display:grid}.sku-metadata dt{color:#8b9ca6;font-size:10px}.sku-metadata dd{margin:4px 0 0;font-size:12px}.sku-code{color:#3e6170;font-size:12px;font-weight:500}.detail-list-tools{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.login-shell{background:linear-gradient(135deg,#f2f7f4,#e5edf0);place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{border:1px solid var(--color-border);background:#fff;border-radius:7px;width:100%;max-width:440px;padding:32px}.login-panel h1{margin:16px 0 8px;font-size:26px}.login-panel p{color:var(--color-muted);margin-bottom:24px;line-height:1.8}@media (width<=1120px){:root{--sidebar-width:176px}.app-sidebar{padding-inline:12px}.workspace{padding:25px}.topbar{padding-inline:25px}.metric-card{padding:17px}.metric-value{font-size:27px}.section-grid{grid-template-columns:minmax(0,1fr)}.section-grid>.span-7,.section-grid>.span-5,.section-grid>.span-5:first-child,.section-grid>.span-7:last-child{grid-column:1}.source-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=740px){.app-shell{display:block}.app-sidebar{flex-direction:row;align-items:center;gap:8px;height:auto;padding:14px 16px;position:relative;overflow:auto}.brand{gap:7px;padding:0 12px 0 0;font-size:15px}.brand-mark{width:27px;height:27px;font-size:15px}.app-sidebar nav{gap:4px;display:flex}.app-nav{white-space:nowrap;width:auto;margin-bottom:0;padding:8px 10px;font-size:11px}.app-nav svg,.side-caption{display:none}.topbar{gap:8px;height:59px;padding:13px 16px}.topbar-actions{gap:8px}.topbar .ant-btn{padding-inline:9px;font-size:10px}.session-badge{padding-inline:6px;font-size:9px}.workspace{padding:23px 16px 35px}.page-heading{flex-wrap:wrap;gap:10px}.page-heading h1{font-size:23px}.page-stack{gap:20px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric-card{min-height:148px;padding:15px 13px}.metric-card.featured{padding-top:13px}.metric-value{letter-spacing:-.6px;font-size:27px}.metric-label{font-size:10px}.metric-note{gap:4px;font-size:9px}.group-grid{grid-template-columns:minmax(0,1fr)}.source-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.source-card .ant-card-body{min-height:185px;padding:14px}.source-card p{min-height:32px}.source-actions{gap:7px}.source-actions .ant-btn{padding-inline:7px}.table-toolbar,.basics-toolbar{align-items:flex-start}.table-count{margin-left:0}.ant-card .ant-card-head{padding-inline:16px}.ant-card .ant-card-head-title{font-size:14px}.ant-card .ant-card-extra{white-space:normal;max-width:48%}.ant-card .ant-card-body{padding:18px 16px}.table-panel .ant-card-body,.basics-panel .ant-card-body,.ledger-table-panel .ant-card-body,.ledger-filter-panel.ant-card .ant-card-body{padding:0}.age-bar{grid-template-columns:70px minmax(0,1fr) 58px;gap:8px}.ledger-filter-row{gap:12px;padding:14px}.ledger-date-range{flex-wrap:wrap;gap:7px}.ledger-date-range .ant-picker,.ledger-date-range .ant-input{width:120px}.ledger-search{width:100%}.ledger-search .ant-input-group-wrapper,.ledger-search .ant-input-affix-wrapper{flex:1;width:auto}.ledger-result-count{margin-left:0}.field-grid,.calculation-formulas,.sku-metadata{grid-template-columns:minmax(0,1fr)}.consumption-modal{max-width:calc(100vw - 14px)}.consumption-modal .ant-modal-container{max-height:96vh}.consumption-modal .ant-modal-body{padding:18px 17px}.consumption-modal .ant-modal-header{padding:18px 16px}.consumption-modal .ant-modal-footer{padding:13px 16px}.consumption-modal .ant-modal-title{font-size:17px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.goods-table .ant-table-tbody>tr>td{vertical-align:middle}.goods-table .ant-table-cell.ant-table-row-expand-icon-cell{text-align:left;padding:16px 15px}.goods-table .ant-table-thead .ant-table-row-expand-icon-cell{padding:13px 15px}.ant-table-wrapper .sku-expand-button.ant-btn{color:#456071;height:36px;box-shadow:none;white-space:nowrap;background:#fff;border:1px solid #d9e3e9;border-radius:5px;padding:8px 13px;font-size:11px;line-height:17.6px}.ant-table-wrapper .sku-expand-button.ant-btn:hover{color:#456071;background:#f9fbfc;border-color:#b9cbd5}.metric-warning-link{color:#a77a32;white-space:nowrap;background:#fff5e5;border:0;border-radius:4px;padding:1px 6px;font-size:9px}
