:root{
 --ink:#17263D;
 --text-secondary:#34465F;
 --muted:#52627A;
 --line:#D4DEEA;
 --control-line:#C7D2E2;
 --blue:#3969E8;
 --blue2:var(--blue-soft);
 --blue-soft:#EDF3FF;
 --blue-line:#C7D7F4;
 --blue-ring:rgba(57,105,232,.14);
 --blue-shadow:rgba(57,105,232,.18);
 --green:#168B67;
 --green-soft:#E9F7F1;
 --green-line:#C6EADB;
 --orange:#A76000;
 --orange-soft:#FFF4DF;
 --orange-line:#F0D39E;
 --red:#B42332;
 --red-soft:#FFF0F0;
 --surface:#FFFFFF;
 --surface-soft:#F7F9FC;
 --surface-muted:#F0F3F7;
 --table-head:#EEF2F8;
 --bg:#F5F7FB;
 --nav:#18263B;
 --navmuted:#B7C3D4;
 --shadow:0 5px 20px rgba(25,42,70,.055);
}


.link-btn{border:0;background:transparent;color:var(--blue);padding:0;font:inherit;}.link-btn:hover{text-decoration:underline}.order-summary{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:12px;padding:14px;background:var(--surface-soft);border-radius:9px}.order-summary small{display:block;color:var(--muted);font-size:11px}.order-summary strong{display:block;margin-top:3px;font-size:14px}.order-summary select{margin-top:5px;max-width:190px}.muted{color:var(--muted);font-size:11px}
.nav-item .menu-caret{margin-left:auto;font-size:13px;color:var(--navmuted);transition:transform .15s}.nav-item[aria-expanded="false"] .menu-caret{transform:rotate(-90deg)}.nav-subnav{display:flex;flex-direction:column;padding:0 0 4px 20px}.nav-subnav.collapsed{display:none}.nav-platform{width:100%;border:0;background:none;color:var(--navmuted);text-align:left;border-radius:7px;padding:8px 11px;font-size:11px;cursor:pointer}.nav-platform:hover{background:#ffffff0d;color:#fff}.nav-platform.active{color:#fff;background:#314563;box-shadow:inset 2px 0 var(--blue)}.platform-toolbar{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;align-items:end;margin-bottom:14px}.platform-toolbar .field{min-width:0}.validation-strip{display:flex;align-items:center;gap:10px;padding:11px 13px;border-radius:8px;background:var(--blue-soft);border:1px solid var(--blue-line);color:var(--muted);font-size:11px;margin:12px 0}.platform-workflow{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:11px;margin:0 0 14px}.platform-workflow b{color:var(--text-secondary)}.emergency-import{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}.emergency-import summary{cursor:pointer;color:var(--muted);font-size:11px;font-weight:600}.emergency-import[open] summary{margin-bottom:12px}
*{box-sizing:border-box}body{margin:0;color:var(--ink);font:14px/1.55 "Microsoft YaHei UI","Microsoft YaHei",system-ui,sans-serif;background:var(--bg)}button,input,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:flex}.sidebar{width:238px;flex:0 0 238px;background:var(--nav);color:#fff;display:flex;flex-direction:column;padding:22px 14px 16px}.brand{display:flex;align-items:center;gap:12px;padding:2px 12px 28px}.brand-mark{width:36px;height:36px;border-radius:12px;background:linear-gradient(140deg,#5488ff,#345bd4);display:grid;place-items:center;font-weight:700;font-size:18px;box-shadow:0 5px 15px #0c183388}.brand b{display:block;font-size:15px;letter-spacing:.3px}.brand small{color:var(--navmuted);font-size:11px}.side-caption,.nav-group-label{color:var(--navmuted);font-size:11px;letter-spacing:.8px;padding:6px 13px 10px;text-transform:uppercase}.nav-item{width:100%;border:0;background:transparent;color:var(--navmuted);text-align:left;display:flex;align-items:center;gap:12px;padding:10px 13px;border-radius:8px;margin:2px 0;transition:.15s}.nav-item:hover{background:#ffffff0d;color:#fff}.nav-item.active{background:#2a3c58;color:#fff;box-shadow:inset 3px 0 var(--blue)}.nav-icon{width:18px;text-align:center;font-size:17px;color:var(--navmuted)}.nav-item.active .nav-icon{color:var(--blue)}.nav-badge{margin-left:auto;background:#334966;color:var(--navmuted);font-size:11px;border-radius:12px;padding:1px 7px}.nav-group-label{padding-top:22px}.soon{margin-left:auto;color:var(--navmuted);font-size:10px}.sidebar-bottom{margin-top:auto}.local-note{color:var(--navmuted);font-size:11px;padding:14px 12px 0;border-top:1px solid #ffffff12;margin-top:14px;display:flex;align-items:center;gap:8px}.green-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green)}.main-column{min-width:0;flex:1;display:flex;flex-direction:column}.topbar{height:62px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;position:sticky;top:0;z-index:3}.breadcrumbs{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13px}.breadcrumbs strong{color:var(--text-secondary);font-weight:600}.crumb-sep{color:var(--muted)}.topbar-right{display:flex;align-items:center;gap:11px}.local-pill{font-size:11px;color:var(--muted);border:1px solid var(--line);padding:5px 9px;border-radius:20px;display:flex;align-items:center;gap:7px}.avatar{width:28px;height:28px;display:grid;place-items:center;background:var(--blue-soft);color:var(--blue);border-radius:50%;font-size:11px;font-weight:700}.user-label{font-size:12px;color:var(--muted)}.content{width:100%;max-width:1500px;margin:0 auto;padding:30px 36px 46px;flex:1}.footer{padding:13px 36px;color:var(--muted);border-top:1px solid var(--line);font-size:11px;background:#fff}.footer span{float:right}.page-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;gap:20px}.eyebrow{font-size:11px;color:var(--muted);letter-spacing:1.2px;text-transform:uppercase;font-weight:700;margin-bottom:6px}.page-head h1{font-size:24px;line-height:1.25;margin:0 0 8px;letter-spacing:-.4px}.page-head p{margin:0;color:var(--muted);font-size:13px}.page-actions{display:flex;gap:9px;align-items:center}.btn{border:1px solid var(--line);background:#fff;color:var(--text-secondary);border-radius:7px;padding:9px 14px;font-size:12px;font-weight:600;transition:.15s;display:inline-flex;align-items:center;justify-content:center;gap:7px}.btn:hover{border-color:var(--line);background:var(--surface-soft)}.btn.primary{background:var(--blue);color:#fff;border-color:var(--blue);box-shadow:0 3px 8px var(--blue-shadow)}.btn.primary:hover{background:var(--blue)}.btn.small{padding:6px 10px;font-size:11px}.btn.danger{color:var(--red)}.btn:disabled{opacity:.45;cursor:not-allowed}.metrics{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:14px;margin-bottom:20px}.metric,.panel,.step-card,.settings-card,.roadmap-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow)}.metric{padding:17px 19px}.metric-top{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:12px}.metric-icon{width:28px;height:28px;background:var(--surface-soft);border-radius:8px;color:var(--blue);display:grid;place-items:center}.metric-value{font-size:27px;font-weight:700;margin-top:9px;letter-spacing:-.5px}.metric-foot{font-size:10px;color:var(--muted);margin-top:1px}.home-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(270px,.85fr);gap:16px}.panel{padding:19px 20px;margin-bottom:16px}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.panel-head h2{font-size:14px;margin:0;font-weight:700}.panel-head p{color:var(--muted);font-size:11px;margin:4px 0 0}.text-link{border:0;background:none;color:var(--blue);font-weight:600;font-size:11px}.empty{border:1px dashed var(--line);background:var(--surface-soft);border-radius:8px;color:var(--muted);text-align:center;padding:36px 18px;font-size:12px}.empty strong{display:block;color:var(--text-secondary);margin-bottom:5px;font-size:13px}.quick-card{padding:18px;border-radius:9px;background:linear-gradient(135deg,var(--blue-soft),var(--surface-soft));border:1px solid var(--blue-line);margin-bottom:12px}.quick-card h3{font-size:13px;margin:0 0 6px}.quick-card p{margin:0 0 14px;color:var(--muted);font-size:11px}.flow-list{display:flex;flex-direction:column;gap:12px}.flow-item{display:flex;align-items:flex-start;gap:11px}.flow-num{flex:0 0 23px;height:23px;border-radius:50%;display:grid;place-items:center;background:var(--blue-soft);color:var(--blue);font-size:10px;font-weight:700}.flow-item b{display:block;font-size:12px}.flow-item span{font-size:11px;color:var(--muted)}.notice{padding:12px 14px;background:var(--orange-soft);border:1px solid var(--orange-line);color:var(--orange);border-radius:8px;font-size:11px;display:flex;gap:9px;align-items:flex-start}.notice.blue{background:var(--blue-soft);border-color:var(--blue-line);color:var(--muted)}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:8px}table{border-collapse:collapse;width:100%;min-width:760px;text-align:left}th{background:var(--table-head);color:var(--muted);font-size:10px;font-weight:600;padding:10px 12px;white-space:nowrap;border-bottom:1px solid var(--line)}td{padding:11px 12px;border-bottom:1px solid var(--line);font-size:11px;color:var(--text-secondary);vertical-align:middle}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:var(--surface-soft)}.mono{font-family:inherit;font-variant-numeric:tabular-nums;color:var(--text-secondary)}.tag{display:inline-flex;align-items:center;border-radius:20px;padding:3px 8px;font-size:10px;white-space:nowrap}.tag.blue{background:var(--blue-soft);color:var(--blue)}.tag.green{background:var(--green-soft);color:var(--green)}.tag.amber{background:var(--orange-soft);color:var(--orange)}.tag.red{background:var(--red-soft);color:var(--red)}.tag.gray{background:var(--surface-muted);color:var(--muted)}.steps{display:flex;align-items:center;margin:0 0 18px;padding:14px 18px;background:#fff;border:1px solid var(--line);border-radius:9px}.step{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:11px;white-space:nowrap}.step.active{color:var(--blue);font-weight:600}.step.done{color:var(--green)}.step-dot{width:22px;height:22px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font-size:10px}.step.active .step-dot{background:var(--blue);border-color:var(--blue);color:#fff}.step.done .step-dot{background:var(--green-soft);border-color:var(--green-line);color:var(--green)}.step-line{height:1px;background:var(--line);flex:1;min-width:28px;margin:0 13px}.import-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:14px}.field label{display:block;font-size:11px;color:var(--muted);font-weight:600;margin-bottom:6px}.field select,.field input[type=text],.search-input{width:100%;height:37px;border:1px solid var(--line);border-radius:6px;background:#fff;padding:0 10px;color:var(--text-secondary);outline:0;font-size:11px}.field select:focus,.field input:focus,.search-input:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-ring)}.upload-zone{margin-top:17px;border:1px dashed var(--line);background:var(--surface-soft);border-radius:9px;text-align:center;padding:24px 16px;transition:.15s}.upload-zone.drag{background:var(--blue-soft);border-color:var(--blue)}.upload-symbol{width:38px;height:38px;border-radius:12px;margin:0 auto 9px;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;font-size:19px}.upload-zone b{font-size:12px}.upload-zone p{margin:4px 0 13px;color:var(--muted);font-size:10px}.upload-zone input{display:none}.review-box{margin-top:17px;padding-top:17px;border-top:1px solid var(--line)}.review-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.review-top h3{margin:0;font-size:13px}.review-top span{font-size:10px;color:var(--muted)}.mapping-grid{display:grid;grid-template-columns:repeat(3,minmax(145px,1fr));gap:10px;margin-bottom:15px}.map-field{padding:9px 10px;border:1px solid var(--line);border-radius:7px}.map-field label{font-size:10px;display:flex;justify-content:space-between;color:var(--muted);margin-bottom:6px}.required{color:var(--red)}.map-field select{width:100%;border:1px solid var(--line);border-radius:5px;height:31px;padding:0 7px;background:#fff;color:var(--text-secondary);font-size:10px}.count-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:15px 0}.count-chip{border:1px solid var(--line);border-radius:7px;padding:9px 11px}.count-chip span{display:block;color:var(--muted);font-size:10px}.count-chip b{font-size:17px}.table-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:12px 0}.check-cell{width:30px}.check-cell input{accent-color:var(--blue)}.settings-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:14px}.settings-card{padding:17px}.settings-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.settings-card h3{font-size:13px;margin:0}.setting-row{display:flex;align-items:center;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--surface-muted);gap:10px}.setting-row:last-of-type{border-bottom:0}.setting-name{font-size:11px}.setting-actions{display:flex;gap:5px}.setting-actions button{border:0;background:none;color:var(--muted);font-size:10px;padding:3px 5px}.setting-actions button:hover{color:var(--blue)}.inactive{color:var(--muted);text-decoration:line-through}.settings-hint{color:var(--muted);font-size:10px;margin-top:12px}.toolbar{display:flex;align-items:center;gap:9px;margin:0 0 15px}.search-input{max-width:320px}.toolbar-note{color:var(--muted);font-size:10px;margin-left:auto}.batch-id{;color:var(--muted);font-size:10px}.roadmap-grid{display:grid;grid-template-columns:repeat(3,minmax(200px,1fr));gap:14px}.roadmap-card{padding:18px}.roadmap-card .metric-icon{margin-bottom:14px}.roadmap-card h3{font-size:13px;margin:0 0 5px}.roadmap-card p{font-size:11px;color:var(--muted);margin:0 0 13px}.toast{position:fixed;right:26px;bottom:25px;z-index:10;background:#203149;color:#fff;border-radius:8px;padding:11px 15px;font-size:12px;box-shadow:0 8px 24px #17263d35;opacity:0;transform:translateY(8px);pointer-events:none;transition:.2s;max-width:min(480px,calc(100vw - 30px))}.toast.show{opacity:1;transform:translateY(0)}.toast.error{background:var(--red)}
@media(max-width:1050px){.sidebar{width:205px;flex-basis:205px}.content{padding:24px}.import-grid{grid-template-columns:1fr}.home-grid{grid-template-columns:1fr}.settings-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}}
@media(max-width:720px){.sidebar{width:62px;flex-basis:62px;padding:14px 7px}.brand{padding:2px 5px 24px}.brand>span:last-child,.side-caption,.nav-group-label,.nav-item:not(.active) .soon,.nav-badge,.sidebar-bottom .nav-item{display:none}.brand-mark{width:36px;flex:0 0 36px}.nav-item{font-size:0;justify-content:center;padding:11px 5px}.nav-icon{font-size:17px}.nav-item.active{font-size:0}.sidebar-bottom{display:none}.topbar{padding:0 15px}.user-label,.local-pill{display:none}.content{padding:20px 14px 34px}.page-head{display:block}.page-actions{margin-top:13px}.metrics{grid-template-columns:repeat(2,minmax(120px,1fr));gap:9px}.metric{padding:13px}.metric-value{font-size:22px}.form-grid,.mapping-grid,.settings-grid,.roadmap-grid{grid-template-columns:1fr 1fr}.steps{padding:11px;overflow:auto}.step-line{min-width:14px;margin:0 7px}.step{font-size:10px}.footer{padding:12px 14px}.footer span{display:none}.count-row{grid-template-columns:repeat(2,1fr)}}
@media(max-width:430px){.form-grid,.mapping-grid,.settings-grid,.roadmap-grid{grid-template-columns:1fr}.step{gap:5px}.page-head h1{font-size:21px}}

.more-actions{position:relative;display:inline-block}.more-actions summary{list-style:none;cursor:pointer}.more-actions summary::-webkit-details-marker{display:none}.more-actions-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:5;min-width:160px;padding:6px;background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:0 8px 24px #17263d20}.more-actions-menu button{display:block;width:100%;padding:9px 11px;border:0;background:#fff;text-align:left;cursor:pointer;border-radius:6px}.more-actions-menu button:hover{background:var(--surface-soft)}.order-filters{display:grid;grid-template-columns:2fr repeat(3,minmax(125px,1fr));gap:9px;margin:12px 0 16px}.order-filters input,.order-filters select{min-width:0}.order-list-panel{margin-top:6px}.fetch-dialog{width:min(540px,calc(100vw - 30px));max-height:88vh;border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:0 22px 70px #16274245}.fetch-dialog::backdrop{background:#15233870;backdrop-filter:blur(2px)}.fetch-dialog>div{display:flex;flex-direction:column;gap:15px}.fetch-dialog .panel-head{margin-bottom:0}.import-dialog{width:min(900px,calc(100vw - 30px));overflow:auto}.icon-btn{border:0;background:transparent;font-size:24px;cursor:pointer;color:var(--muted)}@media(max-width:900px){.order-filters{grid-template-columns:repeat(2,minmax(120px,1fr))}}@media(max-width:560px){.order-filters{grid-template-columns:1fr}.page-actions{display:flex;gap:8px}.order-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Order workbench visual hierarchy */

body{font-size:15px;line-height:1.55}
.content{max-width:none;padding:24px clamp(20px,2.4vw,42px) 44px}
.topbar{padding:0 clamp(20px,2.4vw,42px)}
.sidebar{width:252px;flex-basis:252px}
.nav-item{font-size:14px;min-height:42px}.nav-platform{font-size:14px;padding:9px 11px}.nav-group-label,.side-caption{font-size:12px;color:var(--navmuted)}
.page-head h1{font-size:26px}.page-head p{font-size:14px;color:var(--muted)}.eyebrow{font-size:12px}
.panel{padding:22px 24px}.panel-head h2{font-size:17px}.panel-head p{font-size:14px;color:var(--muted)}
.btn{min-height:42px;padding:8px 15px;font-size:14px;border-radius:8px}.btn.small{min-height:40px;padding:7px 12px;font-size:13px}.icon-btn{min-width:42px;min-height:42px;font-size:20px}
.field label,.filter-date{font-size:14px;color:var(--text-secondary)}
.field select,.field input[type=text],.search-input,.filter-row input,.filter-row select{height:42px;padding:0 12px;font-size:14px;color:var(--text-secondary);border-color:var(--control-line)}
.muted{font-size:13px;color:var(--muted)}
.order-summary small{font-size:13px;color:var(--muted)}.order-summary strong{font-size:15px}
.tag{font-size:12px;font-weight:600;padding:4px 9px}.tag.gray{color:var(--text-secondary);background:var(--surface-muted)}.tag.amber{color:var(--orange);background:var(--orange-soft)}.tag.blue{color:var(--blue);background:var(--blue-soft)}.tag.green{color:var(--green);background:var(--green-soft)}
.table-wrap{border-color:var(--line);border-radius:9px}table{min-width:780px}th{font-size:13px;color:var(--text-secondary);padding:13px 14px}td{font-size:14px;color:var(--text-secondary);padding:14px 14px;line-height:1.45}tbody tr{min-height:54px}td .muted{margin-top:3px}
.link-btn{font-size:14px;font-weight:600}
.order-list-panel .panel-head{margin-bottom:18px}.filter-groups{display:grid;gap:14px;padding:16px 18px;margin:0 0 12px;background:var(--surface-soft);border:1px solid var(--line);border-radius:10px}.filter-group h3{font-size:13px;color:var(--text-secondary);margin:0 0 8px;font-weight:700}.filter-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.filter-row>*{flex:1 1 170px;min-width:145px}.filter-row.keyword-row>*:first-child{flex:4 1 400px}.filter-row.keyword-row .btn{flex:0 0 auto;min-width:92px}.filter-date{display:flex;align-items:center;gap:10px;flex:1 1 200px}.filter-date input{min-width:130px;flex:1}
.order-quick-filters{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 16px}.quick-filter{height:38px;padding:0 14px;border:1px solid var(--line);border-radius:20px;background:#fff;color:var(--text-secondary);font-family:inherit;font-size:13px;font-weight:600;cursor:pointer}.quick-filter:hover{border-color:var(--blue-line);background:var(--blue-soft)}.quick-filter.active{border-color:var(--blue);background:var(--blue-soft);color:var(--blue)}
.order-table{min-width:940px}.order-table td{height:58px}.order-table .amount-cell{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.order-table .row-action{min-width:70px;min-height:40px;padding:6px 12px}
.table-toolbar{gap:10px}.fetch-dialog{width:min(560px,calc(100vw - 32px));padding:24px}.fetch-dialog .panel-head h2{font-size:18px}.fetch-dialog .panel-head p,.notice{font-size:14px}.fetch-dialog .form-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.emergency-import summary{font-size:13px;color:var(--text-secondary)}
@media(max-width:900px){.content{padding:20px}.sidebar{width:220px;flex-basis:220px}.filter-row>*{flex-basis:200px}}
@media(max-width:600px){.content{padding:16px}.panel{padding:17px}.sidebar{width:76px;flex-basis:76px}.filter-row>*{flex-basis:100%}.order-quick-filters{gap:6px}.quick-filter{padding:0 11px}}
/* Simplified product master */
.product-create{padding:0 20px;margin-bottom:16px}.product-create>summary{padding:16px 2px;cursor:pointer;list-style:none;color:var(--blue);font-size:15px;font-weight:700}.product-create>summary::-webkit-details-marker{display:none}.product-create[open]{padding-bottom:20px}.product-create[open] .form-grid{margin-top:4px}.product-table{min-width:1100px}.product-table td{height:58px}.product-table .mono{font-size:14px;font-weight:600;white-space:nowrap}.product-attrs{min-width:100px}.product-attrs summary{cursor:pointer;color:var(--blue);font-weight:600}.product-attrs>div{min-width:280px;padding:10px;margin-top:8px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);color:var(--text-secondary);font-size:13px;line-height:1.8}
/* Module-based purchasing workflow */
.purchase-create-fields{display:flex;align-items:end;gap:14px;flex-wrap:wrap;padding:16px;margin:12px 0;background:var(--surface-soft);border:1px solid var(--line);border-radius:9px}.purchase-create-fields label{display:grid;gap:6px;min-width:220px;color:var(--text-secondary);font-size:14px;font-weight:600}.purchase-create-fields input,.purchase-create-fields select,.purchase-table input[type=number]{height:40px;border:1px solid var(--control-line);border-radius:7px;background:#fff;padding:0 10px;font:inherit;color:var(--text-secondary)}.purchase-create-fields button{margin-left:auto}.purchase-table{min-width:1060px}.purchase-table input[type=number]{width:130px}.purchase-note{max-width:260px;margin-top:5px;color:var(--muted);font-size:13px;white-space:normal}.business-note-box{display:grid;grid-template-columns:1fr auto;gap:8px 14px;align-items:end;margin:18px 0;padding:16px;background:var(--surface-soft);border:1px solid var(--line);border-radius:9px}.business-note-box label{grid-column:1/-1;font-size:14px;font-weight:700;color:var(--text-secondary)}.business-note-box textarea{min-height:82px;resize:vertical;border:1px solid var(--control-line);border-radius:7px;padding:10px 12px;font-family:inherit;font-size:14px;line-height:1.55;color:var(--text-secondary)}.business-note-box .muted{grid-column:1/-1}.order-summary{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.nav-item[data-page=procurement],.nav-item[data-page=finance],.nav-item[data-page=fulfillment]{color:var(--line)}
.note-fields{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px}.business-note-box .note-fields label{display:grid;gap:6px;grid-column:auto;font-size:13px}.required-select-wrap{position:relative;display:block}.required-select-wrap select{width:100%;padding-right:82px}.required-inside-select{position:absolute;top:50%;right:28px;transform:translateY(-50%);pointer-events:none;padding:3px 8px;font-size:11px;line-height:1.35}.note-fields input,.note-fields select{height:42px;width:100%;border:1px solid var(--control-line);border-radius:7px;background:#fff;padding:0 10px;color:var(--text-secondary);font:inherit}.required-select-wrap select{padding-right:82px}.note-option-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:12px}.page-actions button:disabled{opacity:.65;cursor:wait}
.order-info-grid{display:grid;grid-template-columns:repeat(3,minmax(200px,1fr));gap:16px;padding:18px 4px;border-bottom:1px solid var(--line)}.order-info-grid>div{display:grid;align-content:start;gap:6px;min-width:0}.order-info-grid small{font-size:13px;color:var(--muted)}.order-info-grid strong{font-size:14px;color:var(--text-secondary);overflow-wrap:anywhere}.inline-edit{display:flex;align-items:center;gap:8px}.inline-edit input,.inline-edit select{min-width:0;width:100%;height:40px;border:1px solid var(--control-line);border-radius:7px;padding:0 10px;background:#fff;color:var(--text-secondary)}
.export-dialog{width:min(760px,calc(100vw - 30px));max-height:90vh;overflow:auto}.export-dialog>div{display:grid;gap:14px}.export-items-toggle,.export-remember{display:flex!important;grid-column:auto!important;align-items:center;gap:9px;color:var(--text-secondary);font-weight:600}.export-items-toggle input,.export-remember input,.export-field-grid input{width:18px;height:18px;accent-color:var(--blue)}.export-field-group{padding:12px 14px;border:1px solid var(--line);border-radius:9px;background:var(--surface-soft)}.export-field-group summary{cursor:pointer;font-size:14px;font-weight:700;color:var(--text-secondary)}.export-field-grid{display:grid;grid-template-columns:repeat(3,minmax(130px,1fr));gap:9px 14px;padding-top:12px}.export-field-grid label{display:flex!important;grid-column:auto!important;align-items:center;gap:8px;font-size:13px;font-weight:400}.export-dialog [hidden]{display:none!important}
@media(max-width:700px){.purchase-create-fields label{flex:1 1 100%;min-width:0}.purchase-create-fields button{margin-left:0;width:100%}.business-note-box{grid-template-columns:1fr}.business-note-box textarea,.business-note-box button,.note-fields{grid-column:1/-1}.note-fields,.note-option-grid,.order-info-grid{grid-template-columns:1fr}.inline-edit{align-items:stretch}}

@media(max-width:600px){.export-field-grid{grid-template-columns:repeat(2,minmax(110px,1fr))}}
.order-info-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 24px;padding:22px 4px;align-items:start}.order-info-grid>div{min-width:0}.order-info-grid .inline-edit{width:100%;min-width:0}.order-info-grid .inline-edit input,.order-info-grid .inline-edit select{flex:1 1 auto;min-width:0}.order-info-grid .inline-edit .btn{flex:0 0 72px;min-width:72px;height:40px;white-space:nowrap;word-break:keep-all;writing-mode:horizontal-tb}.business-note-box .note-fields{grid-column:1/-1}.business-note-box>button{grid-column:1/-1;min-height:42px}.procurement-steps{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;color:var(--text-secondary)}.procurement-steps>b{color:var(--text-secondary)}.procurement-steps span{padding:9px 13px;border-radius:999px;background:var(--surface-soft);font-size:14px;font-weight:600}.procurement-steps span.active{color:var(--blue);background:var(--blue-soft)}.procurement-steps i{color:var(--muted);font-style:normal}.purchase-action-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0}.purchase-action-bar input{flex:1;max-width:520px;height:42px;border:1px solid var(--control-line);border-radius:8px;padding:0 12px}.proc-order-card{border:1px solid var(--line);border-radius:12px;background:#fff;margin:14px 0;padding:16px 18px}.proc-order-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:12px;border-bottom:1px solid var(--line)}.proc-order-head h3{margin:8px 0 4px}.proc-order-head p{margin:0;color:var(--muted)}.proc-select-order{display:flex;align-items:center;gap:8px;font-weight:600;white-space:nowrap}.proc-select-order input,.purchase-table input[type=checkbox]{width:18px;height:18px;accent-color:var(--blue)}.proc-order-meta{display:grid;grid-template-columns:minmax(150px,1fr) minmax(180px,1.2fr) minmax(200px,1.5fr);gap:14px;padding:14px 0}.proc-order-meta>div{display:grid;gap:6px;min-width:0}.proc-order-meta small{color:var(--muted)}.proc-order-meta b{font-size:14px;font-weight:500;line-height:1.5;overflow-wrap:anywhere}.proc-order-controls{display:flex;gap:14px;align-items:end;padding:12px;background:var(--surface-soft);border-radius:9px;margin-bottom:12px}.proc-order-controls label{display:grid;gap:6px;min-width:240px;font-size:13px;font-weight:600}.proc-order-controls input,.proc-order-controls select{height:40px;border:1px solid var(--control-line);border-radius:7px;padding:0 10px;background:#fff}.proc-order-card[hidden]{display:none!important}.purchase-table{min-width:980px}.purchase-table input[type=number]{max-width:140px}@media(max-width:850px){.order-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.proc-order-meta{grid-template-columns:1fr}.proc-order-controls{flex-wrap:wrap}.proc-order-controls label{min-width:100%}.procurement-steps{justify-content:flex-start}.procurement-steps i{display:none}}@media(max-width:560px){.order-info-grid{grid-template-columns:1fr}.order-info-grid .inline-edit{align-items:center}.purchase-action-bar{align-items:stretch;flex-direction:column}.purchase-action-bar input{max-width:none;width:100%}.proc-order-head{align-items:flex-start;flex-direction:column}.proc-order-head .proc-select-order{white-space:normal}}
.order-summary{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;background:var(--surface-soft);border:1px solid var(--line);border-radius:12px;padding:16px}.order-summary>div{display:grid;align-content:start;gap:7px;padding:4px 10px}.order-summary small{font-size:13px;color:var(--muted)}.order-summary strong{font-size:17px;line-height:1.45;color:var(--text-secondary)}.order-summary .muted{font-size:12px;line-height:1.5}.order-source-id{;color:var(--text-secondary)}.order-info-grid{margin-top:8px}.order-info-grid .inline-edit .btn{padding:0 12px}.proc-order-card .purchase-table input[type=text]{min-width:175px;height:38px;padding:0 9px;border:1px solid var(--control-line);border-radius:7px}@media(max-width:760px){.order-summary{grid-template-columns:repeat(2,minmax(140px,1fr))}}@media(max-width:480px){.order-summary{grid-template-columns:1fr}}
.proc-order-list{display:grid;gap:7px}.proc-order-card{margin:0;padding:0;border:1px solid var(--line);border-radius:9px;overflow:hidden}.proc-order-head{display:flex;align-items:center;gap:18px;min-height:58px;padding:9px 14px;border:0;background:#fff;cursor:pointer;list-style:none}.proc-order-head::-webkit-details-marker{display:none}.proc-order-head:hover{background:var(--surface-soft)}.proc-order-title{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.proc-order-title b{font-size:15px}.proc-order-title span,.proc-order-hint{font-size:13px;color:var(--muted)}.proc-order-hint{white-space:nowrap}.proc-order-body{padding:4px 14px 14px;border-top:1px solid var(--line)}.proc-order-meta{padding:10px 0}.proc-order-controls{margin-bottom:10px}.proc-select-order{font-size:13px}.proc-select-order input{flex:0 0 auto}.proc-order-card[open] .proc-order-hint{color:var(--blue)}.proc-order-head>label{cursor:pointer}@media(max-width:700px){.proc-order-head{align-items:flex-start;flex-wrap:wrap;gap:8px}.proc-order-hint{margin-left:auto}}
.table-export-toolbar{display:flex;justify-content:flex-end;padding:6px 4px;background:#fff}.table-export-btn{height:var(--table-tool-height,34px);min-height:var(--table-tool-height,34px)}
.proc-order-grid{overflow:auto;max-height:68vh;border:1px solid var(--line);border-radius:5px;background:#fff}.proc-order-grid .table-export-toolbar{position:sticky;left:0;z-index:4}.proc-order-grid-head,.proc-order-grid .proc-order-head{display:grid;grid-template-columns:50px 74px 120px 76px 200px 110px 190px 110px 85px 75px;align-items:center;gap:0;min-width:1090px}.proc-order-grid-head{position:sticky;top:0;z-index:3;height:38px;padding:0;background:var(--table-head);color:var(--text-secondary);font-size:13px;font-weight:700;border-bottom:1px solid var(--line)}.proc-order-grid .proc-order-card{width:100%;min-width:1090px;margin:0;border:0;border-radius:0;border-bottom:1px solid var(--line);overflow:visible}.proc-order-grid .proc-order-head{height:48px;min-height:48px;padding:0;background:#fff;color:var(--text-secondary);font-size:13px}.proc-order-grid .proc-order-head>*{padding:0 8px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.proc-order-grid .proc-order-card[open]>.proc-order-head{background:var(--blue-soft)}.proc-order-grid .proc-row-index{text-align:center;border-right:1px solid var(--line);height:100%;display:flex;align-items:center;justify-content:center}.proc-order-grid .proc-order-no{display:flex;flex-direction:column;gap:2px}.proc-order-grid .proc-order-no small{font-size:11px;color:var(--muted)}.proc-order-grid .proc-select-order{display:flex;align-items:center;gap:6px;font-weight:500}.proc-order-grid .proc-select-order input{width:16px;height:16px}.proc-order-grid .proc-order-hint{text-align:center;color:var(--blue)}.proc-order-grid .proc-order-body{padding:12px 14px 16px;background:var(--surface-soft)}.proc-order-grid .proc-order-meta{grid-template-columns:1fr 1fr 1.5fr}.proc-order-grid .purchase-table{min-width:980px}

.saved-note-summary{grid-column:1/-1;padding:10px 12px;border:1px solid var(--blue-line);border-radius:7px;background:#fff;color:var(--text-secondary);font-size:14px;line-height:1.5}.saved-note-summary b{color:var(--blue)}.saved-note-summary span{overflow-wrap:anywhere}
.sales-order-flat-table{min-width:2500px}.sales-order-flat-table th,.sales-order-flat-table td,.procurement-flat-table th,.procurement-flat-table td{white-space:nowrap}.sales-order-flat-table td:nth-child(10),.sales-order-flat-table td:nth-child(13),.sales-order-flat-table td:nth-child(14),.sales-order-flat-table td:nth-child(15){white-space:normal;min-width:190px;max-width:320px}.procurement-flat-table{min-width:3100px}.procurement-flat-table input[type=text]{min-width:145px;height:38px;padding:0 9px;border:1px solid var(--control-line);border-radius:7px}.procurement-flat-table input[type=number]{min-width:110px;height:38px;padding:0 9px;border:1px solid var(--control-line);border-radius:7px}.procurement-flat-table select{min-width:145px;height:38px;border:1px solid var(--control-line);border-radius:7px;background:#fff}.procurement-flat-scroll,.sales-order-flat-scroll{max-width:100%;overflow-x:auto}.procurement-flat-table tbody tr:nth-child(2n),.sales-order-flat-table tbody tr:nth-child(2n){background:var(--surface-soft)}.procurement-flat-table .link-btn,.sales-order-flat-table .link-btn{font-weight:700;white-space:nowrap}.procurement-flat-table td:first-child,.sales-order-flat-table td:first-child{min-width:180px}.procurement-flat-table td:nth-child(10),.procurement-flat-table td:nth-child(11){white-space:normal;min-width:220px;max-width:320px}
.column-settings-dialog{width:min(760px,calc(100vw - 30px));max-height:88vh;overflow:auto}.column-settings-dialog .export-field-grid{grid-template-columns:repeat(3,minmax(0,1fr))}table [hidden]{display:none!important}

.purchase-draft-dialog{width:min(1600px,calc(100vw - 24px));max-height:94vh;overflow:auto}.purchase-draft-dialog>div{display:grid;gap:14px}.purchase-draft-table-wrap{max-height:68vh;overflow:auto}.purchase-draft-table{min-width:2380px}.purchase-draft-table thead th{position:sticky;top:0;z-index:2}.purchase-draft-table td{vertical-align:top;min-width:105px}.purchase-draft-table td:nth-child(1){min-width:190px}.purchase-draft-table td:nth-child(3),.purchase-draft-table td:nth-child(4){min-width:190px;max-width:245px;white-space:normal;overflow-wrap:anywhere}.purchase-draft-table td:nth-child(5){min-width:220px}.purchase-draft-table td:nth-child(9){min-width:245px}.purchase-draft-table td:nth-child(10){min-width:165px}.purchase-draft-table td:nth-child(13),.purchase-draft-table td:nth-child(14){min-width:175px}.purchase-draft-table input,.purchase-draft-table select{width:100%;min-width:100px;height:38px;margin:3px 0;border:1px solid var(--control-line);border-radius:7px;padding:0 8px;background:#fff;color:var(--text-secondary)}.purchase-draft-table td:nth-child(9) input,.purchase-draft-table td:nth-child(9) select{min-width:180px}.purchase-entity-cell{padding-top:3px}.purchase-entity-cell input{min-width:180px}.purchase-draft-table td:nth-child(15){min-width:165px;white-space:nowrap}.purchase-draft-table td:nth-child(15) div{margin:3px 0}.purchase-draft-summary{display:flex;align-items:center;justify-content:flex-end;gap:20px;flex-wrap:wrap;padding:13px 16px;border:1px solid var(--line);border-radius:9px;background:var(--surface-soft);color:var(--text-secondary)}.purchase-draft-summary b{margin-left:5px;color:var(--text-secondary);font-size:15px}.negative-profit{color:var(--red)!important}.purchase-draft-dialog .table-toolbar{align-items:center}.purchase-draft-dialog .table-toolbar>.muted{margin-right:auto}.supplier-create-form label{display:flex;align-items:center;gap:8px;color:var(--text-secondary);white-space:nowrap}.supplier-create-form select{height:42px;border:1px solid var(--control-line);border-radius:8px;padding:0 10px;background:#fff;color:var(--text-secondary)}@media(max-width:760px){.purchase-draft-summary{justify-content:flex-start;gap:10px 16px}.purchase-draft-dialog .table-toolbar{align-items:stretch;flex-wrap:wrap}.purchase-draft-dialog .table-toolbar>.muted{flex:1 1 100%}.supplier-create-form label{justify-content:space-between}}
/* Procurement workspace: aligned filters, compact order groups, and a persistent selection action bar. */
.procurement-pending-panel{padding-bottom:18px}
.procurement-list-head{margin-bottom:14px}
.procurement-filter-box{margin:0 0 14px;padding:15px 16px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}
.procurement-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px 14px;align-items:end}
.procurement-filter-grid>label{display:grid;gap:6px;min-width:0;color:var(--muted);font-size:13px;font-weight:600}
.procurement-filter-grid .proc-filter-keyword{grid-column:span 2}
.procurement-filter-grid input,.procurement-filter-grid select,.procurement-po-filter-grid input,.procurement-po-filter-grid select{width:100%;height:42px;min-width:0;border:1px solid var(--control-line);border-radius:8px;padding:0 11px;background:#fff;color:var(--text-secondary);font:inherit;font-weight:400}
.procurement-filter-grid select:disabled{background:var(--surface-muted);color:var(--muted);cursor:not-allowed}
.procurement-filter-actions{grid-column:1/-1;display:flex;justify-content:flex-end;align-items:center;gap:9px;padding-top:2px}
.procurement-filter-actions .btn{min-width:88px}
.proc-order-grid{max-height:min(68vh,760px);overflow:auto;border:1px solid var(--line);border-radius:10px;background:#fff}
.proc-order-grid-head,.proc-order-grid .proc-order-head{grid-template-columns:38px 112px 112px 90px minmax(170px,1.45fr) 132px minmax(220px,1.45fr) 112px 130px 94px;min-width:1195px}
.proc-order-grid-head{height:42px;padding:0;background:var(--table-head);color:var(--text-secondary);font-size:12px;border-bottom:1px solid var(--line)}
.proc-order-grid-head>span{height:100%;display:flex;align-items:center;padding:0 8px;border-right:1px solid var(--line);white-space:nowrap}
.proc-order-grid .proc-order-card{min-width:1195px}
.proc-order-grid .proc-order-head{height:58px;min-height:58px;padding:0;background:#fff;font-size:13px}
.proc-order-grid .proc-order-head>*{height:100%;display:flex;align-items:center;padding:0 8px;border-right:1px solid var(--surface-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.proc-order-grid .proc-order-no{align-items:flex-start;justify-content:center;gap:2px}
.proc-order-grid .proc-order-no .link-btn{padding:0;min-height:0;height:auto;font-size:13px}
.proc-order-grid .proc-order-no small,.proc-order-grid .proc-order-account small{font-size:11px;color:var(--muted)}
.proc-order-grid .proc-order-account{align-items:flex-start;justify-content:center;flex-direction:column;gap:2px}
.proc-order-grid .proc-order-hint{display:block;padding-top:20px;color:var(--muted)}
.proc-order-grid .proc-toggle-detail{justify-content:center;min-height:34px;height:34px;margin:0 7px;padding:0 7px;font-size:12px}
.proc-order-grid .proc-order-body{padding:12px 14px 14px;background:var(--surface-soft)}
.proc-order-meta{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 16px;padding:2px 0 12px}
.proc-order-meta>div{min-width:0;padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:#fff}
.proc-order-meta small{font-size:11px;color:var(--muted)}
.proc-order-meta b{font-size:13px;font-weight:500;line-height:1.5;white-space:normal;overflow-wrap:anywhere}
.procurement-detail-scroll{max-width:100%;overflow:auto;border:1px solid var(--line);border-radius:8px;background:#fff}
.procurement-detail-table{min-width:920px}
.procurement-detail-table th,.procurement-detail-table td{white-space:normal;padding:10px 12px}
.procurement-detail-table th:first-child,.procurement-detail-table td:first-child{width:84px;text-align:center}
.procurement-detail-table th:nth-child(2),.procurement-detail-table td:nth-child(2){min-width:230px}
.procurement-detail-table th:nth-child(3),.procurement-detail-table td:nth-child(3){min-width:180px}
.procurement-detail-table td:nth-child(2) div{margin-top:3px}
.purchase-selection-bar{position:sticky;bottom:10px;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:16px;margin:12px 0 0;padding:12px 16px;border:1px solid var(--blue-line);border-radius:10px;background:rgba(255,255,255,.97);box-shadow:0 8px 26px rgba(31,59,103,.14)}
.purchase-selection-bar[hidden]{display:none!important}
.purchase-selection-bar>div:first-child{display:grid;gap:4px;min-width:0}
.purchase-selection-bar>div:first-child b{font-size:14px;color:var(--blue)}
.purchase-selection-bar>div:first-child span{font-size:12px;color:var(--muted)}
.procurement-selection-actions{display:flex;align-items:center;gap:9px;flex:0 0 auto}
.purchase-filter-bar.procurement-po-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));align-items:end;gap:12px;margin:14px 0;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}
.procurement-po-filter-grid>label{display:grid;gap:6px;min-width:0;color:var(--muted);font-size:13px;font-weight:600}
.purchase-draft-dialog{width:min(1420px,calc(100vw - 28px));max-height:calc(100dvh - 24px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.purchase-draft-dialog>div{display:grid;gap:12px;max-height:none}
.purchase-confirm-dialog{width:min(680px,calc(100vw - 28px));max-height:calc(100dvh - 32px);overflow-x:hidden;overflow-y:auto;padding:22px;border-radius:16px;overscroll-behavior:contain;scrollbar-gutter:stable}
.purchase-confirm-dialog>div{display:grid;gap:14px}
.purchase-confirm-dialog .panel-head{align-items:flex-start;margin:0}
.purchase-confirm-dialog .panel-head h2{margin:2px 0 3px;font-size:20px;line-height:1.35}
.purchase-confirm-dialog .panel-head p{margin:0;font-size:13px;color:var(--muted)}
.purchase-confirm-eyebrow{font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--blue)}
.purchase-confirm-notice{display:flex;gap:9px;align-items:flex-start;padding:10px 12px;border:1px solid var(--blue-line);border-radius:9px;background:var(--blue-soft);color:var(--text-secondary);font-size:13px}
.purchase-confirm-notice>span:first-child{color:var(--blue);font-size:16px;line-height:1.2}
.purchase-confirm-groups{display:grid;gap:10px}
.purchase-confirm-group{min-width:0;padding:13px 14px;border:1px solid var(--line);border-radius:10px;background:#fff}
.purchase-confirm-group-title{display:flex;justify-content:space-between;align-items:center;gap:12px}
.purchase-confirm-group-title>span{font-size:11px;font-weight:700;color:var(--blue);padding:3px 8px;border-radius:999px;background:var(--blue-soft)}
.purchase-confirm-group-title>strong{font-size:17px;font-variant-numeric:tabular-nums;color:var(--text-secondary)}
.purchase-confirm-meta{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:8px;font-size:13px;font-weight:600;color:var(--text-secondary)}
.purchase-confirm-meta i{font-style:normal;color:var(--muted)}
.purchase-confirm-delivery,.purchase-confirm-orders{margin:6px 0 0;font-size:12px;color:var(--muted);overflow-wrap:anywhere}
.purchase-confirm-orders span{color:var(--text-secondary)}
.purchase-confirm-group ul{display:grid;gap:0;list-style:none;padding:0;margin:8px 0 0;border-top:1px solid var(--line)}
.purchase-confirm-group li{display:flex;justify-content:space-between;gap:14px;padding:7px 0 0;font-size:12px;color:var(--text-secondary)}
.purchase-confirm-group li span{min-width:0;overflow-wrap:anywhere}
.purchase-confirm-group li b{flex:0 0 auto;white-space:nowrap;font-variant-numeric:tabular-nums}
.purchase-confirm-footer{position:sticky;bottom:-22px;display:flex;justify-content:flex-end;gap:9px;padding:12px 0 0;background:linear-gradient(0deg,#fff 75%,#ffffffd9)}
.purchase-confirm-footer .btn{min-height:40px;font-size:13px}
@media(max-width:560px){.purchase-confirm-dialog{padding:17px}.purchase-confirm-dialog .panel-head h2{font-size:18px}.purchase-confirm-footer{bottom:-17px}.purchase-confirm-footer .btn{flex:1;padding:8px 10px}.purchase-confirm-group li{align-items:flex-start}}
.purchase-draft-steps{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface-soft);color:var(--text-secondary);font-size:13px;font-weight:600}
.purchase-draft-steps span{padding:7px 10px;border-radius:999px;background:var(--surface-muted)}
.purchase-draft-steps span.active{background:var(--blue-soft);color:var(--blue)}
.purchase-draft-steps i{font-style:normal;color:var(--muted)}
.purchase-draft-lines{display:grid;gap:12px;overflow:visible;padding-right:4px}
.purchase-draft-card{padding:14px;border:1px solid var(--line);border-radius:10px;background:#fff}
.purchase-draft-card-head{display:grid;grid-template-columns:minmax(220px,1fr) minmax(300px,1.5fr) 180px;gap:14px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.purchase-draft-card-head>div,.purchase-draft-card-head>label{display:grid;align-content:start;gap:4px;min-width:0}
.purchase-draft-card-head small,.purchase-draft-source small,.purchase-draft-readonly small,.purchase-quote-action small,.purchase-draft-line-totals small{font-size:11px;color:var(--muted)}
.purchase-draft-card-head b{font-size:13px;line-height:1.45;overflow-wrap:anywhere}
.purchase-draft-card-head>div>span{font-size:12px;color:var(--muted);overflow-wrap:anywhere}
.purchase-draft-card-head>label{color:var(--muted);font-size:12px;font-weight:600}
.purchase-draft-card input,.purchase-draft-card select{width:100%;min-width:0;height:40px;border:1px solid var(--control-line);border-radius:7px;padding:0 10px;background:#fff;color:var(--text-secondary);font:inherit}
.purchase-draft-card input:focus,.purchase-draft-card select:focus{outline:2px solid var(--blue-line);border-color:var(--blue)}
.purchase-draft-source{display:grid;grid-template-columns:1fr 1.4fr 1.5fr;gap:10px;margin-top:10px}
.purchase-draft-source>div,.purchase-draft-readonly{display:grid;align-content:start;gap:4px;min-width:0;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft)}
.purchase-draft-source b,.purchase-draft-readonly b{font-size:12px;line-height:1.5;font-weight:500;overflow-wrap:anywhere}
.purchase-draft-sections{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.purchase-draft-section{min-width:0;padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--surface-soft)}
.purchase-draft-section h3{margin:0 0 10px;font-size:13px;color:var(--text-secondary)}
.purchase-draft-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.purchase-draft-fields>label{display:grid;align-content:start;gap:5px;min-width:0;color:var(--muted);font-size:12px;font-weight:600}
.purchase-draft-readonly{min-height:60px;background:var(--surface-soft)}
.purchase-cost-fields{grid-template-columns:repeat(4,minmax(0,1fr))}
.purchase-quote-action{display:grid;align-content:start;justify-items:start;gap:5px}
.purchase-quote-action .btn{height:40px;min-height:40px}
.purchase-draft-line-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:11px}
.purchase-draft-line-totals>div{display:grid;gap:4px;padding:8px 10px;border-radius:7px;background:var(--surface-soft)}
.purchase-draft-line-totals b{font-size:14px;color:var(--ink)}
.purchase-draft-summary{justify-content:flex-end;gap:12px;padding:11px 13px}
.purchase-draft-summary>span{font-size:12px;white-space:nowrap}
.purchase-draft-summary b{font-size:14px}
.purchase-draft-footer{margin:0}
.purchase-draft-footer>.muted{margin-right:auto;font-size:12px}
.purchase-draft-list{display:grid;gap:10px;max-height:min(62vh,640px);overflow-y:auto;padding:1px 4px 1px 1px}
.purchase-draft-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 14px;border:1px solid var(--line);border-radius:9px;background:var(--surface-soft)}
.purchase-draft-row>div:first-child{display:grid;gap:5px;min-width:0}
.purchase-draft-row small{color:var(--muted)}
.purchase-draft-row span{overflow-wrap:anywhere;color:var(--text-secondary);font-size:13px}
.purchase-draft-row-actions{display:flex;align-items:center;gap:8px;white-space:nowrap}
@media(max-width:680px){.purchase-draft-row{grid-template-columns:1fr}.purchase-draft-row-actions{justify-content:flex-end}}
@media(max-width:1080px){.procurement-filter-grid,.purchase-filter-bar.procurement-po-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.proc-order-grid .proc-order-head>*{padding:0 6px}.proc-order-grid .proc-order-hint{font-size:12px}.purchase-draft-sections{grid-template-columns:1fr}}
@media(max-width:720px){.procurement-filter-grid,.purchase-filter-bar.procurement-po-filter-grid{grid-template-columns:1fr}.procurement-filter-grid .proc-filter-keyword{grid-column:auto}.procurement-filter-actions{justify-content:stretch;flex-wrap:wrap}.procurement-filter-actions .btn{flex:1 1 auto}.proc-order-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.purchase-selection-bar{align-items:stretch;flex-direction:column}.procurement-selection-actions{justify-content:flex-end}.purchase-draft-card-head{grid-template-columns:1fr}.purchase-draft-source{grid-template-columns:1fr}.purchase-draft-fields,.purchase-cost-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.purchase-draft-line-totals{grid-template-columns:repeat(2,minmax(0,1fr))}.purchase-draft-summary{justify-content:flex-start}}
@media(max-width:460px){.proc-order-meta{grid-template-columns:1fr}.purchase-draft-fields,.purchase-cost-fields{grid-template-columns:1fr}.procurement-selection-actions{flex-direction:column;align-items:stretch}.purchase-draft-footer{flex-wrap:wrap}.purchase-draft-footer>.muted{flex:1 1 100%}}
/* Flat line-item views: keep order context merged visually while line records remain independent. */
.column-settings-trigger{width:36px;min-width:36px;height:36px;min-height:36px;padding:0;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--muted);font-size:16px;line-height:1}
.column-settings-trigger:hover{border-color:var(--blue-line);background:var(--blue-soft);color:var(--blue)}
.order-filter-box{margin:0 0 12px;padding:14px 15px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}
.order-filter-grid{display:grid;grid-template-columns:minmax(260px,2fr) repeat(3,minmax(130px,1fr)) auto;gap:10px 12px;align-items:end}
.order-filter-grid>label,.order-advanced-grid>label{display:grid;gap:5px;min-width:0;color:var(--muted);font-size:12px;font-weight:600}
.order-filter-grid input,.order-filter-grid select,.order-advanced-grid input,.order-advanced-grid select{width:100%;min-width:0;height:38px;padding:0 10px;border:1px solid var(--control-line);border-radius:7px;background:#fff;color:var(--text-secondary);font:inherit;font-weight:400}
.order-filter-grid .order-filter-keyword{grid-column:span 2}
.order-filter-actions{display:flex;align-items:center;gap:8px}
.order-filter-actions .btn{height:38px;min-height:38px;padding:0 13px}
.order-advanced-filters{grid-column:1/-1;padding-top:3px;border-top:1px solid var(--line)}
.order-advanced-filters>summary,.procurement-advanced-filters>summary{width:max-content;padding:7px 2px 2px;color:var(--muted);font-size:12px;font-weight:600;cursor:pointer;list-style:none}
.order-advanced-filters>summary::-webkit-details-marker,.procurement-advanced-filters>summary::-webkit-details-marker{display:none}
.order-advanced-filters>summary::before,.procurement-advanced-filters>summary::before{content:'＋';display:inline-block;margin-right:5px;color:var(--blue)}
.order-advanced-filters[open]>summary::before,.procurement-advanced-filters[open]>summary::before{content:'−'}
.order-advanced-grid{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:10px 12px;padding:10px 0 2px}
.sales-order-flat-scroll{max-height:min(68vh,760px);overflow:auto}
.sales-order-flat-table{width:100%;min-width:0;table-layout:fixed}
.sales-order-flat-table th,.sales-order-flat-table td{padding:9px 8px;font-size:12px;line-height:1.4;white-space:normal;overflow-wrap:anywhere}
.sales-order-flat-table th{vertical-align:middle;background:var(--table-head)}
.sales-order-flat-table td[rowspan]{background:var(--surface-soft);vertical-align:middle}
.sales-order-flat-table tbody tr:hover td:not([rowspan]){background:var(--surface-soft)}
.sales-order-flat-table [data-col-key="order_no"]{width:110px}
.sales-order-flat-table [data-col-key="platform"]{width:55px}
.sales-order-flat-table [data-col-key="external_order_no"]{width:90px}
.sales-order-flat-table [data-col-key="order_date"]{width:100px}
.sales-order-flat-table [data-col-key="account"]{width:130px}
.sales-order-flat-table [data-col-key="receiver"]{width:95px}
.sales-order-flat-table [data-col-key="source_platform_code"]{width:85px}
.sales-order-flat-table [data-col-key="internal_product_code"]{width:86px}
.sales-order-flat-table [data-col-key="product_name"]{width:175px}
.sales-order-flat-table [data-col-key="product_attrs"]{width:110px}
.sales-order-flat-table [data-col-key="quantity"]{width:50px;text-align:right}
.sales-order-flat-table [data-col-key="unit"]{width:45px}
.sales-order-flat-table [data-col-key="unit_price"]{width:68px}
.sales-order-flat-table [data-col-key="item_amount"]{width:78px}
.sales-order-flat-table [data-col-key="order_type"]{width:82px}
.sales-order-flat-table [data-col-key="purchase"],.sales-order-flat-table [data-col-key="fulfillment"]{width:58px}
.sales-order-flat-table [data-col-key="action"]{width:55px;text-align:center}
.order-classify-control{margin-top:5px;color:var(--muted);font-size:11px;white-space:nowrap}
.order-classify-control input,.proc-select-order input,.procurement-detail-table input{accent-color:var(--blue)}
.procurement-advanced-filters{grid-column:1/-1;min-width:0;padding-top:1px;border-top:1px solid var(--line)}
.procurement-advanced-filters>div{display:grid;grid-template-columns:repeat(3,minmax(140px,1fr));gap:10px 12px;padding:9px 0 2px}
.procurement-advanced-filters label{display:grid;gap:5px;min-width:0;color:var(--muted);font-size:12px;font-weight:600}
.procurement-advanced-filters input,.procurement-advanced-filters select{width:100%;height:38px;min-width:0;border:1px solid var(--control-line);border-radius:7px;padding:0 10px;background:#fff;color:var(--text-secondary);font:inherit;font-weight:400}
.procurement-filter-grid{grid-template-columns:minmax(250px,2fr) repeat(2,minmax(150px,1fr)) auto}
.procurement-filter-grid .proc-filter-keyword{grid-column:auto}
.procurement-filter-actions{grid-column:auto;align-self:end;padding:0;white-space:nowrap}
.procurement-flat-scroll{max-height:min(68vh,760px)}
.procurement-detail-table{width:100%;min-width:0;table-layout:fixed}
.procurement-detail-table th,.procurement-detail-table td{padding:8px 7px;font-size:12px;line-height:1.4;white-space:normal;overflow-wrap:anywhere}
.procurement-detail-table th{background:var(--table-head)}
.procurement-detail-table td[rowspan]{background:var(--surface-soft);vertical-align:middle}
.procurement-detail-table tbody tr:hover td:not([rowspan]){background:var(--surface-soft)}
.procurement-detail-table th:first-child,.procurement-detail-table td:first-child{width:44px!important;min-width:44px!important;text-align:center}
.procurement-detail-table th:nth-child(2),.procurement-detail-table td:nth-child(2),.procurement-detail-table th:nth-child(3),.procurement-detail-table td:nth-child(3){min-width:0}
.procurement-detail-table [data-col-key="order_select"]{width:44px;text-align:center}
.procurement-detail-table [data-col-key="order_no"]{width:110px}
.procurement-detail-table [data-col-key="platform"]{width:60px}
.procurement-detail-table [data-col-key="external_order_no"]{width:100px}
.procurement-detail-table [data-col-key="order_date"]{width:105px}
.procurement-detail-table [data-col-key="account_name"]{width:120px}
.procurement-detail-table [data-col-key="buyer_account"]{width:80px}
.procurement-detail-table [data-col-key="receiver"]{width:110px}
.procurement-detail-table [data-col-key="receiver_address"]{width:165px}
.procurement-detail-table [data-col-key="business_note"]{width:180px}
.procurement-detail-table [data-col-key="item_select"]{width:46px;text-align:center}
.procurement-detail-table [data-col-key="product_code"]{width:82px}
.procurement-detail-table [data-col-key="product_name"]{width:180px}
.procurement-detail-table [data-col-key="product_attrs"]{width:115px}
.procurement-detail-table [data-col-key="unit"]{width:45px}
.procurement-detail-table [data-col-key="ordered_quantity"],.procurement-detail-table [data-col-key="purchased_quantity"],.procurement-detail-table [data-col-key="remaining_quantity"]{width:54px;text-align:right}
.procurement-detail-table [data-col-key="item_amount"]{width:82px;text-align:right}
.proc-select-order{display:flex;flex-direction:column;align-items:center;gap:5px;font-size:11px;color:var(--muted);white-space:nowrap}
.proc-select-order input,.procurement-detail-table input[type="checkbox"]{width:16px;height:16px;margin:0}
.proc-account-name{display:block;overflow-wrap:anywhere}
.proc-cell-secondary{display:block;margin-top:2px;color:var(--muted);font-size:11px}
.purchase-order-history-table{width:100%;min-width:1440px;table-layout:fixed}
.purchase-order-history-table [data-col-key="po_no"]{width:132px}
.purchase-order-history-table [data-col-key="source_orders"]{width:155px}
.purchase-order-history-table [data-col-key="supplier"]{width:86px}
.purchase-order-history-table [data-col-key="purchase_entity"]{width:185px;overflow-wrap:anywhere}
.purchase-order-history-table [data-col-key="account_name"]{width:155px}
.purchase-order-history-table [data-col-key="route"]{width:112px}
.purchase-order-history-table [data-col-key="total_amount"]{width:108px}
.purchase-order-history-table [data-col-key="current_stage"]{width:142px;white-space:nowrap}
.purchase-order-history-table [data-col-key="details"]{width:390px;min-width:390px;max-width:390px;white-space:normal;vertical-align:middle;padding:9px}
.purchase-order-history-table [data-col-key="actions"]{width:101px;min-width:101px;text-align:center}
.purchase-order-history-table [data-col-key="actions"] .btn{max-width:100%;padding:5px 7px;font-size:11px;white-space:nowrap}
.po-list-summary{display:grid;gap:5px;min-width:0}
.po-list-summary-main,.po-list-summary-foot{display:flex;align-items:center;gap:8px;min-width:0}
.po-list-count{flex:0 0 auto;padding:2px 7px;border-radius:999px;background:var(--blue-soft);color:var(--blue);font-size:10px;font-weight:700;white-space:nowrap}
.po-list-products{min-width:0;overflow:hidden;color:var(--text-secondary);font-size:11px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}
.po-list-summary-foot{justify-content:space-between;color:var(--muted);font-size:10px}
.po-no-detail{display:inline-flex;max-width:100%;padding:0;border:0;background:transparent;color:var(--primary);font:inherit;font-weight:700;white-space:nowrap;cursor:pointer}
.po-no-detail:hover{text-decoration:underline}
.option-settings-card .option-delete-btn{color:var(--red)}
.option-management-notice{margin:0 0 8px;font-size:12px}
.purchase-order-detail-dialog{width:min(900px,calc(100vw - 28px));max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.purchase-order-detail-dialog>div{display:grid;gap:13px}
.purchase-order-detail-dialog .panel-head{margin:0}
.purchase-order-detail-dialog .panel-head h2{margin:2px 0;font-size:19px}
.purchase-order-detail-dialog .panel-head p{margin:0;font-size:12px}
.po-detail-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;padding:11px 13px;border:1px solid var(--line);border-radius:9px;background:var(--surface-soft)}
.po-detail-overview>span{display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px;align-items:baseline;color:var(--muted);font-size:11px}
.po-detail-overview b{min-width:0;color:var(--text-secondary);font-size:12px;overflow-wrap:anywhere}
.po-detail-dialog-lines{display:grid;gap:9px;max-height:min(58vh,650px);overflow:auto;padding:1px 4px 1px 1px;overscroll-behavior:contain}
.po-detail-dialog-lines .po-detail-item{padding:12px}
.po-detail-dialog-footer{position:sticky;bottom:-20px;display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;padding:11px 0 0;background:linear-gradient(0deg,#fff 75%,#ffffffd9)}
.po-detail-dialog-footer>.muted{margin-right:auto}
@media(max-width:560px){.purchase-order-detail-dialog{padding:16px}.po-detail-overview{grid-template-columns:1fr}.po-detail-dialog-footer{bottom:-16px}.po-detail-dialog-footer>.muted{flex-basis:100%}}
.po-detail-list{display:grid;gap:8px;min-width:0}
.po-detail-item{min-width:0;padding:10px 11px;border:1px solid var(--line);border-radius:9px;background:#fff}
.po-item-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.po-item-heading>div{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:3px 8px;min-width:0}
.po-product-code{font-size:11px;font-weight:700;color:var(--blue);white-space:nowrap}
.po-item-heading strong{min-width:0;font-size:13px;line-height:1.45;color:var(--text-secondary);overflow-wrap:anywhere}
.po-product-spec{grid-column:2;color:var(--muted);font-size:11px}
.po-tax-tag{flex:0 0 auto;padding:3px 7px;border-radius:999px;background:var(--blue-soft);color:var(--blue);font-size:10px;white-space:nowrap}
.po-item-costs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px 10px;margin-top:9px;padding:8px 9px;border-radius:7px;background:var(--surface-soft)}
.po-item-costs>span{display:grid;gap:2px;color:var(--muted);font-size:10px;white-space:nowrap}
.po-item-costs b{font-size:11px;color:var(--text-secondary);font-variant-numeric:tabular-nums}
.po-item-costs .po-item-total b{color:var(--blue)}
.po-item-notes{display:grid;gap:5px;margin-top:8px}
.po-item-notes span{display:flex;gap:6px;align-items:baseline;font-size:11px;color:var(--text-secondary);overflow-wrap:anywhere}
.po-item-notes small,.po-source-facts small{flex:0 0 auto;color:var(--muted);font-size:10px}
.po-source-list{display:grid;gap:6px;margin-top:8px}
.po-source-card{min-width:0;padding:8px 9px;border-left:3px solid var(--blue-line);border-radius:0 7px 7px 0;background:#f7f9fc}
.po-source-title{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap}
.po-source-title b{font-size:11px;color:var(--text-secondary)}
.po-source-title span{font-size:10px;color:var(--muted)}
.po-source-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px;margin-top:6px}
.po-source-facts>span{display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px;align-items:baseline;min-width:0;font-size:10px;color:var(--text-secondary);overflow-wrap:anywhere}
.po-source-facts .po-source-address,.po-source-facts .po-source-note{grid-column:1/-1}
.po-source-facts em{font-style:normal;color:var(--muted)}
.po-source-missing{font-size:10px;color:var(--muted)}
.po-item-progress{margin-top:7px;padding-top:6px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}
.po-shipment-list{display:grid;gap:4px;margin-top:8px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);font-size:11px;color:var(--text-secondary)}
.po-shipment-list b{color:var(--muted);font-size:10px}
.po-shipment-list span{overflow-wrap:anywhere}
.column-settings-dialog{max-width:min(760px,calc(100vw - 24px));max-height:88vh;overflow:auto}
.column-hidden{visibility:hidden!important;width:0!important;min-width:0!important;max-width:0!important;padding-left:0!important;padding-right:0!important;border-left:0!important;border-right:0!important;overflow:hidden!important;font-size:0!important}
@media(max-width:1200px){.order-filter-grid{grid-template-columns:repeat(3,minmax(150px,1fr))}.order-filter-grid .order-filter-keyword{grid-column:span 2}.order-filter-actions{justify-content:flex-start}.procurement-filter-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}.procurement-filter-actions{grid-column:1/-1;justify-content:flex-end}.procurement-advanced-filters{grid-column:1/-1}}
@media(max-width:720px){.order-filter-grid,.order-advanced-grid,.procurement-filter-grid,.procurement-advanced-filters>div{grid-template-columns:1fr}.order-filter-grid .order-filter-keyword{grid-column:auto}.order-filter-actions{grid-column:1/-1}.sales-order-flat-scroll,.procurement-flat-scroll{max-height:65vh}.sales-order-flat-table,.procurement-detail-table{min-width:1180px;table-layout:auto}.purchase-order-history-table{min-width:1440px}}
.sales-order-flat-table td[data-col-key]{min-width:0;max-width:none}


/* Consistent table framing and column separators */
.table-wrap{border:1px solid var(--line);border-radius:10px;overflow:auto;background:#fff;box-shadow:0 1px 2px #1b2a3d08}
.table-wrap table{border-collapse:separate;border-spacing:0}
.table-wrap thead th{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--table-head)}
.table-wrap tbody td{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.table-wrap thead th:last-child,.table-wrap tbody td:last-child{border-right:0}
.table-wrap tbody tr:last-child td{border-bottom:0}
.table-wrap tbody tr:hover td:not([rowspan]){background:var(--blue-soft)}

/* Keep filter actions on a clear, consistent right edge */
.order-filter-actions{grid-column:1/-1;justify-content:flex-end;padding-top:3px}
.order-advanced-filters{grid-column:1/-1}
.procurement-filter-actions{grid-column:1/-1!important;justify-content:flex-end;justify-self:stretch;align-self:center;padding-top:4px;white-space:normal}
.supplier-filter-actions{display:flex;justify-content:flex-end;align-items:center;gap:9px}

/* Order detail hierarchy */
.order-overview-panel{display:grid;gap:18px;padding:24px}
.order-overview-panel .order-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:0;background:transparent;border:0}
.order-overview-panel .order-summary>div{min-height:88px;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}
.order-overview-panel .order-summary small{font-size:12px;letter-spacing:.1px}
.order-overview-panel .order-summary strong{font-size:20px;font-variant-numeric:tabular-nums}
.order-overview-panel .order-detail-meta-card{padding:17px 18px;border:1px solid var(--line);border-radius:10px;background:#fff}
.order-detail-section-heading{display:flex;align-items:baseline;gap:12px;margin:0 0 12px}
.order-detail-section-heading h2{margin:0;font-size:16px;color:var(--text-secondary)}
.order-detail-section-heading p{margin:0;color:var(--muted);font-size:12px}
.order-overview-panel .order-info-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0;padding:0;border:0}
.order-overview-panel .order-info-grid>div{min-height:62px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft)}
.order-overview-panel .order-info-grid small{font-size:12px;color:var(--muted)}
.order-overview-panel .order-info-grid strong{font-size:13px;line-height:1.45}
.order-overview-panel .order-info-grid .inline-edit input,.order-overview-panel .order-info-grid .inline-edit select{height:36px;font-size:13px}
.order-overview-panel .order-info-grid .inline-edit .btn{height:36px;min-height:36px}
.order-overview-panel .order-address strong{white-space:normal;overflow-wrap:anywhere}
.order-overview-panel .business-note-box{display:grid;grid-template-columns:1fr;gap:12px;margin:0;padding:18px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}
.order-overview-panel .business-note-box>label{font-size:15px}
.order-overview-panel .business-note-box .note-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}
.order-overview-panel .business-note-box .note-fields label{font-size:12px}
.order-overview-panel .business-note-box .note-fields input,.order-overview-panel .business-note-box .note-fields select{height:38px;font-size:13px}
.order-overview-panel .business-note-footer{display:flex;align-items:center;gap:12px}
.order-overview-panel .saved-note-summary{flex:1;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--muted);font-size:12px;overflow-wrap:anywhere}
.order-overview-panel .business-note-box #saveBusinessNote{grid-column:auto;justify-self:end;min-width:112px;min-height:38px}
.order-overview-panel .business-note-box>.muted{font-size:12px}
.order-overview-panel>.order-detail-actions{justify-content:flex-start;gap:9px;margin:0;padding:0}
.order-overview-panel>.order-detail-actions .notice{margin:0}
.order-overview-panel>.order-detail-section-heading{margin:0;padding-top:2px}
.order-related-panel{display:grid;gap:12px;padding:22px 24px}
.order-related-panel>h3{margin:0;padding-bottom:10px;border-bottom:1px solid var(--line);font-size:16px}
.order-related-panel>p.muted{margin:0}

/* Supplier maintenance follows the procurement workbench layout */
.supplier-panel{display:grid;gap:15px;padding:24px}
.supplier-panel .panel-head{margin-bottom:0}
.supplier-filter-box{display:grid;grid-template-columns:minmax(260px,2fr) minmax(170px,1fr) minmax(190px,1.1fr) auto;gap:12px;align-items:end;padding:15px 16px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}
.supplier-filter-box>label{display:grid;gap:6px;min-width:0;color:var(--muted);font-size:13px;font-weight:600}
.supplier-filter-box input,.supplier-filter-box select,.supplier-table select{width:100%;height:40px;min-width:0;border:1px solid var(--control-line);border-radius:8px;padding:0 11px;background:#fff;color:var(--text-secondary);font:inherit;font-weight:400}
.supplier-filter-actions{white-space:nowrap;padding-bottom:1px}
.supplier-table-toolbar{justify-content:flex-start;margin:0;padding:0 2px}
.supplier-table{min-width:860px}
.supplier-table select{max-width:155px;height:36px}
.supplier-row-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.supplier-dialog{max-width:min(540px,calc(100vw - 28px));padding:24px}
.supplier-dialog .panel-head{margin-bottom:16px}
.supplier-create-form{display:grid;grid-template-columns:1fr;gap:14px;padding:0;margin:0}
.supplier-create-form label{display:grid;gap:6px;white-space:normal;color:var(--muted);font-size:13px;font-weight:600}
.supplier-create-form input,.supplier-create-form select{width:100%;height:42px;border:1px solid var(--control-line);border-radius:8px;padding:0 11px;background:#fff;color:var(--text-secondary);font:inherit}
.supplier-dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:4px}

/* Settings are grouped and expandable so future options do not become a long flat page */
.system-settings-layout{display:grid;gap:14px}
.system-settings-layout>.settings-notice{margin:0}
.settings-section{overflow:hidden;border:1px solid var(--line);border-radius:11px;background:#fff;box-shadow:var(--shadow)}
.settings-section-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 20px;cursor:pointer;list-style:none;background:#fff}
.settings-section-summary::-webkit-details-marker{display:none}
.settings-section[open]>.settings-section-summary{border-bottom:1px solid var(--line)}
.settings-section-summary>span:first-child{display:grid;gap:3px}
.settings-section-summary b{font-size:15px;color:var(--text-secondary)}
.settings-section-summary small{font-size:12px;color:var(--muted)}
.settings-section-meta{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px;white-space:nowrap}
.settings-section-meta i{font-size:17px;font-style:normal;transition:transform .15s}
.settings-section[open]>.settings-section-summary .settings-section-meta i{transform:rotate(180deg)}
.settings-section>.settings-grid,.settings-section>.settings-option-grid{padding:16px;margin:0}
.settings-section>.settings-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.settings-section .settings-card{min-width:0;padding:16px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:none}
.settings-card-head p{margin:4px 0 0;color:var(--muted);font-size:12px;font-weight:400}
.settings-card-list,.option-settings-list{max-height:270px;overflow:auto;padding-right:2px}
.settings-card-list .setting-row,.option-settings-list .setting-row{min-height:40px}
.option-settings-card .settings-card-head{align-items:flex-start;gap:12px}
.option-settings-card .settings-card-head p{max-width:380px}
.option-empty{margin:8px 0 2px}
.settings-section>.note-option-grid{grid-template-columns:repeat(3,minmax(220px,1fr));gap:12px}
.settings-section.procurement-settings>.note-option-grid{grid-template-columns:minmax(280px,1fr)}

/* Unified interface baseline: readable type, consistent controls, and independent page panes. */
html,body{width:100%;height:100%;min-height:100%;overflow:hidden}
.app-shell{width:100%;height:100dvh;min-height:0;overflow:hidden}
.sidebar{height:100dvh;min-height:0;overflow:hidden;flex:0 0 238px}
.brand{flex:0 0 auto;padding-bottom:20px}
#navigation{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding-right:3px}
.sidebar-bottom{flex:0 0 auto;padding-top:8px;background:var(--nav)}
.main-column{height:100dvh;min-height:0;overflow:hidden}
.topbar,.footer{flex:0 0 auto}
.content{width:100%;max-width:none;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:24px clamp(18px,2vw,34px) 36px}
.page-head{margin-bottom:18px}
.page-head h1{font-size:28px;line-height:1.3}
.page-head p,.panel-head p,.settings-section-summary small{font-size:14px;line-height:1.5}
.eyebrow{font-size:13px;letter-spacing:.6px}
.panel{min-width:0;padding:20px 22px;margin-bottom:14px;border:1px solid var(--line);border-radius:12px;box-shadow:0 3px 14px rgba(25,42,70,.045)}
.panel-head{margin-bottom:13px}
.panel-head h2,.panel>h2{font-size:18px;line-height:1.4}
.panel-head p{margin-top:4px}
.muted,.toolbar-note,.settings-hint,.notice,.empty{font-size:13px;line-height:1.55}
.empty{padding:28px 18px}
.btn{min-height:40px;padding:8px 14px;font-size:14px;border-radius:8px}
.btn.small{min-height:36px;padding:6px 10px;font-size:13px}
.text-link,.setting-actions button{font-size:13px}
#mainContent input:not([type=checkbox]):not([type=radio]):not([type=file]),#mainContent select{min-height:40px;font-size:14px;border-radius:8px}
#mainContent textarea{font-size:14px;border-radius:8px}
.field label,.filter-date,.supplier-filter-box>label,.procurement-filter-grid>label,.order-filter-grid>label,.order-advanced-grid>label{font-size:13px}
.table-wrap{display:block;width:100%;max-width:100%;min-width:0;overflow:auto;overscroll-behavior:contain;border:1px solid var(--line);border-radius:9px;background:#fff;box-shadow:none;contain:inline-size}
.table-wrap table{width:100%;min-width:760px;border-collapse:separate;border-spacing:0;text-align:left}
.table-wrap th{padding:10px 12px;background:var(--table-head);color:var(--text-secondary);font-size:13px;font-weight:700;line-height:1.4;white-space:nowrap;border-bottom:1px solid var(--line)}
.table-wrap td{padding:10px 12px;color:var(--text-secondary);font-size:14px;line-height:1.45;vertical-align:middle;border-bottom:1px solid var(--line)}
.table-wrap tbody tr:last-child td{border-bottom:0}
.table-wrap th,.table-wrap td{border-right:1px solid var(--line)}
.table-wrap th:last-child,.table-wrap td:last-child{border-right:0}
.table-wrap tbody tr:nth-child(even){background:var(--surface-soft)}
.table-wrap tbody tr:hover{background:var(--surface-soft)}
.tag{font-size:12px;font-weight:600}
.table-action-link{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:2px 5px;border:0;border-radius:5px;background:transparent;color:var(--blue);font:inherit;font-size:14px;font-weight:600;white-space:nowrap;cursor:pointer}
.table-action-link:hover{background:var(--blue-soft);text-decoration:underline}
.table-action-link.danger-link{color:var(--red)}
.table-action-link:disabled{opacity:.55;cursor:wait}
.table-wrap [data-col-key="order_no"],.table-wrap [data-col-key="po_no"]{white-space:nowrap;word-break:keep-all;overflow-wrap:normal}
.sales-order-flat-scroll,.procurement-flat-scroll{display:block;width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;contain:inline-size}
.sales-order-flat-table,.procurement-detail-table{width:max-content;min-width:100%;table-layout:auto}
.sales-order-flat-table th,.sales-order-flat-table td,.procurement-detail-table th,.procurement-detail-table td{padding:10px 10px;font-size:14px;line-height:1.45;white-space:nowrap;overflow-wrap:normal;word-break:normal}
.sales-order-flat-table td[data-col-key="order_no"],.procurement-detail-table td[data-col-key="order_no"]{min-width:145px!important;width:145px!important;white-space:nowrap!important}
.sales-order-flat-table [data-col-key="platform"],.procurement-detail-table [data-col-key="platform"]{min-width:80px;width:80px;white-space:nowrap}
.sales-order-flat-table [data-col-key="external_order_no"],.procurement-detail-table [data-col-key="external_order_no"]{min-width:130px;white-space:nowrap}
.sales-order-flat-table [data-col-key="order_date"],.procurement-detail-table [data-col-key="order_date"]{min-width:150px;white-space:nowrap}
.sales-order-flat-table [data-col-key="account"],.procurement-detail-table [data-col-key="account_name"]{min-width:190px;white-space:nowrap}
.sales-order-flat-table [data-col-key="buyer_account"],.procurement-detail-table [data-col-key="buyer_account"]{min-width:125px;white-space:nowrap}
.sales-order-flat-table [data-col-key="receiver"]{min-width:155px;white-space:nowrap}
.sales-order-flat-table [data-col-key="receiver_address"],.sales-order-flat-table [data-col-key="business_note"],.procurement-detail-table [data-col-key="receiver_address"],.procurement-detail-table [data-col-key="business_note"]{min-width:200px;max-width:300px;white-space:normal;overflow-wrap:anywhere;word-break:normal}
.sales-order-flat-table [data-col-key="source_platform_code"],.sales-order-flat-table [data-col-key="internal_product_code"],.procurement-detail-table [data-col-key="product_code"]{min-width:130px;white-space:nowrap}
.sales-order-flat-table [data-col-key="product_name"],.sales-order-flat-table [data-col-key="product_attrs"],.procurement-detail-table [data-col-key="product_name"],.procurement-detail-table [data-col-key="product_attrs"]{min-width:210px;max-width:300px;white-space:normal;overflow-wrap:anywhere}
.sales-order-flat-table [data-col-key="quantity"],.sales-order-flat-table [data-col-key="unit"],.sales-order-flat-table [data-col-key="unit_price"],.sales-order-flat-table [data-col-key="item_amount"],.sales-order-flat-table [data-col-key="order_amount"],.sales-order-flat-table [data-col-key="purchase"],.sales-order-flat-table [data-col-key="fulfillment"],.procurement-detail-table [data-col-key="unit"],.procurement-detail-table [data-col-key="ordered_quantity"],.procurement-detail-table [data-col-key="purchased_quantity"],.procurement-detail-table [data-col-key="remaining_quantity"],.procurement-detail-table [data-col-key="item_amount"]{min-width:86px;white-space:nowrap;font-variant-numeric:tabular-nums}
.table-wrap [data-col-key="action"],.table-wrap [data-col-key="actions"]{position:sticky;right:0;z-index:2;background:#fff;box-shadow:-5px 0 8px rgba(30,48,73,.06)}
.sales-order-flat-table [data-col-key="action"],.sales-order-flat-table th[data-col-key="action"],.purchase-order-history-table [data-col-key="actions"]{min-width:72px;width:72px;text-align:center}
.table-wrap thead [data-col-key="action"],.table-wrap thead [data-col-key="actions"]{z-index:4;background:var(--table-head)}
.sales-order-flat-table [data-col-key="order_no"] .link-btn,.procurement-detail-table [data-col-key="order_no"] .link-btn{font-family:inherit;font-size:14px;font-weight:700;white-space:nowrap;word-break:keep-all}
.order-overview-panel{gap:12px;padding:18px}
.order-overview-panel .order-summary{gap:9px}
.order-overview-panel .order-summary>div{min-height:70px;padding:10px 13px}
.order-overview-panel .order-summary strong{font-size:18px}
.order-overview-panel .order-detail-meta-card{padding:13px 14px}
.order-overview-panel .order-info-grid{gap:8px;margin:0;grid-template-columns:repeat(4,minmax(0,1fr))}
.order-overview-panel .order-info-grid>div{min-height:54px;padding:8px 10px}
.order-overview-panel .order-info-grid small,.order-overview-panel .business-note-box .note-fields label{font-size:13px}
.order-overview-panel .order-info-grid strong{font-size:14px}
.order-overview-panel .business-note-box{gap:9px;padding:13px 14px}
.order-overview-panel .business-note-box>label{font-size:16px}
.order-overview-panel .business-note-box .note-fields{gap:9px}
.order-overview-panel .saved-note-summary{font-size:13px}
.order-related-panel{gap:10px;padding:16px 18px}
.order-related-panel>h3{padding-bottom:7px;font-size:18px}
.order-detail-section-heading h2{font-size:18px}
.order-detail-section-heading p{font-size:13px}
.supplier-panel{gap:13px;padding:20px 22px}
.supplier-filter-box{grid-template-columns:minmax(250px,2fr) repeat(3,minmax(155px,1fr)) auto;gap:10px;padding:13px}
.supplier-filter-box.supplier-filter-compact{grid-template-columns:minmax(210px,1.35fr) minmax(130px,.8fr) minmax(145px,.9fr) minmax(260px,1.65fr) auto}
.supplier-more-filters{grid-column:1/-1;border-top:1px solid var(--line);padding-top:9px}
.supplier-more-filters>summary{width:max-content;color:var(--blue);font-size:12px;font-weight:600;cursor:pointer}
.supplier-more-filters>div{display:grid;grid-template-columns:repeat(2,minmax(160px,240px));gap:10px;margin-top:10px}
.supplier-more-filters label{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:600}
.supplier-table{width:max-content;min-width:100%;table-layout:auto}
.supplier-table th,.supplier-table td{white-space:nowrap}
.supplier-table td small{display:block;margin-top:3px;color:var(--muted);font-size:13px;line-height:1.4}
.supplier-row-actions{display:flex;align-items:center;gap:5px;flex-wrap:nowrap}
.supplier-row-actions .more-actions[open]{z-index:30}
.supplier-row-actions .more-actions-menu{top:auto;bottom:calc(100% + 6px);z-index:30}
.table-wrap .data-grid-table>tbody>tr>td.grid-action-column:has(.more-actions[open]){position:relative;z-index:25;overflow:visible}
.supplier-table tbody td{height:58px;vertical-align:middle}
.supplier-table th[data-col-key="supplier_name"],.supplier-table td[data-grid-key="supplier_name"]{min-width:220px;max-width:320px}
.supplier-table th[data-col-key="company"],.supplier-table td[data-grid-key="company"]{min-width:220px;max-width:300px}
.supplier-table th[data-col-key="contact_person"],.supplier-table td[data-grid-key="contact_person"]{min-width:105px;max-width:160px;white-space:nowrap}
.supplier-table th[data-col-key="phone"],.supplier-table td[data-grid-key="phone"]{min-width:135px;max-width:190px;white-space:nowrap}
.supplier-table th[data-col-key="payment_term"],.supplier-table td[data-grid-key="payment_term"]{min-width:110px;max-width:150px}
.supplier-table th[data-col-key="settlement_cycle"],.supplier-table td[data-grid-key="settlement_cycle"]{min-width:160px;max-width:240px;white-space:nowrap}
.supplier-table th[data-col-key="contract_due_date"],.supplier-table td[data-grid-key="contract_due_date"]{min-width:125px;max-width:160px}
.supplier-table th[data-col-key="cooperation_status"],.supplier-table td[data-grid-key="cooperation_status"]{min-width:95px;max-width:120px}
.supplier-table th[data-col-key="action"],.supplier-table td[data-grid-key="action"]{min-width:210px}
.supplier-dialog,.supplier-detail-dialog{width:min(900px,calc(100vw - 28px));max-width:900px;max-height:90dvh;overflow:auto;padding:22px}
.supplier-dialog>div,.supplier-detail-dialog>div{display:flex;flex-direction:column;gap:14px}
.supplier-form-tabs{display:flex;gap:7px;overflow-x:auto;padding:3px;border-bottom:1px solid var(--line)}
.supplier-form-tabs button{border:0;border-bottom:2px solid transparent;padding:10px 14px;background:transparent;color:var(--muted);font-size:14px;font-weight:600;white-space:nowrap}
.supplier-form-tabs button.active{color:var(--blue);border-color:var(--blue)}
.supplier-form-section{display:none;padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}
.supplier-form-section.active{display:block}
.supplier-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 16px}
.supplier-form-grid label{display:grid;gap:6px;min-width:0;color:var(--text-secondary);font-size:14px;font-weight:600}
.supplier-form-grid label.wide,.supplier-form-grid .wide{grid-column:1/-1}
.supplier-form-grid input,.supplier-form-grid select,.supplier-form-grid textarea{width:100%;min-width:0;min-height:42px;padding:8px 11px;border:1px solid var(--control-line);border-radius:8px;background:#fff;color:var(--text-secondary);font:inherit;font-weight:400}
.supplier-form-grid textarea{resize:vertical;line-height:1.5}
.supplier-form-grid input[type=file]{padding:7px}
.supplier-form-grid small,.supplier-form-hint{font-size:13px;color:var(--muted);font-weight:400}
.supplier-dialog{width:min(1180px,calc(100vw - 28px));max-width:1180px}
.supplier-detail-dialog{width:min(1120px,calc(100vw - 28px));max-width:1120px}
.company-terms-editor{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.company-terms-heading,.company-term-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.company-terms-heading h3{margin:0 0 4px;font-size:16px}.company-terms-heading p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}
.company-terms-list{display:grid;gap:12px;margin-top:13px}
.company-terms-empty{padding:20px;border:1px dashed var(--control-line);border-radius:10px;background:#fff;color:var(--muted);text-align:center}
.company-term-card{padding:14px;border:1px solid var(--line);border-radius:11px;background:#fff;box-shadow:0 2px 8px rgba(24,50,80,.04)}
.company-term-card.is-terminated{background:var(--surface-soft)}
.company-term-card-head{align-items:center;margin-bottom:12px}.company-term-card-head>div{display:flex;align-items:center;gap:9px}.company-term-card-head b{font-size:14px}
.company-term-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px 12px}.company-term-grid label,.company-term-termination label{display:grid;gap:5px;min-width:0;color:var(--text-secondary);font-size:13px;font-weight:600}.company-term-grid label.wide{grid-column:1/-1}
.company-term-grid input:not([type=checkbox]),.company-term-grid select,.company-term-termination textarea{width:100%;min-width:0;min-height:39px;padding:7px 9px;border:1px solid var(--control-line);border-radius:8px;background:#fff;color:var(--text-secondary);font:inherit;font-weight:400}.company-term-grid small{color:var(--muted);font-weight:400}.company-term-credit-fields{margin-top:11px;padding-top:11px;border-top:1px dashed var(--line)}
.company-term-grid .company-term-active{display:flex;align-items:center;gap:8px;align-self:end;min-height:39px}.company-term-active input{width:16px;height:16px}
.company-term-termination{display:grid;grid-template-columns:minmax(260px,1fr) minmax(260px,1fr);gap:12px;margin-top:11px;padding:11px;border:1px solid #f0c36f;border-radius:8px;background:#fff8e8}.company-term-termination p{margin:0;color:#8a5b00;font-size:13px;line-height:1.55}.company-term-termination textarea{resize:vertical}
.company-term-readonly{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.company-term-readonly>div{display:grid;gap:4px;padding:11px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft)}.company-term-readonly small{color:var(--muted)}.company-term-readonly strong{font-size:14px;overflow-wrap:anywhere}.company-term-missing{display:grid;gap:5px}.company-term-missing b{color:#8a5b00}
.supplier-active-toggle{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-secondary)}
.supplier-existing-files{display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap;font-size:13px}
.supplier-existing-files label{display:flex;align-items:center;gap:6px;font-weight:400}
.supplier-existing-label{width:100%;font-weight:600;color:var(--muted)}
.supplier-detail-group{padding:13px 15px;border:1px solid var(--line);border-radius:10px;background:#fff}
.supplier-detail-group h3{margin:0 0 11px;font-size:16px}
.supplier-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 14px}
.supplier-detail-grid>div{display:grid;gap:4px;min-width:0;align-content:start}
.supplier-detail-grid small,.supplier-rating-head p{font-size:13px;color:var(--muted)}
.supplier-detail-grid strong{font-size:14px;font-weight:600;overflow-wrap:anywhere}
.supplier-detail-grid .supplier-detail-long{white-space:pre-wrap;line-height:1.55;font-weight:400}
.supplier-rating-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.supplier-rating-head h3{margin-bottom:3px}
.supplier-rating-head p{margin:0}
.supplier-rating-score{display:grid;justify-items:end;gap:2px;white-space:nowrap}
.supplier-rating-score b{font-size:22px;color:var(--blue)}
.supplier-review-form{display:grid;grid-template-columns:130px minmax(180px,1fr) auto;gap:10px;align-items:end;padding:12px;border-radius:9px;background:var(--surface-soft)}
.supplier-review-form label{display:grid;gap:5px;font-size:13px;font-weight:600}
.supplier-review-form label.wide{grid-column:1/-2}
.supplier-review-form input,.supplier-review-form select,.supplier-review-form textarea{width:100%;min-height:38px;border:1px solid var(--control-line);border-radius:7px;padding:7px 9px;background:#fff;font:inherit}
.supplier-review-form button{grid-column:3;grid-row:1/3}
.supplier-reviews-table{margin-top:10px}
.supplier-reviews-table td small{display:block}
.settings-section{overflow:visible;border-color:var(--line);border-radius:12px;box-shadow:0 3px 14px rgba(25,42,70,.04)}
.settings-section-summary{min-height:70px;padding:16px 20px}
.settings-section-summary b{font-size:17px}
.settings-section-meta{font-size:14px}
.settings-section>.settings-grid,.settings-section>.settings-option-grid,.settings-section>.note-option-grid{padding:16px;margin:0;gap:14px}
.settings-section>.settings-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.settings-section .settings-card{padding:16px;border-color:var(--line);border-radius:10px;background:var(--surface-soft)}
.settings-card h3{font-size:16px}
.settings-card-head p{font-size:13px;line-height:1.45}
.settings-card-list,.option-settings-list{max-height:none;overflow:visible;padding-right:0}
.settings-card-list .setting-row,.option-settings-list .setting-row{min-height:44px;padding:9px 0}
.setting-name{font-size:14px;line-height:1.45}
.setting-actions{flex:0 0 auto;gap:6px}
.setting-actions button{padding:5px 7px;font-size:13px;white-space:nowrap}
.settings-hint{font-size:13px}
.option-settings-card .settings-card-head p{max-width:none}
.system-settings-layout{gap:14px}
.system-settings-layout>.settings-notice{padding:12px 15px}
.note-option-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1180px){.supplier-filter-box{grid-template-columns:repeat(2,minmax(170px,1fr))}.supplier-filter-actions{grid-column:1/-1;justify-self:end}.settings-section>.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.note-option-grid,.settings-section>.note-option-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.order-overview-panel .order-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1180px){.supplier-filter-box.supplier-filter-compact{grid-template-columns:repeat(2,minmax(170px,1fr))}.supplier-filter-box.supplier-filter-compact .supplier-filter-actions{grid-column:1/-1;justify-self:end}}
@media(max-width:760px){.content{padding:17px 13px 28px}.panel{padding:16px}.page-head h1{font-size:24px}.supplier-filter-box,.settings-section>.settings-grid,.settings-section>.note-option-grid,.note-option-grid{grid-template-columns:1fr}.supplier-filter-actions{grid-column:auto;justify-self:stretch;display:flex}.supplier-filter-actions .btn{flex:1}.supplier-more-filters>div{grid-template-columns:1fr}.supplier-form-grid,.supplier-detail-grid{grid-template-columns:1fr}.supplier-form-grid label.wide,.supplier-form-grid .wide{grid-column:auto}.supplier-review-form{grid-template-columns:1fr}.supplier-review-form label.wide,.supplier-review-form button{grid-column:auto;grid-row:auto}.supplier-rating-head{flex-direction:column}.supplier-rating-score{justify-items:start}.order-overview-panel .order-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.order-overview-panel .order-info-grid,.order-overview-panel .business-note-box .note-fields{grid-template-columns:1fr}.order-overview-panel .business-note-footer{align-items:stretch;flex-direction:column}.order-overview-panel .business-note-box #saveBusinessNote{width:100%}.settings-section-summary{padding:13px 15px}.settings-section>.settings-grid,.settings-section>.settings-option-grid,.settings-section>.note-option-grid{padding:12px}}
@media(max-width:760px){.supplier-filter-box.supplier-filter-compact{grid-template-columns:1fr}.supplier-filter-box.supplier-filter-compact .supplier-filter-actions{grid-column:auto;justify-self:stretch}}

@media(max-width:1100px){.supplier-filter-box{grid-template-columns:repeat(2,minmax(160px,1fr))}.supplier-filter-actions{grid-column:1/-1;justify-self:end}.order-overview-panel .order-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.order-overview-panel .business-note-box .note-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-section>.settings-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}.settings-section>.note-option-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}}
@media(max-width:700px){.order-overview-panel{padding:17px}.order-overview-panel .order-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.order-overview-panel .order-info-grid,.order-overview-panel .business-note-box .note-fields{grid-template-columns:1fr}.order-overview-panel .business-note-footer{align-items:stretch;flex-direction:column}.order-overview-panel .business-note-box #saveBusinessNote{width:100%}.order-detail-section-heading{display:block}.order-detail-section-heading p{margin-top:4px}.supplier-panel{padding:17px}.supplier-filter-box,.settings-section>.settings-grid,.settings-section>.note-option-grid{grid-template-columns:1fr}.supplier-filter-actions{grid-column:auto;justify-self:stretch}.supplier-filter-actions .btn{flex:1}.supplier-filter-actions{display:flex}.settings-section-summary{align-items:flex-start;padding:14px}.settings-section-meta{gap:6px}.settings-section>.settings-grid,.settings-section>.settings-option-grid{padding:12px}}


/* Order details: keep the employee view focused and the operation history available on demand. */
#navigation{scrollbar-width:none;-ms-overflow-style:none;scrollbar-gutter:auto}
#navigation::-webkit-scrollbar{display:none;width:0;height:0}
.content{flex:1 1 0%;min-height:0;max-height:none;padding-bottom:max(56px,calc(env(safe-area-inset-bottom) + 32px));scroll-padding-block-end:48px}
.table-wrap{overscroll-behavior-x:contain;overscroll-behavior-y:auto}
.order-records-panel{padding:15px 18px}
.order-records-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;list-style:none;color:var(--text-secondary);font-size:16px;font-weight:700}
.order-records-panel>summary::-webkit-details-marker{display:none}
.order-records-panel>summary::after{content:'＋';flex:0 0 auto;color:var(--blue);font-size:18px;font-weight:500}
.order-records-panel[open]>summary::after{content:'−'}
.order-records-panel>summary .muted{margin-left:auto;font-size:13px;font-weight:400;white-space:nowrap}
.order-records-content{display:grid;gap:14px;margin-top:15px}
.order-record-group{min-width:0;padding:14px;border:1px solid var(--line);border-radius:9px;background:var(--surface-soft)}
.order-record-group h3{margin:0 0 10px;color:var(--text-secondary);font-size:15px}
.order-record-group .table-wrap{background:#fff}
@media(max-width:700px){.order-records-panel{padding:13px}.order-records-panel>summary{font-size:15px}.order-records-panel>summary .muted{font-size:12px}.order-record-group{padding:11px}}



/* Keep actions and interactive accents on one primary blue. */
a:not(.btn),.link-btn,.text-link,.table-action-link:not(.danger-link),
.setting-actions button:hover,.order-advanced-filters>summary::before,
.procurement-advanced-filters>summary::before,.order-classify-control,
.order-source-id,.proc-order-grid .proc-order-hint,.purchase-draft-steps span.active,
.purchase-draft-card input:focus,.purchase-draft-card select:focus,
.order-filter-box input:focus,.order-filter-box select:focus,
.procurement-filter-box input:focus,.procurement-filter-box select:focus{
 color:var(--blue);
}
.btn.primary,.btn.primary:hover,.step.active .step-dot,.quick-filter.active{
 color:#fff;background:var(--blue);border-color:var(--blue);
}
.btn.primary:hover{filter:brightness(.94)}
#mainContent input:focus,#mainContent select:focus,#mainContent textarea:focus,
.field input:focus,.field select:focus,.search-input:focus{
 border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-ring);outline:0;
}
.panel,.metric,.settings-card,.step-card,.roadmap-card,.settings-section,
.table-wrap,.supplier-detail-group,.order-record-group,.proc-order-card,
.purchase-draft-card,.order-filter-box,.procurement-filter-box,.supplier-filter-box{
 border-color:var(--line);
}
.table-wrap th,.table-wrap thead [data-col-key="action"],
.table-wrap thead [data-col-key="actions"],.sales-order-flat-table th,
.procurement-detail-table th,.proc-order-grid-head{background:var(--table-head)}
.table-wrap th,.table-wrap td{border-right-color:var(--line)}
.table-wrap th{border-bottom-color:var(--line);color:var(--text-secondary)}
.table-wrap td{border-bottom-color:var(--line);color:var(--text-secondary)}
.page-head p,.panel-head p,.muted,.toolbar-note,.settings-hint,
.metric-top,.metric-foot,.settings-card-head p,.settings-section-meta,
.order-detail-section-heading p,.order-info-grid small,.supplier-detail-grid small,
.supplier-rating-head p,.proc-cell-secondary,.proc-order-meta small,
.purchase-note,.proc-order-hint,.review-top span,.field label,.filter-date{
 color:var(--muted);
}
.side-caption,.nav-group-label,.local-note,.soon{color:var(--navmuted)}
.tag.blue{background:var(--blue-soft);color:var(--blue)}
.tag.green{background:var(--green-soft);color:var(--green)}
.tag.amber{background:var(--orange-soft);color:var(--orange)}
.tag.red{background:var(--red-soft);color:var(--red)}
.tag.gray{background:var(--surface-muted);color:var(--muted)}
.app-message-dialog{width:min(520px,calc(100vw - 32px));max-width:520px;padding:22px;border:1px solid var(--line);border-radius:15px;box-shadow:0 22px 70px #16274245;color:var(--ink)}
.app-message-dialog::backdrop{background:#15233870;backdrop-filter:blur(2px)}
.app-message-dialog__form{display:grid;gap:16px}
.app-message-dialog .panel-head{align-items:flex-start;margin:0}
.app-message-dialog .panel-head h2{margin:2px 0;font-size:18px;line-height:1.4}
.app-message-dialog .icon-btn{padding:0 4px;line-height:1}
.app-message-dialog__copy{margin:0;color:var(--text-secondary);font-size:14px;line-height:1.7;overflow-wrap:anywhere}
.app-message-dialog__field input{width:100%;height:42px;border:1px solid var(--line-strong,var(--line));border-radius:8px;background:#fff;padding:0 12px;color:var(--ink);font:inherit;outline:0}
.app-message-dialog__field input:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-ring)}
.app-message-dialog__actions{display:flex;justify-content:flex-end;gap:9px;padding-top:2px}
.app-message-dialog__actions .btn{min-width:88px}
.app-message-dialog__actions .btn.danger{background:var(--red);border-color:var(--red);color:#fff}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.finance-review-table{min-width:1240px}
.finance-review-table td{vertical-align:middle;white-space:nowrap}
.finance-review-table td:nth-child(3){min-width:240px;white-space:normal}
.finance-bank-info{display:block;max-width:320px;margin-top:4px;color:var(--muted);font-size:12px;line-height:1.5;white-space:normal;overflow-wrap:anywhere}
.finance-review-table .tag{white-space:nowrap}
.finance-profit{font-variant-numeric:tabular-nums;font-size:15px}
.finance-review-actions{display:flex;align-items:center;gap:6px}
.finance-review-actions .btn{min-width:56px}
.finance-review-actions .btn.danger{border-color:var(--red);background:var(--red-soft);color:var(--red)}
.finance-review-actions .btn.danger:hover{border-color:var(--red);background:var(--red-soft)}
@media(max-width:720px){.finance-review-actions{flex-wrap:wrap;min-width:118px}}
.app-shell[hidden],.login-screen[hidden],#mainContent [hidden]{display:none!important}
.nav-item[hidden],.nav-subnav[hidden]{display:none!important}
#navigation{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.nav-group{width:100%}.nav-group[hidden],#navigation [hidden]{display:none!important}.nav-group-toggle .menu-caret{margin-left:auto}.nav-subnav{padding-left:20px}.page-view-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:-8px 0 16px}.fulfillment-flow-nav a{text-decoration:none}#mainContent [id^="fulfillment-"]{scroll-margin-top:78px}.pagination-bar{justify-content:flex-end;flex-wrap:wrap;padding-top:8px;border-top:1px solid var(--line)}.pagination-size{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px}.pagination-size select{height:32px;padding:0 8px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--text-secondary)}
.topbar-right{gap:10px}
.user-role-label{color:var(--muted);font-size:12px;white-space:nowrap}
.login-screen{min-height:100dvh;display:grid;place-items:center;padding:24px;background:var(--bg)}
.login-card{width:min(460px,100%);display:grid;gap:15px;padding:30px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--shadow)}
.login-brand{display:flex;align-items:center;gap:12px;color:var(--ink)}
.login-brand>span:last-child{display:grid;gap:2px}.login-brand b{font-size:18px}.login-brand small{color:var(--muted);font-size:13px}
.login-card h1{margin:5px 0 0;font-size:24px}.login-intro{margin:-8px 0 2px;color:var(--muted);font-size:14px;line-height:1.6}
.login-card>label,.role-user-form>label{display:grid;gap:6px;color:var(--text-secondary);font-size:13px;font-weight:600}
.login-card input,.role-user-form input,.role-user-form select{width:100%;height:42px;padding:0 11px;border:1px solid var(--control-line);border-radius:8px;background:#fff;color:var(--ink);font:inherit;font-weight:400}
.login-submit{width:100%;height:44px;margin-top:2px}.login-error{min-height:18px;margin:-7px 0;color:var(--red);font-size:13px}
.login-service-notice{padding:10px 12px;border:1px solid var(--orange-line);border-radius:8px;background:var(--orange-soft);color:var(--orange);font-size:13px}
.login-screen{overflow:auto}
.login-card{width:min(500px,100%)}
.login-test-panel{display:grid;gap:9px;padding-top:13px;border-top:1px solid var(--line)}
.login-test-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;color:var(--ink)}
.login-test-heading b{font-size:14px}.login-test-heading span,.login-test-note{color:var(--muted);font-size:11px}
.login-test-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.login-test-button{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text-secondary);text-align:left;cursor:pointer}
.login-test-button:hover:not(:disabled){border-color:var(--blue-line);background:var(--blue-soft)}.login-test-button:disabled{opacity:.6;cursor:wait}
.login-test-button>span:first-child{display:grid;gap:2px;min-width:0}.login-test-button b{font-size:12px;color:var(--ink)}.login-test-button small{overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis}
.login-test-enter{flex:none;color:var(--blue);font-size:11px;font-weight:700}.login-test-note{margin:0;line-height:1.45}
.role-user-form{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr)) auto;gap:12px;align-items:end}.role-user-actions{white-space:nowrap}.role-user-actions button{margin-right:12px}.danger-link{color:var(--red)!important}
@media(max-width:980px){.role-user-form{grid-template-columns:repeat(2,minmax(0,1fr))}.role-user-form>.btn{min-height:42px}}
@media(max-width:560px){.login-card{padding:23px}.login-test-heading{align-items:flex-start;flex-direction:column;gap:2px}.login-test-grid{grid-template-columns:1fr}.role-user-form{grid-template-columns:1fr}.topbar-right .local-pill{display:none}.user-role-label{display:none}}
.readonly-value{height:37px;display:flex;align-items:center;padding:0 10px;border:1px solid var(--line);border-radius:6px;background:var(--surface-soft);color:var(--text-secondary);font-size:11px}
.dashboard-filter-panel{padding:15px 18px;margin-bottom:16px}.dashboard-filter-form{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.dashboard-filter-field,.dashboard-date-range label{display:grid;gap:5px;min-width:145px;color:var(--text-secondary);font-size:11px;font-weight:600}.dashboard-filter-field select,.dashboard-date-range input{height:37px;min-width:155px;border:1px solid var(--line);border-radius:7px;background:#fff;padding:0 10px;color:var(--text-secondary);font:inherit;font-weight:400}.dashboard-date-range{display:flex;gap:10px}.dashboard-date-range.hidden{display:none}.dashboard-filter-submit{height:37px;min-width:78px}.dashboard-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.dashboard-kpi{display:grid;gap:9px;text-align:left;padding:16px 18px;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:var(--shadow);color:var(--text-secondary);transition:transform .15s,border-color .15s,box-shadow .15s}.dashboard-kpi:hover{transform:translateY(-2px);border-color:var(--blue-line);box-shadow:0 7px 18px #284c8914}.dashboard-kpi-top{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:12px}.dashboard-kpi-top i{font-style:normal;display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:var(--blue-soft);color:var(--blue)}.dashboard-kpi strong{font-size:24px;line-height:1.2;color:var(--ink);font-variant-numeric:tabular-nums}.dashboard-kpi small{min-height:16px;color:var(--muted);font-size:10px}.dashboard-platform-panel{margin-bottom:16px}.dashboard-table-wrap table{min-width:900px}.dashboard-platform-table td,.dashboard-platform-table th{white-space:nowrap}.dashboard-platform-link{padding:0;border:0;background:none;color:var(--blue);font:inherit;font-weight:700;text-align:left}.dashboard-work-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:16px;align-items:start}.dashboard-work-grid .panel{min-width:0}.dashboard-task-list,.dashboard-alert-list{display:grid;gap:8px;max-height:460px;overflow:auto}.dashboard-task,.dashboard-alert{width:100%;display:flex;align-items:center;gap:10px;text-align:left;padding:11px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text-secondary)}.dashboard-task:hover,.dashboard-alert:hover{border-color:var(--blue-line);background:var(--surface-soft)}.dashboard-task.is-overdue{border-color:var(--red);background:#fff9f8}.dashboard-task-main{display:grid;gap:4px;min-width:0;flex:1}.dashboard-task-main b,.dashboard-alert-content b{font-size:11px;color:var(--ink)}.dashboard-task-main span,.dashboard-alert-content span{font-size:10px;color:var(--muted);overflow-wrap:anywhere}.dashboard-task-meta{display:grid;gap:3px;text-align:right;white-space:nowrap;color:var(--text-secondary);font-size:11px;font-variant-numeric:tabular-nums}.dashboard-task-meta small{color:var(--red);font-size:9px}.dashboard-task-arrow{color:var(--blue);font-size:20px;line-height:1}.dashboard-alert{align-items:flex-start}.dashboard-alert-icon{flex:0 0 22px;height:22px;display:grid;place-items:center;border-radius:50%;background:var(--red-soft);color:var(--red);font-size:12px;font-weight:700}.dashboard-alert-content{display:grid;gap:5px;flex:1;min-width:0}.dashboard-recent-panel{margin-top:16px}.dashboard-help{margin:0 0 4px;padding:12px 16px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--muted);font-size:11px}.dashboard-help summary{cursor:pointer;color:var(--text-secondary);font-weight:600}.dashboard-help div{padding-top:8px;line-height:1.65}.dashboard-help p{margin:5px 0}.dashboard-loading{padding:30px;text-align:center;color:var(--muted);font-size:12px}
@media(max-width:1050px){.dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-work-grid{grid-template-columns:1fr}}
@media(max-width:720px){.dashboard-filter-form{align-items:stretch}.dashboard-filter-field,.dashboard-date-range{width:100%}.dashboard-filter-field select,.dashboard-date-range input{width:100%}.dashboard-date-range{flex-direction:column}.dashboard-filter-submit{width:100%}.dashboard-kpis{gap:9px}.dashboard-kpi{padding:13px}.dashboard-kpi strong{font-size:20px}.dashboard-task{align-items:flex-start}.dashboard-task-meta{white-space:normal}}

.order-signoff-actions{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}
.purchase-order-history-table [data-col-key="actions"]{width:156px;min-width:156px;max-width:156px;text-align:center;white-space:normal}
.purchase-row-actions{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap}
.purchase-row-actions .btn{width:140px;max-width:none;min-height:36px;white-space:normal;line-height:1.35;padding:6px 8px;overflow-wrap:anywhere}
.purchase-shipment-dialog{width:min(760px,calc(100vw - 32px));max-width:760px}
.purchase-shipment-form{display:grid;gap:16px}
.purchase-shipment-form .panel-head{align-items:flex-start;margin:0}
.purchase-shipment-form .panel-head h2{margin:2px 0;font-size:18px}
.purchase-shipment-form .panel-head p{margin:4px 0 0;color:var(--muted);font-size:12px}
.purchase-shipment-lines{min-width:560px}
.purchase-shipment-lines td{vertical-align:middle}
.purchase-shipment-lines input{width:120px;height:38px;border:1px solid var(--control-line);border-radius:7px;padding:0 9px;color:var(--text-secondary)}
.reconciliation-dialog{width:min(1120px,calc(100vw - 32px));max-height:90vh;overflow:auto}.finance-term-dialog{width:min(660px,calc(100vw - 32px));max-height:90vh;overflow:auto}.reconciliation-dialog form,.finance-term-dialog form{display:flex;flex-direction:column;gap:14px}.reconciliation-dialog .form-grid,.finance-term-dialog .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.reconciliation-dialog .form-grid label,.finance-term-dialog .form-grid label{display:flex;flex-direction:column;gap:5px}.reconciliation-dialog .span-all{grid-column:1/-1}.reconciliation-dialog input:not([type=checkbox]),.reconciliation-dialog select,.reconciliation-dialog textarea,.finance-term-dialog input,.finance-term-dialog select{width:100%;min-width:0;border:1px solid var(--control-line);border-radius:8px;padding:9px 11px;color:var(--ink);background:#fff}.reconciliation-dialog textarea{min-height:68px;resize:vertical}.reconciliation-dialog table input:not([type=checkbox]){min-width:125px}.reconciliation-dialog table td:first-child{text-align:center}.reconciliation-details-row>td{background:#fff;padding:8px 14px}.reconciliation-details-row summary{cursor:pointer;color:var(--blue);font-weight:600}.reconciliation-details-row .table-wrap{margin-top:10px}.reconciliation-dialog small{color:var(--muted)}@media(max-width:680px){.reconciliation-dialog .form-grid,.finance-term-dialog .form-grid{grid-template-columns:1fr}.reconciliation-dialog .span-all{grid-column:auto}}
.product-import-box{margin:0 0 18px;padding:14px;border:1px dashed var(--line);border-radius:10px;background:var(--surface-soft)}.product-import-controls{display:flex;align-items:center;flex-wrap:wrap;gap:9px}.product-import-controls>div{flex:1 1 100%;min-width:260px}.product-import-controls p{margin:5px 0 2px;color:var(--muted);font-size:13px}.product-import-summary{margin:12px 0;color:var(--text-secondary);font-size:13px}.product-import-table{max-height:360px;overflow:auto}.product-import-table table{min-width:820px}.product-import-table th,.product-import-table td{padding:8px 10px}
#toast.toast{z-index:2147483647}dialog .toast.toast-in-dialog{position:sticky;top:12px;right:auto;bottom:auto;left:auto;z-index:2147483647;width:max-content;max-width:calc(100% - 24px);margin:0 12px -46px auto;pointer-events:none}
/* Keep the import and order-preview dialog in a wide landscape layout. */
.fetch-dialog.import-dialog{width:min(1440px,calc(100vw - 48px));max-height:90vh;overflow:auto;padding:24px}
.import-preview-table{max-height:54vh}.import-preview-table table{min-width:1450px}.import-auto-hint{margin-bottom:12px}.import-preview-error{margin-top:12px}
@media(max-width:720px){.fetch-dialog.import-dialog{width:calc(100vw - 20px);max-height:94vh;padding:14px}.import-preview-table{max-height:58vh}}
.signoff-dialog{width:min(760px,calc(100vw - 32px));max-width:760px;max-height:90vh;overflow:auto}.signoff-dialog form{display:grid;gap:13px}.signoff-dialog table input[type=number]{width:104px;min-width:82px}
.freight-import-dialog{width:min(1280px,96vw);max-width:none;max-height:94vh;overflow:auto}.freight-import-dialog .purchase-shipment-form{max-height:none}.freight-import-dialog .freight-import-table{max-height:48vh;overflow:auto}.freight-import-dialog .freight-import-table table{min-width:980px}.freight-import-dialog .freight-import-table input{min-width:110px;max-width:220px}.freight-import-dialog .freight-import-table select{min-width:260px;max-width:420px}

/* Shared dialog foundation: consistent surfaces, form fields, headings, and actions. */
dialog.fetch-dialog{max-height:min(92dvh,980px);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:22px;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--ink);box-shadow:0 24px 72px rgba(18,36,64,.28)}
dialog.fetch-dialog::backdrop{background:rgba(21,35,56,.58);backdrop-filter:blur(3px)}
dialog.fetch-dialog form{display:grid;gap:14px;min-width:0}
dialog.fetch-dialog form>.panel-head{align-items:flex-start;margin:0 0 2px;padding:0 0 12px;border-bottom:1px solid var(--line)}
dialog.fetch-dialog form>.panel-head h2{margin:2px 0;font-size:19px;line-height:1.4;color:var(--ink)}
dialog.fetch-dialog form>.panel-head p{margin:4px 0 0;color:var(--muted);font-size:13px;line-height:1.55}
dialog.fetch-dialog form label:not(.export-items-toggle):not(.export-remember):not(.supplier-active-toggle){display:grid;gap:6px;min-width:0;color:var(--text-secondary);font-size:13px;font-weight:600;line-height:1.45}
dialog.fetch-dialog form label>input:not([type=checkbox]):not([type=radio]),dialog.fetch-dialog form label>select,dialog.fetch-dialog form label>textarea{display:block;width:100%;min-width:0;min-height:42px;padding:9px 11px;border:1px solid var(--control-line);border-radius:8px;background:#fff;color:var(--ink);font:inherit;font-weight:400;outline:0;transition:border-color .15s,box-shadow .15s}
dialog.fetch-dialog form label>textarea{min-height:88px;resize:vertical;line-height:1.55}
dialog.fetch-dialog form label>input:focus,dialog.fetch-dialog form label>select:focus,dialog.fetch-dialog form label>textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-ring)}
dialog.fetch-dialog form>.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
dialog.fetch-dialog .app-message-dialog__actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;margin-top:2px;padding-top:12px;border-top:1px solid var(--line)}
dialog.fetch-dialog .app-message-dialog__actions .btn{min-width:96px;min-height:40px}
dialog.fetch-dialog .table-wrap{border-radius:10px}
dialog.fetch-dialog .panel-head .icon-btn{flex:0 0 auto;width:34px;height:34px;border-radius:8px}
.after-sales-detail-dialog{width:min(1120px,calc(100vw - 32px))}
.after-sales-create-dialog{width:min(820px,calc(100vw - 32px))}
.after-sales-form-dialog,.after-sales-status-dialog{width:min(660px,calc(100vw - 32px))}
.after-sales-finance-dialog{width:min(820px,calc(100vw - 32px))}
.after-sales-logistics-dialog{width:min(1000px,calc(100vw - 32px));max-width:1000px}
.after-sales-logistics-form{gap:12px!important}
.after-sales-action-grid{display:grid;grid-template-columns:1.3fr 1.4fr .7fr;gap:12px;align-items:start}
.after-sales-field-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px;border:1px solid var(--line);border-radius:11px;background:var(--surface-soft)}
.after-sales-field-group h3{grid-column:1/-1;margin:0;padding-bottom:8px;border-bottom:1px solid var(--line);color:var(--text-secondary);font-size:13px}
.after-sales-field-group label{align-self:start}
.after-sales-logistics-form [data-log-field="origin"] label,.after-sales-logistics-form [data-log-field="related"] label,.after-sales-logistics-form [data-log-field="warehouse"] label,.after-sales-logistics-form [data-log-field="inventory-status"] label,.after-sales-logistics-form [data-log-field="disposition"] label{grid-column:1/-1}
.after-sales-note-field{grid-column:1/-1}
.after-sales-logistics-form [hidden]{display:none!important}
.after-sales-ledger-table{min-width:1320px;table-layout:auto}
.after-sales-ledger-table th,.after-sales-ledger-table td{vertical-align:middle}
.after-sales-ledger-table th:nth-child(1){min-width:145px}
.after-sales-ledger-table th:nth-child(2){min-width:155px}
.after-sales-ledger-table th:nth-child(3){min-width:145px}
.after-sales-ledger-table th:nth-child(5){min-width:255px}
.after-sales-ledger-table th:nth-child(6){min-width:150px}
.after-sales-ledger-table th:nth-child(7),.after-sales-ledger-table th:nth-child(8){min-width:145px}
.after-sales-ledger-table th:last-child,.after-sales-ledger-table td:last-child{width:128px;min-width:128px;text-align:center;white-space:nowrap}
.after-sales-po-no{display:inline-block;padding:3px 7px;border:1px solid var(--line);border-radius:6px;background:var(--surface-soft);;font-size:11px;white-space:nowrap}
@media(max-width:760px){dialog.fetch-dialog{width:calc(100vw - 20px)!important;max-width:none;max-height:94dvh;padding:16px}.after-sales-action-grid,.after-sales-field-group,dialog.fetch-dialog form>.form-grid{grid-template-columns:1fr}.after-sales-field-group h3,.after-sales-logistics-form [data-log-field] label,.after-sales-note-field{grid-column:auto}.after-sales-action-grid{gap:10px}.after-sales-field-group{padding:12px}.after-sales-detail-dialog{width:calc(100vw - 20px)}dialog.fetch-dialog .app-message-dialog__actions{position:sticky;bottom:-16px;padding:12px 0 0;background:linear-gradient(0deg,#fff 72%,rgba(255,255,255,.9))}.after-sales-logistics-form .app-message-dialog__actions .btn{flex:1}}


/* Finance workspace: separate actions into clear, compact work areas. */
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 16px}
.metric-card{display:grid;align-content:start;gap:7px;min-width:0;padding:15px 17px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(180deg,#fff 0%,var(--surface-soft) 100%)}
.metric-card small{color:var(--muted);font-size:12px;line-height:1.45}
.metric-card strong{color:var(--ink);font-size:22px;line-height:1.25;font-variant-numeric:tabular-nums}
.metric-card .muted{font-size:11px}
.finance-workspace-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}
.finance-workspace-card{min-width:0;min-height:150px;display:flex;flex-direction:column;align-items:flex-start;gap:9px;padding:17px 18px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(180deg,#fff 0%,var(--surface-soft) 100%);color:var(--text-secondary);text-align:left;transition:border-color .15s,transform .15s,box-shadow .15s}
.finance-workspace-card:hover{border-color:var(--blue);transform:translateY(-1px);box-shadow:0 7px 18px #244b8a12}
.finance-workspace-card strong{font-size:15px;color:var(--ink)}
.finance-workspace-card span{font-size:12px;color:var(--muted);line-height:1.65}
.finance-workspace-card b{margin-top:auto;font-size:11px;color:var(--text-secondary)}
.finance-workspace-card i{font-size:11px;font-style:normal;font-weight:700;color:var(--blue)}
.finance-actions-cell{min-width:280px;max-width:440px}
.finance-actions-cell .btn{margin:2px 3px 2px 0}
.finance-records-toolbar{display:flex;gap:8px;flex-wrap:wrap}
.finance-audit-details{margin-top:7px;max-width:280px;color:var(--muted);font-size:11px}
.finance-audit-details summary{cursor:pointer;color:var(--blue);font-weight:600;white-space:nowrap}
.finance-audit-event{display:grid;gap:3px;margin-top:7px;padding:7px 8px;border-left:2px solid var(--blue-line);background:var(--surface-soft);line-height:1.45}
.finance-audit-event b{color:var(--text-secondary);font-size:11px}
.finance-audit-event span,.finance-audit-event small{color:var(--muted);font-size:10px;overflow-wrap:anywhere}
@media(max-width:1100px){.finance-workspace-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:950px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.finance-workspace-grid,.metric-grid{grid-template-columns:1fr}.finance-actions-cell{min-width:220px}}

.finance-metric-link{appearance:none;text-align:left;cursor:pointer;color:inherit;font:inherit}
.finance-metric-link:hover{border-color:var(--blue);box-shadow:0 5px 16px #244b8a12}
.finance-metric-link b{font-size:14px;color:var(--blue);font-variant-numeric:tabular-nums}
.finance-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.finance-entry-grid{display:grid;gap:16px}
.finance-form-grid,.finance-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 16px}
.finance-form-grid label,.finance-filter-grid label{display:grid;gap:6px;min-width:0;color:var(--text-secondary);font-size:12px;font-weight:650}
.finance-form-grid input,.finance-form-grid select,.finance-form-grid textarea,.finance-filter-grid input,.finance-filter-grid select{width:100%;min-height:40px;padding:8px 11px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font:inherit;font-weight:400;outline:0}
.finance-form-grid input:focus,.finance-form-grid select:focus,.finance-form-grid textarea:focus,.finance-filter-grid input:focus,.finance-filter-grid select:focus{border-color:var(--blue);box-shadow:0 0 0 3px #3b6ff01a}
.finance-form-grid .wide{grid-column:1/-1}
.finance-form-divider{padding:10px 0 0;border-top:1px solid var(--line);color:var(--text-secondary);font-size:13px}
.finance-entry-grid>.app-message-dialog__actions,.finance-form-grid>.app-message-dialog__actions{display:flex;justify-content:flex-end;gap:9px;padding-top:12px;border-top:1px solid var(--line)}
.finance-upload-field input{padding:6px!important;background:var(--surface-soft)!important}
.finance-subrow>td{padding:0 12px 10px!important;background:#fff!important}
.finance-subrow details{padding:9px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft)}
.finance-subrow summary{cursor:pointer;color:var(--blue);font-size:12px;font-weight:650}
.finance-subrow .table-wrap{margin-top:9px}
.finance-ledger-table{min-width:1450px}
.finance-filter-grid{grid-template-columns:repeat(4,minmax(160px,1fr));align-items:end}
.finance-filter-actions{display:flex;gap:8px;align-items:end;padding-bottom:1px}
.finance-pagination{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:14px;color:var(--muted);font-size:12px}
.finance-pagination label{display:flex;align-items:center;gap:6px}
.finance-pagination select{min-height:34px;padding:4px 8px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink)}
@media(max-width:1100px){.finance-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.finance-form-grid,.finance-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.finance-metric-grid{grid-template-columns:1fr}.finance-form-grid,.finance-filter-grid{grid-template-columns:1fr}.finance-form-grid .wide{grid-column:auto}.finance-pagination{justify-content:flex-start;flex-wrap:wrap}}

/* Product entry panel: polished, responsive fields and clearer single/bulk actions. */
.product-create{overflow:hidden;padding:0 22px 18px}
.product-create>summary{display:flex;align-items:center;gap:12px;min-height:76px;padding:14px 2px;cursor:pointer;list-style:none;color:var(--ink);font-size:14px}
.product-create>summary::-webkit-details-marker{display:none}
.product-summary-plus{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:11px;background:var(--blue-soft);color:var(--blue);font-size:22px;font-weight:500}
.product-summary-copy{display:grid;gap:2px;min-width:0}
.product-summary-copy b{font-size:15px;line-height:1.4}
.product-summary-copy small{color:var(--muted);font-size:12px;font-weight:400}
.product-summary-caret{margin-left:auto;color:var(--muted);font-size:18px;transition:transform .16s}
.product-create[open]>.product-create-summary .product-summary-caret,
.product-create[open]>summary .product-summary-caret{transform:rotate(180deg)}
.product-create[open]>summary{margin-bottom:18px;border-bottom:1px solid var(--line)}
.product-entry-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0 14px}
.product-entry-heading h3{margin:0;color:var(--ink);font-size:16px;line-height:1.4}
.product-entry-heading p{margin:4px 0 0;color:var(--muted);font-size:13px}
.product-entry-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px 16px;margin:0}
.product-entry-grid .field{min-width:0}
.product-entry-grid .field label{display:block;margin:0 0 6px;color:var(--text-secondary);font-size:13px;font-weight:600;line-height:1.4}
.product-entry-grid .field input{display:block;width:100%;min-width:0;height:42px;min-height:42px;padding:0 12px;border:1px solid var(--control-line,var(--line));border-radius:8px;background:#fff;color:var(--ink);font:inherit;outline:0;transition:border-color .15s,box-shadow .15s}
.product-entry-grid .field input::placeholder{color:#98a6b8;font-size:12px}
.product-entry-grid .field input:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-ring)}
.product-entry-grid .field input[readonly]{background:var(--surface-soft);color:var(--muted);cursor:default}
.product-form-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
.product-form-actions{display:flex;flex-wrap:wrap;gap:9px}
.product-form-hint{margin:0;color:var(--muted);font-size:12px;line-height:1.5;text-align:right}
@media(max-width:1100px){.product-entry-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.product-entry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-form-footer{align-items:flex-start;flex-direction:column}.product-form-hint{text-align:left}}
@media(max-width:520px){.product-create{padding:0 14px 15px}.product-entry-grid{grid-template-columns:1fr}.product-entry-heading{align-items:flex-start}}

/* Shared entry form system: use the same readable controls across all forms. */
.form-grid{align-items:start;gap:16px}
.field{min-width:0}
.field label{display:block;margin:0 0 7px;color:var(--text-secondary);font-size:13px;font-weight:600;line-height:1.4}
.field input:not([type=checkbox]):not([type=radio]):not([type=file]),
.field select,
.field textarea{display:block;width:100%;min-width:0;min-height:42px;padding:9px 12px;border:1px solid var(--control-line,var(--line));border-radius:8px;background:#fff;color:var(--ink);font:inherit;font-size:14px;line-height:1.45;outline:0;transition:border-color .15s,box-shadow .15s,background-color .15s}
.field input:not([type=checkbox]):not([type=radio]):not([type=file]){height:42px}
.field textarea{min-height:96px;resize:vertical}
.field input::placeholder,.field textarea::placeholder{color:#98a6b8;font-size:13px;opacity:1}
.field input:not([type=checkbox]):not([type=radio]):not([type=file]):focus,
.field select:focus,.field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-ring)}
.field input[readonly],.field input:disabled,.field select:disabled,.field textarea:disabled{background:var(--surface-soft);color:var(--muted);cursor:not-allowed}
.field input[type=checkbox],.field input[type=radio]{accent-color:var(--blue)}
.field .hint,.field small{display:block;margin-top:6px;color:var(--muted);font-size:12px;line-height:1.45}
.map-field{padding:12px;background:var(--surface-soft);border-color:var(--line);border-radius:9px}
.map-field label{font-size:12px;font-weight:600;line-height:1.4}
.map-field select{min-height:42px;height:42px;padding:8px 10px;border:1px solid var(--control-line,var(--line));border-radius:8px;background:#fff;color:var(--ink);font:inherit;font-size:13px}
.map-field select:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-ring);outline:0}
.field-row,.form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
dialog.fetch-dialog form label:not(.export-items-toggle):not(.export-remember):not(.supplier-active-toggle)>input:not([type=checkbox]):not([type=radio]):not([type=file]),
dialog.fetch-dialog form label:not(.export-items-toggle):not(.export-remember):not(.supplier-active-toggle)>select,
dialog.fetch-dialog form label:not(.export-items-toggle):not(.export-remember):not(.supplier-active-toggle)>textarea{border-color:var(--control-line,var(--line));border-radius:8px;background:#fff;color:var(--ink);font:inherit;font-size:14px}
dialog.fetch-dialog form label:not(.export-items-toggle):not(.export-remember):not(.supplier-active-toggle)>input:focus,
dialog.fetch-dialog form label:not(.export-items-toggle):not(.export-remember):not(.supplier-active-toggle)>select:focus,
dialog.fetch-dialog form label:not(.export-items-toggle):not(.export-remember):not(.supplier-active-toggle)>textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-ring)}
@media(max-width:760px){.form-grid{gap:13px}.map-field{padding:10px}}

.inventory-lot-allocation-list{display:grid;gap:8px;min-width:320px}
.inventory-lot-allocation-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(120px,160px);gap:8px;align-items:center}
.inventory-lot-allocation-row select,.inventory-lot-allocation-row input,.inventory-count-add select{width:100%;min-height:38px;border:1px solid var(--control-line,var(--line));border-radius:8px;padding:7px 9px;background:#fff;color:var(--ink)}
.inventory-lot-allocation-row [data-lot-details]{grid-column:1/-1;padding:2px 4px;line-height:1.45;overflow-wrap:anywhere}
.inventory-count-add{grid-template-columns:minmax(240px,1fr) minmax(140px,220px) auto!important;align-items:end}
.inventory-workflow-dialog{width:min(920px,calc(100vw - 36px));max-width:920px;max-height:min(88dvh,900px);overflow:auto;padding:24px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 24px 80px #17263d33}
.inventory-workflow-form{display:grid;gap:16px}
.inventory-workflow-form>.notice{margin:0}
.inventory-workflow-form>.table-wrap{max-height:44dvh;overflow:auto}
.inventory-workflow-form table{min-width:720px}
.inventory-workflow-form input[type=file]{padding:10px;border:1px dashed var(--control-line,var(--line));border-radius:9px;background:var(--surface-soft)}
.inventory-workflow-form [data-opening-preview],.inventory-workflow-form [data-count-preview]{display:grid;gap:12px}
.inventory-workflow-form [data-opening-preview] h3{margin:2px 0}
@media(max-width:760px){.inventory-lot-allocation-list{min-width:260px}.inventory-lot-allocation-row{grid-template-columns:1fr}.inventory-count-add{grid-template-columns:1fr!important}.inventory-workflow-dialog{width:calc(100vw - 20px);max-height:94dvh;padding:16px}}
.warehouse-document-fields{margin:14px 0 18px;padding:12px 14px;border:1px solid var(--line);border-radius:9px;background:var(--surface-soft)}
.warehouse-document-fields summary{cursor:pointer;font-weight:700;color:var(--text-secondary)}
.warehouse-document-field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-top:12px}
.warehouse-document-field-grid label{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:13px}
.warehouse-document-field-grid input{accent-color:var(--blue)}
.warehouse-document-panel h3{margin:18px 0 10px}
.warehouse-print-snapshot{margin-top:6px;font-size:12px;min-width:210px}
.warehouse-print-snapshot summary{cursor:pointer;color:var(--blue);font-weight:600}
.warehouse-print-snapshot>div{margin-top:4px;white-space:normal}
.finance-term-dialog .span-all{grid-column:1/-1}

/* Sidebar hierarchy: group, nested pages, and the selected page each use a distinct state. */
#navigation [data-nav-group]{margin-bottom:3px}
#navigation .nav-group-toggle{min-height:42px;font-weight:600;color:#d1dbea}
#navigation .nav-group-toggle[aria-expanded="true"]{background:#20344d;color:#f2f6ff;box-shadow:none}
#navigation .nav-group-toggle.active[aria-expanded="true"]{background:#223851;box-shadow:inset 2px 0 #7189bd}
#navigation .nav-group-toggle[aria-expanded="true"] .nav-icon{color:#9db7f3}
#navigation .nav-group-toggle[aria-expanded="true"] .menu-caret{color:#b5c8f6;transform:rotate(0)}
#navigation .nav-subnav:not(.collapsed){position:relative;gap:3px;margin:1px 0 8px 7px;padding:6px 7px 7px 10px;border-left:1px solid #40536e;border-radius:0 8px 8px 0;background:linear-gradient(90deg,rgba(15,31,50,.58),rgba(15,31,50,.12))}
#navigation .nav-platform{position:relative;min-height:36px;margin:0;padding:8px 10px 8px 14px;border-radius:6px;color:#b7c7dc;font-size:12px;font-weight:500;transition:background-color .15s,color .15s,box-shadow .15s}
#navigation .nav-platform:hover{background:#293f59;color:#f4f7ff}
#navigation .nav-platform.active{background:#315889;color:#fff;font-weight:600;box-shadow:inset 3px 0 #4c77ff,0 2px 7px rgba(5,14,28,.16)}
#navigation button:focus-visible{outline:2px solid #91adff;outline-offset:2px}
.system-manual-link{display:block;text-decoration:none}
.module-page-help{margin:4px 0 0;color:var(--muted);font-size:12px}
.module-page-help>summary{display:inline-flex;align-items:center;gap:6px;cursor:pointer;list-style:none;color:var(--muted);font-size:11px;line-height:1.5}
.module-page-help>summary::-webkit-details-marker{display:none}
.module-page-help>summary::before{content:'+';display:inline-grid;place-items:center;width:16px;height:16px;border:1px solid var(--line);border-radius:50%;color:var(--blue);font-size:12px}
.module-page-help[open]{padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft)}
.module-page-help[open]>summary{margin-bottom:7px;color:var(--text-secondary);font-weight:600}
.module-page-help[open]>summary::before{content:'−'}
.module-page-help-content{color:var(--text-secondary);font-size:12px;line-height:1.65}
.module-page-help-content>p{margin:0}
.module-page-help-content>.notice{margin:0}
.module-page-help-content>.module-page-help{margin-top:6px}

/* Shared SaaS interface layer: keep navigation, type, controls and data surfaces consistent. */
:root{
 --ink:#17263d;
 --text-secondary:#34465f;
 --muted:#52627a;
 --line:#d7e0eb;
 --control-line:#c7d3e2;
 --blue:#386bea;
 --blue-soft:#edf3ff;
 --blue-line:#c8d8f5;
 --blue-ring:rgba(56,107,234,.16);
 --blue-shadow:rgba(56,107,234,.18);
 --bg:#f4f7fb;
 --surface:#fff;
 --surface-soft:#f8fafd;
 --table-head:#eef3f9;
 --nav:#17283f;
 --navmuted:#bdc9da;
 --shadow:0 2px 10px rgba(25,42,70,.045);
}
body{font-family:"Microsoft YaHei UI","Microsoft YaHei",system-ui,sans-serif;font-size:14px;line-height:1.55;background:var(--bg)}
.app-shell{height:100dvh;min-height:0;overflow:hidden}
.sidebar{width:248px;flex:0 0 248px;height:100dvh;min-height:0;overflow:hidden;padding:20px 13px 14px}
.main-column{height:100dvh;min-height:0;overflow:hidden}
.topbar{height:64px;padding:0 clamp(20px,2.2vw,36px);background:var(--surface)}
.content{width:100%;max-width:none;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:26px clamp(20px,2.1vw,36px) 38px}
.footer{min-height:42px;padding:11px clamp(20px,2.2vw,36px);background:var(--surface);font-size:12px}
.brand{padding-bottom:22px}
.brand b{font-size:16px}
.brand small,.local-note{font-size:12px}
#navigation .nav-item{min-height:42px;font-size:14px}
#navigation .nav-group-toggle{font-weight:600}
#navigation .nav-item.active:not(.nav-group-toggle),
#navigation .nav-group-toggle.active[aria-expanded="false"]{background:var(--blue);color:#fff;box-shadow:inset 3px 0 #9db8ff,0 3px 9px rgba(6,22,52,.14)}
#navigation .nav-item.active:not(.nav-group-toggle) .nav-icon,
#navigation .nav-group-toggle.active[aria-expanded="false"] .nav-icon{color:#fff}
#navigation .nav-group-toggle.active[aria-expanded="true"]{background:#213752;color:#fff;box-shadow:inset 3px 0 #7595e9}
#navigation .nav-subnav:not(.collapsed){margin-left:8px;background:rgba(11,27,46,.36)}
#navigation .nav-platform{min-height:38px;font-size:13px}
#navigation .nav-platform.active{background:#386bea;color:#fff;box-shadow:inset 3px 0 #b8ccff,0 2px 7px rgba(5,14,28,.16)}
.page-head{align-items:flex-start;gap:20px;margin-bottom:20px}
.page-head h1{font-size:28px;line-height:1.3;letter-spacing:-.25px}
.page-head p{max-width:82ch;font-size:14px;line-height:1.55}
.eyebrow{font-size:12px;letter-spacing:.4px}
.page-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px}
.panel{min-width:0;padding:20px 22px;margin-bottom:16px;border-radius:12px;box-shadow:var(--shadow)}
.panel-head{gap:14px;margin-bottom:14px}
.panel-head h2,.panel>h2{font-size:18px;line-height:1.4}
.panel-head p{font-size:13px;line-height:1.5}
#mainContent h3{line-height:1.45}
.btn{min-height:40px;padding:8px 14px;border-radius:8px;font-size:14px}
.btn.small{min-height:36px;padding:6px 10px;font-size:13px}
.btn.primary{background:var(--blue);border-color:var(--blue);box-shadow:0 2px 6px var(--blue-shadow)}
.btn:focus-visible,.text-link:focus-visible,.link-btn:focus-visible{outline:3px solid var(--blue-ring);outline-offset:2px}
#mainContent input:not([type=checkbox]):not([type=radio]):not([type=file]),
#mainContent select{min-height:40px;border-radius:8px;font-size:14px}
#mainContent textarea{border-radius:8px;font-size:14px;line-height:1.55}
#mainContent .field label,#mainContent .filter-date,#mainContent .supplier-filter-box>label,
#mainContent .procurement-filter-grid>label,#mainContent .order-filter-grid>label,
#mainContent .order-advanced-grid>label{font-size:13px;line-height:1.45}
#mainContent .page-head p,#mainContent .panel-head p,#mainContent .muted,
#mainContent .toolbar-note,#mainContent .settings-hint,#mainContent .metric-foot,
#mainContent .flow-item span,#mainContent .review-top span,#mainContent .batch-id,
#mainContent .step,#mainContent .pagination-size,#mainContent small,
.module-page-help>summary{font-size:12px;line-height:1.5}
#mainContent .metric-top{font-size:13px}
#mainContent .metric-foot{margin-top:4px}
#mainContent .tag{padding:4px 9px;font-size:12px;line-height:1.3}
#mainContent .notice{font-size:13px;line-height:1.55}
#mainContent .empty{font-size:14px;line-height:1.55}
#mainContent .empty strong{font-size:15px}
.table-wrap{border-radius:10px;background:#fff;box-shadow:none}
.table-wrap th{padding:11px 13px;font-size:14px;line-height:1.4}
.table-wrap td{padding:11px 13px;font-size:14px;line-height:1.5}
.table-wrap td .muted,.table-wrap td small{font-size:12px}
.table-wrap tbody tr:nth-child(even){background:#f8fafd}
.table-wrap tbody tr:hover{background:#f1f6ff}
.table-toolbar{align-items:center;gap:10px;margin:14px 0}
.pagination-bar{justify-content:flex-end;flex-wrap:wrap;gap:9px;padding-top:12px;border-top:1px solid var(--line)}
.pagination-size{font-size:12px}
.pagination-size select{min-height:36px;border-radius:8px;font-size:13px}
.page-view-tabs{width:max-content;max-width:100%;gap:3px;padding:4px;margin:0 0 16px;border:1px solid var(--line);border-radius:10px;background:#fff}
.page-view-tabs .btn{min-height:36px;border-color:transparent;background:transparent;box-shadow:none;font-size:13px}
.page-view-tabs .btn:hover{background:var(--surface-soft)}
.page-view-tabs .btn.primary,.page-view-tabs .btn.primary:hover{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 2px 6px var(--blue-shadow)}
#mainContent .order-filter-box,#mainContent .procurement-filter-box,
#mainContent .supplier-filter-box,#mainContent .finance-filter-grid{
 border-color:var(--line);border-radius:11px;background:var(--surface-soft);padding:15px 16px
}
#mainContent .order-filter-grid,#mainContent .procurement-filter-grid,
#mainContent .supplier-filter-grid,#mainContent .finance-filter-grid{gap:13px 14px}
.module-page-help{margin:5px 0 0;font-size:12px}
.module-page-help>summary{color:var(--muted)}
.module-page-help[open]{background:var(--surface-soft)}
dialog{max-height:min(92dvh,960px);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;border-color:var(--line)}
dialog::backdrop{background:rgba(21,35,56,.56);backdrop-filter:blur(2px)}
dialog.fetch-dialog,dialog.inventory-workflow-dialog{max-height:min(92dvh,960px)}
dialog .panel-head h2{font-size:18px;line-height:1.4}
dialog .panel-head p{font-size:13px;line-height:1.5}
dialog .app-message-dialog__actions{gap:9px;padding-top:12px;border-top:1px solid var(--line)}
@media(max-width:1050px){.sidebar{width:205px;flex-basis:205px}.content{padding:23px 22px 34px}}
@media(max-width:760px){.sidebar{width:62px;flex-basis:62px;padding:14px 7px}.content{padding:20px 14px 32px}.page-head{display:block}.page-head h1{font-size:26px}.page-actions{justify-content:flex-start;margin-top:12px}.page-view-tabs{width:100%;overflow-x:auto;flex-wrap:nowrap}.page-view-tabs .btn{flex:0 0 auto}.panel{padding:16px}.table-wrap th,.table-wrap td{padding:9px 10px}}

/* Workbench visual system: warm canvas, operational priority, clear comparison. */
@media(min-width:761px){
 .sidebar{width:248px;flex:0 0 248px}
 #navigation .nav-item{min-height:42px;gap:12px;padding:10px 13px;font-size:14px;white-space:nowrap}
 #navigation .nav-icon{flex:0 0 18px}
 #navigation .nav-group-toggle{justify-content:flex-start}
 #navigation .nav-group-toggle .menu-caret{margin-left:auto}
}
.content:has(.dashboard-page){padding:18px clamp(20px,2vw,32px) 30px;background:radial-gradient(ellipse at 78% 0%,rgba(255,255,255,.75),transparent 48%),var(--bg)}
.dashboard-page{max-width:1600px;margin:0 auto}
.dashboard-page .module-page-help,.dashboard-page .dashboard-help{display:none}
.dashboard-top-row{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.65fr);align-items:center;gap:18px;margin-bottom:14px}
.dashboard-top-row>.page-head{display:block;margin:0;min-width:0}
.dashboard-top-row>.dashboard-filter-panel{min-width:0}
.dashboard-page>.page-head h1,.dashboard-top-row>.page-head h1{margin:0 0 4px;color:var(--ink);font-size:28px;line-height:1.25;font-weight:700;letter-spacing:-.35px}
.dashboard-page>.page-head p,.dashboard-top-row>.page-head p{max-width:52ch;color:var(--muted);font-size:13px;line-height:1.5}
.dashboard-page>.page-head .eyebrow,.dashboard-top-row>.page-head .eyebrow{margin-bottom:4px;color:#63728a;font-size:12px;letter-spacing:.25px}
.dashboard-filter-panel{margin:0;padding:0;border:0;background:transparent}
.dashboard-filter-form{display:flex;align-items:end;justify-content:flex-end;flex-wrap:wrap;gap:7px 9px;min-width:0}
.dashboard-filter-field,.dashboard-date-range label{display:grid;gap:4px;min-width:120px;color:#52627a;font-size:12px;font-weight:600}
.dashboard-filter-field select,.dashboard-date-range input{height:35px;min-width:132px;padding:0 9px;border:1px solid #cbd5e2;border-radius:7px;background:rgba(255,255,255,.92);color:#253a56;font:inherit;font-weight:400}
#dashboardAccount{min-width:170px}
.dashboard-date-range{display:flex;gap:7px}
.dashboard-date-range.hidden{display:none}
.dashboard-filter-submit,.dashboard-enter-orders{height:35px;min-width:65px;padding:0 12px;border-radius:7px;font-size:12px;box-shadow:none!important}
.dashboard-enter-orders{white-space:nowrap}
.dashboard-content{min-height:80px}
.dashboard-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 14px}
.dashboard-kpi{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;min-width:0;min-height:94px;padding:13px 17px;border:1px solid rgba(210,218,229,.82);border-radius:11px;background:rgba(255,255,255,.92);box-shadow:0 3px 14px rgba(29,48,73,.045);color:var(--ink);text-align:left;transition:border-color .15s,background .15s,box-shadow .15s}
.dashboard-kpi:hover{border-color:#b7c7e4;background:#fff;box-shadow:0 5px 18px rgba(29,48,73,.07)}
.dashboard-kpi-label{color:#52627a;font-size:13px;font-weight:600}
.dashboard-kpi strong{overflow:hidden;color:#172b46;font-size:28px;line-height:1.18;font-weight:700;letter-spacing:-.4px;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums}
.dashboard-kpi-detail{color:#718098;font-size:12px;line-height:1.35}
.dashboard-primary-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(330px,.82fr);gap:14px;align-items:stretch;margin-bottom:14px}
.dashboard-primary-grid>.panel,.dashboard-page>.panel{min-width:0;margin:0 0 14px;padding:15px 17px;border:1px solid rgba(210,218,229,.82);border-radius:11px;background:rgba(255,255,255,.94);box-shadow:0 3px 15px rgba(29,48,73,.045);backdrop-filter:blur(8px)}
.dashboard-primary-grid>.panel{margin-bottom:0}
.dashboard-page .panel-head{align-items:center;gap:12px;margin-bottom:9px}
.dashboard-page .panel-head h2{color:#172b46;font-size:17px;line-height:1.35;font-weight:700}
.dashboard-page .panel-head p{margin-top:3px;color:#718098;font-size:12px;line-height:1.4}
.dashboard-page .panel-head .tag{font-size:12px}
.dashboard-todo-table-wrap{border-radius:7px}
.dashboard-table{width:100%;border-collapse:collapse;table-layout:fixed;min-width:0;text-align:left}
.dashboard-todo-table-wrap .dashboard-todo-table{width:100%;min-width:0;table-layout:fixed}
.dashboard-table th{padding:8px 10px;border-bottom:1px solid #dfe5ee;background:#f2f5f9;color:#5a6980;font-size:12px;font-weight:600;line-height:1.35;white-space:nowrap}
.dashboard-table td{padding:9px 10px;border-bottom:1px solid #e8edf3;color:#34465f;font-size:13px;line-height:1.4;vertical-align:middle}
.dashboard-table tbody tr:last-child td{border-bottom:0}
.dashboard-table tbody tr:hover{background:#f7f9fc}
.dashboard-todo-table th:nth-child(1){width:14%}
.dashboard-todo-table th:nth-child(2){width:28%}
.dashboard-todo-table th:nth-child(3){width:13%}
.dashboard-todo-table th:nth-child(4){width:13%}
.dashboard-todo-table th:nth-child(5){width:20%}
.dashboard-todo-table th:nth-child(6){width:12%}
.dashboard-todo-table td b{display:block;color:#253a56;font-size:13px;font-weight:650;white-space:nowrap}
.dashboard-todo-table td small{display:block;margin-top:2px;color:#718098;font-size:12px}
.dashboard-todo-table td:nth-child(3){white-space:nowrap}
.dashboard-todo-table .is-overdue td{background:#fffafa}
.dashboard-status{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:6px;background:#eef2f7;color:#43546b;font-size:12px;white-space:nowrap}
.dashboard-status.is-overdue{background:#fff0f0;color:#b42332}
.dashboard-row-action{padding:4px 7px;border:0;background:transparent;color:var(--blue);font-size:12px;font-weight:600;white-space:nowrap}
.dashboard-row-action:hover,.dashboard-platform-link:hover,.dashboard-page .text-link:hover{text-decoration:underline}
.dashboard-alert-count{padding:3px 8px;border-radius:12px;font-size:12px;white-space:nowrap}
.dashboard-alert-count.is-active{background:#fff0f0;color:#b42332}
.dashboard-alert-count.is-clear{background:#f0f2f5;color:#63728a}
.dashboard-alert-list{display:grid;gap:0;max-height:none;overflow:visible}
.dashboard-alert{display:flex;align-items:flex-start;gap:9px;min-height:60px;padding:10px 2px;border:0;border-top:1px solid #e8edf3;border-radius:0;background:transparent;text-align:left;color:var(--text-secondary)}
.dashboard-alert:first-child{border-top:0}
.dashboard-alert:hover{background:#f8f9fb}
.dashboard-alert-icon{display:block;flex:0 0 8px;width:8px;height:8px;margin:5px 1px 0;border-radius:50%}
.dashboard-alert-icon.is-red{background:#c63b43}
.dashboard-alert-icon.is-amber{background:#d48316}
.dashboard-alert-content{display:grid;gap:3px;min-width:0;flex:1}
.dashboard-alert-content b{color:#253a56;font-size:13px;line-height:1.4}
.dashboard-alert-content span{color:#718098;font-size:12px;line-height:1.45}
.dashboard-task-arrow{color:#8390a2;font-size:17px;line-height:1.2}
.dashboard-platform-panel .panel-head,.dashboard-recent-panel .panel-head{margin-bottom:10px}
.dashboard-platform-table-wrap{border-radius:7px}
.dashboard-platform-table{min-width:860px}
.dashboard-platform-table th,.dashboard-platform-table td{text-align:right;white-space:nowrap}
.dashboard-platform-table th:first-child,.dashboard-platform-table td:first-child{text-align:left}
.dashboard-platform-table th:nth-child(1){width:16%}
.dashboard-platform-table th:nth-child(2){width:11%}
.dashboard-platform-table th:nth-child(3){width:16%}
.dashboard-platform-table th:nth-child(4){width:13%}
.dashboard-platform-table th:nth-child(5){width:13%}
.dashboard-platform-table th:nth-child(6){width:16%}
.dashboard-platform-table th:nth-child(7){width:15%}
.dashboard-platform-link{padding:0;border:0;background:transparent;color:var(--blue);font:inherit;font-weight:650;text-align:left}
.dashboard-platform-table tfoot th,.dashboard-platform-table tfoot td{border-top:1px solid #dfe5ee;background:#f8f8f5;color:#34465f;font-weight:700}
.dashboard-recent-panel .table-wrap{max-height:none;border-radius:7px}
.dashboard-recent-panel .table-wrap table{width:100%;min-width:860px;table-layout:fixed}
.dashboard-recent-panel .table-wrap th{padding:8px 10px;background:#f2f5f9;color:#5a6980;font-size:12px}
.dashboard-recent-panel .table-wrap td{padding:8px 10px;color:#34465f;font-size:12px;line-height:1.4}
.dashboard-recent-panel .table-wrap th:nth-child(1){width:24%}
.dashboard-recent-panel .table-wrap th:nth-child(2){width:23%}
.dashboard-recent-panel .table-wrap th:nth-child(3){width:12%}
.dashboard-recent-panel .table-wrap th:nth-child(4){width:7%}
.dashboard-recent-panel .table-wrap th:nth-child(5){width:11%}
.dashboard-recent-panel .table-wrap th:nth-child(6){width:14%}
.dashboard-recent-panel .table-wrap th:nth-child(7){width:9%}
.dashboard-recent-panel .table-wrap td .btn{min-height:30px;padding:4px 9px;font-size:12px;white-space:nowrap}
.dashboard-recent-panel .text-link{font-size:12px}
.dashboard-page .empty{padding:20px 15px;border:1px dashed #d8dee7;border-radius:7px;background:#fafbfc;color:#718098;font-size:13px}
.dashboard-loading{padding:25px 16px;border:1px solid #dfe5ee;border-radius:8px;background:#fff;color:#718098;font-size:13px}
@media(max-width:1180px){
 .dashboard-top-row{grid-template-columns:minmax(0,1fr);gap:10px;align-items:start}
 .dashboard-filter-form{justify-content:flex-start}
 .dashboard-primary-grid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:760px){
 .content:has(.dashboard-page){padding:16px 13px 26px}
 .dashboard-top-row>.page-head h1{font-size:26px}
 .dashboard-top-row>.page-head p{font-size:13px}
 .dashboard-filter-form{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:8px}
 .dashboard-filter-field,.dashboard-date-range{width:100%;min-width:0}
 .dashboard-filter-field select,.dashboard-date-range input{width:100%;min-width:0}
 .dashboard-date-range{grid-column:1/-1;flex-direction:column}
 .dashboard-filter-submit,.dashboard-enter-orders{width:100%}
 .dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .dashboard-kpi{min-height:86px;padding:11px 12px}
 .dashboard-kpi strong{font-size:23px}
 .dashboard-primary-grid{gap:10px}
 .dashboard-primary-grid>.panel,.dashboard-page>.panel{padding:13px}
 .dashboard-exception-panel{grid-column:auto}
 .dashboard-table{min-width:640px}
 .dashboard-todo-table-wrap,.dashboard-platform-table-wrap,.dashboard-recent-panel .table-wrap{overflow-x:auto}
 .dashboard-task-meta{white-space:normal}
}

/* Shared visual system: carry the approved Workbench language across business pages. */
:root{
 --ink:#172b46;
 --text-secondary:#34465f;
 --muted:#5e6f86;
 --line:#dce3eb;
 --control-line:#cbd5e2;
 --blue:#3969e8;
 --blue-soft:#edf3ff;
 --blue-line:#c7d7f4;
 --blue-ring:rgba(57,105,232,.15);
 --blue-shadow:rgba(57,105,232,.16);
 --surface:#fff;
 --surface-soft:#f7f8fa;
 --surface-muted:#eff2f5;
 --table-head:#f0f3f8;
 --bg:#f6f4ef;
 --nav:#172a43;
 --navmuted:#c0ccdc;
 --shadow:0 3px 15px rgba(29,48,73,.045);
}
body{font-family:"Microsoft YaHei UI","Microsoft YaHei",system-ui,sans-serif;color:var(--ink);background:var(--bg)}
.topbar,.footer{background:rgba(255,255,255,.97);border-color:var(--line)}
.content{background:radial-gradient(ellipse at 78% 0%,rgba(255,255,255,.72),transparent 48%),var(--bg)}
.content:not(:has(.dashboard-page)){padding:20px clamp(20px,2vw,32px) 34px}
.content:not(:has(.dashboard-page))>.page-head{margin-bottom:16px}
.content:not(:has(.dashboard-page)) .page-head h1{color:var(--ink);font-size:28px;line-height:1.3;letter-spacing:-.25px}
.content:not(:has(.dashboard-page)) .page-head p{max-width:82ch;color:var(--muted);font-size:13px;line-height:1.55}
.content:not(:has(.dashboard-page)) .eyebrow{margin-bottom:4px;color:#63728a;font-size:12px;letter-spacing:.35px}
.page-actions{gap:8px}
.panel,.metric-card,.metric,.settings-card,.step-card,.roadmap-card{
 border-color:rgba(210,218,229,.88);border-radius:11px;background:rgba(255,255,255,.96);box-shadow:var(--shadow)
}
.panel-head{gap:12px;margin-bottom:12px}
.panel-head h2,.panel>h2{color:var(--ink);font-size:18px;line-height:1.4;font-weight:700}
.panel-head p{color:var(--muted);font-size:13px;line-height:1.5}
.metric-card{background:#fff}
.metric-card small,.metric-top{color:var(--muted);font-size:13px}
.metric-card strong,.metric-value{color:var(--ink);font-variant-numeric:tabular-nums}
.table-wrap{border-color:var(--line);border-radius:9px;background:#fff;box-shadow:none}
.table-wrap th{background:var(--table-head);color:#52627a;font-size:13px;font-weight:650}
.table-wrap td{color:#34465f;font-size:14px}
.table-wrap tbody tr:nth-child(even){background:#f8f9fb}
.table-wrap tbody tr:hover{background:#f2f6fc}
.table-wrap th,.table-wrap td{border-color:var(--line)}
.btn{border-color:#d3dce7;border-radius:8px;background:#fff;color:#34465f;font-size:14px}
.btn:hover{border-color:#b7c7e4;background:#f8faff}
.btn.primary,.btn.primary:hover{border-color:var(--blue);background:var(--blue);color:#fff}
.btn.primary{box-shadow:0 2px 7px var(--blue-shadow)}
.text-link,.link-btn,.table-action-link{color:var(--blue)}
.tag{font-size:12px;font-weight:600}
.empty{border-color:#d8e0e9;border-radius:8px;background:#fafbfc;color:var(--muted);font-size:13px}
#mainContent input:not([type=checkbox]):not([type=radio]):not([type=file]),
#mainContent select,#mainContent textarea{
 border-color:var(--control-line);border-radius:8px;background-color:#fff;color:var(--ink);font-family:inherit
}
#mainContent input::placeholder,#mainContent textarea::placeholder{color:#8a98aa}
#mainContent input:not([type=checkbox]):not([type=radio]):not([type=file]):focus,
#mainContent select:focus,#mainContent textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-ring);outline:0}
#mainContent input:disabled,#mainContent select:disabled,#mainContent textarea:disabled,
#mainContent input[readonly]{background:#f3f5f7;color:#65758b}
#mainContent label{color:#455872}
.order-filter-box,.procurement-filter-box,.supplier-filter-box,.finance-filter-grid,
.procurement-filter-grid,.purchase-filter-bar{border-color:var(--line);border-radius:10px;background:#f8f9fb}
.pagination-bar,.finance-pagination,.pagination-size{color:var(--muted)}
dialog{border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--ink);box-shadow:0 24px 72px rgba(23,43,70,.22)}
dialog::backdrop{background:rgba(23,37,57,.48);backdrop-filter:blur(3px)}
dialog .panel{background:#fff;box-shadow:none}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:var(--blue);outline-offset:2px}
@media(max-width:1050px){.content:not(:has(.dashboard-page)){padding:19px 22px 32px}}
@media(max-width:760px){
 .sidebar{width:62px;flex:0 0 62px;padding:14px 7px}
 .brand{justify-content:center;padding:2px 5px 20px}
 .brand>span:last-child,#navigation .nav-item .menu-caret,#navigation .nav-badge,#navigation .soon,.sidebar-bottom{display:none}
 #navigation .nav-item{justify-content:center;gap:0;padding:10px 5px;font-size:0;white-space:normal}
 #navigation .nav-icon{width:18px;flex:0 0 18px;font-size:17px}
 .content:not(:has(.dashboard-page)){padding:17px 13px 28px}
 .content:not(:has(.dashboard-page)) .page-head h1{font-size:26px}
 .panel{border-radius:10px}
 #navigation .nav-subnav:not(.collapsed){position:fixed;left:62px;top:72px;z-index:10;width:min(230px,calc(100vw - 72px));max-height:calc(100dvh - 86px);overflow:auto;margin:0;padding:8px;border:1px solid rgba(255,255,255,.12);border-radius:0 10px 10px 0;background:#172a43;box-shadow:0 12px 30px rgba(12,24,40,.28)}
 #navigation .nav-subnav:not(.collapsed) .nav-platform{min-height:40px;white-space:normal;overflow-wrap:anywhere}
}

/* Per-employee pastel themes. Status colors remain the fixed red / amber / green tokens. */
body[data-theme="cloud"]{
 --theme-accent:#AFC9EE;--theme-accent-ink:#18385F;--blue:#416FAF;--blue-soft:#EAF2FF;--blue-line:#C9D9F0;--blue-ring:rgba(65,111,175,.18);--blue-shadow:rgba(65,111,175,.13);--bg:#F6F4EF;--nav:#172A43;--navmuted:#CBD6E6;--nav-open:#263C57;--nav-hover:#2C4461;--nav-subnav:#14263D
}
body[data-theme="haze"]{
 --theme-accent:#B9C9DE;--theme-accent-ink:#243A56;--blue:#536B91;--blue-soft:#EDF2F8;--blue-line:#D1DCE9;--blue-ring:rgba(83,107,145,.18);--blue-shadow:rgba(83,107,145,.13);--bg:#F1F4F8;--nav:#34465C;--navmuted:#D5DFEA;--nav-open:#42566E;--nav-hover:#4A6079;--nav-subnav:#2D3E53
}
body[data-theme="mint"]{
 --theme-accent:#B7D9CB;--theme-accent-ink:#1E4843;--blue:#39776D;--blue-soft:#EAF5F1;--blue-line:#C8E1D8;--blue-ring:rgba(57,119,109,.17);--blue-shadow:rgba(57,119,109,.12);--bg:#F0F6F2;--nav:#24473F;--navmuted:#D2E4DD;--nav-open:#31584F;--nav-hover:#386359;--nav-subnav:#1F3D36
}
body[data-theme="lavender"]{
 --theme-accent:#B8D7D6;--theme-accent-ink:#193F43;--blue:#3E7479;--blue-soft:#EAF4F3;--blue-line:#C9E2DF;--blue-ring:rgba(62,116,121,.18);--blue-shadow:rgba(62,116,121,.12);--bg:#F2F7F6;--nav:#28515A;--navmuted:#D2E4E3;--nav-open:#35636B;--nav-hover:#3B6D75;--nav-subnav:#23474F
}
body[data-theme="apricot"]{
 --theme-accent:#D8D0C5;--theme-accent-ink:#364454;--blue:#586575;--blue-soft:#EEF0F1;--blue-line:#DADDE0;--blue-ring:rgba(88,101,117,.18);--blue-shadow:rgba(88,101,117,.12);--bg:#F6F5F1;--nav:#3B4653;--navmuted:#D6DBDF;--nav-open:#4A5663;--nav-hover:#52606E;--nav-subnav:#35404B
}
body{background:var(--bg)}
.sidebar{background:var(--nav);color:#fff;border-right:1px solid rgba(220,228,238,.08)}
.brand-mark{background:linear-gradient(140deg,#5488ff,#345bd4);color:#fff;box-shadow:0 5px 15px #0c183388}
.brand b{color:#f4f7ff}.brand small,.side-caption,.nav-group-label,.soon{color:var(--navmuted)}
.local-note{color:var(--navmuted);border-top-color:#ffffff12}
#navigation .nav-item{color:var(--navmuted)}
#navigation .nav-item:hover{background:var(--nav-hover);color:#f4f7ff}
#navigation .nav-icon,#navigation .nav-item .menu-caret{color:var(--navmuted)}
#navigation .nav-item.active:not(.nav-group-toggle),
#navigation .nav-group-toggle.active[aria-expanded="false"]{background:var(--theme-accent);color:var(--theme-accent-ink);box-shadow:inset 3px 0 var(--blue)}
#navigation .nav-item.active:not(.nav-group-toggle) .nav-icon,
#navigation .nav-group-toggle.active[aria-expanded="false"] .nav-icon{color:var(--blue)}
#navigation .nav-group-toggle[aria-expanded="true"]{background:var(--nav-open);color:#f2f6ff;box-shadow:none}
#navigation .nav-group-toggle.active[aria-expanded="true"]{background:var(--nav-open);color:#fff;box-shadow:inset 3px 0 var(--blue)}
#navigation .nav-group-toggle[aria-expanded="true"] .nav-icon,
#navigation .nav-group-toggle[aria-expanded="true"] .menu-caret{color:#9db7f3}
#navigation .nav-subnav:not(.collapsed){border-left-color:color-mix(in srgb,var(--navmuted) 28%,transparent);background:linear-gradient(90deg,var(--nav-subnav),color-mix(in srgb,var(--nav-subnav) 55%,transparent))}
#navigation .nav-platform{color:#b7c7dc}
#navigation .nav-platform:hover{background:var(--nav-hover);color:#f4f7ff}
#navigation .nav-platform.active{background:var(--theme-accent);color:var(--theme-accent-ink);font-weight:650;box-shadow:inset 3px 0 var(--blue)}
#navigation button:focus-visible{outline-color:var(--blue)}
.sidebar-bottom{background:var(--nav)}
.btn.primary,.btn.primary:hover{border-color:var(--theme-accent);background:var(--theme-accent);color:var(--theme-accent-ink);box-shadow:0 2px 7px var(--blue-shadow)}
.btn.primary:hover{filter:brightness(.97)}
.step.active .step-dot,.quick-filter.active{border-color:var(--theme-accent);background:var(--theme-accent);color:var(--theme-accent-ink)}
.theme-picker-trigger{gap:7px;white-space:nowrap}
.theme-picker-dot{width:12px;height:12px;border-radius:50%;background:var(--theme-dot,var(--theme-accent));border:1px solid rgba(23,43,70,.14)}
.theme-picker-dialog{width:min(570px,calc(100vw - 28px));max-width:none;padding:0;overflow:hidden}
.theme-picker-content{padding:22px}
.theme-picker-content .panel-head{margin-bottom:16px}
.theme-picker-content .panel-head h2{margin:0;font-size:20px;color:var(--ink)}
.theme-picker-content .panel-head p{margin:5px 0 0;color:var(--muted);font-size:13px}
.theme-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.theme-option{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 20px;grid-template-rows:auto auto;align-items:center;gap:8px 9px;min-height:112px;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);text-align:left;transition:border-color .15s,background .15s,box-shadow .15s}
.theme-option:hover{border-color:var(--blue-line);background:var(--blue-soft)}
.theme-option[aria-pressed="true"]{border-color:var(--blue);background:var(--blue-soft);box-shadow:0 0 0 2px var(--blue-ring)}
.theme-option:disabled,.theme-picker-footer .btn:disabled{cursor:wait;opacity:.72}
.theme-preview{grid-column:1/-1;display:grid;grid-template-columns:24% 1fr;height:58px;overflow:hidden;border:1px solid color-mix(in srgb,var(--preview-key) 16%,white);border-radius:7px;background:var(--preview-bg)}
.theme-preview>i{display:block;background:var(--preview-nav)}
.theme-preview>span{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:6px;padding:8px 10px}
.theme-preview b{display:block;width:52px;height:14px;border-radius:4px;background:var(--preview-accent)}
.theme-preview em{display:block;width:82%;height:16px;border:1px solid color-mix(in srgb,var(--preview-key) 20%,white);border-radius:4px;background:rgba(255,255,255,.86);box-shadow:inset 3px 0 var(--preview-key)}
.theme-option-label{min-width:0}
.theme-option strong,.theme-option small{display:block}
.theme-option strong{font-size:14px;font-weight:650}
.theme-option small{margin-top:2px;color:var(--muted);font-size:12px;letter-spacing:.25px}
.theme-check{display:grid;place-items:center;width:20px;height:20px;border:1px solid var(--blue-line);border-radius:50%;background:var(--theme-accent);color:var(--theme-accent-ink);font-size:12px;font-weight:700;opacity:0}
.theme-option .theme-check{grid-column:2;grid-row:2}
.theme-option[aria-pressed="true"] .theme-check{opacity:1}
.theme-picker-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:15px;padding-top:14px;border-top:1px solid var(--line)}
.theme-picker-footer span{color:var(--muted);font-size:12px;line-height:1.5}
@media(max-width:760px){
 .theme-picker-trigger{font-size:0;min-width:34px;padding:6px 8px}
 .theme-picker-trigger .theme-picker-dot{width:14px;height:14px}
 .theme-picker-content{padding:18px}
 .theme-choice-grid{grid-template-columns:1fr}
 .theme-picker-footer{align-items:flex-start;flex-direction:column-reverse}
 .theme-picker-footer .btn{align-self:flex-end}
 #navigation .nav-subnav:not(.collapsed){border-color:rgba(255,255,255,.12);background:var(--nav);box-shadow:0 12px 30px rgba(12,24,40,.28)}
}

/* Product archive filter and compact keyword field. */
.product-filter-box{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr)) auto;align-items:end;gap:12px;margin:0 0 14px;padding:13px 14px;border:1px solid var(--line);border-radius:9px;background:var(--surface-soft)}
.product-filter-box>label{display:grid;gap:5px;min-width:0;color:var(--muted);font-size:13px;font-weight:600}
.product-filter-box input{width:100%;min-width:0;height:38px;padding:0 11px;border:1px solid var(--control-line);border-radius:7px;background:#fff;color:var(--text-secondary);font:inherit;font-weight:400}
.product-filter-box input:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-ring)}
.product-filter-actions{display:flex;gap:8px}
.product-filter-actions .btn{height:38px;min-height:38px}
.order-filter-grid{grid-template-columns:minmax(220px,1.15fr) repeat(3,minmax(130px,1fr)) auto}
.order-filter-grid .order-filter-keyword{grid-column:auto}
@media(max-width:1200px){.order-filter-grid{grid-template-columns:repeat(3,minmax(150px,1fr))}.order-filter-grid .order-filter-keyword{grid-column:auto}}
/* Order list: keep type in the main filters and make advanced fields span the full row. */
#mainContent .order-list-panel .order-filter-grid{grid-template-columns:repeat(6,minmax(120px,1fr))}
#mainContent .order-list-panel .order-filter-actions{display:flex;gap:8px;align-items:end;justify-content:flex-end}
#mainContent .order-list-panel .order-advanced-filters{grid-column:1/-1}
#mainContent .order-list-panel .order-advanced-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px}
#mainContent .order-list-panel .order-advanced-grid .order-filter-keyword{grid-column:span 2}
@media(max-width:1200px){#mainContent .order-list-panel .order-filter-grid{grid-template-columns:repeat(3,minmax(150px,1fr))}}
@media(max-width:720px){#mainContent .order-list-panel .order-filter-grid,#mainContent .order-list-panel .order-advanced-grid{grid-template-columns:1fr}#mainContent .order-list-panel .order-filter-actions{grid-column:1/-1;justify-content:flex-end}#mainContent .order-list-panel .order-advanced-grid .order-filter-keyword{grid-column:auto}}
@media(max-width:900px){.product-filter-box{grid-template-columns:repeat(2,minmax(150px,1fr))}.product-filter-actions{grid-column:1/-1;justify-content:flex-end}}
@media(max-width:600px){.product-filter-box{grid-template-columns:1fr}.product-filter-actions{grid-column:auto}.product-filter-actions .btn{flex:1}}
@media(max-width:760px){#navigation .nav-subnav:not(.collapsed){background:var(--nav)}}

/* Split login landing page styled from the supplied reference. */
.login-screen{min-height:100dvh;display:grid;place-items:center;overflow:auto;padding:clamp(24px,4vw,56px);background:radial-gradient(ellipse at 12% 20%,#e8f2ff 0,transparent 43%),linear-gradient(120deg,#f1f7ff 0%,#fbfcff 54%,#fff 100%)}
.login-layout{width:min(1320px,100%);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(420px,500px);gap:clamp(36px,5vw,78px);align-items:center;margin:auto}
.login-hero{position:relative;isolation:isolate;min-width:0;min-height:630px;display:flex;flex-direction:column;justify-content:space-between;padding:12px 0 20px}
.login-hero .login-brand{position:relative;z-index:1}
.login-hero-copy{position:relative;z-index:1;margin:38px 0 24px}
.login-hero-copy h2{margin:0;color:#142e53;font-size:clamp(36px,3.2vw,48px);line-height:1.24;letter-spacing:-1.3px;font-weight:750}
.login-hero-copy p{margin:18px 0 0;color:#667d9d;font-size:18px;line-height:1.7}
.login-flow-visual{position:relative;isolation:isolate;z-index:1;width:100%;height:320px;flex:0 0 320px;overflow:visible;margin-top:auto}
.flow-orbit{position:absolute;pointer-events:none;border-radius:50%}
.flow-orbit-back{z-index:-2;left:-9%;right:-7%;bottom:5px;height:178px;transform:rotate(-7deg);background:linear-gradient(155deg,rgba(224,239,255,.16),rgba(170,208,255,.42) 47%,rgba(230,242,255,.58));box-shadow:inset 0 2px 0 rgba(255,255,255,.7),0 18px 44px rgba(93,148,221,.1)}
.flow-orbit-front{z-index:-1;left:-4%;right:-1%;bottom:-12px;height:111px;transform:rotate(-7deg);border:2px solid rgba(255,255,255,.78);box-shadow:0 0 0 12px rgba(222,238,255,.28),inset 0 2px 9px rgba(255,255,255,.7)}
.flow-dashboard{position:absolute;right:4%;top:-5px;width:166px;height:104px;padding:12px 13px;border:1px solid rgba(197,220,251,.7);border-radius:13px;background:linear-gradient(145deg,rgba(255,255,255,.6),rgba(220,237,255,.4));box-shadow:0 12px 30px rgba(94,145,210,.08);transform:rotate(-7deg);opacity:.74}
.flow-dashboard-head{height:10px;margin:-12px -13px 10px;padding:0 11px;border-bottom:1px solid rgba(187,214,249,.6);display:flex;align-items:center;gap:5px}
.flow-dashboard-head i{width:5px;height:5px;border-radius:50%;background:#c2ddff}.flow-dashboard-chart{height:66px;display:flex;align-items:end;gap:9px;padding:0 7px}.flow-dashboard-chart span{width:15px;border-radius:5px 5px 2px 2px;background:linear-gradient(180deg,#9fc7ff,#d7e9ff)}.flow-dashboard-chart span:nth-child(1){height:24px}.flow-dashboard-chart span:nth-child(2){height:35px}.flow-dashboard-chart span:nth-child(3){height:46px}.flow-dashboard-chart span:nth-child(4){height:58px}.flow-dashboard-chart span:nth-child(5){height:66px}
.flow-route{position:absolute;z-index:2;top:47%;width:82px;height:30px;pointer-events:none}.flow-route-one{left:29%}.flow-route-two{left:63%}.flow-route svg{width:100%;height:100%;overflow:visible}.flow-route path{fill:none;stroke:#4388ef;stroke-width:2.5;stroke-linecap:round;stroke-dasharray:2 7}.flow-route .flow-route-arrow{stroke-dasharray:none;stroke-width:3}
.workflow-cards{position:absolute;inset:16px 5% 20px;display:grid;grid-template-columns:repeat(3,minmax(0,158px));justify-content:space-between;align-items:center}
.workflow-card{position:relative;z-index:1;min-width:0;height:225px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:14px 9px 12px;border:1px solid rgba(255,255,255,.94);border-radius:25px;background:linear-gradient(150deg,rgba(255,255,255,.83),rgba(255,255,255,.58));box-shadow:0 18px 36px rgba(74,127,197,.14),inset 0 1px 0 #fff;backdrop-filter:blur(12px);transform:rotate(-2deg)}
.workflow-card:nth-child(2){transform:translateY(7px) rotate(1deg)}.workflow-card:nth-child(3){transform:rotate(-1deg)}
.workflow-illustration{height:126px;width:100%;display:grid;place-items:center;filter:drop-shadow(0 7px 8px rgba(64,117,188,.13))}.workflow-illustration svg{width:136px;height:120px;max-width:100%;overflow:visible}
.workflow-card>b{margin-top:1px;color:#17365f;font-size:17px;line-height:1.35;font-weight:750}.workflow-card>small{margin-top:5px;color:#7388a5;font-size:12px;line-height:1.6;text-align:center}
.login-card{position:relative;width:100%;gap:13px;padding:34px 40px;border:1px solid rgba(215,226,240,.92);border-radius:22px;background:rgba(255,255,255,.9);box-shadow:0 18px 60px rgba(39,73,120,.1);backdrop-filter:blur(16px)}
.login-card h1{margin:7px 0 0;font-size:28px;letter-spacing:-.5px}.login-intro{margin:-5px 0 3px;font-size:14px;line-height:1.65}
.login-card>label{gap:7px;font-size:14px}.login-card input{height:48px;border-radius:10px;padding:0 14px;font-size:14px}
.login-submit{height:48px;border-radius:10px;font-size:15px}
.login-test-panel{gap:10px;margin-top:0;padding-top:15px}
.login-test-button{min-height:40px;padding:7px 10px;border-radius:9px}
.login-test-button b{font-size:13px}.login-test-button small{font-size:11px}
@media(max-width:1000px){.login-layout{grid-template-columns:minmax(0,1fr) minmax(390px,470px);gap:30px}.login-hero{min-height:570px}.login-flow-visual{height:285px;flex-basis:285px}.workflow-cards{left:3%;right:3%;grid-template-columns:repeat(3,minmax(0,145px))}.workflow-card{height:210px}.workflow-illustration{height:116px}.workflow-illustration svg{height:110px}.flow-route-one{left:28%}.flow-route-two{left:62%}}
@media(max-width:1100px){.login-layout{max-width:500px;grid-template-columns:minmax(0,1fr);gap:0}.login-card{grid-row:auto}.login-hero{display:none}}
@media(max-width:820px){.login-layout{max-width:580px;grid-template-columns:1fr;gap:26px}.login-hero{min-height:0;padding:0}.login-hero-copy{margin:30px 0 22px}.login-hero-copy h2{font-size:36px}.login-hero-copy p{font-size:15px}.login-card{max-width:580px;margin:auto;padding:32px}}
@media(max-width:560px){.login-screen{padding:20px 14px}.login-layout{gap:20px}.login-hero-copy{margin:23px 0 18px}.login-hero-copy h2{font-size:30px}.login-hero-copy p{font-size:14px}.login-card{padding:24px 21px;border-radius:17px}.login-card h1{font-size:24px}.login-test-grid{grid-template-columns:1fr 1fr}}
@media(max-height:760px) and (min-width:821px){.login-screen{align-items:start}.login-layout{margin:auto}.login-hero{min-height:550px}.login-card{padding:30px 36px;gap:12px}}
.project-manager-dialog{width:min(680px,calc(100vw - 30px));max-height:86vh;overflow:auto}
.project-master-form{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;padding:14px;border:1px solid var(--line);border-radius:9px;background:var(--surface-soft)}
.project-master-form label{display:grid;gap:6px;flex:1;min-width:220px;color:var(--text-secondary);font-size:13px;font-weight:600}
.project-master-form input{width:100%}
.project-manager-note{margin:0;font-size:12px}
.bulk-classify-toolbar{justify-content:flex-start;flex-wrap:wrap}
.order-grid-hint{color:var(--muted);font-size:12px;white-space:nowrap}
.data-grid-scroll{width:100%;max-width:100%;min-width:0;max-height:min(70vh,760px);overflow:auto;overscroll-behavior:auto;scrollbar-gutter:stable}
.table-wrap .data-grid-table{min-width:0!important;max-width:none;table-layout:fixed!important}
.table-wrap .data-grid-table>:is(thead,tbody,tfoot)>tr>:is(th,td){width:auto!important;min-width:0!important;max-width:none!important;white-space:nowrap;overflow-wrap:normal;word-break:normal}
.table-wrap .data-grid-table .column-hidden{display:none!important}
.data-grid-table>tbody>tr{min-height:0;height:38px}
.table-wrap .data-grid-table>tbody>tr>td{height:auto;padding:4px 8px;overflow:hidden;line-height:1.45;vertical-align:middle}
.table-wrap .data-grid-table>thead>tr>th{position:sticky;top:0;z-index:3;padding:10px 18px 10px 8px;overflow:visible;background:var(--table-head)}
.table-wrap .data-grid-table>thead>tr>th[data-col-key="action"],.table-wrap .data-grid-table>thead>tr>th[data-col-key="actions"]{z-index:5}
.grid-cell-text,.grid-header-content{display:block;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.grid-cell-text :is(div,p,small){display:inline;white-space:nowrap}
.grid-cell-text :is(div,small)::before{content:' · '}
.grid-cell-text br{display:none}
.data-grid-table .link-btn{max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}
.table-wrap .data-grid-table .row-action{min-height:28px;min-width:0;padding:2px 6px}
.table-wrap .data-grid-table>thead>tr>th.grid-selection-column,.table-wrap .data-grid-table>tbody>tr>td.grid-selection-column{padding-left:4px;padding-right:4px;text-align:center}
.grid-selection-column input[type="checkbox"]{width:16px;height:16px;margin:0;vertical-align:middle;accent-color:var(--blue)}
.grid-selection-column .proc-select-order{display:inline-flex;align-items:center;justify-content:center;margin:0;padding:0}
.data-grid-toolbar,.data-grid-scroll>.table-export-toolbar{position:sticky;left:0;display:flex;align-items:center;justify-content:flex-end;gap:10px;min-height:34px;padding:4px 8px;background:var(--surface);white-space:nowrap}
.data-grid-tools{display:inline-flex;align-items:center;gap:10px}

.sales-order-flat-table.sales-order-resizable{min-width:0!important;max-width:none;table-layout:fixed!important}
.sales-order-flat-table.sales-order-resizable [data-col-key]{width:auto!important;min-width:0!important;max-width:none!important;white-space:nowrap;overflow-wrap:normal;word-break:normal}
.sales-order-flat-table.sales-order-resizable .column-hidden{display:none!important}
.sales-order-flat-table.sales-order-resizable tbody tr{min-height:0;height:38px}
.sales-order-flat-table.sales-order-resizable td{height:auto;padding:7px 10px;overflow:hidden;line-height:1.45}
.sales-order-flat-table.sales-order-resizable th{position:sticky;top:0;padding-right:18px;overflow:visible;z-index:3}
.sales-order-flat-table.sales-order-resizable th[data-col-key="action"]{z-index:5}
.sales-order-resizable .order-cell-text,.sales-order-resizable .order-header-text{display:block;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.sales-order-resizable [data-col-key="order_no"] .link-btn{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;text-align:left}
.order-column-resizer{position:absolute;top:0;right:-4px;bottom:0;width:9px;cursor:col-resize;touch-action:none;z-index:6;outline:0}
.order-column-resizer::after{content:"";position:absolute;top:8px;right:4px;bottom:8px;width:2px;background:transparent;border-radius:2px;opacity:0;transition:opacity .12s ease,background-color .12s ease}
.order-column-resizer:hover::after,.order-column-resizer:focus-visible::after{width:2px;background:rgba(22,126,154,.45);opacity:1}
.order-column-resizer:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}
body.resizing-order-column,body.resizing-order-column *{cursor:col-resize!important;user-select:none!important}
.order-select-all{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.order-select-all input{width:16px;height:16px;margin:0;accent-color:var(--blue)}
.order-selection-count{white-space:nowrap;color:var(--muted)}
.project-classification-field{display:inline-flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:13px;font-weight:600}
.project-classification-field select{min-width:180px}
.order-gift-cell{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:12px;color:var(--text-secondary)}
.order-gift-cell input{width:16px;height:16px;margin:0;accent-color:var(--blue)}
.order-point-input{width:138px;min-width:120px;height:34px;padding:0 8px;border:1px solid var(--control-line);border-radius:7px;background:#fff;color:var(--text);font:inherit;font-size:12px}
.order-point-input:focus{outline:2px solid var(--blue-soft);border-color:var(--blue)}
.order-point-input:disabled{background:var(--surface-soft);color:var(--text-secondary)}

.column-order-dialog{width:min(620px,calc(100vw - 32px));max-height:85vh;padding:22px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink)}
.column-order-dialog::backdrop{background:#172b4d66}
.column-order-dialog .panel-head p{font-size:13px;color:var(--muted)}
.column-order-list{list-style:none;margin:14px 0;padding:0;max-height:50vh;overflow:auto}
.column-order-list li{display:flex;align-items:center;gap:8px;padding:7px 4px;border-bottom:1px solid var(--line)}
.column-order-list li>span{flex:1;min-width:0;font-size:13px}
.table-export-toolbar{gap:8px}

.table-wrap{overscroll-behavior:auto}

.order-information-save{display:flex;justify-content:flex-end;padding-top:14px;gap:10px}.business-note-footer .saved-note-summary{width:100%}

.position-create-form{display:flex;align-items:end;gap:12px;margin:12px 0}.position-create-form label{flex:1}.position-option-list{max-height:50vh;overflow:auto}.position-manager-dialog{width:min(620px,calc(100vw - 30px))}

.table-wrap .data-grid-table>tbody>tr>td.grid-action-column{white-space:normal;overflow:visible}
.grid-action-column .supplier-list-actions,.grid-action-column .supplier-row-actions,.grid-action-column .setting-actions,.grid-action-column .role-user-actions{flex-wrap:wrap;white-space:normal}
.grid-action-column button{margin-block:2px;max-width:100%}

.quote-dialog{width:min(780px,calc(100vw - 32px));padding:24px!important}
.quote-dialog .panel-head{align-items:flex-start;gap:18px;margin-bottom:18px}
.quote-dialog .panel-head>div{min-width:0;flex:1}
.quote-dialog .panel-head h2{margin:4px 0 10px;font-size:22px;line-height:1.35}
.quote-eyebrow{font-size:12px;color:var(--blue);font-weight:600}
.quote-product-name{font-size:14px;color:var(--text-secondary);line-height:1.65;overflow-wrap:anywhere}
.quote-entry{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}
.quote-entry>label{display:grid;gap:8px;font-size:13px;font-weight:600;color:var(--text-secondary);min-width:0}
.quote-entry-wide{grid-column:1/-1}
.quote-entry input,.quote-entry textarea{width:100%;min-width:0;box-sizing:border-box;padding:10px 12px;min-height:42px;border:1px solid var(--control-line);border-radius:8px;background:var(--surface);font:inherit;font-weight:400;color:var(--ink)}
.quote-entry textarea{resize:vertical;line-height:1.65}
.quote-entry input:focus,.quote-entry textarea:focus{outline:2px solid var(--blue-line);outline-offset:1px}
.quote-entry input[type=file]{padding:7px;font-size:12px}
.quote-entry input[type=file]::file-selector-button{border:1px solid var(--line);border-radius:6px;padding:7px 12px;margin-right:12px;background:var(--blue-soft);color:var(--ink);cursor:pointer}
.quote-entry>#saveQuote{grid-column:1/-1;justify-self:end;min-width:128px;margin-top:2px}
.quote-dialog h3{margin:24px 0 14px;font-size:16px}
@media(max-width:560px){.quote-entry{grid-template-columns:1fr;padding:14px}.quote-dialog{padding:16px!important}}

.position-create-form label,.position-edit-form>label{display:grid;gap:8px;color:var(--text-secondary);font-size:13px;font-weight:600}
.position-create-form input,.position-edit-form select{width:100%;min-width:0;box-sizing:border-box;height:42px;padding:0 12px;border:1px solid var(--control-line);border-radius:8px;background:var(--surface);color:var(--ink);font:inherit;font-weight:400}
.position-edit-form{min-width:min(420px,70vw)}
.table-wrap .data-grid-table>tbody>tr>td.grid-action-column.role-user-actions{flex-wrap:wrap;white-space:normal}

.finance-payment-details{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.order-information-lock{margin-bottom:12px}

.business-note-box input:disabled,.business-note-box select:disabled,.order-point-input:disabled{opacity:1;color:var(--muted);-webkit-text-fill-color:var(--muted)}

/* Keep actions on one line; the grid reserves their natural width. */
button,.btn,.link-btn,.text-link{white-space:nowrap;overflow-wrap:normal;word-break:normal}
.table-wrap .data-grid-table>tbody>tr>td.grid-action-column,
.table-wrap .data-grid-table>tbody>tr>td.grid-action-column.role-user-actions{display:table-cell;white-space:nowrap;overflow:visible;flex-wrap:nowrap}
.grid-action-column>div,.grid-action-column .supplier-list-actions,.grid-action-column .supplier-row-actions,
.grid-action-column .setting-actions,.grid-action-column .role-user-actions,.finance-review-actions,
.purchase-row-actions,.supplier-row-actions,.supplier-list-actions,.role-user-actions{display:inline-flex;align-items:center;flex-wrap:nowrap;gap:8px;white-space:nowrap}
.grid-action-column button,.purchase-row-actions .btn,.finance-review-actions .btn{flex:0 0 auto;width:auto;max-width:none;white-space:nowrap;overflow-wrap:normal;line-height:1.4}
.grid-action-column br{display:none}

/* Compact, viewport-aware dialogs with reachable actions. */
dialog.fetch-dialog,dialog.inventory-workflow-dialog{width:min(700px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);padding:18px!important;box-sizing:border-box;overflow-y:auto;scroll-padding:16px}
dialog.fetch-dialog>div,dialog.fetch-dialog form{min-width:0;gap:12px}
dialog.fetch-dialog .panel-head{gap:12px;margin-bottom:10px}
dialog.fetch-dialog .panel-head h2{font-size:18px;line-height:1.35;margin:0 0 5px;overflow-wrap:anywhere}
dialog.fetch-dialog form>.panel-head{padding-bottom:10px;margin:0}
dialog.fetch-dialog form>.form-grid,dialog.fetch-dialog .supplier-form-grid{gap:10px 12px}
dialog.fetch-dialog label{min-width:0}
dialog.fetch-dialog form label>input:not([type=checkbox]):not([type=radio]),
dialog.fetch-dialog form label>select,dialog.fetch-dialog form label>textarea,
dialog.fetch-dialog .supplier-form-grid input,dialog.fetch-dialog .supplier-form-grid select,
dialog.fetch-dialog .supplier-form-grid textarea{min-height:38px;padding:8px 10px}
dialog.fetch-dialog form label>textarea,dialog.fetch-dialog textarea{min-height:56px;max-height:180px;resize:vertical;line-height:1.5}
dialog .app-message-dialog__actions,dialog .purchase-draft-footer,
dialog.fetch-dialog>div>.table-toolbar:last-child{position:sticky;bottom:-18px;z-index:5;display:flex;align-items:center;justify-content:flex-end;flex-wrap:nowrap;gap:8px;margin-bottom:0;padding:12px 0 2px;background:var(--surface,#fff);border-top:1px solid var(--line)}
dialog .app-message-dialog__actions .btn{min-width:84px;min-height:38px;flex:0 0 auto}
dialog .panel-head>div{min-width:0}
dialog .panel-head .icon-btn{flex-shrink:0}
dialog.fetch-dialog.app-message-dialog,dialog.fetch-dialog.after-sales-status-dialog{width:min(500px,calc(100vw - 32px))}
dialog.fetch-dialog.position-manager-dialog,dialog.fetch-dialog.project-manager-dialog,
dialog.fetch-dialog.column-settings-dialog,dialog.fetch-dialog.permission-dialog{width:min(640px,calc(100vw - 32px))}
dialog.fetch-dialog.supplier-dialog{width:min(780px,calc(100vw - 32px))}
dialog.fetch-dialog.after-sales-create-dialog,dialog.fetch-dialog.after-sales-finance-dialog,
dialog.fetch-dialog.after-sales-logistics-dialog,dialog.fetch-dialog.inventory-workflow-dialog{width:min(900px,calc(100vw - 32px))}
dialog.fetch-dialog.purchase-draft-dialog,dialog.fetch-dialog.manual-order-dialog,
dialog.fetch-dialog.reconciliation-dialog,dialog.fetch-dialog.import-dialog,
dialog.fetch-dialog.freight-import-dialog,dialog.fetch-dialog.prepurchase-link-dialog,
dialog.fetch-dialog.purchase-order-detail-dialog,dialog.fetch-dialog.after-sales-detail-dialog,
dialog.fetch-dialog.supplier-detail-dialog{width:min(1120px,calc(100vw - 32px))}
dialog.fetch-dialog .table-wrap{max-height:min(46dvh,420px);overflow:auto}
dialog.fetch-dialog .purchase-draft-lines{max-height:calc(100dvh - 275px);min-height:140px;overflow-y:auto;overscroll-behavior:auto}
dialog.fetch-dialog .purchase-draft-list{max-height:calc(100dvh - 220px)}
dialog.fetch-dialog .purchase-draft-card{padding:12px}
dialog.fetch-dialog .purchase-draft-section{padding:10px}
dialog.fetch-dialog .purchase-draft-summary{padding:10px 12px;gap:12px}
dialog.fetch-dialog.purchase-draft-dialog{overflow:hidden}
dialog.fetch-dialog.purchase-draft-dialog>div{display:flex;flex-direction:column;max-height:calc(100dvh - 76px);gap:10px}
dialog.fetch-dialog.purchase-draft-dialog .panel-head,dialog.fetch-dialog.purchase-draft-dialog .purchase-draft-steps,
dialog.fetch-dialog.purchase-draft-dialog .purchase-draft-summary,dialog.fetch-dialog.purchase-draft-dialog .purchase-draft-footer{flex:0 0 auto}
dialog.fetch-dialog.purchase-draft-dialog .purchase-draft-lines{flex:1 1 auto;min-height:0;max-height:none;overflow-y:auto}
dialog.fetch-dialog.purchase-draft-dialog .purchase-draft-footer{position:static;overflow-x:auto}
dialog.fetch-dialog.quote-dialog{width:min(640px,calc(100vw - 32px))}
.quote-dialog .panel-head{margin-bottom:4px}
.quote-dialog .panel-head h2{font-size:19px;margin:3px 0 6px}
.quote-dialog .quote-product-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.5}
.quote-entry{padding:14px;gap:12px}
.quote-entry>label{gap:5px}
.quote-entry input,.quote-entry textarea{min-height:38px;padding:8px 10px}
.quote-entry textarea{min-height:56px;max-height:112px;line-height:1.5}
.quote-entry input[type=file]{padding:5px}
.quote-entry input[type=file]::file-selector-button{padding:5px 10px}
.quote-entry>#saveQuote{min-width:118px;margin-top:0}
.quote-history{border-top:1px solid var(--line);padding-top:10px}
.quote-history>summary{cursor:pointer;color:var(--muted);font-size:13px;font-weight:600;padding:4px 0}
.quote-history[open]>#quoteHistory{margin-top:10px}
.quote-dialog .empty-state{padding:18px}
@media(max-width:650px){
 dialog.fetch-dialog,dialog.inventory-workflow-dialog{width:calc(100vw - 20px)!important;max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px);padding:14px!important}
 dialog.fetch-dialog form>.form-grid,dialog.fetch-dialog .supplier-form-grid,.quote-entry{grid-template-columns:1fr}
 dialog.fetch-dialog .span-all,.quote-entry-wide,dialog.fetch-dialog .supplier-form-grid .wide{grid-column:1/-1}
 dialog .app-message-dialog__actions,dialog .purchase-draft-footer,dialog.fetch-dialog>div>.table-toolbar:last-child{bottom:-14px}
 dialog.fetch-dialog .purchase-draft-lines{max-height:calc(100dvh - 250px)}
}
@media(max-height:760px) and (min-width:651px){
 dialog.fetch-dialog{padding:16px!important;max-height:calc(100dvh - 24px)}
 dialog.fetch-dialog .panel-head{margin-bottom:6px}
 dialog.fetch-dialog form{gap:10px}
 dialog .app-message-dialog__actions,dialog .purchase-draft-footer,dialog.fetch-dialog>div>.table-toolbar:last-child{bottom:-16px;padding-top:10px}
 .quote-entry{padding:12px;gap:10px}
}

.grid-action-column .logistics-case-status{display:block;margin-top:5px;color:var(--muted);font-size:12px;white-space:normal;line-height:1.5}
.outbound-physical-confirm{display:flex!important;align-items:center;gap:9px;margin:12px 0;padding:10px 12px;border:1px solid #d5dfef;border-radius:8px;background:#f5f8fd;font-weight:600;line-height:1.6}
.outbound-physical-confirm input[type=checkbox]{width:17px;height:17px;min-height:0;flex:0 0 17px;margin:0}
.warehouse-batch-lines input[type=number]{width:95px;min-width:95px}
.warehouse-batch-lines select{min-width:260px;max-width:380px}
.warehouse-batch-dialog .table-wrap{max-height:calc(100dvh - 280px);overflow:auto}
.warehouse-batch-dialog .table-wrap input{min-width:150px}
.invoice-upload-box{border:1px solid #d5dfef;border-radius:10px;padding:14px;margin-bottom:18px;background:#f7f9fd}
.invoice-upload-box h3{margin:0 0 5px}.invoice-upload-box p{margin:0;font-size:13px;color:#627595}
.invoice-upload-controls{display:flex;align-items:center;gap:12px;margin-top:12px;flex-wrap:wrap}
.invoice-upload-controls input{width:auto;max-width:100%;flex:1;min-width:220px}
.invoice-extraction{border-top:1px solid #d5dfef;padding-top:12px;margin-top:12px}
.invoice-extraction .panel-head{gap:10px;margin-bottom:6px}.invoice-extraction pre{white-space:pre-wrap;max-height:180px;overflow:auto;font-size:12px}
.invoice-extraction-warning{color:#966313;font-size:12px;margin:5px 0}.invoice-extraction details{margin-top:8px}
.finance-form-grid>.app-message-dialog__actions{grid-column:1/-1}
#purchaseInvoiceForm{gap:10px 14px}#purchaseInvoiceForm .invoice-note-field{grid-column:span 3}
#purchaseInvoiceForm textarea{min-height:54px;height:54px}
.invoice-upload-box{padding:12px;margin-bottom:12px}.invoice-upload-box .panel-head{margin-bottom:6px}
.invoice-upload-controls{margin-top:8px}.invoice-upload-hint{font-size:12px;color:var(--text-secondary);margin-top:7px}
.workflow-purpose{font-size:13px;line-height:1.7;margin-top:8px}
.inventory-opening-template{padding:10px 0 14px}.po-flow-panel{border:1px solid var(--line);border-radius:10px;padding:14px;margin-bottom:14px;background:var(--surface-soft)}
.po-flow-panel>h3{margin:0 0 10px;font-size:15px}.po-flow-statuses{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:10px}
.po-flow-statuses>div{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:8px 10px;min-width:0}.po-flow-statuses small{display:block;font-size:11px;color:var(--muted)}.po-flow-statuses b{display:block;font-size:13px;line-height:1.6;overflow-wrap:anywhere}
.po-flow-tasks{display:grid;gap:8px}.po-flow-task{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--blue);padding:10px;border-radius:8px}
.po-flow-task>div{display:grid;gap:2px;min-width:0}.po-flow-task span{font-size:12px;color:var(--text-secondary)}.po-flow-task small{color:var(--muted);font-size:11px}.po-flow-task .btn{flex:none}
.po-flow-return{padding:10px 12px;border:1px solid #e7b7b7;background:#fff2f2;border-radius:8px;color:#952a2a;font-size:13px;line-height:1.8;white-space:normal}
.po-flow-gate{margin-top:10px;padding:9px 10px;border-radius:7px;background:#fff3de;font-size:12px;line-height:1.8;color:#805b1c}.po-flow-gate.is-eligible{background:#eaf7f0;color:#247352}
.po-flow-lanes{display:grid;gap:10px;margin-top:14px}.po-flow-lane{min-width:0}.po-flow-lane h3{font-size:12px;color:var(--text-secondary);margin:0 0 7px}.po-flow-lane ol{list-style:none;display:flex;gap:8px;margin:0;padding:0;overflow-x:auto}
.po-flow-lane li{position:relative;flex:1;min-width:135px;padding:9px 10px;border:1px solid var(--line);background:var(--surface);border-radius:7px}.po-flow-lane li.is-current{border-color:var(--blue);box-shadow:inset 0 3px var(--blue)}
.po-flow-lane li>div{display:grid;gap:3px}.po-flow-lane b{font-size:12px}.po-flow-lane span:not(.po-flow-dot){color:var(--blue);font-size:12px}.po-flow-lane small,.po-flow-lane time{font-size:11px;color:var(--muted)}
.po-flow-history{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}.po-flow-history summary{font-size:12px;font-weight:600;cursor:pointer;color:var(--text-secondary)}.po-flow-history ol{margin:10px 0 0;padding:0;list-style:none;max-height:230px;overflow:auto}
.po-flow-history li{display:grid;grid-template-columns:145px minmax(0,1fr);gap:12px;padding:8px 4px;border-top:1px solid var(--line)}.po-flow-history time{font-size:11px;color:var(--muted)}.po-flow-history b{font-size:12px;margin-right:8px}.po-flow-history small{display:block;color:var(--muted);font-size:11px}.po-flow-history p{margin:3px 0!important;display:block!important;font-size:12px;overflow-wrap:anywhere}
.po-flow-lock{padding:8px 12px;font-size:12px;color:#805b1c;background:#fff3de;border-radius:7px;margin-bottom:12px}.po-focused-context{border-color:var(--blue);padding:12px 14px}.po-focused-context .panel-head{margin-bottom:5px}.po-flow-feedback{margin-top:12px}.po-flow-feedback>.btn{margin-top:10px}.po-focused-row>td{background:var(--blue-soft)!important}
.procurement-draft-entry{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 16px;margin:12px 0 16px;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:var(--shadow)}.procurement-draft-entry small{display:block;margin-top:3px;font-size:12px;color:var(--muted)}
.po-number-link{font-weight:700;font-size:inherit;white-space:nowrap}.po-flow-statuses b,.po-flow-task b{white-space:normal}
.approval-config-dialog{width:min(760px,calc(100vw - 32px))}.approval-config-nodes{display:grid;gap:12px}.approval-config-nodes>section{border:1px solid var(--line);background:var(--surface-soft);border-radius:9px;padding:12px}.approval-config-nodes h3{font-size:14px;margin:0 0 9px}.approval-target-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.approval-target-row label{min-width:0}.approval-target-preview{grid-column:1/-1;font-size:12px}.approval-reassign{margin-top:18px;border-top:1px solid var(--line);padding-top:12px}.approval-reassign>summary{cursor:pointer;font-weight:700}.approval-reassign form{display:grid;gap:12px;margin-top:12px}
[hidden]{display:none!important}
.approval-config-dialog>.panel-head{display:flex;align-items:flex-start;justify-content:space-between;text-align:left;gap:14px;margin:0 0 16px}.approval-config-dialog>.panel-head>div{flex:1;min-width:0}.approval-config-dialog>.panel-head>.icon-btn{flex:none;align-self:flex-start}.approval-config-dialog>.panel-head h2{margin:0;font-size:18px}
.approval-config-dialog.fetch-dialog>.panel-head{width:100%;max-width:none;flex-direction:row;flex-wrap:nowrap}.approval-config-dialog.fetch-dialog>.panel-head>div{width:auto;max-width:none}.approval-config-dialog.fetch-dialog>.panel-head>.icon-btn{margin:0;align-self:flex-start}
.po-approval-history{margin:12px 0;border:1px solid var(--line);border-radius:8px;padding:10px;background:var(--surface)}
.po-approval-history>summary{font-weight:700;font-size:13px;cursor:pointer}.po-approval-history>.table-wrap{margin-top:8px;max-height:210px;overflow:auto}.po-approval-history table{width:100%;min-width:600px}.po-approval-history td{white-space:normal;overflow-wrap:anywhere;font-size:12px}.po-approval-history th{font-size:12px}.po-approval-history td:nth-child(4){white-space:nowrap}
.po-flow-task.is-todo-focus{position:relative;padding-top:32px;border:2px solid var(--blue);background:var(--surface-soft)}.po-todo-focus-label{position:absolute;top:7px;left:10px;color:var(--blue);font-size:12px}
.po-review-status{display:grid;gap:3px;min-width:240px;font-size:12px}.po-review-status small{color:var(--muted)}.po-review-status .po-review-return-reason{color:var(--danger,#b42318);white-space:normal;overflow-wrap:anywhere}
.po-approval-history-table{table-layout:fixed}.po-approval-history-table th:nth-child(1){width:14%}.po-approval-history-table th:nth-child(2){width:13%}.po-approval-history-table th:nth-child(3){width:13%}.po-approval-history-table th:nth-child(4){width:25%}.po-approval-history-table th:nth-child(5){width:35%}
.fulfillment-context .panel-head{margin-bottom:8px}.fulfillment-context h2{font-size:16px}.fulfillment-context>.btn+.btn{margin-left:6px}

/* 库管发货台：沿用原出库接口与权限，只重排任务、打印和回执操作。 */
.warehouse-workbench{display:grid;gap:16px}.warehouse-process-banner{display:flex;align-items:center;justify-content:space-between;gap:26px;padding:21px 24px;border:1px solid #dce7f6;border-radius:14px;background:linear-gradient(125deg,#fff 0%,#f5f9ff 58%,#ecf4ff 100%);box-shadow:0 8px 28px rgba(58,91,139,.07)}.warehouse-process-banner h2{margin:3px 0 4px;font-size:20px;color:var(--ink)}.warehouse-process-banner p{margin:0;color:var(--muted);font-size:13px}.warehouse-process-steps{display:grid;grid-template-columns:repeat(4,minmax(86px,1fr));gap:8px;min-width:min(480px,46vw);margin:0;padding:0;list-style:none}.warehouse-process-steps li{position:relative;display:flex;align-items:center;gap:8px;min-width:0;padding:10px 11px;border:1px solid #dbe6f5;border-radius:10px;background:#fff;color:#5a6f8e;font-size:12px}.warehouse-process-steps li:not(:last-child)::after{content:"";position:absolute;right:-9px;width:9px;height:1px;background:#cbd9ec}.warehouse-process-steps b{display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;border-radius:50%;background:#eaf2ff;color:var(--blue);font-size:11px}.warehouse-process-steps .is-current{border-color:#a8c5f8;background:#f7faff;color:#244e8f}.warehouse-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.warehouse-metrics article{display:grid;gap:3px;padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:#fff}.warehouse-metrics small{color:var(--muted)}.warehouse-metrics strong{font-size:27px;line-height:1.15;color:#203b61}.warehouse-metrics span{font-size:12px;color:#8797ad}.warehouse-workbench .warehouse-document-panel{margin:0}.warehouse-workbench-filters{display:grid;grid-template-columns:minmax(150px,1fr) minmax(130px,.8fr) minmax(130px,.8fr) minmax(120px,.7fr) minmax(260px,1.6fr) auto;align-items:end;gap:10px;margin-bottom:14px;padding:14px;border:1px solid #e3eaf4;border-radius:11px;background:#f8fbff}.warehouse-workbench-filters label{display:grid;gap:5px;color:#526b8d;font-size:12px;font-weight:600}.warehouse-workbench-filters select,.warehouse-workbench-filters input{width:100%;min-width:0;height:38px;padding:7px 10px;border:1px solid var(--control-line);border-radius:8px;background:#fff}.warehouse-task-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 10px}.warehouse-task-toolbar>div:first-child{display:flex;align-items:baseline;gap:10px}.warehouse-task-table-wrap{max-height:min(58vh,650px);overflow:auto}.warehouse-task-table{min-width:1180px}.warehouse-task-table th{position:sticky;top:0;z-index:1}.warehouse-task-table td{vertical-align:middle}.warehouse-task-table th:nth-child(1),.warehouse-task-table td:nth-child(1){width:54px}.warehouse-task-table th:nth-child(2){width:160px}.warehouse-task-table th:nth-child(3){width:220px}.warehouse-task-table th:nth-child(4){width:145px}.warehouse-task-table th:nth-child(5){width:280px}.warehouse-task-table th:nth-child(6){width:150px}.warehouse-task-table th:nth-child(7){width:140px}.warehouse-selects{display:flex;gap:7px}.warehouse-task-products{display:grid;gap:5px;line-height:1.35}.warehouse-task-products small{display:block;color:#7b8da6}.warehouse-task-actions{display:flex;flex-wrap:wrap;gap:6px}.warehouse-task-actions .btn{margin:0}.warehouse-deadline{margin-top:5px;color:#b26417!important}.warehouse-history-tools{margin-top:16px;padding-top:2px;border-top:1px solid var(--line)}.warehouse-history-tools>summary{cursor:pointer;padding:15px 2px 4px;color:#415d83;font-weight:700}.warehouse-history-tools>summary span{margin-left:8px;color:var(--muted);font-size:12px;font-weight:400}.warehouse-history-tools>.panel-head{margin-top:17px}.module-query-hidden{display:none!important}
.warehouse-template-picker{margin:0;padding:13px 14px;border:1px solid #dce6f4;border-radius:10px;background:#f8fbff}.warehouse-template-picker legend{padding:0 6px;color:#35577f;font-weight:700}.warehouse-template-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.warehouse-template-option{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:9px!important;padding:10px!important;border:1px solid #dce5f1;border-radius:9px;background:#fff;font-weight:400!important;cursor:pointer}.warehouse-template-option:has(input:checked){border-color:#76a8f3;box-shadow:0 0 0 2px rgba(68,126,221,.11)}.warehouse-template-option input{margin-top:3px;accent-color:var(--blue)}.warehouse-template-option span{display:grid;gap:2px}.warehouse-template-option small{color:var(--muted);font-size:11px}.warehouse-template-remember{display:flex!important;grid-template-columns:none!important;align-items:center;gap:7px!important;margin-top:9px;font-weight:400!important}.warehouse-template-picker>p{margin:6px 0 0}.warehouse-workbench-drawer{width:min(980px,95vw)!important}.warehouse-workbench-form{gap:14px!important}.warehouse-drawer-head{position:sticky;top:-22px;z-index:4;margin:-2px 0 0!important;padding:2px 0 13px!important;background:#fff}.warehouse-drawer-close{flex:0 0 auto}.warehouse-copy-card,.warehouse-receipt-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 15px;border:1px solid #dce6f4;border-radius:10px;background:#fbfdff}.warehouse-copy-card>div,.warehouse-receipt-card>div{min-width:0;flex:1}.warehouse-copy-card h3,.warehouse-receipt-card h3{margin:0 0 5px;font-size:14px}.warehouse-copy-card pre{margin:0;white-space:pre-wrap;color:#4c6382;font:12px/1.55 inherit}.warehouse-receipt-card p{margin:0 0 6px}.warehouse-receipt-card textarea{width:100%;min-height:64px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;resize:vertical}.warehouse-logistics-entry input{font-size:15px!important}.after-sales-detail-head{align-items:flex-start!important}.after-sales-detail-head>div:first-child{min-width:0;flex:1}.after-sales-detail-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;flex:0 0 auto}.after-sales-next-step{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.after-sales-party-hint{margin:-4px 0 0;padding:8px 10px;border-radius:7px;background:#f6f9fd}
.warehouse-printer-summary{display:grid;grid-template-columns:minmax(160px,1fr) minmax(160px,1fr) auto;align-items:center;gap:8px 12px;min-width:430px;padding:10px 12px;border:1px solid #d7e4f5;border-radius:11px;background:rgba(255,255,255,.82)}.warehouse-printer-summary span{display:grid;gap:2px;min-width:0}.warehouse-printer-summary small{font-size:10px;color:#7b8da6}.warehouse-printer-summary b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#315579;font-size:12px}.warehouse-printer-summary em{grid-column:1/-1;color:#8191a7;font-size:10px;font-style:normal}.warehouse-printer-dialog,.warehouse-reprint-dialog{width:min(720px,calc(100vw - 28px))!important}.warehouse-printer-setting-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.warehouse-printer-setting-grid label{display:grid;gap:5px;padding:14px;border:1px solid #dce6f4;border-radius:10px;background:#f8fbff}.warehouse-printer-setting-grid span{color:var(--muted);font-size:12px}.warehouse-printer-setting-grid input{margin-top:4px}.warehouse-history-filters{display:grid;grid-template-columns:repeat(4,minmax(120px,.8fr)) minmax(240px,1.5fr) auto;align-items:end;gap:9px;margin:12px 0;padding:12px;border:1px solid #e3eaf4;border-radius:10px;background:#f8fbff}.warehouse-history-filters label{display:grid;gap:4px;color:#526b8d;font-size:11px;font-weight:600}.warehouse-history-filters select,.warehouse-history-filters input{width:100%;height:36px;min-width:0}.warehouse-history-table{min-width:1480px}.warehouse-history-table td{vertical-align:middle}.warehouse-template-badge{display:inline-flex;padding:4px 8px;border:1px solid #cfe0f5;border-radius:999px;background:#edf5ff;color:#2f609c;font-size:11px;font-weight:700;white-space:nowrap}.warehouse-copy-actions{display:grid!important;flex:0 0 auto!important;gap:8px}.warehouse-copy-recipient{min-width:168px;font-weight:700}.warehouse-copy-recipient.is-copied{border-color:#84c5a9!important;background:#e9f8f1!important;color:#16724c!important}.warehouse-copy-card>div:first-child>p{margin:0 0 6px;font-size:11px}
@media(max-width:1300px){.warehouse-process-banner{align-items:flex-start;flex-wrap:wrap}.warehouse-printer-summary{width:100%;min-width:0}}
@media(max-width:1100px){.warehouse-process-banner{align-items:flex-start;flex-direction:column}.warehouse-process-steps{width:100%;min-width:0}.warehouse-workbench-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.warehouse-history-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.warehouse-keyword-filter{grid-column:span 2}.warehouse-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.warehouse-process-banner{padding:16px}.warehouse-process-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.warehouse-process-steps li::after{display:none}.warehouse-printer-summary{grid-template-columns:1fr}.warehouse-printer-summary em{grid-column:1}.warehouse-metrics{grid-template-columns:1fr 1fr}.warehouse-workbench-filters,.warehouse-history-filters{grid-template-columns:1fr 1fr}.warehouse-keyword-filter{grid-column:1/-1}.warehouse-task-toolbar{align-items:flex-start;flex-direction:column}.warehouse-template-options,.warehouse-printer-setting-grid{grid-template-columns:1fr}.warehouse-copy-card,.warehouse-receipt-card{align-items:stretch;flex-direction:column}.warehouse-copy-actions{width:100%}.warehouse-copy-actions .btn{width:100%}.after-sales-detail-head{flex-direction:column}.after-sales-detail-head-actions{width:100%;justify-content:flex-end}}
.fulfillment-transition{display:flex;align-items:center;justify-content:space-between;gap:12px;border-left:3px solid var(--blue)}
.fulfillment-history{margin-top:16px;border-top:1px solid var(--line);padding-top:12px}.fulfillment-history>summary{font-size:13px;font-weight:600;cursor:pointer}.fulfillment-history>.table-wrap{margin-top:10px}
.fulfillment-context .muted{font-size:12px}
@media(max-width:760px){.po-flow-statuses{grid-template-columns:repeat(2,minmax(0,1fr))}.po-flow-task{align-items:flex-start;flex-direction:column}.po-flow-history li{grid-template-columns:110px minmax(0,1fr)}}
@media(max-width:1100px){#purchaseInvoiceForm .invoice-note-field{grid-column:span 1}}

/* 物流拦截与异常：唯一入口，按节点分区，表格继续沿用平台通用字段能力。 */
.logistics-intercept-workbench{display:grid;gap:16px}
.logistics-intercept-workbench>.panel-head{align-items:flex-start;margin:0}
.logistics-intercept-workbench>.panel-head h2{margin-bottom:5px}
.logistics-intercept-workbench>.panel-head p{margin:0;color:var(--muted);font-size:13px}
.logistics-intercept-filters{display:grid;grid-template-columns:minmax(220px,1.45fr) repeat(3,minmax(140px,.8fr)) auto;align-items:end;gap:10px;margin:0;padding:14px;border:1px solid var(--line);border-radius:11px;background:var(--surface-soft)}
.logistics-intercept-filters label{display:grid;gap:5px;min-width:0;color:var(--text-secondary);font-size:12px;font-weight:600}
.logistics-intercept-filters input,.logistics-intercept-filters select{width:100%;min-width:0;height:38px}
.logistics-intercept-filters .table-toolbar{display:flex;gap:8px;margin:0;white-space:nowrap}
.logistics-intercept-tabs{display:flex;align-items:center;gap:8px;overflow-x:auto;padding:0 0 2px;border-bottom:1px solid var(--line)}
.logistics-intercept-tabs button{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;min-height:38px;padding:8px 13px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font:inherit;font-weight:600;cursor:pointer}
.logistics-intercept-tabs button:hover{color:var(--blue);background:var(--surface-soft)}
.logistics-intercept-tabs button.active{border-bottom-color:var(--blue);color:var(--blue)}
.logistics-intercept-tabs button span{display:inline-grid;place-items:center;min-width:22px;height:20px;padding:0 6px;border-radius:999px;background:#edf3fb;color:#5a708f;font-size:11px}
.logistics-intercept-tabs button.active span{background:var(--blue-soft);color:var(--blue)}
.logistics-intercept-workbench [data-logistics-intercept-panel]{display:grid;gap:10px;min-width:0}
.logistics-intercept-workbench [data-logistics-intercept-panel]>h3{margin:0;font-size:15px}
.logistics-intercept-table{min-width:1120px}
.logistics-intercept-table td{vertical-align:middle}
.logistics-intercept-table td:nth-child(4){white-space:normal;line-height:1.45}
.logistics-intercept-table .muted{margin-top:3px;font-size:11px}
dialog.fetch-dialog.logistics-intercept-dialog{width:min(1040px,calc(100vw - 32px))}
.logistics-intercept-form{display:grid;gap:14px}
.logistics-intercept-context{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:12px;border:1px solid #dce6f4;border-radius:10px;background:#f7faff}
.logistics-intercept-context>div{display:grid;gap:4px;min-width:0;padding:10px 11px;border:1px solid #e2eaf5;border-radius:8px;background:#fff}
.logistics-intercept-context small{color:var(--muted);font-size:11px}
.logistics-intercept-context b{overflow-wrap:anywhere;color:var(--ink);font-size:13px;line-height:1.45}
.logistics-intercept-dialog .order-record-group{margin:0}
.logistics-intercept-dialog .order-record-group h3{margin:0 0 9px;font-size:14px}
.logistics-intercept-dialog [data-intercept-quantity]{width:120px;min-width:100px}
.logistics-intercept-dialog [data-intercept-select]{width:17px;height:17px;min-height:0;accent-color:var(--blue)}
@media(max-width:1180px){.logistics-intercept-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.logistics-intercept-filters .table-toolbar{grid-column:1/-1;justify-content:flex-end}}
@media(max-width:760px){.logistics-intercept-filters{grid-template-columns:1fr}.logistics-intercept-filters .table-toolbar{grid-column:1}.logistics-intercept-context{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.logistics-intercept-context{grid-template-columns:1fr}}

/* Reusable operating guidance is consolidated in the employee manual. */
.module-page-help,.order-grid-hint{display:none!important}

@media(min-width:760px){.freight-import-dialog .form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 12px}}
.freight-import-dialog .freight-import-table{max-height:32vh}

#customerLogisticsFilters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}
#customerLogisticsFilters>label{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:12px;font-weight:600}
#customerLogisticsFilters input,#customerLogisticsFilters select{width:100%;min-width:0}
#customerLogisticsFilters>.table-toolbar{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;margin:0}
@media(max-width:1100px){#customerLogisticsFilters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.company-term-grid,.company-term-readonly,.company-term-termination{grid-template-columns:1fr}.company-terms-heading{align-items:stretch;flex-direction:column}.company-terms-heading .btn{align-self:flex-start}.company-term-grid label.wide{grid-column:auto}}
.po-workspace-ownership{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface-soft);color:var(--text-soft)}
.po-workspace-ownership b{color:var(--text);font-weight:700}
.purchase-handoff-dialog{width:min(980px,calc(100vw - 32px))}
.purchase-handoff-dialog .table-wrap{max-height:min(420px,45vh);overflow:auto}
.purchase-handoff-fields{margin-top:16px}

/* Watercolour artwork stays in normal flex flow, so expanded navigation can only shrink it — never cover menu items. */
#navigation{flex:0 1 auto}
.sidebar-plant{position:relative;flex:1 1 230px;min-height:0;max-height:310px;margin:0 -13px;display:flex;align-items:flex-end;overflow:hidden;pointer-events:none;user-select:none;background:transparent}
.sidebar-plant img{display:block;width:100%;height:100%;object-fit:cover;object-position:center bottom;opacity:.82;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,transparent 8%,rgba(0,0,0,.06) 18%,rgba(0,0,0,.34) 34%,#000 58%,#000 74%,rgba(0,0,0,.42) 88%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,transparent 8%,rgba(0,0,0,.06) 18%,rgba(0,0,0,.34) 34%,#000 58%,#000 74%,rgba(0,0,0,.42) 88%,transparent 100%)}
.sidebar-plant::after{display:none;content:none}
.sidebar-bottom{background:transparent}
.local-note{border-top:0;margin-top:0;padding-top:14px}
.settings-readonly-notice{margin:16px 16px 0}
@media(max-height:720px){.sidebar-plant{flex-basis:105px;max-height:155px}.sidebar-plant img{opacity:.68}}
@media(max-height:590px),(max-width:720px){#navigation{flex:1 1 auto}.sidebar-plant{display:none}}
