/* NEXORA Procurement Summary · same premium light visual language as reference */
body.route-purchase-summary, body.route-purchase-summary .main-content,body.route-home .main-content{background:#f5f7fb!important;color:#202c46!important}
.ps-page{max-width:1640px;width:100%;margin:0 auto;padding:22px 20px 55px;font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif;color:#1f2c48}
.ps-heading{display:flex;align-items:center;gap:14px;margin:3px 0 22px}
.ps-heading-icon{font-size:30px;font-weight:800;line-height:1;color:#5b57df}
.ps-heading h1{font-size:26px;letter-spacing:-.6px;line-height:1.2;margin:0 0 5px;font-weight:830;color:#1d2741}
.ps-heading p{font-size:13px;color:#748097;margin:0}
.ps-readonly{font-size:11px;color:#6879a4;margin-left:auto;padding:7px 11px;background:#eff2fd;border-radius:50px;white-space:nowrap}
.ps-panel{background:#fff;border:1px solid #e4e9f2;border-radius:13px;box-shadow:0 5px 20px rgba(35,53,96,.035)}
.ps-filters{display:grid;grid-template-columns:minmax(270px,1.6fr) minmax(135px,.8fr) minmax(160px,.9fr) minmax(190px,1.25fr) auto;gap:16px;padding:17px 20px;margin-bottom:14px;align-items:end}
.ps-filters label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:750;color:#3a4661;min-width:0}
.ps-filters input,.ps-filters select{width:100%;height:38px;padding:0 11px;border:1px solid #d7dfea;border-radius:8px;outline:none;background:#fff;color:#30415d;font-size:13px;font-family:inherit;min-width:0}
.ps-filters input:focus,.ps-filters select:focus{border-color:#7068ec;box-shadow:0 0 0 3px rgba(100,87,220,.10)}
.ps-dates{display:flex;align-items:center;gap:6px}.ps-dates input{min-width:118px;flex:1;padding:0 7px}.ps-dates span{color:#8995a5}
.ps-filter-actions{display:flex;gap:8px;align-items:center}.ps-button{border:1px solid #dce3ed;border-radius:7px;white-space:nowrap;cursor:pointer;padding:0 15px;height:38px;background:#fff;color:#485570;font-weight:750;font-size:12px;font-family:inherit}
.ps-button:hover{background:#f6f7ff;color:#514ac2}.ps-primary{background:linear-gradient(100deg,#6759e3,#5145c9);border-color:#6254df;color:#fff}.ps-primary:hover{background:#5147c7;color:#fff}
.ps-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:0 0 14px}
.ps-metric{border:5px solid #fff;border-radius:13px;padding:16px 18px;min-height:102px;display:flex;gap:16px;align-items:center;box-shadow:0 3px 17px rgba(31,47,90,.045)}
.ps-violet{background:linear-gradient(105deg,#f4f0ff,#f0effd)}.ps-blue{background:linear-gradient(105deg,#eef7ff,#e9f2fd)}.ps-green{background:linear-gradient(105deg,#eefaf6,#e9f7f3)}.ps-orange{background:linear-gradient(105deg,#fff8f0,#fff4e8)}
.ps-metric-icon{flex:none;width:49px;height:49px;display:grid;place-items:center;font-size:26px;color:#5f56de;background:#e7e3ff;border-radius:50%;font-weight:750}
.ps-blue .ps-metric-icon{color:#1688e5;background:#dceeff}.ps-green .ps-metric-icon{color:#09a77c;background:#def6ec}.ps-orange .ps-metric-icon{color:#f39030;background:#ffebd4}
.ps-metric-label{font-size:12px;font-weight:720;color:#56627c;margin-bottom:4px}.ps-metric strong{display:block;font-size:25px;font-weight:800;letter-spacing:-.5px;color:#202a43;line-height:1.3;white-space:nowrap}
.ps-metric small{font-size:10px;display:block;color:#8a95aa;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}
.ps-results{padding:0 0 7px;overflow:hidden}.ps-result-header{display:flex;align-items:center;justify-content:space-between;padding:0 16px;min-height:54px}.ps-tabs{display:flex;gap:17px;align-items:center;align-self:stretch}
.ps-tabs button{cursor:pointer;font-family:inherit;font-weight:700;background:none;border:0;border-bottom:3px solid transparent;color:#4d5a73;padding:2px 13px 0;font-size:14px}.ps-tabs button.active{color:#544be2;border-bottom-color:#6052e5}.ps-export{height:32px}
.ps-table-scroll{width:100%;overflow-x:auto;padding:0 10px}.ps-table{border-collapse:collapse;width:100%;min-width:1110px;font-size:12px;text-align:left}
.ps-table thead th{background:#f5f7fb!important;border:0;border-bottom:1px solid #e3e8f0;padding:13px 13px;font-weight:750;color:#52617a!important;white-space:nowrap}
.ps-table tbody td{padding:13px 13px;border-bottom:1px solid #edf0f6;background:#fff!important;color:#33435f!important;white-space:nowrap;vertical-align:middle}
.ps-table tbody tr:hover:not(.ps-total) td{background:#f9faff!important}.ps-table tbody td.ps-sku{color:#374361;font-weight:700;font-variant-numeric:tabular-nums}
.ps-table tbody td b{color:#263450;font-weight:800}.ps-table tbody td small{display:block}.ps-missing{color:#d18b26;font-size:10px;margin-top:3px}.ps-share{display:flex;align-items:center;gap:8px;min-width:115px}
.ps-share>span{font-size:11px;width:44px;color:#65728c}.ps-share i{height:7px;flex:1;background:#e9ecf5;border-radius:6px;overflow:hidden;display:block}.ps-share i b{display:block;height:100%;background:linear-gradient(90deg,#6355e7,#5c4ee1);border-radius:6px}
.ps-link{background:none;border:0;color:#5b54dd;font-size:12px;font-weight:720;cursor:pointer;padding:4px 0}.ps-link:hover{text-decoration:underline}.ps-table .ps-total td{background:#f2f4f9!important;color:#29364f!important;font-weight:750;border:0}
.ps-empty{padding:40px!important;text-align:center;color:#98a2b6!important}.ps-expanded td{background:#f8f9ff!important;padding:16px!important}.ps-mini-scroll{margin-top:8px;max-height:240px;overflow:auto}.ps-mini-scroll table{min-width:790px;width:100%;border-collapse:collapse}.ps-mini-scroll td,.ps-mini-scroll th{padding:10px!important;font-size:11px;border-bottom:1px solid #e8e9f5}
.ps-tally{display:flex;flex-wrap:wrap;gap:10px 22px;justify-content:space-between;align-items:center;padding:14px 17px 8px;color:#63728a;font-size:12px}.ps-tally b{color:#312f74}.ps-tally small{font-size:11px;color:#99a3b3}.ps-footnote{line-height:1.85;font-size:11px;color:#8995ab;margin:13px 3px}.ps-notice,.ps-error{margin:12px 18px;padding:12px 16px;background:#f2f5ff;border-radius:8px;color:#6e7890;font-size:12px}.ps-error{background:#fff4f1;color:#b14a44}
/* Unified page background and navigation: active behavior never depends on route. */
body :is(.sidebar,.nx-sidebar-unified) .nav-item{border-radius:8px!important;min-height:42px!important}
body :is(.sidebar,.nx-sidebar-unified) .nav-item.active,body :is(.sidebar,.nx-sidebar-unified) .nav-item[aria-current=page]{background:linear-gradient(100deg,#625add,#5149b9)!important;color:#fff!important;border-color:transparent!important;box-shadow:0 5px 13px rgba(60,52,153,.21)!important}
body :is(.sidebar,.nx-sidebar-unified) .nav-item.active>.icon,body :is(.sidebar,.nx-sidebar-unified) .nav-item[aria-current=page]>.icon{color:#fff!important}
body .main-content{background:#f5f7fb!important}body .topbar{background:#fff!important;border-bottom-color:#e6eaf2!important}
body .subpage{background:transparent}body .suite-page, body .ship-page, body .nxp-page,body .fo-page,body .il-page,body .lr-page,body .sm-page{color-scheme:light}
.nx-paused-page{max-width:1100px;margin:24px auto;padding:0 18px;color:#23324d}.nx-paused-heading{margin-bottom:20px}.nx-paused-heading h1{font-size:25px;margin:0 0 7px}.nx-paused-heading p{color:#8a96aa;margin:0;font-size:13px}.nx-paused-panel{display:flex;align-items:center;gap:18px;min-height:190px;background:#fff;border:1px solid #e2e8f1;border-radius:13px;box-shadow:0 5px 19px rgba(34,47,80,.045);padding:30px 35px}.nx-paused-symbol{background:#f0efff;color:#6157dd;border-radius:14px;display:grid;place-items:center;width:70px;height:70px;font-size:33px;flex:none}.nx-paused-panel h2{margin:0 0 8px;font-size:21px}.nx-paused-panel p{margin:0;font-size:13px;line-height:1.9;color:#7d8ba2}.nx-paused-tag{display:inline-block;background:#f3f4f8;color:#66718b;padding:5px 10px;border-radius:16px;margin-bottom:10px;font-size:11px;font-weight:750}
.sidebar .nx-nav-paused::after{content:'暂停';display:inline-block;font-size:10px;color:#9ba8c1;margin-left:auto}.sidebar .nx-nav-paused.active::after{color:#fff}
@media(max-width:1240px){.ps-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.ps-filter-actions{align-self:end}.ps-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.ps-page{padding:16px 12px}.ps-heading{flex-wrap:wrap}.ps-heading h1{font-size:23px}.ps-readonly{margin-left:0}.ps-filters{grid-template-columns:1fr}.ps-metrics{grid-template-columns:1fr}.ps-metric{min-height:82px}.ps-tally{display:block}.nx-paused-panel{flex-direction:column;align-items:start;padding:24px}}
/* Legacy theme has a more-specific subpage selector that painted the sidebar
   white. Override both route states with the same dark sidebar. */
body.subpage .sidebar,body:not(.subpage) .sidebar,body.subpage .nx-sidebar-unified,body:not(.subpage) .nx-sidebar-unified{
 background:linear-gradient(180deg,#151e34 0%,#19243b 54%,#141e33 100%)!important;
 border-right:1px solid #243047!important;
 box-shadow:2px 0 20px rgba(26,38,62,.10)!important;
}
/* Independent read-only reports and paused screens stay usable even if the
   unrelated home bootstrap is still loading. */
body.nx-data-loading:is(.route-purchase-summary,.route-procurement,.route-shipping,.route-listing,.route-listing-records,.route-finance-overview,.route-home) #dashboard{visibility:visible!important;pointer-events:auto!important}
body:is(.route-purchase-summary,.route-procurement,.route-shipping,.route-listing,.route-listing-records,.route-finance-overview,.route-home) #nx-data-status.nx-initial{display:none!important}
/* SKU-specific manual price entry, independent of procurement workflow. */
.ps-price-form{display:flex;align-items:center;gap:6px;min-width:210px;flex-wrap:wrap}
.ps-price-form>span{font-size:12px;color:#66738c;font-weight:800}
.ps-price-form input{width:108px;height:33px;padding:4px 8px;font-size:12px;font-weight:600;font-family:inherit;border:1px solid #cdd7e9;border-radius:7px;color:#24324f;background:#fff;outline:0;font-variant-numeric:tabular-nums}
.ps-price-form input:focus{border-color:#6255e0;box-shadow:0 0 0 3px rgba(98,85,224,.12)}
.ps-save-state{font-size:10.5px!important;color:#7a879d!important;white-space:nowrap;min-width:54px;font-weight:600}.ps-save-state.ps-save-done{color:#16866b!important}.ps-save-state.ps-save-failed{color:#bb4d43!important;font-weight:750}
.ps-product{max-width:380px;overflow:hidden;text-overflow:ellipsis}
.ps-uncosted{color:#c7832a}.ps-tally-note{color:#9a7890}
.ps-table tbody tr.ps-total small.ps-missing{color:#c7832a}
