* { box-sizing: border-box; }
body { margin: 0; background: #f0f2f5; font-family: "Noto Sans CJK SC", -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif; }
.boot { padding: 60px; text-align: center; color: #888; }

.app-header { display: flex; align-items: center; background: #001529; padding: 0 20px; height: 54px; }
.app-header .logo {
  display: flex; flex-direction: column; align-items: flex-start; line-height: 1.1;
  color: #fff; font-weight: 700;
}
.app-header .logo .cn { font-size: 19px; letter-spacing: 3px; }
.app-header .logo .en { font-size: 10px; letter-spacing: 2.5px; font-weight: 500; opacity: 0.75; text-transform: lowercase; }
.app-header .sub { color: #8c9bab; font-size: 12px; margin-left: 14px; }
.app-header .header-right { margin-left: auto; display: flex; align-items: center; gap: 8px; }
.app-header .user { color: #cfd8e3; font-size: 12px; margin-left: 8px; }

.app-sider { border-right: 1px solid #e8e8e8; }
.app-content { padding: 14px; overflow: auto; }

.stat-card { border-radius: 6px; box-shadow: 0 1px 3px rgba(0,0,0,.05); }
.dim { color: #8c8c8c; font-size: 12px; }
.mono { font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace; font-size: 12px; }
.loading { padding: 60px; text-align: center; color: #999; }

.scroll-box { max-height: 260px; overflow: auto; }
.alert-row { display: flex; align-items: center; gap: 8px; padding: 6px 0; border-bottom: 1px dashed #f0f0f0; font-size: 12px; }
.alert-row .dim { margin-left: auto; }
.audit-msg { display: flex; align-items: center; gap: 6px; font-size: 12px; }

.tpl-item { cursor: pointer; }
.tpl-item:hover { background: #f5f7fa; }
.tpl-active { cursor: pointer; background: #e6f4ff; }

/* 单据打印预览 */
.paper-wrap { background: #e9e9e9; padding: 14px; display: flex; justify-content: center; overflow: auto; border-radius: 4px; }
.paper { background: #fff; padding: 6mm; box-shadow: 0 2px 10px rgba(0,0,0,.15); font-size: 11px; line-height: 1.5; }

/* 面单内部样式 */
.wb .row { margin: 2px 0; }
.wb .lab { color: #888; display: inline-block; width: 48px; }
.wb .hr { border-top: 1px dashed #bbb; margin: 4px 0; }
.wb .barcode { font-family: monospace; letter-spacing: 1px; font-size: 13px; }
.wb .addr { font-size: 13px; font-weight: 600; }
.wb .it { color: #333; }
.pk h3, .iv h3, .st h3 { margin: 0 0 6px; font-size: 14px; }
.pk .meta, .iv .meta, .st .meta { color: #888; font-size: 10px; margin-bottom: 6px; }
.tb { width: 100%; border-collapse: collapse; font-size: 10px; }
.tb th, .tb td { border: 1px solid #999; padding: 3px 5px; text-align: left; }
.tb th { background: #f0f0f0; }
.foot { margin-top: 10px; font-size: 10px; color: #666; }
.iv .row { margin: 3px 0; }
.iv .addr { color: #333; }
.lb { display: flex; flex-direction: column; justify-content: center; height: 24mm; }
.lb .nm { font-size: 9px; font-weight: 600; }
.lb .bc { font-family: monospace; font-size: 11px; letter-spacing: 1px; margin: 2px 0; }
.lb .pr { font-size: 10px; color: #d4380d; }

.ant-table-cell { font-size: 12px !important; }
.ant-statistic-title { font-size: 12px !important; }
