/* ===== assets/css/product-system.css ===== */
/* Product system refresh · Duanxiaojing_ERP · additive, non-destructive layer */
:root{
  --ds-brand:#4f8cff;--ds-brand-2:#7c6cf2;--ds-surface:#ffffff;
  --ds-text:#17243a;--ds-muted:#68778c;--ds-radius:14px;
  --ds-shadow:0 18px 48px rgba(15,23,42,.12);
  --ds-border:rgba(148,163,184,.22);
  --ds-focus:0 0 0 3px color-mix(in srgb,var(--ds-brand) 28%,transparent);
}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{font-family:Inter,"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit}
button,[role="button"],a{ -webkit-tap-highlight-color:transparent}
:where(button,input,select,textarea,a,[tabindex]):focus-visible{outline:0;box-shadow:var(--ds-focus);border-color:var(--ds-brand)!important}
:where(button){transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease,border-color .16s ease}
:where(button:not(:disabled)):active{transform:translateY(1px)}
:where(button:disabled){cursor:not-allowed;opacity:.55}
:where(input,select,textarea){border-radius:10px;transition:border-color .16s ease,box-shadow .16s ease}
:where(input,select,textarea):focus{outline:0;border-color:var(--ds-brand);box-shadow:var(--ds-focus)}
:where(table){border-collapse:separate;border-spacing:0;width:100%}
:where(th){font-weight:650}
:where(td,th){padding:10px 12px}
:where(.sidebar,.sb){
  border-right:1px solid var(--ds-border);
  box-shadow:8px 0 32px rgba(15,23,42,.05);
  scrollbar-width:thin;
}
:where(.brand-logo,.lg){background:linear-gradient(135deg,var(--ds-brand),var(--ds-brand-2));box-shadow:0 8px 24px color-mix(in srgb,var(--ds-brand) 25%,transparent)}
:where(.topbar,.tb){
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid var(--ds-border);
}
:where(.nav-item,.nav button,.tabbar button,.fl button){
  border-radius:10px;transition:background .16s ease,color .16s ease,transform .16s ease;
}
:where(.nav-item.active,.nav button.active,.tabbar button.active,.fl button.on){
  background:color-mix(in srgb,var(--ds-brand) 13%,transparent);
  color:var(--ds-brand);font-weight:650;
}
:where(.card,.panel,.glass,.stat-card,.metric-card,.module-card,.experiment-card,.login-card){
  border-radius:var(--ds-radius);border:1px solid var(--ds-border);
  box-shadow:var(--ds-shadow);
}
:where(.card,.panel,.stat-card,.metric-card,.module-card,.experiment-card){transition:box-shadow .2s ease,border-color .2s ease,transform .2s ease}
@media(hover:hover){
  :where(.card,.panel,.stat-card,.metric-card,.module-card,.experiment-card):hover{border-color:color-mix(in srgb,var(--ds-brand) 38%,var(--ds-border));box-shadow:0 22px 52px rgba(15,23,42,.14)}
}
:where(.btn,.button,.bt,.primary-btn,.action-btn){border-radius:10px;font-weight:600}
:where(.btn-primary,.primary-btn,.action-primary){background:linear-gradient(135deg,var(--ds-brand),var(--ds-brand-2));border-color:transparent}
:where(.eyebrow){letter-spacing:.12em;font-weight:700}
:where(.empty-state,.empty,.no-data){border:1px dashed var(--ds-border);border-radius:var(--ds-radius);padding:24px}
img,svg,canvas{max-width:100%}
:where(.main,.mn,.view){min-width:0}
@media(max-width:760px){
  :where(.main,.mn){min-width:0;width:100%}
  :where(.topbar,.tb){position:sticky;top:0;z-index:20}
  :where(.card,.panel,.stat-card,.metric-card){border-radius:14px}
  :where(button,.btn,.bt){min-height:38px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
@media print{
  :where(.sidebar,.sb,.topbar,.tb,.tabbar,button){display:none!important}
  body{background:#fff!important;color:#111!important}
  :where(.card,.panel,.stat-card,.metric-card){box-shadow:none!important;break-inside:avoid}
}


/* V2 application-specific visual layer */
body .app .sidebar{background:linear-gradient(180deg,#111f36,#0d1728);border-right:0;box-shadow:10px 0 30px rgba(15,23,42,.12)}
body .app .main-content{min-width:0;background:#f5f7fb}
body .app .topbar{background:rgba(255,255,255,.94);border-bottom-color:#e7ecf3;box-shadow:0 3px 14px rgba(20,40,80,.04)}
body .app .content-body{padding:clamp(16px,2vw,30px)}
body .app .card{border:1px solid #e7ecf3;border-radius:14px;box-shadow:0 5px 20px rgba(20,40,80,.045)}
body .app .nav-item{border-radius:9px;margin:2px 10px;padding-left:16px}
body .app .nav-item.active{background:rgba(79,140,255,.18);border-left:3px solid #4f8cff;color:#fff}
body .app .btn-primary{background:linear-gradient(135deg,#3478ed,#6b83f5);box-shadow:0 5px 14px rgba(79,140,255,.18)}


/* V3 · Textile ERP operations workspace */
:root{
  --navy:#102b43;
  --blue:#1d6395;
  --cyan:#168b91;
  --bg:#f3f7fa;
  --card:#fff;
  --line:#dfe8ee;
  --text:#183448;
  --muted:#687f8e;
  --green:#18815d;
  --amber:#a66b17;
  --red:#b83b42;
  --purple:#7158a3;
  --ds-brand:#177d93;
  --ds-brand-2:#36a0a1;
  --ds-border:#dfe8ee;
  --ds-radius:16px;
  --ds-shadow:0 8px 24px rgba(22,57,78,.055);
}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{
  background:#f3f7fa!important;color:#183448!important;
  font-family:Inter,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
  font-size:13px;-webkit-font-smoothing:antialiased;
}
:where(button,input,select,textarea,a,[tabindex]):focus-visible{
  outline:0;box-shadow:0 0 0 3px rgba(23,125,147,.16)!important;
  border-color:#258aa0!important;
}
.app{background:#f3f7fa}
.sidebar{
  width:246px;
  background:linear-gradient(180deg,#142f49 0%,#10283f 58%,#0d2237 100%);
  border-right:1px solid #29475d;
  box-shadow:9px 0 28px rgba(13,37,56,.09);
}
.brand{padding:23px 19px 20px;gap:12px}
.brand-logo{
  width:42px;height:42px;border-radius:13px;
  background:linear-gradient(145deg,#197d9b,#3ba99f);
  box-shadow:0 8px 20px rgba(35,152,157,.2);
  font-size:18px;
}
.brand h1{font-size:16px;font-weight:760;letter-spacing:.2px}
.brand p{color:#91aabd;font-size:9px;letter-spacing:1.6px}
.nav-group{padding:3px 12px;margin-top:6px}
.nav-label{color:#7894a8;font-size:9px;letter-spacing:1.6px;padding:13px 10px 7px}
.nav-item{
  min-height:42px;padding:10px 12px;margin-bottom:4px;
  border-radius:10px;color:#b4c7d4;font-size:12.5px;
}
.nav-item:hover{background:rgba(255,255,255,.07);color:#f3fbff}
.nav-item.active{
  color:#fff;
  background:linear-gradient(100deg,rgba(45,146,170,.34),rgba(40,112,153,.12));
  border:1px solid rgba(115,202,207,.2);
  border-left:3px solid #58bec0;
  box-shadow:0 5px 16px rgba(8,24,38,.12);
}
.sidebar-foot{border-top-color:rgba(220,241,248,.12);padding:16px 18px}
.credit{color:#91a9b9;font-size:10px}
.credit b{color:#d9eef3}
.main{
  margin-left:246px;
  min-width:0;
  background:#f3f7fa;
}
.topbar{
  min-height:68px;
  padding:12px clamp(17px,2.2vw,32px);
  gap:14px;
  background:rgba(255,255,255,.97);
  border-bottom:1px solid #dfe8ee;
  box-shadow:0 3px 14px rgba(21,55,75,.035);
}
.topbar h2{font-size:17px;color:#18394e;font-weight:760;letter-spacing:-.2px}
.topbar .sub{color:#8296a2}
.topbar-right{gap:12px}
.gs-wrap{width:clamp(210px,24vw,340px)}
.gs-wrap input{
  min-height:38px;padding:9px 12px 9px 36px;
  background:#f7fafc;border-color:#dfe8ee;border-radius:10px;
  color:#1f4054;font-size:12px;
}
.gs-wrap input:focus{background:#fff;border-color:#7bbac6;box-shadow:0 0 0 3px rgba(23,125,147,.1)}
.gs-panel{border-color:#dbe7eb;border-radius:13px;box-shadow:0 16px 36px rgba(16,43,67,.13)}
.gs-tag{background:#edf6f7;color:#1b7180}
.gs-item:hover{background:#f1f8f8}
.gs-item:hover .gs-main{color:#176e80}
.date-pill{
  padding:8px 12px;border-radius:10px;
  background:#eef7f5;border-color:#d5e9e4;color:#386e65;
  font-size:11px;
}
.live-dot{background:#259a79;box-shadow:0 0 0 3px rgba(37,154,121,.13)}
.erp-intro{
  margin:19px clamp(17px,2.2vw,32px) 0;
  min-height:146px;
  padding:23px clamp(20px,2.5vw,34px);
  gap:24px;
  border-radius:17px;
  border:1px solid #d6e6eb;
  background:
    radial-gradient(circle at 86% 15%,rgba(44,159,162,.12),transparent 25%),
    linear-gradient(112deg,#fff 0%,#f1f8fa 58%,#eef7f5 100%);
  box-shadow:0 7px 24px rgba(28,75,91,.045);
}
.erp-intro .eyebrow{color:#16818a;font-size:9.5px;letter-spacing:1.8px}
.erp-intro h2{color:#173c52;font-size:clamp(21px,2.1vw,28px);font-weight:790;letter-spacing:-.6px;margin:6px 0}
.erp-intro p{color:#5f7786;font-size:12px;line-height:1.8;max-width:740px}
.erp-intro .erp-modules{gap:7px;margin-top:13px}
.erp-intro .erp-modules span{
  color:#376b78;background:#fff;border:1px solid #d4e6e9;
  padding:5px 10px;border-radius:99px;font-size:10px;
}
.erp-intro .erp-mark{
  flex-basis:88px;width:88px;height:88px;
  border-radius:23px;background:linear-gradient(145deg,#dff1ef,#e5f1f8);
  border:1px solid #d2e7e5;color:#197a83;font-size:29px;
  box-shadow:inset 0 1px #fff,0 10px 24px rgba(26,113,120,.08);
}
.erp-demo-note{
  margin:13px clamp(17px,2.2vw,32px)!important;
  padding:11px 15px!important;
  border:1px solid #ead9b4!important;border-left:4px solid #d7a347!important;
  border-radius:11px!important;background:#fffaf0!important;color:#765a2b!important;
  font-size:11px!important;line-height:1.7!important;
}
.content{padding:20px clamp(17px,2.2vw,32px) 30px;max-width:1800px;width:100%;margin:0 auto}
.kpi-grid{gap:13px;margin-bottom:17px}
.kpi{
  padding:18px 19px 17px;
  min-height:132px;
  border:1px solid #dfe8ee;
  border-radius:15px;
  box-shadow:0 5px 18px rgba(20,58,79,.035);
}
.kpi:hover{border-color:#c3dce2;box-shadow:0 10px 24px rgba(25,82,99,.075);transform:translateY(-2px)}
.kpi::after{right:-22px;top:-26px;width:94px;height:94px;opacity:.065}
.kpi-label{font-size:11px;color:#748895;font-weight:650}
.kpi-value{font-size:27px;color:#1c3e53;font-weight:790;letter-spacing:-.8px;margin:12px 0 8px}
.kpi-foot{font-size:10px;color:#81939d}
.kpi.c1{border-top:3px solid #3d83c8}
.kpi.c2{border-top:3px solid #28a39a}
.kpi.c3{border-top:3px solid #d39a3b}
.kpi.c4{border-top:3px solid #8870b7}
.grid-2,.grid-2b,.grid-3{gap:15px;margin-bottom:16px}
.grid-2{grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr);align-items:stretch}
.grid-2b{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.card{
  padding:19px;
  border:1px solid #dfe8ee;
  border-radius:15px;
  box-shadow:0 5px 19px rgba(21,57,78,.035);
}
.card-head{margin-bottom:16px}
.card-title{font-size:13px;color:#25485b;font-weight:730}
.card-title::before{width:4px;height:15px;border-radius:4px;background:linear-gradient(180deg,#2ba5a0,#327fb1)}
.card-sub{font-size:10.5px;color:#8396a0}
.bars{height:190px;gap:12px}
.bar-v{color:#527080;font-size:10px}
.bar-x{font-size:10px;color:#80939e}
.bar-fill{border-radius:7px 7px 2px 2px;background:linear-gradient(180deg,#68a4d7,#337fc0)}
.bar-fill.hi{background:linear-gradient(180deg,#55b9ad,#188d88)}
.dist-row{margin-bottom:16px}
.dist-top{font-size:11px}
.dist-top .nm{color:#3c5969}
.dist-top .vl{color:#8295a0}
.dist-bar{height:8px;border-radius:99px;background:#edf3f5}
.dist-fill{border-radius:99px}
.prog-txt{color:#80939e;font-size:10px}
.alert-item{padding:12px 0;border-bottom-color:#edf2f4}
.alert-txt .t{font-size:11.5px;color:#304f60;font-weight:650}
.alert-txt .d{font-size:10.5px;color:#80929c;line-height:1.55}
.alert-ico{width:30px;height:30px;border-radius:10px}
.alert-ico.blue{background:#edf4fb;color:#3979ad}
.alert-ico.amber{background:#fff7e9;color:#a77a2b}
.alert-ico.red{background:#fff0ef;color:#b94a4a}
.alert-ico.green{background:#edf8f2;color:#26835c}
.toolbar{
  padding:13px 15px;
  background:#fff;border-color:#dfe8ee;border-radius:13px;
  box-shadow:0 4px 14px rgba(21,57,78,.025);
}
.search-box input{
  min-height:36px;background:#fbfdfe;border-color:#dce7ec;
  border-radius:9px;color:#1f4054;
}
.search-box input:focus{border-color:#7bbac6;box-shadow:0 0 0 3px rgba(23,125,147,.1)}
.chip{border-color:#dfe8ee;color:#607988;background:#fff}
.chip.active{background:#eaf5f5;border-color:#b7d8d9;color:#176e79;box-shadow:none}
.btn{
  padding:8px 12px;border-color:#dce6eb;border-radius:9px;
  background:#fff;color:#446272;font-size:11.5px;
}
.btn:hover{border-color:#b7d5dc;background:#f5fafb;color:#1e6c7c}
.btn-primary{
  border-color:#187f93;
  background:linear-gradient(135deg,#1b8297,#288fa1);
  box-shadow:0 4px 12px rgba(27,130,151,.18);
}
.btn-primary:hover{background:linear-gradient(135deg,#166f84,#217f92);border-color:#166f84}
.table-wrap{
  border:1px solid #dce7ec;border-radius:14px;
  box-shadow:0 5px 18px rgba(22,57,78,.035);
}
.table-scroll{scrollbar-width:thin}
thead th{
  padding:13px 14px!important;
  background:#f4f8fa!important;color:#5c7482!important;
  border-bottom:1px solid #dce7ec!important;
  font-size:10.5px!important;letter-spacing:.35px;
  text-transform:none;
}
tbody td{
  padding:12px 14px!important;
  color:#345365;
  border-bottom:1px solid #edf2f4!important;
  font-size:11.5px;
}
tbody tr:hover{background:#f5fafb!important}
.strong{color:#214355}
.sub{color:#82949e}
.badge{font-size:10px;padding:4px 9px}
.modal{
  border:1px solid #dce7ec;border-radius:17px;
  box-shadow:0 26px 70px rgba(13,40,58,.22);
}
.modal-head{padding:18px 22px;border-bottom-color:#e7eef1}
.modal-head h3{color:#1b4053;font-weight:730}
.field label{color:#5f7683;font-size:11px;font-weight:650}
.field input,.field select,.field textarea{
  min-height:37px;border-color:#dce6eb;border-radius:9px;
  color:#1d3e51;background:#fff;
}
.field input:focus,.field select:focus,.field textarea:focus{
  border-color:#6fb3bf;box-shadow:0 0 0 3px rgba(23,125,147,.1);
}
.app-footer{
  background:#fff;border-top-color:#dfe8ee;color:#8597a0;
  font-size:10px;padding:16px 22px 22px;
}
.app-footer a{color:#327f91}
#toastRoot{bottom:24px}
.toast{background:#14394d;border-radius:11px;box-shadow:0 10px 30px rgba(13,43,60,.2)}
@media(max-width:1180px){
  .main{margin-left:226px}
  .sidebar{width:226px}
  .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .sidebar{width:258px;transform:translateX(-100%);box-shadow:0 12px 36px rgba(8,26,42,.25)}
  .sidebar.open{transform:translateX(0)}
  .main{margin-left:0}
  .hamburger{
    display:grid;place-items:center;width:36px;height:36px;
    border:1px solid #dce7ec;border-radius:10px;background:#fff;color:#416476;
  }
  .topbar{min-height:62px;padding:10px 13px;gap:10px}
  .topbar h2{font-size:15px}
  .gs-wrap{width:min(43vw,230px)}
  .date-pill{display:none}
  .erp-intro{margin:12px 13px 0;padding:17px 16px;min-height:0}
  .erp-intro .erp-mark{display:none}
  .erp-demo-note{margin:10px 13px!important}
  .content{padding:15px 13px 26px}
  .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .kpi{min-height:116px;padding:13px}
  .kpi-value{font-size:23px}
  .grid-2,.grid-2b,.grid-3{grid-template-columns:1fr}
  .table-wrap{border-radius:11px}
}
@media(max-width:520px){
  .topbar{flex-wrap:wrap}
  .topbar-right{margin-left:auto;min-width:0}
  .gs-wrap{width:min(48vw,190px)}
  .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kpi-label{font-size:10px}
  .kpi-value{font-size:20px}
  .kpi-foot{font-size:9px}
  .card{padding:14px}
  .card-head{gap:7px}
  .card-title{font-size:12px}
  .bars{height:156px;gap:6px}
  .bar-v{font-size:8.5px}
  .bar-x{font-size:8.5px}
  .toolbar{padding:10px}
  .search-box{min-width:100%;max-width:none}
  .btn{font-size:10.5px;padding:7px 10px}
  .erp-intro h2{font-size:19px}
  .erp-modules span{font-size:9px!important;padding:4px 8px!important}
  .app-footer{justify-content:center;text-align:center;padding:14px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
@media print{
  .sidebar,.topbar,.hamburger,button{display:none!important}
  .main{margin:0!important;background:#fff!important}
  .content{padding:0!important}
  .card,.kpi,.table-wrap{box-shadow:none!important;break-inside:avoid}
}


/* Procurement receiving and qualified stock-in workspace */
.purchase-receipt-workspace{
  margin:0 0 16px;padding:18px 20px;
  border:1px solid #d5e3f1;border-radius:15px;
  background:linear-gradient(145deg,#fff,#f5f9ff);
  box-shadow:0 8px 22px rgba(26,61,94,.055)
}
.purchase-receipt-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:15px}
.purchase-receipt-head .eyebrow{font-size:9px;font-weight:850;letter-spacing:1.5px;color:#3975a5}
.purchase-receipt-head h3{margin:4px 0;color:#173d60;font-size:17px;font-weight:800}
.purchase-receipt-head p{max-width:850px;margin:0;color:#657e91;font-size:10.5px;line-height:1.75}
.receipt-count{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:102px;padding:10px 13px;border:1px solid #d9e7f4;border-radius:12px;background:#fff}
.receipt-count b{font-size:23px;color:#1c5f8e;line-height:1.15}
.receipt-count span{font-size:9px;color:#7b91a1;margin-top:4px;white-space:nowrap}
.receipt-warning{margin:0 0 13px;padding:10px 12px;border:1px solid #efd5a5;border-radius:9px;background:#fff8ea;color:#825a18;font-size:10px;line-height:1.65}
#purchase-receipt-form{padding:14px;border:1px solid #e0eaf4;border-radius:11px;background:rgba(255,255,255,.82)}
.receipt-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.receipt-form-grid label,.receipt-note-label{display:flex;flex-direction:column;gap:5px;min-width:0;color:#526d82;font-size:10px;font-weight:700}
.receipt-form-grid .form-control,#purchase-receipt-form textarea{
  width:100%;min-width:0;min-height:37px;padding:8px 10px;
  border:1px solid #d8e4ef;border-radius:8px;background:#fff;
  color:#294d68;font-size:10.5px
}
.receipt-form-grid .form-control:read-only{background:#f2f6fa;color:#6c8497}
.receipt-remaining{margin-top:11px;padding:8px 10px;border-radius:8px;background:#edf5fc;color:#315f85;font-size:10px;font-weight:750}
.receipt-match-message{padding:7px 1px;color:#718699;font-size:9.5px;line-height:1.6}
.receipt-note-label{margin-top:7px}
.receipt-note-label textarea{resize:vertical;min-height:48px}
.receipt-submit-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}
.receipt-submit-row>span{max-width:650px;color:#7a8e9e;font-size:9px;line-height:1.6}
.receipt-submit-row .btn{white-space:nowrap}
.receipt-submit-row .btn:disabled{opacity:.45;cursor:not-allowed}
.purchase-receipt-history{margin-top:17px;padding-top:13px;border-top:1px solid #e3ebf3}
.purchase-receipt-history .card-head{margin-bottom:9px}
.purchase-receipt-history table{min-width:860px}
.purchase-receipt-history th{padding:9px 10px;font-size:9px}
.purchase-receipt-history td{padding:9px 10px;font-size:9.5px;vertical-align:top}
.purchase-receipt-history td small{display:block;margin-top:3px;color:#8295a4;font-size:8.5px}
.purchase-receipt-history .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;color:#18764e;font-weight:750}
@media(max-width:900px){
  .receipt-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .purchase-receipt-workspace{padding:13px;margin-bottom:12px}
  .purchase-receipt-head{gap:9px;flex-direction:column}
  .receipt-count{align-items:flex-start;min-width:0;padding:7px 10px}
  .receipt-count b{font-size:18px}
  .receipt-form-grid{grid-template-columns:minmax(0,1fr)}
  .receipt-submit-row{align-items:stretch;flex-direction:column}
  .receipt-submit-row .btn{width:100%}
}


/* V4 · Interaction, readability and responsive finishing pass */
:where(button,[role="button"],a,input,select,textarea){-webkit-tap-highlight-color:transparent}
:where(button,a,[role="button"]){transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}
:where(button:not(:disabled),[role="button"],a):active{transform:translateY(1px)}
:where(button:disabled){cursor:not-allowed;opacity:.58}
:where(input,select,textarea){max-width:100%;min-width:0}
:where(button,input,select,textarea,a,[tabindex]):focus-visible{outline:3px solid color-mix(in srgb,var(--ds-brand,#168b9a) 42%,transparent);outline-offset:2px}
:where(.card,.kpi,.gcard,.lib-cat,.param-group,.experiment-card,.metric-card,.module-card,.pnl,.score-card,.quick,.mode){transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
@media(hover:hover){:where(.card,.kpi,.gcard,.experiment-card,.metric-card,.module-card,.quick,.mode):hover{transform:translateY(-2px)}}
:where(table){max-width:100%;font-variant-numeric:tabular-nums}
:where(th){text-align:left}
:where(td,th){overflow-wrap:anywhere}
:where(img,svg,canvas){max-width:100%}
@media(max-width:760px){
  :where(.content,.pages,.content-body,.view,.mn){min-width:0;max-width:100%}
  :where(.hyhub-intro,.health-intro,.erp-intro,.study-intro,.labos-intro,.physchem-intro){gap:14px;padding:18px 16px}
  :where(.hyhub-intro .mark,.health-intro .health-state,.erp-intro .erp-mark,.study-intro .orbit,.labos-intro .labos-stamp,.physchem-intro .atom){flex-shrink:0}
  :where(.lib-stats,.metrics-grid){grid-template-columns:repeat(2,minmax(0,1fr))}
  :where(.lib-categories-grid){grid-template-columns:minmax(0,1fr)}
  :where(.lib-cat.open){grid-column:auto}
  :where(.lib-cat.open .lib-cat-body){grid-template-columns:minmax(0,1fr)}
  :where(table){display:block;max-width:100%;overflow-x:auto;white-space:nowrap}
}
@media(max-width:420px){
  :where(.hyhub-intro .mark,.erp-intro .erp-mark,.study-intro .orbit,.labos-intro .labos-stamp,.physchem-intro .atom){display:none}
  :where(.lib-stats,.metrics-grid){grid-template-columns:minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){:where(button,a,[role="button"],.card,.kpi,.gcard,.experiment-card,.metric-card,.module-card,.quick,.mode){transition:none!important;transform:none!important}}


/* V5 · Core workspace actions */
.dashboard-command{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 17px;padding:17px 19px;border:1px solid #d4e6e8;border-left:4px solid #238f95;border-radius:14px;background:linear-gradient(110deg,#fff 0%,#f4fafa 62%,#eef7f5 100%);box-shadow:0 6px 18px rgba(27,77,86,.04)}.dashboard-command-copy{min-width:0}.dashboard-command-copy .eyebrow{font-size:9px;letter-spacing:1.6px;color:#16818a;font-weight:850}.dashboard-command-copy h3{margin:4px 0;color:#1b4052;font-size:14px;font-weight:800}.dashboard-command-copy p{margin:0;color:#6c8490;font-size:10.5px;line-height:1.65;max-width:560px}.dashboard-command-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.dashboard-command-actions .btn{min-height:35px;padding:7px 11px;font-size:10px;white-space:nowrap}@media(max-width:760px){.dashboard-command{align-items:stretch;flex-direction:column;gap:12px;padding:15px}.dashboard-command-actions{justify-content:stretch}.dashboard-command-actions .btn{flex:1 1 42%}}


/* 2026-10-19 V6: high-visibility, domain-specific workflow layer */
.product-workflow{
  --workflow-accent:#4f8cff;
  position:relative;isolation:isolate;overflow:hidden;
  margin:18px clamp(16px,2.2vw,30px) 22px;
  padding:clamp(18px,2.4vw,28px);
  border:1px solid color-mix(in srgb,var(--workflow-accent) 26%,#d7e2ed);
  border-radius:22px;
  background:
    radial-gradient(circle at 92% 0%,color-mix(in srgb,var(--workflow-accent) 16%,transparent),transparent 28%),
    linear-gradient(120deg,#fff 0%,#f7fbff 56%,color-mix(in srgb,var(--workflow-accent) 5%,#fff) 100%);
  box-shadow:0 18px 50px rgba(20,45,70,.075);
}
.product-workflow:before{content:"";position:absolute;z-index:-1;right:-42px;bottom:-92px;width:240px;height:240px;border:1px solid color-mix(in srgb,var(--workflow-accent) 17%,transparent);border-radius:50%;box-shadow:0 0 0 24px color-mix(in srgb,var(--workflow-accent) 3%,transparent),0 0 0 48px color-mix(in srgb,var(--workflow-accent) 2%,transparent)}
.product-workflow__head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}
.product-workflow__head .eyebrow{display:block;margin-bottom:6px;color:var(--workflow-accent);font-size:10px;letter-spacing:.16em;font-weight:850}
.product-workflow__head h3{margin:0;color:#172e45;font-size:clamp(19px,2vw,25px);font-weight:820;letter-spacing:-.04em}
.product-workflow__head p{margin:6px 0 0;color:#63788e;font-size:12.5px;line-height:1.65}
.product-workflow__mode{flex:0 0 auto;padding:7px 10px;border:1px solid color-mix(in srgb,var(--workflow-accent) 25%,#dce7ef);border-radius:999px;background:#fff;color:#61788d;font-size:9px;font-weight:800;letter-spacing:.08em}
.product-workflow__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.product-workflow__item{
  position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:6px;
  min-width:0;min-height:132px;padding:15px 15px 13px;
  border:1px solid #e1eaf2;border-radius:15px;background:rgba(255,255,255,.94);
  color:#19334b;text-align:left;cursor:pointer;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.product-workflow__item:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--workflow-accent) 48%,#dce7ef);box-shadow:0 13px 30px rgba(28,58,86,.1)}
.product-workflow__item i{font-style:normal;color:var(--workflow-accent);font-size:10px;font-weight:900;letter-spacing:.12em}
.product-workflow__item b{font-size:14px;font-weight:800}
.product-workflow__item small{color:#6b8094;font-size:11px;line-height:1.5}
.product-workflow__item span{margin-top:auto;color:var(--workflow-accent);font-size:10px;font-weight:800}
.product-workflow__foot{margin-top:14px;padding-top:11px;border-top:1px solid #e6edf3;color:#718397;font-size:10px;line-height:1.55}
@media(max-width:900px){.product-workflow__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.product-workflow{margin:12px 12px 18px;padding:16px;border-radius:17px}.product-workflow__head{display:block}.product-workflow__mode{display:inline-flex;margin-top:11px}.product-workflow__grid{gap:8px}.product-workflow__item{min-height:122px;padding:12px}.product-workflow__item b{font-size:13px}}
@media(prefers-reduced-motion:reduce){.product-workflow__item{transition:none}.product-workflow__item:hover{transform:none}}


/* V4 · ZhiYun ERP operations command center */
.erp-intro{
  position:relative;isolation:isolate;overflow:hidden;min-height:178px;
  padding:28px clamp(22px,3vw,40px);border-radius:20px;
  background:
    radial-gradient(circle at 88% 18%,rgba(47,160,157,.2),transparent 25%),
    radial-gradient(circle at 75% 115%,rgba(46,116,159,.13),transparent 34%),
    linear-gradient(112deg,#fff 0%,#f0f8fa 56%,#eaf5f3 100%);
  box-shadow:0 12px 32px rgba(22,69,87,.07);
}
.erp-intro:after{
  content:"ZHIYUN";position:absolute;z-index:-1;right:3%;top:15%;
  color:rgba(23,112,132,.055);font-size:clamp(58px,8vw,112px);
  font-weight:900;letter-spacing:-5px;line-height:1;
}
.erp-intro h2{font-size:clamp(24px,2.6vw,34px);letter-spacing:-.8px}
.erp-intro p{max-width:790px;font-size:12.5px}
.erp-intro .erp-mark{
  position:relative;flex-basis:100px;width:100px;height:100px;
  border-radius:27px;font-size:32px;box-shadow:inset 0 1px #fff,0 14px 28px rgba(25,113,122,.12);
}
.product-workflow{
  margin:14px clamp(17px,2.2vw,32px) 20px;padding:21px 22px;
  border:1px solid #d9e6eb;border-radius:17px;background:#fff;
  box-shadow:0 8px 23px rgba(20,59,78,.045);
}
.product-workflow__head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:15px}
.product-workflow__head .eyebrow{font-size:9px;letter-spacing:1.8px;color:#16818a;font-weight:850}
.product-workflow__head h3{font-size:17px;color:#21475a;margin:4px 0}
.product-workflow__head p{font-size:11px;color:#758a97}
.product-workflow__mode{white-space:nowrap;padding:6px 10px;border-radius:30px;background:#edf6f5;color:#438078;font-size:9px;font-weight:800}
.product-workflow__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.product-workflow__item{
  min-height:116px;display:flex;flex-direction:column;align-items:flex-start;gap:7px;
  padding:14px;border:1px solid #e0e9ed;border-radius:13px;
  background:linear-gradient(145deg,#fff,#f7fbfc);text-align:left;
  transition:transform .18s,border-color .18s,box-shadow .18s;
}
.product-workflow__item:hover{transform:translateY(-3px);border-color:#abd3d7;box-shadow:0 10px 22px rgba(26,103,117,.08)}
.product-workflow__item i{width:27px;height:27px;display:grid;place-items:center;border-radius:8px;background:#eaf5f5;color:#167f89;font-size:10px;font-style:normal;font-weight:850}
.product-workflow__item b{font-size:12px;color:#294d60}
.product-workflow__item small{font-size:10px;color:#7b909b}
.product-workflow__item span{margin-top:auto;color:#177e8d;font-size:10px;font-weight:750}
.product-workflow__foot{margin-top:12px;padding-top:10px;border-top:1px solid #edf1f3;color:#8b9ca5;font-size:9.5px;line-height:1.6}
.content{padding:clamp(16px,2.2vw,32px)!important}
.content .kpi-grid{gap:13px}
.content .kpi{
  position:relative;overflow:hidden;min-height:122px;padding:17px 18px;
  border:1px solid #dce7ec;border-radius:15px;background:#fff;
  box-shadow:0 6px 18px rgba(21,59,78,.045);
}
.content .kpi:after{content:"";position:absolute;right:-18px;top:-20px;width:76px;height:76px;border-radius:50%;background:rgba(34,133,147,.045)}
.content .table-wrap{border:1px solid #dce7ec;border-radius:14px;background:#fff;box-shadow:0 6px 18px rgba(21,59,78,.04)}
.content table{min-width:680px}
.content thead th{background:#f2f7f9;color:#5e7887;font-size:10px;letter-spacing:.25px}
.content tbody tr:hover{background:#f5fafb}
.content .card,.content .panel{border:1px solid #dce7ec;border-radius:15px;background:#fff;box-shadow:0 6px 20px rgba(21,59,78,.045)}
.content .sec-title{font-size:13px;color:#274a5d;font-weight:800}
.content .sec-title:before{content:"";width:4px;height:15px;border-radius:4px;background:linear-gradient(#2296a2,#4aaca0)}
.content input,.content select,.content textarea{border-color:#d9e5ea;background:#fbfdfe}
.content input:focus,.content select:focus,.content textarea:focus{border-color:#72b7c1;box-shadow:0 0 0 3px rgba(35,139,153,.1)}
@media(max-width:900px){
 .product-workflow__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .product-workflow__head{flex-direction:column}
}
@media(max-width:520px){
 .erp-intro{padding:21px 17px;border-radius:15px}
 .erp-intro:after{font-size:54px;right:0}
 .erp-intro .erp-mark{width:64px;height:64px;flex-basis:64px;border-radius:18px;font-size:22px}
 .product-workflow{padding:15px 13px}
 .product-workflow__grid{gap:7px}
 .product-workflow__item{min-height:120px;padding:10px}
 .product-workflow__item small{font-size:9px}
 .content{padding:14px!important}
 .content .table-wrap{overflow-x:auto}
}

/* ===== assets/css/workspace-v5.css ===== */
/* Zhiyun ERP Workspace V5 — operational cockpit and document workspace */
:root{--e-bg:#f4f2ed;--e-ink:#24342f;--e-muted:#7a8780;--e-line:#e0e3dc;--e-green:#276b51;--e-gold:#c18a43;--e-dark:#202d29}
body[data-workspace="erp"]{background:var(--e-bg)!important;color:var(--e-ink)!important;font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif}
body[data-workspace="erp"] .app{min-height:100vh;background:var(--e-bg)!important}
body[data-workspace="erp"] .sidebar{width:258px;padding:24px 17px 18px;background:linear-gradient(180deg,#273832,#1d2925);border-right:1px solid #40564c;box-shadow:12px 0 36px #172b2214}
body[data-workspace="erp"] .brand{padding:7px 10px 27px}
body[data-workspace="erp"] .brand-name,body[data-workspace="erp"] .sidebar .brand-title{color:#f4f6ef;font-size:16px;font-weight:850}
body[data-workspace="erp"] .brand-sub,body[data-workspace="erp"] .sidebar .brand-subtitle{color:#a8b8ac}
body[data-workspace="erp"] .nav{gap:5px}
body[data-workspace="erp"] .nav-item{border-radius:9px;color:#b0beb3;min-height:43px;padding:10px 12px}
body[data-workspace="erp"] .nav-item:hover{background:#ffffff0d;color:#fff}
body[data-workspace="erp"] .nav-item.active{background:#dcebe01c;color:#fff;border-color:#a7cbb42c;box-shadow:inset 3px 0 #d1a66a}
body[data-workspace="erp"] .nav-item .ico{color:#dfb77b}
body[data-workspace="erp"] .sidebar-foot,body[data-workspace="erp"] .sidebar-footer{border-top:1px solid #ffffff20;color:#9caea1}
body[data-workspace="erp"] .main{background:var(--e-bg)!important}
body[data-workspace="erp"] .topbar{height:72px;min-height:72px;padding:0 clamp(18px,2.8vw,38px);background:#fbfaf7;border-bottom:1px solid #e1e3dd;box-shadow:0 4px 15px #293b3108}
body[data-workspace="erp"] .topbar h2,body[data-workspace="erp"] .topbar h1{color:#243d33;font-size:18px;font-weight:820}
body[data-workspace="erp"] .topbar-right{gap:9px}
body[data-workspace="erp"] .erp-intro{position:relative;isolation:isolate;overflow:hidden;margin:20px clamp(16px,2.5vw,34px) 18px;padding:27px clamp(22px,3vw,38px);border:1px solid #d7dfd3;border-radius:19px;background:radial-gradient(circle at 93% 15%,#b6d4b322,transparent 26%),linear-gradient(115deg,#fffefa,#edf2e9 67%,#e7eee5);box-shadow:0 9px 28px #30483a0c}
body[data-workspace="erp"] .erp-intro:after{content:"OPERATIONS";position:absolute;right:3%;bottom:-8px;z-index:-1;color:#385c450b;font-size:clamp(45px,7vw,88px);font-weight:950;letter-spacing:-4px}
body[data-workspace="erp"] .erp-intro .eyebrow{color:#577f60;font-size:10px;letter-spacing:2px;font-weight:850}
body[data-workspace="erp"] .erp-intro h2{color:#243d32;font-size:clamp(24px,2.5vw,33px);letter-spacing:-.8px}
body[data-workspace="erp"] .erp-intro p{color:#6d7e73;max-width:780px;font-size:12px;line-height:1.8}
body[data-workspace="erp"] .erp-modules span{background:#fff;border:1px solid #dce5da;color:#527260;border-radius:7px;padding:6px 9px;font-size:10px}
body[data-workspace="erp"] .erp-mark{background:linear-gradient(145deg,#355f49,#628363);color:#f9f5e9;border:1px solid #8da98e;border-radius:17px;box-shadow:0 12px 25px #426b4d26}
body[data-workspace="erp"] .product-workflow{margin:0 clamp(16px,2.5vw,34px) 17px;padding:18px 19px;border:1px solid #e0e3dc;border-radius:16px;background:#fff;box-shadow:0 6px 18px #2b40330a}
body[data-workspace="erp"] .product-workflow__head h3{color:#284638;font-size:16px}
body[data-workspace="erp"] .product-workflow__head p,body[data-workspace="erp"] .product-workflow__foot{color:#859187}
body[data-workspace="erp"] .product-workflow__mode{background:#f4eee3;color:#967142;border:1px solid #eadcc4}
body[data-workspace="erp"] .product-workflow__item{min-height:108px;border:1px solid #e4e8e1;border-radius:11px;background:linear-gradient(145deg,#fff,#f7f8f3)}
body[data-workspace="erp"] .product-workflow__item i{background:#edf2e9;color:#4e805f}
body[data-workspace="erp"] .product-workflow__item b{color:#304d3e}
body[data-workspace="erp"] .product-workflow__item small{color:#89958b}
body[data-workspace="erp"] .product-workflow__item span{color:#4d805f}
body[data-workspace="erp"] .content{padding:0 clamp(16px,2.5vw,34px) 34px;background:transparent!important}
body[data-workspace="erp"] .card,body[data-workspace="erp"] .panel,body[data-workspace="erp"] .kpi,body[data-workspace="erp"] .metric-card,body[data-workspace="erp"] .stat-card{border:1px solid #e0e4dc!important;border-radius:13px!important;background:#fff!important;box-shadow:0 5px 15px #243d3009!important;color:#2a4337}
body[data-workspace="erp"] .card h3,body[data-workspace="erp"] .panel h3,body[data-workspace="erp"] .sec-title{color:#355746}
body[data-workspace="erp"] table{border-collapse:separate;border-spacing:0;width:100%;background:#fff;border:1px solid #e0e5de;border-radius:12px;overflow:hidden}
body[data-workspace="erp"] th{background:#eff3ed;color:#536c5d;font-weight:800;font-size:11px}
body[data-workspace="erp"] td{color:#43564b;border-bottom:1px solid #edf0eb;font-size:12px}
body[data-workspace="erp"] th,body[data-workspace="erp"] td{padding:11px 13px}
body[data-workspace="erp"] input,body[data-workspace="erp"] select,body[data-workspace="erp"] textarea{background:#fffefa!important;border:1px solid #d9e0d7!important;border-radius:8px;color:#2d4236!important}
body[data-workspace="erp"] .btn.primary,body[data-workspace="erp"] .btn-primary{background:linear-gradient(110deg,#286b50,#438765);border-color:#286b50;color:#fff;box-shadow:0 6px 15px #276d4e24}
body[data-workspace="erp"] .btn.ghost,body[data-workspace="erp"] .btn-secondary{background:#fff;border:1px solid #d6dfd5;color:#52695a}
body[data-workspace="erp"] .tabbar,body[data-workspace="erp"] .mobile-nav{background:#fffefa;border-top:1px solid #e0e4dc;box-shadow:0 -7px 20px #273b300c}
body[data-workspace="erp"] :where(button,input,select,textarea,a,[tabindex]):focus-visible{outline:3px solid #74a889!important;outline-offset:3px}
@media(max-width:900px){body[data-workspace="erp"] .main{min-width:0;width:100%}body[data-workspace="erp"] .content{padding:0 13px 90px}body[data-workspace="erp"] .erp-intro{margin:13px;padding:20px 17px}body[data-workspace="erp"] .product-workflow{margin:0 13px 14px;padding:14px 12px}body[data-workspace="erp"] .product-workflow__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body[data-workspace="erp"] .erp-intro h2{font-size:22px}body[data-workspace="erp"] .erp-mark{display:none}body[data-workspace="erp"] .topbar{height:60px;min-height:60px;padding:0 13px}body[data-workspace="erp"] .product-workflow__item{min-height:110px;padding:10px}}
@media(prefers-reduced-motion:reduce){body[data-workspace="erp"] *,body[data-workspace="erp"] *:before,body[data-workspace="erp"] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* V5 responsive correction: preserve the existing slide-out sidebar and hamburger on tablets. */
@media(max-width:900px){body[data-workspace="erp"] .sidebar{display:flex}}

/* V5 command palette and universal module launcher */
.w5-command-trigger{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;margin-left:10px;padding:7px 11px;border:1px solid #58748a;border-radius:9px;background:#102d3d;color:#c8f5f1;font:inherit;font-size:10px;font-weight:700;line-height:1.2;white-space:nowrap;cursor:pointer;transition:background .18s,border-color .18s,transform .18s}
.w5-command-trigger:hover{background:#19465a;border-color:#6bcac7;transform:translateY(-1px)}
.w5-command-backdrop{position:fixed;inset:0;z-index:10000;display:grid;place-items:start center;padding:14vh 16px 24px;background:rgba(4,11,21,.68);backdrop-filter:blur(8px)}
.w5-command-backdrop[hidden]{display:none}
.w5-command-panel{width:min(560px,100%);max-height:min(620px,75vh);overflow:auto;padding:17px;border:1px solid #526980;border-radius:18px;background:linear-gradient(145deg,#14243a,#0c1929);color:#edf5ff;box-shadow:0 28px 90px #0009}
.w5-command-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.w5-command-heading small{display:block;color:#83d9dd;font-size:9px;letter-spacing:1.7px;font-weight:850}
.w5-command-heading strong{display:block;margin-top:4px;color:#f1f7ff;font-size:16px}
.w5-command-close{min-width:38px;min-height:30px;border:1px solid #3b526b;border-radius:8px;background:#1b2d44;color:#b3c6dc;font-size:10px;cursor:pointer}
.w5-command-input{width:100%;min-height:44px;padding:10px 13px;border:1px solid #3d5872!important;border-radius:10px!important;background:#081626!important;color:#f0f6ff!important;font:inherit;font-size:13px}
.w5-command-list{display:grid;gap:6px;margin-top:12px}
.w5-command-entry{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;padding:11px 12px;border:1px solid transparent;border-radius:9px;background:transparent;color:#dbe9f5;text-align:left;cursor:pointer}
.w5-command-entry small{color:#829bb4;font-size:9px}
.w5-command-entry:hover,.w5-command-entry.active{border-color:#44677b;background:#1a354b;color:#fff}
.w5-command-empty{padding:22px 12px;text-align:center;color:#91a7bc;font-size:12px}
.w5-command-hint{margin-top:13px;padding-top:11px;border-top:1px solid #30465c;color:#8198af;font-size:9px}
@media(max-width:620px){.w5-command-trigger{min-height:31px;margin-left:4px;padding:6px 8px;font-size:9px}.w5-command-backdrop{padding-top:9vh}.w5-command-panel{padding:13px;border-radius:14px}}
@media(prefers-reduced-motion:reduce){.w5-command-trigger{transition:none}}

/* V5.1 module context headers */
.w5-module-context{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 15px;padding:13px 16px;border:1px solid var(--w5-context-border,#30465e);border-radius:13px;background:var(--w5-context-bg,#111f31);box-shadow:0 6px 18px #0002}
.w5-module-context__copy{min-width:0}
.w5-module-context__eyebrow{font-size:8px;letter-spacing:1.7px;font-weight:850;color:var(--w5-context-accent,#6dcfd0)}
.w5-module-context__title{margin:3px 0;font-size:14px;line-height:1.35;font-weight:820;color:var(--w5-context-title,#eef5ff)}
.w5-module-context__description{margin:0;color:var(--w5-context-muted,#91a6bb);font-size:10px;line-height:1.55}
.w5-module-context__actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-shrink:0}
.w5-module-context__state{padding:5px 8px;border:1px solid var(--w5-context-border,#30465e);border-radius:7px;color:var(--w5-context-muted,#9bb0c4);font-size:9px;white-space:nowrap}
.w5-module-context__home{min-height:31px;padding:6px 10px;border:1px solid var(--w5-context-accent,#528b9a);border-radius:8px;background:transparent;color:var(--w5-context-title,#eaf6ff);font-size:10px;font-weight:750;white-space:nowrap;cursor:pointer}
.w5-module-context__home:hover{background:var(--w5-context-hover,#1b3448)}
.w5-experiment-context{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 clamp(14px,2vw,28px) 13px;padding:11px 15px;border:1px solid #36546d;border-left:3px solid #6bd7d8;border-radius:11px;background:#102238}
.w5-experiment-context__text{display:flex;flex-direction:column;gap:3px;min-width:0}
.w5-experiment-context__text strong{font-size:12px;color:#eef6ff}
.w5-experiment-context__text span{font-size:9px;color:#9db1c9;line-height:1.5}
.w5-experiment-context__tags{display:flex;gap:6px;flex-shrink:0}
.w5-experiment-context__tags span{padding:5px 8px;border-radius:6px;background:#1c3850;color:#9ce6e1;font-size:9px}
body[data-workspace="health"]{--w5-context-bg:#fff;--w5-context-border:#dce9e1;--w5-context-title:#21483e;--w5-context-muted:#789087;--w5-context-accent:#328f72;--w5-context-hover:#edf7f1}
body[data-workspace="erp"]{--w5-context-bg:#fff;--w5-context-border:#e0e5dd;--w5-context-title:#304c3c;--w5-context-muted:#849187;--w5-context-accent:#5d8a66;--w5-context-hover:#f1f5ef}
body[data-workspace="ekpo"]{--w5-context-bg:#fff;--w5-context-border:#dbe8e2;--w5-context-title:#244b46;--w5-context-muted:#80958f;--w5-context-accent:#339c8d;--w5-context-hover:#eff8f5}
body[data-workspace="study"]{--w5-context-bg:#141f3b;--w5-context-border:#35466f;--w5-context-title:#f0f4ff;--w5-context-muted:#a5b4d7;--w5-context-accent:#8adce9;--w5-context-hover:#24375d}
body[data-workspace="health"] .w5-module-context__home,body[data-workspace="erp"] .w5-module-context__home,body[data-workspace="ekpo"] .w5-module-context__home{color:var(--w5-context-title)}
body[data-workspace="health"] .w5-experiment-context,body[data-workspace="erp"] .w5-experiment-context,body[data-workspace="ekpo"] .w5-experiment-context{display:none}
@media(max-width:640px){.w5-module-context{align-items:flex-start;padding:11px 12px}.w5-module-context__actions{flex-direction:column;align-items:flex-end;gap:5px}.w5-module-context__description{max-width:48ch}.w5-module-context__state{display:none}.w5-experiment-context{align-items:flex-start;flex-direction:column}.w5-experiment-context__tags{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.w5-module-context__home{transition:none}}

/* Workspace V5.2 — ERP purchase receiving cockpit */
body[data-workspace="erp"] .w5-receipt-dashboard{display:grid;gap:13px;margin:0 0 16px}
body[data-workspace="erp"] .w5-receipt-dashboard__heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}
body[data-workspace="erp"] .w5-receipt-kicker{display:block;color:#53836a;font-size:9px;font-weight:850;letter-spacing:1.7px}
body[data-workspace="erp"] .w5-receipt-dashboard__heading h4{margin:3px 0;color:#294b3a;font-size:15px;font-weight:850}
body[data-workspace="erp"] .w5-receipt-dashboard__heading p{margin:0;color:#788a7d;font-size:10px}
body[data-workspace="erp"] .w5-receipt-dashboard__scope{padding:6px 9px;border:1px solid #dce6da;border-radius:7px;background:#f7faf5;color:#819082;font-size:9px;white-space:nowrap}
body[data-workspace="erp"] .w5-receipt-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
body[data-workspace="erp"] .w5-receipt-metric{display:flex;flex-direction:column;gap:5px;min-height:94px;padding:13px 14px;border:1px solid #e0e6de;border-radius:12px;background:linear-gradient(145deg,#fff,#f8faf6);box-shadow:0 5px 16px #2d49330a}
body[data-workspace="erp"] .w5-receipt-metric__label{color:#758477;font-size:10px;font-weight:700}
body[data-workspace="erp"] .w5-receipt-metric__value{color:#2a513b;font-size:25px;font-weight:850;line-height:1.1;font-variant-numeric:tabular-nums}
body[data-workspace="erp"] .w5-receipt-metric__note{color:#8b978b;font-size:9px;line-height:1.4}
body[data-workspace="erp"] .w5-receipt-metric.accent{border-color:#bcd7c1;background:linear-gradient(145deg,#f1f8ee,#fff)}
body[data-workspace="erp"] .w5-receipt-metric.warning{border-color:#ecdab8;background:linear-gradient(145deg,#fff8e9,#fff)}
body[data-workspace="erp"] .w5-receipt-metric.warning .w5-receipt-metric__value{color:#a56e29}
body[data-workspace="erp"] .w5-receipt-progress{padding:14px 15px;border:1px solid #e1e7de;border-radius:13px;background:#fff}
body[data-workspace="erp"] .w5-receipt-progress__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
body[data-workspace="erp"] .w5-receipt-progress__head strong{color:#345340;font-size:11px;font-weight:850}
body[data-workspace="erp"] .w5-receipt-progress__head small{color:#93a095;font-size:9px}
body[data-workspace="erp"] .w5-receipt-progress__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px}
body[data-workspace="erp"] .w5-receipt-progress__row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px 12px;padding:9px 10px;border:1px solid #edf1eb;border-radius:9px;background:#fbfcfa}
body[data-workspace="erp"] .w5-receipt-progress__info{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
body[data-workspace="erp"] .w5-receipt-progress__identity{display:flex;flex-direction:column;min-width:0}
body[data-workspace="erp"] .w5-receipt-progress__identity strong{overflow:hidden;color:#3c5946;font-size:10px;text-overflow:ellipsis;white-space:nowrap}
body[data-workspace="erp"] .w5-receipt-progress__identity span{overflow:hidden;color:#8a978b;font-size:9px;text-overflow:ellipsis;white-space:nowrap}
body[data-workspace="erp"] .w5-receipt-progress__amount{color:#66816e;font-size:9px;white-space:nowrap;font-variant-numeric:tabular-nums}
body[data-workspace="erp"] .w5-receipt-progress__track{grid-column:1/-1;height:6px;overflow:hidden;border-radius:99px;background:#e9efe8}
body[data-workspace="erp"] .w5-receipt-progress__bar{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#498964,#83b987)}
body[data-workspace="erp"] .w5-receipt-progress__remaining{color:#88968a;font-size:9px;text-align:right;white-space:nowrap}
body[data-workspace="erp"] .w5-receipt-progress__empty{padding:13px;border-radius:9px;background:#f6faf5;color:#778a7a;font-size:10px}
body[data-workspace="erp"] .w5-receipt-progress__more{color:#8b998c;font-size:9px}
body[data-workspace="erp"] .w5-receipt-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}
body[data-workspace="erp"] .w5-receipt-step{min-width:0;padding:15px;border:1px solid #e0e7de;border-radius:13px;background:linear-gradient(145deg,#fff,#fafcf9);box-shadow:0 5px 16px #294b3508}
body[data-workspace="erp"] .w5-receipt-step--post{grid-column:1/-1}
body[data-workspace="erp"] .w5-receipt-step__heading{display:flex;align-items:flex-start;gap:10px;margin-bottom:12px}
body[data-workspace="erp"] .w5-receipt-step__number{display:grid;place-items:center;width:28px;height:28px;flex:0 0 28px;border-radius:8px;background:#eaf3e8;color:#477b55;font-size:10px;font-weight:850}
body[data-workspace="erp"] .w5-receipt-step__heading strong{display:block;color:#34523f;font-size:12px;font-weight:850}
body[data-workspace="erp"] .w5-receipt-step__heading small{display:block;margin-top:3px;color:#87958a;font-size:9px;line-height:1.5}
body[data-workspace="erp"] .w5-receipt-step__fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
body[data-workspace="erp"] .w5-receipt-step__fields label{display:grid;align-content:start;gap:5px;min-width:0;color:#637568;font-size:10px;font-weight:750}
body[data-workspace="erp"] .w5-receipt-step__fields label:has(#receipt-quantity){grid-column:1/-1}
body[data-workspace="erp"] .w5-receipt-step__fields input,body[data-workspace="erp"] .w5-receipt-step__fields select{width:100%;min-width:0;min-height:37px}
body[data-workspace="erp"] .w5-receipt-step--post .receipt-note-label{display:grid;gap:6px;margin-bottom:12px;color:#637568;font-size:10px;font-weight:750}
body[data-workspace="erp"] .w5-receipt-step--post .receipt-submit-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;border-top:1px solid #edf1eb}
body[data-workspace="erp"] .w5-receipt-history-tools{display:flex;align-items:flex-end;gap:10px;margin:12px 0;padding:11px;border:1px solid #e3e9e1;border-radius:10px;background:#f8faf7}
body[data-workspace="erp"] .w5-receipt-history-search,body[data-workspace="erp"] .w5-receipt-history-filter{display:grid;gap:4px;min-width:0;color:#708272;font-size:9px;font-weight:750}
body[data-workspace="erp"] .w5-receipt-history-search{flex:1}
body[data-workspace="erp"] .w5-receipt-history-search input,body[data-workspace="erp"] .w5-receipt-history-filter select{min-height:35px;padding:7px 9px;border:1px solid #d9e2d7;border-radius:8px;background:#fff;color:#3d5845;font-size:10px}
body[data-workspace="erp"] .w5-receipt-history-count{padding:8px 0;color:#819185;font-size:9px;white-space:nowrap}
body[data-workspace="erp"] .purchase-receipt-history tr[hidden]{display:none}
body[data-workspace="erp"] .purchase-receipt-history table{min-width:760px}
@media(max-width:900px){body[data-workspace="erp"] .w5-receipt-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}body[data-workspace="erp"] .w5-receipt-progress__list{grid-template-columns:1fr}}
@media(max-width:600px){body[data-workspace="erp"] .w5-receipt-dashboard__heading{align-items:flex-start;flex-direction:column;gap:7px}body[data-workspace="erp"] .w5-receipt-steps{grid-template-columns:1fr}body[data-workspace="erp"] .w5-receipt-step--post{grid-column:auto}body[data-workspace="erp"] .w5-receipt-step__fields{grid-template-columns:1fr}body[data-workspace="erp"] .w5-receipt-step__fields label:has(#receipt-quantity){grid-column:auto}body[data-workspace="erp"] .w5-receipt-history-tools{align-items:stretch;flex-direction:column}body[data-workspace="erp"] .w5-receipt-history-count{text-align:right}body[data-workspace="erp"] .w5-receipt-step--post .receipt-submit-row{align-items:stretch;flex-direction:column}body[data-workspace="erp"] .w5-receipt-step--post .receipt-submit-row .btn{width:100%}}


/* V5.3 — append-only purchase receipt reversal states and audit trail */
body[data-workspace="erp"] .w5-receipt-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}
body[data-workspace="erp"] .purchase-receipt-history table{min-width:900px}
body[data-workspace="erp"] .w5-receipt-reverse{
  border:1px solid #f0c7b9;border-radius:8px;padding:6px 9px;
  background:#fff7f3;color:#a23c2c;font-size:11px;font-weight:750;
  cursor:pointer;white-space:nowrap
}
body[data-workspace="erp"] .w5-receipt-reverse:hover:not(:disabled){
  background:#fde8df;border-color:#dc9f8b;transform:translateY(-1px)
}
body[data-workspace="erp"] .w5-receipt-reverse:disabled{opacity:.45;cursor:not-allowed}
body[data-workspace="erp"] .w5-receipt-reversed{
  display:inline-flex;flex-direction:column;gap:3px;color:#9b3a2b;
  font-size:11px;font-weight:800
}
body[data-workspace="erp"] .w5-receipt-reversed small{
  color:#9a766e;font-size:9px;font-weight:600
}
body[data-workspace="erp"] .w5-receipt-reversal-log{
  display:grid;gap:8px;margin-top:14px;padding:13px;
  border:1px solid #f1d9cf;border-radius:12px;background:#fffaf7
}
body[data-workspace="erp"] .w5-receipt-reversal-log>strong{
  color:#874436;font-size:12px
}
body[data-workspace="erp"] .w5-receipt-reversal-log article{
  display:grid;grid-template-columns:minmax(130px,1fr) minmax(110px,1fr) auto;
  align-items:center;gap:8px;padding:9px 0;border-top:1px solid #f1e6e0;
  color:#684c46;font-size:10px
}
body[data-workspace="erp"] .w5-receipt-reversal-log article small{
  grid-column:1/-1;color:#9b8079;font-size:9px
}
@media(max-width:1100px){
  body[data-workspace="erp"] .w5-receipt-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
  body[data-workspace="erp"] .w5-receipt-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  body[data-workspace="erp"] .w5-receipt-reversal-log article{grid-template-columns:1fr 1fr}
  body[data-workspace="erp"] .w5-receipt-reversal-log article small{grid-column:1/-1}
}

/* ===== assets/css/zhiyun-operations-workspace.css ===== */
/* Zhiyun ERP — textile operations workspace */
body[data-workspace="erp"]{background:radial-gradient(ellipse at 86% 0%,rgba(72,120,190,.11),transparent 34rem),#f2f5fa;color:#172b43}
body[data-workspace="erp"] .sidebar{background:linear-gradient(180deg,#142f49,#0d2035);box-shadow:9px 0 30px rgba(17,42,68,.09)}
body[data-workspace="erp"] .brand{padding:22px 18px;border-bottom:1px solid rgba(225,237,249,.13)}
body[data-workspace="erp"] .main{background:transparent;min-width:0}
body[data-workspace="erp"] .topbar{min-height:68px;padding:12px clamp(16px,3vw,38px);background:rgba(250,252,255,.9);border-bottom:1px solid #e0e7f0;backdrop-filter:blur(16px)}
body[data-workspace="erp"] .erp-intro{border-radius:23px;background:linear-gradient(118deg,#142e49,#24547a 68%,#386fa0);color:#f7fbff;box-shadow:0 20px 50px rgba(24,58,91,.17)}
body[data-workspace="erp"] .erp-intro h2{color:#fff;font-size:clamp(26px,3.3vw,40px);letter-spacing:-.04em}
body[data-workspace="erp"] .erp-intro p{color:#cbd9e9;line-height:1.8}
body[data-workspace="erp"] .erp-intro .eyebrow{color:#a9d1ff;letter-spacing:.18em;font-weight:850}
body[data-workspace="erp"] .card,body[data-workspace="erp"] .panel,body[data-workspace="erp"] .metric-card,body[data-workspace="erp"] .table-card{border:1px solid #e1e8f0;border-radius:16px;background:#fff;box-shadow:0 10px 28px rgba(27,52,83,.055)}
body[data-workspace="erp"] .nav-group .nav-item.active{background:rgba(96,155,220,.2);box-shadow:inset 3px 0 #72b4f2}
body[data-workspace="erp"] .gs-wrap input{border-radius:11px;background:#f5f8fc}
@media(max-width:760px){body[data-workspace="erp"] .erp-intro{border-radius:18px}}


/* Actionable operations alerts: overdue work orders are distinct from upcoming work. */
body[data-workspace="erp"] .alert-item-action{cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
body[data-workspace="erp"] .alert-item-action:hover{transform:translateY(-1px);border-color:#bdcfea;box-shadow:0 8px 18px rgba(24,60,98,.08)}
body[data-workspace="erp"] .alert-item-action:focus-visible{outline:3px solid rgba(47,111,237,.24);outline-offset:2px}

/* ===== assets/css/reference-interface-v1.css ===== */
/* Zhiyun ERP — ERPNext-inspired operations desk */
body[data-workspace="erp"]{--erp-ink:#1c3549;--erp-muted:#71879a;--erp-line:#dce6ec;--erp-brand:#1d7890;--erp-accent:#e7a34a}
body[data-workspace="erp"] .app{background:#eef3f7}
body[data-workspace="erp"] .sidebar{background:linear-gradient(180deg,#102d42,#123a50 70%,#0e2a3d);border-right:1px solid #244e63;box-shadow:8px 0 26px rgba(20,54,75,.08)}
body[data-workspace="erp"] .main{background:radial-gradient(ellipse at 100% 0,rgba(28,120,144,.07),transparent 42%),#f1f5f8}
body[data-workspace="erp"] .topbar{background:rgba(255,255,255,.95);border-bottom:1px solid var(--erp-line);box-shadow:0 4px 18px rgba(20,54,75,.04)}
body[data-workspace="erp"] .erp-intro{position:relative;overflow:hidden;margin:22px 26px 18px;padding:28px 30px;border:1px solid #d4e1e9;border-radius:18px;background:linear-gradient(110deg,#fff,#f2f7fa 68%,#e8f2f5);box-shadow:0 14px 36px rgba(25,66,87,.07)}
body[data-workspace="erp"] .erp-intro:after{content:"SELL · BUY · STOCK · MAKE · DELIVER";position:absolute;right:24px;bottom:17px;color:rgba(24,104,128,.24);font:800 10px/1.2 ui-monospace,monospace;letter-spacing:1.4px}
body[data-workspace="erp"] .erp-intro h2{font-size:clamp(24px,3vw,32px);color:#183e54}
body[data-workspace="erp"] .erp-intro p{max-width:780px;color:#647e8e;font-size:14px;line-height:1.75}
body[data-workspace="erp"] .erp-modules{display:flex;flex-wrap:wrap;gap:8px}
body[data-workspace="erp"] .erp-modules span{padding:7px 11px;border:1px solid #d5e5eb;border-radius:8px;background:#fff;color:#37677a;font-size:11px;font-weight:700}
body[data-workspace="erp"] .product-workflow{margin:0 26px 20px;padding:20px;border:1px solid #dce6ec;border-radius:17px;background:#fff;box-shadow:0 8px 26px rgba(24,61,81,.045)}
body[data-workspace="erp"] .product-workflow__grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
body[data-workspace="erp"] .product-workflow__item{min-height:122px;padding:15px;border:1px solid #dce6ec;border-radius:12px;background:linear-gradient(150deg,#fff,#f5f8fa);text-align:left}
body[data-workspace="erp"] .product-workflow__item i{background:#e7f1f5;color:#176d83}
body[data-workspace="erp"] .product-workflow__item b{color:#24475b;font-size:14px}
body[data-workspace="erp"] .product-workflow__item small{color:#71889a;font-size:12px}
body[data-workspace="erp"] .product-workflow__item span{color:#197b8e}
body[data-workspace="erp"] #content{padding:6px 26px 34px}
body[data-workspace="erp"] #content :is(.card,.panel,.kpi,.metric-card,.stat-card,.module-card){border:1px solid #dce6ec;border-radius:14px;background:#fff;box-shadow:0 8px 22px rgba(28,62,82,.045)}
body[data-workspace="erp"] #content :is(th,td){border-color:#e4ebef}
body[data-workspace="erp"] #content :is(input,select,textarea){border:1px solid #d1dfe7;border-radius:8px;background:#fbfdfe;color:#203e50}
@media(max-width:900px){body[data-workspace="erp"] .product-workflow__grid{grid-template-columns:repeat(2,minmax(0,1fr))}body[data-workspace="erp"] .erp-intro,body[data-workspace="erp"] .product-workflow{margin-left:14px;margin-right:14px}}
@media(max-width:560px){body[data-workspace="erp"] .product-workflow__grid{grid-template-columns:1fr}body[data-workspace="erp"] .erp-intro{padding:20px 17px}body[data-workspace="erp"] #content{padding:6px 12px 24px}}


/* Zhiyun ERP v2: transaction-first operations cockpit */
body[data-workspace="erp"]{--erp-ink:#19384f;--erp-muted:#69808e;--erp-line:#dbe5eb;--erp-blue:#246b9a}
body[data-workspace="erp"] .erp-intro{position:relative;overflow:hidden;min-height:205px;padding:30px 32px;border:1px solid #d5e2eb;border-radius:18px;background:radial-gradient(circle at 84% 16%,rgba(49,125,171,.15),transparent 24%),linear-gradient(115deg,#fff,#f0f5f9 65%,#e6eff5)}
body[data-workspace="erp"] .erp-intro h2{font-size:clamp(28px,3vw,40px);letter-spacing:-.03em;color:#193b55}
body[data-workspace="erp"] .erp-intro p{max-width:760px;color:#60798a;line-height:1.8}
body[data-workspace="erp"] .product-workflow{margin-top:18px;padding:22px;border:1px solid #dce6ed;border-radius:17px;background:linear-gradient(145deg,#fff,#f8fafc);box-shadow:0 12px 30px rgba(32,67,91,.05)}
body[data-workspace="erp"] .product-workflow__head h3{font-size:19px;color:#23475e}
body[data-workspace="erp"] .product-workflow__grid{gap:12px}
body[data-workspace="erp"] .product-workflow__item{min-height:140px;padding:17px;border:1px solid #dce6ed;border-radius:13px;background:#fff;transition:transform .16s,border-color .16s,box-shadow .16s}
body[data-workspace="erp"] .product-workflow__item:hover{transform:translateY(-2px);border-color:#8bb2cc;box-shadow:0 10px 22px rgba(39,91,124,.08)}
body[data-workspace="erp"] .product-workflow__item i{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:#eaf2f8;color:#286b96;font-style:normal}
body[data-workspace="erp"] .product-workflow__foot{padding-top:12px;border-top:1px solid #e6edf2;color:#6b7f8d}
body[data-workspace="erp"] .content{max-width:1680px;margin-inline:auto}
body[data-workspace="erp"] .content :is(.card,.panel,.metric-card,.stat-card,.module-card){border:1px solid #dce6ed;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(28,64,87,.045)}
body[data-workspace="erp"] .content :is(table,th,td){border-color:#e1e9ee}
body[data-workspace="erp"] .content :is(input,select,textarea){min-height:39px;border:1px solid #cfdae2;border-radius:8px;background:#fff;color:#1e4056}
body[data-workspace="erp"] .content button{border-radius:8px}
body[data-workspace="erp"] .sidebar{box-shadow:8px 0 28px rgba(20,48,68,.06)}
body[data-workspace="erp"] .topbar{position:sticky;top:0;z-index:25;backdrop-filter:blur(14px)}
@media(max-width:760px){body[data-workspace="erp"] .erp-intro{padding:22px 18px;min-height:0}body[data-workspace="erp"] .product-workflow{padding:16px}body[data-workspace="erp"] .content{padding-inline:12px}}
@media(prefers-reduced-motion:reduce){body[data-workspace="erp"] .product-workflow__item{transition:none}}

/* ===== assets/css/erpnext-operations-desk-v2.css ===== */
/* Zhiyun ERP — ERPNext-style transaction desk */
body[data-workspace="erp"]{--erp-ink:#19384e;--erp-muted:#708492;--erp-line:#dce6ec;--erp-blue:#286e97;--erp-bg:#edf2f6}
body[data-workspace="erp"] .app{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh;background:var(--erp-bg)}
body[data-workspace="erp"] .sidebar{position:sticky;top:0;height:100vh;min-height:100vh;width:250px;overflow:auto;padding:22px 15px;background:linear-gradient(180deg,#102f45,#123d55 68%,#0c2b40);border-right:1px solid #2c5871;box-shadow:10px 0 30px #143b5315}
body[data-workspace="erp"] .brand{padding:5px 9px 22px;border-bottom:1px solid #ffffff21}
body[data-workspace="erp"] .brand-logo{width:40px;height:40px;border-radius:11px;background:linear-gradient(145deg,#267b91,#16445c);box-shadow:0 8px 22px #071d2b80}
body[data-workspace="erp"] .nav-group{padding-top:17px}
body[data-workspace="erp"] .nav-group :is(.nav-item,.nav-link){border:1px solid transparent;border-radius:9px;margin:3px 0;padding:10px 11px;color:#b5cad5}
body[data-workspace="erp"] .nav-group .active{background:#1b526d;border-color:#3d7890;color:#fff}
body[data-workspace="erp"] .sidebar-foot{margin-top:auto;padding:15px 8px;border-top:1px solid #ffffff20;color:#92acba}
body[data-workspace="erp"] .main{margin-left:0!important;width:auto;min-width:0;background:radial-gradient(ellipse at 100% 0,#2a82a10b,transparent 36%),#f2f6f9}
body[data-workspace="erp"] .topbar{position:sticky;top:0;z-index:30;min-height:68px;padding:12px 28px;background:#ffffffed;border-bottom:1px solid var(--erp-line);box-shadow:0 5px 18px #173b5108;backdrop-filter:blur(16px)}
body[data-workspace="erp"] .erp-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;min-height:190px;margin:25px 28px 16px;padding:29px 32px;border:1px solid #d5e2eb;border-radius:17px;background:radial-gradient(circle at 86% 15%,#3d94b21b,transparent 24%),linear-gradient(115deg,#fff,#f0f5f9 68%,#e5eff5);box-shadow:0 15px 38px #1a49640c}
body[data-workspace="erp"] .erp-intro h2{font-size:clamp(29px,3vw,42px);letter-spacing:-.04em;color:#173a53}
body[data-workspace="erp"] .erp-intro .erp-mark{display:grid;place-items:center;width:104px;height:104px;border-radius:22px;border:1px solid #cbdfe8;background:#fff;color:#246c88;font-size:37px;font-weight:850;box-shadow:0 12px 28px #17445d12}
body[data-workspace="erp"] .product-workflow{margin:0 28px 18px;padding:18px 20px;border:1px solid var(--erp-line);border-radius:16px;background:#fff;box-shadow:0 10px 26px #193f5708}
body[data-workspace="erp"] .product-workflow__item{min-height:130px;border-radius:11px;background:linear-gradient(150deg,#fff,#f6f9fb)}
body[data-workspace="erp"] .content{display:block;flex:1 1 auto;width:100%;max-width:1840px;align-self:stretch;margin:0 auto;padding:8px 28px 44px;box-sizing:border-box}
body[data-workspace="erp"] .content :is(.card,.panel,.kpi,.metric-card,.stat-card,.module-card){border:1px solid #dce6ec;border-radius:12px;background:#fff;box-shadow:0 7px 21px #1b42580a}
body[data-workspace="erp"] .content :is(th,td){padding:11px 12px;border-color:#e6edf1}
body[data-workspace="erp"] .content :is(input,select,textarea){min-height:40px;border:1px solid #d1dfe7;border-radius:8px;background:#fbfdfe;color:#203e50}
body[data-workspace="erp"] .content button{border-radius:8px}
@media(max-width:920px){body[data-workspace="erp"] .app{grid-template-columns:72px minmax(0,1fr)}body[data-workspace="erp"] .sidebar{width:72px;padding:17px 8px}body[data-workspace="erp"] .brand>div:last-child,body[data-workspace="erp"] .sidebar-foot{display:none}body[data-workspace="erp"] .nav-group :is(.nav-item,.nav-link){font-size:0;text-align:center;padding:12px 3px}body[data-workspace="erp"] .erp-intro,body[data-workspace="erp"] .product-workflow,body[data-workspace="erp"] .content{margin-left:14px;margin-right:14px;padding-left:0;padding-right:0}}
@media(max-width:640px){body[data-workspace="erp"] .app{display:block}body[data-workspace="erp"] .sidebar{position:relative;width:auto;height:auto;min-height:0;padding:9px 12px;border:0;border-bottom:1px solid #2c5871}body[data-workspace="erp"] .brand{display:none}body[data-workspace="erp"] .nav-group{display:flex;gap:5px;overflow:auto;padding:0}body[data-workspace="erp"] .nav-group :is(.nav-item,.nav-link){flex:0 0 auto;font-size:11px;white-space:nowrap;padding:9px 12px}body[data-workspace="erp"] .erp-intro{display:block;margin:14px;padding:21px}body[data-workspace="erp"] .erp-intro .erp-mark{display:none}body[data-workspace="erp"] .topbar{padding:10px 14px}body[data-workspace="erp"] .product-workflow{margin:0 14px 14px}body[data-workspace="erp"] .content{padding:8px 12px 28px}}
@media(prefers-reduced-motion:reduce){body[data-workspace="erp"] *{transition:none!important}}

/* V3 order-to-delivery cockpit — operational sequence, live ledger counts */
body[data-workspace="erp"] .erp-process-board{
  margin:0 0 18px;padding:20px 21px;border:1px solid #d4e1e8;border-radius:16px;
  background:linear-gradient(125deg,#f9fcff,#edf4f8 58%,#f5f9fb);
  box-shadow:0 13px 32px #173c550c
}
body[data-workspace="erp"] .erp-process-board__head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:16px}
body[data-workspace="erp"] .erp-process-board__head .eyebrow{color:#277b9d;font-size:10px;font-weight:900;letter-spacing:.15em}
body[data-workspace="erp"] .erp-process-board__head h3{margin:5px 0;color:#193e57;font-size:19px;letter-spacing:-.02em}
body[data-workspace="erp"] .erp-process-board__head p{margin:0;color:#70889a;font-size:11px;line-height:1.65}
body[data-workspace="erp"] .erp-process-board__scope{flex:0 0 auto;padding:7px 10px;border:1px solid #cbdde7;border-radius:8px;background:#fff;color:#52748b;font-size:9px;font-weight:850;letter-spacing:.08em}
body[data-workspace="erp"] .erp-process-board__track{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
body[data-workspace="erp"] .erp-process-stage{
  position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:7px;
  min-width:0;min-height:156px;padding:15px 15px 13px;border:1px solid #d3e2eb;
  border-radius:12px;background:#fff;text-align:left;cursor:pointer;overflow:hidden;
  transition:transform .18s,border-color .18s,box-shadow .18s
}
body[data-workspace="erp"] .erp-process-stage:after{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--stage-accent,#2e85ac)
}
body[data-workspace="erp"] .erp-process-stage:hover{transform:translateY(-2px);border-color:#a7c8d8;box-shadow:0 12px 25px #193f5716}
body[data-workspace="erp"] .erp-process-stage__index{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:#edf5fa;color:#3a7e9e;font-size:9px;font-weight:900}
body[data-workspace="erp"] .erp-process-stage__label{color:#6a8494;font-size:11px;font-weight:800}
body[data-workspace="erp"] .erp-process-stage>strong{color:#173d57;font-size:31px;line-height:1;font-weight:850;font-variant-numeric:tabular-nums}
body[data-workspace="erp"] .erp-process-stage>small{color:#718899;font-size:10px;line-height:1.5}
body[data-workspace="erp"] .erp-process-stage__open{margin-top:auto;color:var(--stage-accent,#2e85ac);font-size:9px;font-weight:850}
body[data-workspace="erp"] .erp-process-stage--blue{--stage-accent:#2384b3}
body[data-workspace="erp"] .erp-process-stage--violet{--stage-accent:#7669bd}
body[data-workspace="erp"] .erp-process-stage--amber{--stage-accent:#c58a33}
body[data-workspace="erp"] .erp-process-stage--green{--stage-accent:#278a68}
body[data-workspace="erp"] .dashboard-command{border:1px solid #cbdfe8;border-left:4px solid #287fa1;background:linear-gradient(110deg,#fff,#eff6f8);border-radius:13px;box-shadow:0 9px 22px #193f570a}
body[data-workspace="erp"] .dashboard-command-copy h3{color:#173d57}
body[data-workspace="erp"] .dashboard-command-copy p{color:#6e8797}
body[data-workspace="erp"] .dashboard-command-actions .btn{min-height:38px}
@media(max-width:1100px){body[data-workspace="erp"] .erp-process-board__track{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){
 body[data-workspace="erp"] .erp-process-board{padding:14px}
 body[data-workspace="erp"] .erp-process-board__head{flex-direction:column}
 body[data-workspace="erp"] .erp-process-board__track{grid-template-columns:1fr 1fr;gap:7px}
 body[data-workspace="erp"] .erp-process-stage{min-height:136px;padding:11px}
 body[data-workspace="erp"] .erp-process-stage>strong{font-size:26px}
}
