/* Global readable type scale. The 11px metric label is the minimum UI text size. */
body{font-size:13px}.app-page small,.app-page time,.app-page kbd,.app-page em,.app-page i,.app-page nav p,.login-page small{font-size:11px!important}.app-page p,.app-page label,.app-page button,.app-page a,.app-page input,.app-page select,.app-page textarea{font-size:12px}.app-page aside nav a{font-size:13px}.app-page .topbar .company label,.app-page .topbar .search span,.app-page .topbar .profile b{font-size:12px}.app-page .topbar .company small,.app-page .topbar .profile small{font-size:11px!important}.app-page .metrics small,.app-page .metrics p,.app-page .metrics i{font-size:11px!important}.app-page .panel h2{font-size:15px}.app-page .panel header p{font-size:12px}.app-page .module-grid a b,.app-page .task b,.app-page .activity b{font-size:13px}.app-page .module-grid a small,.app-page .task p,.app-page .task small,.app-page .activity small,.app-page .health label{font-size:11px!important}.app-page .tabs button{font-size:12px}.app-page table th{font-size:12px}.app-page table td,.app-page table td strong{font-size:13px}.app-page table td small{font-size:11px!important}.app-page .status-tag,.app-page .role-tag,.app-page .scope-tag,.app-page .account-tag,.app-page .tag{font-size:11px!important}.app-page .toast{font-size:12px}.login-layout .workspace-label,.login-layout label,.login-layout .label-row a,.login-layout .help a,.login-layout .remember,.login-layout .error,.login-layout .help,.login-layout footer{font-size:11px!important}.login-layout .subtitle{font-size:13px}.login-layout input,.login-layout button{font-size:13px}
.app-page .topbar .company>span{overflow:hidden}.app-page .topbar .company>span img{width:100%;height:100%;display:block;object-fit:contain;background:#fff}
.app-page .topbar>.logo{position:fixed;z-index:16;left:0;bottom:0;width:var(--side);height:82px;padding:14px 18px;background:var(--navy);border-top:1px solid rgba(255,255,255,.09);color:#fff;transition:width .15s}.app-page .topbar>.logo:after{content:"已授权 · 专业版　v1.0.0";position:absolute;left:64px;bottom:10px;color:#7891a3;font-size:11px;letter-spacing:0}.app-page .topbar>.logo .logo-mark{width:34px;height:34px}.app-page .topbar>.logo b{font-size:15px}.app-page .topbar>.logo small{color:#8fa3b1;opacity:1}.app-page .topbar>.company{margin-left:auto}.app-page .topbar>.top-actions{margin-left:12px}.app-page .shell aside nav{padding-bottom:102px}.app-page .shell aside .collapse{bottom:96px}
.app-page:has(.shell aside.compact) .topbar>.logo{width:72px;padding:16px 18px}.app-page:has(.shell aside.compact) .topbar>.logo>span:last-child,.app-page:has(.shell aside.compact) .topbar>.logo:after{display:none}
@media(max-width:760px){.app-page .topbar>.logo{display:none}.app-page .topbar>.company{margin-left:0}.app-page .topbar>.top-actions{margin-left:auto}.app-page .shell aside nav{padding-bottom:18px}}
.app-page .topbar>.company{margin-left:0;margin-right:auto;padding:0;border:0;background:transparent;box-shadow:none;font-size:0}.app-page .topbar>.company>span{width:34px;height:34px;border-radius:7px}.app-page .topbar>.company>label{font-size:12px}.app-page .topbar>.top-actions{margin-left:14px}
.app-page .topbar>.company>label{font-size:14px;font-weight:650;line-height:1.25;color:#314956}.app-page .topbar>.company>label>small{display:none!important}
.required-label-title{display:inline-flex!important;align-items:center!important;gap:4px!important;width:max-content!important;max-width:100%;white-space:nowrap!important}.required-label-title i{display:inline!important;position:static!important;margin:0!important;color:#d85853!important;font-style:normal!important;line-height:1!important}

/* Secondary actions placed beside list search/filter controls share one visual language.
   Column-settings triggers (明细列设置／列设置) stay 12px even when nested under *-tabs. */
.app-page .list-tools>button,
.app-page .list-actions>button,
.app-page [class$="-tabs"] .list-actions>button,
.app-page [class$="-tabs"] .list-tools>button,
.app-page .editor-card>header>button,
.app-page .section-title>button,
.app-page #businessColumnSettings,
.app-page #productColumnsButton,
.app-page #columnsButton,
.app-page #lineColumnSettings{
  height:35px!important;
  padding:0 12px!important;
  border:1px solid #b8d8d4!important;
  border-radius:6px!important;
  background:#edf7f5!important;
  color:#167d76!important;
  font-size:12px!important;
  font-weight:400!important;
  line-height:1!important;
  white-space:nowrap!important;
  box-shadow:none!important
}
.app-page .list-tools>button:hover:not(:disabled),
.app-page .list-actions>button:hover:not(:disabled),
.app-page [class$="-tabs"] .list-actions>button:hover:not(:disabled),
.app-page [class$="-tabs"] .list-tools>button:hover:not(:disabled),
.app-page .editor-card>header>button:hover:not(:disabled),
.app-page .section-title>button:hover:not(:disabled),
.app-page #businessColumnSettings:hover:not(:disabled),
.app-page #productColumnsButton:hover:not(:disabled),
.app-page #columnsButton:hover:not(:disabled),
.app-page #lineColumnSettings:hover:not(:disabled){background:#dff1ef!important}
.app-page .list-tools>button:disabled,
.app-page .list-actions>button:disabled,
.app-page [class$="-tabs"] .list-actions>button:disabled,
.app-page [class$="-tabs"] .list-tools>button:disabled,
.app-page .editor-card>header>button:disabled,
.app-page .section-title>button:disabled,
.app-page #businessColumnSettings:disabled,
.app-page #productColumnsButton:disabled,
.app-page #columnsButton:disabled,
.app-page #lineColumnSettings:disabled{
  border-color:#cddfdd!important;
  background:#f2f7f6!important;
  color:#6e928e!important;
  cursor:not-allowed!important;
  opacity:1!important
}

/* SN values use the same ordinary business-text typography as document numbers. */
.app-page .sn-text,
.sn-history-modal .sn-text,
.sn-history-modal summary>.sn-text,
#inventoryContent .inventory-table tbody td:first-child>strong{
  font-family:inherit!important;
  font-size:13px!important;
  font-weight:400!important;
  font-style:normal!important;
  font-variant:normal!important;
  letter-spacing:normal!important;
  line-height:1.45!important
}

/* Dual-pane SN pickers (出库 / 修改出库 / 库位调拨 / 盘点 / 维修 / 备件领用): compact 11px. */
.sn-transfer-list .sn-text,
.sn-transfer-list button strong,
.sn-transfer-list button > strong.sn-text{
  font-family:inherit!important;
  font-size:11px!important;
  font-weight:400!important;
  font-style:normal!important;
  font-variant:normal!important;
  letter-spacing:normal!important;
  line-height:1.45!important;
  text-align:left!important
}
.sn-transfer-list button span{
  font-family:inherit!important;
  font-size:11px!important;
  font-weight:400!important;
  text-align:right!important
}

/* All approval rejection actions use the same pending-action pink treatment. */
.app-page button[data-decision="rejected"],
.app-page .todo-approval button.reject,
.app-page .contract-approval button.reject{
  border-color:#efb8b5!important;
  background:#fff0f0!important;
  color:#c33f3a!important;
  font-weight:600!important
}
.app-page button[data-decision="rejected"]:hover:not(:disabled),
.app-page .todo-approval button.reject:hover:not(:disabled),
.app-page .contract-approval button.reject:hover:not(:disabled){
  border-color:#e7a29e!important;
  background:#ffe4e4!important;
  color:#b93632!important
}
