
.pwd-reveal-backdrop[data-v-9ebf5f19] {
  position: fixed;
  inset: 0;
  z-index: 10050;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  background: rgba(15, 23, 42, 0.45);
}
.pwd-reveal-modal[data-v-9ebf5f19] {
  width: min(420px, 100%);
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 18px 48px rgba(15, 23, 42, 0.22);
  padding: 18px 20px 16px;
}
.pwd-reveal-head[data-v-9ebf5f19] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}
.pwd-reveal-head h3[data-v-9ebf5f19] {
  margin: 0;
  font-size: 17px;
  font-weight: 650;
  color: #0f172a;
}
.pwd-reveal-close[data-v-9ebf5f19] {
  border: none;
  background: transparent;
  font-size: 22px;
  line-height: 1;
  color: #64748b;
  cursor: pointer;
  padding: 0 2px;
}
.pwd-reveal-line[data-v-9ebf5f19] {
  margin: 0 0 12px;
  font-size: 14px;
  color: #334155;
  line-height: 1.5;
}
.pwd-reveal-field[data-v-9ebf5f19] {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 10px;
}
.pwd-reveal-field > span[data-v-9ebf5f19] {
  font-size: 12px;
  color: #64748b;
}
.pwd-reveal-row[data-v-9ebf5f19] {
  display: flex;
  gap: 8px;
}
.pwd-reveal-input[data-v-9ebf5f19] {
  flex: 1;
  min-width: 0;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 14px;
  padding: 8px 10px;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  background: #f8fafc;
  color: #0f172a;
  user-select: all;
}
.pwd-reveal-copy[data-v-9ebf5f19] {
  flex-shrink: 0;
  padding: 0 14px;
  border: 1px solid #94a3b8;
  border-radius: 6px;
  background: #fff;
  color: #0f172a;
  font-size: 13px;
  cursor: pointer;
}
.pwd-reveal-copy[data-v-9ebf5f19]:hover {
  background: #f1f5f9;
}
.pwd-reveal-tip[data-v-9ebf5f19] {
  margin: 0 0 16px;
  font-size: 13px;
  color: #64748b;
  line-height: 1.5;
}
.pwd-reveal-foot[data-v-9ebf5f19] {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}
.pwd-reveal-cancel[data-v-9ebf5f19] {
  padding: 7px 18px;
  border: 1px solid #94a3b8;
  border-radius: 6px;
  background: #fff;
  color: #0f172a;
  font-size: 14px;
  cursor: pointer;
}
.pwd-reveal-ok[data-v-9ebf5f19] {
  padding: 7px 18px;
  border: none;
  border-radius: 6px;
  background: #2563eb;
  color: #fff;
  font-size: 14px;
  cursor: pointer;
}
.pwd-reveal-ok[data-v-9ebf5f19]:hover {
  background: #1d4ed8;
}

.sidebar-nav[data-v-9dc27e50] {
  width: 220px;
  min-width: 220px;
  border-radius: 14px;
  background: var(--sidebar-teal);
  padding: 14px 12px;
  box-shadow: 0 8px 28px rgba(95, 184, 193, 0.35);
  position: relative;
  align-self: stretch;
  max-height: 100%;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  border: 1px solid rgba(255, 255, 255, 0.35);
  /* Firefox：白滑块 + 浅轨 */
  scrollbar-width: thin;
  scrollbar-color: #ffffff rgba(255, 255, 255, 0.35);
}
.sidebar-nav[data-v-9dc27e50]::-webkit-scrollbar {
  width: 8px;
}
.sidebar-nav[data-v-9dc27e50]::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.28);
  border-radius: 999px;
}
.sidebar-nav[data-v-9dc27e50]::-webkit-scrollbar-thumb {
  background: #ffffff;
  border: 1px solid #d1d5db;
  border-radius: 999px;
  background-clip: padding-box;
}
.sidebar-nav[data-v-9dc27e50]::-webkit-scrollbar-thumb:hover {
  background: #f8fafc;
  border-color: #cbd5e1;
}
.sidebar-nav[data-v-9dc27e50]::-webkit-scrollbar-button {
  display: none;
  width: 0;
  height: 0;
}
.menu-group + .menu-group[data-v-9dc27e50] {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px dashed rgba(255, 255, 255, 0.35);
}
.menu-group-title[data-v-9dc27e50] {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.82);
  margin-bottom: 8px;
}
.menu-item[data-v-9dc27e50] {
  width: 100%;
  text-align: left;
  margin: 0 0 6px 0;
  border-radius: 10px;
  padding: 9px 11px;
  cursor: pointer;
  font-size: 13px;
  color: var(--text-on-light, #0f172a);
  border: 1px solid rgba(255, 255, 255, 0.55);
  background: rgba(255, 255, 255, 0.38);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
}
.menu-item[data-v-9dc27e50]:hover {
  background: rgba(255, 255, 255, 0.58);
  border-color: rgba(255, 255, 255, 0.85);
}
.menu-item-active[data-v-9dc27e50] {
  background: rgba(255, 255, 255, 0.92);
  border-color: #fff;
  color: #0a4a55;
  font-weight: 600;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

/* —— plain：纯文字树，点击行展开/选中 —— */
.cts-plain-list[data-v-a4e4115d] {
  --cts-plain-line: color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 42%, #b8c8cc);
  list-style: none;
  margin: 0;
  padding: 0;
}
.cts-plain-list[data-v-a4e4115d]:not(.cts-plain-list--root) {
  border-left: 1px solid var(--cts-plain-line);
}
.cts-plain-list--root > .cts-plain-item > .cts-plain-list[data-v-a4e4115d] {
  margin-left: 22px;
  padding-left: 8px;
}
.cts-plain-list:not(.cts-plain-list--root) > .cts-plain-item > .cts-plain-list[data-v-a4e4115d] {
  margin-left: 18px;
  padding-left: 8px;
}
.cts-plain-item[data-v-a4e4115d] {
  margin: 0;
  padding: 0;
}
.cts-plain-row[data-v-a4e4115d] {
  display: flex;
  align-items: center;
  gap: 4px;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 7px 10px 7px 0;
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  font: inherit;
  font-size: 13px;
  line-height: 1.4;
  color: #334155;
  text-align: left;
  cursor: pointer;
  position: relative;
}
.cts-plain-list--root > .cts-plain-item > .cts-plain-row[data-v-a4e4115d] {
  padding-left: 10px;
}
.cts-plain-list:not(.cts-plain-list--root) > .cts-plain-item > .cts-plain-row[data-v-a4e4115d] {
  padding-left: 16px;
}
.cts-plain-list:not(.cts-plain-list--root) > .cts-plain-item > .cts-plain-row[data-v-a4e4115d]::before {
  content: '';
  position: absolute;
  left: -8px;
  top: 50%;
  width: 8px;
  border-top: 1px solid var(--cts-plain-line);
}
.cts-plain-list--root > .cts-plain-item > .cts-plain-row[data-v-a4e4115d]::before {
  display: none;
}
.cts-plain-row[data-v-a4e4115d]:hover {
  background: transparent;
  border: none;
  box-shadow: none;
}
.cts-plain-row:hover .cts-plain-name[data-v-a4e4115d] {
  color: #0f766e;
}
.cts-plain-row--selected .cts-plain-name[data-v-a4e4115d] {
  color: #0f766e;
  font-weight: 600;
}
.cts-plain-caret[data-v-a4e4115d] {
  flex-shrink: 0;
  width: 24px;
  font-size: 22px;
  line-height: 1;
  color: #94a3b8;
  text-align: center;
}
.cts-plain-path-code[data-v-a4e4115d] {
  flex-shrink: 0;
  font-size: 12px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  color: #64748b;
}
.cts-plain-name[data-v-a4e4115d] {
  min-width: 0;
  font-weight: 500;
  color: #1e293b;
  word-break: break-word;
}

/* —— simple：对齐产品分类管理侧栏 —— */
.cts-simple-list[data-v-a4e4115d] {
  list-style: none;
  margin: 0;
  padding: 0;
}
.cts-simple-list--root[data-v-a4e4115d] {
  border-top: 1px solid #f1f5f9;
}
.cts-simple-item[data-v-a4e4115d] {
  padding-left: calc(4px + var(--pc-depth, 0) * 16px);
  border-bottom: 1px solid #f1f5f9;
}
.cts-simple-row[data-v-a4e4115d] {
  display: flex;
  align-items: center;
  gap: 6px;
  width: 100%;
  min-width: 0;
  padding: 7px 8px 7px 4px;
  border-radius: 0;
  background: transparent;
  transition: background 0.12s ease;
}
.cts-simple-row[data-v-a4e4115d]:hover:not(.cts-simple-row--selected) {
  background: #f8fafc;
}
.cts-simple-row--selected[data-v-a4e4115d] {
  background: color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 8%, #fff);
}
.cts-simple-row--selected .cts-simple-name[data-v-a4e4115d] {
  font-weight: 600;
  color: #0f172a;
}
.cts-simple-chevron[data-v-a4e4115d] {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  color: #64748b;
  font-size: 12px;
  line-height: 1;
  text-align: center;
  cursor: pointer;
}
.cts-simple-chevron[data-v-a4e4115d]:hover {
  color: #0f766e;
}
.cts-simple-chevron--leaf[data-v-a4e4115d] {
  visibility: hidden;
  pointer-events: none;
}
.cts-simple-label[data-v-a4e4115d] {
  flex: 1;
  min-width: 0;
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 8px;
  border: none;
  background: none;
  padding: 0;
  margin: 0;
  text-align: left;
  cursor: pointer;
}
.cts-simple-path-code[data-v-a4e4115d] {
  flex-shrink: 0;
  font-size: 12px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  color: #64748b;
  letter-spacing: 0.02em;
}
.cts-simple-name[data-v-a4e4115d] {
  word-break: break-word;
  font-weight: 500;
  font-size: 13px;
  color: #1e293b;
  line-height: 1.4;
}
.cts-simple-row--parent .cts-simple-name[data-v-a4e4115d] {
  color: #334155;
}

/* —— default：原下拉树 —— */
.cts-tree-branch[data-v-a4e4115d] {
  --cts-teal: var(--sidebar-teal, #5fb8c1);
  list-style: none;
  margin: 0;
  padding: 0;
}
.cts-tree-branch[data-v-a4e4115d]:not(.cts-tree-branch--root) {
  margin-left: 9px;
  padding-left: 10px;
  border-left: 1px dotted color-mix(in srgb, var(--cts-teal) 45%, #b8c8cc);
}
.cts-tree-node[data-v-a4e4115d] {
  margin: 0;
  padding: 0;
}
.cts-tree-row[data-v-a4e4115d] {
  display: flex;
  align-items: center;
  gap: 4px;
  min-height: 24px;
  padding: 2px 6px;
  margin: 0 2px;
  border-radius: 6px;
  position: relative;
  transition: background-color 0.12s ease;
}
.cts-tree-row[data-v-a4e4115d]:hover:not(.cts-tree-row--selected) {
  background: #f8fafc;
}
.cts-tree-row--selected[data-v-a4e4115d] {
  background: color-mix(in srgb, var(--cts-teal) 8%, #ffffff);
}
.cts-tree-row--selected[data-v-a4e4115d]:hover {
  background: color-mix(in srgb, var(--cts-teal) 11%, #ffffff);
}
.cts-tree-row--selected .cts-tree-label[data-v-a4e4115d] {
  font-weight: 600;
  color: #000;
}
.cts-tree-row[data-v-a4e4115d]::before {
  content: '';
  position: absolute;
  left: -10px;
  top: 12px;
  width: 10px;
  border-top: 1px dotted color-mix(in srgb, var(--cts-teal) 45%, #b8c8cc);
}
.cts-tree-branch--root > .cts-tree-node > .cts-tree-row[data-v-a4e4115d]::before {
  display: none;
}
.cts-tree-box[data-v-a4e4115d] {
  flex-shrink: 0;
  width: 13px;
  height: 13px;
  margin: 0;
  padding: 0;
  border: 1px solid color-mix(in srgb, var(--cts-teal) 55%, #94a3b8);
  background: #fff;
  color: #000;
  font-size: 11px;
  line-height: 1;
  font-family: inherit;
  text-align: center;
  cursor: pointer;
  box-sizing: border-box;
}
.cts-tree-box--leaf[data-v-a4e4115d] {
  border-color: transparent;
  background: transparent;
  visibility: hidden;
}
.cts-tree-label[data-v-a4e4115d] {
  flex: 1;
  min-width: 0;
  border: none;
  background: none;
  padding: 0;
  margin: 0;
  font-size: 13px;
  line-height: 1.4;
  color: #000;
  text-align: left;
  cursor: pointer;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cts-tree-row--parent .cts-tree-label[data-v-a4e4115d] {
  color: #000;
}

.cat-tree-select[data-v-5eebac84] {
  position: relative;
  display: block;
  width: 100%;
  min-width: 0;
  vertical-align: middle;
}
.cat-tree-select--disabled .cat-tree-trigger[data-v-5eebac84] {
  opacity: 0.65;
  cursor: not-allowed;
}
.cat-tree-trigger[data-v-5eebac84] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  min-height: 36px;
  padding: 8px 10px;
  text-align: left;
  border: 1px solid var(--input-border, #e2e8f0);
  border-radius: 8px;
  background: var(--input-surface, #fff);
  color: #000;
  font-size: 13px;
  font-weight: 400;
  cursor: pointer;
  box-shadow: var(--input-inner-shadow, none);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.cat-tree-select--open .cat-tree-trigger[data-v-5eebac84],
.cat-tree-trigger[data-v-5eebac84]:hover:not(:disabled) {
  border-color: color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 48%, #cbd5e1);
}
.cat-tree-select--open .cat-tree-trigger[data-v-5eebac84] {
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 16%, transparent);
}
.cat-tree-select--sheet.cat-tree-select--open .cat-tree-trigger--sheet[data-v-5eebac84],
.cat-tree-select--sheet .cat-tree-trigger--sheet[data-v-5eebac84]:hover:not(:disabled) {
  border-color: #d5dde7;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.cat-tree-select--sheet.cat-tree-select--open .cat-tree-trigger--sheet[data-v-5eebac84] {
  border-color: color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 48%, #cbd5e1);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 12%, transparent);
}
.cat-tree-trigger--sheet[data-v-5eebac84] {
  min-height: var(--doc-header-control-height, 36px);
  height: var(--doc-header-control-height, 36px);
  padding: 0 30px 0 var(--doc-header-control-padding-x, 10px);
  border: 1px solid #d5dde7;
  border-radius: 8px;
  background-color: #fff;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' fill='none'%3E%3Cpath d='M1.75 3.25L5 6.5L8.25 3.25' stroke='%2364748b' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  font-size: var(--doc-header-control-font-size, 13px);
  color: #111827;
}
.cat-tree-select--sheet .cat-tree-trigger-text--ph[data-v-5eebac84] {
  color: #111827;
}
.cat-tree-trigger-text[data-v-5eebac84] {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cat-tree-trigger-text--ph[data-v-5eebac84] {
  color: var(--text-muted-light, #94a3b8);
  font-weight: 400;
}
.cat-tree-trigger-caret[data-v-5eebac84] {
  flex-shrink: 0;
  font-size: 11px;
  line-height: 1;
  color: #64748b;
}
.cat-tree-panel[data-v-5eebac84] {
  position: absolute;
  left: 0;
  right: 0;
  z-index: 50;
  margin-top: 4px;
  min-width: max(100%, 240px);
  max-height: min(320px, 55vh);
  overflow: auto;
  padding: 6px 4px 8px;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.1);
}
.cat-tree-all-opt[data-v-5eebac84] {
  display: block;
  width: calc(100% - 8px);
  margin: 2px 4px 6px;
  padding: 6px 8px;
  border: 1px solid transparent;
  border-radius: 6px;
  background: transparent;
  text-align: left;
  font-size: 13px;
  font-weight: 600;
  color: #000;
  cursor: pointer;
}
.cat-tree-all-opt[data-v-5eebac84]:hover {
  background: color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 5%, #ffffff);
}
.cat-tree-all-opt--on[data-v-5eebac84] {
  background: color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 8%, #ffffff);
  border-color: color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 22%, #e8f0f2);
  color: #000;
}
.cat-tree-panel--simple[data-v-5eebac84] {
  padding: 0;
  border-radius: 10px;
  border: 1px solid #e5e7eb;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.08);
  max-height: min(360px, 55vh);
  overflow: auto;
  scrollbar-gutter: stable;
}
.cat-tree-panel--simple .cat-tree-all-opt[data-v-5eebac84] {
  margin: 0;
  width: 100%;
  padding: 10px 12px;
  border-radius: 0;
  border-bottom: 1px solid #f1f5f9;
}
.cat-tree-panel--plain[data-v-5eebac84] {
  padding: 4px 0 6px;
  border-radius: 8px;
  border: 1px solid #e5e7eb;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.08);
  max-height: min(360px, 55vh);
  overflow: auto;
  scrollbar-gutter: stable;
}
.cat-tree-panel--plain .cat-tree-empty[data-v-5eebac84] {
  padding: 10px 12px;
}
.cat-tree-empty[data-v-5eebac84] {
  padding: 10px 12px;
  font-size: 13px;
  color: var(--text-muted-light, #64748b);
}

.pcf-tree-branch[data-v-1693e5e6] {
  --pcf-teal: var(--sidebar-teal, #5fb8c1);
  list-style: none;
  margin: 0;
  padding: 0;
}
.pcf-tree-branch[data-v-1693e5e6]:not(.pcf-tree-branch--root) {
  margin-left: 14px;
  padding-left: 10px;
  border-left: 1px dotted color-mix(in srgb, var(--pcf-teal) 45%, #b8c8cc);
}
.pcf-tree-node[data-v-1693e5e6] {
  margin: 0;
  padding: 0;
}
.pcf-tree-row[data-v-1693e5e6] {
  display: grid;
  grid-template-columns: 14px 14px minmax(0, 1fr);
  gap: 6px;
  align-items: center;
  min-height: 28px;
  padding: 2px 4px;
  margin: 0;
}
.pcf-tree-toggle-slot[data-v-1693e5e6] {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pcf-tree-box[data-v-1693e5e6] {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  margin: 0;
  padding: 0;
  border: 1px solid color-mix(in srgb, var(--pcf-teal) 50%, #94a3b8);
  border-radius: var(--pcf-control-radius, 0.5px);
  background: #fff;
  color: #0f766e;
  font-size: 11px;
  line-height: 1;
  font-family: inherit;
  font-weight: 600;
  text-align: center;
  cursor: pointer;
  box-sizing: border-box;
}
.pcf-tree-box[data-v-1693e5e6]:hover {
  border-color: var(--pcf-teal);
  background: color-mix(in srgb, var(--pcf-teal) 4%, #ffffff);
}
.pcf-tree-check[data-v-1693e5e6] {
  flex-shrink: 0;
  justify-self: start;
}
.pcf-tree-label[data-v-1693e5e6] {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: none;
  background: none;
  padding: 0;
  margin: 0;
  font-size: 13px;
  line-height: 1.45;
  color: #1e293b;
  text-align: left;
  cursor: pointer;
  overflow: hidden;
}
.pcf-tree-box-glyph[data-v-1693e5e6] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: 11px;
  line-height: 1;
  transform: translateY(-0.5px);
}
.pcf-tree-path-code[data-v-1693e5e6] {
  flex-shrink: 0;
  padding: 1px 6px;
  border-radius: 2px;
  font-size: 11px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  color: #0f766e;
  background: color-mix(in srgb, var(--pcf-teal) 14%, #fff);
  border: 1px solid color-mix(in srgb, var(--pcf-teal) 28%, #e2e8f0);
}
.pcf-tree-name[data-v-1693e5e6] {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pcf-tree-label[data-v-1693e5e6]:hover {
  color: #000;
  text-decoration: none;
}

.pcf-simple-tree[data-v-2c8706ea] {
  --pcf-teal: var(--sidebar-teal, #5fb8c1);
  display: flex;
  flex-direction: column;
  min-height: 0;
  min-width: 0;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  font-size: 13px;
  color: #1e293b;
}
.pcf-simple-tree--sidebar[data-v-2c8706ea] {
  flex: 1;
  border-right: 1px solid color-mix(in srgb, var(--pcf-teal) 24%, #e2e8f0);
}
.pcf-simple-tree--popover[data-v-2c8706ea] {
  width: 100%;
  min-width: 0;
  border-right: none;
}
.pcf-simple-tree--compact .pcf-tree-scroll[data-v-2c8706ea] {
  padding: 8px 6px 10px;
}
.pcf-tree-toolbar[data-v-2c8706ea] {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  padding: 8px 12px;
  border-bottom: 1px solid #e8ecef;
  background: color-mix(in srgb, var(--pcf-teal) 6%, #fff);
}
.pcf-tree-toolbar-label[data-v-2c8706ea] {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  width: 100%;
  cursor: pointer;
  user-select: none;
  color: #000;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
}
.pcf-tree-toolbar-check[data-v-2c8706ea] {
  margin: 0;
}
.pcf-tree-scroll[data-v-2c8706ea] {
  flex: 1;
  min-height: 0;
  overflow: auto;
  padding: 8px 6px 12px;
  background: transparent;
}
.pcf-simple-tree--popover .pcf-tree-scroll[data-v-2c8706ea] {
  max-height: min(320px, 55vh);
}
.pcf-tree-all[data-v-2c8706ea] {
  display: block;
  width: calc(100% - 12px);
  margin: 4px 6px 6px;
  padding: 8px 10px;
  border: 1px solid transparent;
  border-radius: 10px;
  background: color-mix(in srgb, var(--pcf-teal) 8%, #fff);
  text-align: left;
  font-size: 13px;
  font-weight: 600;
  color: #334155;
  cursor: pointer;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.pcf-tree-all[data-v-2c8706ea]:hover {
  background: color-mix(in srgb, var(--pcf-teal) 14%, #fff);
  border-color: color-mix(in srgb, var(--pcf-teal) 30%, #e2e8f0);
  color: #1e293b;
}
.pcf-tree-all--on[data-v-2c8706ea] {
  background: color-mix(in srgb, var(--pcf-teal) 18%, #fff);
  border-color: color-mix(in srgb, var(--pcf-teal) 42%, #cbd5e1);
  color: #0f766e;
}
.pcf-tree-empty[data-v-2c8706ea] {
  margin: 8px 10px 0;
  font-size: 12px;
  color: #64748b;
}

/*
 * 整页白卡圆角：写在壳组件自身，避免被 App.vue .content-area .card 半透明毛玻璃盖掉。
 * 销货单 / 销售合同 / 资金制单等凡 outerCard=true 共用这一套，勿在各页再单独写壳样式。
 */
.doc-page-shell.card[data-v-7a331ff2] {
  background: #fff !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06) !important;
  padding: 14px !important;
  box-sizing: border-box;
}
.doc-page-shell__section.section-box[data-v-7a331ff2] {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
.doc-page-shell__title[data-v-7a331ff2] {
  margin: 0 0 10px;
}

.document-create-header[data-v-02055dee] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 12px;
}
.document-create-header--ir[data-v-02055dee] {
  align-items: flex-start;
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid #eceff1;
}
.document-create-header__meta[data-v-02055dee] {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0;
  min-height: 30px;
}
.document-create-header__actions[data-v-02055dee] {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
}
.document-create-header__meta[data-v-02055dee] .document-create-pill {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 12px;
  border-radius: 8px;
  border: 1px solid #d5e0ea;
  background: #ffffff;
  color: #334155;
  font-weight: 500;
}
.document-create-header__meta[data-v-02055dee] .document-create-pill--primary {
  border-color: color-mix(in srgb, var(--sidebar-teal) 52%, #bfd7de);
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--sidebar-teal) 20%, #ffffff) 0%,
    color-mix(in srgb, var(--sidebar-teal) 12%, #ffffff) 100%
  );
  color: var(--ui-accent-ink);
  font-weight: 700;
  letter-spacing: 0.3px;
}
.document-create-header__meta[data-v-02055dee] .document-create-pill--warn {
  border-color: #fed7aa;
  background: #fff7ed;
  color: #b45309;
  font-weight: 600;
}
/** 收款单等：与审核主色区分的收款主题 */
.document-create-header__meta[data-v-02055dee] .document-create-pill--receipt {
  border-color: color-mix(in srgb, #ea580c 42%, #fed7aa);
  background: linear-gradient(180deg, #fff7ed 0%, #ffedd5 100%);
  color: #c2410c;
  font-weight: 700;
  letter-spacing: 0.3px;
}
.document-create-header__meta[data-v-02055dee] .document-create-text {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 12px;
  color: #475569;
  font-weight: 500;
  white-space: nowrap;
  border-left: 1px solid #d8e1ea;
}
.document-create-header__meta[data-v-02055dee] .document-create-text--first {
  border-left: 0;
}
.document-create-header__meta[data-v-02055dee] .document-create-text--mono {
  font-variant-numeric: tabular-nums;
}
.document-create-header__meta[data-v-02055dee] .document-create-date-field {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 30px;
  padding: 0 12px;
  color: #475569;
  font-weight: 500;
  border-left: 1px solid #d8e1ea;
}
.document-create-header__meta[data-v-02055dee] .document-create-date-field--first {
  border-left: 0;
}
.document-create-header__meta[data-v-02055dee] .document-create-date-field input {
  height: 26px;
  border-radius: 6px;
}
.document-create-header__meta[data-v-02055dee] .document-create-note {
  margin-left: 8px;
  color: #64748b;
  font-size: 12px;
}

.print-template-dropdown[data-v-3940823d] {
  display: inline-flex;
  align-items: center;
}

.print-template-menu-panel.copy-generate-menu-panel {
  background: #fff;
  border: 1px solid color-mix(in srgb, var(--ui-accent, #0f766e) 32%, #e2e8f0);
  border-radius: 12px;
  box-shadow: var(--ui-dialog-shadow, 0 12px 32px rgba(15, 23, 42, 0.16));
  padding: 6px 0;
  max-width: min(92vw, 440px);
  max-height: min(70vh, 420px);
  overflow-y: auto;
}
.print-template-menu-muted {
  color: #64748b;
  cursor: default;
}

.document-toolbar-actions[data-v-f28d471f] {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}
.document-toolbar-actions--list[data-v-f28d471f] {
  width: 100%;
  justify-content: flex-end;
}
.document-toolbar-actions--sheet[data-v-f28d471f] {
  gap: 8px;
}
.document-toolbar-meta[data-v-f28d471f] {
  margin: 0;
  font-size: 12px;
  color: var(--text-muted-light, #64748b);
}

.tax-classification-sheet-root[data-v-b152d74d] {
  display: contents;
}
.tax-classification-field[data-v-b152d74d] {
  position: relative;
  display: flex;
  flex-direction: column;
  font-size: 12px;
  color: var(--text-muted-light);
}
.tax-classification-field > span[data-v-b152d74d] {
  margin-bottom: 4px;
}
.tax-classification-code-field[data-v-b152d74d] {
  display: flex;
  flex-direction: column;
  font-size: 12px;
  color: var(--text-muted-light);
}
.tax-classification-field .sales-customer-input-wrap[data-v-b152d74d] {
  position: relative;
  display: block;
}
.tax-classification-field .sales-customer-input-wrap input[data-v-b152d74d] {
  width: 100%;
  min-width: 0;
  padding: 8px 38px 8px 10px;
  height: 36px;
  box-sizing: border-box;
  margin-bottom: 0;
  border-radius: 8px;
  border: 1px solid var(--border-light, #e2e8f0);
  background: #fff;
  color: var(--text-on-light, #0f172a);
}
.tax-classification-search-btn[data-v-b152d74d] {
  position: absolute;
  right: 4px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  width: 28px;
  height: 30px;
  border: none;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  cursor: pointer;
  color: #6b8592;
  padding: 0;
}
.sales-customer-dialog-mask[data-v-b152d74d] {
  position: fixed;
  inset: 0;
  background: rgba(2, 8, 23, 0.28);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 90;
}
.sales-customer-dialog-mask.partner-unit-dialog-mask[data-v-b152d74d] {
  z-index: 12600;
  background: rgba(15, 23, 42, 0.35);
  box-sizing: border-box;
  inset: unset;
  position: fixed;
  top: 8px;
  bottom: 0;
  --partner-shell-outer: min(1760px, calc(100vw - 20px));
  --partner-pad-x: 10px;
  --partner-sidebar-w: 220px;
  --partner-shell-gap: 14px;
  left: calc((100vw - var(--partner-shell-outer)) / 2 + var(--partner-pad-x) + var(--partner-sidebar-w) + var(--partner-shell-gap));
  width: calc(var(--partner-shell-outer) - 2 * var(--partner-pad-x) - var(--partner-sidebar-w) - var(--partner-shell-gap));
  max-width: 100vw;
  padding: 12px 18px 20px;
  overflow-y: auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 960px) {
.sales-customer-dialog-mask.partner-unit-dialog-mask[data-v-b152d74d] {
    left: 0;
    width: 100%;
    max-width: none;
    top: 0;
    padding: 12px;
}
}
body:has(.app-shell--embed) .sales-customer-dialog-mask.partner-unit-dialog-mask[data-v-b152d74d] {
  left: 0;
  width: 100%;
  max-width: none;
  top: 0;
  padding: 12px;
}
.sales-customer-dialog[data-v-b152d74d] {
  width: min(920px, 92vw);
  max-height: 86vh;
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 10px;
  border: 1px solid var(--border-light, #e2e8f0);
  box-shadow: 0 20px 50px rgba(15, 23, 42, 0.2);
}
.sales-customer-dialog.partner-unit-dialog[data-v-b152d74d] {
  width: min(920px, 100%);
  height: min(calc((100vh - 32px) * 2 / 3), calc((100dvh - 32px) * 2 / 3), 640px);
  max-height: min(calc((100vh - 32px) * 2 / 3), calc((100dvh - 32px) * 2 / 3), 640px);
  overflow: hidden;
}
.sales-customer-dialog-head[data-v-b152d74d] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
  padding: 10px 12px;
  border-bottom: 1px solid var(--border-light, #e2e8f0);
}
.partner-unit-dialog-head[data-v-b152d74d] {
  padding: 12px 14px;
  background: linear-gradient(180deg, #f8fcfd 0%, #f0f9fb 100%);
}
.partner-unit-dialog-head strong[data-v-b152d74d] {
  font-size: 16px;
  font-weight: 700;
  color: #0f172a;
}
.partner-unit-dialog-close[data-v-b152d74d] {
  width: 32px;
  height: 32px;
  border: none;
  border-radius: 8px;
  background: #f1f5f9;
  color: #64748b;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.partner-unit-dialog-close[data-v-b152d74d]:hover {
  background: #e2e8f0;
  color: #0f172a;
}
.tax-classification-dialog-toolbar[data-v-b152d74d] {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  padding: 10px 16px 0;
}
.tax-classification-dialog-search-wrap[data-v-b152d74d] {
  flex: 1;
  min-width: 0;
}
.tax-classification-dialog-search[data-v-b152d74d] {
  width: 100%;
  min-height: 36px;
  padding: 8px 36px 8px 10px;
  border: 1px solid var(--border-light, #e2e8f0);
  border-radius: 8px;
  box-sizing: border-box;
}
.tax-classification-dialog-search-go[data-v-b152d74d] {
  /* 内嵌 🔍 见 picker-inline-search.css */
}
.tax-classification-dialog-body[data-v-b152d74d] {
  display: flex !important;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  padding: 10px 16px;
  grid-template-columns: unset !important;
}
.tax-classification-table-wrap[data-v-b152d74d] {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  border: 1px solid var(--border-light, #e2e8f0);
  border-radius: 8px;
}
.sales-customer-quick-table[data-v-b152d74d] {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}
.sales-customer-quick-table th[data-v-b152d74d],
.sales-customer-quick-table td[data-v-b152d74d] {
  border-bottom: 1px solid var(--border-light, #e2e8f0);
  padding: 8px;
  text-align: left;
}
.sales-customer-quick-table tbody tr[data-v-b152d74d] {
  cursor: pointer;
}
.sales-customer-quick-table tbody tr[data-v-b152d74d]:hover,
.sales-customer-quick-table tbody tr.sales-customer-dialog-row--active[data-v-b152d74d] {
  background: rgba(95, 184, 193, 0.14);
}
.tax-classification-code-cell[data-v-b152d74d] {
  font-family: ui-monospace, Consolas, monospace;
  font-size: 11px;
}
.product-table-empty[data-v-b152d74d] {
  text-align: center;
  color: var(--text-muted-light, #64748b);
  padding: 24px;
}
.tax-classification-dialog-pager[data-v-b152d74d] {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  flex-shrink: 0;
  padding: 8px 16px;
  font-size: 12px;
  color: var(--text-muted-light, #64748b);
}
.tax-classification-page-size select[data-v-b152d74d] {
  margin-left: 4px;
}
.tax-classification-pager-btns[data-v-b152d74d] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.tax-classification-page-input[data-v-b152d74d] {
  width: 44px;
  text-align: center;
  padding: 4px 6px;
  border: 1px solid var(--border-light, #e2e8f0);
  border-radius: 6px;
}
.tax-classification-pager-summary[data-v-b152d74d] {
  margin-left: auto;
}
.sales-customer-dialog-foot[data-v-b152d74d] {
  display: flex;
  flex-shrink: 0;
  padding: 10px 16px;
  border-top: 1px solid var(--border-light, #e2e8f0);
}
.tax-classification-dialog-foot[data-v-b152d74d] {
  justify-content: flex-end;
  gap: 10px;
}
.sales-customer-foot-btn[data-v-b152d74d] {
  min-height: 32px;
  padding: 0 14px;
  border: 1px solid #d8e9ed;
  border-radius: 8px;
  background: #fff;
  color: #334155;
  cursor: pointer;
}
.sales-customer-foot-btn--primary[data-v-b152d74d] {
  border-color: #5fb8c1;
  background: #5fb8c1;
  color: #fff;
}
.sales-customer-foot-btn--primary[data-v-b152d74d]:hover {
  background: #4aa8b2;
}
.sales-customer-foot-btn[data-v-b152d74d]:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.sales-customer-field[data-v-fa1b2482] { position: relative; display: flex; flex-direction: column; font-size: 12px; color: var(--text-on-light);
}
.sales-customer-field > span[data-v-fa1b2482] {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  line-height: 20px;
  margin-bottom: 4px;
}
.sales-customer-input-wrap[data-v-fa1b2482] { position: relative; display: block;
}
.sales-customer-input-wrap input[data-v-fa1b2482],
.partner-unit-picker-input[data-v-fa1b2482] {
  width: 100%;
  min-width: 0;
  padding: 8px 10px;
  padding-right: 58px;
  height: 36px;
  box-sizing: border-box;
  margin-bottom: 0;
  border-radius: 8px;
  border: 1px solid var(--border-light, #e2e8f0);
  background: #fff;
  color: var(--text-on-light, #0f172a);
  font-size: 13px;
}
.sales-customer-input-wrap input[data-v-fa1b2482]::placeholder { color: var(--text-muted-light, #64748b);
}
.picker-field-clear[data-v-fa1b2482] {
  position: absolute;
  right: 30px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  min-width: 22px;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 50%;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  color: #94a3b8;
  font-size: 15px;
  line-height: 1;
  cursor: pointer;
  opacity: 0.72;
}
.picker-field-clear-x[data-v-fa1b2482] {
  display: block;
  margin-top: -1px;
  font-weight: 400;
}
.sales-customer-input-wrap:hover .picker-field-clear[data-v-fa1b2482],
.picker-field-clear[data-v-fa1b2482]:focus-visible {
  opacity: 1;
  color: #64748b;
}
.picker-field-clear[data-v-fa1b2482]:hover {
  background: #f1f5f9 !important;
  color: #334155;
}
.picker-field-clear[data-v-fa1b2482]:focus-visible {
  outline: 2px solid rgba(14, 116, 144, 0.35);
  outline-offset: 1px;
}
.sales-customer-more[data-v-fa1b2482] {
  position: absolute;
  right: 2px;
  top: 50%;
  transform: translateY(-50%);
  width: 28px;
  height: 30px;
  min-width: 28px;
  margin: 0;
  padding: 0;
  border-radius: 0;
  border: none;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  color: #6b8592;
  line-height: 1;
}
.sales-customer-quick-panel[data-v-fa1b2482] {
  background: #fff;
  border: 1px solid var(--border-light);
  border-radius: 8px;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.14);
  max-height: min(300px, calc(100vh - 24px));
  overflow: auto;
}
.sales-customer-quick-panel--teleported[data-v-fa1b2482] {
  box-sizing: border-box;
}
.sales-customer-empty[data-v-fa1b2482] { padding: 14px; display: flex; justify-content: space-between; align-items: center; gap: 10px;
}
.sales-customer-quick-table[data-v-fa1b2482] { width: 100%; border-collapse: collapse; font-size: 12px;
}
.sales-customer-quick-table th[data-v-fa1b2482], .sales-customer-quick-table td[data-v-fa1b2482] { border-bottom: 1px solid var(--border-light); padding: 8px; text-align: left; white-space: nowrap;
}
.sales-customer-quick-table tbody tr[data-v-fa1b2482] { cursor: pointer;
}
.sales-customer-quick-table tbody tr[data-v-fa1b2482]:hover { background: var(--surface-brand-pale);
}
.sales-customer-quick-table tbody tr.sales-customer-quick-row--active[data-v-fa1b2482] { background: rgba(95, 184, 193, 0.14);
}
.sales-customer-dialog-mask[data-v-fa1b2482] {
  position: fixed;
  inset: 0;
  background: rgba(2, 8, 23, 0.28);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 90;
}
/* 与 App.vue .container + .app-shell 对齐：不占左侧 220px 菜单 + 14px 间距；略窄于右侧内容区用内边距实现 */
.sales-customer-dialog-mask.partner-unit-dialog-mask[data-v-fa1b2482] {
  z-index: 12600;
  background: rgba(15, 23, 42, 0.35);
  box-sizing: border-box;
  inset: unset;
  position: fixed;
  top: 8px;
  bottom: 0;
  --partner-shell-outer: min(1760px, calc(100vw - 20px));
  --partner-pad-x: 10px;
  --partner-sidebar-w: 220px;
  --partner-shell-gap: 14px;
  left: calc((100vw - var(--partner-shell-outer)) / 2 + var(--partner-pad-x) + var(--partner-sidebar-w) + var(--partner-shell-gap));
  width: calc(var(--partner-shell-outer) - 2 * var(--partner-pad-x) - var(--partner-sidebar-w) - var(--partner-shell-gap));
  max-width: 100vw;
  padding: 12px 18px 20px;
  overflow-y: auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 960px) {
.sales-customer-dialog-mask.partner-unit-dialog-mask[data-v-fa1b2482] {
    left: 0;
    width: 100%;
    max-width: none;
    top: 0;
    padding: 12px;
}
}
/* 嵌入窗口无侧栏：勿预留 220px */
body:has(.app-shell--embed) .sales-customer-dialog-mask.partner-unit-dialog-mask[data-v-fa1b2482] {
  left: 0;
  width: 100%;
  max-width: none;
  top: 0;
  padding: 12px;
}
.sales-customer-dialog[data-v-fa1b2482] {
  width: min(1180px, 92vw);
  max-height: 86vh;
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 10px;
  border: 1px solid var(--border-light);
  box-shadow: 0 20px 50px rgba(15, 23, 42, 0.2);
}
/* 往来单位弹窗：高度为原先约 2/3；宽度在右侧区内略窄（由遮罩 padding 约束为 100%） */
.sales-customer-dialog.partner-unit-dialog[data-v-fa1b2482] {
  width: min(1180px, 100%);
  height: min(calc((100vh - 32px) * 2 / 3), calc((100dvh - 32px) * 2 / 3), 600px);
  max-height: min(calc((100vh - 32px) * 2 / 3), calc((100dvh - 32px) * 2 / 3), 600px);
  overflow: hidden;
}
/* 表体在弹窗高度内滚动：每页 20 条时顶栏/底栏固定，中间表格区域滚动 */
.partner-unit-dialog .sales-customer-dialog-head[data-v-fa1b2482],
.partner-unit-dialog .sales-customer-dialog-foot[data-v-fa1b2482] {
  flex-shrink: 0;
}
.partner-unit-dialog .sales-customer-dialog-body[data-v-fa1b2482] {
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
  grid-template-columns: 200px minmax(0, 1fr);
  height: 0;
  /* grid 子项在 flex 里用 height:0 + flex-grow 占满剩余空间（常见 flex+grid 滚动套路） */
}
.partner-unit-dialog .sales-customer-dialog-tree[data-v-fa1b2482] {
  min-height: 0;
  overflow-y: auto;
  align-self: stretch;
}
.partner-unit-dialog .sales-customer-dialog-main[data-v-fa1b2482] {
  min-height: 0;
  min-width: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.partner-unit-dialog .sales-customer-dialog-toolbar[data-v-fa1b2482] {
  flex-shrink: 0;
}
.partner-unit-dialog .sales-customer-dialog-table-wrap[data-v-fa1b2482] {
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: auto;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}
.sales-customer-dialog-head[data-v-fa1b2482] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px;
  border-bottom: 1px solid var(--border-light);
}
.partner-unit-dialog-head[data-v-fa1b2482] {
  padding: 12px 14px;
  background: linear-gradient(180deg, #f8fcfd 0%, #f0f9fb 100%);
  border-bottom: 1px solid #e8f0f3;
}
.partner-unit-dialog-head strong[data-v-fa1b2482] {
  font-size: 16px;
  font-weight: 700;
  color: #0f172a;
}
.partner-unit-dialog-close[data-v-fa1b2482] {
  width: 32px;
  height: 32px;
  border: none;
  border-radius: 8px;
  background: #f1f5f9;
  color: #64748b;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  box-shadow: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.partner-unit-dialog-close[data-v-fa1b2482]:hover {
  background: #e2e8f0;
  color: #0f172a;
}
.sales-customer-dialog-body[data-v-fa1b2482] {
  display: grid;
  grid-template-columns: 200px 1fr;
  min-height: 420px;
}
.sales-customer-dialog-tree[data-v-fa1b2482] {
  border-right: 1px solid var(--border-light);
  padding: 10px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  background: var(--input-surface, #f7f9fb);
}
.sales-customer-dialog-tree-item[data-v-fa1b2482] {
  margin: 0;
  text-align: left;
  justify-content: flex-start;
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 14px;
  border: 1px solid #d5dde7;
  border-radius: 8px;
  background: #ffffff;
  color: #334155;
  font-size: 13px;
  line-height: 1.2;
  cursor: pointer;
  transition: background-color 0.16s ease, border-color 0.16s ease, color 0.16s ease;
}
.sales-customer-dialog-tree-item[data-v-fa1b2482]:hover {
  background: #f8fbfd;
  border-color: #bfd3df;
  color: #0f5b6a;
}
.sales-customer-dialog-tree-item--active[data-v-fa1b2482] {
  border-color: var(--sidebar-teal) !important;
  background: rgba(95, 184, 193, 0.2);
  color: #0a5f6e;
  font-weight: 600;
}
.sales-customer-dialog-main[data-v-fa1b2482] {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.sales-customer-dialog-toolbar[data-v-fa1b2482] {
  display: flex;
  gap: 8px;
  align-items: center;
  padding: 10px 12px;
  border-bottom: 1px solid var(--border-light);
}
.partner-unit-dialog-toolbar[data-v-fa1b2482] {
  flex-wrap: wrap;
  background: #fafbfc;
}
.sales-customer-dialog-toolbar input[data-v-fa1b2482] { flex: 1;
}
.partner-unit-dialog-search[data-v-fa1b2482] {
  flex: 1;
  min-width: 120px;
  height: 36px;
  margin: 0 !important;
  padding: 8px 10px !important;
  border-radius: 8px !important;
  border: 1px solid var(--input-border, #d5dde7) !important;
  background: #fff !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
  font-size: 13px;
  color: #111827;
}
.partner-unit-dialog-search[data-v-fa1b2482]::placeholder {
  color: #64748b;
}
.partner-unit-dialog-page-size[data-v-fa1b2482] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: #475569;
  margin: 0;
  white-space: nowrap;
}
.partner-unit-dialog-select[data-v-fa1b2482] {
  height: 36px;
  margin: 0 !important;
  padding: 6px 10px !important;
  border-radius: 8px !important;
  border: 1px solid var(--input-border, #d5dde7) !important;
  background: #fff !important;
  font-size: 13px;
  color: #111827;
  cursor: pointer;
}
/* 与 App.vue「保存收款单」同款（primary-action-btn--receipt）；scoped 父样式不作用于子组件，故在此完整书写 */
.partner-unit-add-btn[data-v-fa1b2482] {
  margin: 0;
  padding: 8px 12px;
  border-radius: 10px;
  cursor: pointer;
  font-weight: 600;
  font-size: 13px;
  line-height: 1.2;
  border: 1px solid color-mix(in srgb, #ea580c 42%, #fed7aa);
  background: #fff7ed;
  color: #c2410c;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.partner-unit-add-btn[data-v-fa1b2482]:hover {
  border-color: color-mix(in srgb, #ea580c 55%, #fdba74);
  background: #ffedd5;
  color: #9a3412;
  box-shadow: 0 2px 10px color-mix(in srgb, #ea580c 28%, transparent);
}
.partner-unit-dialog-add[data-v-fa1b2482] {
  margin-left: auto;
  flex-shrink: 0;
  white-space: nowrap;
}
.sales-customer-dialog-table-wrap[data-v-fa1b2482] { overflow: auto; padding: 0 10px;
}
.sales-customer-dialog-table thead th[data-v-fa1b2482] {
  position: sticky;
  top: 0;
  z-index: 2;
  background: var(--table-header-bg, #eef2f7);
  font-weight: 600;
  color: var(--table-header-text, #334155);
}
.partner-unit-dialog-col-check[data-v-fa1b2482] {
  width: 44px;
  text-align: center;
  vertical-align: middle;
}
.partner-unit-dialog-radio[data-v-fa1b2482] {
  width: 16px;
  height: 16px;
  margin: 0 !important;
  cursor: pointer;
  accent-color: var(--sidebar-teal, #5fb8c1);
}
/* 与销货单 · 商品档案弹窗按钮一致（SalesProductSelector） */
.sales-customer-row-select-btn[data-v-fa1b2482],
.sales-customer-foot-btn[data-v-fa1b2482] {
  min-height: 28px;
  padding: 0 9px;
  border: 1px solid #d8e9ed;
  border-radius: 8px;
  background: #f8fcfd;
  color: #6f8b92;
  font-size: 11px;
  font-weight: 500;
  cursor: pointer;
}
.sales-customer-foot-btn--primary[data-v-fa1b2482] {
  border-color: #d3e6eb;
  background: #f6fbfc;
  color: #64838b;
  font-weight: 600;
}
.sales-customer-dialog-row--active td[data-v-fa1b2482] {
  background: rgba(95, 184, 193, 0.14);
}
.sales-customer-dialog-foot[data-v-fa1b2482] {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  padding: 10px 12px;
  border-top: 1px solid var(--border-light);
}
.partner-unit-dialog-foot[data-v-fa1b2482] {
  align-items: center;
  flex-wrap: wrap;
  padding: 12px 14px;
  background: #fafbfc;
  border-top: 1px solid #e8f0f3;
  gap: 12px;
}
.partner-unit-dialog-foot-left[data-v-fa1b2482],
.partner-unit-dialog-foot-right[data-v-fa1b2482] {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}
.partner-unit-dialog-page-info[data-v-fa1b2482] {
  font-size: 13px;
  color: #64748b;
  padding: 0 4px;
}
.partner-unit-quick-table--wide[data-v-fa1b2482] {
  min-width: 520px;
}
.partner-unit-dialog-col-fold[data-v-fa1b2482] {
  width: 36px;
  text-align: center;
  vertical-align: middle;
}
.partner-unit-fold-btn[data-v-fa1b2482] {
  width: 28px;
  height: 28px;
  padding: 0;
  margin: 0;
  border: 1px solid #d8e9ed;
  border-radius: 6px;
  background: #f8fcfd;
  color: #4e7780;
  font-size: 11px;
  line-height: 1;
  cursor: pointer;
}
.partner-unit-fold-btn[data-v-fa1b2482]:hover {
  background: #eef8fa;
}
.partner-unit-fold-placeholder[data-v-fa1b2482] {
  display: inline-block;
  width: 28px;
}
.partner-unit-contact-more-hint[data-v-fa1b2482] {
  margin-left: 6px;
  font-size: 11px;
  color: #64748b;
}
.partner-unit-dialog-subrow td[data-v-fa1b2482] {
  background: #f8fafc;
  font-size: 12px;
  color: #475569;
}
.partner-unit-dialog-subindent[data-v-fa1b2482] {
  padding-left: 12px !important;
  color: #94a3b8 !important;
  font-size: 12px !important;
}

.hist-config-wrap[data-v-4fc94f4b] {
  min-width: 0;
}
.hist-config-wrap--body-scroll-fill[data-v-4fc94f4b] {
  display: flex;
  flex-direction: column;
  flex: 1 1 0%;
  min-height: 0;
  min-width: 0;
}
.hist-config-wrap--body-scroll-fill .hist-config-scroll-outer[data-v-4fc94f4b] {
  flex: 1 1 0%;
  min-height: 0;
  overflow-x: auto;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.hist-config-wrap--pinned-footer[data-v-4fc94f4b] {
  display: flex;
  flex-direction: column;
  flex: 1 1 0%;
  min-height: 0;
  min-width: 0;
}
.hist-config-wrap--pinned-footer .hist-config-scroll-outer--body[data-v-4fc94f4b] {
  flex: 1 1 0%;
  min-height: 0;
  overflow-x: auto;
  overflow-y: auto;
}
.hist-config-foot-bar[data-v-4fc94f4b] {
  flex-shrink: 0;
  border-top: 1px solid color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 22%, #e2e8f0);
  box-shadow: 0 -4px 12px rgba(15, 23, 42, 0.06);
  background: linear-gradient(180deg, #f8fbfc 0%, #f0f7f8 100%);
}
.hist-config-scroll-outer--foot[data-v-4fc94f4b] {
  overflow-x: auto;
  overflow-y: hidden;
  max-width: 100%;
  min-width: 0;
  scrollbar-gutter: stable;
}
.hist-config-table--footer[data-v-4fc94f4b] {
  margin-bottom: 0;
}
/* 历史/可配置列表：表宽按列宽之和伸展，外层横向滚动（与制单明细 .sales-order-lines-table-scroll 一致） */
.hist-config-scroll-outer[data-v-4fc94f4b] {
  overflow-x: auto;
  overflow-y: visible;
  max-width: 100%;
  min-width: 0;
  scrollbar-gutter: stable;
  -webkit-overflow-scrolling: touch;
}
.hist-config-table[data-v-4fc94f4b] {
  table-layout: fixed;
  width: max-content;
  min-width: 100%;
  max-width: none;
}
.hist-config-th[data-v-4fc94f4b] {
  vertical-align: middle;
  /* 纵向滚动时列头吸顶；sticky 元素仍可作为 resize 手柄的定位包含块 */
  position: sticky;
  top: 0;
  z-index: 3;
  overflow: visible;
  background: linear-gradient(180deg, #f8fbfc 0%, #f0f7f8 100%);
}
.hist-config-th.product-sticky-left[data-v-4fc94f4b],
.hist-config-th.product-sticky-action[data-v-4fc94f4b] {
  top: 0;
  z-index: 5;
}
.hist-config-th.hist-sticky-left-edge[data-v-4fc94f4b] {
  z-index: 6;
  box-shadow: 4px 0 10px rgba(15, 23, 42, 0.1);
}
.hist-config-table tbody td.hist-sticky-left-edge.product-sticky-left[data-v-4fc94f4b],
.hist-config-table tfoot td.hist-sticky-left-edge.product-sticky-left[data-v-4fc94f4b] {
  z-index: 3;
  box-shadow: 4px 0 10px rgba(15, 23, 42, 0.1);
}
.hist-th-inner[data-v-4fc94f4b] {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  max-width: 100%;
  min-width: 0;
  vertical-align: middle;
}
.hist-th-label[data-v-4fc94f4b] {
  display: inline-block;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hist-th-label[draggable='true'][data-v-4fc94f4b] {
  cursor: grab;
  user-select: none;
  -webkit-user-drag: element;
  touch-action: none;
}
.hist-th-label[draggable='true'][data-v-4fc94f4b]:active {
  cursor: grabbing;
}
.hist-col-drag-grip[data-v-4fc94f4b] {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 10px;
  min-width: 10px;
  height: 14px;
  margin-right: 1px;
  color: #94a3b8;
  font-size: 10px;
  line-height: 1;
  cursor: grab;
  user-select: none;
  touch-action: none;
}
.hist-col-drag-grip[data-v-4fc94f4b]::before {
  content: '⋮';
  letter-spacing: -1px;
}
.hist-col-drag-grip[data-v-4fc94f4b]:active {
  cursor: grabbing;
}
.hist-config-th--has-drag-grip .hist-th-inner[data-v-4fc94f4b] {
  width: 100%;
}
.hist-col-resize-grip[data-v-4fc94f4b] {
  position: absolute;
  top: 0;
  right: 0;
  width: 8px;
  height: 100%;
  cursor: col-resize;
  z-index: 6;
  background: transparent;
  touch-action: none;
}
.hist-col-resize-grip[data-v-4fc94f4b]:hover {
  background: var(--hist-col-resize-grip-hover-bg);
}
.hist-config-tfoot td[data-v-4fc94f4b] {
  font-size: 13px;
  font-weight: 600;
  padding-top: 10px;
  padding-bottom: 10px;
  border-top: 1px solid color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 20%, #e2e8f0);
  background: linear-gradient(180deg, #f8fbfc 0%, #f0f7f8 100%);
  color: #0f172a;
}
.hist-config-tfoot td[data-v-4fc94f4b]:first-child {
  color: #0a5f6e;
}

.sales-product-cell[data-v-63ea27b1] {
  position: relative;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
.sales-product-quick-panel--wide[data-v-63ea27b1] { min-width: 1056px;
}
.sales-warehouse-hint[data-v-63ea27b1] {
  margin-left: 10px;
  font-size: 13px;
  font-weight: 500;
  color: #64748b;
}
.sales-stock-detail-cell[data-v-63ea27b1] {
  font-size: 11px;
  line-height: 1.35;
  white-space: normal;
  max-width: 260px;
  vertical-align: top;
}
.sales-customer-input-wrap[data-v-63ea27b1] {
  position: relative;
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
.sales-customer-input-wrap input[data-v-63ea27b1] {
  width: 100%;
  min-width: 0;
  padding: 8px 10px;
  padding-right: 40px;
  height: 36px;
  box-sizing: border-box;
  margin-bottom: 0;
  border-radius: 8px;
  border: 1px solid var(--border-light, #e2e8f0);
  background: #fff;
  color: var(--text-on-light, #0f172a);
}
.sales-customer-input-wrap input[data-v-63ea27b1]::placeholder { color: var(--text-muted-light, #64748b);
}
.sales-customer-more[data-v-63ea27b1] {
  position: absolute;
  right: 4px;
  top: 50%;
  transform: translateY(-50%);
  width: 30px;
  height: 30px;
  min-width: 30px;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  color: #6b8592;
  line-height: 1;
}
.sales-customer-quick-panel[data-v-63ea27b1] {
  background: #fff;
  border: 1px solid var(--border-light);
  border-radius: 8px;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.14);
  max-height: min(300px, calc(100vh - 24px));
  overflow: auto;
  box-sizing: border-box;
}
.sales-customer-quick-panel--teleported[data-v-63ea27b1] { min-width: 624px;
}
.sales-customer-quick-panel--teleported.sales-product-quick-panel--wide[data-v-63ea27b1] { min-width: 1056px;
}
.sales-customer-empty[data-v-63ea27b1] { padding: 14px; display: flex; justify-content: space-between; align-items: center; gap: 10px;
}
.sales-customer-quick-table[data-v-63ea27b1] { width: 100%; border-collapse: collapse; font-size: 12px;
}
.sales-customer-quick-table th[data-v-63ea27b1], .sales-customer-quick-table td[data-v-63ea27b1] { border-bottom: 1px solid var(--border-light); padding: 8px; text-align: left; white-space: nowrap;
}
.sales-customer-quick-table tbody tr[data-v-63ea27b1] { cursor: pointer;
}
.sales-customer-quick-table .td-col-remark[data-v-63ea27b1] {
  max-width: 180px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sales-customer-quick-table tbody tr[data-v-63ea27b1]:hover { background: #f8fbfd;
}
.sales-customer-dialog-mask[data-v-63ea27b1] {
  position: fixed;
  inset: 0;
  background: rgba(2, 8, 23, 0.28);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 90;
}
.sales-customer-dialog-mask.partner-unit-dialog-mask[data-v-63ea27b1] {
  z-index: 14000;
  background: rgba(15, 23, 42, 0.35);
  box-sizing: border-box;
  inset: unset;
  position: fixed;
  top: 8px;
  bottom: 0;
  --partner-shell-outer: min(1760px, calc(100vw - 20px));
  --partner-pad-x: 10px;
  --partner-sidebar-w: 220px;
  --partner-shell-gap: 14px;
  left: calc((100vw - var(--partner-shell-outer)) / 2 + var(--partner-pad-x) + var(--partner-sidebar-w) + var(--partner-shell-gap));
  width: calc(var(--partner-shell-outer) - 2 * var(--partner-pad-x) - var(--partner-sidebar-w) - var(--partner-shell-gap));
  max-width: 100vw;
  padding: 12px 18px 20px;
  overflow-y: auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
.sales-customer-dialog.partner-unit-dialog[data-v-63ea27b1] {
  width: min(1416px, 100%);
  height: min(calc((100vh - 32px) * 2 / 3), calc((100dvh - 32px) * 2 / 3), 600px);
  max-height: min(calc((100vh - 32px) * 2 / 3), calc((100dvh - 32px) * 2 / 3), 600px);
  display: flex;
  flex-direction: column;
  background: #fbfeff;
  border-radius: 16px;
  border: 1px solid #e6f1f4;
  box-shadow: 0 8px 22px rgba(32, 84, 104, 0.045);
  overflow: hidden;
}
.sales-customer-dialog-title-wrap[data-v-63ea27b1] {
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.product-dialog-head[data-v-63ea27b1] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 14px;
  border-bottom: 1px solid #e8f0f3;
  background: linear-gradient(180deg, #f8fcfd 0%, #f0f9fb 100%);
}
.product-dialog-head strong[data-v-63ea27b1] {
  font-size: 16px;
  font-weight: 700;
  color: #0f172a;
}
.sales-customer-dialog-head-actions[data-v-63ea27b1] { display: flex; align-items: center; gap: 8px;
}
.product-dialog-add-btn[data-v-63ea27b1] {
  margin: 0;
  padding: 8px 12px;
  border-radius: 10px;
  cursor: pointer;
  font-weight: 600;
  font-size: 13px;
  line-height: 1.2;
  border: 1px solid color-mix(in srgb, #ea580c 42%, #fed7aa);
  background: #fff7ed;
  color: #c2410c;
  box-shadow: none;
}
.product-dialog-add-btn[data-v-63ea27b1]:hover {
  border-color: color-mix(in srgb, #ea580c 55%, #fdba74);
  background: #ffedd5;
  color: #9a3412;
  box-shadow: 0 2px 10px color-mix(in srgb, #ea580c 28%, transparent);
}
.sales-customer-dialog-close-btn[data-v-63ea27b1] {
  width: 32px;
  height: 32px;
  min-width: 32px;
  border: none;
  border-radius: 8px;
  background: #f1f5f9;
  color: #64748b;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.sales-customer-dialog-close-btn[data-v-63ea27b1]:hover {
  background: #e2e8f0;
  color: #0f172a;
}
.sales-customer-dialog-body[data-v-63ea27b1] {
  display: grid;
  grid-template-columns: 268px 1fr;
  min-height: 420px;
  flex: 1 1 auto;
  overflow: hidden;
  height: 0;
}
.sales-customer-dialog-tree.pcf-simple-tree[data-v-63ea27b1] {
  min-height: 0;
  border-right: 1px solid color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 22%, var(--border-light));
  background: #fff;
}
.sales-customer-dialog-main[data-v-63ea27b1] {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}
.product-dialog-toolbar[data-v-63ea27b1] {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
  padding: 10px 12px;
  border-bottom: 1px solid var(--border-light);
  background: #fafbfc;
  flex-shrink: 0;
}
.sales-customer-dialog-toolbar input[data-v-63ea27b1] {
  flex: 1;
  min-width: 120px;
  height: 36px;
  margin: 0 !important;
  padding: 8px 10px !important;
  border-radius: 8px !important;
  border: 1px solid var(--input-border, #d5dde7) !important;
  background: #fff !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
  font-size: 13px;
  color: #111827;
}
.product-dialog-search[data-v-63ea27b1] {
  flex: 1.4;
  min-width: 220px;
}
.product-dialog-page-size[data-v-63ea27b1] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: #475569;
  margin: 0;
  white-space: nowrap;
}
.sales-customer-dialog-toolbar label[data-v-63ea27b1] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  white-space: nowrap;
  font-size: 12px;
  color: #475569;
}
.sales-customer-dialog-toolbar select[data-v-63ea27b1] {
  height: 36px;
  margin: 0 !important;
  padding: 6px 10px !important;
  border-radius: 8px !important;
  border: 1px solid var(--input-border, #d5dde7) !important;
  background: #fff !important;
  font-size: 13px;
  color: #111827;
  cursor: pointer;
}
.sales-customer-dialog-toolbar-create[data-v-63ea27b1] {
  margin-left: auto;
  white-space: nowrap;
}
.product-dialog-add[data-v-63ea27b1] {
  margin-left: auto;
  flex-shrink: 0;
  white-space: nowrap;
}
.sales-customer-dialog-table-wrap[data-v-63ea27b1] {
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  padding: 0 10px 8px;
}
.product-dialog-hist-wrap[data-v-63ea27b1] .hist-config-wrap {
  flex: 1 1 auto;
  min-height: 0;
}
.product-dialog-hist-wrap[data-v-63ea27b1] td.product-picker-cell-wrap {
  white-space: normal !important;
  word-break: break-word;
  overflow-wrap: anywhere;
  line-height: 1.4;
  vertical-align: middle;
}
.product-dialog-hist-wrap[data-v-63ea27b1] .sales-customer-dialog-table tbody tr:nth-child(even):not(.sales-customer-dialog-row--active) td {
  background: #fdfefe;
}
.product-dialog-hist-wrap[data-v-63ea27b1] .sales-customer-dialog-table tbody td {
  font-size: 12px;
}
.sales-customer-dialog-row--active td[data-v-63ea27b1] {
  background: rgba(95, 184, 193, 0.14);
}
.sales-customer-dialog-empty[data-v-63ea27b1] {
  text-align: center;
  color: #7a9197;
  padding: 18px 8px;
}
.product-dialog-foot[data-v-63ea27b1] {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border-top: 1px solid #e8f0f3;
  background: #fafbfc;
  align-items: center;
  flex-wrap: wrap;
}
.sales-customer-dialog-foot-left[data-v-63ea27b1],
.sales-customer-dialog-foot-right[data-v-63ea27b1] {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}
.product-dialog-page-info[data-v-63ea27b1] {
  font-size: 13px;
  color: #64748b;
  padding: 0 4px;
}
.sales-customer-row-select-btn[data-v-63ea27b1],
.sales-customer-foot-btn[data-v-63ea27b1] {
  min-height: 28px;
  padding: 0 9px;
  border: 1px solid #d8e9ed;
  border-radius: 8px;
  background: #f8fcfd;
  color: #6f8b92;
  font-size: 11px;
  font-weight: 500;
  cursor: pointer;
}
.sales-customer-foot-btn--primary[data-v-63ea27b1] {
  border-color: #d3e6eb;
  background: #f6fbfc;
  color: #64838b;
  font-weight: 600;
}

/* 底部「取消 / 确定」与工具栏「新增商品」同档尺寸（不影响左侧分页与表格「选择」） */
.sales-customer-dialog-foot-right .sales-customer-foot-btn[data-v-63ea27b1] {
  min-height: unset;
  padding: 8px 12px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
}
.product-dialog-hist-wrap[data-v-63ea27b1] .product-dialog-th-check,
.product-dialog-hist-wrap[data-v-63ea27b1] .product-dialog-td-check {
  text-align: center;
  vertical-align: middle;
}
.product-dialog-hist-wrap[data-v-63ea27b1] .product-dialog-th-seq,
.product-dialog-hist-wrap[data-v-63ea27b1] .product-dialog-td-seq {
  text-align: center;
}
@media (max-width: 960px) {
.sales-customer-dialog-mask.partner-unit-dialog-mask[data-v-63ea27b1] {
    left: 0;
    width: 100%;
    max-width: none;
    top: 0;
    padding: 12px;
}
.product-dialog[data-v-63ea27b1] {
    width: min(1416px, 100%);
    height: min(calc((100vh - 24px) * 2 / 3), calc((100dvh - 24px) * 2 / 3), 560px);
    max-height: min(calc((100vh - 24px) * 2 / 3), calc((100dvh - 24px) * 2 / 3), 560px);
}
}
body:has(.app-shell--embed) .sales-customer-dialog-mask.partner-unit-dialog-mask[data-v-63ea27b1] {
  left: 0;
  width: 100%;
  max-width: none;
  top: 0;
  padding: 12px;
}

.doc-custom-item-ref-select[data-v-e8cf8b92] {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.doc-custom-item-attachment[data-v-1d1fa1d3] {
  display: flex;
  flex-direction: column;
  min-width: 0;
  grid-column: 1 / -1;
}
.doc-custom-item-attachment-row[data-v-1d1fa1d3] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  min-height: 36px;
}
.doc-custom-item-attachment-name[data-v-1d1fa1d3] {
  font-size: 13px;
  color: #334155;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.doc-custom-item-field[data-v-12cec433] {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.doc-custom-item-field--full[data-v-12cec433] {
  grid-column: 1 / -1;
}
.doc-custom-item-tag[data-v-12cec433] {
  margin-left: 6px;
  font-size: 11px;
  color: #64748b;
}
.doc-custom-item-radio-group[data-v-12cec433] {
  display: inline-flex;
  gap: 12px;
  align-items: center;
  min-height: 36px;
}
.doc-custom-item-radio[data-v-12cec433] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-weight: normal;
}
.doc-custom-item-multi-enum[data-v-12cec433] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  min-height: 36px;
  align-items: center;
  padding: 4px 0;
}
.doc-custom-item-multi-option[data-v-12cec433] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-weight: normal;
  font-size: 13px;
}
.doc-custom-item-multi-hint[data-v-12cec433] {
  margin: 0;
  font-size: 12px;
  color: #64748b;
}

.product-archive-template-grid[data-v-39664762] {
  margin-bottom: 0;
}

/* 标签 + 输入框统一结构，保证三列控件顶对齐、同高 */
.product-archive-template-grid > label[data-v-39664762]:not(.archive-template-checkbox-field),
.product-archive-template-grid[data-v-39664762] .tax-classification-sheet-root label {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  margin: 0;
  align-self: stretch;
}
.product-archive-template-grid > label:not(.archive-template-checkbox-field) > span[data-v-39664762]:first-child,
.product-archive-template-grid[data-v-39664762] .tax-classification-sheet-root label > span:first-child {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  line-height: 20px;
  margin-bottom: 0;
}
.product-archive-template-grid > label:not(.archive-template-checkbox-field) > input[data-v-39664762]:not([type='checkbox']):not([type='radio']),
.product-archive-template-grid > label:not(.archive-template-checkbox-field) .sales-customer-input-wrap > input[data-v-39664762],
.product-archive-template-grid[data-v-39664762] .tax-classification-sheet-root label > input,
.product-archive-template-grid[data-v-39664762] .tax-classification-sheet-root label .sales-customer-input-wrap > input {
  width: 100%;
  height: var(--doc-header-control-height, 36px);
  min-height: var(--doc-header-control-height, 36px);
  box-sizing: border-box;
  margin: 0;
}
.product-archive-template-grid > label:not(.archive-template-checkbox-field) .sales-customer-input-wrap[data-v-39664762],
.product-archive-template-grid[data-v-39664762] .tax-classification-sheet-root label .sales-customer-input-wrap {
  display: block;
  width: 100%;
}
.product-archive-template-grid > label.archive-template-checkbox-field[data-v-39664762] {
  flex-direction: row !important;
  align-items: center;
  align-self: center;
  gap: 6px;
  font-size: 13px;
  color: #334155;
}
.product-archive-template-grid > label.archive-template-checkbox-field input[type='checkbox'][data-v-39664762] {
  width: 16px;
  height: 16px;
  margin: 0;
  accent-color: var(--sidebar-teal, #5fb8c1);
}
.archive-template-checkbox-field[data-v-39664762] {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 6px;
  font-weight: normal;
  align-self: center;
}
.product-batch-serial-field-row[data-v-39664762] {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px 24px;
  align-self: center;
  min-height: var(--doc-header-control-height, 36px);
}
.product-batch-serial-check[data-v-39664762] {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 6px;
  margin: 0;
  font-weight: normal;
  font-size: 13px;
  color: #334155;
  cursor: pointer;
  user-select: none;
}
.product-batch-serial-check input[type='checkbox'][data-v-39664762] {
  width: 16px;
  height: 16px;
  margin: 0;
  accent-color: var(--sidebar-teal, #5fb8c1);
  cursor: pointer;
}
.product-batch-serial-check span[data-v-39664762] {
  line-height: 1.4;
}
.product-usage-field-row[data-v-39664762] {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px 16px;
  padding: 4px 0 8px;
  min-height: 36px;
}
.product-usage-field-row__label[data-v-39664762] {
  flex-shrink: 0;
  font-size: 13px;
  color: #334155;
  line-height: 1.4;
}
.product-usage-field-row__checks[data-v-39664762] {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px 20px;
  flex: 1 1 auto;
  min-width: 0;
}
.product-usage-check[data-v-39664762] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  font-weight: normal;
  font-size: 13px;
  color: #334155;
  cursor: pointer;
  user-select: none;
}
.product-usage-check input[type='checkbox'][data-v-39664762] {
  width: 16px;
  height: 16px;
  margin: 0;
  accent-color: var(--sidebar-teal, #5fb8c1);
  cursor: pointer;
}
.product-usage-check span[data-v-39664762] {
  line-height: 1.4;
}
.product-usage-field-row__help[data-v-39664762] {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  padding: 0;
  border: 1px solid #cbd5e1;
  border-radius: 50%;
  background: #f8fafc;
  color: #64748b;
  font-size: 12px;
  line-height: 1;
  cursor: help;
}
.product-usage-field-row__help[data-v-39664762]:hover {
  border-color: var(--sidebar-teal, #5fb8c1);
  color: var(--ui-accent-ink, #0a5f6e);
}

.product-archive-price-table-wrap[data-v-48cbed6c] {
  margin-top: 8px;
  min-width: 0;
}
.product-archive-price-denied[data-v-48cbed6c] {
  margin: 8px 0 0;
  padding: 12px 14px;
  border-radius: 8px;
  background: #f1f3f4;
  color: #5f6368;
  font-size: 13px;
}
.product-archive-price-header-label[data-v-48cbed6c] {
  display: block;
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  cursor: text;
  user-select: none;
}
.product-archive-price-header-label--ro[data-v-48cbed6c] {
  cursor: default;
  color: #80868b;
}
.product-archive-price-header-input[data-v-48cbed6c] {
  width: 100%;
  min-width: 0;
  height: 24px;
  margin: 0;
  padding: 0 6px;
  border: 1px solid color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 42%, #cbd5e1);
  border-radius: 4px;
  background: #fff;
  font-size: 12px;
  font-weight: 600;
  color: #0f172a;
  box-sizing: border-box;
}
.product-archive-price-cell-input[data-v-48cbed6c] {
  width: 100%;
  min-width: 0;
  height: var(--doc-header-control-height, 36px);
  margin: 0;
  padding: 0 10px;
  border: 1px solid #d5dde7;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  font-size: var(--doc-header-control-font-size, 13px);
  box-sizing: border-box;
}
.product-archive-price-cell-input--ro[data-v-48cbed6c] {
  background: #f1f3f4;
  color: #5f6368;
  cursor: not-allowed;
  box-shadow: none;
}

.partner-unit-template-grid[data-v-1345722d] {
  margin-bottom: 8px;
}

.partner-invoice-info-panel[data-v-f4dccd4c] {
  margin: 0 0 4px;
  padding: 10px 12px;
  border: 1px solid var(--border-color, #e2e8f0);
  border-radius: 6px;
  background: var(--surface-muted, #f8fafc);
}
.partner-invoice-info-panel__head[data-v-f4dccd4c] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 6px;
}
.partner-invoice-info-panel__title[data-v-f4dccd4c] {
  margin: 0;
}
.partner-invoice-info-panel__hint[data-v-f4dccd4c] {
  margin: 0 0 10px;
}
.partner-invoice-info-panel__grid[data-v-f4dccd4c] {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px 12px;
  align-items: end;
}
.partner-invoice-info-panel__cell[data-v-f4dccd4c] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.partner-invoice-info-panel__cell input[data-v-f4dccd4c] {
  width: 100%;
}
@media (max-width: 720px) {
.partner-invoice-info-panel__grid[data-v-f4dccd4c] {
    grid-template-columns: 1fr;
}
}

.partner-storefront-gallery__hint[data-v-f5616c59] {
  margin: 0 0 10px;
}
.partner-storefront-gallery__toolbar[data-v-f5616c59] {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin-bottom: 12px;
}
.partner-storefront-gallery__grid[data-v-f5616c59] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(148px, 1fr));
  gap: 12px;
}
.partner-storefront-gallery__card[data-v-f5616c59] {
  border: 1px solid var(--border-light, #e2e8f0);
  border-radius: 8px;
  background: var(--surface-muted, #f8fafc);
  padding: 8px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}
.partner-storefront-gallery__card--pending[data-v-f5616c59] {
  border-style: dashed;
}
.partner-storefront-gallery__thumb[data-v-f5616c59] {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  border: 0;
  padding: 0;
  border-radius: 6px;
  overflow: hidden;
  background: #e2e8f0;
  cursor: pointer;
}
.partner-storefront-gallery__thumb img[data-v-f5616c59] {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.partner-storefront-gallery__placeholder[data-v-f5616c59] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  color: #64748b;
  font-size: 13px;
}
.partner-storefront-gallery__name[data-v-f5616c59] {
  font-size: 12px;
  color: #334155;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.partner-storefront-gallery__name em[data-v-f5616c59] {
  font-style: normal;
  color: #b45309;
  margin-left: 4px;
}
.partner-storefront-gallery__actions[data-v-f5616c59] {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.partner-storefront-gallery__empty[data-v-f5616c59] {
  margin: 0;
  color: #64748b;
  font-size: 13px;
}
.partner-storefront-gallery__pick[data-v-f5616c59] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid color-mix(in srgb, var(--ui-accent) 52%, var(--border-light, #e2e8f0));
  background: var(--ui-accent-soft, #e8f4fc);
  color: var(--ui-accent-ink, #0f4c5c);
  border-radius: 8px;
  padding: 6px 14px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  margin: 0;
}
.partner-storefront-gallery__pick input[data-v-f5616c59] {
  display: none;
}
.partner-storefront-gallery__btn[data-v-f5616c59] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 26px;
  padding: 3px 10px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 500;
  color: #475569;
  background: #fff;
  border: 1px solid #e2e8f0;
  cursor: pointer;
}
.partner-storefront-gallery__btn--danger[data-v-f5616c59] {
  color: #b91c1c;
  background: #fef2f2;
  border-color: #fecaca;
}
.partner-sf-preview-overlay[data-v-f5616c59] {
  position: fixed;
  inset: 0;
  z-index: 10050;
  background: rgba(0, 0, 0, 0.55);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.partner-sf-preview-dialog[data-v-f5616c59] {
  background: #fff;
  border-radius: 8px;
  max-width: min(96vw, 960px);
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
}
.partner-sf-preview-head[data-v-f5616c59] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 16px;
  border-bottom: 1px solid #e8eaed;
}
.partner-sf-preview-head h4[data-v-f5616c59] {
  margin: 0;
  font-size: 14px;
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
  min-width: 0;
}
.partner-sf-preview-close[data-v-f5616c59] {
  border: none;
  background: transparent;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  color: #5f6368;
}
.partner-sf-preview-body[data-v-f5616c59] {
  padding: 16px;
  overflow: auto;
  background: #f8f9fa;
}
.partner-sf-preview-image[data-v-f5616c59] {
  display: block;
  max-width: 100%;
  max-height: 70vh;
  margin: 0 auto;
}

.document-attachments-panel__hint[data-v-c77eb833] {
  margin: 0 0 8px;
  font-size: 12px;
  color: #64748b;
}
.document-attachments-panel__extra[data-v-c77eb833] {
  margin: 0 0 10px;
}
.ic-detail-attach-toolbar[data-v-c77eb833] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: 0 0 12px;
}
.ic-detail-attach-upload[data-v-c77eb833] {
  cursor: pointer;
  margin: 0;
}
.ic-detail-attach-upload.is-disabled[data-v-c77eb833] {
  opacity: 0.5;
  pointer-events: none;
  cursor: not-allowed;
}
.ic-detail-attach-upload .product-file-input[data-v-c77eb833] {
  display: none;
}
.ic-sourcing-cell[data-v-c77eb833] {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 6px;
  min-width: 0;
}
.ic-sourcing-maintain-btn[data-v-c77eb833] {
  flex: 0 0 auto;
  margin: 0 !important;
  padding: 0 6px !important;
  min-height: 22px;
  border: 1px solid #f6ad55 !important;
  border-radius: 4px !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  color: #f6ad55 !important;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.25;
  white-space: nowrap;
  cursor: pointer;
}
.ic-sourcing-maintain-btn[data-v-c77eb833]:hover:not(:disabled) {
  color: #ed8936 !important;
  border-color: #ed8936 !important;
  background: transparent !important;
}
.ic-sourcing-maintain-btn[data-v-c77eb833]:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.document-attachments-panel .ic-detail-attach-upload.doc-toolbar-btn--primary {
  color: #fff;
  font-weight: 600;
  border-color: color-mix(in srgb, var(--sidebar-teal) 58%, #0a5f6e);
  background: var(--sidebar-teal);
  box-shadow: 0 2px 10px color-mix(in srgb, var(--sidebar-teal) 35%, transparent);
}
.ic-attach-name-cell {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.ic-attach-thumb-btn {
  flex-shrink: 0;
  padding: 0;
  border: 1px solid #dadce0;
  border-radius: 4px;
  background: #f8f9fa;
  cursor: pointer;
  width: 40px;
  height: 40px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ic-attach-thumb-btn:hover:not(:disabled) {
  border-color: #ed8936;
}
.ic-attach-thumb-btn:disabled {
  cursor: default;
  opacity: 0.7;
}
.ic-attach-thumb-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.ic-attach-thumb-placeholder {
  font-size: 12px;
  color: #5f6368;
}
.ic-attach-preview-overlay {
  position: fixed;
  inset: 0;
  z-index: 10050;
  background: rgba(0, 0, 0, 0.55);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.ic-attach-preview-dialog {
  background: #fff;
  border-radius: 8px;
  max-width: min(96vw, 960px);
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
}
.ic-attach-preview-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 16px;
  border-bottom: 1px solid #e8eaed;
}
.ic-attach-preview-head h4 {
  margin: 0;
  font-size: 14px;
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
  min-width: 0;
}
.ic-attach-preview-close {
  border: none;
  background: transparent;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  color: #5f6368;
}
.ic-attach-preview-close:hover {
  color: #1f2937;
}
.ic-attach-preview-body {
  padding: 16px;
  overflow: auto;
  background: #f8f9fa;
}
.ic-attach-preview-image {
  display: block;
  max-width: 100%;
  max-height: calc(90vh - 88px);
  margin: 0 auto;
}

.history-page-viewport[data-v-4ff62dd2] {
  min-width: 0;
  min-height: 0;
}

.stat-ledger-page-stack[data-v-35fe0a57] {
  display: flex;
  flex-direction: column;
  min-height: 0;
  min-width: 0;
  max-width: 100%;
  flex: 1 1 0%;
}
.stat-ledger-page-stack__after[data-v-35fe0a57] {
  flex-shrink: 0;
  padding: 0 10px 10px;
  min-width: 0;
}
.stat-ledger-page-stack__toolbar[data-v-35fe0a57] .history-toolbar {
  flex-shrink: 0;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
  padding: 10px 12px;
  margin: 0 0 2px !important;
  justify-content: flex-end;
  border-radius: 10px;
  border: 1px solid color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 16%, #e2e8f0);
  background: #fff;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  gap: 10px 12px;
}
.stat-ledger-page-stack__toolbar[data-v-35fe0a57] .history-toolbar .module-desc {
  color: #546e7a;
  line-height: 1.45;
  max-width: min(720px, 100%);
}
.stat-ledger-page-stack__body[data-v-35fe0a57] {
  flex: 1 1 0%;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
  padding: 0 10px 12px;
  display: flex;
  flex-direction: column;
}
.stat-ledger-list-shell[data-v-35fe0a57] {
  flex: 1 1 0%;
  display: flex;
  flex-direction: column;
  border-radius: 12px;
  border: 1px solid color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 14%, #e2e8f0);
  background: var(--content-surface, #ffffff);
  box-shadow:
    0 1px 3px rgba(15, 23, 42, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 0.75);
  padding: 0;
  overflow: hidden;
}
.stat-ledger-single-slot[data-v-35fe0a57] {
  flex: 1 1 0%;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.stat-ledger-single-slot[data-v-35fe0a57] >  .hist-config-wrap {
  flex: 1 1 0%;
  min-height: 0;
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
}
.stat-ledger-single-slot[data-v-35fe0a57] >  .hist-config-wrap--pinned-footer {
  flex: 1 1 0%;
  min-height: 0;
  min-width: 0;
  width: 100%;
}
/* HistoryConfigurableTable：表体在壳内纵向滚动 */
.stat-ledger-single-slot[data-v-35fe0a57] >  .hist-config-wrap:not(.hist-config-wrap--pinned-footer) .hist-config-scroll-outer:not(.hist-config-scroll-outer--head):not(.hist-config-scroll-outer--foot) {
  flex: 1 1 0%;
  min-height: 0;
  overflow-x: auto;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.stat-ledger-single-slot[data-v-35fe0a57] >  .hist-config-wrap--pinned-header .hist-config-scroll-outer--body,
.stat-ledger-single-slot[data-v-35fe0a57] >  .hist-config-wrap--pinned-footer .hist-config-scroll-outer--body {
  flex: 1 1 0%;
  min-height: 0;
  overflow-x: auto;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.stat-ledger-single-slot[data-v-35fe0a57] >  .purchase-pagination-lite {
  flex-shrink: 0;
  margin-top: 8px;
}
.stat-ledger-list-shell[data-v-35fe0a57] .sfl-pinned-x {
  border-radius: 0 0 11px 11px;
}
.stat-ledger-list-shell[data-v-35fe0a57] .sfl-scroll-box {
  scrollbar-width: thin;
  scrollbar-color: color-mix(in srgb, var(--sidebar-teal) 40%, #94a3b8) transparent;
}
.stat-ledger-list-shell[data-v-35fe0a57] .sfl-scroll-box::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
.stat-ledger-list-shell[data-v-35fe0a57] .sfl-scroll-box::-webkit-scrollbar-thumb {
  background: color-mix(in srgb, var(--sidebar-teal) 35%, #cbd5e1);
  border-radius: 8px;
}
.stat-ledger-list-shell[data-v-35fe0a57] .sfl-scroll-box::-webkit-scrollbar-track {
  background: rgba(248, 250, 252, 0.9);
}
.stat-ledger-list-shell[data-v-35fe0a57] .stock-flow-ledger-table tbody tr:nth-child(even) td {
  background: rgba(248, 252, 253, 0.65);
}
.stat-ledger-list-shell[data-v-35fe0a57] .stock-flow-ledger-table tbody tr.sfl-state-row td {
  background: linear-gradient(180deg, #fafcfd 0%, #f4f9fa 100%);
}
.stat-ledger-list-shell[data-v-35fe0a57] .stock-flow-ledger-table tbody tr.sfl-state-row:hover td {
  background: color-mix(in srgb, var(--sidebar-teal) 5%, #f4f9fa) !important;
}
.stat-ledger-list-shell[data-v-35fe0a57] .stock-flow-ledger-table tbody tr:hover td {
  background: color-mix(in srgb, var(--sidebar-teal) 8%, #ffffff) !important;
}
.stat-ledger-list-shell[data-v-35fe0a57] .stock-flow-ledger-table tbody tr:hover td.product-table-empty {
  background: color-mix(in srgb, var(--sidebar-teal) 4%, #f8fafc) !important;
}
.stat-ledger-list-shell[data-v-35fe0a57] .sfl-doc-no-link {
  margin: 0;
  padding: 0;
}
.stat-ledger-list-shell[data-v-35fe0a57] .sfl-doc-no-link:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--sidebar-teal) 55%, #2563eb);
  outline-offset: 1px;
}
.stat-ledger-list-shell[data-v-35fe0a57] .sfl-pinned-foot {
  border-top: 1px solid color-mix(in srgb, var(--sidebar-teal) 22%, #e2e8f0);
  box-shadow: 0 -6px 16px rgba(15, 23, 42, 0.07);
}
.stat-ledger-list-shell[data-v-35fe0a57] .stock-flow-ledger-tfoot td {
  font-size: 13px;
  padding-top: 10px;
  padding-bottom: 10px;
  border-top: 1px solid color-mix(in srgb, var(--sidebar-teal) 20%, #e2e8f0);
  background: linear-gradient(180deg, #f8fbfc 0%, #f0f7f8 100%);
  color: #0f172a;
}
.stat-ledger-list-shell[data-v-35fe0a57] .sfl-tfoot-label {
  color: #0a5f6e;
  font-size: 13px;
}
.stat-ledger-list-shell[data-v-35fe0a57] .hist-config-tfoot td {
  font-size: 13px;
  font-weight: 600;
  padding-top: 10px;
  padding-bottom: 10px;
  border-top: 1px solid color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 20%, #e2e8f0);
  background: linear-gradient(180deg, #f8fbfc 0%, #f0f7f8 100%);
  color: #0f172a;
}
.stat-ledger-list-shell[data-v-35fe0a57] .hist-config-tfoot td:first-child {
  color: #0a5f6e;
}

.stat-ledger-custom-table-slot[data-v-f6db2eed] {
  flex: 1 1 0%;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.stat-ledger-custom-table-slot[data-v-f6db2eed] .hist-config-wrap {
  flex: 1 1 0%;
  min-height: 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
}
.stat-ledger-custom-table-slot[data-v-f6db2eed] .hist-config-wrap--body-scroll-fill,
.stat-ledger-custom-table-slot[data-v-f6db2eed] .hist-config-wrap:not(.hist-config-wrap--pinned-footer) {
  flex: 1 1 0%;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
.stat-ledger-custom-table-slot[data-v-f6db2eed] .hist-config-scroll-outer:not(.hist-config-scroll-outer--head):not(.hist-config-scroll-outer--foot),
.stat-ledger-custom-table-slot[data-v-f6db2eed] .hist-config-wrap--pinned-header .hist-config-scroll-outer--body,
.stat-ledger-custom-table-slot[data-v-f6db2eed] .hist-config-wrap--pinned-footer .hist-config-scroll-outer--body {
  flex: 1 1 0%;
  min-height: 0;
  overflow-x: auto;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.stat-ledger-custom-table-slot[data-v-f6db2eed] .hist-config-scroll-outer--head,
.stat-ledger-custom-table-slot[data-v-f6db2eed] .hist-config-scroll-outer--foot {
  flex: 0 0 auto;
  overflow-x: auto;
  overflow-y: hidden;
}
.crm-ledger-list-shell[data-v-f6db2eed] .crm-ledger-table.hist-config-table {
  border-collapse: separate;
  border-spacing: 0;
}
.crm-ledger-list-shell[data-v-f6db2eed] .crm-ledger-table.hist-config-table > thead > tr > th {
  background: linear-gradient(180deg, #f8fbfc 0%, #f0f7f8 100%);
  color: #334155;
  font-weight: 600;
  font-size: 12px;
  line-height: 1.25;
  height: 40px;
  padding: 8px 10px;
  border-bottom: 1px solid color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 18%, #e2e8f0);
  border-right: 1px solid color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 12%, #e8eef3);
  vertical-align: middle;
  box-sizing: border-box;
  position: sticky;
  top: 0;
  z-index: 3;
  overflow: visible;
}
/* 库存分布表：双行表头已拆出滚动区，行高随内容，不再单独 sticky 第二行 */
.crm-ledger-list-shell[data-v-f6db2eed] .stock-distribution-table.crm-ledger-table.hist-config-table > thead > tr > th {
  top: auto;
  height: auto;
}
/* 左侧冻结列（往来单位等）表头须高于表体 sticky 单元格，否则纵向滚动时列头被盖住 */
.crm-ledger-list-shell[data-v-f6db2eed] .crm-ledger-table.hist-config-table > thead > tr > th.product-sticky-left,
.crm-ledger-list-shell[data-v-f6db2eed] .crm-ledger-table.hist-config-table > thead > tr > th.product-sticky-action {
  top: 0;
  z-index: 6;
}
.crm-ledger-list-shell[data-v-f6db2eed] .crm-ledger-table.hist-config-table > tbody > tr > td.product-sticky-left,
.crm-ledger-list-shell[data-v-f6db2eed] .crm-ledger-table.hist-config-table > tbody > tr > td.product-sticky-action {
  z-index: 2;
}
.crm-ledger-list-shell[data-v-f6db2eed] .crm-ledger-table.hist-config-table > thead > tr > th:last-child {
  border-right: none;
}
.crm-ledger-list-shell[data-v-f6db2eed] .crm-ledger-table.hist-config-table > tbody > tr > td {
  border-right: 1px solid color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 8%, #eef2f6);
  padding: 6px 10px;
  font-size: 12px;
  vertical-align: middle;
  box-sizing: border-box;
}
.crm-ledger-list-shell[data-v-f6db2eed] .crm-ledger-table.hist-config-table > tbody > tr > td:last-child {
  border-right: none;
}
.crm-ledger-list-shell[data-v-f6db2eed] .crm-ledger-table.hist-config-table > tbody > tr:nth-child(even) > td {
  background: rgba(248, 252, 253, 0.65);
}
.crm-ledger-list-shell[data-v-f6db2eed] .crm-ledger-table.hist-config-table > tbody > tr:hover > td {
  background: color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 8%, #ffffff) !important;
}
.crm-ledger-list-shell[data-v-f6db2eed] .crm-ledger-table.hist-config-table > tbody > tr:hover > td.product-table-empty {
  background: color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 4%, #f8fafc) !important;
}
.crm-ledger-list-shell[data-v-f6db2eed] .crm-ledger-table .hist-col-resize-grip:hover {
  background: color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 35%, #cbd5e1);
}
.crm-ledger-list-shell[data-v-f6db2eed] .crm-ledger-table.hist-config-table tbody td input:not([type='checkbox']),
.crm-ledger-list-shell[data-v-f6db2eed] .crm-ledger-table.hist-config-table tbody td textarea {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
.crm-ledger-list-shell[data-v-f6db2eed] .crm-ledger-table .ir-cell-num input,
.crm-ledger-list-shell[data-v-f6db2eed] .crm-ledger-table .ir-cell-num textarea {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.crm-ledger-list-summary[data-v-f6db2eed] {
  position: sticky;
  bottom: 0;
  z-index: 3;
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  align-items: center;
  justify-content: flex-end;
  padding: 8px 12px;
  border-top: 1px solid color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 14%, var(--border-light, #e2e8f0));
  background: linear-gradient(180deg, color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 6%, #ffffff) 0%, #ffffff 100%);
  font-size: 12px;
  font-weight: 600;
  color: var(--text-on-light, #0f172a);
  border-radius: 0 0 11px 11px;
}
.crm-ledger-list-shell--frameless[data-v-f6db2eed] {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.crm-ledger-list-after--frameless[data-v-f6db2eed] {
  flex-shrink: 0;
  padding: 8px 10px 10px;
  min-width: 0;
}
.crm-ledger-list-summary--frameless[data-v-f6db2eed] {
  border-radius: 0;
}

/* 非 scoped：Teleport 到 body，需全局类名保证样式生效 */
.cb-paste-mask {
  position: fixed;
  inset: 0;
  z-index: 12600;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(15, 23, 42, 0.45);
}
.cb-paste-dialog {
  width: min(640px, 92vw);
  max-height: min(86vh, 720px);
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 12px;
  border: 1px solid #e2e8f0;
  box-shadow: 0 18px 48px rgba(15, 23, 42, 0.18);
  overflow: hidden;
}
.cb-paste-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 14px;
  border-bottom: 1px solid #e2e8f0;
  background: linear-gradient(180deg, #f8fcfd 0%, #f0f9fb 100%);
}
.cb-paste-head strong {
  font-size: 16px;
  font-weight: 700;
  color: #0f172a;
}
.cb-paste-close {
  width: 32px;
  height: 32px;
  border: none;
  border-radius: 8px;
  background: #f1f5f9;
  color: #64748b;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}
.cb-paste-close:hover {
  background: #e2e8f0;
  color: #334155;
}
.cb-paste-body {
  padding: 12px 16px 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: 0;
  overflow: auto;
}
.cb-paste-desc {
  margin: 0;
  font-size: 12px;
  color: #64748b;
  line-height: 1.5;
}
.cb-paste-textarea {
  display: block;
  width: 100% !important;
  max-width: 100%;
  min-width: 0;
  min-height: 180px;
  margin: 0 !important;
  padding: 10px 12px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  font-size: 13px;
  line-height: 1.55;
  resize: vertical;
  box-sizing: border-box;
  font-family: inherit;
  background: #fff;
  color: #0f172a;
}
.cb-paste-textarea:focus {
  outline: none;
  border-color: #5fb8c1;
  box-shadow: 0 0 0 3px rgba(95, 184, 193, 0.2);
}
.cb-paste-preview {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
  padding: 10px 12px;
  background: #f0f9fb;
  border: 1px dashed #94d2d9;
  border-radius: 8px;
  font-size: 12px;
  color: #334155;
  box-sizing: border-box;
  width: 100%;
}
.cb-paste-preview-label {
  font-weight: 600;
  color: #0a5f6e;
}
.cb-paste-preview-item {
  white-space: nowrap;
}
.cb-paste-foot {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border-top: 1px solid #e2e8f0;
  background: #fff;
}
/* 与开票识别弹窗脚钮同款：浅青底 + 深青字 */
.cb-paste-btn {
  min-height: 34px;
  padding: 6px 14px;
  border: 1px solid #d8e9ed;
  border-radius: 8px;
  background: #f0f9fb;
  color: #0a5f6e;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
}
.cb-paste-btn:hover {
  background: #e0f2f4;
  border-color: #94d2d9;
}
.cb-paste-btn--primary {
  background: #d9eef1;
  border-color: #b7dbe1;
  color: #0a5f6e;
  font-weight: 600;
}
.cb-paste-btn--primary:hover {
  background: #c5e6eb;
  border-color: #94d2d9;
}

.partner-contacts-head[data-v-e809c51b] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 6px;
}
.partner-contacts-head__title[data-v-e809c51b] {
  margin: 0;
}
.partner-contact-multi-cell[data-v-e809c51b] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 2px 0;
}
.partner-contact-multi-row[data-v-e809c51b] {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}
.partner-contact-multi-input[data-v-e809c51b] {
  flex: 1 1 auto;
  min-width: 0;
  width: 100%;
}
.partner-contact-pm[data-v-e809c51b] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  flex: 0 0 auto;
}
.partner-contact-actions[data-v-e809c51b] {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
  flex-wrap: wrap;
}
.partner-contact-icon-btn[data-v-e809c51b] {
  box-sizing: border-box;
  width: 26px;
  height: 26px;
  padding: 0;
  margin: 0;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  background: #fff;
  color: #334155;
  font-size: 16px;
  line-height: 1;
  font-weight: 600;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}
.partner-contact-icon-btn[data-v-e809c51b]:hover:not(:disabled) {
  background: #f8fafc;
  border-color: #94a3b8;
}
.partner-contact-icon-btn[data-v-e809c51b]:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}
.partner-contact-icon-btn--plus[data-v-e809c51b] {
  color: #0f766e;
  border-color: #99f6e4;
  background: #f0fdfa;
}
.partner-contact-icon-btn--plus[data-v-e809c51b]:hover:not(:disabled) {
  background: #ccfbf1;
  border-color: #2dd4bf;
}
.partner-contact-icon-btn--minus[data-v-e809c51b] {
  color: #b91c1c;
  border-color: #fecaca;
  background: #fef2f2;
}
.partner-contact-icon-btn--minus[data-v-e809c51b]:hover:not(:disabled) {
  background: #fee2e2;
  border-color: #f87171;
}

.rcs-split[data-v-36e935b7] {
  --rcs-handle-width: 8px;
  display: grid;
  grid-template-columns: var(--rcs-sidebar-width, 268px) var(--rcs-handle-width) minmax(0, 1fr);
  min-height: 0;
  min-width: 0;
  height: 100%;
}
.rcs-split--collapsed[data-v-36e935b7] {
  --rcs-sidebar-width: 0px;
}
.rcs-split--dragging[data-v-36e935b7] {
  cursor: col-resize;
}
.rcs-split__sidebar[data-v-36e935b7] {
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.rcs-split--collapsed .rcs-split__sidebar[data-v-36e935b7] {
  visibility: hidden;
  pointer-events: none;
}
.rcs-split__handle[data-v-36e935b7] {
  position: relative;
  z-index: 2;
  width: var(--rcs-handle-width);
  cursor: col-resize;
  touch-action: none;
  background: transparent;
  flex-shrink: 0;
}
.rcs-split__handle[data-v-36e935b7]::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 1px;
  transform: translateX(-50%);
  background: color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 22%, #e2e8f0);
  transition: background-color 0.15s ease, width 0.15s ease;
}
.rcs-split__handle[data-v-36e935b7]:hover::before,
.rcs-split--dragging .rcs-split__handle[data-v-36e935b7]::before {
  width: 2px;
  background: color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 55%, #94a3b8);
}
.rcs-split__collapse-btn[data-v-36e935b7] {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 3;
  transform: translate(-50%, -50%);
  min-width: 20px;
  height: 52px;
  padding: 4px 2px;
  margin: 0;
  border: 1px solid color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 28%, #e2e8f0);
  border-radius: 6px;
  background: #f8fcfd;
  color: #3d6f78;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  font-size: 11px;
  line-height: 1.2;
  box-shadow: 0 1px 4px rgba(15, 23, 42, 0.08);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.rcs-split__collapse-btn[data-v-36e935b7]:hover {
  background: color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 12%, #fff);
  border-color: color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 45%, #cbd5e1);
  color: #0f4f5d;
}
.rcs-split--collapsed .rcs-split__collapse-btn[data-v-36e935b7] {
  height: auto;
  min-height: 96px;
  padding: 8px 4px;
}
.rcs-split__collapse-icon[data-v-36e935b7] {
  font-size: 15px;
  line-height: 1;
  font-weight: 700;
}
.rcs-split__collapse-text[data-v-36e935b7] {
  writing-mode: vertical-rl;
  text-orientation: mixed;
  letter-spacing: 0.08em;
  font-size: 11px;
  font-weight: 600;
}
.rcs-split__main[data-v-36e935b7] {
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
@media (max-width: 960px) {
.rcs-split[data-v-36e935b7] {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto 1fr;
}
.rcs-split__handle[data-v-36e935b7] {
    display: none;
}
.rcs-split--collapsed .rcs-split__sidebar[data-v-36e935b7] {
    display: none;
}
.rcs-split--collapsed[data-v-36e935b7] {
    grid-template-rows: 1fr;
}
}

.dsp-tree-branch[data-v-6e7ca1f4] {

  --dsp-teal: var(--sidebar-teal, #5fb8c1);

  list-style: none;

  margin: 0;

  padding: 0;
}
.dsp-tree-branch[data-v-6e7ca1f4]:not(.dsp-tree-branch--root) {

  margin-left: 14px;

  padding-left: 10px;

  border-left: 1px dotted color-mix(in srgb, var(--dsp-teal) 45%, #b8c8cc);
}
.dsp-tree-node[data-v-6e7ca1f4] {

  margin: 0;

  padding: 0;
}
.dsp-tree-row[data-v-6e7ca1f4] {
  display: grid;
  grid-template-columns: 14px minmax(0, 1fr);
  gap: 6px;
  align-items: center;
  min-height: 32px;
  padding: 2px 4px;
  margin: 0 2px 4px;
}
.dsp-tree-label[data-v-6e7ca1f4] {
  width: 100%;
  min-width: 0;
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid transparent;
  border-radius: 999px;
  background: transparent;
  padding: 4px 10px;
  margin: 0;
  font-size: 13px;
  line-height: 1.45;
  color: #1e293b;
  text-align: left;
  cursor: pointer;
  overflow: hidden;
  transition: background-color 0.12s ease, border-color 0.12s ease;
}
.dsp-tree-row:hover:not(.dsp-tree-row--active) .dsp-tree-label[data-v-6e7ca1f4] {
  border-color: #d5dde7;
  background: #fff;
}
.dsp-tree-row--active .dsp-tree-label[data-v-6e7ca1f4] {
  border-color: var(--dsp-teal);
  background: color-mix(in srgb, var(--dsp-teal) 14%, #fff);
}
.dsp-tree-row--active .dsp-tree-name[data-v-6e7ca1f4] {
  font-weight: 600;
  color: #0a5f6e;
}
.dsp-tree-toggle-slot[data-v-6e7ca1f4] {

  width: 14px;

  height: 14px;

  display: flex;

  align-items: center;

  justify-content: center;
}
.dsp-tree-box[data-v-6e7ca1f4] {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  width: 14px;

  height: 14px;

  margin: 0;

  padding: 0;

  border: 1px solid color-mix(in srgb, var(--dsp-teal) 50%, #94a3b8);

  border-radius: 2px;

  background: #fff;

  color: #0f766e;

  font-size: 11px;

  line-height: 1;

  font-weight: 600;

  cursor: pointer;

  box-sizing: border-box;
}
.dsp-tree-box[data-v-6e7ca1f4]:hover {

  border-color: var(--dsp-teal);

  background: color-mix(in srgb, var(--dsp-teal) 4%, #ffffff);
}
.dsp-tree-box-glyph[data-v-6e7ca1f4] {

  display: flex;

  align-items: center;

  justify-content: center;

  width: 100%;

  height: 100%;

  transform: translateY(-0.5px);
}
.dsp-tree-path-code[data-v-6e7ca1f4] {

  flex-shrink: 0;

  padding: 1px 6px;

  border-radius: 999px;

  font-size: 11px;

  font-weight: 600;

  font-variant-numeric: tabular-nums;

  color: #0f766e;

  background: color-mix(in srgb, var(--dsp-teal) 14%, #fff);

  border: 1px solid color-mix(in srgb, var(--dsp-teal) 28%, #e2e8f0);
}
.dsp-tree-name[data-v-6e7ca1f4] {

  min-width: 0;

  overflow: hidden;

  text-overflow: ellipsis;

  white-space: nowrap;
}


.dsp-tree-panel[data-v-a2489973] {

  --dsp-teal: var(--sidebar-teal, #5fb8c1);

  display: flex;

  flex-direction: column;

  min-height: 0;

  height: 100%;

  font-size: 13px;

  color: #1e293b;
}
.dsp-tree-all[data-v-a2489973] {

  flex-shrink: 0;

  margin: 8px 10px 6px;

  padding: 7px 12px;

  display: block;

  width: calc(100% - 20px);

  border-radius: 999px;

  border: 1px solid #d5dde7;

  background: #fff;

  color: #334155;

  font-size: 13px;

  font-weight: 600;

  text-align: left;

  cursor: pointer;

  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);

  transition: border-color 0.15s ease, background-color 0.15s ease, color 0.15s ease;
}
.dsp-tree-all[data-v-a2489973]:hover {

  border-color: color-mix(in srgb, var(--dsp-teal) 45%, #cbd5e1);

  background: #f8fbfd;

  color: #0a5f6e;
}
.dsp-tree-all--on[data-v-a2489973] {

  border-color: var(--dsp-teal) !important;

  background: color-mix(in srgb, var(--dsp-teal) 14%, #fff) !important;

  color: #0a5f6e;
}
.dsp-tree-scroll[data-v-a2489973] {

  flex: 1;

  min-height: 0;

  overflow: auto;

  padding: 4px 6px 12px;
}
.dsp-tree-empty[data-v-a2489973] {

  padding: 10px 12px;

  font-size: 12px;

  color: #64748b;
}


.dept-staff-picker-dialog[data-v-b991d7b5] {
  width: min(1120px, calc(100vw - 32px));
  max-height: min(88vh, 760px);
}
.dept-staff-picker-dialog[data-v-b991d7b5] .sales-customer-dialog-body {
  grid-template-columns: 220px 1fr;
}
.dept-staff-picker-tree[data-v-b991d7b5] {
  display: flex;
  flex-direction: column;
  min-height: 0;
  padding: 0 !important;
  gap: 0 !important;
  background: var(--input-surface, #f7f9fb);
}
.dept-staff-picker-dialog[data-v-b991d7b5] .sales-customer-dialog-toolbar {
  display: flex;
  gap: 8px;
  align-items: center;
  padding: 10px 12px;
  border-bottom: 1px solid var(--border-light, #e2e8f0);
  flex-wrap: wrap;
  background: #fafbfc;
}
.dept-staff-picker-dialog[data-v-b991d7b5] .partner-unit-dialog-search {
  flex: 1;
  min-width: 120px;
  height: 36px;
  margin: 0 !important;
  padding: 8px 12px !important;
  border-radius: 999px !important;
  border: 1px solid var(--input-border, #d5dde7) !important;
  background: #fff !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
  font-size: 13px;
  color: #111827;
}
.dept-staff-picker-dialog[data-v-b991d7b5] .partner-unit-dialog-page-size {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: #475569;
  margin: 0;
  white-space: nowrap;
}
.dept-staff-picker-dialog[data-v-b991d7b5] .partner-unit-dialog-select {
  height: 32px;
  margin: 0 !important;
  padding: 4px 10px !important;
  border-radius: 999px !important;
  border: 1px solid var(--input-border, #d5dde7) !important;
  background: #fff !important;
  font-size: 13px;
  color: #111827;
  cursor: pointer;
}
.dept-staff-picker-dialog[data-v-b991d7b5] .partner-unit-add-btn {
  margin: 0 0 0 auto;
  padding: 8px 14px;
  border-radius: 999px;
  cursor: pointer;
  font-weight: 600;
  font-size: 13px;
  line-height: 1.2;
  border: 1px solid color-mix(in srgb, #ea580c 42%, #fed7aa);
  background: #fff7ed;
  color: #c2410c;
  box-shadow: none;
  flex-shrink: 0;
  white-space: nowrap;
}
.dept-staff-picker-dialog[data-v-b991d7b5] .partner-unit-add-btn:hover {
  border-color: color-mix(in srgb, #ea580c 55%, #fdba74);
  background: #ffedd5;
  color: #9a3412;
}
.dept-staff-picker-dialog[data-v-b991d7b5] .sales-customer-dialog-table-wrap {
  overflow: auto;
  padding: 0 10px;
}
.dept-staff-picker-dialog[data-v-b991d7b5] .sales-customer-dialog-table thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: var(--table-header-bg, #eef2f7);
  font-weight: 600;
  color: var(--table-header-text, #334155);
}
.dept-staff-picker-table[data-v-b991d7b5] .sales-customer-dialog-row--active td {
  background: rgba(95, 184, 193, 0.14);
}
.dept-staff-picker-dialog[data-v-b991d7b5] .sales-customer-row-select-btn,
.dept-staff-picker-dialog[data-v-b991d7b5] .partner-unit-dialog-foot-left .sales-customer-foot-btn {
  min-height: 28px;
  margin-right: 0;
  padding: 0 12px;
  border: 1px solid #d8e9ed;
  border-radius: 999px;
  background: #f8fcfd;
  color: #6f8b92;
  font-size: 11px;
  font-weight: 500;
  cursor: pointer;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.dept-staff-picker-dialog[data-v-b991d7b5] .sales-customer-row-select-btn:hover,
.dept-staff-picker-dialog[data-v-b991d7b5] .partner-unit-dialog-foot-left .sales-customer-foot-btn:hover:not(:disabled) {
  background: #eef8fa;
  border-color: #bfd3df;
  color: #4e7780;
}
.dept-staff-picker-dialog[data-v-b991d7b5] .sales-customer-foot-btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.dept-staff-picker-dialog[data-v-b991d7b5] .partner-unit-dialog-foot {
  align-items: center;
  flex-wrap: wrap;
  padding: 12px 14px;
  background: #fafbfc;
  border-top: 1px solid #e8f0f3;
  gap: 12px;
}
.dept-staff-picker-dialog[data-v-b991d7b5] .partner-unit-dialog-foot-left,
.dept-staff-picker-dialog[data-v-b991d7b5] .partner-unit-dialog-foot-right {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}
.dept-staff-picker-dialog[data-v-b991d7b5] .partner-unit-dialog-page-info {
  font-size: 13px;
  color: #64748b;
  padding: 0 4px;
}
/* 注意：模板用的是 partner-unit-dialog-foot-right，不是 sales-customer-dialog-foot-right */
.dept-staff-picker-dialog[data-v-b991d7b5] .partner-unit-dialog-foot-right .sales-customer-foot-btn {
  min-height: unset;
  margin-right: 0;
  padding: 8px 18px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
  border: 1px solid #d5dde7;
  background: #fff;
  color: #334155;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.dept-staff-picker-dialog[data-v-b991d7b5] .partner-unit-dialog-foot-right .sales-customer-foot-btn:hover:not(.sales-customer-foot-btn--primary) {
  background: #f8fafc;
  border-color: #cbd5e1;
  color: #0f172a;
}
.dept-staff-picker-dialog[data-v-b991d7b5] .partner-unit-dialog-foot-right .sales-customer-foot-btn--primary {
  border-color: var(--sidebar-teal, #5fb8c1);
  background: color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 22%, #fff);
  color: #0a5f6e;
  font-weight: 600;
}
.dept-staff-picker-dialog[data-v-b991d7b5] .partner-unit-dialog-foot-right .sales-customer-foot-btn--primary:hover {
  background: color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 32%, #fff);
  border-color: #4aa8b2;
  color: #0a5f6e;
}
.dept-staff-picker-dialog[data-v-b991d7b5] .partner-unit-dialog-head {
  padding: 12px 16px;
  border-bottom: 1px solid #e8f0f3;
}
.dept-staff-picker-dialog[data-v-b991d7b5] .partner-unit-dialog-close {
  width: 32px;
  height: 32px;
  border: none;
  border-radius: 999px;
  background: #f1f5f9;
  color: #64748b;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}
.dept-staff-picker-dialog[data-v-b991d7b5] .partner-unit-dialog-close:hover {
  background: #e2e8f0;
  color: #0f172a;
}

.sales-customer-field[data-v-f337c320] {
  position: relative;
  display: flex;
  flex-direction: column;
  font-size: 12px;
  color: var(--text-on-light);
}
.sales-customer-field > span[data-v-f337c320] {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  line-height: 20px;
  margin-bottom: 4px;
}
.sales-customer-input-wrap[data-v-f337c320] {
  position: relative;
  display: block;
}
.dept-staff-picker-input[data-v-f337c320] {
  width: 100%;
  min-width: 0;
  padding: 8px 58px 8px 10px;
  height: 36px;
  box-sizing: border-box;
  margin-bottom: 0;
  border-radius: 8px;
  border: 1px solid var(--border-light, #e2e8f0);
  background: #fff;
  color: var(--text-on-light, #0f172a);
  font-size: 13px;
  cursor: pointer;
}
.dept-staff-picker-input[data-v-f337c320]:disabled {
  background: #f8fafc;
  cursor: not-allowed;
}
.dept-staff-picker-input[data-v-f337c320]::placeholder {
  color: var(--text-muted-light, #64748b);
}
/* 与内嵌 🔍 一致：透明图标，压过全局 button 磨砂底 */
.picker-field-clear[data-v-f337c320] {
  position: absolute;
  right: 30px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  min-width: 22px;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 50%;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  color: #94a3b8;
  font-size: 15px;
  line-height: 1;
  cursor: pointer;
  opacity: 0.72;
}
.picker-field-clear-x[data-v-f337c320] {
  display: block;
  margin-top: -1px;
  font-weight: 400;
}
.sales-customer-input-wrap:hover .picker-field-clear[data-v-f337c320],
.picker-field-clear[data-v-f337c320]:focus-visible {
  opacity: 1;
  color: #64748b;
}
.picker-field-clear[data-v-f337c320]:hover {
  background: #f1f5f9 !important;
  color: #334155;
}
.picker-field-clear[data-v-f337c320]:focus-visible {
  outline: 2px solid rgba(14, 116, 144, 0.35);
  outline-offset: 1px;
}
.sales-customer-more[data-v-f337c320] {
  position: absolute;
  right: 2px;
  top: 50%;
  transform: translateY(-50%);
  width: 28px;
  height: 30px;
  min-width: 28px;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #6b8592;
  line-height: 1;
  cursor: pointer;
}
.sales-customer-more[data-v-f337c320]:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.doc-related-doc-field > span[data-v-23fe9191] {
  margin-bottom: 4px;
  font-size: 12px;
  color: var(--text-muted-light);
}
.doc-related-doc-field .sales-customer-input-wrap[data-v-23fe9191] {
  position: relative;
  display: block;
}
.doc-related-doc-field .sales-customer-input-wrap input[data-v-23fe9191] {
  width: 100%;
  min-width: 0;
  padding: 8px 38px 8px 10px;
  height: 36px;
  box-sizing: border-box;
  margin-bottom: 0;
  border-radius: 8px;
  border: 1px solid var(--border-light, #e2e8f0);
  background: #fff;
}
.doc-related-doc-field .picker-inline-search-btn[data-v-23fe9191] {
  position: absolute;
  right: 4px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  width: 28px;
  height: 30px;
  min-width: 28px;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  color: #6b8592;
  font-size: 14px;
  line-height: 1;
  cursor: pointer;
}
.doc-related-doc-field .picker-inline-search-btn[data-v-23fe9191]:hover:not(:disabled) {
  color: var(--ui-accent-ink, #0a5f6e);
  background: transparent;
}
.doc-related-doc-field .picker-inline-search-btn[data-v-23fe9191]:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.doc-related-doc-dialog-mask[data-v-23fe9191] {
  z-index: 12600;
}
.doc-related-doc-dialog[data-v-23fe9191] {
  width: min(720px, 96vw);
  max-height: min(80vh, 640px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.doc-related-doc-dialog--contract[data-v-23fe9191] {
  width: min(820px, 96vw);
}
.doc-related-doc-dialog-head[data-v-23fe9191] {
  padding: 12px 14px;
  background: linear-gradient(180deg, #f8fcfd 0%, #f0f9fb 100%);
  border-bottom: 1px solid #e8f0f3;
}
.doc-related-doc-dialog-head strong[data-v-23fe9191] {
  font-size: 16px;
  font-weight: 700;
  color: #0f172a;
}
.doc-related-doc-dialog-close[data-v-23fe9191] {
  width: 32px;
  height: 32px;
  min-width: 32px;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 8px !important;
  background: #f1f5f9 !important;
  color: #64748b !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.doc-related-doc-dialog-close[data-v-23fe9191]:hover {
  background: #e2e8f0 !important;
  color: #0f172a !important;
}
.doc-related-doc-dialog-toolbar[data-v-23fe9191] {
  flex-shrink: 0;
  gap: 8px;
  padding: 10px 14px;
  background: #fafbfc;
}
.doc-related-doc-search[data-v-23fe9191] {
  flex: 1;
  min-width: 0;
  height: 36px;
  margin: 0 !important;
  padding: 8px 12px !important;
  border-radius: 8px !important;
  border: 1px solid var(--input-border, #d5dde7) !important;
  background: #fff !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
  font-size: 13px;
  color: #111827;
}
.doc-related-doc-search[data-v-23fe9191]::placeholder {
  color: #94a3b8;
}
.doc-related-doc-dialog .purchase-tool-btn[data-v-23fe9191] {
  flex-shrink: 0;
  height: 36px;
  margin: 0 !important;
  padding: 0 14px !important;
  border-radius: 8px !important;
  border: 1px solid color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 26%, #e2e8f0) !important;
  background: color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 7%, #ffffff) !important;
  color: var(--ui-accent-ink, #0a5f6e) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
}
.doc-related-doc-dialog .purchase-tool-btn[data-v-23fe9191]:hover:not(:disabled) {
  background: color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 13%, #ffffff) !important;
  border-color: color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 45%, #b8d4d9) !important;
}
.doc-related-doc-dialog .purchase-tool-btn--primary[data-v-23fe9191] {
  border-color: color-mix(in srgb, var(--ui-accent, #5fb8c1) 52%, var(--border-light, #e2e8f0)) !important;
  background: var(--ui-accent-soft, #e8f6f7) !important;
  color: var(--ui-accent-ink, #0a5f6e) !important;
}
.doc-related-doc-dialog .purchase-tool-btn--primary[data-v-23fe9191]:hover:not(:disabled) {
  background: var(--ui-accent-soft-strong, #d5eef1) !important;
  border-color: color-mix(in srgb, var(--ui-accent, #5fb8c1) 64%, var(--border-light, #e2e8f0)) !important;
}
.doc-related-doc-dialog .purchase-tool-btn[data-v-23fe9191]:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.doc-related-doc-partner-hint[data-v-23fe9191] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 14px 8px;
  padding: 6px 10px;
  background: color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 8%, #f8fafc);
  border: 1px solid color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 18%, #e8f0f3);
  border-radius: 8px;
  font-size: 12px;
  line-height: 1.4;
  color: #475569;
}
.doc-related-doc-partner-hint-k[data-v-23fe9191] {
  flex-shrink: 0;
  padding: 1px 7px;
  border-radius: 999px;
  background: #fff;
  color: #0a5f6e;
  font-weight: 600;
}
.doc-related-doc-partner-hint-v[data-v-23fe9191] {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #334155;
  font-weight: 600;
}
.doc-related-doc-dialog-table-wrap[data-v-23fe9191] {
  flex: 1;
  overflow: auto;
  min-height: 200px;
  padding: 0 10px 8px;
}
.doc-related-doc-table[data-v-23fe9191] {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: auto;
}
.doc-related-doc-table thead th[data-v-23fe9191] {
  position: sticky;
  top: 0;
  z-index: 1;
  height: 36px;
  padding: 8px 10px;
  text-align: left;
  font-size: 12px;
  font-weight: 600;
  color: #334155;
  background: linear-gradient(180deg, #f8fbfc 0%, #f0f7f8 100%);
  border-bottom: 1px solid color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 18%, #e2e8f0);
  white-space: nowrap;
}
.doc-related-doc-table tbody td[data-v-23fe9191] {
  padding: 8px 10px;
  font-size: 13px;
  vertical-align: middle;
  border-bottom: 1px solid #edf2f7;
}
.doc-related-doc-table tbody tr[data-v-23fe9191] {
  cursor: pointer;
}
.doc-related-doc-table tbody tr:hover td[data-v-23fe9191] {
  background: color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 8%, #ffffff);
}
.doc-related-doc-table tbody tr.doc-related-doc-row--active td[data-v-23fe9191] {
  background: rgba(95, 184, 193, 0.16);
}
.doc-related-doc-col-check[data-v-23fe9191] {
  width: 44px;
  text-align: center;
}
.doc-related-doc-col-no[data-v-23fe9191] {
  width: 168px;
  white-space: nowrap;
}
.doc-related-doc-col-name[data-v-23fe9191] {
  min-width: 180px;
}
.doc-related-doc-col-partner[data-v-23fe9191] {
  min-width: 140px;
}
.doc-related-doc-radio[data-v-23fe9191] {
  width: 16px;
  height: 16px;
  margin: 0 !important;
  cursor: pointer;
  accent-color: var(--sidebar-teal, #5fb8c1);
}
.doc-related-doc-no[data-v-23fe9191] {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 12px;
  font-weight: 600;
  color: #0a5f6e;
  letter-spacing: 0.01em;
}
.doc-related-doc-name[data-v-23fe9191] {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #0f172a;
  font-size: 13px;
  font-weight: 600;
}
.doc-related-doc-partner[data-v-23fe9191] {
  color: #64748b;
  font-size: 12px;
}
.doc-related-doc-empty[data-v-23fe9191],
.doc-related-doc-empty-cell[data-v-23fe9191] {
  padding: 28px 12px;
  text-align: center;
  font-size: 12px;
  color: #78909c;
}
.doc-related-doc-dialog-foot[data-v-23fe9191] {
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 12px 14px;
  background: #fafbfc;
  border-top: 1px solid #e8f0f3;
  gap: 12px;
}
.doc-related-doc-foot-meta[data-v-23fe9191] {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  font-size: 12px;
  color: #64748b;
}
.doc-related-doc-foot-pick[data-v-23fe9191] {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #0a5f6e;
  font-weight: 600;
}
.doc-related-doc-foot-actions[data-v-23fe9191] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
}

.doc-template-header-grid[data-v-95ad9563] {
  display: grid;
  width: 100%;
}
.doc-template-header-cell[data-v-95ad9563] {
  min-width: 0;
}
.doc-template-header-hint[data-v-95ad9563] {
  grid-column: 1 / -1;
  margin: 0;
}

/*
 * 表头标签统一 12px Regular：YaHei 没有 500 字重时浏览器会假粗，
 * 「应收收款方式」里部分字会显得比后面几个字更细、更小。
 */
.doc-template-header-cell > label > span[data-v-95ad9563],
.doc-template-header-cell[data-v-95ad9563] .sales-customer-field > span,
.doc-template-header-cell[data-v-95ad9563] .doc-dept-auto-field > span {
  font-size: 12px;
  font-weight: 400;
  font-synthesis: none;
  letter-spacing: 0;
  white-space: nowrap;
  line-height: 20px;
  color: #546e7a;
}
.receipt-voucher-remark-input[data-v-95ad9563] {
  width: 100%;
  min-width: 0;
}

.settlement-account-picker-field[data-v-1002912e] {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
.settlement-account-picker-single[data-v-1002912e] {
  position: relative;
  width: 100%;
  min-width: 0;
}
.settlement-account-picker-input[data-v-1002912e] {
  width: 100%;
  min-width: 0;
  height: 36px;
  padding: 8px 36px 8px 10px;
  margin: 0;
  box-sizing: border-box;
  border: 1px solid var(--input-border, #d5dde7);
  border-radius: 8px;
  background: var(--input-surface, #fff);
  box-shadow: var(--input-inner-shadow, 0 1px 2px rgba(15, 23, 42, 0.04));
  font-size: 13px;
  color: #334155;
  cursor: pointer;
}
.settlement-account-picker-input[data-v-1002912e]::placeholder {
  color: var(--text-muted-light, #64748b);
}
.settlement-account-picker-input[data-v-1002912e]:focus,
.settlement-account-picker-input[data-v-1002912e]:focus-visible {
  outline: none;
  border-color: color-mix(in srgb, var(--sidebar-teal) 55%, var(--input-border, #d5dde7));
  box-shadow: var(--focus-ring-shadow, 0 0 0 3px color-mix(in srgb, var(--sidebar-teal) 16%, transparent));
}
.settlement-account-picker-input[data-v-1002912e]:disabled {
  background: #f8fafc;
  color: #64748b;
  cursor: not-allowed;
}
.settlement-account-picker-detail[data-v-1002912e] {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
  align-items: end;
  column-gap: 12px;
  row-gap: 4px;
  width: 100%;
  min-width: 0;
}
.settlement-account-picker-detail-cell[data-v-1002912e] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  margin: 0;
}
.settlement-account-picker-detail-k[data-v-1002912e] {
  font-size: 12px;
  color: #64748b;
  line-height: 1.2;
  white-space: nowrap;
}
.settlement-account-picker-input--detail[data-v-1002912e] {
  padding-right: 10px;
  margin: 0 !important;
}
.settlement-account-picker-detail-actions[data-v-1002912e] {
  display: flex;
  align-items: center;
  align-self: end;
  gap: 8px;
  height: 36px;
  margin: 0 0 4px;
  padding: 0;
  flex-shrink: 0;
  box-sizing: border-box;
}
.settlement-account-picker-detail-actions[data-v-1002912e] button {
  margin: 0 !important;
  align-self: center;
  box-sizing: border-box;
}
.settlement-account-picker-detail-btn[data-v-1002912e] {
  position: static !important;
  top: auto !important;
  right: auto !important;
  transform: none !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--input-border, #d5dde7) !important;
  border-radius: 8px !important;
  background: color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 12%, #f8fafc) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  color: var(--ui-accent-ink, #0a5f6e);
  font-size: 14px;
  line-height: 1;
  cursor: pointer;
  flex-shrink: 0;
  box-sizing: border-box;
}
.settlement-account-picker-detail-btn[data-v-1002912e]:hover:not(:disabled) {
  background: color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 18%, #ecfdf5) !important;
  border-color: color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 40%, #d5dde7) !important;
}
.settlement-account-picker-detail-btn[data-v-1002912e]:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}
@media (max-width: 720px) {
.settlement-account-picker-detail[data-v-1002912e] {
    grid-template-columns: minmax(0, 1fr);
}
.settlement-account-picker-detail-actions[data-v-1002912e] {
    justify-content: flex-end;
    margin-bottom: 0;
}
}

.inv-collect-split-item[data-v-58d91c11] {
  --inv-collect-label-w: 5.2em;
  --inv-collect-control-h: 36px;
  --inv-collect-col-amount: 148px;
  --inv-collect-form-gap: 16px;
  min-width: 0;
}
.inv-collect-split-item + .inv-collect-split-item[data-v-58d91c11] {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px dashed color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 14%, #e2e8f0);
}
.inv-collect-form-row[data-v-58d91c11] {
  display: grid;
  align-items: center;
  column-gap: var(--inv-collect-form-gap);
  row-gap: 10px;
}
.inv-collect-form-row--main[data-v-58d91c11] {
  grid-template-columns:
    var(--inv-collect-label-w) minmax(0, 1fr)
    var(--inv-collect-label-w) minmax(0, 1fr);
}
.inv-collect-form-row--account[data-v-58d91c11] {
  grid-template-columns: var(--inv-collect-label-w) minmax(0, 1fr);
  align-items: end;
  margin-top: 18px;
}
.inv-collect-form-row > .inv-collect-field-label[data-v-58d91c11] {
  text-align: right;
  white-space: nowrap;
  font-size: 13px;
  color: #334155;
}
.inv-collect-form-row--account > .inv-collect-field-label[data-v-58d91c11] {
  align-self: end;
  height: 36px;
  line-height: 36px;
  padding: 0;
}
.inv-collect-form-control[data-v-58d91c11] {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  height: var(--inv-collect-control-h);
  min-height: var(--inv-collect-control-h);
  padding: 8px 10px;
  border: 1px solid var(--input-border, #d5dde7);
  border-radius: 8px;
  font-size: 13px;
  background: var(--input-surface, #fff);
}
.inv-collect-form-control--amount[data-v-58d91c11] {
  width: 100%;
  max-width: none;
}
.inv-collect-form-row[data-v-58d91c11] .settlement-account-picker-field {
  min-width: 0;
}
.inv-collect-add-split[data-v-58d91c11],
.inv-collect-remove-split[data-v-58d91c11] {
  height: 36px;
  margin: 0 !important;
  padding: 0 12px !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  white-space: nowrap;
  align-self: center !important;
  box-sizing: border-box;
}
@media (max-width: 720px) {
.inv-collect-form-row--main[data-v-58d91c11],
  .inv-collect-form-row--account[data-v-58d91c11] {
    grid-template-columns: var(--inv-collect-label-w) minmax(0, 1fr);
}
.inv-collect-form-row--main .inv-collect-field-label[data-v-58d91c11]:nth-of-type(2),
  .inv-collect-form-row--main .inv-collect-form-control--amount[data-v-58d91c11] {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: var(--inv-collect-label-w) minmax(0, 1fr);
    column-gap: var(--inv-collect-form-gap);
    align-items: center;
    width: 100%;
    max-width: none;
}
.inv-collect-form-row--account > .inv-collect-field-label[data-v-58d91c11] {
    height: auto;
    line-height: 1.2;
    padding-bottom: 0;
}
.inv-collect-add-split[data-v-58d91c11],
  .inv-collect-remove-split[data-v-58d91c11] {
    margin-left: 0 !important;
}
}

.doc-template-header-grid[data-v-90bf05fd] {
  display: grid;
}

.doc-template-sheet-footer[data-v-a99c49b4] {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 24px;
  margin-top: 10px;
  padding-top: 8px;
  border-top: 1px solid #e8eaed;
  font-size: 13px;
  color: #64748b;
}

.dws-mask[data-v-96f285f6] {
  position: fixed;
  inset: 0;
  z-index: 96;
  background: rgba(15, 23, 42, 0.35);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
}
.dws-dialog[data-v-96f285f6] {
  width: min(980px, 100%);
  max-height: min(92vh, 880px);
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 12px;
  border: 1px solid #e2e8f0;
  box-shadow: 0 20px 50px rgba(15, 23, 42, 0.2);
  overflow: hidden;
}
.dws-head[data-v-96f285f6],
.dws-foot[data-v-96f285f6] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 16px;
  background: linear-gradient(180deg, #f8fcfd 0%, #f0f9fb 100%);
}
.dws-head[data-v-96f285f6] {
  border-bottom: 1px solid #e8f0f3;
}
.dws-foot[data-v-96f285f6] {
  border-top: 1px solid #e8f0f3;
  justify-content: flex-end;
}
.dws-head h4[data-v-96f285f6] {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
}
.dws-sub[data-v-96f285f6],
.dws-muted[data-v-96f285f6],
.dws-summary[data-v-96f285f6],
.dws-warn[data-v-96f285f6] {
  margin: 4px 0 0;
  font-size: 13px;
  color: #64748b;
  line-height: 1.5;
}
.dws-error[data-v-96f285f6] {
  margin: 0;
  color: #b91c1c;
  font-size: 13px;
}
.dws-warn[data-v-96f285f6] {
  color: #b45309;
}
.dws-close[data-v-96f285f6] {
  border: 0;
  background: transparent;
  font-size: 22px;
  cursor: pointer;
  color: #64748b;
}
.dws-body[data-v-96f285f6] {
  padding: 12px 16px 16px;
  overflow: auto;
  min-height: 180px;
}
.dws-cols[data-v-96f285f6] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
@media (max-width: 800px) {
.dws-cols[data-v-96f285f6] {
    grid-template-columns: 1fr;
}
}
.dws-cols h5[data-v-96f285f6] {
  margin: 0 0 8px;
  font-size: 13px;
}
.dws-table-wrap[data-v-96f285f6] {
  max-height: 360px;
  overflow: auto;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
}
table[data-v-96f285f6] {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}
th[data-v-96f285f6],
td[data-v-96f285f6] {
  padding: 6px 8px;
  text-align: left;
  border-bottom: 1px solid #eef2f6;
  vertical-align: top;
}
th[data-v-96f285f6] {
  background: #f8fafc;
  position: sticky;
  top: 0;
}
.dept-staff-ghost-btn[data-v-96f285f6] {
  min-height: 36px;
  padding: 6px 12px;
  border-radius: 8px;
  border: 1px solid color-mix(in srgb, var(--sidebar-teal, #0f766e) 22%, #dbe7ea);
  background: color-mix(in srgb, var(--sidebar-teal, #0f766e) 8%, #fff);
  color: #0f172a;
  cursor: pointer;
}

.text-option-picker-field[data-v-4152adb1] {
  position: relative;
  display: flex;
  flex-direction: column;
  font-size: 12px;
}
.text-option-picker-inline[data-v-4152adb1] {
  position: relative;
  display: block;
  width: 100%;
  min-width: 0;
}
.text-option-picker-inline input[data-v-4152adb1] {
  width: 100%;
  padding-right: 38px;
  box-sizing: border-box;
}
.text-option-picker-inline .sales-customer-more[data-v-4152adb1] {
  position: absolute;
  right: 2px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
  width: 30px;
  height: 30px;
  min-width: 30px;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  cursor: pointer;
  pointer-events: auto;
}
.text-option-dialog-mask[data-v-4152adb1] {
  position: fixed;
  inset: 0;
  z-index: 12600;
  background: rgba(15, 23, 42, 0.35);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  box-sizing: border-box;
}
.text-option-dialog[data-v-4152adb1] {
  position: relative;
  z-index: 1;
  width: min(640px, 100%);
  max-height: min(80vh, 720px);
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 10px;
  border: 1px solid var(--border-light, #e2e8f0);
  box-shadow: 0 20px 50px rgba(15, 23, 42, 0.2);
  overflow: hidden;
}
.text-option-dialog-head[data-v-4152adb1] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
  padding: 12px 14px;
  border-bottom: 1px solid var(--border-light, #e2e8f0);
  background: linear-gradient(180deg, #f8fcfd 0%, #f0f9fb 100%);
}
.text-option-dialog-head strong[data-v-4152adb1] {
  font-size: 16px;
  font-weight: 700;
  color: #0f172a;
}
.text-option-dialog-close[data-v-4152adb1] {
  width: 32px;
  height: 32px;
  border: none;
  border-radius: 8px;
  background: #f1f5f9;
  color: #64748b;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.text-option-dialog-close[data-v-4152adb1]:hover {
  background: #e2e8f0;
  color: #334155;
}
.text-option-dialog-toolbar[data-v-4152adb1] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--border-light, #e2e8f0);
  flex-shrink: 0;
}
.text-option-dialog-search[data-v-4152adb1] {
  flex: 1;
  min-width: 160px;
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid var(--border-light, #e2e8f0);
  font-size: 13px;
}
.text-option-dialog-page-size[data-v-4152adb1] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: #64748b;
}
.text-option-dialog-select[data-v-4152adb1] {
  padding: 4px 8px;
  border-radius: 6px;
  border: 1px solid var(--border-light, #e2e8f0);
}
.text-option-dialog-add[data-v-4152adb1] {
  border: 1px dashed #94a3b8;
  background: #f8fafc;
  color: #0a5f6e;
  border-radius: 8px;
  padding: 6px 12px;
  font-size: 12px;
  cursor: pointer;
}
.text-option-dialog-add[data-v-4152adb1]:hover {
  background: #f0f9fb;
  border-color: #5fb8c1;
}
.text-option-dialog-body[data-v-4152adb1] {
  flex: 1 1 auto;
  min-height: 200px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.text-option-dialog-table-wrap[data-v-4152adb1] {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  padding: 0 12px 12px;
}
.text-option-dialog-table[data-v-4152adb1] {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}
.text-option-dialog-table th[data-v-4152adb1],
.text-option-dialog-table td[data-v-4152adb1] {
  border-bottom: 1px solid var(--border-light, #e2e8f0);
  padding: 8px;
  text-align: left;
}
.text-option-dialog-table tbody tr[data-v-4152adb1] {
  cursor: pointer;
}
.text-option-dialog-table tbody tr[data-v-4152adb1]:hover {
  background: var(--table-row-hover, #f8fafc);
}
.text-option-dialog-row--active td[data-v-4152adb1] {
  background: rgba(95, 184, 193, 0.14);
}
.text-option-dialog-row-btn[data-v-4152adb1] {
  border: 1px solid var(--border-light, #e2e8f0);
  background: #fff;
  border-radius: 6px;
  padding: 4px 10px;
  font-size: 12px;
  cursor: pointer;
  color: #0a5f6e;
}
.text-option-dialog-row-btn[data-v-4152adb1]:hover {
  background: #f0f9fb;
}
.text-option-dialog-foot[data-v-4152adb1] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
  padding: 10px 14px;
  border-top: 1px solid var(--border-light, #e2e8f0);
  flex-shrink: 0;
  background: #f8fafc;
}
.text-option-dialog-foot-left[data-v-4152adb1],
.text-option-dialog-foot-right[data-v-4152adb1] {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.text-option-dialog-page-info[data-v-4152adb1] {
  font-size: 12px;
  color: #64748b;
}
.text-option-dialog-foot-btn[data-v-4152adb1] {
  border: 1px solid var(--border-light, #e2e8f0);
  background: #fff;
  border-radius: 8px;
  padding: 6px 14px;
  font-size: 12px;
  cursor: pointer;
}
.text-option-dialog-foot-btn--primary[data-v-4152adb1] {
  background: var(--sidebar-teal, #5fb8c1);
  border-color: var(--sidebar-teal, #5fb8c1);
  color: #fff;
  font-weight: 600;
}
.text-option-dialog-foot-btn--primary[data-v-4152adb1]:hover {
  filter: brightness(0.95);
}
.text-option-quick-table th[data-v-4152adb1],
.text-option-quick-table td[data-v-4152adb1] {
  text-align: left;
}

.help-popover-wrap[data-v-bc853ca6] {
  position: relative;
  display: inline-flex;
}
.help-popover-trigger[data-v-bc853ca6] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 1px solid #f59e0b;
  color: #b45309;
  background: #fffbeb;
  font-size: 12px;
  font-weight: 700;
  cursor: help;
  outline: none;
}
.help-popover-panel[data-v-bc853ca6] {
  position: absolute;
  top: 24px;
  left: 0;
  min-width: 260px;
  max-width: 360px;
  padding: 8px 10px;
  border: 1px solid #f59e0b;
  border-radius: 8px;
  background: #fff7ed;
  color: #7c2d12;
  font-size: 12px;
  line-height: 1.5;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.16);
  z-index: 8;
}

.home-bidding-fee[data-v-12bbd8e3] {
  position: relative;
  flex-shrink: 0;
}
.home-bidding-fee-trigger[data-v-12bbd8e3] {
  margin: 0;
  padding: 8px 14px;
  border: 1px solid var(--input-border, #d5dde7);
  border-radius: 10px;
  background: #fff;
  color: var(--crm-page-title-color, #1a3a4a);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  box-shadow: var(--input-inner-shadow, none);
}
.home-bidding-fee-trigger[data-v-12bbd8e3]:hover,
.home-bidding-fee-trigger--open[data-v-12bbd8e3] {
  border-color: color-mix(in srgb, var(--sidebar-teal) 40%, #d5dde7);
  background: color-mix(in srgb, var(--sidebar-teal) 8%, #ffffff);
}
.home-bidding-fee-panel[data-v-12bbd8e3] {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  width: min(560px, calc(100vw - 32px));
  max-height: min(72vh, 680px);
  overflow: auto;
  padding: 14px;
  border: 1px solid var(--input-border, #d5dde7);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.14);
  z-index: 40;
}
.home-bidding-fee-head[data-v-12bbd8e3] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}
.home-bidding-fee-head strong[data-v-12bbd8e3] {
  font-size: 15px;
  color: var(--crm-page-title-color, #1a3a4a);
}
.home-bidding-fee-close[data-v-12bbd8e3] {
  width: 28px;
  height: 28px;
  border: none;
  border-radius: 8px;
  background: transparent;
  color: #78909c;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
}
.home-bidding-fee-close[data-v-12bbd8e3]:hover {
  background: #f1f5f9;
}
.home-bidding-fee-note[data-v-12bbd8e3] {
  margin: 0 0 12px;
  font-size: 12px;
  color: #78909c;
  line-height: 1.5;
}
.home-bidding-fee-form[data-v-12bbd8e3] {
  display: grid;
  gap: 10px;
  margin-bottom: 12px;
}
.home-bidding-fee-types[data-v-12bbd8e3] {
  margin: 0;
  padding: 10px 12px;
  border: 1px solid #e8ecf1;
  border-radius: 10px;
  background: #fafbfc;
}
.home-bidding-fee-types legend[data-v-12bbd8e3] {
  padding: 0 4px;
  font-size: 12px;
  color: #607d8b;
}
.home-bidding-fee-type[data-v-12bbd8e3] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-right: 14px;
  font-size: 13px;
  color: var(--crm-page-title-color, #1a3a4a);
  cursor: pointer;
}
.home-bidding-fee-form[data-v-12bbd8e3] {
  grid-template-columns: minmax(0, 1fr) 160px;
}
.home-bidding-fee-types[data-v-12bbd8e3] {
  grid-column: 1 / -1;
}
.home-bidding-fee-field[data-v-12bbd8e3] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 12px;
  color: #607d8b;
}
.home-bidding-fee-field input[data-v-12bbd8e3] {
  width: 100%;
  margin: 0;
  padding: 8px 10px;
  border: 1px solid var(--input-border, #d5dde7);
  border-radius: 8px;
  font-size: 14px;
  color: var(--crm-page-title-color, #1a3a4a);
  background: #fff;
}
.home-bidding-fee-field-hint[data-v-12bbd8e3] {
  font-size: 11px;
  color: #90a4ae;
  line-height: 1.4;
}
.home-bidding-fee-summary[data-v-12bbd8e3] {
  display: grid;
  gap: 8px;
  padding: 10px 12px;
  margin-bottom: 12px;
  border-radius: 10px;
  background: color-mix(in srgb, var(--sidebar-teal) 8%, #ffffff);
}
.home-bidding-fee-summary-row[data-v-12bbd8e3] {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
}
.home-bidding-fee-summary-row--accent .home-bidding-fee-amount-lower[data-v-12bbd8e3] {
  color: var(--sidebar-teal, #0d7377);
}
.home-bidding-fee-summary-label[data-v-12bbd8e3] {
  font-size: 12px;
  color: #607d8b;
  line-height: 1.6;
}
.home-bidding-fee-summary-label small[data-v-12bbd8e3] {
  display: block;
  margin-top: 2px;
  font-size: 11px;
  color: #90a4ae;
}
.home-bidding-fee-amount-lower[data-v-12bbd8e3] {
  font-size: 15px;
  font-weight: 700;
  color: var(--crm-page-title-color, #1a3a4a);
}
.home-bidding-fee-amount-upper[data-v-12bbd8e3] {
  margin-top: 2px;
  font-size: 12px;
  color: #546e7a;
  line-height: 1.45;
  word-break: break-all;
}
.home-bidding-fee-breakdown-head[data-v-12bbd8e3] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}
.home-bidding-fee-breakdown-head strong[data-v-12bbd8e3] {
  font-size: 13px;
  color: var(--crm-page-title-color, #1a3a4a);
}
.home-bidding-fee-breakdown-head span[data-v-12bbd8e3] {
  font-size: 12px;
  color: #78909c;
}
.home-bidding-fee-breakdown-table-wrap[data-v-12bbd8e3] {
  overflow: auto;
  border: 1px solid #e8ecf1;
  border-radius: 10px;
}
.home-bidding-fee-breakdown-table[data-v-12bbd8e3] {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}
.home-bidding-fee-breakdown-table th[data-v-12bbd8e3],
.home-bidding-fee-breakdown-table td[data-v-12bbd8e3] {
  padding: 8px 10px;
  border-bottom: 1px solid #eef2f6;
  text-align: left;
  vertical-align: top;
}
.home-bidding-fee-breakdown-table th[data-v-12bbd8e3] {
  background: #f8fafc;
  color: #607d8b;
  font-weight: 600;
  white-space: nowrap;
}
.home-bidding-fee-breakdown-table tbody tr:last-child td[data-v-12bbd8e3] {
  border-bottom: none;
}
@media (max-width: 640px) {
.home-bidding-fee-form[data-v-12bbd8e3] {
    grid-template-columns: 1fr;
}
}

.home-seam-stamp[data-v-01f2c1ed] {
  position: relative;
  flex-shrink: 0;
}
.home-seam-stamp-trigger[data-v-01f2c1ed] {
  margin: 0;
  padding: 8px 14px;
  border: 1px solid var(--input-border, #d5dde7);
  border-radius: 10px;
  background: #fff;
  color: var(--crm-page-title-color, #1a3a4a);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  box-shadow: var(--input-inner-shadow, none);
}
.home-seam-stamp-trigger[data-v-01f2c1ed]:hover,
.home-seam-stamp-trigger--open[data-v-01f2c1ed] {
  border-color: color-mix(in srgb, var(--sidebar-teal) 40%, #d5dde7);
  background: color-mix(in srgb, var(--sidebar-teal) 8%, #ffffff);
}
.home-seam-stamp-panel[data-v-01f2c1ed] {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  width: min(420px, calc(100vw - 32px));
  max-height: min(72vh, 640px);
  overflow: auto;
  padding: 14px;
  border: 1px solid var(--input-border, #d5dde7);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.14);
  z-index: 40;
}
.home-seam-stamp-head[data-v-01f2c1ed] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}
.home-seam-stamp-head strong[data-v-01f2c1ed] {
  font-size: 15px;
  color: var(--crm-page-title-color, #1a3a4a);
}
.home-seam-stamp-close[data-v-01f2c1ed] {
  width: 28px;
  height: 28px;
  border: none;
  border-radius: 8px;
  background: transparent;
  color: #78909c;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
}
.home-seam-stamp-close[data-v-01f2c1ed]:hover {
  background: #f1f5f9;
}
.home-seam-stamp-note[data-v-01f2c1ed] {
  margin: 0 0 10px;
  font-size: 12px;
  line-height: 1.5;
  color: #607d8b;
}
.home-seam-stamp-status[data-v-01f2c1ed] {
  margin: 0 0 10px;
  padding: 8px 10px;
  border-radius: 8px;
  font-size: 12px;
  line-height: 1.45;
  color: #0d7377;
  background: color-mix(in srgb, var(--sidebar-teal) 10%, #ffffff);
}
.home-seam-stamp-status--warn[data-v-01f2c1ed] {
  color: #b45309;
  background: #fff8e6;
}
.home-seam-stamp-form[data-v-01f2c1ed] {
  display: grid;
  gap: 12px;
  margin-bottom: 12px;
}
.home-seam-stamp-field[data-v-01f2c1ed] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 12px;
  color: #607d8b;
}
.home-seam-stamp-file-row[data-v-01f2c1ed] {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.home-seam-stamp-pick[data-v-01f2c1ed] {
  margin: 0;
  padding: 8px 12px;
  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 24%, #d5dde7);
  border-radius: 8px;
  background: #fff;
  color: var(--sidebar-teal, #0d7377);
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  flex-shrink: 0;
}
.home-seam-stamp-file-name[data-v-01f2c1ed] {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
  color: var(--crm-page-title-color, #1a3a4a);
}
.home-seam-stamp-hidden[data-v-01f2c1ed] {
  display: none;
}
.home-seam-stamp-list[data-v-01f2c1ed] {
  list-style: none;
  margin: 8px 0 0;
  padding: 0;
  display: grid;
  gap: 6px;
}
.home-seam-stamp-item[data-v-01f2c1ed] {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  padding: 4px 6px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #fff;
}
.home-seam-stamp-item--active[data-v-01f2c1ed] {
  border-color: color-mix(in srgb, var(--sidebar-teal) 45%, #d5dde7);
  background: color-mix(in srgb, var(--sidebar-teal) 8%, #ffffff);
}
.home-seam-stamp-item-pick[data-v-01f2c1ed] {
  flex: 1;
  min-width: 0;
  margin: 0;
  padding: 4px 2px;
  border: none;
  background: transparent;
  text-align: left;
  font-size: 12px;
  color: var(--crm-page-title-color, #1a3a4a);
  cursor: pointer;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.home-seam-stamp-item-del[data-v-01f2c1ed] {
  flex-shrink: 0;
  margin: 0;
  padding: 4px 8px;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: #c62828;
  font-size: 12px;
  cursor: pointer;
}
.home-seam-stamp-item-del[data-v-01f2c1ed]:hover:not(:disabled) {
  background: #fdecea;
}
.home-seam-stamp-item-del[data-v-01f2c1ed]:disabled,
.home-seam-stamp-pick[data-v-01f2c1ed]:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}
.home-seam-stamp-preview[data-v-01f2c1ed] {
  display: flex;
  justify-content: center;
  padding: 10px;
  border: 1px dashed #d5dde7;
  border-radius: 10px;
  background: #fafbfc;
}
.home-seam-stamp-preview img[data-v-01f2c1ed] {
  max-width: 120px;
  max-height: 120px;
  object-fit: contain;
}
.home-seam-stamp-options[data-v-01f2c1ed] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.home-seam-stamp-check[data-v-01f2c1ed] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: var(--crm-page-title-color, #1a3a4a);
  cursor: pointer;
}
.home-seam-stamp-check input[data-v-01f2c1ed] {
  width: auto;
  margin: 0;
}
.home-seam-stamp-field input[data-v-01f2c1ed],
.home-seam-stamp-field select[data-v-01f2c1ed] {
  width: 100%;
  margin: 0;
  padding: 8px 10px;
  border: 1px solid var(--input-border, #d5dde7);
  border-radius: 8px;
  font-size: 14px;
  color: var(--crm-page-title-color, #1a3a4a);
  background: #fff;
}
.home-seam-stamp-error[data-v-01f2c1ed] {
  margin: 0 0 10px;
  font-size: 12px;
  line-height: 1.45;
  color: #c62828;
}
.home-seam-stamp-submit[data-v-01f2c1ed] {
  width: 100%;
  margin: 0;
  padding: 10px 14px;
  border: none;
  border-radius: 10px;
  background: var(--sidebar-teal, #0d7377);
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
}
.home-seam-stamp-submit[data-v-01f2c1ed]:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}
.home-seam-stamp-submit[data-v-01f2c1ed]:not(:disabled):hover {
  filter: brightness(1.05);
}

.home-tax-split[data-v-21de7126] {
  position: relative;
  flex-shrink: 0;
}
.home-tax-split-trigger[data-v-21de7126] {
  margin: 0;
  padding: 8px 14px;
  border: 1px solid var(--input-border, #d5dde7);
  border-radius: 10px;
  background: #fff;
  color: var(--crm-page-title-color, #1a3a4a);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  box-shadow: var(--input-inner-shadow, none);
}
.home-tax-split-trigger[data-v-21de7126]:hover,
.home-tax-split-trigger--open[data-v-21de7126] {
  border-color: color-mix(in srgb, var(--sidebar-teal) 40%, #d5dde7);
  background: color-mix(in srgb, var(--sidebar-teal) 8%, #ffffff);
}
.home-tax-split-panel[data-v-21de7126] {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  width: min(520px, calc(100vw - 32px));
  max-height: min(72vh, 640px);
  overflow: auto;
  padding: 14px;
  border: 1px solid var(--input-border, #d5dde7);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.14);
  z-index: 40;
}
.home-tax-split-head[data-v-21de7126] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}
.home-tax-split-head strong[data-v-21de7126] {
  font-size: 15px;
  color: var(--crm-page-title-color, #1a3a4a);
}
.home-tax-split-close[data-v-21de7126] {
  width: 28px;
  height: 28px;
  border: none;
  border-radius: 8px;
  background: transparent;
  color: #78909c;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
}
.home-tax-split-close[data-v-21de7126]:hover {
  background: #f1f5f9;
}
.home-tax-split-form[data-v-21de7126] {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 120px;
  gap: 10px;
  margin-bottom: 12px;
}
.home-tax-split-field[data-v-21de7126] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 12px;
  color: #607d8b;
}
.home-tax-split-field input[data-v-21de7126],
.home-tax-split-tier-count select[data-v-21de7126],
.home-tax-split-tier-pct input[data-v-21de7126] {
  width: 100%;
  margin: 0;
  padding: 8px 10px;
  border: 1px solid var(--input-border, #d5dde7);
  border-radius: 8px;
  font-size: 14px;
  color: var(--crm-page-title-color, #1a3a4a);
  background: #fff;
}
.home-tax-split-summary[data-v-21de7126] {
  display: grid;
  gap: 8px;
  padding: 10px 12px;
  margin-bottom: 12px;
  border-radius: 10px;
  background: color-mix(in srgb, var(--sidebar-teal) 8%, #ffffff);
}
.home-tax-split-summary-row[data-v-21de7126] {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
}
.home-tax-split-summary-label[data-v-21de7126] {
  font-size: 12px;
  color: #607d8b;
  line-height: 1.6;
}
.home-tax-split-amount-lower[data-v-21de7126] {
  font-size: 14px;
  font-weight: 600;
  color: var(--crm-page-title-color, #1a3a4a);
}
.home-tax-split-amount-upper[data-v-21de7126] {
  margin-top: 2px;
  font-size: 12px;
  color: #546e7a;
  line-height: 1.45;
  word-break: break-all;
}
.home-tax-split-tiers-head[data-v-21de7126] {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 6px;
}
.home-tax-split-tier-count[data-v-21de7126] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 120px;
  font-size: 12px;
  color: #607d8b;
}
.home-tax-split-even-btn[data-v-21de7126] {
  margin: 0;
  padding: 8px 10px;
  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 24%, #d5dde7);
  border-radius: 8px;
  background: #fff;
  color: var(--sidebar-teal, #0d7377);
  font-size: 12px;
  cursor: pointer;
}
.home-tax-split-tier-hint[data-v-21de7126] {
  margin: 0 0 10px;
  font-size: 12px;
  color: #78909c;
}
.home-tax-split-tier-hint--warn[data-v-21de7126] {
  color: #c62828;
}
.home-tax-split-tier-list[data-v-21de7126] {
  display: grid;
  gap: 10px;
}
.home-tax-split-tier-card[data-v-21de7126] {
  padding: 10px 12px;
  border: 1px solid #e8ecf1;
  border-radius: 10px;
  background: #fafbfc;
}
.home-tax-split-tier-title[data-v-21de7126] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
  font-size: 13px;
  font-weight: 600;
  color: var(--crm-page-title-color, #1a3a4a);
}
.home-tax-split-tier-pct[data-v-21de7126] {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 132px;
  font-size: 12px;
  font-weight: 400;
  color: #607d8b;
}
.home-tax-split-tier-pct input[data-v-21de7126] {
  width: 72px;
}
.home-tax-split-tier-amounts[data-v-21de7126] {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.home-tax-split-tier-amount-block[data-v-21de7126] {
  min-width: 0;
}
.home-tax-split-tier-amount-label[data-v-21de7126] {
  display: block;
  margin-bottom: 4px;
  font-size: 11px;
  color: #78909c;
}
@media (max-width: 640px) {
.home-tax-split-form[data-v-21de7126] {
    grid-template-columns: 1fr;
}
.home-tax-split-tier-amounts[data-v-21de7126] {
    grid-template-columns: 1fr;
}
}


/* 与首页「我的项目」卡片一致；子组件无法继承 App.vue scoped 样式，故在此复用 */
.home-card[data-v-31f0164f] {

  background: rgba(255, 255, 255, 0.92);

  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 14%, var(--border-light));

  border-radius: 12px;

  padding: 14px 16px;

  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06);
}
.home-card-head[data-v-31f0164f] {

  display: flex;

  align-items: center;

  justify-content: space-between;

  margin-bottom: 12px;

  padding-bottom: 8px;

  border-bottom: 1px solid color-mix(in srgb, var(--sidebar-teal) 12%, var(--border-light));
}
.home-card-title[data-v-31f0164f] {

  margin: 0;

  font-size: 16px;

  font-weight: 700;

  color: var(--crm-page-title-color);
}
.home-card-filter[data-v-31f0164f] {

  font-size: 12px;

  color: #90a4ae;
}
.home-metric-grid[data-v-31f0164f] {

  display: grid;

  gap: 12px;
}
.home-metric-grid--4[data-v-31f0164f] {

  grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 900px) {
.home-metric-grid--4[data-v-31f0164f] {

    grid-template-columns: repeat(2, 1fr);
}
}
.home-metric[data-v-31f0164f] {

  display: flex;

  align-items: center;

  gap: 10px;

  padding: 10px;

  background: #fafbfc;

  border-radius: 8px;

  border: 1px solid #f0f3f6;
}
.home-metric-icon[data-v-31f0164f] {

  width: 36px;

  height: 36px;

  border-radius: 8px;

  display: flex;

  align-items: center;

  justify-content: center;

  font-size: 13px;

  font-weight: 700;

  flex-shrink: 0;
}
.home-metric-icon--green[data-v-31f0164f] {

  background: rgba(95, 184, 193, 0.16);

  color: var(--ui-accent-ink);
}
.home-metric-icon--warn[data-v-31f0164f] {

  background: rgba(244, 67, 54, 0.12);

  color: #c62828;
}
.home-metric-icon--muted[data-v-31f0164f] {

  background: #eceff1;

  color: #78909c;
}
.home-metric-value[data-v-31f0164f] {

  font-size: 20px;

  font-weight: 700;

  color: #263238;
}
.home-metric-label[data-v-31f0164f] {

  font-size: 12px;

  color: #78909c;
}
.home-metric--clickable[data-v-31f0164f] {

  cursor: pointer;

  text-align: left;

  width: 100%;

  font: inherit;

  color: inherit;

  appearance: none;

  margin: 0;

  transition: border-color 0.15s, box-shadow 0.15s;
}
.home-metric--clickable[data-v-31f0164f]:hover {

  border-color: color-mix(in srgb, var(--sidebar-teal) 28%, #f0f3f6);

  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
}
.home-customer-ops-hint[data-v-31f0164f] {

  margin: 10px 0 0;

  font-size: 11px;

  color: #90a4ae;

  line-height: 1.4;
}
.home-top-debt[data-v-31f0164f] {

  margin-top: 14px;

  padding-top: 12px;

  border-top: 1px solid #f0f3f6;
}
.home-top-debt-head[data-v-31f0164f] {

  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 10px;

  margin-bottom: 8px;
}
.home-top-debt-title[data-v-31f0164f] {

  margin: 0;

  font-size: 13px;

  font-weight: 600;

  color: #455a64;
}
.home-top-debt-badge[data-v-31f0164f] {

  flex-shrink: 0;

  font-size: 11px;

  color: #607d8b;

  padding: 2px 8px;

  border-radius: 999px;

  background: #f5f7f9;

  border: 1px solid #eceff1;
}
.home-top-debt-list[data-v-31f0164f] {

  list-style: none;

  margin: 0;

  padding: 0;

  border: 1px solid #eef1f4;

  border-radius: 10px;

  overflow: hidden;

  background: #fff;
}
.home-top-debt-item[data-v-31f0164f] {

  display: grid;

  grid-template-columns: 28px minmax(0, 1fr) auto;

  align-items: center;

  gap: 10px;

  padding: 9px 12px;

  font-size: 13px;

  border-bottom: 1px solid #f0f3f6;
}
.home-top-debt-item[data-v-31f0164f]:last-child {

  border-bottom: none;
}
.home-top-debt-item[data-v-31f0164f]:nth-child(even) {

  background: #fafbfc;
}
.home-top-debt-rank[data-v-31f0164f] {

  width: 22px;

  height: 22px;

  border-radius: 6px;

  display: inline-flex;

  align-items: center;

  justify-content: center;

  font-size: 11px;

  font-weight: 700;

  color: #78909c;

  background: #eceff1;

  flex-shrink: 0;
}
.home-top-debt-rank--top[data-v-31f0164f] {

  color: #c62828;

  background: rgba(244, 67, 54, 0.12);
}
.home-top-debt-link[data-v-31f0164f] {

  margin: 0;

  padding: 0;

  border: none;

  background: none;

  box-shadow: none;

  color: var(--ui-accent-ink, #0f5b68);

  font: inherit;

  font-weight: 600;

  text-align: left;

  text-decoration: none;

  border-bottom: 1px solid color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 42%, transparent);

  cursor: pointer;

  min-width: 0;

  overflow: hidden;

  text-overflow: ellipsis;

  white-space: nowrap;
}
.home-top-debt-link[data-v-31f0164f]:hover {

  color: #0a4a55;

  border-bottom-color: color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 72%, transparent);
}
.home-top-debt-link[data-v-31f0164f]:focus-visible {

  outline: 2px solid color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 55%, transparent);

  outline-offset: 2px;

  border-bottom-color: transparent;
}
.home-top-debt-amt[data-v-31f0164f] {

  font-weight: 700;

  color: #263238;

  font-variant-numeric: tabular-nums;

  white-space: nowrap;
}
.home-top-debt-empty[data-v-31f0164f] {

  margin: 0;

  padding: 16px 10px;

  text-align: center;

  font-size: 13px;

  color: #90a4ae;

  border: 1px dashed #e2e8f0;

  border-radius: 10px;

  background: #fafbfc;
}


.hs-settings-mask[data-v-93be1b45] {
  position: fixed;
  inset: 0;
  z-index: 12600;
  background: var(--ui-dialog-mask, rgba(2, 8, 23, 0.34));
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 16px;
}
.hs-settings-dialog[data-v-93be1b45] {
  width: min(920px, 96vw);
  max-height: 88vh;
  background: #fff;
  border-radius: 8px;
  border: 1px solid var(--border-soft, #e2e8f0);
  box-shadow: var(--ui-dialog-shadow, 0 18px 40px rgba(15, 23, 42, 0.2));
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.hs-settings-head[data-v-93be1b45] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 14px;
  border-bottom: 1px solid #e5e7eb;
  background: #f3f6fb;
  color: var(--crm-page-title-color, #0a5f6e);
  font-size: 15px;
}
.hs-settings-close[data-v-93be1b45] {
  border: none;
  background: transparent;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  color: #64748b;
}
.hs-settings-selected[data-v-93be1b45] {
  padding: 12px 14px 8px;
  border-bottom: 1px solid #eef2f6;
  background: color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 4%, #ffffff);
}
.hs-settings-selected-empty[data-v-93be1b45] {
  font-size: 12px;
  color: #94a3b8;
  padding: 10px 0 6px;
}
.hs-settings-selected-row[data-v-93be1b45] {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  min-height: 72px;
  align-items: flex-start;
}
.hs-settings-chip[data-v-93be1b45] {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 72px;
  padding: 6px 4px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  cursor: grab;
  color: #455a64;
  user-select: none;
  touch-action: none;
}
.hs-settings-chip[data-v-93be1b45]:hover {
  border-color: color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 35%, #e8ecf1);
  background: #fff;
}
.hs-settings-chip--dragging[data-v-93be1b45] {
  opacity: 0.45;
  cursor: grabbing;
}
.hs-settings-chip--drag-over[data-v-93be1b45] {
  border-color: var(--sidebar-teal, #5fb8c1);
  background: color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 12%, #ffffff);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 22%, transparent);
}
.hs-settings-chip-icon[data-v-93be1b45] {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: rgba(95, 184, 193, 0.14);
  color: var(--ui-accent-ink, #0a5f6e);
  font-weight: 700;
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 4px;
  pointer-events: none;
}
.hs-settings-chip-label[data-v-93be1b45] {
  font-size: 11px;
  line-height: 1.25;
  text-align: center;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  pointer-events: none;
}
.hs-settings-chip-x[data-v-93be1b45] {
  position: absolute;
  top: 0;
  right: 2px;
  z-index: 1;
  width: 16px;
  height: 16px;
  padding: 0;
  border-radius: 50%;
  background: #fff;
  border: 1px solid #e2e8f0;
  font-size: 12px;
  line-height: 14px;
  color: #94a3b8;
  opacity: 0;
  cursor: pointer;
}
.hs-settings-chip:hover .hs-settings-chip-x[data-v-93be1b45],
.hs-settings-chip--drag-over .hs-settings-chip-x[data-v-93be1b45] {
  opacity: 1;
}
.hs-settings-chip-x[data-v-93be1b45]:hover {
  color: #b91c1c;
  border-color: #fecaca;
}
.hs-settings-selected-meta[data-v-93be1b45] {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 6px;
  font-size: 12px;
  color: #64748b;
}
.hs-settings-drag-hint[data-v-93be1b45] {
  color: #94a3b8;
}
.hs-settings-reset[data-v-93be1b45] {
  border: none;
  background: none;
  padding: 0;
  color: var(--ui-accent-ink, #0a5f6e);
  cursor: pointer;
  font-size: 12px;
  text-decoration: underline;
}
.hs-settings-body[data-v-93be1b45] {
  display: grid;
  grid-template-columns: 168px 1fr;
  min-height: 320px;
  flex: 1;
  overflow: hidden;
}
.hs-settings-nav[data-v-93be1b45] {
  border-right: 1px solid #eef2f6;
  overflow: auto;
  padding: 8px 0;
  background: #fafbfc;
}
.hs-settings-nav-item[data-v-93be1b45] {
  display: block;
  width: 100%;
  text-align: left;
  border: none;
  border-left: 3px solid transparent;
  background: transparent;
  padding: 10px 12px;
  font-size: 13px;
  color: #334155;
  cursor: pointer;
}
.hs-settings-nav-item[data-v-93be1b45]:hover {
  background: color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 8%, #ffffff);
}
.hs-settings-nav-item--active[data-v-93be1b45] {
  background: color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 14%, #ffffff);
  border-left-color: var(--sidebar-teal, #5fb8c1);
  color: var(--ui-accent-ink, #0a5f6e);
  font-weight: 600;
}
.hs-settings-list[data-v-93be1b45] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px 12px;
  align-content: start;
  padding: 10px 14px;
  overflow: auto;
}
.hs-settings-list-item[data-v-93be1b45] {
  display: grid;
  grid-template-columns: 22px 1fr auto;
  align-items: center;
  gap: 8px;
  border: none;
  background: transparent;
  padding: 8px 6px;
  border-radius: 6px;
  cursor: pointer;
  text-align: left;
  color: #1f2937;
  font-size: 13px;
}
.hs-settings-list-item[data-v-93be1b45]:hover:not(:disabled) {
  background: color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 8%, #ffffff);
}
.hs-settings-list-item--on[data-v-93be1b45] {
  color: #94a3b8;
  cursor: default;
}
.hs-settings-list-item[data-v-93be1b45]:disabled:not(.hs-settings-list-item--on) {
  opacity: 0.45;
  cursor: not-allowed;
}
.hs-settings-plus[data-v-93be1b45] {
  width: 20px;
  height: 20px;
  border-radius: 4px;
  border: 1px solid color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 40%, #d1d5db);
  color: var(--sidebar-teal, #5fb8c1);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  background: #fff;
}
.hs-settings-list-item--on .hs-settings-plus[data-v-93be1b45] {
  border-color: #cbd5e1;
  color: #94a3b8;
  background: #f8fafc;
}
.hs-settings-list-label[data-v-93be1b45] {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hs-settings-list-col[data-v-93be1b45] {
  font-size: 11px;
  color: #94a3b8;
  white-space: nowrap;
}
.hs-settings-list-empty[data-v-93be1b45] {
  grid-column: 1 / -1;
  margin: 24px 0;
  text-align: center;
  font-size: 13px;
  color: #94a3b8;
}
.hs-settings-foot[data-v-93be1b45] {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding: 12px 14px;
  border-top: 1px solid #e5e7eb;
  background: #fafafa;
}
.hs-settings-cancel[data-v-93be1b45] {
  min-width: 96px;
  height: 36px;
  border-radius: 4px;
  border: 1px solid #d1d5db;
  background: #fff;
  cursor: pointer;
  font-size: 14px;
  color: #334155;
}
.hs-settings-confirm[data-v-93be1b45] {
  min-width: 110px;
  height: 36px;
}
@media (max-width: 720px) {
.hs-settings-body[data-v-93be1b45] {
    grid-template-columns: 120px 1fr;
}
.hs-settings-list[data-v-93be1b45] {
    grid-template-columns: 1fr;
}
}

.order-line-import-mask[data-v-6a1efb34] {
  position: fixed;
  inset: 0;
  z-index: 20000;
  background: rgba(15, 23, 42, 0.45);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
}
.order-line-import-dialog[data-v-6a1efb34] {
  width: min(920px, 94vw);
  max-height: min(88vh, 760px);
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 12px;
  border: 1px solid #e2e8f0;
  box-shadow: 0 20px 50px rgba(15, 23, 42, 0.25);
  overflow: hidden;
}
.order-line-import-head[data-v-6a1efb34] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
  padding: 12px 14px;
  background: linear-gradient(180deg, #f8fcfd 0%, #f0f9fb 100%);
  border-bottom: 1px solid #e2e8f0;
}
.order-line-import-head strong[data-v-6a1efb34] {
  font-size: 16px;
  font-weight: 700;
  color: #0f172a;
}
.partner-unit-dialog-close[data-v-6a1efb34] {
  width: 32px;
  height: 32px;
  border: none;
  border-radius: 8px;
  background: #f1f5f9;
  color: #64748b;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}
.order-line-import-body[data-v-6a1efb34] {
  padding: 12px 16px 16px;
  overflow: auto;
  min-height: 0;
  flex: 1 1 auto;
}
.order-line-import-desc[data-v-6a1efb34] {
  margin: 0 0 12px;
  font-size: 12px;
  color: #64748b;
  line-height: 1.55;
}
.order-line-import-status[data-v-6a1efb34] {
  margin: 0 0 12px;
  padding: 10px 12px;
  border-radius: 8px;
  font-size: 13px;
  line-height: 1.5;
}
.order-line-import-status--info[data-v-6a1efb34] {
  background: #eff6ff;
  color: #1d4ed8;
  border: 1px solid #bfdbfe;
}
.order-line-import-status--error[data-v-6a1efb34] {
  background: #fef2f2;
  color: #b91c1c;
  border: 1px solid #fecaca;
}
.order-line-import-category[data-v-6a1efb34] {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 12px;
  max-width: 420px;
}
.order-line-import-category-label[data-v-6a1efb34] {
  font-size: 12px;
  color: #334155;
}
.order-line-import-stats[data-v-6a1efb34] {
  margin-bottom: 10px;
  padding: 8px 10px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  font-size: 12px;
  color: #334155;
}
.order-line-import-table-wrap[data-v-6a1efb34] {
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  overflow: auto;
  max-height: 360px;
}
.order-line-import-table[data-v-6a1efb34] {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}
.order-line-import-table th[data-v-6a1efb34],
.order-line-import-table td[data-v-6a1efb34] {
  border-bottom: 1px solid #e2e8f0;
  padding: 8px;
  text-align: left;
}
.order-line-import-tag[data-v-6a1efb34] {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 11px;
  background: #f1f5f9;
  color: #475569;
}
.order-line-import-tag--ok[data-v-6a1efb34] {
  background: #ecfdf5;
  color: #047857;
}
.order-line-import-tag--warn[data-v-6a1efb34] {
  background: #fff7ed;
  color: #c2410c;
}
.order-line-import-tag--skip[data-v-6a1efb34] {
  background: #fef2f2;
  color: #b91c1c;
}
.order-line-import-empty[data-v-6a1efb34] {
  margin: 0;
  padding: 24px;
  text-align: center;
  color: #64748b;
  font-size: 13px;
}
.order-line-import-foot[data-v-6a1efb34] {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  flex-shrink: 0;
  padding: 10px 14px;
  border-top: 1px solid #e2e8f0;
}
.sales-customer-foot-btn[data-v-6a1efb34] {
  min-height: 34px;
  padding: 6px 14px;
  border-radius: 8px;
  border: 1px solid #d5dde7;
  background: #fff;
  cursor: pointer;
}
.sales-customer-foot-btn--primary[data-v-6a1efb34] {
  background: #0a5f6e;
  border-color: #0a5f6e;
  color: #fff;
}
.sales-customer-foot-btn[data-v-6a1efb34]:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.expense-oa-header-grid[data-v-65b55fe4] {
  margin-bottom: 0;
}
.expense-oa-loan-extra[data-v-65b55fe4] {
  margin-top: 8px;
}

.sales-history-stats[data-v-adaeda10] {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 8px;
}
.sales-history-stats-total[data-v-adaeda10] {
  margin-left: 6px;
  color: var(--text-muted-light);
  font-size: 12px;
}
.inv-stat-badge[data-v-adaeda10] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  border: 1px solid transparent;
}
.inv-stat-badge--draft[data-v-adaeda10] {
  background: #fff7ed;
  border-color: #fed7aa;
  color: #9a3412;
}
.inv-stat-badge--neutral[data-v-adaeda10] {
  background: #eff6ff;
  border-color: #bfdbfe;
  color: #1d4ed8;
}
.inv-stat-badge--warn[data-v-adaeda10] {
  background: #fef3c7;
  border-color: #fde68a;
  color: #92400e;
}

.inv-history-quick-time-bar[data-v-5e5ccd73] {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 8px;
}
.inv-history-quick-time-bar > button[data-v-5e5ccd73] {
  margin-right: 0;
  min-height: 36px;
  padding: 0 14px;
  border-radius: 8px;
  cursor: pointer;
  font-size: 13px;
  line-height: 1;
  color: var(--text-on-light);
  border: 1px solid var(--btn-frost-border);
  background: var(--btn-frost-bg);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: var(--btn-frost-shadow);
}
.inv-history-quick-time-bar > button[data-v-5e5ccd73]:hover {
  background: var(--btn-frost-bg-hover);
  border-color: var(--btn-frost-border-hover);
}
.inv-history-quick-time-bar > button.sub-tab-active[data-v-5e5ccd73] {
  background: rgba(95, 184, 193, 0.2);
  border-color: var(--sidebar-teal);
  color: #0a5f6e;
  font-weight: 600;
}

.history-quick-date-status[data-v-1436954f] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
  min-width: 0;
}
.history-quick-date-status[data-v-1436954f] .inv-history-quick-time-bar {
  width: 100%;
}
.history-quick-date-status .field-grid.sales-sheet-form.sales-history-filter-dates[data-v-1436954f] {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px 12px;
  align-items: start;
}
.history-quick-date-status .field-grid.sales-sheet-form.sales-history-filter-dates > label[data-v-1436954f] {
  display: flex;
  flex-direction: column;
  font-size: 12px;
  color: var(--text-on-light);
  margin: 0;
}
.history-quick-date-status .field-grid.sales-sheet-form.sales-history-filter-dates > label > span[data-v-1436954f] {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  line-height: 20px;
  margin-bottom: 4px;
}
.history-quick-date-status .field-grid.sales-sheet-form.sales-history-filter-dates > label > input[data-v-1436954f],
.history-quick-date-status .field-grid.sales-sheet-form.sales-history-filter-dates > label > select[data-v-1436954f] {
  width: 100%;
  height: 36px;
  font-size: 13px;
  color: #111827;
  background: #fff;
  border: 1px solid #d5dde7;
  border-radius: 8px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  box-sizing: border-box;
  margin-right: 0;
  margin-bottom: 0;
}
.history-quick-date-status .field-grid.sales-sheet-form.sales-history-filter-dates > label > input[data-v-1436954f]:focus-visible,
.history-quick-date-status .field-grid.sales-sheet-form.sales-history-filter-dates > label > select[data-v-1436954f]:focus-visible {
  outline: none;
  border-color: color-mix(in srgb, var(--sidebar-teal) 48%, #cbd5e1);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--sidebar-teal) 16%, transparent);
}

.field-grid[data-v-fed92504] {
  display: grid;
}
.sales-sheet-form[data-v-fed92504] {
  margin-bottom: 10px;
}
.sales-sheet-form > label[data-v-fed92504] {
  display: flex;
  flex-direction: column;
  font-size: 12px;
  color: var(--text-on-light);
  margin: 0;
  min-width: 0;
}
.sales-sheet-form > label > span[data-v-fed92504] {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  line-height: 20px;
  margin-bottom: 4px;
}
.sales-sheet-form > label > input[data-v-fed92504],
.sales-sheet-form > label > select[data-v-fed92504] {
  width: 100%;
  height: 36px;
  font-size: 13px;
  color: #111827;
  background: #fff;
  border: 1px solid #d5dde7;
  border-radius: 8px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  box-sizing: border-box;
  margin: 0;
  padding: 0 10px;
}
.sales-sheet-form > label > input[data-v-fed92504]:focus-visible,
.sales-sheet-form > label > select[data-v-fed92504]:focus-visible {
  outline: none;
  border-color: color-mix(in srgb, var(--sidebar-teal) 48%, #cbd5e1);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--sidebar-teal) 16%, transparent);
}
.er-history-filter-kw[data-v-fed92504] {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px 12px;
  align-items: start;
}
.history-filter-quick-cell[data-v-fed92504] {
  min-width: 0;
}
.history-filter-field-label[data-v-fed92504] {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  line-height: 20px;
  margin-bottom: 4px;
  font-size: 12px;
  color: var(--text-on-light);
}

.history-status-badge[data-v-9f3506af] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 2px 10px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  border: 1px solid transparent;
  white-space: nowrap;
}

/* Sales: doc status */
.history-status-badge--doc.history-status-badge--draft[data-v-9f3506af] {
  background: color-mix(in srgb, var(--sidebar-teal) 10%, #f1f5f9);
  color: #475569;
}
.history-status-badge--doc.history-status-badge--approved[data-v-9f3506af] {
  background: color-mix(in srgb, var(--sidebar-teal) 22%, #ffffff);
  color: #0f5b6a;
}
.history-status-badge--doc.history-status-badge--neutral[data-v-9f3506af] {
  background: #f1f5f9;
  color: #475569;
}

/* Sales: payment status */
.history-status-badge--payment.history-status-badge--na[data-v-9f3506af] {
  background: #f8fafc;
  color: #64748b;
}
.history-status-badge--payment.history-status-badge--paid[data-v-9f3506af] {
  background: #ecfdf5;
  color: #047857;
}
.history-status-badge--payment.history-status-badge--partial[data-v-9f3506af] {
  background: #fff7ed;
  color: #c2410c;
}
.history-status-badge--payment.history-status-badge--unpaid[data-v-9f3506af] {
  background: #fef2f2;
  color: #b91c1c;
}
.history-status-badge--payment.history-status-badge--refund_due[data-v-9f3506af] {
  background: #eff6ff;
  color: #1d4ed8;
}

/* Purchase: doc status */
.history-status-badge--purchase-doc.history-status-badge--draft[data-v-9f3506af] {
  background: #f8fafc;
  color: #64748b;
}
.history-status-badge--purchase-doc.history-status-badge--approved[data-v-9f3506af] {
  background: #ecfeff;
  color: #0a5f6e;
}
.history-status-badge--purchase-doc.history-status-badge--posted[data-v-9f3506af] {
  background: #ecfeff;
  color: #0a5f6e;
}
.history-status-badge--purchase-doc.history-status-badge--neutral[data-v-9f3506af] {
  background: #f1f5f9;
  color: #475569;
}

/* Purchase: pay status */
.history-status-badge--purchase-payment.history-status-badge--posted[data-v-9f3506af] {
  background: #ecfdf5;
  color: #047857;
}
.history-status-badge--purchase-payment.history-status-badge--unposted[data-v-9f3506af] {
  background: #fef2f2;
  color: #b91c1c;
}

.history-more-menu[data-v-7092665c] {
  position: relative;
  z-index: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  min-width: 0;
  min-height: 30px;
}
.history-more-menu--open[data-v-7092665c] {
  z-index: 2000;
  isolation: isolate;
}
.history-more-menu__primary[data-v-7092665c] {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}
.history-more-menu__cluster[data-v-7092665c] {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  gap: 6px;
}
.history-more-menu__trailing[data-v-7092665c] {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  gap: 6px;
}
.history-more-menu__hub[data-v-7092665c] {
  min-width: 52px;
  height: 28px;
  padding: 0 8px;
  border-radius: 8px;
  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 48%, #9ec9cf);
  background: color-mix(in srgb, var(--sidebar-teal) 12%, #ffffff);
  box-shadow: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.history-more-menu__hub[data-v-7092665c]:hover,
.history-more-menu__hub--on[data-v-7092665c] {
  border-color: var(--sidebar-teal);
  background: color-mix(in srgb, var(--sidebar-teal) 20%, #ffffff);
}
.history-more-menu__hub-txt[data-v-7092665c] {
  font-size: 11px;
  font-weight: 600;
  color: var(--ui-accent-ink, #0a5f6e);
  white-space: nowrap;
}
.history-more-menu-drop[data-v-7092665c] {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 5;
  width: max-content;
  min-width: 132px;
  max-width: min(92vw, 14rem);
}
.history-more-menu-drop__panel[data-v-7092665c] {
  display: flex;
  flex-direction: column;
  padding: 4px 0;
  background: #fff;
  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 32%, #e2e8f0);
  border-radius: 8px;
  box-shadow: 0 8px 20px color-mix(in srgb, var(--sidebar-teal) 14%, rgba(15, 23, 42, 0.12));
  max-height: min(70vh, 420px);
  overflow-y: auto;
}
[data-v-7092665c] .outbound-hist-drop__item {
  width: 100%;
  min-height: 30px;
  padding: 6px 12px;
  font-size: 12px;
  line-height: 1.35;
  text-align: left;
  border: none;
  background: transparent;
  color: #1e293b;
  white-space: nowrap;
  cursor: pointer;
}
[data-v-7092665c] .history-row-actions {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
}
[data-v-7092665c] .outbound-hist-drop__item:hover {
  background: color-mix(in srgb, var(--sidebar-teal) 10%, #f8fafc) !important;
  color: var(--ui-accent-ink, #0a5f6e);
}
[data-v-7092665c] .outbound-hist-drop__item + .outbound-hist-drop__item {
  border-top: 1px solid var(--border-light, #e5e7eb);
}

.history-toolbar[data-v-16da672f] {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}
.history-toolbar--compact[data-v-16da672f] {
  gap: 6px;
}

.history-row-actions[data-v-f47df495] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.hist-config-wrap[data-v-03fda1c5] {
  min-width: 0;
}
.hist-config-scroll-outer[data-v-03fda1c5] {
  overflow-x: auto;
  overflow-y: visible;
  max-width: 100%;
  min-width: 0;
  scrollbar-gutter: stable;
  -webkit-overflow-scrolling: touch;
}
.hist-config-table[data-v-03fda1c5] {
  table-layout: fixed;
  width: max-content;
  min-width: 100%;
  max-width: none;
}
.hist-config-th[data-v-03fda1c5] {
  vertical-align: middle;
  overflow: visible;
  background: linear-gradient(180deg, #f8fbfc 0%, #f0f7f8 100%);
}
.stock-flow-ledger-table.crm-ledger-table.hist-config-table > thead > tr:first-child > th[data-v-03fda1c5] {
  position: sticky;
  top: 0;
  z-index: 5;
  height: auto;
}
.stock-flow-ledger-table.crm-ledger-table.hist-config-table > thead > tr:nth-child(2) > th[data-v-03fda1c5] {
  position: sticky;
  top: var(--sfl-thead-r1, 42px);
  z-index: 4;
  height: auto;
}
.hist-th-inner[data-v-03fda1c5] {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  max-width: 100%;
  min-width: 0;
  vertical-align: middle;
}
.hist-th-label[data-v-03fda1c5] {
  display: inline-block;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hist-th-label[draggable='true'][data-v-03fda1c5] {
  cursor: grab;
}
.hist-col-drag-grip[data-v-03fda1c5] {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 10px;
  min-width: 10px;
  height: 14px;
  margin-right: 1px;
  color: #94a3b8;
  font-size: 10px;
  line-height: 1;
  cursor: grab;
  user-select: none;
  touch-action: none;
}
.hist-col-drag-grip[data-v-03fda1c5]::before {
  content: '⋮';
  letter-spacing: -1px;
}
.hist-col-drag-grip[data-v-03fda1c5]:active {
  cursor: grabbing;
}
.hist-config-th--has-drag-grip .hist-th-inner[data-v-03fda1c5] {
  width: 100%;
}
.hist-col-resize-grip[data-v-03fda1c5] {
  position: absolute;
  top: 0;
  right: 0;
  width: 6px;
  height: 100%;
  cursor: col-resize;
  z-index: 6;
  background: transparent;
}
.hist-col-resize-grip[data-v-03fda1c5]:hover {
  background: var(--hist-col-resize-grip-hover-bg);
}
.stock-flow-ledger-group-th[data-v-03fda1c5] {
  text-align: center;
  font-weight: 600;
}
.sfl-num-cell[data-v-03fda1c5] {
  text-align: right;
}
.sfl-tfoot-label[data-v-03fda1c5] {
  font-weight: 600;
  text-align: right;
  vertical-align: middle;
}
.stock-flow-ledger-tfoot td[data-v-03fda1c5] {
  font-weight: 600;
  border-top: 1px solid rgba(15, 23, 42, 0.12);
}
.sfl-link-cell[data-v-03fda1c5] {
  text-align: left;
}
.sfl-doc-no-link[data-v-03fda1c5] {
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  background: none;
  box-shadow: none;
  color: var(--ui-accent-ink, #0f5b68);
  font: inherit;
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px solid color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 42%, transparent);
  cursor: pointer;
  display: inline;
  line-height: 1.5;
  word-break: break-all;
}
.sfl-doc-no-link[data-v-03fda1c5]:hover {
  color: #063d47;
  border-bottom-color: var(--sidebar-teal, #5fb8c1);
  background: none;
}
.hist-config-wrap--pinned-footer[data-v-03fda1c5] {
  flex: 1 1 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.sfl-pinned-x[data-v-03fda1c5] {
  flex: 1 1 0;
  min-height: 0;
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  display: flex;
  flex-direction: column;
  min-width: 0;
  scrollbar-gutter: stable;
}
.sfl-pinned-inner[data-v-03fda1c5] {
  flex: 1 1 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
  width: max-content;
  min-width: 100%;
  box-sizing: border-box;
}
.sfl-pinned-y[data-v-03fda1c5],
.sfl-scroll-box[data-v-03fda1c5] {
  flex: 1 1 0%;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  min-width: 0;
  -webkit-overflow-scrolling: touch;
}
/* 纵向滚动：两行 thead 分层 sticky；首行 top=0，次行 top=首行高度（--sfl-thead-r1 由脚本测量） */
.sfl-pinned-y .stock-flow-ledger-table.crm-ledger-table.hist-config-table > thead > tr:first-child > th[data-v-03fda1c5] {
  position: sticky;
  top: 0;
  z-index: 5;
}
.sfl-pinned-y .stock-flow-ledger-table.crm-ledger-table.hist-config-table > thead > tr:nth-child(2) > th[data-v-03fda1c5] {
  position: sticky;
  top: var(--sfl-thead-r1, 42px);
  z-index: 4;
}
.sfl-pinned-y .stock-flow-ledger-table > thead > tr:first-child > th.product-sticky-left[data-v-03fda1c5],
.sfl-pinned-y .stock-flow-ledger-table > thead > tr:first-child > th.product-sticky-action[data-v-03fda1c5] {
  z-index: 7;
}
.sfl-pinned-y .stock-flow-ledger-table > thead > tr:nth-child(2) > th.product-sticky-left[data-v-03fda1c5],
.sfl-pinned-y .stock-flow-ledger-table > thead > tr:nth-child(2) > th.product-sticky-action[data-v-03fda1c5] {
  z-index: 6;
}
.sfl-pinned-foot[data-v-03fda1c5] {
  flex-shrink: 0;
  min-width: 0;
  overflow-x: hidden;
  background: var(--content-surface, #fff);
  box-shadow: 0 -4px 12px rgba(15, 23, 42, 0.06);
}
.stock-flow-ledger-table--footer[data-v-03fda1c5] {
  margin-bottom: 0;
}
.sfl-state-row td.product-table-empty[data-v-03fda1c5] {
  padding: 24px 16px;
  font-size: 13px;
  color: #64748b;
  text-align: center;
  vertical-align: middle;
}

.hist-config-wrap[data-v-a5910f27] {
  min-width: 0;
}
.hist-config-scroll-outer[data-v-a5910f27] {
  overflow-x: auto;
  overflow-y: visible;
  max-width: 100%;
  min-width: 0;
  scrollbar-gutter: stable;
  -webkit-overflow-scrolling: touch;
}
.hist-config-table[data-v-a5910f27] {
  table-layout: fixed;
  width: max-content;
  min-width: 100%;
  max-width: none;
}
.hist-config-th[data-v-a5910f27] {
  vertical-align: middle;
}
.hist-config-th[data-v-a5910f27]:not(.product-sticky-left):not(.product-sticky-action) {
  position: relative;
}
.hist-th-label[data-v-a5910f27] {
  display: inline-block;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hist-col-resize-grip[data-v-a5910f27] {
  position: absolute;
  top: 0;
  right: 0;
  width: 6px;
  height: 100%;
  cursor: col-resize;
  z-index: 6;
  background: transparent;
}
.hist-col-resize-grip[data-v-a5910f27]:hover {
  background: var(--hist-col-resize-grip-hover-bg);
}
.stock-flow-ledger-group-th[data-v-a5910f27] {
  text-align: center;
  font-weight: 600;
}
.ios-sum-text-cell[data-v-a5910f27] {
  text-align: left;
}
.sfl-num-cell[data-v-a5910f27] {
  text-align: right;
}
.sfl-qty-link-cell[data-v-a5910f27] {
  text-align: right;
}
.sfl-tfoot-label[data-v-a5910f27] {
  font-weight: 600;
  text-align: right;
  vertical-align: middle;
}
.stock-flow-ledger-tfoot td[data-v-a5910f27] {
  font-weight: 600;
  border-top: 1px solid rgba(15, 23, 42, 0.12);
}
.sfl-doc-no-link[data-v-a5910f27] {
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  background: none;
  color: var(--ui-accent-ink, #0f5b68);
  font: inherit;
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px solid color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 42%, transparent);
  cursor: pointer;
  display: inline;
  line-height: 1.5;
  word-break: break-all;
}
.sfl-doc-no-link[data-v-a5910f27]:hover {
  color: #063d47;
  border-bottom-color: var(--sidebar-teal, #5fb8c1);
}

.hist-config-wrap[data-v-ce4c36ef] {
  min-width: 0;
}
.hist-config-scroll-outer[data-v-ce4c36ef] {
  overflow-x: auto;
  overflow-y: visible;
  max-width: 100%;
  min-width: 0;
  scrollbar-gutter: stable;
  -webkit-overflow-scrolling: touch;
}
.hist-config-table[data-v-ce4c36ef] {
  table-layout: fixed;
  width: max-content;
  min-width: 100%;
  max-width: none;
}
.hist-config-th[data-v-ce4c36ef] {
  vertical-align: middle;
}
.hist-config-th[data-v-ce4c36ef]:not(.product-sticky-left):not(.product-sticky-action) {
  position: relative;
}
.hist-th-label[data-v-ce4c36ef] {
  display: inline-block;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hist-col-resize-grip[data-v-ce4c36ef] {
  position: absolute;
  top: 0;
  right: 0;
  width: 6px;
  height: 100%;
  cursor: col-resize;
  z-index: 6;
  background: transparent;
}
.hist-col-resize-grip[data-v-ce4c36ef]:hover {
  background: var(--hist-col-resize-grip-hover-bg);
}
.stock-flow-ledger-group-th[data-v-ce4c36ef] {
  text-align: center;
  font-weight: 600;
}
.aql-text-cell[data-v-ce4c36ef] {
  text-align: left;
}
.sfl-num-cell[data-v-ce4c36ef] {
  text-align: right;
}
.sfl-qty-link-cell[data-v-ce4c36ef] {
  text-align: right;
}
.sfl-tfoot-label[data-v-ce4c36ef] {
  font-weight: 600;
  text-align: right;
  vertical-align: middle;
}
.stock-flow-ledger-tfoot td[data-v-ce4c36ef] {
  font-weight: 600;
  border-top: 1px solid rgba(15, 23, 42, 0.12);
}
.aql-tfoot-amt td[data-v-ce4c36ef] {
  border-top: none;
  font-weight: 600;
}
.sfl-doc-no-link[data-v-ce4c36ef] {
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  background: none;
  color: var(--ui-accent-ink, #0f5b68);
  font: inherit;
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px solid color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 42%, transparent);
  cursor: pointer;
  display: inline;
  line-height: 1.5;
}
.sfl-doc-no-link[data-v-ce4c36ef]:hover {
  color: #063d47;
  border-bottom-color: var(--sidebar-teal, #5fb8c1);
}

.hist-config-wrap[data-v-2c32b33f] {
  min-width: 0;
}
.hist-config-wrap--pinned-header[data-v-2c32b33f],
.hist-config-wrap--pinned-footer[data-v-2c32b33f] {
  display: flex;
  flex-direction: column;
  flex: 1 1 0%;
  min-height: 0;
  min-width: 0;
}
.hist-config-head-bar[data-v-2c32b33f] {
  flex: 0 0 auto;
  z-index: 6;
  background: linear-gradient(180deg, #f8fbfc 0%, #f0f7f8 100%);
  border-bottom: 1px solid color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 22%, #e2e8f0);
  box-shadow: 0 4px 10px rgba(15, 23, 42, 0.06);
}
.hist-config-wrap--pinned-header .hist-config-scroll-outer--body[data-v-2c32b33f],
.hist-config-wrap--pinned-footer .hist-config-scroll-outer--body[data-v-2c32b33f] {
  flex: 1 1 0%;
  min-height: 0;
  overflow-x: auto;
  overflow-y: auto;
}
.hist-config-foot-bar[data-v-2c32b33f] {
  flex-shrink: 0;
  border-top: 1px solid color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 22%, #e2e8f0);
  box-shadow: 0 -4px 12px rgba(15, 23, 42, 0.06);
  background: linear-gradient(180deg, #f8fbfc 0%, #f0f7f8 100%);
}
.hist-config-scroll-outer--head[data-v-2c32b33f],
.hist-config-scroll-outer--foot[data-v-2c32b33f] {
  overflow-x: auto;
  overflow-y: hidden;
  max-width: 100%;
  min-width: 0;
  scrollbar-gutter: stable;
}
.hist-config-scroll-outer--head[data-v-2c32b33f] {
  scrollbar-width: none;
}
.hist-config-scroll-outer--head[data-v-2c32b33f]::-webkit-scrollbar {
  height: 0;
  display: none;
}
.hist-config-scroll-outer[data-v-2c32b33f] {
  overflow-x: auto;
  overflow-y: auto;
  max-width: 100%;
  min-width: 0;
  scrollbar-gutter: stable;
  -webkit-overflow-scrolling: touch;
}
.hist-config-table[data-v-2c32b33f] {
  table-layout: fixed;
  width: max-content;
  min-width: 100%;
  max-width: none;
}
.hist-config-th[data-v-2c32b33f] {
  vertical-align: middle;
  overflow: visible;
  background: linear-gradient(180deg, #f8fbfc 0%, #f0f7f8 100%);
}
.stock-distribution-table.crm-ledger-table.hist-config-table > thead > tr > th[data-v-2c32b33f] {
  height: auto;
  background: linear-gradient(180deg, #f8fbfc 0%, #f0f7f8 100%);
}
.hist-th-inner[data-v-2c32b33f] {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  max-width: 100%;
  min-width: 0;
  vertical-align: middle;
}
.hist-th-label[data-v-2c32b33f] {
  display: inline-block;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hist-th-label[draggable='true'][data-v-2c32b33f] {
  cursor: grab;
}
.hist-col-drag-grip[data-v-2c32b33f] {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 10px;
  min-width: 10px;
  height: 14px;
  margin-right: 1px;
  color: #94a3b8;
  font-size: 10px;
  line-height: 1;
  cursor: grab;
  user-select: none;
  touch-action: none;
}
.hist-col-drag-grip[data-v-2c32b33f]::before {
  content: '⋮';
  letter-spacing: -1px;
}
.hist-col-drag-grip[data-v-2c32b33f]:active {
  cursor: grabbing;
}
.hist-config-th--has-drag-grip .hist-th-inner[data-v-2c32b33f] {
  width: 100%;
}
.hist-col-resize-grip[data-v-2c32b33f] {
  position: absolute;
  top: 0;
  right: 0;
  width: 6px;
  height: 100%;
  cursor: col-resize;
  z-index: 6;
  background: transparent;
}
.hist-col-resize-grip[data-v-2c32b33f]:hover {
  background: var(--hist-col-resize-grip-hover-bg);
}
.stock-distribution-group-th[data-v-2c32b33f] {
  text-align: center;
  font-weight: 600;
}
.stock-distribution-group-th.wh-external-call-group-th[data-v-2c32b33f] {
  background: var(--ui-orange-soft-bg) !important;
  color: var(--ui-orange-ink);
}
.sdd-num-cell[data-v-2c32b33f] {
  text-align: right;
}
.sdd-qty-cell[data-v-2c32b33f] {
  text-align: right;
}
.hist-config-tfoot td[data-v-2c32b33f] {
  font-size: 13px;
  font-weight: 600;
  padding: 10px;
  background: linear-gradient(180deg, #f8fbfc 0%, #f0f7f8 100%);
  color: #0f172a;
}

.etp-field.sales-customer-field[data-v-169596d4] {
  position: relative;
  display: flex;
  flex-direction: column;
  font-size: 12px;
  color: var(--text-on-light);
}
.etp-field.sales-customer-field.etp-field--inline-only[data-v-169596d4] {
  gap: 0;
}
.etp-field.sales-customer-field > span[data-v-169596d4] {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  line-height: 20px;
  margin-bottom: 4px;
}
.etp-field--inline-only > .sales-customer-input-wrap[data-v-169596d4] {
  margin-top: 0;
}
.required-star[data-v-169596d4] {
  color: #dc2626;
  margin-left: 2px;
  font-weight: 700;
}
.sales-customer-input-wrap[data-v-169596d4] {
  position: relative;
  display: block;
}
.sales-customer-input-wrap input[data-v-169596d4] {
  width: 100%;
  min-width: 0;
  padding: 8px 10px;
  padding-right: 38px;
  height: 36px;
  box-sizing: border-box;
  margin-bottom: 0;
  border-radius: 8px;
  border: 1px solid var(--border-light, #e2e8f0);
  background: #fff;
  color: var(--text-on-light, #0f172a);
}
.sales-customer-input-wrap input[data-v-169596d4]::placeholder {
  color: var(--text-muted-light, #64748b);
}
.sales-customer-more[data-v-169596d4] {
  position: absolute;
  right: 4px;
  top: 50%;
  transform: translateY(-50%);
  width: 28px;
  height: 30px;
  min-width: 28px;
  margin: 0;
  padding: 0;
  border-radius: 0;
  border: none;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  color: #6b8592;
  line-height: 1;
}
.etp-quick-panel[data-v-169596d4] {
  background: #fff;
  border: 1px solid var(--border-light);
  border-radius: 8px;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.14);
  max-height: min(300px, calc(100vh - 24px));
  overflow: auto;
}
.etp-quick-panel.sales-customer-quick-panel--teleported[data-v-169596d4] {
  box-sizing: border-box;
}
.sales-customer-empty[data-v-169596d4] {
  padding: 14px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
}
.etp-quick-add[data-v-169596d4] {
  flex-shrink: 0;
}
.etp-quick-table[data-v-169596d4] {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}
.etp-quick-table th[data-v-169596d4],
.etp-quick-table td[data-v-169596d4] {
  border-bottom: 1px solid var(--border-light);
  padding: 8px;
  text-align: left;
  white-space: nowrap;
}
.etp-quick-table tbody tr[data-v-169596d4] {
  cursor: pointer;
}
.etp-quick-table tbody tr[data-v-169596d4]:hover {
  background: var(--surface-brand-pale);
}
.etp-quick-table tbody tr.sales-customer-quick-row--active[data-v-169596d4] {
  background: rgba(95, 184, 193, 0.14);
}
.sales-customer-dialog-mask[data-v-169596d4] {
  position: fixed;
  inset: 0;
  background: rgba(2, 8, 23, 0.28);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 90;
}
.sales-customer-dialog-mask.partner-unit-dialog-mask[data-v-169596d4] {
  z-index: 12600;
  background: rgba(15, 23, 42, 0.35);
  box-sizing: border-box;
  inset: unset;
  position: fixed;
  top: 8px;
  bottom: 0;
  --partner-shell-outer: min(1760px, calc(100vw - 20px));
  --partner-pad-x: 10px;
  --partner-sidebar-w: 220px;
  --partner-shell-gap: 14px;
  left: calc((100vw - var(--partner-shell-outer)) / 2 + var(--partner-pad-x) + var(--partner-sidebar-w) + var(--partner-shell-gap));
  width: calc(var(--partner-shell-outer) - 2 * var(--partner-pad-x) - var(--partner-sidebar-w) - var(--partner-shell-gap));
  max-width: 100vw;
  padding: 12px 18px 20px;
  overflow-y: auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 960px) {
.sales-customer-dialog-mask.partner-unit-dialog-mask[data-v-169596d4] {
    left: 0;
    width: 100%;
    max-width: none;
    top: 0;
    padding: 12px;
}
}
body:has(.app-shell--embed) .sales-customer-dialog-mask.partner-unit-dialog-mask[data-v-169596d4] {
  left: 0;
  width: 100%;
  max-width: none;
  top: 0;
  padding: 12px;
}
.sales-customer-dialog[data-v-169596d4] {
  width: min(1180px, 92vw);
  max-height: 86vh;
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 10px;
  border: 1px solid var(--border-light);
  box-shadow: 0 20px 50px rgba(15, 23, 42, 0.2);
}
.sales-customer-dialog.partner-unit-dialog[data-v-169596d4] {
  width: min(1180px, 100%);
  height: min(calc((100vh - 32px) * 2 / 3), calc((100dvh - 32px) * 2 / 3), 600px);
  max-height: min(calc((100vh - 32px) * 2 / 3), calc((100dvh - 32px) * 2 / 3), 600px);
  overflow: hidden;
}
.expense-type-picker-dialog .sales-customer-dialog-head[data-v-169596d4],
.expense-type-picker-dialog .sales-customer-dialog-foot[data-v-169596d4] {
  flex-shrink: 0;
}
.expense-type-picker-body[data-v-169596d4] {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto;
  min-height: 0 !important;
  overflow: hidden;
}
.expense-type-picker-body-fill[data-v-169596d4] {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.expense-type-picker-layout[data-v-169596d4] {
  flex: 1 1 auto;
  min-height: 0;
  align-items: stretch;
}
.expense-type-picker-layout .expense-type-sidebar[data-v-169596d4] {
  max-height: 100%;
  overflow-y: auto;
}
.expense-type-picker-main[data-v-169596d4] {
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.expense-type-picker-main .expense-type-toolbar[data-v-169596d4] {
  flex-shrink: 0;
}
.expense-type-picker-table-wrap[data-v-169596d4] {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
/* App.vue 中 .product-table-real 在 scoped 内，弹窗内表格在此补全（不用 980px min-width 以免撑破弹窗） */
.expense-type-picker-table-wrap .product-table-real[data-v-169596d4] {
  width: 100%;
  border-collapse: collapse;
  min-width: 0;
  background: #fff;
}
.expense-type-picker-table-wrap .product-table-real th[data-v-169596d4],
.expense-type-picker-table-wrap .product-table-real td[data-v-169596d4] {
  border-bottom: 1px solid var(--table-border, #e3e9f0);
  padding: 8px;
  text-align: left;
  white-space: nowrap;
  font-size: 12px;
  color: var(--text-on-light, #0f172a);
}
.expense-type-picker-table-wrap .product-table-real tbody tr[data-v-169596d4]:nth-child(odd) {
  background: var(--table-row-striped, #fafbfd);
}
.expense-type-picker-table-wrap .product-table-real tbody tr[data-v-169596d4]:hover {
  background: var(--table-row-hover, #f1f5f9);
}
.sales-customer-dialog-head[data-v-169596d4] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px;
  border-bottom: 1px solid var(--border-light);
}
.partner-unit-dialog-head[data-v-169596d4] {
  padding: 12px 14px;
  background: linear-gradient(180deg, #f8fcfd 0%, #f0f9fb 100%);
  border-bottom: 1px solid #e8f0f3;
}
.partner-unit-dialog-head strong[data-v-169596d4] {
  font-size: 16px;
  font-weight: 700;
  color: #0f172a;
}
.partner-unit-dialog-close[data-v-169596d4] {
  width: 32px;
  height: 32px;
  border: none;
  border-radius: 8px;
  background: #f1f5f9;
  color: #64748b;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.partner-unit-dialog-close[data-v-169596d4]:hover {
  background: #e2e8f0;
  color: #0f172a;
}
.partner-unit-dialog-page-size[data-v-169596d4] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: #475569;
  margin: 0;
  white-space: nowrap;
}
.partner-unit-dialog-select[data-v-169596d4] {
  height: 34px;
  margin: 0 !important;
  padding: 6px 10px !important;
  border-radius: 6px !important;
  border: 1px solid var(--input-border, #d5dde7) !important;
  background: #fff !important;
  font-size: 13px;
  color: #111827;
  cursor: pointer;
}
.sales-customer-dialog-table thead th[data-v-169596d4] {
  position: sticky;
  top: 0;
  z-index: 2;
  background: var(--table-header-bg, #eef2f7);
  font-weight: 600;
  color: var(--table-header-text, #334155);
}
.partner-unit-dialog-col-check[data-v-169596d4] {
  width: 44px;
  text-align: center;
  vertical-align: middle;
}
.partner-unit-dialog-radio[data-v-169596d4] {
  width: 16px;
  height: 16px;
  margin: 0 !important;
  cursor: pointer;
  accent-color: var(--sidebar-teal, #5fb8c1);
}
.sales-customer-row-select-btn[data-v-169596d4],
.sales-customer-foot-btn[data-v-169596d4] {
  min-height: 28px;
  padding: 0 9px;
  border: 1px solid #d8e9ed;
  border-radius: 8px;
  background: #f8fcfd;
  color: #6f8b92;
  font-size: 11px;
  font-weight: 500;
  cursor: pointer;
}
.sales-customer-foot-btn--primary[data-v-169596d4] {
  border-color: #d3e6eb;
  background: #f6fbfc;
  color: #64838b;
  font-weight: 600;
}
.sales-customer-dialog-row--active td[data-v-169596d4] {
  background: rgba(95, 184, 193, 0.14);
}
.sales-customer-dialog-foot[data-v-169596d4] {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  padding: 10px 12px;
  border-top: 1px solid var(--border-light);
}
.partner-unit-dialog-foot[data-v-169596d4] {
  align-items: center;
  flex-wrap: wrap;
  padding: 12px 14px;
  background: #fafbfc;
  border-top: 1px solid #e8f0f3;
  gap: 12px;
}
.partner-unit-dialog-foot-left[data-v-169596d4],
.partner-unit-dialog-foot-right[data-v-169596d4] {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}
.partner-unit-dialog-page-info[data-v-169596d4] {
  font-size: 13px;
  color: #64748b;
  padding: 0 4px;
}

/*
 * 与 App.vue「基础设置 → 费用类型」视觉对齐。
 * App 里 .expense-type-* 写在首段 <style scoped> 中，只带在 App 根模板上的 data-v；
 * 本组件 Teleport 到 body 的节点只有本组件的 data-v，拿不到 App 的 scoped 规则，
 * 分类按钮会退回浏览器默认（灰底矩形）。此处在本组件 scoped 内补全同一套规则。
 */
.expense-type-layout[data-v-169596d4] {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 12px;
}
@media (max-width: 1000px) {
.expense-type-layout[data-v-169596d4] {
    grid-template-columns: 1fr;
}
}
.expense-type-sidebar[data-v-169596d4] {
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #fff;
  padding: 8px;
}
.expense-type-side-head[data-v-169596d4] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 8px;
  color: #334155;
}
.expense-type-category-list[data-v-169596d4] {
  list-style: none;
  margin: 0;
  padding: 0;
}
.expense-type-category-item[data-v-169596d4] {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 4px 6px;
  border-radius: 6px;
}
.expense-type-category-item--active[data-v-169596d4] {
  background: color-mix(in srgb, var(--sidebar-teal) 16%, #ffffff);
}
.expense-type-category-item--active .expense-type-category-btn[data-v-169596d4] {
  color: var(--ui-accent-ink, #0a5f6e);
  font-weight: 600;
}
.expense-type-category-btn[data-v-169596d4] {
  flex: 1;
  text-align: left;
  border: none;
  background: none;
  box-shadow: none;
  cursor: pointer;
  font-size: 13px;
  font-family: inherit;
  color: #1f2937;
  padding: 2px 0;
  margin: 0;
  appearance: none;
  -webkit-appearance: none;
}
.expense-type-category-btn[data-v-169596d4]:hover {
  color: var(--ui-accent-ink, #0a5f6e);
}
.expense-type-main[data-v-169596d4] {
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #fff;
  padding: 10px;
}
.expense-type-toolbar[data-v-169596d4] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
  flex-wrap: wrap;
}
.expense-type-search[data-v-169596d4] {
  width: min(320px, 100%);
  flex: 1 1 160px;
  min-width: 120px;
  height: 34px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  padding: 0 10px;
  font-size: 13px;
  font-family: inherit;
  color: var(--text-on-light, #0f172a);
  background: #fff;
  box-sizing: border-box;
}
.expense-type-search[data-v-169596d4]::placeholder {
  color: var(--text-muted-light, #64748b);
}
.expense-type-table thead th[data-v-169596d4] {
  background: #eef2f7 !important;
}
.expense-type-pill[data-v-169596d4] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 5px 12px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 38%, #c5dfe3);
  background: color-mix(in srgb, var(--sidebar-teal) 10%, #ffffff);
  color: var(--ui-accent-ink, #0a5f6e);
  cursor: pointer;
  white-space: nowrap;
  box-shadow: none;
  font-family: inherit;
}
.expense-type-pill[data-v-169596d4]:hover {
  background: color-mix(in srgb, var(--sidebar-teal) 18%, #ffffff);
  border-color: color-mix(in srgb, var(--sidebar-teal) 52%, #9ec9cf);
}
.expense-type-pill--solid[data-v-169596d4] {
  border-color: color-mix(in srgb, var(--sidebar-teal) 28%, #7ebfcb);
  background: var(--sidebar-teal, #5fb8c1);
  color: #fff;
}
.expense-type-pill--solid[data-v-169596d4]:hover {
  filter: brightness(0.96);
  border-color: var(--sidebar-teal, #5fb8c1);
}

.inbound-serial-manage-dialog[data-v-81bcbfcf] {
  width: min(560px, 96vw);
  max-height: 90vh;
  display: flex;
  flex-direction: column;
}
.inbound-serial-manage-dialog .settlement-modal-body[data-v-81bcbfcf] {
  overflow: auto;
}
.inbound-serial-batch-source[data-v-81bcbfcf] {
  margin: 0 0 6px;
  font-size: 13px;
  color: #0f172a;
  font-weight: 500;
}
.inbound-serial-manage-meta[data-v-81bcbfcf] {
  margin: 0 0 12px;
  font-size: 12px;
  color: var(--text-muted-light, #64748b);
  display: flex;
  flex-wrap: wrap;
  gap: 4px 8px;
}
.inbound-serial-manage-draft-tag[data-v-81bcbfcf] {
  color: #b45309;
}
.inbound-serial-manage-tabs[data-v-81bcbfcf] {
  display: flex;
  gap: 4px;
  margin-bottom: 12px;
  border-bottom: 1px solid #e2e8f0;
}
.inbound-serial-manage-tabs button[data-v-81bcbfcf] {
  padding: 8px 14px;
  border: none;
  background: transparent;
  font-size: 13px;
  color: #64748b;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
}
.inbound-serial-manage-tabs button.is-active[data-v-81bcbfcf] {
  color: var(--sidebar-teal, #0d9488);
  border-bottom-color: var(--sidebar-teal, #0d9488);
  font-weight: 600;
}
.inbound-serial-scan-field[data-v-81bcbfcf] {
  display: block;
  margin-bottom: 10px;
}
.inbound-serial-scan-row[data-v-81bcbfcf] {
  display: flex;
  align-items: flex-end;
  gap: 8px;
}
.inbound-serial-scan-row .settlement-field-input[data-v-81bcbfcf] {
  flex: 1;
  min-width: 0;
}
.inbound-serial-add-btn[data-v-81bcbfcf] {
  flex-shrink: 0;
  margin-bottom: 2px;
}
.inbound-serial-manage-error[data-v-81bcbfcf] {
  margin: 0 0 8px;
  font-size: 12px;
  color: #dc2626;
}
.inbound-serial-list-wrap[data-v-81bcbfcf] {
  border: 1px solid #e2e8f0;
  border-radius: 6px;
  overflow: hidden;
}
.inbound-serial-list-head[data-v-81bcbfcf] {
  padding: 6px 10px;
  font-size: 12px;
  background: #f8fafc;
  border-bottom: 1px solid #e2e8f0;
}
.inbound-serial-list[data-v-81bcbfcf] {
  margin: 0;
  padding: 0;
  list-style: none;
  max-height: 36vh;
  overflow: auto;
}
.inbound-serial-list li[data-v-81bcbfcf] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 6px 10px;
  font-size: 13px;
  border-bottom: 1px solid #f1f5f9;
}
.inbound-serial-list li[data-v-81bcbfcf]:last-child {
  border-bottom: none;
}
.inbound-serial-list-sn[data-v-81bcbfcf] {
  font-family: ui-monospace, monospace;
  word-break: break-all;
}
.inbound-serial-list-remove[data-v-81bcbfcf] {
  flex-shrink: 0;
  border: none;
  background: transparent;
  color: #dc2626;
  font-size: 12px;
  cursor: pointer;
  padding: 2px 6px;
}
.inbound-serial-list-remove[data-v-81bcbfcf]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.inbound-serial-empty-hint[data-v-81bcbfcf] {
  margin: 8px 0 0;
}
.inbound-serial-excel-desc[data-v-81bcbfcf] {
  margin: 0 0 12px;
  font-size: 12px;
}
.inbound-serial-excel-actions[data-v-81bcbfcf] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.inbound-serial-file-input[data-v-81bcbfcf] {
  position: absolute;
  width: 0;
  height: 0;
  opacity: 0;
  pointer-events: none;
}
.inbound-serial-excel-result[data-v-81bcbfcf] {
  margin: 10px 0 0;
  font-size: 12px;
  color: #059669;
}
.inbound-serial-manage-footer[data-v-81bcbfcf] {
  margin-top: 16px;
  padding-top: 12px;
  border-top: 1px solid #e2e8f0;
}

.settlement-modal-mask {
  position: fixed;
  inset: 0;
  z-index: 12500;
  background: rgba(15, 23, 42, 0.35);
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 16px;
  box-sizing: border-box;
}
.settlement-modal {
  width: min(920px, 96vw);
  background: #fff;
  border-radius: 8px;
  border: 1px solid #e2e8f0;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.2);
  display: flex;
  flex-direction: column;
  max-height: 88vh;
  box-sizing: border-box;
}
.settlement-modal--method {
  width: min(760px, 96vw);
}
.settlement-modal-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 14px;
  border-bottom: 1px solid #e5e7eb;
  background: #f3f6fb;
}
.settlement-modal-close {
  border: none;
  background: transparent;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  color: #64748b;
}
.inbound-serial-manage-dialog .settlement-modal-body {
  display: block;
  padding: 14px;
}
.settlement-field-label {
  font-size: 14px;
  color: #1f2937;
}
.settlement-field-input {
  width: 100%;
  box-sizing: border-box;
  height: 36px;
  border: none;
  border-bottom: 1px solid #d1d5db;
  padding: 4px 2px;
  font-size: 14px;
  background: transparent;
}
.settlement-field-input:focus {
  outline: none;
  border-bottom-color: #16a34a;
}
.ic-amend-dialog-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.inbound-serial-sheet-cell[data-v-0fc7fb65] {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 4px;
  min-width: 88px;
  max-width: 100%;
}
.inbound-serial-sheet-cell--readonly[data-v-0fc7fb65] {
  gap: 2px;
  min-width: 0;
}
.inbound-serial-sheet-cell__main[data-v-0fc7fb65] {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.inbound-serial-sheet-cell__empty[data-v-0fc7fb65] {
  font-size: 12px;
  color: var(--text-muted-light, #94a3b8);
}
.inbound-serial-sheet-cell__preview[data-v-0fc7fb65] {
  font-size: 12px;
  line-height: 1.35;
  word-break: break-all;
  white-space: pre-wrap;
  text-align: left;
  max-height: 3.2em;
  overflow: hidden;
}
.inbound-serial-sheet-cell__progress[data-v-0fc7fb65] {
  font-size: 11px;
  color: var(--text-muted-light, #64748b);
}
.inbound-serial-sheet-cell__btn[data-v-0fc7fb65] {
  align-self: flex-start;
  white-space: nowrap;
}

.outbound-serial-select-dialog[data-v-898292f1] {
  width: min(620px, 96vw);
  max-height: 90vh;
  display: flex;
  flex-direction: column;
}
.outbound-serial-select-dialog .settlement-modal-body[data-v-898292f1] {
  overflow: auto;
}
.outbound-serial-batch-source[data-v-898292f1] {
  margin: 0 0 6px;
  font-size: 13px;
  color: #0f172a;
  font-weight: 500;
}
.outbound-serial-select-meta[data-v-898292f1] {
  margin: 0 0 8px;
  font-size: 12px;
  color: var(--text-muted-light, #64748b);
  display: flex;
  flex-wrap: wrap;
  gap: 4px 8px;
}
.outbound-serial-select-draft-tag[data-v-898292f1] {
  color: #b45309;
}
.outbound-serial-select-hint[data-v-898292f1] {
  margin: 0 0 12px;
  font-size: 12px;
}
.outbound-serial-manual-input[data-v-898292f1] {
  min-height: 88px;
  resize: vertical;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 13px;
  line-height: 1.45;
}
.outbound-serial-selected-wrap[data-v-898292f1],
.outbound-serial-pick-wrap[data-v-898292f1] {
  border: 1px solid #e2e8f0;
  border-radius: 6px;
  overflow: hidden;
  margin-bottom: 12px;
}
.outbound-serial-selected-head[data-v-898292f1],
.outbound-serial-pick-head[data-v-898292f1] {
  display: block;
  padding: 6px 10px;
  font-size: 12px;
  background: #f8fafc;
  border-bottom: 1px solid #e2e8f0;
}
.outbound-serial-selected-list[data-v-898292f1],
.outbound-serial-pick-list[data-v-898292f1] {
  margin: 0;
  padding: 0;
  list-style: none;
  max-height: 22vh;
  overflow: auto;
}
.outbound-serial-pick-list[data-v-898292f1] {
  max-height: 40vh;
}
.outbound-serial-selected-list li[data-v-898292f1] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 6px 10px;
  font-size: 13px;
  border-bottom: 1px solid #f1f5f9;
}
.outbound-serial-pick-row[data-v-898292f1] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 10px;
  padding: 8px 10px;
  font-size: 13px;
  cursor: pointer;
  border-bottom: 1px solid #f1f5f9;
}
.outbound-serial-pick-row[data-v-898292f1]:hover {
  background: #f8fafc;
}
.outbound-serial-sn[data-v-898292f1] {
  font-family: ui-monospace, monospace;
  word-break: break-all;
}
.outbound-serial-pick-meta[data-v-898292f1] {
  font-size: 11px;
  color: #64748b;
}
.outbound-serial-remove[data-v-898292f1] {
  flex-shrink: 0;
  border: none;
  background: transparent;
  color: #dc2626;
  font-size: 12px;
  cursor: pointer;
  padding: 2px 6px;
}
.outbound-serial-filter-field[data-v-898292f1] {
  display: block;
  margin-bottom: 10px;
}
.outbound-serial-select-error[data-v-898292f1] {
  margin: 0 0 8px;
  font-size: 12px;
  color: #dc2626;
}
.outbound-serial-select-footer[data-v-898292f1] {
  margin-top: 16px;
  padding-top: 12px;
  border-top: 1px solid #e2e8f0;
}

.settlement-modal-mask {
  position: fixed;
  inset: 0;
  z-index: 12500;
  background: rgba(15, 23, 42, 0.35);
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 16px;
  box-sizing: border-box;
}
.settlement-modal {
  width: min(920px, 96vw);
  background: #fff;
  border-radius: 8px;
  border: 1px solid #e2e8f0;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.2);
  display: flex;
  flex-direction: column;
  max-height: 88vh;
  box-sizing: border-box;
}
.settlement-modal--method {
  width: min(760px, 96vw);
}
.settlement-modal-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 14px;
  border-bottom: 1px solid #e5e7eb;
  background: #f3f6fb;
}
.settlement-modal-close {
  border: none;
  background: transparent;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  color: #64748b;
}
.outbound-serial-select-dialog .settlement-modal-body {
  display: block;
  padding: 14px;
}
.settlement-field-label {
  font-size: 14px;
  color: #1f2937;
}
.settlement-field-input {
  width: 100%;
  box-sizing: border-box;
  height: 36px;
  border: none;
  border-bottom: 1px solid #d1d5db;
  padding: 4px 2px;
  font-size: 14px;
  background: transparent;
}
.settlement-field-input:focus {
  outline: none;
  border-bottom-color: #16a34a;
}
.ic-amend-dialog-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.history-change-status-filter[data-v-223ccc63] {
  display: flex;
  flex-direction: column;
  font-size: 12px;
  color: var(--text-on-light);
  margin: 0;
  min-width: 0;
}
.history-change-status-filter > span[data-v-223ccc63] {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  line-height: 20px;
  margin-bottom: 4px;
}
.history-change-status-filter > select[data-v-223ccc63] {
  width: 100%;
  height: 36px;
  font-size: 13px;
  color: #111827;
  border: 1px solid #d5dde7;
  border-radius: 8px;
  background: #fff;
  box-sizing: border-box;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.history-change-status-filter > select[data-v-223ccc63]:focus-visible {
  outline: none;
  border-color: color-mix(in srgb, var(--sidebar-teal) 48%, #cbd5e1);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--sidebar-teal) 16%, transparent);
}

.hist-product-filter[data-v-53ef290e] {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.hist-product-filter__label[data-v-53ef290e] {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  line-height: 20px;
  margin-bottom: 4px;
  font-size: 12px;
  color: var(--text-on-light);
}
.hist-product-filter[data-v-53ef290e] .sales-product-cell {
  width: 100%;
}

.sales-history-include-opening-row[data-v-b4a00634] {
  margin: 0 0 8px;
}
.sales-history-include-opening[data-v-b4a00634] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--text-on-light);
  margin: 0;
  cursor: pointer;
  user-select: none;
}
.sales-history-include-opening input[data-v-b4a00634] {
  width: 14px;
  height: 14px;
  margin: 0;
}
.field-grid[data-v-b4a00634] {
  display: grid;
}
.sales-sheet-form[data-v-b4a00634] {
  margin-bottom: 10px;
}
.sales-sheet-form > label[data-v-b4a00634] {
  display: flex;
  flex-direction: column;
  font-size: 12px;
  color: var(--text-on-light);
  margin: 0;
  min-width: 0;
}
.sales-sheet-form > label > span[data-v-b4a00634],
.history-filter-field-label[data-v-b4a00634] {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  line-height: 20px;
  margin-bottom: 4px;
  font-size: 12px;
  color: var(--text-on-light);
}
.sales-sheet-form > label > input[data-v-b4a00634],
.sales-sheet-form > label > select[data-v-b4a00634] {
  width: 100%;
  height: 36px;
  font-size: 13px;
  color: #111827;
  background: #fff;
  border: 1px solid #d5dde7;
  border-radius: 8px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  box-sizing: border-box;
  margin: 0;
}
.sales-sheet-form > label > input[data-v-b4a00634]:focus-visible,
.sales-sheet-form > label > select[data-v-b4a00634]:focus-visible {
  outline: none;
  border-color: color-mix(in srgb, var(--sidebar-teal) 48%, #cbd5e1);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--sidebar-teal) 16%, transparent);
}
.history-template-filter-row[data-v-b4a00634],
.sales-history-filter-kw-partner[data-v-b4a00634] {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px 12px;
  align-items: start;
}
.history-filter-quick-cell[data-v-b4a00634] {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.history-filter-quick-cell[data-v-b4a00634] .inv-history-quick-time-bar {
  width: 100%;
}
.sales-history-partner-slot[data-v-b4a00634] {
  min-width: 0;
}
.outbound-hist-sales-emp[data-v-b4a00634] {
  display: flex;
  flex-direction: column;
  font-size: 12px;
  color: var(--text-on-light);
  margin: 0;
  min-width: 0;
}
.outbound-hist-sales-emp > span[data-v-b4a00634] {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  line-height: 20px;
  margin-bottom: 4px;
}
.outbound-hist-sales-emp select[data-v-b4a00634] {
  width: 100%;
  box-sizing: border-box;
  height: 36px;
  font-size: 13px;
  color: #111827;
  border: 1px solid #d5dde7;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.outbound-hist-sales-emp select[data-v-b4a00634]:focus-visible {
  outline: none;
  border-color: color-mix(in srgb, var(--sidebar-teal) 48%, #cbd5e1);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--sidebar-teal) 16%, transparent);
}

.purchase-history-include-opening-row[data-v-f8d61615] {
  margin: 0 0 8px;
}
.purchase-history-include-opening[data-v-f8d61615] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--text-on-light);
  margin: 0;
  cursor: pointer;
  user-select: none;
}
.purchase-history-include-opening input[data-v-f8d61615] {
  width: 14px;
  height: 14px;
  margin: 0;
}
.field-grid[data-v-f8d61615] {
  display: grid;
}
.sales-sheet-form[data-v-f8d61615] {
  margin-bottom: 10px;
}
.sales-sheet-form > label[data-v-f8d61615] {
  display: flex;
  flex-direction: column;
  font-size: 12px;
  color: var(--text-on-light);
  margin: 0;
  min-width: 0;
}
.sales-sheet-form > label > span[data-v-f8d61615],
.history-filter-field-label[data-v-f8d61615] {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  line-height: 20px;
  margin-bottom: 4px;
  font-size: 12px;
  color: var(--text-on-light);
}
.sales-sheet-form > label > input[data-v-f8d61615],
.sales-sheet-form > label > select[data-v-f8d61615] {
  width: 100%;
  height: 36px;
  font-size: 13px;
  color: #111827;
  background: #fff;
  border: 1px solid #d5dde7;
  border-radius: 8px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  box-sizing: border-box;
  margin: 0;
}
.sales-sheet-form > label > input[data-v-f8d61615]:focus-visible,
.sales-sheet-form > label > select[data-v-f8d61615]:focus-visible {
  outline: none;
  border-color: color-mix(in srgb, var(--sidebar-teal) 48%, #cbd5e1);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--sidebar-teal) 16%, transparent);
}
.history-template-filter-row[data-v-f8d61615],
.sales-history-filter-kw-partner[data-v-f8d61615] {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px 12px;
  align-items: start;
}
.history-filter-quick-cell[data-v-f8d61615] {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.history-filter-quick-cell[data-v-f8d61615] .inv-history-quick-time-bar {
  width: 100%;
}
.sales-history-partner-slot[data-v-f8d61615] {
  min-width: 0;
}
.outbound-hist-sales-emp[data-v-f8d61615] {
  display: flex;
  flex-direction: column;
  font-size: 12px;
  color: var(--text-on-light);
  margin: 0;
  min-width: 0;
}
.outbound-hist-sales-emp > span[data-v-f8d61615] {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  line-height: 20px;
  margin-bottom: 4px;
}
.outbound-hist-sales-emp select[data-v-f8d61615] {
  width: 100%;
  box-sizing: border-box;
  height: 36px;
  font-size: 13px;
  color: #111827;
  border: 1px solid #d5dde7;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.outbound-hist-sales-emp select[data-v-f8d61615]:focus-visible {
  outline: none;
  border-color: color-mix(in srgb, var(--sidebar-teal) 48%, #cbd5e1);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--sidebar-teal) 16%, transparent);
}

.receipt-plan-settlement-condition-picker[data-v-f444528d] .text-option-picker-inline {

  margin: 0;
}
.receipt-settlement-create-mask[data-v-f444528d] {

  position: fixed;

  inset: 0;

  z-index: 12700;

  background: rgba(15, 23, 42, 0.35);

  display: flex;

  align-items: center;

  justify-content: center;

  padding: 16px;

  box-sizing: border-box;
}
.receipt-settlement-create-card[data-v-f444528d] {

  position: relative;

  z-index: 1;

  width: min(420px, 100%);

  background: #fff;

  border-radius: 12px;

  padding: 20px 22px;

  border: 1px solid var(--border-light, #e2e8f0);

  box-shadow: 0 20px 50px rgba(15, 23, 42, 0.2);
}
.receipt-settlement-create-title[data-v-f444528d] {

  margin: 0 0 14px;

  font-size: 16px;

  font-weight: 600;

  color: #0f172a;
}
.receipt-settlement-create-field[data-v-f444528d] {

  display: flex;

  flex-direction: column;

  gap: 6px;

  font-size: 13px;

  color: #334155;
}
.receipt-settlement-create-input[data-v-f444528d] {

  padding: 8px 10px;

  border: 1px solid var(--border-light, #e2e8f0);

  border-radius: 8px;

  font-size: 13px;

  background: #fff;
}
.receipt-settlement-create-hint[data-v-f444528d] {

  margin: 10px 0 0;

  font-size: 12px;

  line-height: 1.45;

  color: #64748b;
}
.receipt-settlement-create-actions[data-v-f444528d] {

  display: flex;

  gap: 10px;

  justify-content: flex-end;

  margin-top: 16px;
}
.receipt-settlement-create-btn[data-v-f444528d] {

  border: 1px solid var(--border-light, #e2e8f0);

  background: #fff;

  border-radius: 8px;

  padding: 6px 16px;

  font-size: 13px;

  cursor: pointer;
}
.receipt-settlement-create-btn[data-v-f444528d]:disabled {

  opacity: 0.6;

  cursor: not-allowed;
}
.receipt-settlement-create-btn--primary[data-v-f444528d] {

  background: var(--sidebar-teal, #5fb8c1);

  border-color: var(--sidebar-teal, #5fb8c1);

  color: #fff;

  font-weight: 600;
}
.receipt-settlement-create-btn--primary[data-v-f444528d]:hover:not(:disabled) {

  filter: brightness(0.95);
}


.ods-overlay[data-v-51f103bd] {

  position: fixed;

  inset: 0;

  z-index: 10075;

  background: color-mix(in srgb, var(--ui-accent-ink, #0a5f6e) 18%, rgba(15, 23, 42, 0.42));

  display: flex;

  align-items: center;

  justify-content: center;

  padding: 16px;
}
.ods-dialog[data-v-51f103bd] {

  width: min(640px, 96vw);

  max-height: 90vh;

  display: flex;

  flex-direction: column;

  overflow: hidden;

  background: #fff;

  border-radius: 16px;

  border: 1px solid color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 28%, #e2e8f0);

  box-shadow:

    0 20px 48px color-mix(in srgb, var(--ui-accent-ink, #0a5f6e) 12%, rgba(15, 23, 42, 0.16)),

    0 0 0 1px color-mix(in srgb, var(--sidebar-teal) 8%, transparent);
}
.ods-dialog--wide[data-v-51f103bd] {

  width: min(920px, 96vw);
}
.ods-dialog-head[data-v-51f103bd] {

  display: flex;

  align-items: flex-start;

  justify-content: space-between;

  gap: 12px;

  padding: 14px 18px;

  background: linear-gradient(

    135deg,

    color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 16%, #ffffff) 0%,

    color-mix(in srgb, var(--sidebar-teal) 6%, #f8fafc) 100%

  );

  border-bottom: 1px solid color-mix(in srgb, var(--sidebar-teal) 22%, #e2e8f0);
}
.ods-dialog-title[data-v-51f103bd] {

  margin: 0;

  font-size: 16px;

  font-weight: 700;

  color: var(--ui-accent-ink, #0a5f6e);
}
.ods-dialog-sub[data-v-51f103bd] {

  margin: 4px 0 0;

  font-size: 12px;

  color: #64748b;
}
.ods-dialog-close[data-v-51f103bd] {

  flex-shrink: 0;

  width: 32px;

  height: 32px;

  border: none;

  border-radius: 999px;

  background: color-mix(in srgb, var(--sidebar-teal) 10%, #fff);

  color: #64748b;

  font-size: 20px;

  line-height: 1;

  cursor: pointer;
}
.ods-dialog-close[data-v-51f103bd]:hover {

  background: color-mix(in srgb, var(--sidebar-teal) 18%, #fff);

  color: var(--ui-accent-ink, #0a5f6e);
}
.ods-dialog-body[data-v-51f103bd] {

  flex: 1;

  overflow: auto;

  padding: 14px 18px 8px;
}
.ods-seg[data-v-51f103bd] {

  display: inline-flex;

  gap: 4px;

  padding: 3px;

  margin-bottom: 12px;

  border-radius: 999px;

  background: color-mix(in srgb, var(--sidebar-teal) 10%, #f1f5f9);

  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 18%, #e2e8f0);
}
.ods-seg-btn[data-v-51f103bd] {

  height: 30px;

  padding: 0 16px;

  border: none;

  border-radius: 999px;

  background: transparent;

  font-size: 12px;

  font-weight: 600;

  color: #64748b;

  cursor: pointer;
}
.ods-seg-btn--active[data-v-51f103bd] {

  background: #fff;

  color: var(--ui-accent-ink, #0a5f6e);

  box-shadow: 0 1px 4px color-mix(in srgb, var(--sidebar-teal) 20%, transparent);
}
.ods-hint[data-v-51f103bd] {

  margin: 0 0 12px;

  font-size: 12px;

  color: #64748b;

  line-height: 1.5;
}
.ods-check[data-v-51f103bd] {

  display: flex;

  align-items: flex-start;

  gap: 8px;

  margin-bottom: 12px;

  font-size: 13px;

  color: #334155;

  cursor: pointer;
}
.ods-check--block[data-v-51f103bd] {

  padding: 10px 14px;

  border-radius: 12px;

  background: #fff7ed;

  border: 1px solid #fed7aa;
}
.ods-check-input[data-v-51f103bd] {

  margin-top: 2px;

  flex-shrink: 0;
}
.ods-field-grid[data-v-51f103bd] {

  display: grid;

  grid-template-columns: 1fr 1fr;

  gap: 10px 14px;

  margin-bottom: 12px;
}
@media (max-width: 520px) {
.ods-field-grid[data-v-51f103bd] {

    grid-template-columns: 1fr;
}
}
.ods-field[data-v-51f103bd] {

  display: flex;

  flex-direction: column;

  gap: 4px;
}
.ods-field--block[data-v-51f103bd] {

  margin-bottom: 12px;
}
.ods-field-label[data-v-51f103bd] {

  font-size: 12px;

  color: #64748b;

  font-weight: 500;
}
.ods-input[data-v-51f103bd],

.ods-textarea[data-v-51f103bd] {

  width: 100%;

  box-sizing: border-box;

  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 20%, #cbd5e1);

  background: #fff;

  font-size: 13px;

  color: #0f172a;
}
.ods-input[data-v-51f103bd] {

  height: 34px;

  padding: 0 14px;

  border-radius: 999px;
}
.ods-input--select[data-v-51f103bd] {

  cursor: pointer;
}
.ods-textarea[data-v-51f103bd] {

  padding: 10px 14px;

  border-radius: 12px;

  resize: vertical;
}
.ods-input[data-v-51f103bd]:focus-visible,

.ods-textarea[data-v-51f103bd]:focus-visible,

.ods-cell-input[data-v-51f103bd]:focus-visible {

  outline: none;

  border-color: color-mix(in srgb, var(--sidebar-teal) 55%, #cbd5e1);

  box-shadow: 0 0 0 3px color-mix(in srgb, var(--sidebar-teal) 16%, transparent);
}
.ods-table-wrap[data-v-51f103bd] {

  overflow: auto;

  max-height: 280px;

  border-radius: 12px;

  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 18%, #e2e8f0);

  margin-bottom: 10px;
}
.ods-table[data-v-51f103bd] {

  width: 100%;

  border-collapse: collapse;

  font-size: 12px;
}
.ods-table th[data-v-51f103bd],

.ods-table td[data-v-51f103bd] {

  padding: 8px 10px;

  border-bottom: 1px solid color-mix(in srgb, var(--sidebar-teal) 10%, #eef2f7);

  vertical-align: middle;
}
.ods-table thead th[data-v-51f103bd] {

  position: sticky;

  top: 0;

  background: color-mix(in srgb, var(--sidebar-teal) 14%, #eef6f8);

  color: var(--ui-accent-ink, #0a5f6e);

  font-weight: 600;

  text-align: left;
}
.ods-cell-input[data-v-51f103bd] {

  width: 100%;

  min-width: 72px;

  height: 28px;

  padding: 0 10px;

  border-radius: 999px;

  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 18%, #e2e8f0);

  font-size: 12px;

  box-sizing: border-box;
}
.ods-cell-input--qty[data-v-51f103bd] {

  min-width: 48px;

  max-width: 64px;

  text-align: center;
}
.ods-line-add-row td[data-v-51f103bd] {

  background: color-mix(in srgb, var(--sidebar-teal) 4%, #fafbfc);

  border-bottom: 2px solid color-mix(in srgb, var(--sidebar-teal) 12%, #e2e8f0);
}
.ods-table--line-pkg td[rowspan][data-v-51f103bd] {

  vertical-align: top;

  background: #fff;
}
.ods-btn--add[data-v-51f103bd] {

  margin-bottom: 4px;
}
.ods-btn--xs[data-v-51f103bd] {

  height: 26px;

  padding: 0 10px;

  font-size: 12px;
}
.ods-dialog-foot[data-v-51f103bd] {

  display: flex;

  flex-wrap: wrap;

  justify-content: flex-end;

  gap: 8px;

  padding: 12px 18px 16px;

  border-top: 1px solid color-mix(in srgb, var(--sidebar-teal) 16%, #e2e8f0);

  background: color-mix(in srgb, var(--sidebar-teal) 4%, #fafbfc);
}
.ods-btn[data-v-51f103bd] {

  height: 34px;

  padding: 0 20px;

  border-radius: 999px;

  font-size: 13px;

  font-weight: 600;

  cursor: pointer;

  border: 1px solid transparent;
}
.ods-btn[data-v-51f103bd]:disabled {

  opacity: 0.55;

  cursor: not-allowed;
}
.ods-btn--ghost[data-v-51f103bd] {

  background: #fff;

  border-color: color-mix(in srgb, var(--sidebar-teal) 22%, #cbd5e1);

  color: #475569;
}
.ods-btn--ghost[data-v-51f103bd]:hover:not(:disabled) {

  color: var(--ui-accent-ink, #0a5f6e);
}
.ods-btn--soft[data-v-51f103bd] {

  background: color-mix(in srgb, var(--sidebar-teal) 12%, #fff);

  border-color: color-mix(in srgb, var(--sidebar-teal) 38%, #cbd5e1);

  color: var(--ui-accent-ink, #0a5f6e);
}
.ods-btn--primary[data-v-51f103bd] {

  background: linear-gradient(

    180deg,

    color-mix(in srgb, var(--sidebar-teal) 92%, #fff) 0%,

    var(--sidebar-teal, #5fb8c1) 100%

  );

  color: #fff;

  box-shadow: 0 2px 8px color-mix(in srgb, var(--sidebar-teal) 35%, transparent);
}
.ods-btn--primary[data-v-51f103bd]:hover:not(:disabled) {

  filter: brightness(1.06);
}


.outbound-order-attachments-block__title[data-v-e2b20f6c] {
  margin: 0 0 8px;
  font-size: 13px;
  font-weight: 600;
  color: var(--text-on-light, #334155);
}

.ods-overlay[data-v-fe8a2d7e] {
  position: fixed;
  inset: 0;
  z-index: 10075;
  background: color-mix(in srgb, var(--ui-accent-ink, #0a5f6e) 18%, rgba(15, 23, 42, 0.42));
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
}
.ods-dialog[data-v-fe8a2d7e] {
  width: min(1180px, 98vw);
  max-height: 92vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: #fff;
  border-radius: 16px;
  border: 1px solid color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 28%, #e2e8f0);
  box-shadow:
    0 20px 48px color-mix(in srgb, var(--ui-accent-ink, #0a5f6e) 12%, rgba(15, 23, 42, 0.16)),
    0 0 0 1px color-mix(in srgb, var(--sidebar-teal) 8%, transparent);
}
.ods-dialog-head[data-v-fe8a2d7e] {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 18px;
  background: linear-gradient(
    135deg,
    color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 16%, #ffffff) 0%,
    color-mix(in srgb, var(--sidebar-teal) 6%, #f8fafc) 100%
  );
  border-bottom: 1px solid color-mix(in srgb, var(--sidebar-teal) 22%, #e2e8f0);
}
.ods-dialog-title[data-v-fe8a2d7e] {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  color: var(--ui-accent-ink, #0a5f6e);
  letter-spacing: 0.02em;
}
.ods-dialog-sub[data-v-fe8a2d7e] {
  margin: 4px 0 0;
  font-size: 12px;
  color: #64748b;
}
.ods-dialog-close[data-v-fe8a2d7e] {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border: none;
  border-radius: 999px;
  background: color-mix(in srgb, var(--sidebar-teal) 10%, #fff);
  color: #64748b;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
}
.ods-dialog-close[data-v-fe8a2d7e]:hover {
  background: color-mix(in srgb, var(--sidebar-teal) 18%, #fff);
  color: var(--ui-accent-ink, #0a5f6e);
}
.ods-dialog-body[data-v-fe8a2d7e] {
  flex: 1;
  overflow: auto;
  padding: 14px 18px 8px;
}
.ods-loading[data-v-fe8a2d7e] {
  padding: 32px;
  text-align: center;
  color: #64748b;
  font-size: 13px;
}
.ods-info-pills[data-v-fe8a2d7e] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 8px;
}
.ods-info-pill[data-v-fe8a2d7e] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 12px;
  border-radius: 999px;
  font-size: 12px;
  color: #334155;
  background: color-mix(in srgb, var(--sidebar-teal) 10%, #f8fafc);
  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 24%, #e2e8f0);
}
.ods-info-pill em[data-v-fe8a2d7e] {
  font-style: normal;
  color: #64748b;
}
.ods-address[data-v-fe8a2d7e] {
  margin: 0 0 12px;
  font-size: 12px;
  color: #475569;
  line-height: 1.5;
}
.ods-seg[data-v-fe8a2d7e] {
  display: inline-flex;
  padding: 3px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--sidebar-teal) 8%, #f1f5f9);
  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 18%, #e2e8f0);
  margin-bottom: 14px;
}
.ods-seg-btn[data-v-fe8a2d7e] {
  border: none;
  background: transparent;
  padding: 6px 18px;
  border-radius: 999px;
  font-size: 13px;
  color: #64748b;
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}
.ods-seg-btn--active[data-v-fe8a2d7e] {
  background: #fff;
  color: var(--ui-accent-ink, #0a5f6e);
  font-weight: 600;
  box-shadow: 0 1px 4px color-mix(in srgb, var(--sidebar-teal) 20%, transparent);
}
.ods-field-grid[data-v-fe8a2d7e] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 10px 14px;
  margin-bottom: 12px;
}
.ods-field[data-v-fe8a2d7e] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.ods-field--block[data-v-fe8a2d7e] {
  margin-top: 10px;
}
.ods-field-label[data-v-fe8a2d7e] {
  font-size: 12px;
  color: #64748b;
  font-weight: 500;
}
.ods-input[data-v-fe8a2d7e],
.ods-textarea[data-v-fe8a2d7e] {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 20%, #cbd5e1);
  background: #fff;
  font-size: 13px;
  color: #0f172a;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.ods-input[data-v-fe8a2d7e] {
  height: 34px;
  padding: 0 14px;
  border-radius: 999px;
}
.ods-input--select[data-v-fe8a2d7e] {
  cursor: pointer;
}
.ods-textarea[data-v-fe8a2d7e] {
  padding: 10px 14px;
  border-radius: 12px;
  resize: vertical;
  min-height: 64px;
}
.ods-input[data-v-fe8a2d7e]:focus-visible,
.ods-textarea[data-v-fe8a2d7e]:focus-visible,
.ods-qty-input[data-v-fe8a2d7e]:focus-visible {
  outline: none;
  border-color: color-mix(in srgb, var(--sidebar-teal) 55%, #cbd5e1);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--sidebar-teal) 16%, transparent);
}
.ods-section-title[data-v-fe8a2d7e] {
  margin: 4px 0 8px;
  font-size: 13px;
  font-weight: 600;
  color: var(--ui-accent-ink, #0a5f6e);
}
.ods-table-wrap[data-v-fe8a2d7e] {
  overflow: auto;
  max-height: 260px;
  border-radius: 12px;
  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 18%, #e2e8f0);
}
.ods-hint[data-v-fe8a2d7e] {
  margin: 8px 0 0;
  font-size: 12px;
  color: #64748b;
  line-height: 1.45;
}
.ods-table[data-v-fe8a2d7e] {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}
.ods-table th[data-v-fe8a2d7e],
.ods-table td[data-v-fe8a2d7e] {
  padding: 8px 10px;
  border-bottom: 1px solid color-mix(in srgb, var(--sidebar-teal) 10%, #eef2f7);
  vertical-align: middle;
  text-align: left;
}
.ods-table thead th[data-v-fe8a2d7e] {
  position: sticky;
  top: 0;
  z-index: 1;
  background: color-mix(in srgb, var(--sidebar-teal) 14%, #eef6f8);
  color: var(--ui-accent-ink, #0a5f6e);
  font-weight: 600;
  white-space: nowrap;
}
.ods-table tbody tr:last-child td[data-v-fe8a2d7e] {
  border-bottom: none;
}
.ods-table tbody tr:hover td[data-v-fe8a2d7e] {
  background: color-mix(in srgb, var(--sidebar-teal) 4%, #fff);
}
.ods-product[data-v-fe8a2d7e] {
  min-width: 88px;
  max-width: 140px;
}
.ods-spec[data-v-fe8a2d7e] {
  font-weight: 600;
  color: #334155;
}
.ods-num[data-v-fe8a2d7e] {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.ods-readonly[data-v-fe8a2d7e] {
  color: #475569;
}
.ods-tracking[data-v-fe8a2d7e] {
  font-size: 11px;
  color: #334155;
  max-width: 120px;
  word-break: break-all;
}
.ods-logistics[data-v-fe8a2d7e] {
  font-size: 11px;
  color: #334155;
  max-width: 88px;
  word-break: break-all;
}
.ods-pkg-qty[data-v-fe8a2d7e] {
  margin-left: 4px;
  color: #64748b;
  font-size: 10px;
}
.ods-muted[data-v-fe8a2d7e] {
  color: #94a3b8;
}
.ods-qty-input[data-v-fe8a2d7e] {
  width: 56px;
  height: 28px;
  padding: 0 8px;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 28%, #cbd5e1);
  text-align: right;
  font-size: 12px;
}
.ods-sn[data-v-fe8a2d7e] {
  max-width: 100px;
  word-break: break-all;
  font-size: 11px;
  color: #64748b;
}
.ods-check[data-v-fe8a2d7e] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 12px 0 4px;
  font-size: 13px;
  font-weight: 500;
  color: #334155;
  cursor: pointer;
}
.ods-check-input[data-v-fe8a2d7e] {
  width: 16px;
  height: 16px;
  accent-color: var(--sidebar-teal, #5fb8c1);
}
.ods-confirmed[data-v-fe8a2d7e] {
  margin: 8px 0 0;
  font-size: 12px;
  color: #64748b;
}
.ods-dialog-foot[data-v-fe8a2d7e] {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: flex-end;
  gap: 8px;
  padding: 12px 18px 16px;
  border-top: 1px solid color-mix(in srgb, var(--sidebar-teal) 16%, #e2e8f0);
  background: color-mix(in srgb, var(--sidebar-teal) 4%, #fafbfc);
}
.ods-print-bar[data-v-fe8a2d7e] {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 8px;
  margin-right: auto;
}
.ods-print-field[data-v-fe8a2d7e] {
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-size: 11px;
  color: #64748b;
}
.ods-print-select[data-v-fe8a2d7e] {
  min-width: 148px;
  height: 34px;
}
.ods-btn--print[data-v-fe8a2d7e] {
  margin-right: 0;
}
.ods-btn[data-v-fe8a2d7e] {
  height: 34px;
  padding: 0 18px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  border: 1px solid transparent;
  transition: filter 0.15s, background 0.15s;
}
.ods-btn[data-v-fe8a2d7e]:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}
.ods-btn--ghost[data-v-fe8a2d7e] {
  background: #fff;
  border-color: color-mix(in srgb, var(--sidebar-teal) 22%, #cbd5e1);
  color: #475569;
}
.ods-btn--ghost[data-v-fe8a2d7e]:hover:not(:disabled) {
  border-color: color-mix(in srgb, var(--sidebar-teal) 40%, #cbd5e1);
  color: var(--ui-accent-ink, #0a5f6e);
}
.ods-btn--soft[data-v-fe8a2d7e] {
  background: color-mix(in srgb, var(--sidebar-teal) 12%, #fff);
  border-color: color-mix(in srgb, var(--sidebar-teal) 38%, #cbd5e1);
  color: var(--ui-accent-ink, #0a5f6e);
}
.ods-btn--soft[data-v-fe8a2d7e]:hover:not(:disabled) {
  background: color-mix(in srgb, var(--sidebar-teal) 18%, #fff);
}
.ods-btn--primary[data-v-fe8a2d7e] {
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--sidebar-teal) 92%, #fff) 0%,
    var(--sidebar-teal, #5fb8c1) 100%
  );
  color: #fff;
  border-color: color-mix(in srgb, var(--sidebar-teal) 80%, #0a5f6e);
  box-shadow: 0 2px 8px color-mix(in srgb, var(--sidebar-teal) 35%, transparent);
}
.ods-btn--primary[data-v-fe8a2d7e]:hover:not(:disabled) {
  filter: brightness(1.06);
}

.container[data-v-671bd6fb] {
  width: min(1760px, calc(100vw - 20px));
  max-width: 1760px;
  margin: 10px auto;
  padding: 8px 10px 16px;
  color: var(--text-on-light);
  box-sizing: border-box;
}
.container--guest[data-v-671bd6fb] {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  height: 100dvh;
  max-height: 100dvh;
  overflow: hidden;
}
/* 登录后：主壳按视口高度适配，侧栏与内容区分区滚动 */
.container--authed[data-v-671bd6fb] {
  height: calc(100dvh - 20px);
  max-height: calc(100dvh - 20px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.container--authed > .app-shell-title[data-v-671bd6fb],
.container--authed > .app-topbar[data-v-671bd6fb],
.container--authed > .login-card[data-v-671bd6fb] {
  flex-shrink: 0;
}
.app-main[data-v-671bd6fb] {
  /* 仅承载弹层；不参与主壳高度分配（app-shell 为兄弟节点） */
  flex: 0 0 auto;
  height: 0;
  min-height: 0;
  overflow: visible;
}
h2[data-v-671bd6fb], h3[data-v-671bd6fb], h4[data-v-671bd6fb], h5[data-v-671bd6fb] { color: var(--text-on-light);
}
.gross-profit-stat-filter .gross-profit-stat-field[data-v-671bd6fb] {
  display: flex;
  flex-direction: column;
  margin: 0;
  min-width: 0;
}
.gross-profit-stat-filter .gross-profit-stat-field > span[data-v-671bd6fb] {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  line-height: 20px;
  margin-bottom: 4px;
  font-size: 12px;
  color: var(--text-on-light);
}
.gross-profit-stat-filter .gross-profit-stat-field select[data-v-671bd6fb] {
  width: 100%;
  height: 36px;
  font-size: 13px;
  color: #111827;
  background: #fff;
  border: 1px solid #d5dde7;
  border-radius: 8px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  box-sizing: border-box;
  margin: 0;
}
.gross-profit-stat-filter .gross-profit-stat-field select[data-v-671bd6fb]:focus-visible {
  outline: none;
  border-color: color-mix(in srgb, var(--sidebar-teal) 48%, #cbd5e1);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--sidebar-teal) 16%, transparent);
}
.gross-profit-stat-contract-link[data-v-671bd6fb] {
  display: inline-block;
  margin-top: 4px;
  font-size: 12px;
}
.gross-profit-stat-doc-col[data-v-671bd6fb] {
  text-align: left;
  vertical-align: middle;
}
/* 销货单制单：表头筛选区 + 明细表与商品毛利分析表同系 */
.sales-order-create-ledger .sales-order-sheet-header-panel[data-v-671bd6fb] {
  margin-bottom: 2px;
}
.content-area--stat-ledger-fill[data-v-671bd6fb] .doc-create-ledger.stat-ledger-page .sales-order-sheet-header-panel.stat-ledger-filters,
.content-area--stat-ledger-fill[data-v-671bd6fb] .sales-order-create-ledger.stat-ledger-page .sales-order-sheet-header-panel.stat-ledger-filters,
.doc-create-ledger .sales-order-sheet-header-panel.stat-ledger-filters[data-v-671bd6fb],
.sales-order-create-ledger .sales-order-sheet-header-panel.stat-ledger-filters[data-v-671bd6fb] {
  background: #fff;
}
/* 销货单制单明细：表体白底；行 hover 浅青高亮仍由 crm-ledger-table 全局规则保留 */
.content-area .sales-order-create-ledger.sales-order-page .crm-ledger-list-shell .crm-ledger-table.hist-config-table > tbody > tr > td[data-v-671bd6fb],
.content-area .sales-order-create-ledger.sales-order-page .crm-ledger-list-shell .crm-ledger-table.hist-config-table > tbody > tr:nth-child(even) > td[data-v-671bd6fb],
.content-area .sales-order-create-ledger.sales-order-page .crm-ledger-list-shell .crm-ledger-table.hist-config-table > tbody > tr:nth-child(odd) > td[data-v-671bd6fb],
.content-area .sales-order-create-ledger.sales-order-page .sales-order-lines-table.hist-config-table > tbody > tr > td[data-v-671bd6fb],
.content-area .sales-order-create-ledger.sales-order-page .sales-order-lines-table.hist-config-table > tbody > tr:nth-child(even) > td[data-v-671bd6fb],
.content-area .sales-order-create-ledger.sales-order-page .sales-order-lines-table.hist-config-table > tbody > tr:nth-child(odd) > td[data-v-671bd6fb] {
  background: #fff;
}
.content-area .sales-order-create-ledger.sales-order-page .product-table-real tbody tr:nth-child(odd) td.sales-order-lines-sticky-op.product-sticky-action[data-v-671bd6fb],
.content-area .sales-order-create-ledger.sales-order-page .product-table-real tbody tr:nth-child(even) td.sales-order-lines-sticky-op.product-sticky-action[data-v-671bd6fb],
.content-area .sales-order-create-ledger.sales-order-page .product-table-real tbody tr:nth-child(odd) .product-sticky-left[data-v-671bd6fb],
.content-area .sales-order-create-ledger.sales-order-page .product-table-real tbody tr:nth-child(even) .product-sticky-left[data-v-671bd6fb] {
  background: #fff;
}
/* 销货单制单：明细列表壳与主信息区同宽（去掉 StatLedgerViewport 左右内边距） */
.content-area--stat-ledger-fill[data-v-671bd6fb] .doc-create-ledger.stat-ledger-page .history-page-viewport .stat-ledger-page-stack__body,
.content-area--stat-ledger-fill[data-v-671bd6fb] .doc-create-ledger.stat-ledger-page .history-page-viewport .stat-ledger-page-stack__after,
.content-area--stat-ledger-fill[data-v-671bd6fb] .sales-order-create-ledger.stat-ledger-page .history-page-viewport .stat-ledger-page-stack__body,
.content-area--stat-ledger-fill[data-v-671bd6fb] .sales-order-create-ledger.stat-ledger-page .history-page-viewport .stat-ledger-page-stack__after {
  padding-left: 0;
  padding-right: 0;
}
/* 销货单制单明细：四边外框贴在表头+明细行，随 Row 数自动闭合；合计栏在框外 */
.content-area--stat-ledger-fill[data-v-671bd6fb] .doc-create-ledger.stat-ledger-page .stat-ledger-page-stack__body,
.content-area--stat-ledger-fill[data-v-671bd6fb] .sales-order-create-ledger.stat-ledger-page .stat-ledger-page-stack__body {
  flex: 0 1 auto;
  align-items: stretch;
  padding-left: 0;
  padding-right: 0;
}
.content-area--stat-ledger-fill[data-v-671bd6fb] .doc-create-ledger.stat-ledger-page .stat-ledger-page-stack.crm-ledger-list-shell,
.content-area--stat-ledger-fill[data-v-671bd6fb] .sales-order-create-ledger.stat-ledger-page .stat-ledger-page-stack.crm-ledger-list-shell {
  flex: 0 1 auto;
}
.content-area--stat-ledger-fill[data-v-671bd6fb] .doc-create-ledger.stat-ledger-page .crm-ledger-list-shell.stat-ledger-page-stack .stat-ledger-list-shell,
.content-area--stat-ledger-fill[data-v-671bd6fb] .doc-create-ledger.stat-ledger-page .stat-ledger-page-stack__body > .stat-ledger-list-shell,
.content-area--stat-ledger-fill[data-v-671bd6fb] .sales-order-create-ledger.stat-ledger-page .crm-ledger-list-shell.stat-ledger-page-stack .stat-ledger-list-shell,
.content-area--stat-ledger-fill[data-v-671bd6fb] .sales-order-create-ledger.stat-ledger-page .stat-ledger-page-stack__body > .stat-ledger-list-shell {
  flex: 0 1 auto;
  min-height: 0 !important;
  border: none;
  box-shadow: none;
  background: transparent;
  border-radius: 0;
}
.content-area--stat-ledger-fill[data-v-671bd6fb] .doc-create-ledger.stat-ledger-page .crm-ledger-list-shell .stat-ledger-single-slot,
.content-area--stat-ledger-fill[data-v-671bd6fb] .sales-order-create-ledger.stat-ledger-page .crm-ledger-list-shell .stat-ledger-single-slot {
  flex: 0 1 auto;
  min-height: 0;
  overflow: visible;
}
.content-area--stat-ledger-fill[data-v-671bd6fb] .doc-create-ledger.stat-ledger-page .crm-ledger-list-shell .stat-ledger-single-slot > .hist-config-wrap,
.content-area--stat-ledger-fill[data-v-671bd6fb] .sales-order-create-ledger.stat-ledger-page .crm-ledger-list-shell .stat-ledger-single-slot > .hist-config-wrap {
  flex: 0 1 auto;
  min-height: 0;
  border: 1px solid color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 14%, #e2e8f0);
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
}
.content-area--stat-ledger-fill[data-v-671bd6fb] .doc-create-ledger.stat-ledger-page .hist-config-scroll-outer,
.content-area--stat-ledger-fill[data-v-671bd6fb] .doc-create-ledger.stat-ledger-page .hist-config-scroll-outer.sales-order-lines-table-scroll,
.content-area--stat-ledger-fill[data-v-671bd6fb] .sales-order-create-ledger.stat-ledger-page .hist-config-scroll-outer,
.content-area--stat-ledger-fill[data-v-671bd6fb] .sales-order-create-ledger.stat-ledger-page .hist-config-scroll-outer.sales-order-lines-table-scroll {
  flex: 0 1 auto;
  min-height: 0;
  max-height: calc(40px + 44px * 10);
  overflow: auto;
}
.content-area--stat-ledger-fill[data-v-671bd6fb] .doc-create-ledger.stat-ledger-page .crm-ledger-list-summary,
.content-area--stat-ledger-fill[data-v-671bd6fb] .sales-order-create-ledger.stat-ledger-page .crm-ledger-list-summary {
  border-radius: 0;
}
.content-area .doc-create-ledger.sales-order-page .crm-ledger-table.hist-config-table > tbody > tr:last-child > td[data-v-671bd6fb],
.content-area .sales-order-create-ledger.sales-order-page .crm-ledger-table.hist-config-table > tbody > tr:last-child > td[data-v-671bd6fb] {
  border-bottom: none;
}
.content-area--stat-ledger-fill[data-v-671bd6fb] .doc-create-ledger.stat-ledger-page .doc-template-sheet-footer,
.content-area--stat-ledger-fill[data-v-671bd6fb] .doc-create-ledger.stat-ledger-page .sales-order-create-sheet-footer,
.content-area--stat-ledger-fill[data-v-671bd6fb] .sales-order-create-ledger.stat-ledger-page .doc-template-sheet-footer,
.content-area--stat-ledger-fill[data-v-671bd6fb] .sales-order-create-ledger.stat-ledger-page .sales-order-create-sheet-footer {
  flex-shrink: 0;
  justify-content: flex-start;
  margin-top: 8px;
  padding: 0;
  border-top: none;
  font-size: 12px;
  color: #64748b;
}
.content-area--stat-ledger-fill[data-v-671bd6fb] .doc-create-ledger.stat-ledger-page .stat-ledger-page-stack__after,
.content-area--stat-ledger-fill[data-v-671bd6fb] .sales-order-create-ledger.stat-ledger-page .stat-ledger-page-stack__after {
  flex-shrink: 0;
  padding-top: 0;
}
.sales-order-create-ledger .sales-order-sheet-header-panel .gross-profit-stat-filter-grid > label > span[data-v-671bd6fb]:first-child,
.sales-order-create-ledger .sales-order-sheet-header-panel .sales-wh-field > span[data-v-671bd6fb]:first-child {
  color: #546e7a;
  font-weight: 400;
  font-synthesis: none;
}
.sales-order-create-ledger .sales-order-sales-emp-select--placeholder[data-v-671bd6fb] {
  color: #64748b;
}
.sales-order-create-ledger .sales-order-sales-emp-select option[data-v-671bd6fb] {
  color: #111827;
}
.sales-order-create-ledger .sales-order-lines-ledger-summary[data-v-671bd6fb] {
  border-radius: 0 0 10px 10px;
  border-top: 1px solid color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 14%, var(--border-light));
}
.sales-order-create-ledger .sales-order-lines-ledger-table.product-table-real.hist-config-table > thead > tr > th[data-v-671bd6fb] {
  background: linear-gradient(180deg, #f8fbfc 0%, #f0f7f8 100%);
  color: #334155;
  font-weight: 600;
  font-size: 12px;
}
.sales-order-create-ledger .sales-order-lines-ledger-table .ir-cell-num input[data-v-671bd6fb],
.sales-order-create-ledger .sales-order-lines-ledger-table .ir-cell-num textarea[data-v-671bd6fb] {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.gps-sticky-edge[data-v-671bd6fb] {
  box-shadow: 4px 0 8px rgba(15, 23, 42, 0.06);
}
.sales-history-page .product-table-real.hist-config-table.gross-profit-stat-hist-table[data-v-671bd6fb] {
  border-collapse: separate;
  border-spacing: 0;
}
.sales-history-page .gross-profit-stat-hist-table > thead > tr > th.product-sticky-left[data-v-671bd6fb] {
  z-index: 7;
}
.sales-history-page .gross-profit-stat-hist-table > thead > tr > th.product-sticky-left.gps-sticky-edge[data-v-671bd6fb] {
  z-index: 8;
}
.sales-history-page .gross-profit-stat-hist-table > tbody > tr > td.product-sticky-left[data-v-671bd6fb] {
  z-index: 2;
}
.app-shell[data-v-671bd6fb] {
  display: flex;
  gap: 14px;
  align-items: stretch;
  flex: 1 1 0%;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
  position: relative;
}
.container--authed > .app-shell[data-v-671bd6fb] {
  flex: 1 1 0%;
  min-height: 0;
}
.app-shell--embed[data-v-671bd6fb] {
  display: block;
  overflow: auto;
}
.app-shell--embed .content-area--embed[data-v-671bd6fb] {
  max-width: 1520px;
  margin: 0 auto;
}
.crm-embed-banner[data-v-671bd6fb] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  padding: 10px 14px;
  margin-bottom: 12px;
  background: linear-gradient(90deg, var(--surface-brand-pale), var(--surface-brand-paler));
  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 38%, #dcebef);
  border-radius: 10px;
}
.crm-embed-banner-title[data-v-671bd6fb] {
  font-weight: 700;
  color: var(--ui-accent-ink);
  font-size: 15px;
}
.crm-embed-close[data-v-671bd6fb] {
  padding: 6px 14px;
  border-radius: 8px;
  border: 1px solid var(--sidebar-teal);
  background: #fff;
  color: var(--ui-accent-ink);
  cursor: pointer;
  font-size: 13px;
  font-weight: 600;
  box-shadow: none;
}
.crm-embed-close[data-v-671bd6fb]:hover {
  background: var(--surface-brand-pale);
}
.partner-editor-embed[data-v-671bd6fb] {
  padding-top: 4px;
}
.content-area[data-v-671bd6fb] {
  min-width: 0;
  min-height: 0;
  flex: 1 1 0%;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  background: rgba(255, 255, 255, 0.78);
  border-radius: 14px;
  padding: 18px 22px 24px;
  border: 1px solid color-mix(in srgb, #ffffff 78%, #d7e0ea);
  box-shadow: 0 14px 36px rgba(15, 23, 42, 0.08);
  backdrop-filter: blur(12px) saturate(1.05);
  -webkit-backdrop-filter: blur(12px) saturate(1.05);
}
.content-tabs-strip[data-v-671bd6fb] {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 8px;
  padding: 4px 4px 12px;
  margin: -4px -4px 4px -4px;
  border-bottom: 1px solid #e2ebf0;
  background: linear-gradient(180deg, #f7fbfc 0%, #f1f7f9 100%);
  border-radius: 10px 10px 0 0;
}
.content-tab[data-v-671bd6fb] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: 200px;
  min-height: 36px;
  margin-right: 0;
  padding: 8px 12px;
  border: 1px solid #d7e2e8;
  border-bottom: none;
  border-radius: 10px 10px 0 0;
  background: #f8fcfd;
  color: #52616b;
  font-size: 13px;
  cursor: pointer;
  box-shadow: none;
  line-height: 1.1;
  user-select: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.content-tab[data-v-671bd6fb]:hover {
  background: #fff;
  border-color: #c3d7e2;
}
button.content-tab.content-tab--active[data-v-671bd6fb],
.content-tab--active[data-v-671bd6fb] {
  background: #fff7ed;
  border-color: #fed7aa;
  color: #9a3412;
  font-weight: 600;
  padding-bottom: 8px;
  margin-bottom: -1px;
  position: relative;
  z-index: 1;
  box-shadow: none;
}
button.content-tab.content-tab--active[data-v-671bd6fb]:hover,
.content-tab--active[data-v-671bd6fb]:hover {
  background: #ffedd5;
  border-color: #fdba74;
  color: #9a3412;
}
.content-tab-label[data-v-671bd6fb] {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.content-tab-close[data-v-671bd6fb] {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 4px;
  font-size: 15px;
  line-height: 1;
  color: #78909c;
  border: none;
  background: transparent;
  cursor: pointer;
  padding: 0;
  box-shadow: none;
}
.content-tab-close[data-v-671bd6fb]:hover {
  background: rgba(15, 23, 42, 0.08);
  color: #37474f;
}
.content-tab--active .content-tab-close[data-v-671bd6fb]:hover {
  background: rgba(154, 52, 18, 0.12);
  color: #9a3412;
}
.module-title[data-v-671bd6fb] {
  font-size: var(--crm-page-heading-size, 18px);
  font-weight: var(--crm-page-heading-weight, 700);
  color: var(--crm-page-heading-color, #000);
  margin-bottom: 4px;
}
.module-desc[data-v-671bd6fb] { font-size: 12px; color: var(--text-muted-light); margin-bottom: 10px;
}
.sub-tabs[data-v-671bd6fb] {
  display: flex;
  gap: 8px;
  margin: 8px 0 12px;
  flex-wrap: wrap;
  align-items: center;
}
.sub-tabs > button[data-v-671bd6fb] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 14px;
  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 28%, #e2e8f0);
  border-radius: 8px;
  background: color-mix(in srgb, var(--sidebar-teal) 6%, #ffffff);
  color: #334155;
  font-size: 13px;
  line-height: 1;
  cursor: pointer;
  transition: background-color 0.16s ease, border-color 0.16s ease, color 0.16s ease;
}
.sub-tabs > button[data-v-671bd6fb]:hover {
  background: color-mix(in srgb, var(--sidebar-teal) 12%, #ffffff);
  border-color: color-mix(in srgb, var(--sidebar-teal) 45%, #c5d8dc);
  color: #0f5b6a;
}
.sub-tab-active[data-v-671bd6fb] {
  background: rgba(95, 184, 193, 0.2);
  border-color: var(--sidebar-teal) !important;
  color: #0a5f6e;
  font-weight: 600;
}
.card[data-v-671bd6fb] { border: 1px solid var(--border-light); border-radius: 12px; padding: 14px; background: var(--content-surface); box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06); margin-bottom: 12px;
}

/* —— CRM 登录台 —— */
.crm-login-stage[data-v-671bd6fb] {
  --login-ink: #0a4a55;
  --login-label: #47656c;
  --login-muted: #64748b;
  --login-primary: #70b7bb;
  --login-primary-hover: #5fa8ad;
  --login-wecom: #07c160;
  --login-wecom-hover: #06ad56;
  --login-border: #d5dde7;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
  min-height: 100dvh;
  width: 100%;
  background:
    radial-gradient(900px 480px at 12% 18%, color-mix(in srgb, var(--login-primary) 22%, #ffffff) 0%, transparent 58%),
    radial-gradient(700px 420px at 88% 82%, color-mix(in srgb, var(--login-primary) 12%, #eef5f6) 0%, transparent 55%),
    linear-gradient(160deg, #eef4f5 0%, #f5f8f9 45%, #e9f0f1 100%);
}
.crm-login-brand[data-v-671bd6fb] {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(40px, 8vw, 88px) clamp(32px, 6vw, 72px);
  color: #063942;
  overflow: hidden;
  isolation: isolate;
}
.crm-login-brand-glow[data-v-671bd6fb] {
  position: absolute;
  inset: -20% auto auto -10%;
  width: min(520px, 70%);
  height: min(520px, 70%);
  border-radius: 50%;
  background: radial-gradient(circle, color-mix(in srgb, var(--sidebar-teal) 55%, #ffffff) 0%, transparent 70%);
  opacity: 0.55;
  z-index: 0;
  pointer-events: none;
  animation: crm-login-glow-671bd6fb 8s ease-in-out infinite alternate;
}
.crm-login-brand-grid[data-v-671bd6fb] {
  position: absolute;
  inset: 0;
  z-index: 0;
  opacity: 0.22;
  background-image:
    linear-gradient(color-mix(in srgb, var(--sidebar-teal) 35%, transparent) 1px, transparent 1px),
    linear-gradient(90deg, color-mix(in srgb, var(--sidebar-teal) 35%, transparent) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: linear-gradient(120deg, #000 20%, transparent 88%);
  pointer-events: none;
}
.crm-login-brand-kicker[data-v-671bd6fb],
.crm-login-brand-name[data-v-671bd6fb],
.crm-login-brand-tagline[data-v-671bd6fb],
.crm-login-brand-points[data-v-671bd6fb] {
  position: relative;
  z-index: 1;
}
.crm-login-brand-kicker[data-v-671bd6fb] {
  margin: 0 0 12px;
  font-family: "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #0a5f6e;
}
.crm-login-brand-name[data-v-671bd6fb] {
  margin: 0;
  font-family: "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  font-size: clamp(56px, 9vw, 96px);
  font-weight: 700;
  line-height: 0.95;
  letter-spacing: -0.03em;
  color: #05505c;
  text-shadow: 0 12px 40px color-mix(in srgb, var(--sidebar-teal) 28%, transparent);
  animation: crm-login-brand-in-671bd6fb 0.7s cubic-bezier(0.22, 1, 0.36, 1) both;
}
.crm-login-brand-tagline[data-v-671bd6fb] {
  margin: 18px 0 0;
  max-width: 28ch;
  font-family: "PingFang SC", "Microsoft YaHei", "Segoe UI", sans-serif;
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 500;
  line-height: 1.55;
  color: #1a4f58;
  animation: crm-login-brand-in-671bd6fb 0.7s 0.08s cubic-bezier(0.22, 1, 0.36, 1) both;
}
.crm-login-brand-points[data-v-671bd6fb] {
  list-style: none;
  margin: 28px 0 0;
  padding: 0;
  display: grid;
  gap: 10px;
  animation: crm-login-brand-in-671bd6fb 0.7s 0.14s cubic-bezier(0.22, 1, 0.36, 1) both;
}
.crm-login-brand-points li[data-v-671bd6fb] {
  position: relative;
  padding-left: 18px;
  font-size: 14px;
  color: #2a5d66;
}
.crm-login-brand-points li[data-v-671bd6fb]::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 8px;
  height: 8px;
  border-radius: 2px;
  background: var(--sidebar-teal);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--sidebar-teal) 22%, transparent);
}
.crm-login-panel[data-v-671bd6fb] {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(24px, 4vw, 48px);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.55) 0%, rgba(255, 255, 255, 0.18) 100%);
  backdrop-filter: blur(8px);
}
.crm-login-card[data-v-671bd6fb] {
  width: min(420px, 100%);
  margin: 0;
  padding: 28px 26px 24px;
  border-radius: 16px;
  border: 1px solid color-mix(in srgb, var(--login-primary) 28%, var(--login-border));
  background: #fff;
  box-shadow:
    0 16px 40px rgba(15, 23, 42, 0.06),
    0 1px 0 rgba(255, 255, 255, 0.95) inset;
  animation: crm-login-panel-in-671bd6fb 0.65s cubic-bezier(0.22, 1, 0.36, 1) both;
}
.crm-login-card-head[data-v-671bd6fb] {
  margin-bottom: 18px;
}
.crm-login-card-title[data-v-671bd6fb] {
  margin: 0;
  font-family: "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  font-size: 22px;
  font-weight: 700;
  color: var(--login-ink);
}
.crm-login-card-sub[data-v-671bd6fb] {
  margin: 6px 0 0;
  font-size: 13px;
  color: var(--login-muted);
  line-height: 1.45;
}
.login-fields--stack[data-v-671bd6fb] {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 12px;
  margin-bottom: 16px;
}
.crm-login-field[data-v-671bd6fb] {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0;
  min-width: 0;
}
.crm-login-field > span[data-v-671bd6fb] {
  font-size: 12px;
  font-weight: 600;
  color: var(--login-label);
}
.crm-login-card .login-fields input[type='text'][data-v-671bd6fb],
.crm-login-card .login-fields input[data-v-671bd6fb]:not([type]),
.crm-login-card .login-fields input[type='password'][data-v-671bd6fb],
.crm-login-card .login-fields input[type='number'][data-v-671bd6fb] {
  width: 100%;
  min-width: 0;
  flex: 0 0 auto !important;
  box-sizing: border-box;
  height: 36px;
  max-height: 36px;
  min-height: 36px;
  margin: 0;
  padding: 0 12px;
  line-height: 36px;
  border-radius: 8px;
  border: 1px solid var(--login-border);
  background: #fff;
  color: #1e293b;
  font-size: 14px;
  box-shadow: none;
}
.crm-login-card .login-fields input[data-v-671bd6fb]:focus-visible {
  outline: none;
  border-color: color-mix(in srgb, var(--login-primary) 55%, #cbd5e1);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--login-primary) 22%, transparent);
}
.crm-login-captcha-row[data-v-671bd6fb] {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
  min-width: 0;
}
.crm-login-captcha-row > input[data-v-671bd6fb] {
  width: 100%;
  flex: 0 0 auto !important;
  min-width: 0;
}
.crm-login-captcha-q[data-v-671bd6fb] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1px;
  width: 100%;
  min-width: 0;
  min-height: 42px;
  height: auto;
  padding: 8px 12px;
  border-radius: 8px;
  border: 1px solid color-mix(in srgb, var(--login-primary) 32%, var(--login-border));
  background: color-mix(in srgb, var(--login-primary) 12%, #f8fafc);
  color: var(--login-ink);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.02em;
  cursor: pointer;
  white-space: nowrap;
  line-height: 1;
}
.crm-login-captcha-q[data-v-671bd6fb]:hover:not(:disabled) {
  background: color-mix(in srgb, var(--login-primary) 18%, #fff);
}
.crm-login-captcha-q[data-v-671bd6fb]:disabled {
  opacity: 0.7;
  cursor: wait;
}
.crm-login-captcha-digit[data-v-671bd6fb] {
  display: inline-block;
  font-family: "STCaiyun", "KaiTi", "STKaiti", "Segoe Print", "Comic Sans MS", cursive;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1;
  background: linear-gradient(160deg, #0a6b7c 0%, var(--login-primary) 45%, #0f766e 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  filter: drop-shadow(0 1px 0 rgba(15, 76, 92, 0.22));
  transform: rotate(var(--digit-tilt, 0deg)) translateY(-1px);
}
.crm-login-captcha-op[data-v-671bd6fb] {
  display: inline-block;
  padding: 0 3px;
  font-size: 15px;
  font-weight: 600;
  color: var(--login-label);
  letter-spacing: 0.02em;
}
.login-lock-hint[data-v-671bd6fb] {
  margin: 0;
  font-size: 12px;
  line-height: 1.4;
  color: var(--login-muted);
}
.login-actions--stack[data-v-671bd6fb] {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
}
.login-actions--stack .login-btn-primary[data-v-671bd6fb],
.login-actions--stack .login-btn-wecom[data-v-671bd6fb],
.login-actions--stack .login-btn-ghost[data-v-671bd6fb] {
  width: 100%;
  height: 44px;
  border-radius: 10px;
  font-size: 14px;
}
.login-actions--stack .login-btn-link[data-v-671bd6fb] {
  align-self: center;
  min-height: 34px;
  padding: 6px 16px;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--login-primary) 28%, var(--login-border));
  background: color-mix(in srgb, var(--login-primary) 8%, #fff);
  color: var(--login-primary-hover);
  text-decoration: none;
  font-weight: 500;
}
.login-actions--stack .login-btn-link[data-v-671bd6fb]:hover {
  background: color-mix(in srgb, var(--login-primary) 14%, #fff);
  border-color: color-mix(in srgb, var(--login-primary) 42%, var(--login-border));
}
.login-btn-ghost[data-v-671bd6fb] {
  background: #fff;
  border: 1px solid #d5dde7;
  color: #475569;
}
.login-btn-ghost[data-v-671bd6fb]:hover {
  background: #f8fafc;
}
.login-card--authed[data-v-671bd6fb] {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 8px 12px;
  margin-bottom: 8px;
}
.login-actions--authed[data-v-671bd6fb] {
  margin: 0;
  justify-content: flex-end;
}

/* 已登录顶栏 */
.app-topbar[data-v-671bd6fb] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-shrink: 0;
  margin: 0 0 10px;
  padding: 8px 12px;
  border-radius: 12px;
  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 18%, #dfe8ee);
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
  backdrop-filter: blur(8px);
}
.app-topbar-notice-slot[data-v-671bd6fb] {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  align-items: center;
  min-height: 32px;
}
.app-topbar-notice[data-v-671bd6fb] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  max-width: min(720px, 100%);
  min-width: 0;
  padding: 6px 8px 6px 12px;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 28%, #dfe8ee);
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--sidebar-teal) 14%, #ffffff) 0%,
    color-mix(in srgb, var(--sidebar-teal) 8%, #ffffff) 100%
  );
  color: #0a5f6e;
  font-size: 13px;
  line-height: 1.3;
  box-shadow: 0 1px 2px color-mix(in srgb, var(--sidebar-teal) 10%, transparent);
}
.app-topbar-notice--success[data-v-671bd6fb],
.app-topbar-notice--info[data-v-671bd6fb] {
  border-color: color-mix(in srgb, var(--sidebar-teal) 32%, #dfe8ee);
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--sidebar-teal) 16%, #ffffff) 0%,
    color-mix(in srgb, var(--sidebar-teal) 8%, #ffffff) 100%
  );
  color: #0a5f6e;
}
.app-topbar-notice--warning[data-v-671bd6fb] {
  border-color: color-mix(in srgb, var(--sidebar-teal) 22%, #fcd34d);
  background: linear-gradient(180deg, #fffbeb 0%, color-mix(in srgb, var(--sidebar-teal) 6%, #fff7ed) 100%);
  color: #0a5f6e;
}
.app-topbar-notice-text[data-v-671bd6fb] {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 600;
}
.app-topbar-notice-close[data-v-671bd6fb] {
  flex: 0 0 auto;
  width: 24px;
  height: 24px;
  border: none;
  border-radius: 999px;
  background: color-mix(in srgb, var(--sidebar-teal) 12%, transparent);
  color: #0a5f6e;
  opacity: 0.85;
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
}
.app-topbar-notice-close[data-v-671bd6fb]:hover {
  opacity: 1;
  background: color-mix(in srgb, var(--sidebar-teal) 22%, transparent);
}
.app-topbar-notice-enter-active[data-v-671bd6fb],
.app-topbar-notice-leave-active[data-v-671bd6fb] {
  transition: opacity 0.18s ease, transform 0.18s ease;
}
.app-topbar-notice-enter-from[data-v-671bd6fb],
.app-topbar-notice-leave-to[data-v-671bd6fb] {
  opacity: 0;
  transform: translateY(-4px);
}
.app-topbar-session[data-v-671bd6fb] {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex: 0 0 auto;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.app-topbar-tenant-user[data-v-671bd6fb] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  max-width: min(420px, 46vw);
}
.app-topbar-dot[data-v-671bd6fb] {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #ef4444;
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.16);
  flex: 0 0 auto;
}
.app-topbar-tenant-user-text[data-v-671bd6fb] {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
  font-weight: 600;
  color: #334155;
}
.app-topbar-role[data-v-671bd6fb] {
  display: inline-flex;
  align-items: center;
  height: 26px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #0a5f6e;
  background: color-mix(in srgb, var(--sidebar-teal) 16%, #ffffff);
  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 28%, #dfe8ee);
}
.app-topbar-inbox[data-v-671bd6fb] {
  position: relative;
  height: 32px;
  padding: 0 12px;
  border-radius: 8px;
  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 28%, #d5dde7);
  background: #fff;
  color: #0a5f6e;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  box-shadow: none;
}
.app-topbar-inbox[data-v-671bd6fb]:hover {
  background: color-mix(in srgb, var(--sidebar-teal) 10%, #ffffff);
  border-color: color-mix(in srgb, var(--sidebar-teal) 42%, #cbd5e1);
}
.app-topbar-inbox-badge[data-v-671bd6fb] {
  position: absolute;
  top: -6px;
  right: -6px;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  border-radius: 999px;
  background: #dc2626;
  color: #fff;
  font-size: 10px;
  line-height: 16px;
  font-weight: 700;
  text-align: center;
}
.app-topbar-logout[data-v-671bd6fb] {
  height: 32px;
  padding: 0 12px;
  border-radius: 8px;
  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 28%, #d5dde7);
  background: #fff;
  color: #0a5f6e;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  box-shadow: none;
}
.app-topbar-logout[data-v-671bd6fb]:hover {
  background: color-mix(in srgb, var(--sidebar-teal) 10%, #ffffff);
  border-color: color-mix(in srgb, var(--sidebar-teal) 42%, #cbd5e1);
}

/* 消息通知弹窗：青色系；错误态感叹号保留红色 */
.notice-dialog-mask[data-v-671bd6fb] {
  position: fixed;
  inset: 0;
  /* 高于增补赠品等 settlement-modal（12500）和商品档案弹层（14000），避免失败提示被挡住 */
  z-index: 16000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: color-mix(in srgb, #042f36 28%, rgba(2, 8, 23, 0.28));
  backdrop-filter: blur(3px);
  animation: notice-mask-in-671bd6fb 0.18s ease both;
}
.notice-dialog[data-v-671bd6fb] {
  position: relative;
  width: min(420px, 100%);
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  column-gap: 14px;
  row-gap: 14px;
  padding: 20px 44px 16px 18px;
  border-radius: 16px;
  background: linear-gradient(180deg, #ffffff 0%, color-mix(in srgb, var(--sidebar-teal) 4%, #ffffff) 100%);
  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 28%, #e2e8f0);
  box-shadow:
    0 20px 50px color-mix(in srgb, var(--sidebar-teal) 18%, rgba(15, 23, 42, 0.12)),
    0 1px 0 rgba(255, 255, 255, 0.9) inset;
  animation: notice-dialog-in-671bd6fb 0.22s cubic-bezier(0.22, 1, 0.36, 1) both;
}
.notice-dialog--error[data-v-671bd6fb],
.notice-dialog--success[data-v-671bd6fb],
.notice-dialog--info[data-v-671bd6fb] {
  border-color: color-mix(in srgb, var(--sidebar-teal) 34%, #e2e8f0);
}
.notice-dialog-icon[data-v-671bd6fb] {
  grid-row: 1 / 2;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  font-weight: 800;
  line-height: 1;
  color: #dc2626;
  background: linear-gradient(
    160deg,
    color-mix(in srgb, var(--sidebar-teal) 22%, #ffffff) 0%,
    color-mix(in srgb, var(--sidebar-teal) 12%, #ffffff) 100%
  );
  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 36%, #dfe8ee);
  box-shadow: 0 4px 12px color-mix(in srgb, var(--sidebar-teal) 16%, transparent);
}
.notice-dialog--error .notice-dialog-icon[data-v-671bd6fb],
.notice-dialog--success .notice-dialog-icon[data-v-671bd6fb],
.notice-dialog--info .notice-dialog-icon[data-v-671bd6fb] {
  background: linear-gradient(
    160deg,
    color-mix(in srgb, var(--sidebar-teal) 22%, #ffffff) 0%,
    color-mix(in srgb, var(--sidebar-teal) 12%, #ffffff) 100%
  );
  color: #dc2626;
}
.notice-dialog-body[data-v-671bd6fb] {
  grid-column: 2;
  min-width: 0;
  padding-top: 2px;
}
.notice-dialog-title[data-v-671bd6fb] {
  margin: 0 0 6px;
  font-size: 16px;
  font-weight: 700;
  color: #0a4a55;
}
.notice-dialog-text[data-v-671bd6fb] {
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
  color: #47656c;
  word-break: break-word;
}
.notice-dialog-close[data-v-671bd6fb] {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 32px;
  height: 32px;
  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 18%, #e2e8f0);
  border-radius: 8px;
  background: #fff;
  color: #64748b;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
}
.notice-dialog-close[data-v-671bd6fb]:hover {
  background: color-mix(in srgb, var(--sidebar-teal) 10%, #ffffff);
  border-color: color-mix(in srgb, var(--sidebar-teal) 32%, #cbd5e1);
  color: #0a5f6e;
}
.notice-dialog-actions[data-v-671bd6fb] {
  grid-column: 1 / -1;
  display: flex;
  justify-content: flex-end;
}
.notice-dialog-ok[data-v-671bd6fb] {
  height: 36px;
  padding: 0 16px;
  border-radius: 9px;
  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 48%, #0a5f6e);
  background: linear-gradient(180deg, color-mix(in srgb, var(--sidebar-teal) 88%, #ffffff) 0%, var(--sidebar-teal) 100%);
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  box-shadow: 0 6px 14px color-mix(in srgb, var(--sidebar-teal) 28%, transparent);
}
.notice-dialog-ok[data-v-671bd6fb]:hover {
  filter: brightness(1.03);
}
.notice-dialog--error .notice-dialog-ok[data-v-671bd6fb] {
  border-color: color-mix(in srgb, var(--sidebar-teal) 48%, #0a5f6e);
  background: linear-gradient(180deg, color-mix(in srgb, var(--sidebar-teal) 88%, #ffffff) 0%, var(--sidebar-teal) 100%);
  box-shadow: 0 6px 14px color-mix(in srgb, var(--sidebar-teal) 28%, transparent);
}
.session-boot-mask[data-v-671bd6fb] {
  position: fixed;
  inset: 0;
  z-index: 17000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(4, 47, 54, 0.38);
  pointer-events: auto;
}
.session-boot-card[data-v-671bd6fb] {
  padding: 16px 22px;
  border-radius: 14px;
  font-size: 14px;
  color: #0a5f6e;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 28%, #dfe8ee);
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.16);
}
.notice-toast[data-v-671bd6fb] {
  position: fixed;
  top: 16px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 16000;
  padding: 8px 14px;
  border-radius: 999px;
  font-size: 13px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.1);
}
.notice-toast--info[data-v-671bd6fb] {
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 28%, #dfe8ee);
  color: #0a5f6e;
}
@keyframes notice-mask-in-671bd6fb {
from { opacity: 0;
}
to { opacity: 1;
}
}
@keyframes notice-dialog-in-671bd6fb {
from {
    opacity: 0;
    transform: translateY(10px) scale(0.97);
}
to {
    opacity: 1;
    transform: translateY(0) scale(1);
}
}
@keyframes crm-login-brand-in-671bd6fb {
from {
    opacity: 0;
    transform: translateY(12px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}
@keyframes crm-login-panel-in-671bd6fb {
from {
    opacity: 0;
    transform: translateY(16px) scale(0.98);
}
to {
    opacity: 1;
    transform: translateY(0) scale(1);
}
}
@keyframes crm-login-glow-671bd6fb {
from { transform: translate(0, 0) scale(1);
}
to { transform: translate(24px, 18px) scale(1.06);
}
}
@media (max-width: 900px) {
.crm-login-stage[data-v-671bd6fb] {
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
    overflow: auto;
}
.crm-login-brand[data-v-671bd6fb] {
    min-height: 34vh;
    padding: 36px 24px 20px;
}
.crm-login-brand-name[data-v-671bd6fb] {
    font-size: clamp(44px, 14vw, 64px);
}
.crm-login-brand-points[data-v-671bd6fb] {
    display: none;
}
.crm-login-panel[data-v-671bd6fb] {
    align-items: flex-start;
    padding: 12px 20px 32px;
}
}
.login-card .login-fields[data-v-671bd6fb] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 10px;
}
.login-card .login-fields:not(.login-fields--stack) input[type='text'][data-v-671bd6fb],
.login-card .login-fields:not(.login-fields--stack) input[data-v-671bd6fb]:not([type]),
.login-card .login-fields:not(.login-fields--stack) input[type='password'][data-v-671bd6fb] {
  min-width: 160px;
  flex: 1 1 160px;
}
.login-card .login-fields--stack input[type='text'][data-v-671bd6fb],
.login-card .login-fields--stack input[data-v-671bd6fb]:not([type]),
.login-card .login-fields--stack input[type='password'][data-v-671bd6fb],
.login-card .login-fields--stack input[type='number'][data-v-671bd6fb] {
  flex: 0 0 auto;
  width: 100%;
  min-width: 0;
}
.login-remember[data-v-671bd6fb] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: var(--login-muted, #64748b);
  align-self: flex-start;
}
.login-actions[data-v-671bd6fb] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.crm-login-stage button.login-btn-primary[data-v-671bd6fb],
.login-force-card button.login-btn-primary[data-v-671bd6fb],
button.login-btn-primary[data-v-671bd6fb] {
  margin-right: 0;
  background: #70b7bb;
  border: 1px solid #5fa8ad;
  color: #fff;
  font-weight: 600;
  box-shadow: 0 2px 8px rgba(112, 183, 187, 0.28);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.crm-login-stage button.login-btn-primary[data-v-671bd6fb]:hover:not(:disabled),
.login-force-card button.login-btn-primary[data-v-671bd6fb]:hover:not(:disabled),
button.login-btn-primary[data-v-671bd6fb]:hover:not(:disabled) {
  background: #5fa8ad;
  border-color: #4f969b;
  color: #fff;
  filter: none;
}
.crm-login-stage button.login-btn-wecom[data-v-671bd6fb],
button.login-btn-wecom[data-v-671bd6fb] {
  margin-right: 0;
  background: #07c160;
  border: 1px solid #06ad56;
  color: #fff;
  font-weight: 600;
  box-shadow: 0 2px 8px rgba(7, 193, 96, 0.22);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.crm-login-stage button.login-btn-wecom[data-v-671bd6fb]:hover:not(:disabled),
button.login-btn-wecom[data-v-671bd6fb]:hover:not(:disabled) {
  background: #06ad56;
  border-color: #05984c;
  color: #fff;
  filter: none;
}
.crm-login-stage button.login-btn-wecom[data-v-671bd6fb]:disabled,
.crm-login-stage button.login-btn-primary[data-v-671bd6fb]:disabled,
button.login-btn-wecom[data-v-671bd6fb]:disabled,
button.login-btn-primary[data-v-671bd6fb]:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}
.login-role[data-v-671bd6fb] {
  font-size: 13px;
  color: var(--login-muted, #64748b);
}
.login-wecom-hint[data-v-671bd6fb] {
  margin: 10px 0 0;
  font-size: 12px;
  color: var(--login-muted, #64748b);
  line-height: 1.45;
}
.login-btn-link[data-v-671bd6fb] {
  background: transparent;
  border: none;
  color: var(--login-primary-hover, #5fa8ad);
  text-decoration: none;
  cursor: pointer;
  padding: 4px 6px;
  font-size: 13px;
}
.login-lifecycle-desc[data-v-671bd6fb] {
  margin: 0 0 10px;
  font-size: 13px;
  color: var(--text-secondary, #64748b);
}
.login-lifecycle-hint[data-v-671bd6fb] {
  margin: 8px 0 0;
  font-size: 13px;
  color: var(--sidebar-teal, #0a5f6e);
}
.login-force-mask[data-v-671bd6fb] {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(15, 23, 42, 0.45);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
}
.login-force-card[data-v-671bd6fb] {
  width: min(420px, 100%);
  background: #fff;
  border-radius: 12px;
  padding: 18px 16px;
  box-shadow: 0 12px 40px rgba(15, 23, 42, 0.18);
}
.login-force-card h4[data-v-671bd6fb] {
  margin: 0 0 8px;
}
.user-mgmt-row[data-v-671bd6fb] {
  cursor: pointer;
  padding: 2px 4px;
  border-radius: 4px;
}
.user-mgmt-row[data-v-671bd6fb]:hover {
  background: color-mix(in srgb, var(--sidebar-teal, #0a5f6e) 10%, #fff);
}
.user-mgmt-platform-tip[data-v-671bd6fb] {
  margin: 0 0 12px;
  padding: 10px 12px;
  border: 1px solid #d7e3ea;
  border-radius: 6px;
  background: #f5fafc;
  color: #3a5160;
  font-size: 13px;
  line-height: 1.5;
}
.user-mgmt-platform-tip a[data-v-671bd6fb] {
  color: #0b6e99;
  text-decoration: underline;
}
.user-mgmt-audit-preview[data-v-671bd6fb] {
  margin-top: 16px;
  padding-top: 12px;
  border-top: 1px solid #e6eef2;
}
.user-mgmt-audit-preview-head[data-v-671bd6fb] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}
.user-mgmt-audit-preview-head h4[data-v-671bd6fb] {
  margin: 0;
}
.user-mgmt-audit-preview-actions[data-v-671bd6fb] {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
}
.user-mgmt-audit-preview-actions a[data-v-671bd6fb] {
  color: #0b6e99;
  text-decoration: underline;
}
.user-mgmt-login-summary[data-v-671bd6fb] {
  margin-bottom: 8px;
  font-size: 13px;
  color: #3a5160;
}
.user-mgmt-login-filters[data-v-671bd6fb] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 8px;
}
.user-mgmt-audit-empty[data-v-671bd6fb] {
  margin: 0;
  font-size: 13px;
  color: #7a8d98;
}
.user-mgmt-list-block[data-v-671bd6fb] {
  margin: 12px 0 16px;
}
.user-mgmt-list-block h4[data-v-671bd6fb] {
  margin: 0 0 8px;
  font-size: 14px;
}
.user-mgmt-table-wrap[data-v-671bd6fb] {
  border: 1px solid var(--border-light, #e2e8f0);
  border-radius: 8px;
  overflow: auto;
  max-height: min(52vh, 520px);
  background: #fff;
}
.user-mgmt-table[data-v-671bd6fb] {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 13px;
}
.user-mgmt-table thead th[data-v-671bd6fb] {
  position: sticky;
  top: 0;
  z-index: 2;
  background: #f8fafc;
  border-bottom: 1px solid #d7e2e8;
  padding: 8px 10px;
  text-align: left;
  font-weight: 600;
  color: #334155;
  white-space: nowrap;
}
.user-mgmt-table tbody td[data-v-671bd6fb] {
  padding: 8px 10px;
  border-bottom: 1px solid #eef2f6;
  vertical-align: middle;
}
.user-mgmt-table tbody tr:nth-child(even) td[data-v-671bd6fb] {
  background: #fbfdfe;
}
.user-mgmt-table tbody tr:hover td[data-v-671bd6fb] {
  background: #f0f9fb;
}
.user-mgmt-table .product-sticky-action[data-v-671bd6fb] {
  position: sticky;
  right: 0;
  z-index: 1;
  background: #fff;
  box-shadow: -6px 0 10px -8px rgba(15, 23, 42, 0.25);
}
.user-mgmt-table thead th.product-sticky-action[data-v-671bd6fb] {
  z-index: 3;
  background: #f8fafc;
}
.user-mgmt-table tbody tr:nth-child(even) td.product-sticky-action[data-v-671bd6fb] {
  background: #fbfdfe;
}
.user-mgmt-table tbody tr:hover td.product-sticky-action[data-v-671bd6fb] {
  background: #f0f9fb;
}
.user-mgmt-td-name[data-v-671bd6fb] {
  font-weight: 600;
  color: #0f5b6a;
}
.user-mgmt-inline-select[data-v-671bd6fb] {
  min-width: 128px;
  max-width: 100%;
}
.user-mgmt-enable[data-v-671bd6fb] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  white-space: nowrap;
}
.user-mgmt-locked[data-v-671bd6fb] {
  color: #b45309;
  font-weight: 600;
}
.user-mgmt-op-bar[data-v-671bd6fb] {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}
.user-mgmt-table .inv-line-op-btn[data-v-671bd6fb] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 0 10px;
  border: 1px solid #c3d7e2;
  border-radius: 6px;
  background: #fff;
  color: #0f5b6a;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
}
.user-mgmt-table .inv-line-op-btn[data-v-671bd6fb]:hover:not(:disabled) {
  background: #eef8fa;
  border-color: #8ebfd0;
}
.user-mgmt-table .inv-line-op-btn--primary[data-v-671bd6fb] {
  background: color-mix(in srgb, #0a5f6e 14%, #fff);
  border-color: color-mix(in srgb, #0a5f6e 40%, #cbd5e1);
  color: #0a5f6e;
}
.user-mgmt-table .inv-line-op-btn--receipt[data-v-671bd6fb] {
  background: #ecfdf5;
  border-color: #6ee7b7;
  color: #047857;
}
.user-mgmt-pager[data-v-671bd6fb] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
  font-size: 13px;
  color: #52616b;
}
.user-mgmt-table .product-table-empty[data-v-671bd6fb] {
  text-align: center;
  color: #94a3b8;
  padding: 20px 12px;
}
.user-create-block[data-v-671bd6fb] {
  margin: 10px 0 14px;
}
.user-create-block h4[data-v-671bd6fb] {
  margin: 0 0 8px;
  font-size: 14px;
}
.user-create-labels[data-v-671bd6fb],
.user-create-fields[data-v-671bd6fb] {
  display: grid;
  grid-template-columns: minmax(110px, 1fr) minmax(160px, 1.2fr) minmax(140px, 1fr) auto auto;
  gap: 8px;
  align-items: center;
}
.user-create-fields--simple[data-v-671bd6fb] {
  grid-template-columns: minmax(110px, 1fr) minmax(160px, 1.2fr) minmax(140px, 1fr) auto auto;
}
.user-create-labels[data-v-671bd6fb] {
  margin-bottom: 4px;
}
.user-create-labels span[data-v-671bd6fb] {
  font-size: 12px;
  font-weight: 600;
  color: var(--text-secondary, #64748b);
}
.user-create-hint[data-v-671bd6fb] {
  margin: 6px 0 0;
  font-size: 12px;
  color: var(--text-secondary, #64748b);
  line-height: 1.4;
}
@media (max-width: 900px) {
.user-create-labels[data-v-671bd6fb] {
    display: none;
}
.user-create-fields[data-v-671bd6fb] {
    grid-template-columns: 1fr;
}
}
.login-wecom-mock[data-v-671bd6fb] {
  margin-top: 12px;
  padding: 12px;
  border: 1px dashed color-mix(in srgb, #07c160 40%, #cbd5e1);
  border-radius: 10px;
  background: color-mix(in srgb, #07c160 6%, #fff);
}
.login-wecom-mock-title[data-v-671bd6fb] {
  margin: 0 0 4px;
  font-size: 14px;
  font-weight: 600;
}
.login-wecom-mock-desc[data-v-671bd6fb] {
  margin: 0 0 8px;
  font-size: 12px;
  color: var(--text-secondary, #64748b);
}
.login-wecom-mock input[data-v-671bd6fb] {
  width: min(280px, 100%);
  margin-bottom: 8px;
}
.login-wecom-mock-actions[data-v-671bd6fb] {
  display: flex;
  gap: 8px;
}
.login-wecom-error[data-v-671bd6fb] {
  margin: 8px 0 0;
  color: var(--text-error, #b91c1c);
  font-size: 13px;
}
.content-area .card[data-v-671bd6fb] {
  border-color: color-mix(in srgb, #ffffff 76%, #dbe4ee);
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
/* 制单整页白卡（销货单标准）：压过上方毛玻璃，标题必须落在同一圆角白卡内 */
.content-area[data-v-671bd6fb] .doc-page-shell.card.doc-create-ledger,
.content-area[data-v-671bd6fb] .doc-page-shell.card.sales-order-create-ledger,
.content-area[data-v-671bd6fb] .doc-page-shell.card.income-contract-page,
.content-area[data-v-671bd6fb] .doc-page-shell.card.expense-contract-page {
  background: #fff !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06) !important;
  padding: 14px !important;
}
.content-area[data-v-671bd6fb] .doc-page-shell.card.doc-create-ledger > .doc-page-shell__section.section-box,
.content-area[data-v-671bd6fb] .doc-page-shell.card.sales-order-create-ledger > .doc-page-shell__section.section-box,
.content-area[data-v-671bd6fb] .doc-page-shell.card.income-contract-page > .doc-page-shell__section.section-box,
.content-area[data-v-671bd6fb] .doc-page-shell.card.expense-contract-page > .doc-page-shell__section.section-box {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
}
/** 往来资金 partner：子页切换时独立叠放上下文，避免上一子页视觉残留在当前页之上 */
.content-area .partner-module-stack[data-v-671bd6fb] {
  position: relative;
  z-index: 2;
  isolation: isolate;
}

/* CRM 标准（对齐销货单页）：右侧主区字号与区块标题 */
.content-area[data-v-671bd6fb] {
  font-size: var(--crm-body-size, 13px);
}
.content-area .module-desc[data-v-671bd6fb] {
  font-size: var(--crm-muted-size, 12px);
}
.content-area .card > h3[data-v-671bd6fb] {
  margin-top: 0;
  font-size: var(--crm-section-title-size, 18px);
  font-weight: 700;
  color: var(--crm-page-title-color);
}
.content-area .card .inventory-sub-page-title[data-v-671bd6fb] {
  margin: 0 0 8px;
  font-size: var(--crm-page-heading-size, 18px);
  font-weight: var(--crm-page-heading-weight, 700);
  color: var(--crm-page-heading-color, #000);
}
.content-area .section-box[data-v-671bd6fb] {
  background: #ffffff;
  border-color: color-mix(in srgb, var(--sidebar-teal) 12%, var(--border-light));
  border-radius: 10px;
}
.contract-template-page[data-v-671bd6fb] {
  width: 100%;
}
input[data-v-671bd6fb], select[data-v-671bd6fb], textarea[data-v-671bd6fb] {
  margin-right: 8px;
  margin-bottom: 8px;
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid var(--input-border, var(--border-light));
  background: var(--input-surface);
  box-shadow: var(--input-inner-shadow, none);
  color: var(--text-on-light);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
input[data-v-671bd6fb]:focus-visible,
select[data-v-671bd6fb]:focus-visible,
textarea[data-v-671bd6fb]:focus-visible {
  outline: none;
  border-color: color-mix(in srgb, var(--sidebar-teal) 48%, #cbd5e1);
  box-shadow: var(--focus-ring-shadow);
}
.contract-editor-toolbar[data-v-671bd6fb] {
  max-width: 1360px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-bottom: 8px;
  padding: 8px;
  border: 1px solid #dbe4ea;
  border-radius: 8px;
  background: #f7fafc;
}
.contract-editor-toolbar-group[data-v-671bd6fb] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding-right: 8px;
  border-right: 1px dashed #d1d9df;
}
.contract-editor-toolbar-group[data-v-671bd6fb]:last-child {
  border-right: none;
  padding-right: 0;
}
.contract-editor-toolbar-label[data-v-671bd6fb] {
  font-size: 12px;
  color: #5b6670;
  min-width: 12px;
  text-align: center;
}
.contract-editor-toolbar input[data-v-671bd6fb],
.contract-editor-toolbar select[data-v-671bd6fb] {
  height: 28px;
  min-width: 52px;
  padding: 3px 6px;
  font-size: 12px;
  margin-right: 0;
  margin-bottom: 0;
}
.contract-editor-toolbar button[data-v-671bd6fb] {
  height: 28px;
  padding: 0 8px;
  font-size: 12px;
  margin-right: 0;
  margin-bottom: 0;
}
.contract-editor-select[data-v-671bd6fb] {
  appearance: none;
  -webkit-appearance: none;
  padding-right: 20px !important;
  background-image: linear-gradient(45deg, transparent 50%, #6b7280 50%), linear-gradient(135deg, #6b7280 50%, transparent 50%);
  background-position: calc(100% - 12px) 11px, calc(100% - 8px) 11px;
  background-size: 4px 4px, 4px 4px;
  background-repeat: no-repeat;
}
.contract-editor-icon-btn[data-v-671bd6fb] {
  width: 28px;
  min-width: 28px;
  padding: 0;
  border-radius: 6px;
  font-weight: 600;
}
.contract-editor-svg-icon[data-v-671bd6fb] {
  width: 14px;
  height: 14px;
  display: block;
  fill: currentColor;
}
.contract-editor-icon-btn--active[data-v-671bd6fb] {
  background: var(--ui-accent-soft);
  border-color: color-mix(in srgb, var(--ui-accent) 54%, var(--border-light));
  color: var(--ui-accent-ink);
}
.contract-editor-token-btn[data-v-671bd6fb] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0 8px;
  font-size: 12px;
}
.contract-editor-token-icon[data-v-671bd6fb] {
  width: 18px;
  height: 18px;
  border-radius: 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  font-weight: 700;
  color: #0f766e;
  border: 1px solid color-mix(in srgb, var(--ui-accent) 42%, #cbd5e1);
  background: color-mix(in srgb, var(--ui-accent) 12%, #ffffff);
}
.contract-preview-pane[data-v-671bd6fb] {
  min-height: 140px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 10px 12px;
  background: #fff;
}
.contract-preview-pane p[data-v-671bd6fb],
.contract-preview-pane span[data-v-671bd6fb] {
  white-space: pre-wrap;
}
.contract-preview-empty[data-v-671bd6fb] {
  margin: 0;
  color: #6b7280;
  font-size: 12px;
}
input[data-v-671bd6fb]::placeholder { color: var(--text-muted-light);
}
button[data-v-671bd6fb]:not(.content-tab):not(.doc-toolbar-btn):not(.purchase-tool-btn):not(.login-btn-primary):not(.login-btn-wecom):not(.login-btn-link):not(.login-btn-ghost):not(.crm-login-captcha-q):not(.ic-sourcing-maintain-btn) {
  margin-right: 8px;
  padding: 8px 12px;
  border-radius: 10px;
  cursor: pointer;
  color: var(--text-on-light);
  border: 1px solid var(--btn-frost-border);
  background: var(--btn-frost-bg);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: var(--btn-frost-shadow);
}
button[data-v-671bd6fb]:not(.content-tab):not(.doc-toolbar-btn):not(.purchase-tool-btn):not(.login-btn-primary):not(.login-btn-wecom):not(.login-btn-link):not(.login-btn-ghost):not(.crm-login-captcha-q):not(.ic-sourcing-maintain-btn):hover {
  background: var(--btn-frost-bg-hover);
  border-color: var(--btn-frost-border-hover);
}
button[data-v-671bd6fb]:not(.content-tab):not(.doc-toolbar-btn):not(.purchase-tool-btn):not(.login-btn-primary):not(.login-btn-wecom):not(.login-btn-link):not(.login-btn-ghost):not(.crm-login-captcha-q):not(.ic-sourcing-maintain-btn):focus-visible {
  outline: none;
  border-color: color-mix(in srgb, var(--sidebar-teal) 48%, #cbd5e1);
  box-shadow: var(--focus-ring-shadow);
}
button[data-v-671bd6fb]:not(.content-tab):not(.doc-toolbar-btn):not(.purchase-tool-btn):not(.login-btn-primary):not(.login-btn-wecom):not(.login-btn-link):not(.login-btn-ghost):not(.crm-login-captcha-q):not(.ic-sourcing-maintain-btn):disabled {
  opacity: 0.55;
  cursor: not-allowed;
}
.primary-action-btn[data-v-671bd6fb] {
  background: var(--ui-accent-soft);
  border-color: color-mix(in srgb, var(--ui-accent) 54%, var(--border-light));
  color: var(--ui-accent-ink);
  font-weight: 600;
  /* 与全局 `button` 的磨砂+阴影解耦，避免未覆盖属性层叠出「混色」 */
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.primary-action-btn[data-v-671bd6fb]:hover {
  background: var(--ui-accent-soft-strong);
  border-color: color-mix(in srgb, var(--ui-accent) 64%, var(--border-light));
  box-shadow: 0 2px 10px color-mix(in srgb, var(--ui-accent) 28%, transparent);
}
.primary-action-btn--receipt[data-v-671bd6fb] {
  border-color: color-mix(in srgb, #ea580c 42%, #fed7aa);
  background: #fff7ed;
  color: #c2410c;
}
.primary-action-btn--receipt[data-v-671bd6fb]:hover {
  border-color: color-mix(in srgb, #ea580c 55%, #fdba74);
  background: #ffedd5;
  color: #9a3412;
  box-shadow: 0 2px 10px color-mix(in srgb, #ea580c 28%, transparent);
}
.content-area .ir-tool-link[data-v-671bd6fb],
.content-area .ick-link-btn[data-v-671bd6fb] {
  color: var(--ui-accent-ink);
}
.content-area .ir-tool-btn[data-v-671bd6fb],
.content-area .ir-icon-btn[data-v-671bd6fb],
.content-area .ir-pick[data-v-671bd6fb],
.content-area .ir-menu-btn[data-v-671bd6fb] {
  border-color: color-mix(in srgb, var(--ui-accent) 28%, var(--border-light));
}
.content-area .ir-tool-btn[data-v-671bd6fb]:hover,
.content-area .ir-icon-btn[data-v-671bd6fb]:hover,
.content-area .ir-pick[data-v-671bd6fb]:hover {
  background: var(--ui-accent-soft);
  color: var(--ui-accent-ink);
}
.product-save-cta[data-v-671bd6fb] {
  background: linear-gradient(180deg, #1ba97a 0%, #0f8f66 100%);
  border: 1px solid #0f8f66;
  color: #fff;
  font-weight: 700;
  font-size: 14px;
  padding: 10px 18px;
  border-radius: 8px;
  box-shadow: 0 6px 16px rgba(15, 143, 102, 0.28);
}
.product-save-cta[data-v-671bd6fb]:hover {
  filter: brightness(1.05);
  box-shadow: 0 8px 20px rgba(15, 143, 102, 0.35);
}
.field-grid .product-category-form-field[data-v-671bd6fb] {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 6px;
}
.field-grid .product-category-form-field .cat-tree-select[data-v-671bd6fb] {
  width: 100%;
  max-width: 100%;
}
.product-archive-page-sidebar--tree[data-v-671bd6fb] {
  display: flex;
  flex-direction: column;
  min-height: 0;
  padding: 0;
}
.product-archive-page-sidebar--tree .pcf-simple-tree[data-v-671bd6fb] {
  flex: 1;
  min-height: 0;
  border-right: none;
}

/* 商品列表页：布局与样式参照「商品档案」弹窗（SalesProductSelector） */
.product-archive-page-shell[data-v-671bd6fb] {
  background: #fbfeff;
  border-radius: 16px;
  border: 1px solid #e6f1f4;
  box-shadow: 0 8px 22px rgba(32, 84, 104, 0.045);
  overflow: hidden;
  margin-top: 8px;
}
.product-archive-page-head[data-v-671bd6fb] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 14px;
  border-bottom: 1px solid #e8f0f3;
  background: linear-gradient(180deg, #f8fcfd 0%, #f0f9fb 100%);
}
.product-archive-page-title-wrap strong[data-v-671bd6fb] {
  font-size: var(--crm-page-heading-size, 18px);
  font-weight: var(--crm-page-heading-weight, 700);
  color: var(--crm-page-heading-color, #000);
}
.product-archive-page-desc[data-v-671bd6fb] {
  margin: 0;
  padding: 10px 14px 12px;
  border-bottom: 1px solid #eef2f7;
  background: #fafbfc;
  font-size: 12px;
  line-height: 1.55;
  color: #475569;
}
.product-archive-page-toolbar-actions[data-v-671bd6fb] {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 16px;
  align-items: flex-end;
  justify-content: space-between;
  padding: 12px 14px;
  border-bottom: 1px solid #e8f0f3;
  background: #fafbfc;
}
.product-archive-page-toolbar-search[data-v-671bd6fb] {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 12px;
  align-items: flex-end;
  flex: 1 1 280px;
  min-width: 0;
}
.product-archive-page-product-picker[data-v-671bd6fb] {
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1 1 260px;
  max-width: 420px;
  min-width: 220px;
}
.product-archive-page-product-picker .sales-product-cell[data-v-671bd6fb],
.product-archive-page-product-picker .sales-customer-input-wrap[data-v-671bd6fb] {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
.product-archive-page-product-picker .sales-customer-input-wrap input[data-v-671bd6fb] {
  height: 36px;
  min-height: 36px;
  box-sizing: border-box;
}
.product-archive-page-toolbar-search .product-archive-page-count[data-v-671bd6fb] {
  padding-bottom: 8px;
  white-space: nowrap;
}
.product-archive-page-toolbar-actions-right[data-v-671bd6fb] {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: flex-end;
  margin-left: auto;
  flex: 0 1 auto;
}
.product-archive-page-toolbar-actions .product-archive-page-toolbar-btn[data-v-671bd6fb] {
  margin-right: 0;
}
.product-archive-import-allow-update[data-v-671bd6fb] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  padding: 6px 10px;
  border-radius: 10px;
  border: 1px solid #e2e8f0;
  background: #fff;
  font-size: 13px;
  color: #475569;
  cursor: pointer;
  user-select: none;
  order: 99;
}
.product-archive-import-allow-update input[data-v-671bd6fb] {
  margin: 0;
}
.product-archive-page-toolbar-btn--outline[data-v-671bd6fb] {
  padding: 8px 12px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
  border: 1px solid #d8e9ed;
  background: #f8fcfd;
  color: #3d6f78;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.product-archive-page-toolbar-btn--outline[data-v-671bd6fb]:hover {
  background: #eef8f9;
  border-color: color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 35%, #d8e9ed);
  color: #0f4f5d;
}
.product-archive-page-body[data-v-671bd6fb] {
  min-height: 380px;
}
@media (max-width: 960px) {
.product-archive-page-body[data-v-671bd6fb] {
    min-height: 0;
}
}
.product-archive-page-body .product-archive-page-sidebar[data-v-671bd6fb] {
  border-right: none;
}
.product-archive-page-sidebar[data-v-671bd6fb] {
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
  background: #fff;
  min-height: 0;
}
@media (max-width: 960px) {
.product-archive-page-sidebar[data-v-671bd6fb] {
    border-right: none;
    border-bottom: 1px solid var(--border-light, #e2e8f0);
}
}
.product-archive-page-cat-head[data-v-671bd6fb] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border-bottom: 1px solid rgba(95, 184, 193, 0.2);
  background: #f6fbfb;
  flex-shrink: 0;
}
.product-archive-page-cat-title[data-v-671bd6fb] {
  font-size: 13px;
  font-weight: 700;
  color: #0f4f5d;
}
.product-archive-page-cat-body[data-v-671bd6fb] {
  padding: 10px;
  flex: 1;
  min-height: 160px;
  overflow: auto;
}
.product-archive-page-cat-body .cat-tree-select[data-v-671bd6fb] {
  width: 100%;
  max-width: 100%;
}
.product-archive-page-main[data-v-671bd6fb] {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  background: #fff;
}
.product-archive-page-tools[data-v-671bd6fb] {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 12px;
  align-items: flex-end;
  padding: 10px 12px;
  border-bottom: 1px solid var(--border-light, #e2e8f0);
  background: #fafbfc;
  flex-shrink: 0;
}
.product-archive-page-tools--batch-only[data-v-671bd6fb] {
  align-items: center;
}
.product-archive-page-search[data-v-671bd6fb] {
  flex: 1;
  min-width: 200px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0;
}
.product-archive-page-search-label[data-v-671bd6fb] {
  font-size: 12px;
  font-weight: 600;
  color: #475569;
}
.product-archive-page-search-input[data-v-671bd6fb] {
  width: 100%;
  box-sizing: border-box;
  height: 36px;
  margin: 0 !important;
  padding: 8px 10px !important;
  border-radius: 8px !important;
  border: 1px solid var(--input-border, #d5dde7) !important;
  background: #fff !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
  font-size: 13px;
  color: #111827;
}
.product-archive-page-tools-right[data-v-671bd6fb] {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-left: auto;
}
.product-archive-batch-category[data-v-671bd6fb] {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
}
.product-archive-batch-category-count[data-v-671bd6fb] {
  font-size: 13px;
  font-weight: 600;
  color: #1e40af;
  white-space: nowrap;
}
.product-archive-batch-category-select[data-v-671bd6fb] {
  min-width: 200px;
  max-width: 320px;
}
.product-archive-list-check-col[data-v-671bd6fb],[data-v-671bd6fb] .product-archive-list-check-col {
  text-align: center !important;
  padding-left: 6px !important;
  padding-right: 6px !important;
}
.product-archive-list-table td.product-archive-list-remark[data-v-671bd6fb] {
  white-space: normal !important;
  word-break: break-word;
  overflow-wrap: anywhere;
  line-height: 1.4;
  vertical-align: middle;
}
.product-archive-list-check[data-v-671bd6fb] {
  width: 16px;
  height: 16px;
  margin: 0;
  cursor: pointer;
  vertical-align: middle;
}
.product-archive-page-clear-btn[data-v-671bd6fb] {
  margin: 0 !important;
  padding: 6px 12px !important;
  font-size: 13px;
  font-weight: 600;
  border-radius: 8px;
  border: 1px solid #d8e9ed;
  background: #f8fcfd;
  color: #3d6f78;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.product-archive-page-clear-btn[data-v-671bd6fb]:hover {
  background: #eef8f9;
}
.product-archive-page-count[data-v-671bd6fb] {
  font-size: 13px;
  color: #64748b;
  white-space: nowrap;
}
.product-archive-page-table-wrap[data-v-671bd6fb] {
  flex: 1 1 auto;
  min-height: 240px;
  overflow: auto;
  padding: 0 10px 12px;
  -webkit-overflow-scrolling: touch;
}
.product-file-input[data-v-671bd6fb] {
  width: min(560px, 100%);
  padding: 8px 10px;
  border: 1px solid #d9e8ec;
  border-radius: 12px;
  background: #fff;
  box-sizing: border-box;
}
.product-file-input[data-v-671bd6fb]::file-selector-button {
  margin-right: 12px;
  min-height: 34px;
  padding: 0 14px;
  border: 1px solid #d8e9ed;
  border-radius: 10px;
  background: #f8fcfd;
  color: #3d6f78;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
}
.product-file-input[data-v-671bd6fb]::-webkit-file-upload-button {
  margin-right: 12px;
  min-height: 34px;
  padding: 0 14px;
  border: 1px solid #d8e9ed;
  border-radius: 10px;
  background: #f8fcfd;
  color: #3d6f78;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
}
.dept-staff-root[data-v-671bd6fb] {
  padding: 0;
  overflow: hidden;
}
.dept-staff-head[data-v-671bd6fb] {
  padding: 14px 16px 0;
  border-bottom: 1px solid var(--border-light);
  margin-bottom: 0;
}
.dept-staff-title[data-v-671bd6fb] {
  margin: 0 0 6px 0;
  font-size: var(--crm-page-heading-size, 18px);
  font-weight: var(--crm-page-heading-weight, 700);
  color: var(--crm-page-heading-color, #000);
}
.dept-staff-sub[data-v-671bd6fb] {
  margin: 0 0 12px 0;
  font-size: 12px;
  color: var(--text-muted-light);
  line-height: 1.5;
}
.dept-staff-layout[data-v-671bd6fb] {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  min-height: 420px;
}
@media (max-width: 900px) {
.dept-staff-layout[data-v-671bd6fb] {
    grid-template-columns: 1fr;
}
}
.dept-staff-sidebar[data-v-671bd6fb] {
  border-right: 1px solid var(--border-light);
  background: #f8fafc;
  padding: 10px 10px 14px;
}
.dept-staff-side-title[data-v-671bd6fb] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-weight: 600;
  font-size: 13px;
  color: #37474f;
  margin-bottom: 8px;
}
.dept-staff-dept-search[data-v-671bd6fb] {
  width: 100%;
  box-sizing: border-box;
  padding: 6px 8px;
  border-radius: 8px;
  border: 1px solid var(--border-light);
  margin-bottom: 8px;
  font-size: 13px;
}
.dept-staff-tree[data-v-671bd6fb] {
  list-style: none;
  margin: 0;
  padding: 0;
}
.dept-staff-tree-item[data-v-671bd6fb] {
  margin: 2px 0;
  border-radius: 6px;
}
.dept-staff-tree-item--active[data-v-671bd6fb] {
  background: rgba(95, 184, 193, 0.14);
}
.dept-staff-tree-btn[data-v-671bd6fb] {
  width: 100%;
  text-align: left;
  padding: 6px 8px;
  border: none;
  background: transparent;
  font-size: 13px;
  color: #37474f;
  cursor: pointer;
  border-radius: 6px;
  box-shadow: none;
}
.dept-staff-tree-btn[data-v-671bd6fb]:hover {
  background: rgba(0, 0, 0, 0.04);
}
.dept-staff-main[data-v-671bd6fb] {
  padding: 12px 14px 16px;
  min-width: 0;
}
.dept-staff-toolbar[data-v-671bd6fb] {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 12px;
}
.dept-staff-toolbar-row[data-v-671bd6fb] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}
.dept-staff-toolbar-actions[data-v-671bd6fb] {
  align-items: center;
}
.dept-staff-toolbar-spacer[data-v-671bd6fb] {
  flex: 1;
  min-width: 8px;
}
.dept-staff-search-input[data-v-671bd6fb] {
  min-width: 180px;
  flex: 0 1 220px;
  padding: 6px 10px;
  border-radius: 8px;
  border: 1px solid var(--border-light);
  font-size: 13px;
}
.dept-staff-ghost-btn[data-v-671bd6fb] {
  padding: 6px 12px;
  font-size: 12px;
  border-radius: 8px;
  background: #fff;
  border: 1px solid #cfd8dc;
  color: #455a64;
  box-shadow: none;
}
.dept-staff-ghost-btn[data-v-671bd6fb]:hover {
  border-color: var(--sidebar-teal);
  color: #0a5f6e;
}
.dept-staff-check[data-v-671bd6fb] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: #546e7a;
  cursor: pointer;
}
.dept-staff-btn-green[data-v-671bd6fb] {
  background: linear-gradient(180deg, #7bc9d4 0%, #5fb8c1 100%);
  border-color: var(--sidebar-teal);
  color: #fff;
}
.dept-staff-btn-green[data-v-671bd6fb]:hover {
  background: linear-gradient(180deg, #5fb8c1 0%, #4a9daa 100%);
  color: #fff;
  box-shadow: 0 2px 10px rgba(95, 184, 193, 0.35);
}
.dept-staff-table-wrap[data-v-671bd6fb] {
  overflow-x: auto;
  border: 1px solid var(--border-light);
  border-radius: 10px;
  background: #fff;
}
.dept-staff-table[data-v-671bd6fb] {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.dept-staff-table th[data-v-671bd6fb],
.dept-staff-table td[data-v-671bd6fb] {
  padding: 10px 8px;
  text-align: left;
  border-bottom: 1px solid #eceff1;
  vertical-align: middle;
}
.dept-staff-table th[data-v-671bd6fb] {
  background: var(--surface-brand-paler);
  color: var(--ui-accent-ink);
  font-weight: 600;
  white-space: nowrap;
}
.dept-staff-col-check[data-v-671bd6fb] {
  width: 36px;
  text-align: center;
}
.dept-staff-avatar[data-v-671bd6fb] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--surface-brand-pale);
  color: var(--ui-accent-ink);
  font-weight: 600;
  font-size: 14px;
}
.dept-staff-link[data-v-671bd6fb] {
  border: none;
  background: none;
  padding: 0;
  color: var(--ui-accent-ink);
  font-weight: 600;
  cursor: pointer;
  text-decoration: underline;
  font-size: inherit;
  box-shadow: none;
}
.dept-staff-link[data-v-671bd6fb]:hover {
  color: #073d47;
}
.dept-staff-code[data-v-671bd6fb] {
  font-size: 12px;
  color: var(--text-muted-light);
  margin-top: 2px;
}
.dept-staff-muted[data-v-671bd6fb] {
  font-size: 12px;
  color: var(--text-muted-light);
}
.dept-staff-status-ok[data-v-671bd6fb] {
  color: var(--ui-accent-ink);
  font-weight: 500;
}
.dept-staff-status-resigned[data-v-671bd6fb] {
  color: #c62828;
  font-weight: 500;
}
.dept-staff-auth-on[data-v-671bd6fb] {
  color: #78909c;
  font-size: 12px;
}
.dept-staff-auth-dialog[data-v-671bd6fb] {
  width: min(440px, 92vw);
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 12px 40px rgba(15, 23, 42, 0.18);
  display: flex;
  flex-direction: column;
  max-height: 90vh;
}
.dept-staff-auth-body[data-v-671bd6fb] {
  padding: 14px 18px 8px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  overflow: auto;
}
.dept-staff-auth-hint[data-v-671bd6fb] {
  margin: 0;
  font-size: 13px;
  color: #5a6f7a;
  line-height: 1.45;
}
.dept-staff-auth-modes[data-v-671bd6fb] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.dept-staff-auth-mode[data-v-671bd6fb] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  cursor: pointer;
}
.dept-staff-auth-invite-tip[data-v-671bd6fb] {
  margin: 0;
  font-size: 13px;
  color: #3a5160;
  line-height: 1.45;
}
.dept-staff-auth-btn[data-v-671bd6fb] {
  padding: 2px 10px;
  font-size: 12px;
  border-radius: 6px;
  border: 1px solid var(--sidebar-teal);
  background: #fff;
  color: var(--ui-accent-ink);
  cursor: pointer;
  box-shadow: none;
}
.dept-staff-auth-btn[data-v-671bd6fb]:hover {
  background: var(--surface-brand-pale);
}
.dept-staff-empty[data-v-671bd6fb] {
  text-align: center;
  color: var(--text-muted-light);
  padding: 28px 12px;
}
.dept-staff-icon-btn[data-v-671bd6fb] {
  padding: 2px 6px;
  font-size: 12px;
  border: none;
  background: transparent;
  color: #78909c;
  cursor: pointer;
  border-radius: 4px;
  box-shadow: none;
}
.dept-staff-icon-btn[data-v-671bd6fb]:hover {
  background: rgba(0, 0, 0, 0.06);
  color: #37474f;
}
.dept-staff-editor-mask[data-v-671bd6fb] {
  position: fixed;
  inset: 0;
  z-index: 95;
  background: rgba(15, 23, 42, 0.35);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  box-sizing: border-box;
}
.dept-staff-editor-dialog[data-v-671bd6fb] {
  width: min(960px, 100%);
  max-height: min(92vh, 900px);
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 20px 50px rgba(15, 23, 42, 0.2);
  border: 1px solid #e2e8f0;
  overflow: hidden;
}
.dept-staff-editor-dialog-head[data-v-671bd6fb] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  border-bottom: 1px solid #e8f0f3;
  background: linear-gradient(180deg, #f8fcfd 0%, #f0f9fb 100%);
}
.dept-staff-editor-title-row[data-v-671bd6fb] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.dept-staff-editor-title-icon[data-v-671bd6fb] {
  color: #0ea5e9;
  font-size: 18px;
  line-height: 1;
}
.dept-staff-editor-title[data-v-671bd6fb] {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  color: #0f172a;
}
.dept-staff-editor-title-sub[data-v-671bd6fb] {
  font-weight: 500;
  font-size: 13px;
  color: #64748b;
}
.dept-staff-editor-close[data-v-671bd6fb] {
  width: 32px;
  height: 32px;
  border: none;
  border-radius: 8px;
  background: #f1f5f9;
  color: #64748b;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  box-shadow: none;
}
.dept-staff-editor-close[data-v-671bd6fb]:hover {
  background: #e2e8f0;
  color: #0f172a;
}
.dept-staff-editor-dialog-body[data-v-671bd6fb] {
  display: grid;
  grid-template-columns: 100px minmax(0, 1fr);
  gap: 16px 20px;
  padding: 16px 18px 12px;
  overflow-y: auto;
}
@media (max-width: 720px) {
.dept-staff-editor-dialog-body[data-v-671bd6fb] {
    grid-template-columns: 1fr;
}
.dept-staff-editor-avatar-col[data-v-671bd6fb] {
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
}
}
.dept-staff-editor-avatar-col[data-v-671bd6fb] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding-top: 4px;
}
.dept-staff-editor-avatar-lg[data-v-671bd6fb] {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: linear-gradient(145deg, #e0f2fe 0%, #bae6fd 100%);
  color: #0369a1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  font-weight: 700;
  border: 2px solid #e0f2fe;
}
.dept-staff-editor-avatar-hint[data-v-671bd6fb] {
  margin: 0;
  font-size: 11px;
  color: #94a3b8;
}
.dept-staff-editor-fields[data-v-671bd6fb] {
  min-width: 0;
}
.dept-staff-editor-grid[data-v-671bd6fb] {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px 16px;
}
@media (max-width: 900px) {
.dept-staff-editor-grid[data-v-671bd6fb] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
}
@media (max-width: 520px) {
.dept-staff-editor-grid[data-v-671bd6fb] {
    grid-template-columns: 1fr;
}
}
.dept-staff-field[data-v-671bd6fb] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 0;
  min-width: 0;
}
.dept-staff-field--phone[data-v-671bd6fb] {
  grid-column: span 1;
}
.dept-staff-field-label[data-v-671bd6fb] {
  font-size: 12px;
  color: #475569;
}
.dept-staff-field-input[data-v-671bd6fb] {
  width: 100%;
  box-sizing: border-box;
  padding: 8px 4px 6px;
  border: none;
  border-bottom: 1px solid #cbd5e1;
  border-radius: 0;
  background: transparent;
  font-size: 13px;
  color: #0f172a;
}
.dept-staff-field-input[data-v-671bd6fb]:focus {
  outline: none;
  border-bottom-color: #0ea5e9;
}
.dept-staff-phone-row[data-v-671bd6fb] {
  display: flex;
  gap: 8px;
  align-items: center;
}
.dept-staff-phone-cc[data-v-671bd6fb] {
  flex: 0 0 72px;
  width: 72px;
}
.dept-staff-phone-num[data-v-671bd6fb] {
  flex: 1;
  min-width: 0;
}
.dept-staff-editor-dept-head[data-v-671bd6fb] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 20px;
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid #f1f5f9;
}
.dept-staff-radio[data-v-671bd6fb] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: #334155;
  cursor: pointer;
}
.dept-staff-editor-hint[data-v-671bd6fb] {
  font-size: 12px;
  color: #94a3b8;
  flex: 1 1 200px;
  min-width: 0;
  line-height: 1.45;
}
.dept-staff-editor-dialog-foot[data-v-671bd6fb] {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding: 12px 16px 14px;
  border-top: 1px solid #e8f0f3;
  background: #fafbfc;
}
.dept-staff-structure-mask[data-v-671bd6fb] {
  position: fixed;
  inset: 0;
  z-index: 12000;
  background: rgba(15, 23, 42, 0.35);
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 48px 16px;
  overflow-y: auto;
}
.dept-staff-structure-dialog[data-v-671bd6fb] {
  width: min(560px, 100%);
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 18px 48px rgba(15, 23, 42, 0.18);
  border: 1px solid #e2e8f0;
  overflow: hidden;
}
.dept-staff-structure-head[data-v-671bd6fb] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border-bottom: 1px solid #e8f0f3;
  background: #fafbfc;
}
.dept-staff-structure-head-left[data-v-671bd6fb] {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 10px;
  min-width: 0;
}
.dept-staff-structure-title-icon[data-v-671bd6fb] {
  color: #15803d;
  font-size: 15px;
  line-height: 1;
}
.dept-staff-structure-title[data-v-671bd6fb] {
  font-weight: 600;
  font-size: 15px;
  color: #0f172a;
}
.dept-staff-structure-add-root[data-v-671bd6fb] {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: none;
  background: #16a34a;
  color: #fff;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}
.dept-staff-structure-add-root[data-v-671bd6fb]:hover {
  background: #15803d;
}
.dept-staff-structure-show-disabled[data-v-671bd6fb] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: #475569;
  cursor: pointer;
  user-select: none;
}
.dept-staff-structure-body[data-v-671bd6fb] {
  max-height: min(520px, 70vh);
  overflow-y: auto;
  padding: 6px 0 10px;
}
.dept-staff-structure-row[data-v-671bd6fb] {
  border-bottom: 1px solid #f1f5f9;
}
.dept-staff-structure-row--hover .dept-staff-structure-row-inner[data-v-671bd6fb],
.dept-staff-structure-row:hover .dept-staff-structure-row-inner[data-v-671bd6fb] {
  background: rgba(22, 163, 74, 0.08);
}
.dept-staff-structure-row-inner[data-v-671bd6fb] {
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 40px;
  padding-right: 10px;
  transition: background 0.12s ease;
}
.dept-staff-structure-chevron[data-v-671bd6fb] {
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  border: none;
  background: transparent;
  color: #16a34a;
  cursor: pointer;
  font-size: 10px;
  padding: 0;
  line-height: 1;
}
.dept-staff-structure-chevron[data-v-671bd6fb]:hover {
  color: #15803d;
}
.dept-staff-structure-chevron-spacer[data-v-671bd6fb] {
  flex: 0 0 22px;
  width: 22px;
}
.dept-staff-structure-label[data-v-671bd6fb] {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 14px;
  color: #1e293b;
}
.dept-staff-structure-label--disabled[data-v-671bd6fb] {
  color: #94a3b8;
  text-decoration: line-through;
}
.dept-staff-structure-actions[data-v-671bd6fb] {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  opacity: 0;
  transition: opacity 0.12s ease;
}
.dept-staff-structure-row:hover .dept-staff-structure-actions[data-v-671bd6fb],
.dept-staff-structure-row--hover .dept-staff-structure-actions[data-v-671bd6fb] {
  opacity: 1;
}
.dept-staff-structure-act[data-v-671bd6fb] {
  width: 28px;
  height: 28px;
  border: 1px solid #e2e8f0;
  border-radius: 6px;
  background: #fff;
  cursor: pointer;
  font-size: 13px;
  line-height: 1;
  padding: 0;
  color: #334155;
}
.dept-staff-structure-act[data-v-671bd6fb]:hover {
  border-color: #16a34a;
  color: #15803d;
}
.dept-staff-structure-act--danger[data-v-671bd6fb]:hover {
  border-color: #dc2626;
  color: #b91c1c;
}
.dept-staff-structure-empty[data-v-671bd6fb] {
  padding: 24px 16px;
  text-align: center;
  color: #94a3b8;
  font-size: 14px;
  margin: 0;
}
.stat-grid[data-v-671bd6fb] { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 10px;
}
.stat-card[data-v-671bd6fb] { border: 1px solid var(--border-light); border-radius: 8px; padding: 10px; background: #f8fafc;
}
.stat-label[data-v-671bd6fb] { font-size: 12px; color: var(--text-muted-light); margin-bottom: 4px;
}
.stat-value[data-v-671bd6fb] { font-size: 24px; font-weight: 700; color: #0a5f6e;
}
.data-list[data-v-671bd6fb] { list-style: none; padding-left: 0; margin-top: 8px;
}
.data-list li[data-v-671bd6fb] { padding: 7px 8px; border-bottom: 1px dashed var(--border-light); color: var(--text-on-light);
}
.data-list li[data-v-671bd6fb]:nth-child(odd) { background: #f8fafc;
}
.data-list--category-tree li[data-v-671bd6fb]:nth-child(odd) { background: transparent;
}
.oplog-list li[data-v-671bd6fb] {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px 10px;
}
.oplog-meta[data-v-671bd6fb] {
  font-family: ui-monospace, monospace;
  font-size: 12px;
  color: var(--text-muted-light);
}
.oplog-op[data-v-671bd6fb] {
  font-size: 12px;
  color: var(--text-muted-light);
}
.oplog-op[data-v-671bd6fb]::before {
  content: '操作人：';
  font-weight: 600;
}
.oplog-msg[data-v-671bd6fb] {
  flex: 1 1 240px;
  font-size: 13px;
  color: var(--text-on-light);
  min-width: 0;
  word-break: break-word;
}
.oplog-badge[data-v-671bd6fb] {
  font-size: 11px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 999px;
  white-space: nowrap;
  letter-spacing: 0.02em;
}
.oplog-badge--revoke[data-v-671bd6fb] {
  background: #ffebee;
  color: #b71c1c;
  border: 1px solid #ffcdd2;
}
.oplog-badge--unapprove[data-v-671bd6fb] {
  background: #fff3e0;
  color: #e65100;
  border: 1px solid #ffe0b2;
}
.oplog-badge--money[data-v-671bd6fb] {
  background: #e8f5e9;
  color: #1b5e20;
  border: 1px solid #c8e6c9;
}
.oplog-badge--default[data-v-671bd6fb] {
  background: #eceff1;
  color: #455a64;
  border: 1px solid #cfd8dc;
}
.category-manage-tree-cell[data-v-671bd6fb] {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 8px;
  max-width: 100%;
  vertical-align: middle;
}
.category-manage-tree-cell--L1[data-v-671bd6fb] {
  font-weight: 500;
}
.category-manage-tree-cell--L2[data-v-671bd6fb] {
  border-left: 3px solid rgba(234, 88, 12, 0.4);
  margin-left: 4px;
  padding-top: 4px;
  padding-bottom: 4px;
  background: rgba(255, 247, 237, 0.65);
  border-radius: 0 8px 8px 0;
}
.category-tree-join[data-v-671bd6fb] {
  color: #c2410c;
  font-weight: 700;
  margin-right: 2px;
  user-select: none;
}
.product-cat-meta[data-v-671bd6fb] {
  font-size: 12px;
  color: var(--text-muted-light);
  font-weight: 400;
}
.notice[data-v-671bd6fb] { display: flex; justify-content: space-between; align-items: center; border-radius: 8px; padding: 8px 10px; margin-bottom: 10px; border: 1px solid var(--border-light);
}
.notice-info[data-v-671bd6fb] { background: rgba(95, 184, 193, 0.15); color: #0a5f6e;
}
.notice-error[data-v-671bd6fb] { background: rgba(254, 226, 226, 0.9); color: var(--text-error);
}
.notice-success[data-v-671bd6fb] { background: rgba(220, 252, 231, 0.9); color: var(--text-success);
}
.notice-close[data-v-671bd6fb] { margin-left: 12px;
}
.section-box[data-v-671bd6fb] {
  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 10%, var(--border-light));
  border-radius: 10px;
  padding: 10px;
  margin: 10px 0;
  background: var(--surface-brand-paler);
}
/* 默认 field-grid：自动换列，易在窄屏或子模块里变成「一列通栏」；进销存单据主信息请勿单独依赖本规则。 */
.field-grid[data-v-671bd6fb] { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 8px;
}
.field-grid label[data-v-671bd6fb] { display: flex; flex-direction: column; font-size: 12px; color: var(--text-muted-light);
}
.sales-sheet-form > label[data-v-671bd6fb],
.sales-sheet-form .sales-customer-field[data-v-671bd6fb],
.sales-sheet-form .sales-wh-field[data-v-671bd6fb],
.purchase-form-label[data-v-671bd6fb] {
  color: var(--text-on-light) !important;
}
.sales-sheet-form[data-v-671bd6fb] {
  align-items: start;
  grid-template-columns: repeat(4, minmax(220px, 1fr));
}
/**
 * 进销存/往来单据主信息区「一行三等分」标准写法（与销货单编辑头、销货单查看等一致）：
 * 1) 页面根（通常 DocumentPageShell 的 page-class）须包含 .inventory-order-sheet
 * 2) 主信息容器：class="field-grid sales-sheet-form"（可再加业务类如 sales-outbound-master-form）
 * 勿仅用 .field-grid + 行内 style，易与默认 auto-fit 混用、难以与历史页统一。
 */
.inventory-order-sheet .field-grid.sales-sheet-form[data-v-671bd6fb] {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px 12px;
}
.sales-sheet-form > label > span[data-v-671bd6fb],
.sales-sheet-form .sales-customer-field > span[data-v-671bd6fb] {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  line-height: 20px;
  margin-bottom: 4px;
}
.sales-sheet-form > label[data-v-671bd6fb],
.sales-sheet-form .sales-customer-field[data-v-671bd6fb],
.sales-sheet-form .sales-wh-field[data-v-671bd6fb] {
  margin: 0;
  align-self: stretch;
}
.sales-wh-field[data-v-671bd6fb] {
  display: flex;
  flex-direction: column;
  font-size: 12px;
}
.sales-wh-field > span[data-v-671bd6fb] {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  line-height: 20px;
  margin-bottom: 4px;
  font-size: inherit;
  color: inherit;
  font-weight: inherit;
}
.sales-sheet-form .sales-customer-input-wrap input[data-v-671bd6fb],
.sales-sheet-form > label > input[data-v-671bd6fb],
.sales-sheet-form > label > select[data-v-671bd6fb] {
  height: var(--doc-header-control-height, 36px);
  font-size: var(--doc-header-control-font-size, 13px);
  color: #111827;
}
.sales-wh-multi[data-v-671bd6fb] {
  position: relative;
}
.sales-wh-multi-trigger[data-v-671bd6fb] {
  width: 100%;
  height: 36px;
  border: 1px solid #d5dde7;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 0 10px;
  font-size: 12px;
  line-height: 36px;
  color: #111827;
}
.sales-wh-multi-trigger--empty[data-v-671bd6fb] {
  color: #6b7280;
}
.sales-wh-multi-arrow[data-v-671bd6fb] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: #64748b;
}
.sales-wh-multi-arrow svg[data-v-671bd6fb] {
  display: block;
}
.sales-wh-multi-trigger[data-v-671bd6fb]:focus-visible {
  outline: none;
  border-color: color-mix(in srgb, var(--sidebar-teal) 48%, #cbd5e1);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--sidebar-teal) 16%, transparent);
}
.sales-wh-multi-panel[data-v-671bd6fb] {
  position: absolute;
  z-index: 40;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  max-height: 280px;
  overflow: auto;
  background: #fff;
  border: 1px solid #d6dee8;
  border-radius: 8px;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.12);
  padding: 0;
}
.sales-wh-multi-item[data-v-671bd6fb] {
  display: grid;
  grid-template-columns: 56px 120px minmax(120px, 1fr);
  align-items: center;
  column-gap: 0;
  row-gap: 0;
  flex-direction: row;
  min-height: 44px;
  padding: 0 10px;
  cursor: pointer;
  color: #111827;
  font-size: 12px;
  white-space: nowrap;
  border-bottom: 1px solid #edf2f7;
  background: #fff;
  width: 100%;
  box-sizing: border-box;
}
.sales-wh-multi-item[data-v-671bd6fb]:hover {
  background: #f9fafb;
}
.sales-wh-multi-item > input[type='checkbox'][data-v-671bd6fb] {
  margin: 0;
  width: 16px;
  height: 16px;
  justify-self: center;
}
.sales-wh-multi-code[data-v-671bd6fb],
.sales-wh-multi-name[data-v-671bd6fb] {
  display: inline-block;
  align-items: center;
  white-space: nowrap;
  font-size: 12px;
  line-height: 1.2;
}
.sales-wh-multi-code[data-v-671bd6fb] {
  min-width: 0;
  font-variant-numeric: tabular-nums;
  color: var(--text-on-light);
}
.sales-wh-multi-name[data-v-671bd6fb] {
  min-width: 0;
  padding-left: 8px;
  overflow: hidden;
  text-overflow: ellipsis;
  color: var(--text-on-light);
}
.sales-wh-multi-item--all[data-v-671bd6fb] {
  grid-template-columns: 56px minmax(120px, 1fr);
  min-height: 44px;
  border-bottom: 1px solid #e5ecf3;
  font-weight: 600;
  background: #fff;
}
.sales-wh-multi-all-text[data-v-671bd6fb] {
  white-space: nowrap;
  font-size: 12px;
  color: var(--text-on-light);
}
.sales-wh-multi-item--all .sales-wh-multi-code[data-v-671bd6fb],
.sales-wh-multi-item--all .sales-wh-multi-name[data-v-671bd6fb] {
  display: none;
}
.sales-wh-multi-item--active[data-v-671bd6fb] {
  background: #eef6ff;
}
.sales-wh-multi-item--active[data-v-671bd6fb]:hover {
  background: #e6f0ff;
}
.sales-wh-multi-empty[data-v-671bd6fb] {
  padding: 10px 12px;
  color: #64748b;
  font-size: 13px;
}
.sales-sheet-form .sales-customer-more[data-v-671bd6fb] {
  height: 30px;
  width: 30px;
  min-width: 30px;
}
.sales-form-full-row[data-v-671bd6fb] {
  grid-column: 1 / -1;
}
.sales-form-ship-row[data-v-671bd6fb] {
  grid-column: 1 / -1;
}
.sales-form-ship-row > input[data-v-671bd6fb] {
  width: calc(75% - 2px);
  max-width: calc(75% - 2px);
}
.sales-form-contact-item[data-v-671bd6fb] {
  grid-column: span 1;
}
.sales-form-contact-remark[data-v-671bd6fb] {
  grid-column: span 1;
}
.sales-form-contact-remark > input[data-v-671bd6fb] {
  width: 100%;
}
.sales-form-partner-row[data-v-671bd6fb] {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: 100%;
  max-width: 100%;
  justify-content: stretch;
  gap: 8px 12px;
}
.sales-form-partner-filler[data-v-671bd6fb] {
  min-width: 0;
  min-height: 0;
  pointer-events: none;
}
.inventory-order-sheet .sales-form-partner-row[data-v-671bd6fb] > *:not(.sales-form-partner-filler) {
  min-width: 0;
}
.sales-form-partner-row--single-supplier[data-v-671bd6fb] {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
/* 销货单/销货退货单主表：与历史筛选一致的三列等分，不改动字段顺序与标签 */
.sales-order-page.inventory-order-sheet .field-grid.sales-sheet-form.sales-outbound-master-form[data-v-671bd6fb] {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px 12px;
  width: 100%;
  max-width: none;
  justify-items: stretch;
}
/* 抵消全局 input/select/button 的 margin-right/margin-bottom，避免首行控件视觉上比下方行「缩进」 */
.sales-order-page.inventory-order-sheet .field-grid.sales-sheet-form.sales-outbound-master-form > label[data-v-671bd6fb],
.sales-order-page.inventory-order-sheet .field-grid.sales-sheet-form.sales-outbound-master-form .sales-wh-field[data-v-671bd6fb] {
  min-width: 0;
}
.sales-order-page.inventory-order-sheet .field-grid.sales-sheet-form.sales-outbound-master-form > label > select[data-v-671bd6fb],
.sales-order-page.inventory-order-sheet .field-grid.sales-sheet-form.sales-outbound-master-form > label > input[data-v-671bd6fb],
.sales-order-page.inventory-order-sheet .field-grid.sales-sheet-form.sales-outbound-master-form .sales-wh-field .sales-wh-multi-trigger[data-v-671bd6fb],
.sales-order-page.inventory-order-sheet .field-grid.sales-sheet-form.sales-outbound-master-form .sales-form-contact-item > input[data-v-671bd6fb],
.sales-order-page.inventory-order-sheet .field-grid.sales-sheet-form.sales-outbound-master-form .sales-form-contact-remark > input[data-v-671bd6fb],
.sales-order-page.inventory-order-sheet .field-grid.sales-sheet-form.sales-outbound-master-form .sales-form-partner-row .sales-form-ship-partner-cell > input[data-v-671bd6fb],
.sales-order-page.inventory-order-sheet .field-grid.sales-sheet-form.sales-outbound-master-form .sales-form-partner-row .sales-form-ship-partner-cell > select[data-v-671bd6fb],
.sales-order-page.inventory-order-sheet .field-grid.sales-sheet-form.sales-outbound-master-form .sales-form-partner-row .sales-customer-input-wrap input[data-v-671bd6fb] {
  margin-right: 0;
  margin-bottom: 0;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
.sales-order-page.inventory-order-sheet .field-grid.sales-sheet-form.sales-outbound-master-form .sales-form-partner-row .sales-customer-more[data-v-671bd6fb] {
  margin-right: 0;
  margin-bottom: 0;
}
.sales-order-page.inventory-order-sheet .sales-outbound-master-form .sales-form-partner-row[data-v-671bd6fb] {
  width: 100%;
  max-width: 100%;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.sales-order-page.inventory-order-sheet .sales-outbound-master-form .sales-partner-selector-slot[data-v-671bd6fb] {
  min-width: 0;
}
/** 出库单筛选行：单号输入、默认仓库与 PartnerUnitSelector 主框同高 */
.field-grid.wh-outbound-filter-row > label .ic-line-input[data-v-671bd6fb],
.field-grid.wh-outbound-filter-row > label select.ic-line-input[data-v-671bd6fb] {
  min-height: 36px;
  height: 36px;
  box-sizing: border-box;
  font-size: 13px;
}
.field-grid.wh-outbound-filter-row > label[data-v-671bd6fb] {
  display: flex;
  flex-direction: column;
}
.field-grid.wh-outbound-filter-row .sales-partner-selector-slot[data-v-671bd6fb] {
  display: flex;
  flex-direction: column;
}
/** 入库单筛选行：单号输入、默认仓库与 PartnerUnitSelector 主框同高 */
.field-grid.wh-inbound-filter-row > label .ic-line-input[data-v-671bd6fb],
.field-grid.wh-inbound-filter-row > label select.ic-line-input[data-v-671bd6fb] {
  min-height: 36px;
  height: 36px;
  box-sizing: border-box;
  font-size: 13px;
}
.field-grid.wh-inbound-filter-row > label[data-v-671bd6fb] {
  display: flex;
  flex-direction: column;
}
.field-grid.wh-inbound-filter-row .sales-partner-selector-slot[data-v-671bd6fb] {
  display: flex;
  flex-direction: column;
}
/** 单据表头控件统一高度（全局，基准：业务员 select）— 详见 document-sheet.css / theme.css --doc-header-control-height */
.field-grid.doc-template-header-grid .doc-template-header-cell[data-v-671bd6fb] {
  min-width: 0;
  display: flex;
  flex-direction: column;
}
.field-grid.doc-template-header-grid .doc-template-header-cell label > span[data-v-671bd6fb],
.field-grid.doc-template-header-grid .doc-template-header-cell .sales-customer-field > span[data-v-671bd6fb] {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  line-height: 20px;
  margin-bottom: 4px;
}
.field-grid.doc-template-header-grid .doc-template-header-cell label > input[data-v-671bd6fb]:not([type='checkbox']):not([type='radio']),
.field-grid.doc-template-header-grid .doc-template-header-cell label > select[data-v-671bd6fb],
.field-grid.doc-template-header-grid .doc-template-header-cell .sales-form-contact-remark > input[data-v-671bd6fb],
.field-grid.doc-template-header-grid .doc-template-header-cell label .ic-line-input[data-v-671bd6fb],
.field-grid.doc-template-header-grid .doc-template-header-cell label select.ic-line-input[data-v-671bd6fb],
.field-grid.doc-template-header-grid .doc-template-header-cell .sales-customer-input-wrap input[data-v-671bd6fb],
.field-grid.doc-template-header-grid .doc-template-header-cell .sales-customer-field .sales-customer-input-wrap input[data-v-671bd6fb],
.field-grid.doc-template-header-grid .doc-template-header-cell .sales-wh-multi-trigger[data-v-671bd6fb],
.field-grid.sales-sheet-form > label > input[data-v-671bd6fb]:not([type='checkbox']):not([type='radio']),
.field-grid.sales-sheet-form > label > select[data-v-671bd6fb],
.field-grid.sales-sheet-form .sales-customer-field .sales-customer-input-wrap input[data-v-671bd6fb],
.field-grid.sales-sheet-form .sales-customer-input-wrap input[data-v-671bd6fb],
.field-grid.sales-sheet-form .sales-wh-field .sales-wh-multi-trigger[data-v-671bd6fb] {
  width: 100%;
  height: var(--doc-header-control-height, 36px);
  min-height: var(--doc-header-control-height, 36px);
  box-sizing: border-box;
  font-size: var(--doc-header-control-font-size, 13px);
  margin-right: 0 !important;
  margin-bottom: 0 !important;
  padding: 0 var(--doc-header-control-padding-x, 10px) !important;
}
.field-grid.doc-template-header-grid .doc-template-header-cell .sales-customer-input-wrap input[data-v-671bd6fb],
.field-grid.doc-template-header-grid .doc-template-header-cell .sales-customer-field .sales-customer-input-wrap input[data-v-671bd6fb],
.field-grid.sales-sheet-form .sales-customer-field .sales-customer-input-wrap input[data-v-671bd6fb],
.field-grid.sales-sheet-form .sales-customer-input-wrap input[data-v-671bd6fb] {
  padding-right: 38px !important;
}
.field-grid.doc-template-header-grid .doc-template-header-cell label > select[data-v-671bd6fb],
.field-grid.doc-template-header-grid .doc-template-header-cell label select.ic-line-input[data-v-671bd6fb],
.field-grid.sales-sheet-form > label > select[data-v-671bd6fb] {
  appearance: none;
  -webkit-appearance: none;
  padding-right: 30px !important;
  cursor: pointer;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' fill='none'%3E%3Cpath d='M1.75 3.25L5 6.5L8.25 3.25' stroke='%2364748b' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-color: #fff;
}
.field-grid.wh-outbound-readonly-grid > label[data-v-671bd6fb] {
  min-width: 0;
  display: flex;
  flex-direction: column;
}
.field-grid.wh-outbound-readonly-grid > label .ic-line-input[data-v-671bd6fb],
.field-grid.wh-outbound-readonly-grid > label select.ic-line-input[data-v-671bd6fb] {
  min-height: 36px;
  height: 36px;
  box-sizing: border-box;
  font-size: 13px;
}
.field-grid.wh-outbound-readonly-grid .wh-outbound-readonly-spacer[data-v-671bd6fb] {
  min-width: 0;
  min-height: 1px;
}
.sales-order-page.inventory-order-sheet .sales-outbound-master-form .sales-form-partner-row .sales-form-ship-partner-cell[data-v-671bd6fb] {
  display: flex;
  flex-direction: column;
  font-size: 12px;
  color: var(--text-on-light);
  margin: 0;
  min-width: 0;
}
.sales-order-page.inventory-order-sheet .sales-outbound-master-form .sales-form-partner-row .sales-form-ship-partner-cell > span[data-v-671bd6fb] {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  line-height: 20px;
  margin-bottom: 4px;
}
.sales-order-page.inventory-order-sheet .sales-outbound-master-form .sales-form-partner-row .sales-form-ship-partner-cell > input[data-v-671bd6fb],
.sales-order-page.inventory-order-sheet .sales-outbound-master-form .sales-form-partner-row .sales-form-ship-partner-cell > select[data-v-671bd6fb] {
  width: 100%;
  max-width: 100%;
  height: 36px;
  font-size: 13px;
  color: #111827;
  box-sizing: border-box;
}
.sales-order-page.inventory-order-sheet .sales-outbound-master-form .sales-form-partner-row--biz-customer-address[data-v-671bd6fb] {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
}
.sales-order-page.inventory-order-sheet .sales-outbound-master-form .sales-form-partner-row--biz-customer-address .sales-form-biz-type-cell[data-v-671bd6fb],
.sales-order-page.inventory-order-sheet .sales-outbound-master-form .sales-form-partner-row--biz-customer-address .sales-partner-selector-slot[data-v-671bd6fb],
.sales-order-page.inventory-order-sheet .sales-outbound-master-form .sales-form-partner-row--biz-customer-address .sales-form-ship-partner-cell[data-v-671bd6fb] {
  min-width: 0;
}
.sales-order-page.inventory-order-sheet .sales-outbound-master-form .sales-form-partner-row--biz-customer-address .sales-customer-field > span[data-v-671bd6fb] {
  min-height: 20px;
  line-height: 20px;
  margin-bottom: 4px;
}
.required-star[data-v-671bd6fb] {
  color: var(--required-star-color, #dc2626);
  margin-right: 2px;
  margin-left: 0 !important;
  font-weight: 700;
  flex-shrink: 0;
}
.required-mark[data-v-671bd6fb],
.ir-req[data-v-671bd6fb] {
  color: var(--required-star-color, #dc2626) !important;
  margin-right: 2px;
  margin-left: 0 !important;
  font-weight: 700;
  flex-shrink: 0;
}
.sales-sheet-form > label > span[data-v-671bd6fb],
.sales-customer-field > span[data-v-671bd6fb],
.purchase-form-label[data-v-671bd6fb],
.settlement-field-label[data-v-671bd6fb],
.dept-staff-field-label[data-v-671bd6fb],
.field-grid.doc-template-header-grid .doc-template-header-cell label > span[data-v-671bd6fb],
.field-grid.doc-template-header-grid .doc-template-header-cell .sales-customer-field > span[data-v-671bd6fb] {
  display: inline-flex;
  align-items: center;
}
.sales-sheet-form > label > span .required-star[data-v-671bd6fb],
.sales-customer-field > span .required-star[data-v-671bd6fb],
.purchase-form-label .required-star[data-v-671bd6fb],
.settlement-field-label .required-star[data-v-671bd6fb],
.dept-staff-field-label .required-star[data-v-671bd6fb],
.field-grid.doc-template-header-grid .doc-template-header-cell label > span .required-star[data-v-671bd6fb],
.field-grid.doc-template-header-grid .doc-template-header-cell .sales-customer-field > span .required-star[data-v-671bd6fb],
.sales-sheet-form > label > span .required-mark[data-v-671bd6fb],
.sales-customer-field > span .required-mark[data-v-671bd6fb],
.field-grid label > span .ir-req[data-v-671bd6fb] {
  order: -1;
}
.form-group-title[data-v-671bd6fb] { margin: 8px 0 6px 0; color: #0a5f6e; font-size: 13px; border-left: 3px solid var(--sidebar-teal); padding-left: 6px;
}
.compact-filter .field-grid[data-v-671bd6fb] { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}
.compact-filter input[data-v-671bd6fb], .compact-filter select[data-v-671bd6fb] { margin-bottom: 0;
}
.product-list-count[data-v-671bd6fb] { font-size: 12px; color: var(--text-muted-light); align-self: center;
}
.category-manage-row[data-v-671bd6fb] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.category-manage-actions[data-v-671bd6fb] {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}
.category-add-child-btn[data-v-671bd6fb] {
  font-size: 12px;
  padding: 4px 10px;
  border-radius: 6px;
  border: 1px solid rgba(95, 184, 193, 0.55);
  background: rgba(95, 184, 193, 0.12);
  color: #0a5f6e;
  cursor: pointer;
}
.category-add-child-btn[data-v-671bd6fb]:hover {
  background: rgba(95, 184, 193, 0.22);
}
.category-add-panels[data-v-671bd6fb] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(288px, 1fr));
  gap: 16px;
  margin-bottom: 16px;
}
.category-add-panel[data-v-671bd6fb] {
  border-radius: 12px;
  padding: 14px 14px 16px;
  border: 1px solid var(--border-light);
  background: #fff;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.category-add-panel--root[data-v-671bd6fb] {
  border-left: 5px solid var(--sidebar-teal);
  background: linear-gradient(165deg, rgba(95, 184, 193, 0.09) 0%, #fff 55%);
}
.category-add-panel--child[data-v-671bd6fb] {
  border-left: 5px solid color-mix(in srgb, var(--sidebar-teal) 72%, #0a5f6e);
  background: linear-gradient(165deg, rgba(95, 184, 193, 0.1) 0%, #fff 55%);
}
.category-add-panel-head[data-v-671bd6fb] {
  display: flex;
  flex-direction: column;
  gap: 6px;
  align-items: flex-start;
}
.category-add-badge[data-v-671bd6fb] {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 3px 10px;
  border-radius: 999px;
}
.category-add-badge--root[data-v-671bd6fb] {
  background: rgba(95, 184, 193, 0.28);
  color: #0a5f6e;
}
.category-add-badge--child[data-v-671bd6fb] {
  background: rgba(95, 184, 193, 0.28);
  color: #0a5f6e;
}
.category-add-panel-title[data-v-671bd6fb] {
  font-size: 15px;
  font-weight: 700;
  color: var(--text-on-light);
}
.category-add-panel-desc[data-v-671bd6fb] {
  margin: 0;
  font-size: 12px;
  color: var(--text-muted-light);
  line-height: 1.5;
}
.category-add-field-label[data-v-671bd6fb] {
  display: flex;
  flex-direction: column;
  gap: 5px;
  font-size: 12px;
  color: var(--text-muted-light);
}
.category-child-path-preview[data-v-671bd6fb] {
  font-size: 12px;
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px dashed rgba(194, 65, 12, 0.4);
  background: rgba(254, 243, 199, 0.45);
}
.category-child-path-preview--empty[data-v-671bd6fb] {
  border-color: var(--border-light);
  background: var(--table-header-bg);
  color: var(--text-muted-light);
}
.category-child-path-preview-label[data-v-671bd6fb] {
  display: block;
  font-size: 11px;
  font-weight: 600;
  color: #9a3412;
  margin-bottom: 6px;
}
.category-child-path-preview--empty .category-child-path-preview-label[data-v-671bd6fb] {
  color: var(--text-muted-light);
}
.category-child-path-preview-value[data-v-671bd6fb] {
  color: var(--text-on-light);
  line-height: 1.45;
  word-break: break-word;
}
.category-child-path-sep[data-v-671bd6fb] {
  margin: 0 5px;
  color: #c2410c;
  font-weight: 700;
  font-style: normal;
}
.category-child-path-preview-placeholder[data-v-671bd6fb] {
  font-size: 12px;
}
.category-add-btn[data-v-671bd6fb] {
  align-self: flex-start;
  margin-top: 2px;
  padding: 10px 16px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  border: none;
}
.category-add-btn--root[data-v-671bd6fb] {
  background: linear-gradient(180deg, #5ec4d1 0%, #3da8b8 100%);
  color: #fff;
  box-shadow: 0 2px 8px rgba(61, 168, 184, 0.35);
}
.category-add-btn--root[data-v-671bd6fb]:hover {
  filter: brightness(1.06);
}
.category-add-btn--child[data-v-671bd6fb] {
  background: linear-gradient(180deg, #6ec9d4 0%, #3d9bab 100%);
  color: #fff;
  box-shadow: 0 2px 8px rgba(61, 155, 171, 0.35);
}
.category-add-btn--child[data-v-671bd6fb]:hover:not(:disabled) {
  filter: brightness(1.06);
}
.category-add-btn--child[data-v-671bd6fb]:disabled {
  opacity: 0.48;
  cursor: not-allowed;
  box-shadow: none;
  filter: none;
}
.table-like[data-v-671bd6fb] { display: grid; grid-template-columns: repeat(6, minmax(110px, 1fr)); gap: 6px; margin-top: 8px; align-items: center;
}
.partner-table[data-v-671bd6fb] { grid-template-columns: repeat(8, minmax(100px, 1fr));
}
.price-table-9[data-v-671bd6fb] { grid-template-columns: repeat(9, minmax(110px, 1fr));
}
.storefront-card[data-v-671bd6fb] { display: flex; align-items: center; gap: 10px; margin-top: 8px;
}
.storefront-thumb[data-v-671bd6fb] { width: 96px; height: 96px; object-fit: cover; border: 1px solid var(--border-light); border-radius: 6px; background: var(--table-header-bg);
}
.partner-table-wrap[data-v-671bd6fb] {
  margin-top: 10px;
  max-height: 380px;
  overflow: auto;
  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 12%, var(--border-light));
  border-radius: 8px;
  background: #fff;
}
.partner-name-link[data-v-671bd6fb] {
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  font: inherit;
  color: var(--primary-action, #0a5f6e);
  cursor: pointer;
  text-decoration: underline;
  text-align: left;
}
.partner-name-link[data-v-671bd6fb]:hover {
  color: #094a56;
}
.partner-table-real[data-v-671bd6fb] { width: 100%; border-collapse: collapse; min-width: 980px; background: #fff;
}
.partner-table-real th[data-v-671bd6fb], .partner-table-real td[data-v-671bd6fb] { border-bottom: 1px solid var(--table-border); padding: 8px; text-align: left; white-space: nowrap; font-size: 12px; color: var(--text-on-light);
}
.partner-table-real thead th[data-v-671bd6fb] { position: sticky; top: 0; z-index: 2; background: var(--table-header-bg); font-weight: 600; color: var(--table-header-text);
}
.partner-table-real tbody tr[data-v-671bd6fb]:nth-child(odd) { background: var(--table-row-striped);
}
.partner-sticky-action[data-v-671bd6fb] { position: sticky; right: 0; z-index: 1; background: #fff; min-width: 138px; box-shadow: -4px 0 8px rgba(15, 23, 42, 0.04);
}
.partner-table-real thead .partner-sticky-action[data-v-671bd6fb] { z-index: 3; background: var(--table-header-bg);
}
.product-table-wrap[data-v-671bd6fb] {
  margin-top: 8px;
  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 12%, var(--border-light));
  border-radius: 8px;
  overflow: auto;
  background: #fff;
}
.product-table-real[data-v-671bd6fb] { width: 100%; border-collapse: collapse; min-width: 980px; background: #fff;
}
.product-table-real th[data-v-671bd6fb], .product-table-real td[data-v-671bd6fb] { border-bottom: 1px solid var(--table-border); padding: 8px; text-align: left; white-space: nowrap; font-size: 12px; color: var(--text-on-light);
}
.product-table-real thead th[data-v-671bd6fb] { position: sticky; top: 0; z-index: 2; background: var(--table-header-bg); font-weight: 600; color: var(--table-header-text);
}
.product-table-real tbody tr[data-v-671bd6fb]:nth-child(odd) { background: var(--table-row-striped);
}
.product-sticky-action[data-v-671bd6fb] { position: sticky; right: 0; z-index: 2; background: #fff; min-width: 108px; box-shadow: -4px 0 8px rgba(15, 23, 42, 0.04);
}
.product-table-real thead .product-sticky-action[data-v-671bd6fb] { z-index: 5; background: var(--table-header-bg);
}
/* 借款/报销历史操作列：允许换行，避免 nowrap 把列宽撑得过大 */
.doc-history-ledger .product-table-real th.er-hist-actions-cell[data-v-671bd6fb],
.doc-history-ledger .product-table-real td.er-hist-actions-cell[data-v-671bd6fb],
.sales-history-page .product-table-real th.er-hist-actions-cell[data-v-671bd6fb],
.sales-history-page .product-table-real td.er-hist-actions-cell[data-v-671bd6fb] {
  white-space: normal;
  min-width: 88px;
  line-height: 1.35;
}
.doc-history-ledger .product-table-real td.er-hist-actions-cell .history-action-btn[data-v-671bd6fb],
.sales-history-page .product-table-real td.er-hist-actions-cell .history-action-btn[data-v-671bd6fb] {
  display: inline-block;
  margin: 2px 4px 2px 0;
  vertical-align: middle;
}
.er-admin-proxy-mark[data-v-671bd6fb] {
  display: inline-block;
  margin-left: 6px;
  padding: 0 6px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.5;
  color: #9a3412;
  background: #fff7ed;
  border: 1px solid color-mix(in srgb, #ea580c 28%, #fed7aa);
  vertical-align: middle;
}
.product-sticky-left[data-v-671bd6fb] {
  position: sticky;
  background: #fff;
  z-index: 1;
  box-sizing: border-box;
}
.product-table-real thead .product-sticky-left[data-v-671bd6fb] {
  top: 0;
  z-index: 6;
  background: var(--table-header-bg);
}
.product-table-real tbody tr:nth-child(odd) .product-sticky-left[data-v-671bd6fb] {
  background: var(--table-row-striped);
}
.product-sticky-left--sales-1[data-v-671bd6fb] { left: 0; min-width: 60px;
}
.product-sticky-left--sales-2[data-v-671bd6fb] { left: 60px; min-width: 110px;
}
.product-sticky-left--sales-3[data-v-671bd6fb] { left: 170px; min-width: 100px;
}
.product-sticky-left--sales-4[data-v-671bd6fb] { left: 270px; min-width: 180px;
}
.product-sticky-left--sales-5[data-v-671bd6fb] {
  left: 450px;
  min-width: 150px;
  box-shadow: 4px 0 8px rgba(15, 23, 42, 0.06);
}
.product-sticky-left--in-1[data-v-671bd6fb] { left: 0; width: 28px; min-width: 28px; max-width: 28px; text-align: center;
}
.product-sticky-left--in-2[data-v-671bd6fb] { left: 28px; min-width: 52px;
}
.product-sticky-left--in-3[data-v-671bd6fb] { left: 80px; min-width: 110px;
}
.product-sticky-left--in-4[data-v-671bd6fb] {
  left: 190px;
  min-width: 190px;
  box-shadow: 4px 0 8px rgba(15, 23, 42, 0.06);
}
.product-table-empty[data-v-671bd6fb] { text-align: center !important; color: var(--text-muted-light) !important; padding: 16px 8px !important;
}
.warehouse-category-list-table th[data-v-671bd6fb],
.warehouse-category-list-table td[data-v-671bd6fb] {
  text-align: center;
  vertical-align: middle;
}
.product-op-actions[data-v-671bd6fb] { display: inline-flex; gap: 6px; align-items: center;
}
.product-op-btn[data-v-671bd6fb] { padding: 4px 10px; font-size: 12px; border-radius: 6px; border: 1px solid transparent; font-weight: 600;
}
.product-op-btn--blue[data-v-671bd6fb] {
  background: rgba(95, 184, 193, 0.08);
  border-color: rgba(95, 184, 193, 0.32);
  color: #4a8a96;
}
.product-op-btn--blue[data-v-671bd6fb]:hover {
  background: rgba(95, 184, 193, 0.14);
  border-color: rgba(95, 184, 193, 0.42);
  box-shadow: 0 1px 4px rgba(95, 184, 193, 0.12);
}
.product-op-btn--danger[data-v-671bd6fb] {
  background: rgba(239, 68, 68, 0.06);
  border-color: rgba(239, 68, 68, 0.28);
  color: #c45c5c;
}
.product-op-btn--danger[data-v-671bd6fb]:hover {
  background: rgba(239, 68, 68, 0.11);
  border-color: rgba(239, 68, 68, 0.38);
  box-shadow: 0 1px 4px rgba(239, 68, 68, 0.1);
}
.purchase-page-shell .product-table-real th[data-v-671bd6fb],
.purchase-page-shell .product-table-real td[data-v-671bd6fb] {
  padding: 5px 6px;
  font-size: 11px;
}
.purchase-page-shell .product-table-real[data-v-671bd6fb] {
  border: 1px solid var(--table-border);
}
.purchase-page-shell .product-table-real th[data-v-671bd6fb],
.purchase-page-shell .product-table-real td[data-v-671bd6fb] {
  border-bottom: 1px solid var(--table-border);
}
.purchase-page-shell .product-table-real thead th[data-v-671bd6fb] {
  position: static;
  background: var(--table-header-bg);
  color: var(--table-header-text);
  font-weight: 500;
  border-bottom: 1px solid var(--table-border);
}
.purchase-page-shell .product-table-real tbody tr[data-v-671bd6fb]:nth-child(odd) {
  background: var(--table-row-striped);
}
.purchase-page-shell .product-table-real tbody tr[data-v-671bd6fb]:nth-child(even) {
  background: #ffffff;
}
.purchase-page-shell .product-table-real tbody td[data-v-671bd6fb] {
  line-height: 1.25;
}

/* 主内容区内列表：表头浅青渐变 + 白底行（与销货单明细一致） */
.content-area .product-table-real thead th[data-v-671bd6fb] {
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--sidebar-teal) 12%, #ffffff) 0%,
    color-mix(in srgb, var(--sidebar-teal) 5%, #ffffff) 100%
  );
  color: #0f172a;
  font-weight: 600;
  text-align: left;
  vertical-align: middle;
  border-bottom: 1px solid color-mix(in srgb, var(--sidebar-teal) 26%, #e2e8f0);
}
.content-area .product-table-real thead .product-sticky-left[data-v-671bd6fb],
.content-area .product-table-real thead .product-sticky-action[data-v-671bd6fb] {
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--sidebar-teal) 12%, #ffffff) 0%,
    color-mix(in srgb, var(--sidebar-teal) 5%, #ffffff) 100%
  );
  color: #0f172a;
  text-align: left;
  vertical-align: middle;
}
.content-area .partner-table-real thead th[data-v-671bd6fb] {
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--sidebar-teal) 12%, #ffffff) 0%,
    color-mix(in srgb, var(--sidebar-teal) 5%, #ffffff) 100%
  );
  color: #0f172a;
  font-weight: 600;
  text-align: left;
  vertical-align: middle;
  border-bottom: 1px solid color-mix(in srgb, var(--sidebar-teal) 26%, #e2e8f0);
}
.content-area .partner-table-real thead .partner-sticky-action[data-v-671bd6fb] {
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--sidebar-teal) 12%, #ffffff) 0%,
    color-mix(in srgb, var(--sidebar-teal) 5%, #ffffff) 100%
  );
  color: #0f172a;
}
.content-area .product-table-real tbody tr[data-v-671bd6fb],
.content-area .product-table-real tbody tr[data-v-671bd6fb]:nth-child(odd),
.content-area .product-table-real tbody tr[data-v-671bd6fb]:nth-child(even),
.content-area .product-table-real tbody tr .product-sticky-left[data-v-671bd6fb],
.content-area .product-table-real tbody tr:nth-child(odd) .product-sticky-left[data-v-671bd6fb],
.content-area .product-table-real tbody tr:nth-child(even) .product-sticky-left[data-v-671bd6fb] {
  background: #fff;
}
.content-area .partner-table-real tbody tr[data-v-671bd6fb]:nth-child(odd),
.content-area .partner-table-real tbody tr[data-v-671bd6fb]:nth-child(even) {
  background: #fff;
}
.content-area .purchase-page-shell .product-table-real thead th[data-v-671bd6fb] {
  font-size: 11px;
  font-weight: 500;
}
.content-area .sales-sheet-summary-bar[data-v-671bd6fb] {
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--sidebar-teal) 10%, #ffffff) 0%,
    color-mix(in srgb, var(--sidebar-teal) 4%, #ffffff) 100%
  );
  border-top: 1px solid color-mix(in srgb, var(--sidebar-teal) 22%, #e2e8f0);
  color: var(--text-on-light);
}
.content-area .product-table-wrap[data-v-671bd6fb],
.content-area .partner-table-wrap[data-v-671bd6fb] {
  border-color: color-mix(in srgb, var(--sidebar-teal) 14%, var(--border-light));
  border-radius: 10px;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.05);
}
.purchase-history-detail-cell[data-v-671bd6fb] {
  max-width: 360px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.purchase-row-flash td[data-v-671bd6fb] {
  animation: purchaseRowFlashFade-671bd6fb 2.4s ease-out forwards;
}
@keyframes purchaseRowFlashFade-671bd6fb {
0% {
    background: #fff7cc;
}
70% {
    background: #fffbe6;
}
100% {
    background: transparent;
}
}
.purchase-toolbar[data-v-671bd6fb] {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 6px;
}
.purchase-toolbar--between[data-v-671bd6fb] {
  justify-content: space-between;
}
.purchase-tool-btn[data-v-671bd6fb] {
  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 26%, #e2e8f0);
  background: color-mix(in srgb, var(--sidebar-teal) 7%, #ffffff);
  color: var(--ui-accent-ink);
  border-radius: 8px;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 600;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.purchase-tool-btn[data-v-671bd6fb]:hover:not(:disabled) {
  background: color-mix(in srgb, var(--sidebar-teal) 13%, #ffffff);
  border-color: color-mix(in srgb, var(--sidebar-teal) 45%, #b8d4d9);
  color: var(--ui-accent-ink);
}
.purchase-tool-btn[data-v-671bd6fb]:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring-shadow);
}
.purchase-tool-btn--primary[data-v-671bd6fb] {
  border-color: color-mix(in srgb, var(--ui-accent) 52%, var(--border-light));
  background: var(--ui-accent-soft);
  color: var(--ui-accent-ink);
}
.purchase-tool-btn--primary[data-v-671bd6fb]:hover:not(:disabled) {
  background: var(--ui-accent-soft-strong);
  border-color: color-mix(in srgb, var(--ui-accent) 64%, var(--border-light));
}
.transfer-toolbar-actions[data-v-671bd6fb] {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}
.transfer-scan-badge[data-v-671bd6fb] {
  display: inline-block;
  margin-left: 6px;
  padding: 1px 6px;
  font-size: 11px;
  font-weight: 600;
  color: #15803d;
  background: var(--surface-brand-mid);
  border-radius: 4px;
  vertical-align: middle;
}
.purchase-tool-icon-btn[data-v-671bd6fb] {
  border: 1px solid #e2e8f0;
  background: #fff;
  color: #475569;
  border-radius: 6px;
  padding: 3px 9px;
  font-size: 12px;
  line-height: 1.4;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.purchase-tool-icon-btn[data-v-671bd6fb]:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.purchase-tool-icon-btn--primary[data-v-671bd6fb] {
  border-color: color-mix(in srgb, var(--ui-accent) 44%, var(--border-light));
  background: color-mix(in srgb, var(--ui-accent) 10%, #ffffff);
  color: var(--ui-accent-ink);
}
.purchase-selected-count[data-v-671bd6fb] {
  color: #64748b;
  font-size: 12px;
}
.purchase-form-grid[data-v-671bd6fb] {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px 12px;
  margin-bottom: 8px;
}
.purchase-form-item[data-v-671bd6fb] {
  display: grid;
  grid-template-columns: 88px 1fr;
  align-items: center;
  gap: 6px;
  margin: 0;
}
.purchase-form-label[data-v-671bd6fb] {
  color: #64748b;
  font-size: 12px;
  white-space: nowrap;
}
/* 采购单/调拨等：表单项与销货单同一套视觉（进销方向不同，控件风格一致） */
.purchase-page-shell .purchase-form-item > input[data-v-671bd6fb]:not([type='checkbox']):not([type='radio']),
.purchase-page-shell .purchase-form-item > select[data-v-671bd6fb] {
  width: 100%;
  min-width: 0;
  height: 36px;
  padding: 0 10px;
  font-size: 13px;
  color: #111827;
  background: #fff;
  border: 1px solid #d5dde7;
  border-radius: 8px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  box-sizing: border-box;
}
.purchase-page-shell .purchase-form-item > select[data-v-671bd6fb] {
  appearance: none;
  -webkit-appearance: none;
  padding-right: 30px;
  cursor: pointer;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' fill='none'%3E%3Cpath d='M1.75 3.25L5 6.5L8.25 3.25' stroke='%2364748b' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-color: #fff;
}
.purchase-page-shell .purchase-form-item > input[data-v-671bd6fb]:focus-visible,
.purchase-page-shell .purchase-form-item > select[data-v-671bd6fb]:focus-visible {
  outline: none;
  border-color: color-mix(in srgb, var(--sidebar-teal) 48%, #cbd5e1);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--sidebar-teal) 16%, transparent);
}
.purchase-status-tag[data-v-671bd6fb],
.purchase-post-tag[data-v-671bd6fb] {
  display: inline-block;
  border-radius: 999px;
  padding: 2px 8px;
  font-size: 11px;
  line-height: 1.4;
  border: 1px solid transparent;
}
.purchase-status-tag--draft[data-v-671bd6fb] {
  background: #fff7ed;
  color: #9a3412;
  border-color: #fed7aa;
}
.purchase-status-tag--approved[data-v-671bd6fb] {
  background: #eff6ff;
  color: #1d4ed8;
  border-color: #bfdbfe;
}
.purchase-status-tag--posted[data-v-671bd6fb] {
  background: #ecfdf5;
  color: #047857;
  border-color: #a7f3d0;
}
.purchase-post-tag--posted[data-v-671bd6fb] {
  background: #ecfdf5;
  color: #065f46;
  border-color: #a7f3d0;
}
.purchase-post-tag--unposted[data-v-671bd6fb] {
  background: #f8fafc;
  color: #475569;
  border-color: #cbd5e1;
}
.purchase-action-tag[data-v-671bd6fb] {
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 11px;
  line-height: 1.4;
  padding: 2px 9px;
  margin-right: 4px;
}
.purchase-action-tag--approve[data-v-671bd6fb] {
  background: #eff6ff;
  color: #1d4ed8;
  border-color: #bfdbfe;
}
.purchase-action-tag--post[data-v-671bd6fb] {
  background: #ecfdf5;
  color: #047857;
  border-color: #a7f3d0;
}
.purchase-action-tag--copy[data-v-671bd6fb] {
  background: #f8fafc;
  color: #0f172a;
  border-color: #cbd5e1;
}
.purchase-action-tag--delete[data-v-671bd6fb] {
  background: #fef2f2;
  color: #b91c1c;
  border-color: #fecaca;
}
.purchase-action-tag--addline[data-v-671bd6fb] {
  background: #e9f8fb;
  color: #0a5f6e;
  border-color: #89d1db;
}
.purchase-action-icon-btn[data-v-671bd6fb] {
  width: 22px;
  height: 22px;
  border-radius: 6px;
  border: 1px solid transparent;
  font-size: 12px;
  line-height: 1;
  padding: 0;
  margin-right: 4px;
}
.purchase-action-icon-btn--approve[data-v-671bd6fb] {
  background: #eff6ff;
  color: #1d4ed8;
  border-color: #bfdbfe;
}
.purchase-action-icon-btn--post[data-v-671bd6fb] {
  background: #ecfdf5;
  color: #047857;
  border-color: #a7f3d0;
}
.purchase-action-text-btn[data-v-671bd6fb] {
  border: 1px solid #cbd5e1;
  background: #fff;
  color: #334155;
  border-radius: 6px;
  padding: 2px 8px;
  margin-right: 6px;
  font-size: 11px;
}
.purchase-action-text-btn[data-v-671bd6fb]:hover {
  border-color: #94a3b8;
  background: #f8fafc;
}
.purchase-more-toggle-wrap[data-v-671bd6fb] {
  display: flex;
  flex-direction: column;
  margin: 0;
  min-width: 0;
  font-size: 12px;
  color: var(--text-on-light);
}
.purchase-more-toggle-wrap > span[data-v-671bd6fb] {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  line-height: 20px;
  margin-bottom: 4px;
}
.purchase-more-toggle[data-v-671bd6fb] {
  width: 100%;
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
  height: 36px;
  border: 1px solid #d5dde7;
  background: #fff;
  color: #111827;
  border-radius: 8px;
  padding: 0 10px;
  font-size: 13px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  margin-right: 0;
}
.purchase-more-arrow[data-v-671bd6fb] {
  color: #64748b;
  font-size: 11px;
}
.purchase-more-panel[data-v-671bd6fb] {
  border: 1px solid var(--border-light);
  border-radius: 8px;
  background: #fcfcfd;
  padding: 8px;
}
.purchase-history-filter-lite[data-v-671bd6fb] {
  border: 1px solid #e7edf3;
  background: #f8fafc;
  border-radius: 8px;
  padding: 6px 8px;
}
.purchase-history-filter-lite label[data-v-671bd6fb] {
  margin-bottom: 0;
}
.purchase-history-filter-lite input[data-v-671bd6fb],
.purchase-history-filter-lite select[data-v-671bd6fb] {
  height: 30px;
  font-size: 12px;
}
.purchase-more-grid[data-v-671bd6fb] {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px 12px;
}
.purchase-more-item[data-v-671bd6fb] {
  margin-bottom: 0;
}
.purchase-pagination-lite[data-v-671bd6fb] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 16%, var(--border-light));
  background: color-mix(in srgb, var(--sidebar-teal) 7%, #ffffff);
  border-radius: 10px;
  padding: 6px 10px;
  gap: 8px;
}
.purchase-pagination-lite button[data-v-671bd6fb] {
  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 22%, var(--border-light));
  background: #ffffff;
  color: #475569;
  border-radius: 8px;
  padding: 4px 10px;
  font-size: 12px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.purchase-pagination-lite button[data-v-671bd6fb]:hover {
  border-color: color-mix(in srgb, var(--sidebar-teal) 38%, var(--border-light));
  color: #0a5f6e;
}
.purchase-pagination-lite select[data-v-671bd6fb] {
  height: 28px;
  font-size: 12px;
}
.purchase-pagination-lite span[data-v-671bd6fb] {
  color: #64748b;
  font-size: 12px;
}
.sales-sheet-form[data-v-671bd6fb] { margin-bottom: 10px;
}
.sales-sheet-lines[data-v-671bd6fb] { border: 1px solid var(--border-light); border-radius: 8px; overflow: auto; background: #fff;
}
.sales-sheet-lines input[data-v-671bd6fb],
.sales-sheet-lines select[data-v-671bd6fb] { margin: 0; width: 100%; min-width: 0;
}
.sales-sheet-summary-bar[data-v-671bd6fb] {
  position: sticky;
  bottom: 0;
  z-index: 3;
  display: flex;
  gap: 18px;
  align-items: center;
  justify-content: flex-end;
  padding: 8px 10px;
  border-top: 1px solid color-mix(in srgb, var(--sidebar-teal) 14%, var(--border-light));
  background: color-mix(in srgb, var(--sidebar-teal) 8%, #ffffff);
  font-size: 12px;
  font-weight: 600;
  color: var(--text-on-light);
}
.sales-history-stats[data-v-671bd6fb] {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 8px;
}
.sales-history-stats-total[data-v-671bd6fb] {
  margin-left: 6px;
  color: var(--text-muted-light);
  font-size: 12px;
}

/* 进销货单共用：表单控件白底与明细区外框（与销货单一致） */
.inventory-order-sheet .sales-sheet-form .sales-customer-input-wrap input[data-v-671bd6fb],
.inventory-order-sheet .sales-sheet-form > label > input[data-v-671bd6fb],
.inventory-order-sheet .sales-sheet-form > label > select[data-v-671bd6fb],
.inventory-order-sheet .field-grid.doc-template-header-grid .doc-template-header-cell label > input[data-v-671bd6fb],
.inventory-order-sheet .field-grid.doc-template-header-grid .doc-template-header-cell label > select[data-v-671bd6fb],
.inventory-order-sheet .field-grid.doc-template-header-grid .doc-template-header-cell .sales-customer-input-wrap input[data-v-671bd6fb],
.inventory-order-sheet .field-grid.doc-template-header-grid .doc-template-header-cell .sales-form-contact-remark > input[data-v-671bd6fb],
.inventory-order-sheet .sales-form-ship-row > input[data-v-671bd6fb],
.inventory-order-sheet .sales-form-partner-row .sales-form-ship-partner-cell > input[data-v-671bd6fb],
.inventory-order-sheet .sales-form-contact-remark > input[data-v-671bd6fb],
.inventory-order-sheet .sales-sheet-lines input[data-v-671bd6fb],
.inventory-order-sheet .sales-sheet-lines select[data-v-671bd6fb] {
  background: #fff;
  border: 1px solid #d5dde7;
  border-radius: 8px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.inventory-order-sheet .sales-sheet-form .sales-customer-input-wrap input[data-v-671bd6fb]:focus-visible,
.inventory-order-sheet .sales-sheet-form > label > input[data-v-671bd6fb]:focus-visible,
.inventory-order-sheet .sales-sheet-form > label > select[data-v-671bd6fb]:focus-visible,
.inventory-order-sheet .field-grid.doc-template-header-grid .doc-template-header-cell label > input[data-v-671bd6fb]:focus-visible,
.inventory-order-sheet .field-grid.doc-template-header-grid .doc-template-header-cell label > select[data-v-671bd6fb]:focus-visible,
.inventory-order-sheet .field-grid.doc-template-header-grid .doc-template-header-cell .sales-customer-input-wrap input[data-v-671bd6fb]:focus-visible,
.inventory-order-sheet .field-grid.doc-template-header-grid .doc-template-header-cell .sales-form-contact-remark > input[data-v-671bd6fb]:focus-visible,
.inventory-order-sheet .sales-form-ship-row > input[data-v-671bd6fb]:focus-visible,
.inventory-order-sheet .sales-form-partner-row .sales-form-ship-partner-cell > input[data-v-671bd6fb]:focus-visible,
.inventory-order-sheet .sales-form-contact-remark > input[data-v-671bd6fb]:focus-visible,
.inventory-order-sheet .sales-sheet-lines input[data-v-671bd6fb]:focus-visible,
.inventory-order-sheet .sales-sheet-lines select[data-v-671bd6fb]:focus-visible {
  border-color: color-mix(in srgb, var(--sidebar-teal) 48%, #cbd5e1);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--sidebar-teal) 16%, transparent);
}
/* 输入框内嵌 🔍：透明图标按钮，不要外框（与客户/供应商选择器一致） */
.inventory-order-sheet .sales-sheet-form .sales-customer-input-wrap[data-v-671bd6fb] {
  position: relative;
  display: block;
}
.inventory-order-sheet .sales-sheet-form .sales-customer-input-wrap .sales-customer-more[data-v-671bd6fb],
.inventory-order-sheet .sales-sheet-form .sales-customer-input-wrap .picker-inline-search-btn[data-v-671bd6fb],
.inventory-order-sheet .sales-sheet-form .sales-customer-input-wrap .tax-classification-search-btn[data-v-671bd6fb] {
  position: absolute;
  right: 4px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  width: 28px;
  height: 30px;
  min-width: 28px;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #6b8592;
  font-size: 14px;
  line-height: 1;
  cursor: pointer;
}
.inventory-order-sheet .sales-sheet-form .sales-customer-input-wrap .sales-customer-more[data-v-671bd6fb]:hover,
.inventory-order-sheet .sales-sheet-form .sales-customer-input-wrap .picker-inline-search-btn[data-v-671bd6fb]:hover:not(:disabled),
.inventory-order-sheet .sales-sheet-form .sales-customer-input-wrap .tax-classification-search-btn[data-v-671bd6fb]:hover {
  color: var(--ui-accent-ink, #0a5f6e);
  background: transparent;
}
.inventory-order-sheet .sales-sheet-lines[data-v-671bd6fb] {
  border: 1px solid #d5dde7;
  border-radius: 10px;
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.05);
  max-width: 100%;
  /* 仅内层表格横向滚动，避免外层 overflow 盖住 sticky 操作列 */
  overflow: visible;
}
/* 出库/调拨/入库制单明细：输入框、下拉统一高度 */
.inventory-order-sheet .sales-sheet-lines tbody input[data-v-671bd6fb]:not([type='checkbox']):not([type='radio']),
.inventory-order-sheet .sales-sheet-lines tbody select[data-v-671bd6fb] {
  height: 36px;
  min-height: 36px;
  box-sizing: border-box;
  font-size: 13px;
  padding: 0 10px;
  line-height: 1.25;
}
.inventory-order-sheet .sales-sheet-lines tbody .ic-line-input[data-v-671bd6fb] {
  height: 36px;
  min-height: 36px;
  padding: 0 10px !important;
}
.inventory-order-sheet .sales-sheet-lines .inv-line-op-bar[data-v-671bd6fb] {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  max-width: 100%;
}
.inventory-order-sheet .sales-sheet-lines .inv-line-op-btn[data-v-671bd6fb] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  height: 28px;
  min-height: 28px;
  padding: 0 10px;
  margin: 0;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  background: #fff;
  color: #334155;
  font-size: 13px;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
}
.inventory-order-sheet .sales-sheet-lines .inv-line-op-btn[data-v-671bd6fb]:hover:not(:disabled) {
  border-color: #94a3b8;
  background: #f8fafc;
}
.inventory-order-sheet .sales-sheet-lines .inv-line-op-btn[data-v-671bd6fb]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.inventory-order-sheet .sales-sheet-lines .inv-line-op-btn--sn[data-v-671bd6fb] {
  background: #eff6ff;
  color: #1d4ed8;
  border-color: #bfdbfe;
}
.inventory-order-sheet .sales-sheet-lines .inv-line-op-btn--sn[data-v-671bd6fb]:hover:not(:disabled) {
  background: #dbeafe;
  border-color: #93c5fd;
}
.inventory-order-sheet .sales-sheet-lines .inv-line-op-btn--copy[data-v-671bd6fb] {
  background: #f8fafc;
  color: #0f172a;
  border-color: #cbd5e1;
}
.inventory-order-sheet .sales-sheet-lines .inv-line-op-btn--delete[data-v-671bd6fb] {
  background: #fef2f2;
  color: #b91c1c;
  border-color: #fecaca;
}
.inventory-order-sheet .sales-sheet-lines .inv-line-op-btn--delete[data-v-671bd6fb]:hover:not(:disabled) {
  background: #fee2e2;
  border-color: #fca5a5;
}
.inventory-order-sheet .sales-sheet-lines .product-sticky-action .inv-line-op-bar[data-v-671bd6fb] {
  min-height: 28px;
}
.sales-order-page .sales-fulfillment-actions[data-v-671bd6fb] {
  margin-top: 6px;
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.sales-order-page .sales-fulfillment-summary[data-v-671bd6fb] {
  font-size: 12px;
  color: #0f766e;
}
.sales-order-page .sales-fulfillment-summary--error[data-v-671bd6fb] {
  color: #b42318;
}
.sales-order-page .sales-fulfillment-preview[data-v-671bd6fb] {
  margin-top: 8px;
  border: 1px solid #d5dde7;
  border-radius: 8px;
  overflow: auto;
  background: #fbfdff;
}
.sales-order-page .sales-fulfillment-preview-table[data-v-671bd6fb] {
  width: 100%;
  border-collapse: collapse;
  min-width: 520px;
  font-size: 12px;
}
.sales-order-page .sales-fulfillment-preview-table th[data-v-671bd6fb],
.sales-order-page .sales-fulfillment-preview-table td[data-v-671bd6fb] {
  border-bottom: 1px solid #e7edf5;
  padding: 6px 8px;
  text-align: left;
}
.sales-order-page .sales-fulfillment-preview-table thead th[data-v-671bd6fb] {
  color: #334155;
  background: #f2f8fb;
  font-weight: 600;
}
.sales-order-page .sales-fulfillment-preview-row--over td[data-v-671bd6fb] {
  background: #fff7f7;
}
.sales-order-page .sales-fulfillment-preview-row--highlight td[data-v-671bd6fb] {
  background: #fffbeb;
}
.sales-order-page .sales-fulfillment-over-text[data-v-671bd6fb] {
  color: #b42318;
  font-weight: 600;
}
.sales-order-page .sales-fulfillment-row-remove[data-v-671bd6fb] {
  border: 1px solid #fca5a5;
  color: #b42318;
  background: #fff5f5;
  border-radius: 6px;
  padding: 2px 8px;
  cursor: pointer;
}
.sales-order-page .sales-fulfillment-row-remove[data-v-671bd6fb]:hover {
  background: #ffe4e6;
}
.sales-order-page .sales-fulfillment-qty-input[data-v-671bd6fb] {
  width: 78px;
  height: 28px;
  border: 1px solid #d5dde7;
  border-radius: 6px;
  padding: 0 6px;
  font-size: 12px;
}
/* 明细表横向滚动；合计条不随表左右滚动。overflow-y 勿用 visible，否则部分浏览器下 th/td 的横向 sticky 失效 */
.sales-order-page .sales-order-lines-table-scroll[data-v-671bd6fb] {
  overflow: auto;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  scrollbar-gutter: stable;
  -webkit-overflow-scrolling: touch;
}
/*
 * HistoryConfigurableTable 明细（.hist-config-table）：border-collapse:collapse 时 th/td 的横向 position:sticky
 * 在多数浏览器不可靠，商品列、操作列表头会随横向滚动条飘走；改为 separate + 0 间距与制单行内 sticky 一致。
 */
.sales-order-page .sales-order-lines-table.product-table-real.hist-config-table[data-v-671bd6fb] {
  border-collapse: separate;
  border-spacing: 0;
}
.sales-order-page .sales-order-lines-table.hist-config-table > thead > tr > th.product-sticky-left[data-v-671bd6fb] {
  z-index: 7;
}
.sales-order-page .sales-order-lines-table.hist-config-table > thead > tr > th.product-sticky-action[data-v-671bd6fb] {
  z-index: 8;
}
/* 共用 .sales-order-line-col-product 的 overflow:hidden 会打断 th 的横向 sticky；表头改 visible，省略号由 .hist-th-label 承担 */
.sales-order-page .sales-order-lines-table.hist-config-table > thead > tr > th.sales-order-line-col-product.product-sticky-left[data-v-671bd6fb] {
  overflow: visible;
  position: sticky;
}
.sales-order-page .sales-order-lines-table.hist-config-table > tbody > tr > td.product-sticky-left[data-v-671bd6fb] {
  z-index: 4;
}
.sales-order-page .sales-order-lines-table.hist-config-table > tbody > tr > td.product-sticky-action[data-v-671bd6fb] {
  z-index: 5;
}
/*
 * 可调列宽明细（.hist-config-table）：须 table-layout:fixed + colgroup，拖拽才生效。
 * 勿用 auto + 2146px 撑宽，否则列宽由内容算法分配，三列等无法拖宽。
 */
.sales-order-page.inventory-order-sheet .product-table-real.hist-config-table.crm-ledger-table[data-v-671bd6fb],
.sales-order-page .sales-order-lines-table.product-table-real.hist-config-table[data-v-671bd6fb] {
  table-layout: fixed;
  width: max-content;
  min-width: 100%;
  max-width: none;
}
/* 非 hist-config 的旧表（若有）仍按内容自适应 */
.sales-order-page .sales-order-lines-table.product-table-real[data-v-671bd6fb]:not(.hist-config-table) {
  width: max-content;
  min-width: 2146px;
  table-layout: auto;
}
/* 调拨明细列数远少于销货单，勿沿用 2146px 总宽，避免常规宽度下无意义地出现横向条 */
.sales-order-page.transfer-order-sheet .sales-order-lines-table.product-table-real[data-v-671bd6fb] {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  table-layout: auto;
}
/* 费用支出单列数较少，维持自适应宽度 */
.sales-order-page.inventory-order-sheet.fep-doc-sheet .sales-order-lines-table.product-table-real[data-v-671bd6fb] {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  table-layout: auto;
}
/* 费用报销单：列数少，与费用支出单同逻辑，避免沿用销货大表 min-width */
.sales-order-page.inventory-order-sheet.er-doc-sheet .sales-order-lines-table.product-table-real[data-v-671bd6fb] {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  table-layout: auto;
}
/* 与 ExpenseTypePicker · sales-customer-input-wrap 一致：整框圆角、36px 高、白底细边 */
.sales-order-page.inventory-order-sheet.er-doc-sheet .sales-order-lines-table--center > tbody > tr > td:not(.sales-order-line-col-product) input[data-v-671bd6fb],
.sales-order-page.inventory-order-sheet.er-doc-sheet .sales-order-lines-table--center > tbody > tr > td:not(.sales-order-line-col-product) textarea[data-v-671bd6fb] {
  text-align: left;
}
.sales-order-page.inventory-order-sheet.er-doc-sheet .er-ref-input-wrap[data-v-671bd6fb] {
  position: relative;
  display: flex;
  align-items: center;
  min-width: 0;
  min-height: 36px;
  height: 36px;
  box-sizing: border-box;
  border: 1px solid var(--border-light, #e2e8f0);
  border-radius: 8px;
  background: #fff;
  padding: 0;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.sales-order-page.inventory-order-sheet.er-doc-sheet .er-ref-input-wrap .ic-line-input[data-v-671bd6fb] {
  flex: 1 1 auto;
  min-width: 0;
  height: 34px;
  margin: 0 !important;
  padding: 0 36px 0 10px !important;
  border: none !important;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 12px;
  color: var(--text-on-light, #0f172a);
  text-align: left;
}
.sales-order-page.inventory-order-sheet.er-doc-sheet .er-ref-input-wrap .ic-line-input[data-v-671bd6fb]::placeholder {
  color: var(--text-muted-light, #64748b);
}
.sales-order-page.inventory-order-sheet.er-doc-sheet .er-ref-search-btn[data-v-671bd6fb] {
  position: absolute;
  right: 2px;
  top: 50%;
  transform: translateY(-50%);
  flex: 0 0 auto;
  width: 28px;
  height: 30px;
  min-width: 28px;
  padding: 0;
  margin: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  color: #6b8592;
  font-size: 14px;
  line-height: 1;
  cursor: pointer;
  box-shadow: none;
}
.sales-order-page.inventory-order-sheet.er-doc-sheet .er-ref-search-btn[data-v-671bd6fb]:hover {
  color: var(--ui-accent-ink, #0a5f6e);
  background: transparent;
}
.sales-order-page.inventory-order-sheet.er-doc-sheet .er-line-pill-input[data-v-671bd6fb] {
  width: 100%;
  min-width: 0;
  height: 36px;
  box-sizing: border-box;
  margin: 0 !important;
  padding: 8px 10px !important;
  border: 1px solid var(--border-light, #e2e8f0) !important;
  border-radius: 8px;
  background: #fff !important;
  font-size: 12px;
  color: var(--text-on-light, #0f172a);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  text-align: left;
}
.sales-order-page.inventory-order-sheet.er-doc-sheet .er-line-pill-input[data-v-671bd6fb]::placeholder {
  color: var(--text-muted-light, #64748b);
}
.sales-order-page.inventory-order-sheet.er-doc-sheet .er-line-pill-input--amount[data-v-671bd6fb] {
  text-align: right;
}
.sales-order-page.inventory-order-sheet.er-doc-sheet .er-line-pill-input--amount[data-v-671bd6fb]::-webkit-outer-spin-button,
.sales-order-page.inventory-order-sheet.er-doc-sheet .er-line-pill-input--amount[data-v-671bd6fb]::-webkit-inner-spin-button {
  margin: 0;
  -webkit-appearance: none;
  appearance: none;
}
.sales-order-page.inventory-order-sheet.er-doc-sheet .er-line-pill-input[type='number'][data-v-671bd6fb] {
  -moz-appearance: textfield;
  appearance: textfield;
}
/* 其他收入单：4 列主表，固定为整行布局（避免 width:max-content 收缩成半截） */
.sales-order-page.inventory-order-sheet.foi-doc-sheet .sales-order-lines-table.product-table-real[data-v-671bd6fb] {
  width: 100%;
  min-width: 980px;
  table-layout: fixed;
}
.sales-order-page.inventory-order-sheet.for-doc-sheet .sales-order-lines-table.product-table-real[data-v-671bd6fb] {
  width: 100%;
  min-width: 980px;
  table-layout: fixed;
}
.sales-order-page.inventory-order-sheet.fop-doc-sheet .sales-order-lines-table.product-table-real[data-v-671bd6fb] {
  width: 100%;
  min-width: 980px;
  table-layout: fixed;
}
.sales-order-page.inventory-order-sheet.foi-doc-sheet .sales-order-lines-table .sales-order-line-col-product[data-v-671bd6fb] {
  width: auto;
}
.sales-order-page.inventory-order-sheet.foi-doc-sheet .sales-order-lines-sticky-op.product-sticky-action[data-v-671bd6fb] {
  width: 150px;
  min-width: 150px;
}
.sales-order-page.inventory-order-sheet.foi-doc-sheet .sales-order-lines-table--center > tbody > tr > td.sales-order-lines-sticky-op[data-v-671bd6fb] {
  text-align: center;
}
.sales-order-page .sales-order-lines-table .sales-order-line-col-product[data-v-671bd6fb] {
  text-align: left;
  vertical-align: middle;
}
.content-area .sales-order-page .sales-order-lines-table--center > thead > tr > th.sales-order-line-col-product[data-v-671bd6fb] {
  text-align: left;
}
.sales-order-page .sales-order-lines-table .sales-order-line-col-discount[data-v-671bd6fb] {
  min-width: 108px;
  width: 108px;
}
/* 明细表：表头全部左对齐；数据行非商品列仍为居中（数量/金额等） */
.sales-order-page .sales-order-lines-table--center > thead > tr > th[data-v-671bd6fb] {
  text-align: left;
}
.sales-order-page .sales-order-lines-table--center > tbody > tr > td[data-v-671bd6fb]:not(.sales-order-line-col-product) {
  text-align: center;
  vertical-align: middle;
}
.sales-order-page .sales-order-lines-table--center > tbody > tr > td:not(.sales-order-line-col-product) input[data-v-671bd6fb]:not(.ic-unit-price-input),
.sales-order-page .sales-order-lines-table--center > tbody > tr > td:not(.sales-order-line-col-product) textarea[data-v-671bd6fb] {
  text-align: center;
}
/* 明细输入框随列宽伸缩，勿用固定 px 或内容最小宽撑死列 */
.sales-order-page.inventory-order-sheet .sales-order-line-field-input[data-v-671bd6fb],
.sales-order-page .sales-order-lines-table--center .sales-order-line-field-input[data-v-671bd6fb],
.sales-order-page.inventory-order-sheet .crm-ledger-table.hist-config-table tbody td input.sales-order-line-field-input[data-v-671bd6fb],
.sales-order-page.inventory-order-sheet .crm-ledger-table.hist-config-table tbody td input[data-v-671bd6fb]:not([type='checkbox']):not(.sales-product-cell input) {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  margin: 0;
  padding: 6px 8px;
  border: 1px solid var(--input-border, #d5dde7);
  border-radius: 8px;
  background: var(--input-surface, #fff);
  box-shadow: var(--input-inner-shadow, 0 1px 2px rgba(15, 23, 42, 0.04));
  font-size: 12px;
  color: var(--text-on-light, #0f172a);
}
.sales-order-page.inventory-order-sheet .sales-order-line-field-input--num[data-v-671bd6fb],
.sales-order-page.inventory-order-sheet .crm-ledger-table.hist-config-table tbody td.ir-cell-num input[data-v-671bd6fb] {
  text-align: center;
  font-variant-numeric: tabular-nums;
}
.sales-order-page.inventory-order-sheet .crm-ledger-table.hist-config-table tbody td.sales-order-line-col-spec[data-v-671bd6fb],
.sales-order-page.inventory-order-sheet .crm-ledger-table.hist-config-table tbody td.sales-order-line-col-qty[data-v-671bd6fb],
.sales-order-page.inventory-order-sheet .crm-ledger-table.hist-config-table tbody td.sales-order-line-col-price[data-v-671bd6fb],
.sales-order-page .sales-order-lines-table--center tbody td.sales-order-line-col-spec[data-v-671bd6fb],
.sales-order-page .sales-order-lines-table--center tbody td.sales-order-line-col-qty[data-v-671bd6fb],
.sales-order-page .sales-order-lines-table--center tbody td.sales-order-line-col-price[data-v-671bd6fb] {
  min-width: 0;
  overflow: hidden;
}
/* 销货单含税单价：与销售合同标的明细同高、同 flex 布局（避免 width:100% 把输入框撑满整列） */
.sales-order-page .sales-order-lines-table tbody td.sales-order-line-col-price[data-v-671bd6fb] {
  text-align: left;
  vertical-align: middle;
}
.sales-order-page .sales-order-lines-table .ic-unit-price-cell[data-v-671bd6fb] {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  width: 100%;
  justify-content: flex-start;
}
.sales-order-page .sales-order-lines-table tbody td.sales-order-line-col-price .ic-line-input.ic-unit-price-input[data-v-671bd6fb] {
  height: 36px;
  min-height: 36px;
  padding: 8px 10px !important;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

/* 价格参照：与明细输入框同白底，勿用制单页全局 button 磨砂底 */
.doc-page-shell.sales-order-page .sales-order-lines-table .ic-price-ref-btn[data-v-671bd6fb],
.sales-order-page.inventory-order-sheet .sales-order-lines-table .ic-price-ref-btn[data-v-671bd6fb] {
  margin: 0;
  padding: 0 4px;
  min-height: 36px;
  min-width: 32px;
  border: 1px solid var(--input-border, #d5dde7);
  border-radius: 8px;
  background: #fff;
  box-shadow: var(--input-inner-shadow, 0 1px 2px rgba(15, 23, 42, 0.04));
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  color: #059669;
  font-size: 1.15rem;
  line-height: 1;
  flex-shrink: 0;
  cursor: pointer;
}
.doc-page-shell.sales-order-page .sales-order-lines-table .ic-price-ref-btn[data-v-671bd6fb]:hover:not(:disabled),
.sales-order-page.inventory-order-sheet .sales-order-lines-table .ic-price-ref-btn[data-v-671bd6fb]:hover:not(:disabled) {
  background: #fff;
  border-color: color-mix(in srgb, var(--sidebar-teal) 48%, #cbd5e1);
  box-shadow: var(--input-inner-shadow, 0 1px 2px rgba(15, 23, 42, 0.04));
}
.sales-order-page .sales-order-lines-table--center > thead > tr > th.sales-order-lines-sticky-op[data-v-671bd6fb] {
  text-align: left;
}
.sales-order-page .sales-order-lines-table--center > tbody > tr > td.sales-order-lines-sticky-op[data-v-671bd6fb] {
  text-align: center;
}
.sales-order-page .sales-order-lines-sticky-op.product-sticky-action[data-v-671bd6fb] {
  position: sticky;
  right: 0;
  z-index: 3;
  min-width: 150px;
  box-shadow: -6px 0 10px rgba(15, 23, 42, 0.06);
}
.sales-order-page .product-table-real thead .sales-order-lines-sticky-op.product-sticky-action[data-v-671bd6fb] {
  z-index: 6;
}
.content-area .sales-order-page .product-table-real tbody tr:nth-child(odd) td.sales-order-lines-sticky-op.product-sticky-action[data-v-671bd6fb] {
  background: var(--table-row-striped);
}
.content-area .sales-order-page .product-table-real tbody tr:nth-child(even) td.sales-order-lines-sticky-op.product-sticky-action[data-v-671bd6fb] {
  background: #fff;
}
.content-area .sales-order-page .product-table-real thead th.sales-order-lines-sticky-op.product-sticky-action[data-v-671bd6fb] {
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--sidebar-teal) 12%, #ffffff) 0%,
    color-mix(in srgb, var(--sidebar-teal) 5%, #ffffff) 100%
  );
}
.sales-history-page .sales-order-lines-table--center > thead > tr > th.sales-order-lines-sticky-op[data-v-671bd6fb] {
  text-align: left;
}
.sales-history-page .sales-order-lines-table--center > tbody > tr > td.sales-order-lines-sticky-op[data-v-671bd6fb] {
  text-align: center;
}
.sales-history-page .sales-order-lines-sticky-op.product-sticky-action[data-v-671bd6fb] {
  position: sticky;
  right: 0;
  z-index: 3;
  min-width: 200px;
  overflow: hidden;
  box-shadow: -6px 0 10px rgba(15, 23, 42, 0.06);
}
.sales-history-page .sales-order-lines-table.hist-config-table > thead > tr > th.product-sticky-action[data-v-671bd6fb] {
  z-index: 8;
}
.sales-history-page .sales-order-lines-table.hist-config-table > tbody > tr > td.product-sticky-action[data-v-671bd6fb] {
  z-index: 5;
}
.sales-history-page .product-table-real thead .sales-order-lines-sticky-op.product-sticky-action[data-v-671bd6fb] {
  z-index: 6;
}
.content-area .sales-history-page .product-table-real tbody tr:nth-child(odd) td.sales-order-lines-sticky-op.product-sticky-action[data-v-671bd6fb] {
  background: var(--table-row-striped);
}
.content-area .sales-history-page .product-table-real tbody tr:nth-child(even) td.sales-order-lines-sticky-op.product-sticky-action[data-v-671bd6fb] {
  background: #fff;
}
.content-area .sales-history-page .product-table-real thead th.sales-order-lines-sticky-op.product-sticky-action[data-v-671bd6fb] {
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--sidebar-teal) 12%, #ffffff) 0%,
    color-mix(in srgb, var(--sidebar-teal) 5%, #ffffff) 100%
  );
}
.sales-history-page tr:has(.outbound-hist-radial--open) .sales-order-lines-sticky-op.product-sticky-action[data-v-671bd6fb] {
  z-index: 4;
}
/* .sales-history-page 下历史列表样式见文件末尾「非 scoped」块：子组件渲染的 DOM 无本组件 data-v，scoped 内不生效 */
.history-order-link-btn[data-v-671bd6fb] {
  border: none;
  background: transparent;
  color: #0f5b68;
  text-decoration: underline;
  cursor: pointer;
  padding: 0;
  margin: 0;
  font-size: inherit;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.outbound-order-no-cell[data-v-671bd6fb] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.outbound-ic-linked-pill[data-v-671bd6fb] {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.3;
  color: #0f5b68;
  background: color-mix(in srgb, var(--sidebar-teal) 14%, #ffffff);
  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 35%, #e2e8f0);
  white-space: nowrap;
  cursor: pointer;
}
.outbound-ic-linked-pill[data-v-671bd6fb]:hover {
  background: color-mix(in srgb, var(--sidebar-teal) 22%, #ffffff);
}
.history-filler-row > td[data-v-671bd6fb] {
  height: 38px;
  padding: 0 !important;
  border-bottom: 1px solid var(--table-border);
  background: #fff;
}
.history-copy-select[data-v-671bd6fb] {
  height: 26px;
  font-size: 11px;
  margin: 0;
  min-width: 320px;
  width: 320px;
  max-width: none;
  flex: 0 0 320px;
}
.history-copy-select--row[data-v-671bd6fb] {
  min-width: 340px;
  width: 340px;
  flex: 0 0 340px;
}
.history-action-btn[data-v-671bd6fb] {
  margin-right: 0;
  min-height: 24px;
  padding: 2px 8px;
  border-radius: 6px;
  font-size: 11px;
  line-height: 1.3;
  white-space: nowrap;
}
.history-action-btn--primary[data-v-671bd6fb] {
  border-color: color-mix(in srgb, var(--ui-accent) 42%, var(--border-light));
  background: var(--ui-accent-soft);
  color: var(--ui-accent-ink);
  font-weight: 600;
}
.history-action-btn--primary[data-v-671bd6fb]:hover {
  border-color: color-mix(in srgb, var(--ui-accent) 56%, var(--border-light));
  background: var(--ui-accent-soft-strong);
}
/** 销货单历史等：收款入口（与审核主色区分） */
.history-action-btn--receipt[data-v-671bd6fb] {
  border-color: color-mix(in srgb, #ea580c 42%, #fed7aa);
  background: #fff7ed;
  color: #c2410c;
  font-weight: 600;
}
.history-action-btn--receipt[data-v-671bd6fb]:hover {
  border-color: color-mix(in srgb, #ea580c 55%, #fdba74);
  background: #ffedd5;
  color: #9a3412;
}
.history-action-btn--danger[data-v-671bd6fb] {
  border-color: color-mix(in srgb, var(--ui-danger-ink) 28%, #fecaca);
  background: var(--ui-danger-soft);
  color: var(--ui-danger-ink);
}
.history-action-btn[data-v-671bd6fb]:disabled {
  opacity: 0.5;
}
.purchase-history-detail-meta[data-v-671bd6fb] {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 18px;
  padding: 10px 12px 0;
  color: #475569;
  font-size: 12px;
}
.purchase-history-detail-remark[data-v-671bd6fb] {
  padding: 6px 12px 0;
  color: #334155;
  font-size: 12px;
  line-height: 1.5;
  white-space: pre-wrap;
}
.outbound-expand-row td[data-v-671bd6fb] {
  background: var(--ui-neutral-soft) !important;
  padding: 10px !important;
}
.outbound-expand-wrap[data-v-671bd6fb] {
  border: 1px solid var(--border-light);
  border-radius: 8px;
  overflow: auto;
  background: #fff;
}
.outbound-expand-table[data-v-671bd6fb] {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
}
.outbound-expand-table th[data-v-671bd6fb],
.outbound-expand-table td[data-v-671bd6fb] {
  border-bottom: 1px solid var(--border-light);
  padding: 7px 8px;
  font-size: 12px;
  white-space: nowrap;
}
.outbound-expand-table thead th[data-v-671bd6fb] {
  background: var(--table-header-bg);
  color: var(--table-header-text);
}
.outbound-expand-summary-row td[data-v-671bd6fb] {
  text-align: right;
  background: var(--table-summary-bg);
  font-weight: 700;
  color: var(--table-summary-text);
  font-size: 12px;
  white-space: nowrap;
}
.sales-customer-field[data-v-671bd6fb] { position: relative;
}
/* 内嵌 🔍 布局见 picker-inline-search.css；此处勿用 flex+gap，否则图标会变成独立磨砂按钮 */
.sales-customer-input-wrap[data-v-671bd6fb] { position: relative; display: block; min-width: 0;
}
.sales-customer-input-wrap input[data-v-671bd6fb] { width: 100%; min-width: 0; box-sizing: border-box;
}
.sales-customer-quick-panel[data-v-671bd6fb] {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 4px);
  z-index: 40;
  background: #fff;
  border: 1px solid var(--border-light);
  border-radius: 8px;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.14);
  max-height: 300px;
  overflow: auto;
}
.sales-customer-empty[data-v-671bd6fb] { padding: 14px; display: flex; justify-content: space-between; align-items: center; gap: 10px;
}
.sales-customer-quick-table[data-v-671bd6fb] { width: 100%; border-collapse: collapse; font-size: 12px;
}
.sales-customer-quick-table th[data-v-671bd6fb], .sales-customer-quick-table td[data-v-671bd6fb] { border-bottom: 1px solid var(--border-light); padding: 8px; text-align: left; white-space: nowrap;
}
.sales-customer-quick-table tbody tr[data-v-671bd6fb] { cursor: pointer;
}
.sales-customer-quick-table tbody tr[data-v-671bd6fb]:hover { background: var(--table-row-hover);
}
.sales-customer-dialog-mask[data-v-671bd6fb] {
  position: fixed;
  inset: 0;
  background: var(--ui-dialog-mask);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 90;
}
.sales-customer-dialog[data-v-671bd6fb] {
  width: min(1180px, 92vw);
  max-height: 86vh;
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 12px;
  border: 1px solid var(--border-light);
  box-shadow: var(--ui-dialog-shadow);
}
.sales-customer-dialog-head[data-v-671bd6fb] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px;
  border-bottom: 1px solid var(--border-light);
}
.sales-customer-dialog-body[data-v-671bd6fb] {
  display: grid;
  grid-template-columns: 200px 1fr;
  min-height: 420px;
}
.sales-customer-dialog-tree[data-v-671bd6fb] {
  border-right: 1px solid var(--border-light);
  padding: 10px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  background: #f8fafc;
}
.sales-customer-dialog-tree-item[data-v-671bd6fb] {
  margin: 0;
  text-align: left;
  justify-content: flex-start;
}
.sales-customer-dialog-tree-item--active[data-v-671bd6fb] {
  border-color: var(--sidebar-teal) !important;
  background: rgba(95, 184, 193, 0.18);
  color: #0a5f6e;
  font-weight: 700;
}
.sales-customer-dialog-main[data-v-671bd6fb] {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.sales-customer-dialog-toolbar[data-v-671bd6fb] {
  display: flex;
  gap: 8px;
  align-items: center;
  padding: 10px 12px;
  border-bottom: 1px solid var(--border-light);
}
.sales-customer-dialog-toolbar input[data-v-671bd6fb] { flex: 1;
}
.sales-customer-dialog-table-wrap[data-v-671bd6fb] { overflow: auto; padding: 0 10px;
}
.sales-customer-dialog-table thead th[data-v-671bd6fb] {
  position: sticky;
  top: 0;
  z-index: 1;
  background: var(--table-header-bg);
}
.sales-customer-dialog-row--active td[data-v-671bd6fb] {
  background: rgba(95, 184, 193, 0.14);
}
.sales-customer-dialog-foot[data-v-671bd6fb] {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  padding: 10px 12px;
  border-top: 1px solid var(--border-light);
}
.sales-status-tag[data-v-671bd6fb] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 66px;
  padding: 2px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
}
.sales-status-tag--draft[data-v-671bd6fb] {
  background: color-mix(in srgb, var(--sidebar-teal) 10%, #f1f5f9);
  color: #475569;
}
.sales-status-tag--approved[data-v-671bd6fb] {
  background: color-mix(in srgb, var(--sidebar-teal) 22%, #ffffff);
  color: #0f5b6a;
}
.sales-status-tag--posted[data-v-671bd6fb] {
  background: color-mix(in srgb, var(--sidebar-teal) 30%, #ecfdf5);
  color: #0d5c6b;
}

/* 一级菜单枢纽：占位列撑满壳高，面板绝对定位，避免 margin-top 被 overflow 裁切 */
.sidebar-hub-flyout[data-v-671bd6fb] {
  flex: 0 0 auto;
  align-self: stretch;
  position: relative;
  z-index: 6;
  width: min(920px, calc(100vw - 280px));
  max-width: min(920px, calc(100vw - 280px));
  min-height: 0;
  overflow: visible;
  pointer-events: none;
  --hub-flyout-top: 0px;
  --hub-flyout-max-h: 70vh;
}
.sidebar-hub-panel[data-v-671bd6fb] {
  position: absolute;
  left: 0;
  top: var(--hub-flyout-top, 0px);
  width: 100%;
  max-height: var(--hub-flyout-max-h, 70vh);
  height: auto;
  pointer-events: auto;
  background: var(--content-surface, #fff);
  border: 1px solid color-mix(in srgb, var(--ui-accent) 36%, var(--border-light));
  border-radius: 14px;
  box-shadow: var(--ui-dialog-shadow);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  color: var(--text-on-light);
  box-sizing: border-box;
}
.sidebar-hub-panel-head[data-v-671bd6fb] {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border-bottom: 1px solid color-mix(in srgb, var(--ui-accent) 42%, var(--border-light));
  background: linear-gradient(180deg, color-mix(in srgb, var(--ui-accent) 20%, #ffffff) 0%, color-mix(in srgb, var(--ui-accent) 8%, #ffffff) 100%);
}
.sidebar-hub-panel-title[data-v-671bd6fb] {
  font-weight: 700;
  font-size: 15px;
  color: #0a4a55;
}
.sidebar-hub-panel-close[data-v-671bd6fb] {
  border: none;
  background: rgba(15, 23, 42, 0.06);
  color: #475569;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}
.sidebar-hub-panel-close[data-v-671bd6fb]:hover {
  background: rgba(15, 23, 42, 0.1);
  color: #0f172a;
}
.sidebar-hub-body[data-v-671bd6fb] {
  flex: 1 1 0%;
  min-height: 0;
  overflow-x: auto;
  overflow-y: auto;
  padding: 10px 12px 14px;
  max-height: none;
  -webkit-overflow-scrolling: touch;
}
.sidebar-hub-body > .card > h3[data-v-671bd6fb]:first-of-type {
  display: none;
}
.sidebar-hub-body > .card[data-v-671bd6fb] {
  margin-bottom: 0;
  box-shadow: none;
  border: none;
  background: transparent;
}

/* 抽屉内分组列头、系统块：与侧栏同系青色，替代原绿色 */
.sidebar-hub-panel .settings-column-head[data-v-671bd6fb] {
  background: rgba(95, 184, 193, 0.22);
  border-color: rgba(95, 184, 193, 0.42);
}
.sidebar-hub-panel .settings-column-icon[data-v-671bd6fb] {
  background: rgba(95, 184, 193, 0.3);
  color: #0a4a55;
}
.sidebar-hub-panel .settings-column-title[data-v-671bd6fb] {
  color: #0a4a55;
}
.sidebar-hub-panel .settings-system-head[data-v-671bd6fb] {
  background: rgba(95, 184, 193, 0.22);
  border-bottom-color: rgba(95, 184, 193, 0.4);
}
.sidebar-hub-panel .settings-system-icon[data-v-671bd6fb] {
  background: rgba(95, 184, 193, 0.3);
  color: #0a4a55;
}
.sidebar-hub-panel .settings-system-title[data-v-671bd6fb] {
  color: #0a4a55;
}
.sidebar-hub-panel .settings-link[data-v-671bd6fb]:hover {
  color: #0a5f6e !important;
  background: rgba(95, 184, 193, 0.14) !important;
}
.sidebar-hub-panel .sales-history-link[data-v-671bd6fb] {
  color: #0a5f6e !important;
}
.sidebar-hub-panel .sales-history-link[data-v-671bd6fb]:hover {
  color: #084854 !important;
  background: rgba(95, 184, 193, 0.16) !important;
}
.sidebar-hub-panel .sales-menu-row--fav[data-v-671bd6fb] {
  background: rgba(95, 184, 193, 0.15);
}
.sidebar-hub-enter-active[data-v-671bd6fb],
.sidebar-hub-leave-active[data-v-671bd6fb] {
  transition: opacity 0.2s ease, transform 0.24s cubic-bezier(0.22, 1, 0.36, 1);
}
.sidebar-hub-enter-from[data-v-671bd6fb],
.sidebar-hub-leave-to[data-v-671bd6fb] {
  opacity: 0;
  transform: translateX(-10px);
}
@media (max-width: 1080px) {
.sidebar-hub-flyout[data-v-671bd6fb],
  .sidebar-hub-panel[data-v-671bd6fb] {
    width: 100%;
    max-width: none;
}
}
.partner-drawer-mask[data-v-671bd6fb] { position: fixed; inset: 0; background: rgba(15, 23, 42, 0.45); z-index: 40; display: flex; justify-content: flex-end;
}
.partner-drawer[data-v-671bd6fb] {
  width: min(880px, 94vw);
  height: 100vh;
  background: var(--content-surface);
  border-left: 1px solid var(--border-light);
  overflow: auto;
  padding: 14px;
  color: var(--text-on-light);
}
.partner-unit-edit-page .product-table-real td input[data-v-671bd6fb] { margin: 0; width: 100%; min-width: 90px;
}
.partner-unit-edit-page .partner-unit-edit-actions-top[data-v-671bd6fb] {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  margin: 0 0 8px;
}
.partner-unit-edit-page .partner-unit-edit-basic-three[data-v-671bd6fb] {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px 16px;
  align-items: start;
}
.partner-unit-edit-page .partner-unit-edit-basic-three > label[data-v-671bd6fb] {
  min-width: 0;
}
.partner-unit-edit-page .partner-unit-edit-label-text[data-v-671bd6fb] {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  white-space: nowrap;
}
.partner-unit-edit-page .partner-unit-edit-legal-two[data-v-671bd6fb] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 16px;
  max-width: 960px;
}
.partner-unit-edit-page .partner-unit-edit-legal-two > label[data-v-671bd6fb] {
  min-width: 0;
}
.partner-unit-edit-page .partner-unit-paste-hint[data-v-671bd6fb] {
  margin: 0 0 12px;
  font-size: 12px;
  color: var(--text-muted, #64748b);
  line-height: 1.5;
}
.partner-unit-paste-mask[data-v-671bd6fb] {
  z-index: 12600;
}
.partner-unit-paste-dialog[data-v-671bd6fb] {
  width: min(640px, 92vw);
  max-height: min(86vh, 720px);
}
.partner-unit-paste-dialog .partner-unit-dialog-head[data-v-671bd6fb] {
  padding: 12px 14px;
  background: linear-gradient(180deg, #f8fcfd 0%, #f0f9fb 100%);
}
.partner-unit-paste-dialog .partner-unit-dialog-head strong[data-v-671bd6fb] {
  font-size: 16px;
  font-weight: 700;
  color: #0f172a;
}
.partner-unit-paste-dialog .partner-unit-dialog-close[data-v-671bd6fb] {
  width: 32px;
  height: 32px;
  border: none;
  border-radius: 8px;
  background: #f1f5f9;
  color: #64748b;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}
.partner-unit-paste-body[data-v-671bd6fb] {
  padding: 12px 16px 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: 0;
  overflow: auto;
}
.partner-unit-paste-desc[data-v-671bd6fb] {
  margin: 0;
  font-size: 12px;
  color: #64748b;
  line-height: 1.5;
}
.partner-unit-paste-textarea[data-v-671bd6fb] {
  width: 100%;
  min-height: 180px;
  padding: 10px 12px;
  border: 1px solid var(--border-light, #e2e8f0);
  border-radius: 8px;
  font-size: 13px;
  line-height: 1.55;
  resize: vertical;
  box-sizing: border-box;
  font-family: inherit;
}
.partner-unit-paste-preview[data-v-671bd6fb] {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
  padding: 10px 12px;
  background: #f8fafc;
  border: 1px dashed #cbd5e1;
  border-radius: 8px;
  font-size: 12px;
  color: #334155;
}
.partner-unit-paste-preview-label[data-v-671bd6fb] {
  font-weight: 600;
  color: #0a5f6e;
}
.partner-unit-paste-preview-item[data-v-671bd6fb] {
  white-space: nowrap;
}
.partner-unit-paste-dialog .partner-unit-dialog-foot[data-v-671bd6fb] {
  justify-content: flex-end;
  gap: 8px;
  padding: 10px 14px;
  border-top: 1px solid var(--border-light, #e2e8f0);
}

/* ---------- 首页看板（参考企业工作台布局） ---------- */
.content-area--home[data-v-671bd6fb] {
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid color-mix(in srgb, #ffffff 78%, #d7e0ea);
  box-shadow: 0 14px 36px rgba(15, 23, 42, 0.08);
  backdrop-filter: blur(12px) saturate(1.05);
  -webkit-backdrop-filter: blur(12px) saturate(1.05);
}
.home-dashboard[data-v-671bd6fb] {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.home-header[data-v-671bd6fb] {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  padding: 10px 14px;
  background: rgba(255, 255, 255, 0.92);
  border-radius: 12px;
  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 14%, var(--border-light));
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06);
}
.home-header-brand[data-v-671bd6fb] {
  font-weight: 700;
  font-size: var(--crm-section-title-size, 18px);
  color: var(--crm-page-title-color);
  min-width: 120px;
}
.home-header-search-wrap[data-v-671bd6fb] {
  flex: 1;
  min-width: 200px;
  position: relative;
}
.home-header-search[data-v-671bd6fb] {
  width: 100%;
  max-width: 420px;
  margin: 0 !important;
  border: 1px solid var(--input-border, #d5dde7) !important;
  border-radius: 10px !important;
  padding: 8px 14px !important;
  background: #fff !important;
  box-shadow: var(--input-inner-shadow, none) !important;
}
.home-menu-search-panel[data-v-671bd6fb] {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  width: 100%;
  max-width: 420px;
  max-height: 320px;
  overflow-y: auto;
  margin: 0;
  padding: 6px 0;
  list-style: none;
  border: 1px solid var(--input-border, #d5dde7);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
  z-index: 30;
}
.home-menu-search-item[data-v-671bd6fb] {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 8px 14px;
  cursor: pointer;
}
.home-menu-search-item[data-v-671bd6fb]:hover,
.home-menu-search-item--active[data-v-671bd6fb] {
  background: color-mix(in srgb, var(--sidebar-teal) 12%, #ffffff);
}
.home-menu-search-label[data-v-671bd6fb] {
  font-size: 14px;
  color: var(--crm-page-title-color, #1a3a4a);
}
.home-menu-search-meta[data-v-671bd6fb] {
  font-size: 12px;
  color: #78909c;
}
.home-menu-search-empty[data-v-671bd6fb] {
  padding: 12px 14px;
  font-size: 13px;
  color: #78909c;
}
.home-header-actions[data-v-671bd6fb] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.home-header-dot[data-v-671bd6fb] {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #f44336;
  cursor: default;
}
.home-header-user[data-v-671bd6fb] {
  font-size: 13px;
  color: #546e7a;
}
.home-tabs[data-v-671bd6fb] {
  display: flex;
  gap: 4px;
  border-bottom: 2px solid #e8ecf1;
  padding-left: 4px;
}
.home-tab[data-v-671bd6fb] {
  padding: 8px 20px;
  font-size: 14px;
  color: #78909c;
  cursor: default;
  border-radius: 8px 8px 0 0;
}
.home-tab--active[data-v-671bd6fb] {
  background: color-mix(in srgb, var(--sidebar-teal) 18%, #ffffff);
  color: var(--crm-page-title-color);
  font-weight: 600;
  margin-bottom: -2px;
  border-bottom: 2px solid var(--sidebar-teal);
}
.home-shortcuts[data-v-671bd6fb] {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: stretch;
}
.home-shortcuts .home-shortcut[data-v-671bd6fb] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 88px;
  min-height: 88px;
  padding: 10px 6px;
  margin: 0;
  border: 1px solid #e8ecf1;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
  cursor: pointer;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.home-shortcuts .home-shortcut[data-v-671bd6fb]:hover {
  border-color: color-mix(in srgb, var(--sidebar-teal) 45%, var(--border-light));
  box-shadow: 0 2px 10px color-mix(in srgb, var(--sidebar-teal) 22%, transparent);
}
.home-shortcuts .home-shortcut--settings[data-v-671bd6fb] {
  margin-left: auto;
  border-style: dashed;
  border-color: color-mix(in srgb, var(--sidebar-teal) 35%, var(--border-light));
  background: color-mix(in srgb, var(--sidebar-teal) 6%, #ffffff);
}
.home-shortcuts .home-shortcut--settings[data-v-671bd6fb]:hover {
  border-style: solid;
}
.home-shortcut-icon[data-v-671bd6fb] {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: rgba(95, 184, 193, 0.14);
  color: var(--ui-accent-ink);
  font-weight: 700;
  font-size: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 6px;
}
.home-shortcut-icon--settings[data-v-671bd6fb] {
  background: color-mix(in srgb, var(--sidebar-teal) 18%, #ffffff);
}
.home-shortcut-label[data-v-671bd6fb] {
  font-size: 11px;
  color: #455a64;
  text-align: center;
  line-height: 1.25;
}
.home-columns[data-v-671bd6fb] {
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 14px;
  align-items: start;
}
@media (max-width: 1100px) {
.home-columns[data-v-671bd6fb] {
    grid-template-columns: 1fr;
}
}
.home-main[data-v-671bd6fb] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.home-aside[data-v-671bd6fb] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.home-card[data-v-671bd6fb] {
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 14%, var(--border-light));
  border-radius: 12px;
  padding: 14px 16px;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06);
}
.home-card--tight[data-v-671bd6fb] {
  padding: 12px 14px;
}
.home-card-head[data-v-671bd6fb] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid color-mix(in srgb, var(--sidebar-teal) 12%, var(--border-light));
}
.home-card-title[data-v-671bd6fb] {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  color: var(--crm-page-title-color);
}
.home-card-filter[data-v-671bd6fb] {
  font-size: 12px;
  color: #90a4ae;
}
.home-metric-grid[data-v-671bd6fb] {
  display: grid;
  gap: 12px;
}
.home-metric-grid--4[data-v-671bd6fb] {
  grid-template-columns: repeat(4, 1fr);
}
.home-metric-grid--3[data-v-671bd6fb] {
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 900px) {
.home-metric-grid--4[data-v-671bd6fb] {
    grid-template-columns: repeat(2, 1fr);
}
.home-metric-grid--3[data-v-671bd6fb] {
    grid-template-columns: repeat(2, 1fr);
}
}
.home-metric[data-v-671bd6fb] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px;
  background: #fafbfc;
  border-radius: 8px;
  border: 1px solid #f0f3f6;
}
.home-metric--compact[data-v-671bd6fb] {
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}
button.home-metric.home-metric--clickable[data-v-671bd6fb] {
  cursor: pointer;
  text-align: left;
  width: 100%;
  font: inherit;
  color: inherit;
  appearance: none;
  margin: 0;
  margin-right: 0;
  padding: 10px;
  border-radius: 8px;
  border: 1px solid #f0f3f6;
  background: #fafbfc;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  transition: border-color 0.15s, box-shadow 0.15s;
}
button.home-metric.home-metric--clickable[data-v-671bd6fb]:hover {
  background: #fafbfc;
  border-color: color-mix(in srgb, var(--sidebar-teal) 28%, #f0f3f6);
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
}
.home-metric-value--link[data-v-671bd6fb] {
  color: var(--ui-accent-ink, #0d7377);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.home-metric-icon[data-v-671bd6fb] {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 700;
  flex-shrink: 0;
}
.home-metric-icon--green[data-v-671bd6fb] {
  background: rgba(95, 184, 193, 0.16);
  color: var(--ui-accent-ink);
}
.home-metric-icon--warn[data-v-671bd6fb] {
  background: rgba(244, 67, 54, 0.12);
  color: #c62828;
}
.home-metric-icon--muted[data-v-671bd6fb] {
  background: #eceff1;
  color: #78909c;
}
.home-metric-value[data-v-671bd6fb] {
  font-size: 20px;
  font-weight: 700;
  color: #263238;
}
.home-metric--compact .home-metric-value[data-v-671bd6fb] {
  font-size: 18px;
}
.home-metric-label[data-v-671bd6fb] {
  font-size: 12px;
  color: #78909c;
}
.text-warn[data-v-671bd6fb] {
  color: #c62828 !important;
}
.home-fund-row[data-v-671bd6fb] {
  display: flex;
  gap: 20px;
  align-items: center;
  flex-wrap: wrap;
}
.home-donut-wrap[data-v-671bd6fb] {
  position: relative;
  width: 132px;
  height: 132px;
  flex-shrink: 0;
}
.home-donut[data-v-671bd6fb] {
  width: 132px;
  height: 132px;
  border-radius: 50%;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.04);
}
.home-donut-wrap[data-v-671bd6fb]::after {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 66px;
  height: 66px;
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 0 0 1px #eceff1;
  pointer-events: none;
}
.home-donut-cap[data-v-671bd6fb] {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 600;
  color: #37474f;
  z-index: 1;
  pointer-events: none;
}
.home-fund-legend[data-v-671bd6fb] {
  list-style: none;
  margin: 0;
  padding: 0;
  flex: 1;
  min-width: 200px;
}
.home-fund-legend li[data-v-671bd6fb] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 0;
  font-size: 13px;
  border-bottom: 1px dashed #eceff1;
}
.home-legend-dot[data-v-671bd6fb] {
  width: 10px;
  height: 10px;
  border-radius: 2px;
  flex-shrink: 0;
}
.home-legend-label[data-v-671bd6fb] {
  color: #546e7a;
  flex: 1;
}
.home-legend-value[data-v-671bd6fb] {
  font-weight: 600;
  color: #263238;
}
.home-fund-footer[data-v-671bd6fb] {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid #f0f3f6;
}
.home-fund-chip[data-v-671bd6fb] {
  font-size: 12px;
  color: #546e7a;
  padding: 6px 12px;
  background: #f5f7f9;
  border-radius: 20px;
  border: 1px solid #eceff1;
}
.home-fund-chip strong[data-v-671bd6fb] {
  color: var(--ui-accent-ink);
  margin-left: 4px;
}
.home-todo-cat[data-v-671bd6fb] {
  font-size: 12px;
  font-weight: 600;
  color: #78909c;
  margin-bottom: 6px;
}
.home-todo-list[data-v-671bd6fb] {
  list-style: none;
  margin: 0;
  padding: 0;
}
.home-todo-item[data-v-671bd6fb] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid #f0f3f6;
  font-size: 13px;
}
.home-todo-item--clickable[data-v-671bd6fb] {
  cursor: pointer;
  border-radius: 8px;
  margin: 0 -6px;
  padding-left: 6px;
  padding-right: 6px;
  transition: background 0.15s ease;
}
.home-todo-item--clickable[data-v-671bd6fb]:hover {
  background: rgba(33, 150, 243, 0.06);
}
.home-todo-item--clickable[data-v-671bd6fb]:focus-visible {
  outline: 2px solid #2196f3;
  outline-offset: 2px;
}
.home-todo-label[data-v-671bd6fb] {
  color: #37474f;
}
.home-todo-count[data-v-671bd6fb] {
  min-width: 28px;
  text-align: right;
  font-weight: 600;
  color: #90a4ae;
}
.home-todo-count--urgent[data-v-671bd6fb] {
  color: #f44336;
}
.home-alert-list[data-v-671bd6fb] {
  list-style: none;
  margin: 0;
  padding: 0;
}
.home-alert-item[data-v-671bd6fb] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 0;
  border-bottom: 1px solid #f0f3f6;
  font-size: 13px;
}
.home-alert-item--clickable[data-v-671bd6fb] {
  cursor: pointer;
  border-radius: 10px;
  margin: 0 -8px;
  padding-left: 8px;
  padding-right: 8px;
  transition: background 0.15s ease, box-shadow 0.15s ease;
}
.home-alert-item--clickable[data-v-671bd6fb]:hover {
  background: rgba(244, 67, 54, 0.04);
}
.home-alert-item--clickable[data-v-671bd6fb]:focus-visible {
  outline: 2px solid #ef5350;
  outline-offset: 2px;
}
.home-alert-item--emphasize[data-v-671bd6fb] {
  margin-top: 4px;
  margin-bottom: 6px;
  padding: 12px 10px;
  border: 1px solid rgba(211, 47, 47, 0.35);
  border-left: 4px solid #c62828;
  background: linear-gradient(105deg, rgba(244, 67, 54, 0.12) 0%, rgba(255, 255, 255, 0.92) 55%);
  box-shadow: 0 2px 10px rgba(198, 40, 40, 0.12);
}
.home-alert-item--emphasize .home-alert-text[data-v-671bd6fb] {
  font-weight: 700;
  font-size: 14px;
  color: #b71c1c;
}
.home-alert-item--emphasize .home-todo-count[data-v-671bd6fb] {
  font-size: 15px;
}
@keyframes home-alert-icon-pulse-671bd6fb {
0%,
  100% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(244, 67, 54, 0.45);
}
50% {
    transform: scale(1.05);
    box-shadow: 0 0 0 6px rgba(244, 67, 54, 0);
}
}
.home-alert-icon--pulse[data-v-671bd6fb] {
  animation: home-alert-icon-pulse-671bd6fb 2s ease-in-out infinite;
}
.home-alert-icon[data-v-671bd6fb] {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #eceff1;
  color: #90a4ae;
  font-size: 12px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.home-alert-icon--on[data-v-671bd6fb] {
  background: rgba(244, 67, 54, 0.15);
  color: #c62828;
}
.home-alert-text[data-v-671bd6fb] {
  flex: 1;
  color: #455a64;
}

/* ---------- 客户对账单 ---------- */
.cust-statement-page[data-v-671bd6fb] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.cust-statement-doc-shell .document-create-header__actions .cust-statement-print-wrap[data-v-671bd6fb] {
  display: inline-flex;
  align-items: center;
}
.cust-statement-entity-row[data-v-671bd6fb] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 16px;
  margin-bottom: 10px;
}
.cust-statement-entity-label[data-v-671bd6fb] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  color: #37474f;
  font-size: 14px;
}
.cust-statement-entity-prefix[data-v-671bd6fb] {
  flex-shrink: 0;
  color: #1b5e20;
}
.cust-statement-entity-select[data-v-671bd6fb] {
  min-width: 260px;
  max-width: 100%;
  padding: 8px 10px;
  border: 1px solid #90a4ae;
  border-radius: 6px;
  font-size: 14px;
  background: #fff;
}
.cust-statement-entity-tip[data-v-671bd6fb] {
  font-size: 12px;
  color: #78909c;
}
.cust-statement-settle-btn[data-v-671bd6fb] {
  padding: 4px 12px;
  font-size: 12px;
  border-radius: 4px;
  border: 1px solid #e57373;
  background: #ffebee;
  color: #c62828;
  cursor: pointer;
}
.cust-statement-settle-btn[data-v-671bd6fb]:hover {
  background: #ffcdd2;
}
.cust-statement-print-wrap[data-v-671bd6fb] {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--border-light);
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
}
.cust-statement-tool-btn[data-v-671bd6fb] {
  padding: 8px 14px;
  font-size: 13px;
  border: none;
  background: #fff;
  cursor: pointer;
  color: #37474f;
}
.cust-statement-tool-btn[data-v-671bd6fb]:hover {
  background: #f5f5f5;
}
.cust-statement-tool-btn--primary[data-v-671bd6fb] {
  background: var(--sidebar-teal, #5fb8c1);
  color: #fff;
  border-radius: 8px;
}
.cust-statement-tool-btn--primary[data-v-671bd6fb]:hover {
  filter: brightness(0.95);
}
.cust-statement-caret[data-v-671bd6fb] {
  padding: 0 8px;
  font-size: 10px;
  color: #78909c;
  border-left: 1px solid var(--border-light);
}
.cust-statement-filters[data-v-671bd6fb] {
  background: #eceff1;
  border-radius: 8px;
  padding: 12px 14px;
  border: 1px solid #cfd8dc;
}
.cust-statement-filter-row[data-v-671bd6fb] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
  margin-bottom: 10px;
}
.cust-statement-filter-row[data-v-671bd6fb]:last-child {
  margin-bottom: 0;
}
.cust-statement-filter-row--grid[data-v-671bd6fb] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  align-items: end;
  gap: 10px 14px;
}
.cust-statement-filter-label[data-v-671bd6fb] {
  font-weight: 600;
  color: #455a64;
  font-size: 13px;
}
.cust-statement-quick-dates[data-v-671bd6fb] {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.cust-statement-chip[data-v-671bd6fb] {
  padding: 4px 10px;
  font-size: 12px;
  border-radius: 4px;
  border: 1px solid #b0bec5;
  background: #fff;
  cursor: pointer;
  color: #546e7a;
}
.cust-statement-chip--on[data-v-671bd6fb] {
  border-color: #43a047;
  background: #e8f5e9;
  color: #2e7d32;
  font-weight: 600;
}
.cust-statement-custom-label[data-v-671bd6fb] {
  font-size: 13px;
  color: #607d8b;
  margin-left: 4px;
}
.cust-statement-date[data-v-671bd6fb] {
  padding: 6px 8px;
  border: 1px solid #b0bec5;
  border-radius: 4px;
  font-size: 13px;
}
.cust-statement-date-sep[data-v-671bd6fb] {
  color: #78909c;
  font-size: 13px;
}
.cust-statement-field[data-v-671bd6fb] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 12px;
  color: #455a64;
}
.cust-statement-select[data-v-671bd6fb],
.cust-statement-input[data-v-671bd6fb] {
  padding: 6px 8px;
  border: 1px solid #b0bec5;
  border-radius: 4px;
  font-size: 13px;
  background: #fff;
}
.cust-statement-check[data-v-671bd6fb] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: #37474f;
}
.cust-statement-filter-actions[data-v-671bd6fb] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px dashed #cfd8dc;
}
.cust-statement-query-btn[data-v-671bd6fb] {
  padding: 8px 28px;
  font-size: 14px;
  font-weight: 600;
  border: none;
  border-radius: 6px;
  background: #43a047;
  color: #fff;
  cursor: pointer;
}
.cust-statement-query-btn[data-v-671bd6fb]:hover {
  background: #388e3c;
}
.cust-statement-query-btn[data-v-671bd6fb]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}
.cust-statement-collapse-btn[data-v-671bd6fb] {
  padding: 6px 12px;
  font-size: 13px;
  border: none;
  background: transparent;
  color: #546e7a;
  cursor: pointer;
  text-decoration: underline;
}
.cust-statement-summary[data-v-671bd6fb] {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px 12px;
  padding: 12px;
  background: linear-gradient(180deg, #fbfcfd 0%, #f7f9fb 100%);
  border: 1px solid #e5ebf1;
  border-radius: 10px;
}
.cust-statement-sum-item[data-v-671bd6fb] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  padding: 8px 10px;
  border: 1px solid #e9eef3;
  border-radius: 8px;
  background: #fff;
  box-sizing: border-box;
}
.cust-statement-sum-label[data-v-671bd6fb] {
  font-size: 12px;
  color: #6b7a89;
}
.cust-statement-sum-val[data-v-671bd6fb] {
  font-size: 15px;
  font-weight: 600;
  color: #263238;
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.cust-statement-sum-item--up .cust-statement-sum-val[data-v-671bd6fb] {
  color: #c62828;
}
.cust-statement-sum-item--up .cust-statement-sum-label[data-v-671bd6fb]::after {
  content: ' ↑';
  color: #c62828;
  font-size: 11px;
}
.cust-statement-sum-item--down .cust-statement-sum-val[data-v-671bd6fb] {
  color: #2e7d32;
}
.cust-statement-sum-item--down .cust-statement-sum-label[data-v-671bd6fb]::after {
  content: ' ↓';
  color: #2e7d32;
  font-size: 11px;
}
@media (max-width: 1200px) {
.cust-statement-summary[data-v-671bd6fb] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
}
@media (max-width: 700px) {
.cust-statement-summary[data-v-671bd6fb] {
    grid-template-columns: 1fr;
}
}
.cust-statement-table-wrap[data-v-671bd6fb] {
  overflow: auto;
  max-width: 100%;
}
.cust-statement-table th[data-v-671bd6fb] {
  white-space: nowrap;
  font-size: 12px;
}
.cust-statement-table td[data-v-671bd6fb] {
  font-size: 12px;
  white-space: nowrap;
}
@media print {
.sidebar-nav[data-v-671bd6fb],
  .content-tabs-strip[data-v-671bd6fb],
  .cust-statement-doc-shell .document-create-header__actions[data-v-671bd6fb],
  .cust-statement-filters[data-v-671bd6fb],
  .cust-statement-filter-actions[data-v-671bd6fb] {
    display: none !important;
}
.cust-statement-page[data-v-671bd6fb] {
    break-inside: avoid;
}
}

/* ---------- 销售管理 · 三列 ---------- */
.sales-management-root h3[data-v-671bd6fb],
.expense-management-root h3[data-v-671bd6fb],
.intercourse-funds-root h3[data-v-671bd6fb] {
  margin-top: 0;
  color: #263238;
}
.sales-mgmt-columns[data-v-671bd6fb] {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  align-items: start;
}
@media (max-width: 900px) {
.sales-mgmt-columns[data-v-671bd6fb] {
    grid-template-columns: 1fr;
}
}
.expense-mgmt-columns[data-v-671bd6fb] {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  max-width: none;
}
@media (max-width: 900px) {
.expense-mgmt-columns[data-v-671bd6fb] {
    grid-template-columns: 1fr;
}
}
.sales-columns-5[data-v-671bd6fb] {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
  align-items: start;
}
@media (max-width: 1400px) {
.sales-columns-5[data-v-671bd6fb] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
}
@media (max-width: 900px) {
.sales-columns-5[data-v-671bd6fb] {
    grid-template-columns: 1fr;
}
}
.sales-menu-list .sales-menu-row[data-v-671bd6fb] {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: wrap;
  padding: 2px 0;
}
.sales-menu-main[data-v-671bd6fb] {
  flex: 1;
  min-width: 0;
}
.sales-menu-row--fav[data-v-671bd6fb] {
  background: var(--surface-brand-pale);
  border-radius: 6px;
  margin: 2px -4px;
  padding: 4px 4px !important;
}
.sales-star[data-v-671bd6fb] {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #bdbdbd !important;
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
  border-radius: 4px;
}
.sales-star[data-v-671bd6fb]:hover {
  color: #ffb300 !important;
  background: rgba(255, 179, 0, 0.12) !important;
}
.sales-star--on[data-v-671bd6fb] {
  color: #f9a825 !important;
}
.sales-history-link[data-v-671bd6fb] {
  flex-shrink: 0;
  margin: 0 !important;
  padding: 2px 6px !important;
  font-size: 12px !important;
  color: var(--ui-accent-ink) !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  text-decoration: underline;
  cursor: pointer;
}
.sales-history-link[data-v-671bd6fb]:hover {
  color: #073d47 !important;
  background: rgba(95, 184, 193, 0.1) !important;
}
.sales-col-sep[data-v-671bd6fb] {
  list-style: none;
  margin: 8px 0;
  padding: 0;
}
.sales-col-sep hr[data-v-671bd6fb] {
  border: none;
  border-top: 1px dashed #cfd8dc;
  margin: 0;
}
.sales-business-rows .sales-menu-row--biz[data-v-671bd6fb] {
  justify-content: space-between;
  align-items: center;
  gap: 8px;
}
.sales-business-rows .sales-menu-row--biz .sales-menu-main[data-v-671bd6fb] {
  flex: 1;
  min-width: 0;
}
.sales-history-group[data-v-671bd6fb] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}
.sales-history-pipe[data-v-671bd6fb] {
  color: #b0bec5;
  font-size: 13px;
  font-weight: 300;
  user-select: none;
}

/* ---------- 采购管理三列 ---------- */
.purchase-management-root h3[data-v-671bd6fb] {
  margin-top: 0;
  color: #263238;
}
.purchase-columns-3[data-v-671bd6fb] {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  align-items: start;
}
@media (max-width: 900px) {
.purchase-columns-3[data-v-671bd6fb] {
    grid-template-columns: 1fr;
}
}

/* ---------- 项目管理三列 ---------- */
.project-management-root h3[data-v-671bd6fb] {
  margin-top: 0;
  color: #263238;
}

/* ---------- 库存核算四列 ---------- */
.inventory-accounting-root h3[data-v-671bd6fb] {
  margin-top: 0;
  color: #263238;
}
.inv-acct-columns-4[data-v-671bd6fb] {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  align-items: start;
}
@media (max-width: 1200px) {
.inv-acct-columns-4[data-v-671bd6fb] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
}
@media (max-width: 640px) {
.inv-acct-columns-4[data-v-671bd6fb] {
    grid-template-columns: 1fr;
}
}
.inv-acct-menu-dotted .sales-menu-row[data-v-671bd6fb] {
  border-top: 1px dotted #cfd8dc;
  padding-top: 8px;
  margin-top: 6px;
}
.inv-acct-menu-dotted .sales-menu-row[data-v-671bd6fb]:first-child {
  border-top: none;
  padding-top: 2px;
  margin-top: 0;
}

/* ---------- 基础设置归类 ---------- */
.basic-settings-root h3[data-v-671bd6fb] {
  margin-top: 0;
  color: #263238;
}
.basic-settings-desc[data-v-671bd6fb] {
  margin: 0 0 16px;
  font-size: 13px;
  color: #607d8b;
}
.settings-columns-3[data-v-671bd6fb] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-bottom: 22px;
}
.settings-columns-4[data-v-671bd6fb] {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-bottom: 22px;
}
@media (max-width: 1100px) {
.settings-columns-4[data-v-671bd6fb] {
    grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 960px) {
.settings-columns-3[data-v-671bd6fb] {
    grid-template-columns: 1fr;
}
.settings-columns-4[data-v-671bd6fb] {
    grid-template-columns: 1fr;
}
}
.settings-column[data-v-671bd6fb] {
  min-width: 0;
}
.settings-column-head[data-v-671bd6fb] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  background: var(--surface-brand-pale);
  border-radius: 8px 8px 0 0;
  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 22%, #f4f9fa);
  border-bottom: none;
}
.settings-column-icon[data-v-671bd6fb] {
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(95, 184, 193, 0.14);
  color: var(--ui-accent-ink);
  border-radius: 6px;
  font-size: 14px;
}
.sales-col-icon-sales[data-v-671bd6fb]::before { content: '📋'; line-height: 1;
}
.sales-col-icon-report[data-v-671bd6fb]::before { content: '📊'; line-height: 1;
}
.sales-col-icon-price[data-v-671bd6fb]::before { content: '🏷'; line-height: 1;
}
.oa-col-icon-item[data-v-671bd6fb]::before { content: '📦'; line-height: 1;
}
.purchase-col-icon-biz[data-v-671bd6fb]::before { content: '📝'; line-height: 1;
}
.purchase-col-icon-report[data-v-671bd6fb]::before { content: '📈'; line-height: 1;
}
.purchase-col-icon-price[data-v-671bd6fb]::before {
  content: '¥';
  line-height: 1;
  font-size: 15px;
  font-weight: 800;
}

/* ---------- 结算方式 ---------- */
.settlement-method-page[data-v-671bd6fb] {
  background: #f7f8fa;
}
.settlement-method-head[data-v-671bd6fb] {
  margin-bottom: 10px;
}
.settlement-method-title[data-v-671bd6fb] {
  margin: 0;
  font-size: var(--crm-page-heading-size, 18px);
  font-weight: var(--crm-page-heading-weight, 700);
  color: var(--crm-page-heading-color, #000);
}
.settlement-method-sub[data-v-671bd6fb] {
  margin: 4px 0 0;
  font-size: 12px;
  color: #64748b;
}
.settlement-tabs[data-v-671bd6fb] {
  display: inline-flex;
  gap: 8px;
  margin-bottom: 10px;
}
.settlement-tab-btn[data-v-671bd6fb] {
  min-width: 92px;
  height: 32px;
  border: 1px solid #d1d5db;
  border-radius: 999px;
  background: #fff;
  color: #334155;
  cursor: pointer;
}
.settlement-tab-btn--active[data-v-671bd6fb] {
  background: #16a34a;
  border-color: #16a34a;
  color: #fff;
}
.settlement-method-grid[data-v-671bd6fb] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 10px;
}
.settlement-method-card[data-v-671bd6fb] {
  border: 1px solid #e2e8f0;
  border-radius: 6px;
  background: #fff;
  min-height: 84px;
  padding: 10px 12px;
  display: flex;
  gap: 10px;
  align-items: flex-start;
  text-align: left;
}
.settlement-method-card--add[data-v-671bd6fb] {
  border-style: dashed;
  color: #16a34a;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  background: #f8fff9;
  font-size: 13px;
}
.settlement-method-add-icon[data-v-671bd6fb] {
  font-size: 16px;
  line-height: 1;
}
.settlement-method-icon[data-v-671bd6fb] {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  flex: 0 0 auto;
}
.settlement-method-icon--cash[data-v-671bd6fb] { background: #ffedd5; color: #ea580c;
}
.settlement-method-icon--wx[data-v-671bd6fb] { background: var(--surface-brand-mid); color: var(--ui-accent-ink);
}
.settlement-method-icon--zfb[data-v-671bd6fb] { background: #dbeafe; color: #2563eb;
}
.settlement-method-icon--card[data-v-671bd6fb] { background: #fef3c7; color: #b45309;
}
.settlement-method-icon--draft[data-v-671bd6fb] { background: #ccfbf1; color: #0f766e;
}
.settlement-method-icon--note[data-v-671bd6fb] { background: #ede9fe; color: #7c3aed;
}
.settlement-method-icon--check[data-v-671bd6fb] { background: #ffe4e6; color: #e11d48;
}
.settlement-method-icon--wire[data-v-671bd6fb] { background: #ffedd5; color: #c2410c;
}
.settlement-method-icon--custom[data-v-671bd6fb] { background: #e2e8f0; color: #334155;
}
.settlement-method-body[data-v-671bd6fb] {
  min-width: 0;
}
.settlement-method-name[data-v-671bd6fb] {
  font-size: 20px;
  font-weight: 600;
  color: #1f2937;
  line-height: 1.2;
}
.settlement-method-line[data-v-671bd6fb] {
  margin-top: 4px;
  font-size: 12px;
  color: #64748b;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.settlement-method-actions[data-v-671bd6fb] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 4px;
  margin-top: 8px;
}
.settlement-action-sep[data-v-671bd6fb] {
  color: #cbd5e1;
  user-select: none;
  font-size: 10px;
}
.settlement-method-link[data-v-671bd6fb] {
  border: none;
  background: none;
  padding: 0;
  cursor: pointer;
  color: #0f766e;
  font-size: 12px;
  text-decoration: underline;
}
.settlement-method-link--danger[data-v-671bd6fb] {
  color: #b91c1c;
}
.settlement-method-link--danger[data-v-671bd6fb]:hover {
  color: #991b1b;
}
.settlement-account-page[data-v-671bd6fb] {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 10px;
}
.settlement-account-headbar[data-v-671bd6fb] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
}
.settlement-account-left[data-v-671bd6fb] {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.settlement-account-right[data-v-671bd6fb] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.settlement-account-check[data-v-671bd6fb] {
  font-size: 12px;
  color: #475569;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.settlement-account-main-wrap[data-v-671bd6fb] {
  border: 1px solid #e5e7eb;
  border-radius: 6px;
}
.settlement-account-main-table thead th[data-v-671bd6fb] {
  background: #eef2f7 !important;
}
.settlement-balance-red[data-v-671bd6fb] {
  color: #dc2626 !important;
}
.settlement-modal-mask[data-v-671bd6fb] {
  position: fixed;
  inset: 0;
  z-index: 12500;
  background: rgba(15, 23, 42, 0.35);
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 16px;
}
.settlement-modal[data-v-671bd6fb] {
  width: min(920px, 96vw);
  background: #fff;
  border-radius: 8px;
  border: 1px solid #e2e8f0;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.2);
  display: flex;
  flex-direction: column;
  max-height: 88vh;
}
.settlement-modal--method[data-v-671bd6fb] {
  width: min(760px, 96vw);
}
.settlement-modal-head[data-v-671bd6fb] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 14px;
  border-bottom: 1px solid #e5e7eb;
  background: #f3f6fb;
}
.settlement-modal-close[data-v-671bd6fb] {
  border: none;
  background: transparent;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  color: #64748b;
}
.settlement-modal-body[data-v-671bd6fb] {
  padding: 14px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 14px;
}
@media (max-width: 760px) {
.settlement-modal-body[data-v-671bd6fb] {
    grid-template-columns: 1fr;
}
}
.settlement-field[data-v-671bd6fb] {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}
.settlement-field-label[data-v-671bd6fb] {
  font-size: 14px;
  color: #1f2937;
}
.settlement-field-input[data-v-671bd6fb] {
  height: 36px;
  border: none;
  border-bottom: 1px solid #d1d5db;
  padding: 4px 2px;
  font-size: 14px;
  background: transparent;
}
.settlement-field-input[data-v-671bd6fb]:focus {
  outline: none;
  border-bottom-color: #16a34a;
}
.settlement-field-select[data-v-671bd6fb] {
  border: 1px solid #d1d5db;
  border-radius: 4px;
  padding: 0 8px;
  height: 36px;
}
.settlement-field-picker[data-v-671bd6fb] {
  display: flex;
  align-items: center;
  gap: 6px;
}
.settlement-pick-btn[data-v-671bd6fb] {
  width: 34px;
  height: 34px;
  border: 1px solid #d1d5db;
  border-radius: 4px;
  background: #fff;
  color: #16a34a;
  cursor: pointer;
}
.settlement-modal-foot[data-v-671bd6fb] {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding: 12px 14px;
  border-top: 1px solid #e5e7eb;
  background: #fafafa;
}
.settlement-cancel-btn[data-v-671bd6fb],
.settlement-save-btn[data-v-671bd6fb],
.settlement-save-add-btn[data-v-671bd6fb] {
  min-width: 110px;
  height: 40px;
  border-radius: 4px;
  border: 1px solid #d1d5db;
  cursor: pointer;
  font-size: 18px;
}
.settlement-cancel-btn[data-v-671bd6fb] {
  background: #fff;
  color: #334155;
}
.settlement-save-btn[data-v-671bd6fb] {
  background: #fff;
  color: #16a34a;
  border-color: #86efac;
}
.settlement-save-add-btn[data-v-671bd6fb] {
  background: #22c55e;
  color: #fff;
  border-color: #22c55e;
}
.settlement-account-toolbar[data-v-671bd6fb] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 12px 14px 0;
}
.settlement-account-search[data-v-671bd6fb] {
  width: min(320px, 100%);
  height: 34px;
  border: none;
  border-bottom: 1px solid #d1d5db;
  background: transparent;
}
.settlement-account-search[data-v-671bd6fb]:focus {
  outline: none;
  border-bottom-color: #16a34a;
}
.settlement-account-table-wrap[data-v-671bd6fb] {
  padding: 10px 14px 0;
  overflow: auto;
}
.settlement-account-table thead th[data-v-671bd6fb] {
  background: #e2f7ea !important;
}
.settlement-account-row--active td[data-v-671bd6fb] {
  background: #d1fae5 !important;
}
.settlement-modal--account-edit[data-v-671bd6fb] {
  width: min(900px, 98vw);
}
.settlement-section-hint[data-v-671bd6fb],
.settlement-account-section-hint[data-v-671bd6fb] {
  font-size: 12px;
  color: #64748b;
  line-height: 1.4;
  margin: 0 0 8px 0;
  max-width: 100%;
  padding: 0 2px;
}
.settlement-modal-body--account-edit[data-v-671bd6fb] {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.settlement-field--span2[data-v-671bd6fb] {
  grid-column: 1 / -1;
}
.settlement-account-balance-block[data-v-671bd6fb] {
  grid-column: 1 / -1;
  margin-top: 4px;
  padding: 10px 12px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
}
.settlement-account-balance-block-title[data-v-671bd6fb] {
  margin: 0 0 4px 0;
  font-size: 14px;
  color: #0f172a;
  font-weight: 600;
}
.settlement-account-balance-help[data-v-671bd6fb] {
  font-size: 12px;
  color: #64748b;
  margin: 0 0 10px 0;
  line-height: 1.35;
}
.settlement-modal-body--balance-inner[data-v-671bd6fb] {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px 12px;
}
.settlement-field-readonly-tag[data-v-671bd6fb] {
  color: #94a3b8;
  font-size: 11px;
  font-weight: 400;
  margin-left: 4px;
}
@media (max-width: 720px) {
.settlement-modal-body--balance-inner[data-v-671bd6fb] {
    grid-template-columns: 1fr;
}
}
.settlement-account-edit-bank-line-no[data-v-671bd6fb] {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 14px;
}
.settlement-account-edit-bank-line-no .settlement-field[data-v-671bd6fb] {
  grid-column: 2;
  min-width: 0;
}
@media (max-width: 760px) {
.settlement-account-edit-bank-line-no[data-v-671bd6fb] {
    justify-items: stretch;
}
.settlement-account-edit-bank-line-no .settlement-field[data-v-671bd6fb] {
    grid-column: 1;
}
}
.settlement-enable-toggle[data-v-671bd6fb] {
  margin-right: auto;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #15803d;
  font-weight: 600;
}
.settlement-enable-toggle input[data-v-671bd6fb] {
  width: 42px;
  height: 22px;
}

/* ---------- 费用类型 ---------- */
.expense-type-page[data-v-671bd6fb] {
  background: #f7f8fa;
}
.expense-type-page-head[data-v-671bd6fb] {
  margin-bottom: 12px;
}
.expense-type-page-head .settlement-method-title[data-v-671bd6fb] {
  color: var(--crm-page-heading-color, #000);
}
.expense-type-layout[data-v-671bd6fb] {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 12px;
}
@media (max-width: 1000px) {
.expense-type-layout[data-v-671bd6fb] {
    grid-template-columns: 1fr;
}
}
.expense-type-sidebar[data-v-671bd6fb] {
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #fff;
  padding: 8px;
}
.expense-type-side-head[data-v-671bd6fb] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 8px;
  color: #334155;
}
.expense-type-category-list[data-v-671bd6fb] {
  list-style: none;
  margin: 0;
  padding: 0;
}
.expense-type-category-item[data-v-671bd6fb] {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 4px 6px;
  border-radius: 6px;
}
.expense-type-category-item--active[data-v-671bd6fb] {
  background: color-mix(in srgb, var(--sidebar-teal) 16%, #ffffff);
}
.expense-type-category-item--active .expense-type-category-btn[data-v-671bd6fb] {
  color: var(--ui-accent-ink, #0a5f6e);
  font-weight: 600;
}
.expense-type-category-btn[data-v-671bd6fb] {
  flex: 1;
  text-align: left;
  border: none;
  background: none;
  cursor: pointer;
  font-size: 13px;
  color: #1f2937;
  padding: 2px 0;
}
.expense-type-main[data-v-671bd6fb] {
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #fff;
  padding: 10px;
}
.expense-type-toolbar[data-v-671bd6fb] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
}
.expense-type-search[data-v-671bd6fb] {
  width: min(320px, 100%);
  height: 34px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  padding: 0 10px;
}
.expense-type-table thead th[data-v-671bd6fb] {
  background: #eef2f7 !important;
}
.expense-type-td-actions[data-v-671bd6fb] {
  white-space: nowrap;
  vertical-align: middle;
}
.expense-type-row-actions[data-v-671bd6fb] {
  display: inline-flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
  white-space: nowrap;
}
.expense-type-row-actions .expense-type-pill[data-v-671bd6fb] {
  flex: 0 0 auto;
}
/* 文字胶囊：新增 / 编辑 / 删除（费用类型、收入类型页） */
.expense-type-pill[data-v-671bd6fb] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 5px 12px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 38%, #c5dfe3);
  background: color-mix(in srgb, var(--sidebar-teal) 10%, #ffffff);
  color: var(--ui-accent-ink, #0a5f6e);
  cursor: pointer;
  white-space: nowrap;
  box-shadow: none;
}
.expense-type-pill[data-v-671bd6fb]:hover {
  background: color-mix(in srgb, var(--sidebar-teal) 18%, #ffffff);
  border-color: color-mix(in srgb, var(--sidebar-teal) 52%, #9ec9cf);
}
.expense-type-pill--sm[data-v-671bd6fb] {
  padding: 4px 10px;
  font-size: 11px;
}
.expense-type-pill--xs[data-v-671bd6fb] {
  padding: 3px 8px;
  font-size: 11px;
  font-weight: 600;
}
.expense-type-pill--solid[data-v-671bd6fb] {
  border-color: color-mix(in srgb, var(--sidebar-teal) 28%, #7ebfcb);
  background: var(--sidebar-teal, #5fb8c1);
  color: #fff;
}
.expense-type-pill--solid[data-v-671bd6fb]:hover {
  filter: brightness(0.96);
  border-color: var(--sidebar-teal, #5fb8c1);
}
.expense-type-pill--danger[data-v-671bd6fb] {
  border-color: #fecaca;
  background: #fef2f2;
  color: #b91c1c;
}
.expense-type-pill--danger[data-v-671bd6fb]:hover {
  background: #fee2e2;
  border-color: #fca5a5;
  color: #991b1b;
}
.expense-type-editor[data-v-671bd6fb] {
  width: min(760px, 96vw);
}
.expense-type-editor-body[data-v-671bd6fb] {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.settlement-field--check[data-v-671bd6fb] {
  flex-direction: row;
  align-items: center;
  gap: 10px;
}
.income-type-editor[data-v-671bd6fb] {
  width: min(760px, 96vw);
}
.income-type-editor-body[data-v-671bd6fb] {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.expense-type-structure-mask[data-v-671bd6fb] {
  position: fixed;
  inset: 0;
  z-index: 12450;
  background: rgba(15, 23, 42, 0.35);
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 48px 16px;
}
.expense-type-structure-dialog[data-v-671bd6fb] {
  width: min(560px, 100%);
  background: #fff;
  border-radius: 10px;
  border: 1px solid #e2e8f0;
  box-shadow: 0 18px 48px rgba(15, 23, 42, 0.18);
  overflow: hidden;
}
.expense-type-structure-head[data-v-671bd6fb] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border-bottom: 1px solid #e8f0f3;
  background: #fafbfc;
}
.expense-type-structure-head-left[data-v-671bd6fb] {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}
.expense-type-structure-title[data-v-671bd6fb] {
  font-weight: 600;
  font-size: 15px;
  color: #0f172a;
}
.expense-type-structure-body[data-v-671bd6fb] {
  max-height: min(520px, 70vh);
  overflow-y: auto;
  padding: 6px 0 10px;
}
.expense-type-structure-row[data-v-671bd6fb] {
  border-bottom: 1px solid #f1f5f9;
}
.expense-type-structure-row--hover .expense-type-structure-row-inner[data-v-671bd6fb],
.expense-type-structure-row:hover .expense-type-structure-row-inner[data-v-671bd6fb] {
  background: color-mix(in srgb, var(--sidebar-teal) 11%, #ffffff);
}
.expense-type-structure-row-inner[data-v-671bd6fb] {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  min-height: 40px;
  padding-right: 10px;
}
.expense-type-structure-chevron[data-v-671bd6fb] {
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  border: none;
  background: transparent;
  color: var(--sidebar-teal, #5fb8c1);
  cursor: pointer;
  font-size: 10px;
  padding: 0;
}
.expense-type-structure-chevron-spacer[data-v-671bd6fb] {
  flex: 0 0 22px;
  width: 22px;
}
.expense-type-structure-label[data-v-671bd6fb] {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 14px;
  color: #1e293b;
}
.expense-type-structure-actions[data-v-671bd6fb] {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  max-width: min(220px, 46vw);
}
.expense-type-structure-empty[data-v-671bd6fb] {
  padding: 24px 16px;
  text-align: center;
  color: #94a3b8;
  margin: 0;
}
.expense-type-editor .settlement-save-btn[data-v-671bd6fb],
.income-type-editor .settlement-save-btn[data-v-671bd6fb] {
  color: var(--ui-accent-ink, #0a5f6e);
  border-color: color-mix(in srgb, var(--sidebar-teal) 48%, #9ec9cf);
  background: color-mix(in srgb, var(--sidebar-teal) 10%, #ffffff);
}
.expense-type-editor .settlement-save-btn[data-v-671bd6fb]:hover,
.income-type-editor .settlement-save-btn[data-v-671bd6fb]:hover {
  background: color-mix(in srgb, var(--sidebar-teal) 20%, #ffffff);
  border-color: var(--sidebar-teal, #5fb8c1);
}
.expense-type-editor .settlement-enable-toggle[data-v-671bd6fb],
.income-type-editor .settlement-enable-toggle[data-v-671bd6fb] {
  color: var(--ui-accent-ink, #0a5f6e);
}

/* 商品分类页：左侧树为主操作区 */
.product-category-manage-page[data-v-671bd6fb] {
  margin-top: 4px;
  background: #fff;
}
.product-category-manage-page .inventory-sub-page-title[data-v-671bd6fb] {
  margin: 0;
  font-size: var(--crm-page-heading-size, 18px);
  font-weight: var(--crm-page-heading-weight, 700);
  color: var(--crm-page-heading-color, #000);
}
.product-category-panel[data-v-671bd6fb] {
  border-radius: 10px;
  border: 1px solid #e5e7eb;
  background: #fff;
  box-shadow: none;
  padding: 12px 14px 14px;
}
.product-category-side-title[data-v-671bd6fb] {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.product-category-side-hint[data-v-671bd6fb] {
  font-size: 12px;
  font-weight: 400;
  color: #94a3b8;
}
.product-category-head-tools[data-v-671bd6fb] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex: 1;
  min-width: 0;
}
.product-category-head-search[data-v-671bd6fb] {
  flex: 1;
  min-width: 140px;
  max-width: 220px;
  height: 32px;
  padding: 0 10px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  font-size: 13px;
  background: #fff;
}
.product-category-head-btn[data-v-671bd6fb] {
  height: 32px;
  padding: 0 12px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #fff;
  color: #475569;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  white-space: nowrap;
}
.product-category-head-btn[data-v-671bd6fb]:hover {
  border-color: #cbd5e1;
  background: #f8fafc;
}
.product-category-head-btn--primary[data-v-671bd6fb] {
  color: #0f766e;
  border-color: color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 40%, #e2e8f0);
  background: color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 10%, #fff);
}
.product-category-head-btn--primary[data-v-671bd6fb]:hover {
  background: color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 18%, #fff);
}
.product-category-manage-page .expense-type-sidebar[data-v-671bd6fb] {
  font-size: 14px;
  border: none;
  padding: 0;
}
.product-category-layout[data-v-671bd6fb] {
  grid-template-columns: minmax(300px, 44%) 1fr;
}
.product-category-layout--full[data-v-671bd6fb] {
  grid-template-columns: 1fr;
}
@media (max-width: 1000px) {
.product-category-layout[data-v-671bd6fb] {
    grid-template-columns: 1fr;
}
.product-category-side-head[data-v-671bd6fb] {
    flex-direction: column;
    align-items: stretch;
}
.product-category-head-tools[data-v-671bd6fb] {
    justify-content: flex-start;
}
.product-category-head-search[data-v-671bd6fb] {
    max-width: none;
}
}
.product-category-sidebar-tree[data-v-671bd6fb] {
  min-height: 200px;
}
.product-category-sidebar-tree--full[data-v-671bd6fb] {
  width: 100%;
  max-width: none;
}
.product-category-all-btn[data-v-671bd6fb] {
  width: 100%;
  text-align: left;
  font-weight: 600;
  color: #64748b;
  padding: 8px 4px;
  border: none;
  border-radius: 0;
  background: transparent;
  font-size: 13px;
}
.product-category-tree-list[data-v-671bd6fb] {
  max-height: min(70vh, 640px);
  overflow-y: auto;
  padding: 0;
  margin-top: 4px;
  border-top: 1px solid #f1f5f9;
  scrollbar-gutter: stable;
}
.product-category-tree-item[data-v-671bd6fb] {
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  margin: 0;
  padding-left: calc(4px + var(--pc-depth, 0) * 16px);
  position: relative;
  border-bottom: 1px solid #f1f5f9;
}
.product-category-tree-item[data-v-671bd6fb]:not(.product-category-tree-item--root)::before {
  display: none;
}
.product-category-tree-item.expense-type-category-item--active .product-category-sidebar-row[data-v-671bd6fb] {
  background: color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 8%, #fff);
}
.product-category-sidebar-row[data-v-671bd6fb] {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-width: 0;
  padding: 7px 4px;
  border-radius: 0;
  border: none;
  background: transparent;
  transition: background 0.12s ease;
}
.product-category-tree-item:hover .product-category-sidebar-row[data-v-671bd6fb] {
  background: #f8fafc;
  border: none;
  box-shadow: none;
}
.product-category-tree-label-btn[data-v-671bd6fb] {
  display: inline-flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 8px;
  min-width: 0;
  flex: 1;
  text-align: left;
}
.product-category-path-code[data-v-671bd6fb] {
  flex-shrink: 0;
  font-size: 12px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  color: #64748b;
  letter-spacing: 0.02em;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
}
.product-category-tree-name[data-v-671bd6fb] {
  word-break: break-word;
  font-weight: 500;
  color: #1e293b;
}
.product-category-usage-badge[data-v-671bd6fb] {
  flex-shrink: 0;
  font-size: 11px;
  font-weight: 500;
  padding: 0;
  border-radius: 0;
  line-height: 1.35;
  border: none;
  background: transparent;
}
.product-category-usage-badge--direct[data-v-671bd6fb] {
  color: #b45309;
}
.product-category-usage-badge--subtree[data-v-671bd6fb] {
  color: #94a3b8;
}
.product-category-sidebar-action-btn--wide[data-v-671bd6fb] {
  padding-left: 6px;
  padding-right: 6px;
}
.product-category-side-head[data-v-671bd6fb] {
  margin-bottom: 0;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  padding-bottom: 10px;
  border-bottom: 1px solid #e5e7eb;
}
.product-category-sidebar-actions[data-v-671bd6fb] {
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
  opacity: 0;
  transition: opacity 0.12s ease;
}
.product-category-tree-item:hover .product-category-sidebar-actions[data-v-671bd6fb],
.product-category-tree-item.expense-type-category-item--active .product-category-sidebar-actions[data-v-671bd6fb] {
  opacity: 1;
}
.product-category-sidebar-action-btn[data-v-671bd6fb] {
  border: none;
  background: transparent;
  color: #64748b;
  border-radius: 4px;
  cursor: pointer;
  font-size: 12px;
  font-weight: 500;
  padding: 2px 6px;
  white-space: nowrap;
  transition: color 0.12s ease, background 0.12s ease;
}
.product-category-sidebar-action-btn[data-v-671bd6fb]:hover:not(:disabled) {
  background: #f1f5f9;
  color: #0f766e;
  transform: none;
}
.product-category-sidebar-action-btn[data-v-671bd6fb]:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}
.product-category-sidebar-action-btn--danger[data-v-671bd6fb] {
  background: transparent;
  color: #94a3b8;
}
.product-category-sidebar-action-btn--danger[data-v-671bd6fb]:hover:not(:disabled) {
  background: #fef2f2;
  color: #dc2626;
}
.product-category-sidebar-inline-add[data-v-671bd6fb] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 8px 4px 8px calc(4px + var(--pc-depth, 0) * 16px);
  border-radius: 0;
  background: #fafafa;
  border: none;
  border-bottom: 1px solid #f1f5f9;
}
.product-category-sidebar-inline-add--root[data-v-671bd6fb] {
  margin-left: 0;
  padding-left: 4px;
}
.product-category-sidebar-inline-input[data-v-671bd6fb] {
  flex: 1;
  min-width: 120px;
  height: 34px;
  padding: 0 10px;
  border-radius: 8px;
  border: 1px solid #cbd5e1;
  font-size: 14px;
}
.product-category-compact-add[data-v-671bd6fb] {
  margin-bottom: 10px;
  padding: 10px 12px;
  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 16%, #e2e8f0);
  border-radius: 8px;
  background: #fff;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.product-category-compact-form[data-v-671bd6fb] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.product-category-compact-label[data-v-671bd6fb] {
  flex: 0 0 auto;
  font-size: 12px;
  font-weight: 600;
  color: var(--ui-accent-ink, #0a5f6e);
}
.product-category-compact-input[data-v-671bd6fb] {
  flex: 1 1 160px;
  min-width: 120px;
  height: 34px;
  border: 1px solid var(--input-border, #d5dde7);
  border-radius: 6px;
  padding: 0 10px;
  font-size: 13px;
}
.product-category-compact-select[data-v-671bd6fb] {
  flex: 1 1 140px;
  min-width: 120px;
  max-width: 280px;
  height: 34px;
  border: 1px solid var(--input-border, #d5dde7);
  border-radius: 6px;
  padding: 0 8px;
  font-size: 13px;
}
@media (min-width: 960px) {
.product-category-compact-add[data-v-671bd6fb] {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
}
.product-category-compact-add > .product-category-compact-form[data-v-671bd6fb] {
    flex: 1 1 280px;
}
}
.product-category-toolbar[data-v-671bd6fb] {
  margin-top: 2px;
  margin-bottom: 6px;
}
.product-category-pager[data-v-671bd6fb] {
  margin-top: 8px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}
.product-category-pager--compact .product-category-page-meta[data-v-671bd6fb] {
  font-size: 12px;
  color: var(--text-muted-light, #64748b);
}
.product-category-page-size[data-v-671bd6fb] {
  font-size: 12px;
  color: #475569;
}
.product-category-page-size select[data-v-671bd6fb] {
  margin: 0 4px;
  height: 30px;
  border-radius: 6px;
  border: 1px solid #d1d5db;
}
.product-category-table-path[data-v-671bd6fb] {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  line-height: 1.35;
}

/* ---------- 合同管理四列 ---------- */
.contract-management-root h3[data-v-671bd6fb] {
  margin-top: 0;
  color: #263238;
}
.contract-columns-4[data-v-671bd6fb] {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  align-items: start;
}
@media (max-width: 1200px) {
.contract-columns-4[data-v-671bd6fb] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
}
@media (max-width: 640px) {
.contract-columns-4[data-v-671bd6fb] {
    grid-template-columns: 1fr;
}
}
.contract-col-icon-income[data-v-671bd6fb]::before { content: '📥'; line-height: 1;
}
.contract-col-icon-expense[data-v-671bd6fb]::before { content: '📤'; line-height: 1;
}
.contract-col-icon-report[data-v-671bd6fb]::before { content: '📊'; line-height: 1;
}
.contract-col-icon-archive[data-v-671bd6fb]::before { content: '🗂'; line-height: 1;
}

/* ---------- 销售合同 ---------- */
.income-contract-page[data-v-671bd6fb] {
  overflow: visible;
}
.income-contract-page-title[data-v-671bd6fb] {
  margin: 0 0 12px;
  color: #0a5f6e;
  font-size: 18px;
}
.expense-contract-page-head[data-v-671bd6fb] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.expense-contract-page-title[data-v-671bd6fb] {
  margin-bottom: 0;
  color: #9a3412;
}
.expense-contract-form-grid[data-v-671bd6fb] {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.expense-contract-biz-type-label[data-v-671bd6fb] {
  grid-column: span 2;
}
.expense-contract-form-spacer[data-v-671bd6fb] {
  min-height: 1px;
}
.expense-contract-product-cell .ec-product-input[data-v-671bd6fb] {
  flex: 1;
  min-width: 80px;
  margin-bottom: 0 !important;
}
.ec-workbench-page .ec-workbench-title[data-v-671bd6fb] {
  color: #9a3412;
}
.ec-line-th-help .income-contract-tooltip[data-v-671bd6fb],
.ec-line-cell-help .income-contract-tooltip[data-v-671bd6fb] {
  left: auto;
  right: 0;
  top: calc(100% + 6px);
  width: min(300px, 88vw);
}
.income-contract-tooltip--compact[data-v-671bd6fb] {
  max-height: min(36vh, 200px);
}
.ic-cell-num[data-v-671bd6fb] {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.income-contract-form-grid[data-v-671bd6fb] {
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  margin-bottom: 14px;
}
/* 销售合同页主档：三列等分，控件撑满列宽（与采购合同等共用类名时支出页带 .expense-contract-page） */
.inventory-order-sheet.income-contract-page:not(.expense-contract-page) .field-grid.income-contract-form-grid[data-v-671bd6fb] {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px 12px;
  align-items: start;
}
.inventory-order-sheet.income-contract-page:not(.expense-contract-page) .field-grid.income-contract-form-grid > label[data-v-671bd6fb],
.inventory-order-sheet.income-contract-page:not(.expense-contract-page) .field-grid.income-contract-form-grid > .sales-customer-field[data-v-671bd6fb] {
  min-width: 0;
  margin: 0;
}
/* 与销货单主档一致：标签行占位 + 控件 36px，客户列与普通 label 列水平对齐 */
.inventory-order-sheet.income-contract-page:not(.expense-contract-page) .field-grid.income-contract-form-grid > label > span[data-v-671bd6fb],
.inventory-order-sheet.income-contract-page:not(.expense-contract-page) .field-grid.income-contract-form-grid .sales-customer-field > span[data-v-671bd6fb] {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  line-height: 20px;
  margin-bottom: 4px;
}
.inventory-order-sheet.income-contract-page:not(.expense-contract-page) .field-grid.income-contract-form-grid > label > select[data-v-671bd6fb],
.inventory-order-sheet.income-contract-page:not(.expense-contract-page) .field-grid.income-contract-form-grid > label > input[data-v-671bd6fb]:not([type='checkbox']):not([type='radio']) {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
  height: 36px;
  margin: 0;
  font-size: 13px;
  color: #111827;
}
.inventory-order-sheet.income-contract-page:not(.expense-contract-page) .field-grid.income-contract-form-grid .income-contract-biz-select[data-v-671bd6fb] {
  max-width: none;
  width: 100%;
  flex: none;
}
.inventory-order-sheet.income-contract-page:not(.expense-contract-page) .field-grid.income-contract-form-grid .sales-customer-field[data-v-671bd6fb] {
  display: flex;
  flex-direction: column;
}
.inventory-order-sheet.income-contract-page:not(.expense-contract-page) .field-grid.income-contract-form-grid .sales-customer-input-wrap[data-v-671bd6fb] {
  width: 100%;
  min-height: 36px;
  align-items: stretch;
}
.inventory-order-sheet.income-contract-page:not(.expense-contract-page) .field-grid.income-contract-form-grid .sales-customer-input-wrap input[data-v-671bd6fb] {
  background: #fff;
  border: 1px solid #d5dde7;
  border-radius: 8px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  height: 36px;
  margin: 0;
  font-size: 13px;
  color: #111827;
  box-sizing: border-box;
}
.inventory-order-sheet.income-contract-page:not(.expense-contract-page) .field-grid.income-contract-form-grid .sales-customer-input-wrap .sales-customer-more[data-v-671bd6fb] {
  height: 30px;
  width: 28px;
  min-width: 28px;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.inventory-order-sheet.income-contract-page:not(.expense-contract-page) .field-grid.income-contract-form-grid .sales-customer-input-wrap input[data-v-671bd6fb]:focus-visible {
  border-color: color-mix(in srgb, var(--sidebar-teal) 48%, #cbd5e1);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--sidebar-teal) 16%, transparent);
}
.inventory-order-sheet.income-contract-page:not(.expense-contract-page) .income-contract-form-grid-filler[data-v-671bd6fb] {
  min-height: 0;
  pointer-events: none;
  visibility: hidden;
}
.inventory-order-sheet .field-grid.income-contract-form-grid[data-v-671bd6fb] {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px 12px;
}
.inventory-order-sheet .field-grid.expense-contract-form-grid[data-v-671bd6fb] {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px 12px;
}
.inventory-order-sheet .expense-contract-biz-type-label[data-v-671bd6fb],
.inventory-order-sheet .income-contract-biz-type-label[data-v-671bd6fb] {
  grid-column: span 1;
}
@media (max-width: 720px) {
.inventory-order-sheet .field-grid.income-contract-form-grid[data-v-671bd6fb],
  .inventory-order-sheet .field-grid.expense-contract-form-grid[data-v-671bd6fb] {
    grid-template-columns: 1fr;
}
.inventory-order-sheet.income-contract-page:not(.expense-contract-page) .income-contract-form-grid-filler[data-v-671bd6fb] {
    display: none;
}
}
.income-contract-biz-type-label[data-v-671bd6fb] {
  grid-column: span 2;
}
.income-contract-biz-type-row[data-v-671bd6fb] {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.income-contract-biz-select[data-v-671bd6fb] {
  flex: 1;
  min-width: 160px;
  max-width: 280px;
  margin-bottom: 0 !important;
}
.income-contract-biz-help-wrap[data-v-671bd6fb] {
  position: relative;
  display: inline-flex;
  align-items: center;
  outline: none;
}
.income-contract-help-trigger[data-v-671bd6fb] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 35%, var(--border-light));
  background: #fff;
  color: #0a5f6e;
  font-size: 12px;
  font-weight: 700;
  cursor: help;
  line-height: 1;
}
.income-contract-biz-help-wrap:hover .income-contract-help-trigger[data-v-671bd6fb],
.income-contract-biz-help-wrap:focus-within .income-contract-help-trigger[data-v-671bd6fb] {
  background: color-mix(in srgb, var(--sidebar-teal) 14%, #fff);
}
.income-contract-tooltip[data-v-671bd6fb] {
  display: none;
  position: absolute;
  z-index: 80;
  top: 0;
  left: calc(100% + 10px);
  width: min(480px, calc(100vw - 48px));
  max-height: min(72vh, 560px);
  overflow: auto;
  padding: 0;
  margin: 0;
  border: 1px solid var(--border-light);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 12px 40px rgba(15, 23, 42, 0.14);
  text-align: left;
}
.income-contract-biz-help-wrap:hover .income-contract-tooltip[data-v-671bd6fb],
.income-contract-biz-help-wrap:focus-within .income-contract-tooltip[data-v-671bd6fb] {
  display: block;
}
.income-contract-tooltip-inner[data-v-671bd6fb] {
  padding: 12px 14px 14px;
  font-size: 12px;
  line-height: 1.55;
  color: #334155;
}
.ict-tip-block + .ict-tip-block[data-v-671bd6fb] {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px dashed #e2e8f0;
}
.ict-tip-h[data-v-671bd6fb] {
  margin: 0 0 8px;
  font-size: 13px;
  color: #0a5f6e;
}
.ict-tip-p[data-v-671bd6fb] {
  margin: 0 0 8px;
}
.ict-tip-strong[data-v-671bd6fb] {
  margin: 8px 0 4px;
  font-weight: 700;
  color: #0f172a;
}
.ict-tip-ol[data-v-671bd6fb],
.ict-tip-ul[data-v-671bd6fb] {
  margin: 0 0 8px;
  padding-left: 1.25em;
}
.ict-tip-note[data-v-671bd6fb] {
  margin: 0;
  font-size: 11px;
  color: #64748b;
}
.ict-tip-pre[data-v-671bd6fb] {
  margin: 0 0 8px;
  padding: 8px 10px;
  background: #f8fafc;
  border-radius: 8px;
  font-size: 11px;
  line-height: 1.45;
  white-space: pre-wrap;
  word-break: break-all;
}
@media (max-width: 720px) {
.income-contract-biz-type-label[data-v-671bd6fb] {
    grid-column: span 1;
}
.expense-contract-biz-type-label[data-v-671bd6fb] {
    grid-column: span 1;
}
.expense-contract-form-grid[data-v-671bd6fb] {
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
}
.income-contract-tooltip[data-v-671bd6fb] {
    left: auto;
    right: 0;
    top: calc(100% + 8px);
    width: min(100%, 92vw);
}
}
.income-contract-gpa-panel[data-v-671bd6fb] {
  margin-top: 4px;
}
.income-contract-gpa-wrap[data-v-671bd6fb] {
  overflow-x: auto;
  border: 1px solid #d5dde7;
  border-radius: 10px;
  background: #fff;
}
.income-contract-gpa-table[data-v-671bd6fb] {
  width: 100%;
  border-collapse: collapse;
  min-width: 1180px;
  font-size: 12px;
}
.income-contract-gpa-table th[data-v-671bd6fb],
.income-contract-gpa-table td[data-v-671bd6fb] {
  border: 1px solid #e2e8f0;
  padding: 8px 10px;
  text-align: left;
  vertical-align: top;
}
.income-contract-gpa-table thead th[data-v-671bd6fb] {
  background: #f1f5f9;
  font-weight: 600;
  color: #334155;
  white-space: nowrap;
}
.income-contract-gpa-table .numeric-cell[data-v-671bd6fb] {
  text-align: right;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.income-contract-gpa-seq[data-v-671bd6fb] {
  width: 48px;
  text-align: center;
  white-space: nowrap;
}
.income-contract-gpa-tfoot td[data-v-671bd6fb] {
  background: #f8fafc;
  font-weight: 600;
  color: #0f172a;
}
.income-contract-gpa-table--expense[data-v-671bd6fb] {
  min-width: 880px;
}
.income-contract-gpa-doc-link[data-v-671bd6fb] {
  border: none;
  background: transparent;
  color: #0f5b68;
  text-decoration: underline;
  cursor: pointer;
  padding: 0;
  font-size: 12px;
  line-height: 1.3;
  font-weight: 600;
}
.income-contract-gpa-panel .ic-gpa-section-title[data-v-671bd6fb] {
  margin: 16px 0 8px;
  font-size: 13px;
  font-weight: 600;
  color: #0f172a;
  line-height: 1.3;
}
.income-contract-gpa-panel .ic-gpa-section-title[data-v-671bd6fb]:first-of-type {
  margin-top: 4px;
}
.income-contract-gpa-panel .ic-gpa-settle[data-v-671bd6fb] {
  max-width: 420px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
}
.income-contract-gpa-panel .ic-gpa-settle-row[data-v-671bd6fb] {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 16px;
  padding: 8px 12px;
  border-top: 1px solid #f1f5f9;
}
.income-contract-gpa-panel .ic-gpa-settle-row[data-v-671bd6fb]:first-child {
  border-top: none;
}
.income-contract-gpa-panel .ic-gpa-settle-k[data-v-671bd6fb] {
  font-size: 12px;
  color: #64748b;
}
.income-contract-gpa-panel .ic-gpa-settle-v[data-v-671bd6fb] {
  font-size: 13px;
  font-weight: 600;
  color: #0f172a;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.income-contract-gpa-panel .ic-gpa-settle-row--total[data-v-671bd6fb] {
  background: color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 8%, #fff);
}
.income-contract-gpa-panel .ic-gpa-settle-row--total .ic-gpa-settle-k[data-v-671bd6fb] {
  color: #0a5f6e;
  font-weight: 700;
}
.income-contract-gpa-panel .ic-gpa-settle-row--total .ic-gpa-settle-v[data-v-671bd6fb] {
  color: #0a5f6e;
}
.income-contract-subject-foot[data-v-671bd6fb] {
  display: flex;
  gap: 10px;
  margin-top: 10px;
  flex-wrap: wrap;
}
.income-contract-product-cell[data-v-671bd6fb] {
  display: block;
  width: 100%;
  min-width: 0;
}
.income-contract-product-cell .sales-product-cell[data-v-671bd6fb] {
  width: 100%;
  max-width: 100%;
}
.income-contract-product-cell .sales-customer-input-wrap[data-v-671bd6fb] {
  width: 100%;
  max-width: 100%;
}
.income-contract-product-cell.expense-contract-product-cell[data-v-671bd6fb] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.ic-line-input[data-v-671bd6fb] {
  width: 100%;
  min-width: 0;
  margin-bottom: 0 !important;
  font-size: 12px;
  padding: 4px 6px !important;
}
.income-contract-lines-table tbody td .ic-line-input[data-v-671bd6fb] {
  height: 36px;
  min-height: 36px;
  padding: 8px 10px !important;
  box-sizing: border-box;
  border-radius: 8px;
}
.ic-line-center[data-v-671bd6fb] {
  text-align: center;
}
.ic-line-actions[data-v-671bd6fb] {
  white-space: nowrap;
}
.ic-line-actions .history-action-btn[data-v-671bd6fb] {
  margin-right: 4px !important;
}
.ic-tax-rate-with-suffix[data-v-671bd6fb] {
  position: relative;
  display: block;
  min-width: 0;
  width: 100%;
}
.ic-tax-rate-with-suffix .ic-line-input[data-v-671bd6fb] {
  width: 100%;
  min-width: 0;
  padding-right: 22px !important;
  box-sizing: border-box;
}
.ic-tax-rate-suffix[data-v-671bd6fb] {
  position: absolute;
  top: 50%;
  right: 8px;
  transform: translateY(-50%);
  pointer-events: none;
  font-size: 12px;
  line-height: 1;
  color: #64748b;
  user-select: none;
}
.ic-no-spinner[data-v-671bd6fb] {
  -moz-appearance: textfield;
}
.ic-no-spinner[data-v-671bd6fb]::-webkit-outer-spin-button,
.ic-no-spinner[data-v-671bd6fb]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.ic-unit-readonly[readonly][data-v-671bd6fb] {
  background: #f8fafc;
  color: #475569;
}
.ic-unit-price-cell[data-v-671bd6fb] {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  width: 100%;
}
.ic-unit-price-input[data-v-671bd6fb] {
  flex: 0 0 5.75em;
  width: 5.75em !important;
  min-width: 5.75em;
  max-width: 5.75em;
  box-sizing: border-box;
}
.ic-unit-price-src[data-v-671bd6fb] {
  flex: 0 0 6.5em;
  font-size: 11px;
  font-weight: 500;
  color: #7c3aed;
  min-width: 6.5em;
  max-width: 6.5em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ic-price-ref-btn[data-v-671bd6fb] {
  flex-shrink: 0;
  border: none;
  background: transparent;
  color: #059669;
  font-size: 1.15rem;
  line-height: 1;
  padding: 0 2px;
  cursor: pointer;
}
.ic-amend-banner[data-v-671bd6fb] {
  margin: 0 0 12px;
  padding: 10px 12px;
  font-size: 13px;
  line-height: 1.45;
  color: #0f172a;
  background: color-mix(in srgb, var(--sidebar-teal) 10%, #f8fafc);
  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 28%, #e2e8f0);
  border-radius: 8px;
}
.ic-amend-banner-line[data-v-671bd6fb] {
  margin: 0;
}
.ic-amend-banner-meta[data-v-671bd6fb] {
  margin: 8px 0 0;
  font-size: 12px;
  color: #334155;
  word-break: break-word;
}
.ic-amend-dialog-textarea[data-v-671bd6fb] {
  min-height: 88px;
  resize: vertical;
}
.ic-amend-dialog-hint[data-v-671bd6fb] {
  margin: 8px 0 0;
  font-size: 12px;
  color: #64748b;
}
.ic-amend-dialog-actions[data-v-671bd6fb] {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 14px;
}
.income-contract-lines-table .product-table-real th[data-v-671bd6fb],
.income-contract-lines-table th[data-v-671bd6fb] {
  font-size: 11px;
}
.income-contract-subtotal-row td[data-v-671bd6fb] {
  font-weight: 700;
  background: color-mix(in srgb, var(--sidebar-teal) 6%, #fff);
  color: #0a5f6e;
}
.income-contract-placeholder[data-v-671bd6fb] {
  padding: 24px 12px;
  text-align: center;
}
.income-profit-grid[data-v-671bd6fb] {
  display: grid;
  grid-template-columns: repeat(4, minmax(180px, 1fr));
  gap: 8px;
  margin: 0 0 10px;
}
.income-profit-card[data-v-671bd6fb] {
  border: 1px solid #d5dde7;
  border-radius: 8px;
  background: #fff;
  padding: 8px 10px;
  text-align: left;
  font-size: 13px;
  color: #0f172a;
}
.income-profit-card--highlight[data-v-671bd6fb] {
  border-color: #0ea5a3;
  color: #0f766e;
  font-weight: 600;
}

/* ---------- 收入确认单 / 历史（白底） ---------- */
.card.ir-page[data-v-671bd6fb],
.card.irh-page[data-v-671bd6fb],
.card.si-page[data-v-671bd6fb],
.card.sih-page[data-v-671bd6fb] {
  background: #fff !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
  border-color: #e8eaed !important;
}
.si-radio-group[data-v-671bd6fb] {
  display: flex;
  gap: 16px;
  align-items: center;
}
.si-radio[data-v-671bd6fb] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: #37474f;
  cursor: pointer;
}
.si-head-blue-red[data-v-671bd6fb] {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 12px;
}
.si-head-blue-red--first[data-v-671bd6fb] {
  border-left: 0;
}
.si-overflow-btn[data-v-671bd6fb] {
  width: 32px;
  height: 28px;
  border: none;
  border-radius: 4px;
  background: var(--sidebar-teal);
  color: #fff;
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
}
.si-master-grid[data-v-671bd6fb] {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px 24px;
  margin-bottom: 16px;
}
@media (max-width: 900px) {
.si-master-grid[data-v-671bd6fb] {
    grid-template-columns: 1fr 1fr;
}
}
@media (max-width: 560px) {
.si-master-grid[data-v-671bd6fb] {
    grid-template-columns: 1fr;
}
}
.si-gift-cell[data-v-671bd6fb] {
  text-align: center;
}
.pi-page[data-v-671bd6fb] {
  position: relative;
  overflow: visible;
}
.pi-attach-hint[data-v-671bd6fb] {
  position: absolute;
  top: 48px;
  right: 8px;
  z-index: 5;
  max-width: 200px;
  padding: 8px 12px;
  border-radius: 8px;
  background: color-mix(in srgb, var(--sidebar-teal, #0d9488) 12%, #fff);
  border: 1px solid color-mix(in srgb, var(--sidebar-teal, #0d9488) 35%, #e2e8f0);
  font-size: 12px;
  color: #0f766e;
  line-height: 1.45;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
  pointer-events: none;
}
.pi-attach-hint--history[data-v-671bd6fb] {
  top: 56px;
}
@media (max-width: 900px) {
.pi-attach-hint[data-v-671bd6fb],
  .pi-attach-hint--history[data-v-671bd6fb] {
    position: static;
    max-width: none;
    margin-bottom: 10px;
    pointer-events: auto;
}
}
.si-lines-table thead th[data-v-671bd6fb] {
  background: #e8eef5 !important;
}
.sih-filters[data-v-671bd6fb] {
  margin-bottom: 12px;
}
.sih-filter-row[data-v-671bd6fb] {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: flex-start;
}
.sih-filter-row--top[data-v-671bd6fb] {
  justify-content: space-between;
}
.sih-filter-grow[data-v-671bd6fb] {
  flex: 1 1 0;
  min-width: 0;
}
.sih-filter-stack[data-v-671bd6fb] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
/** 发票历史：快捷时间+单据日期独占一行（与销货单历史 OutboundOrderHistoryFilterPanel 一致） */
.sih-filter-date-block[data-v-671bd6fb] {
  width: 100%;
  min-width: 0;
}
.sih-filter-date-block .history-quick-date-status[data-v-671bd6fb] {
  width: 100%;
}
.sih-filter-date-block .history-quick-date-status .field-grid.sales-history-filter-dates[data-v-671bd6fb] {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 640px;
}
.sih-mini-field[data-v-671bd6fb] {
  display: flex;
  flex-direction: column;
  font-size: 12px;
  color: var(--text-on-light);
  margin: 0;
  min-width: 0;
}
.sih-mini-field > span[data-v-671bd6fb] {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  line-height: 20px;
  margin-bottom: 4px;
}
.sih-mini-picker[data-v-671bd6fb] {
  min-width: 0;
}
.sih-create-range[data-v-671bd6fb] {
  gap: 4px;
}
.sih-create-range-inputs[data-v-671bd6fb] {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 8px;
}
.sih-create-range-inputs > span[data-v-671bd6fb] {
  font-size: 12px;
  color: var(--text-on-light);
}
.sih-side-actions[data-v-671bd6fb] {
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex-shrink: 0;
}
.sih-table-scroll[data-v-671bd6fb] {
  overflow-x: auto;
}
.sih-table[data-v-671bd6fb] {
  min-width: 1200px;
}
.sih-page.purchase-page-shell .product-table-real tbody tr[data-v-671bd6fb]:nth-child(odd),
.sih-page.purchase-page-shell .product-table-real tbody tr[data-v-671bd6fb]:nth-child(even) {
  background: #fff !important;
}
.fep-sheet-nav-btn[data-v-671bd6fb] {
  min-width: 30px;
  padding: 4px 0 !important;
  font-size: 15px;
  line-height: 1;
}
.fep-master-grid[data-v-671bd6fb] {
  grid-template-columns: repeat(4, minmax(220px, 1fr));
  gap: 10px 12px;
}
.fep-master-grid .ir-field[data-v-671bd6fb] {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  gap: 0;
  min-width: 0;
  color: var(--text-on-light);
}
.fep-master-grid .ir-field-label[data-v-671bd6fb] {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 2px;
  min-height: 20px;
  line-height: 20px;
  margin-bottom: 4px;
  font-size: 12px;
  color: var(--text-on-light);
  box-sizing: border-box;
}
.fep-master-grid .sales-customer-field[data-v-671bd6fb] {
  min-width: 0;
  align-self: stretch;
}
.fep-master-grid .ir-field > .si-radio-group[data-v-671bd6fb] {
  width: 100%;
  box-sizing: border-box;
}
.fep-master-grid .ir-input-underline[data-v-671bd6fb],
.fep-master-grid .ir-select-underline[data-v-671bd6fb] {
  height: 36px;
  border: 1px solid #d5dde7 !important;
  border-radius: 8px !important;
  background: #fff !important;
  padding: 0 10px !important;
  font-size: 13px;
  color: #111827;
}
.fep-master-grid .ir-input-underline[data-v-671bd6fb]:focus,
.fep-master-grid .ir-select-underline[data-v-671bd6fb]:focus {
  border-color: color-mix(in srgb, var(--sidebar-teal) 48%, #cbd5e1) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--sidebar-teal) 16%, transparent) !important;
}
.fep-master-grid .si-radio-group[data-v-671bd6fb] {
  min-height: 36px;
  align-items: center;
}
.fep-master-grid .ir-input-with-pick .ir-input-underline[data-v-671bd6fb],
.fep-master-grid .ir-input-with-pick .ir-select-underline[data-v-671bd6fb] {
  height: 36px;
  border: 1px solid #d5dde7 !important;
  border-radius: 8px !important;
  background: #fff !important;
  padding: 0 10px !important;
  font-size: 13px;
  color: #111827;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
}
.fep-master-grid .ir-input-with-pick .ir-input-underline[data-v-671bd6fb]:focus,
.fep-master-grid .ir-input-with-pick .ir-select-underline[data-v-671bd6fb]:focus {
  border-color: color-mix(in srgb, var(--sidebar-teal) 48%, #cbd5e1) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--sidebar-teal) 16%, transparent) !important;
}
.fep-master-grid .ir-pick[data-v-671bd6fb] {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  border: 1px solid #d5dde7;
  background: #fff;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.fep-master-grid .ir-pick[data-v-671bd6fb]:hover {
  border-color: color-mix(in srgb, var(--sidebar-teal) 48%, #cbd5e1);
  color: var(--ui-accent-ink);
}
.ir-tool-link[data-v-671bd6fb] {
  border: none;
  background: none;
  color: #0a5f6e;
  font-size: 12px;
  cursor: pointer;
  padding: 4px 6px;
}
.ir-tool-link[data-v-671bd6fb]:hover {
  text-decoration: underline;
}
.ir-tool-btn[data-v-671bd6fb] {
  border: 1px solid #cfd8dc;
  background: #fff;
  border-radius: 4px;
  padding: 4px 10px;
  font-size: 12px;
  cursor: pointer;
  color: #455a64;
}
.ir-tool-btn--disabled[data-v-671bd6fb] {
  opacity: 0.45;
  cursor: not-allowed;
}
.ir-nav-arrows[data-v-671bd6fb] {
  display: inline-flex;
  gap: 2px;
}
.ir-icon-btn[data-v-671bd6fb] {
  width: 28px;
  height: 28px;
  border: 1px solid #cfd8dc;
  background: #fff;
  border-radius: 4px;
  cursor: pointer;
  font-size: 16px;
  line-height: 1;
  color: #546e7a;
}
.ir-menu-btn[data-v-671bd6fb] {
  width: 32px;
  height: 28px;
  border: none;
  border-radius: 4px;
  background: var(--sidebar-teal);
  color: #fff;
  font-size: 14px;
  cursor: pointer;
}
.ir-input-underline[data-v-671bd6fb] {
  border: none !important;
  border-bottom: 1px solid #b0bec5 !important;
  border-radius: 0 !important;
  background: transparent !important;
  padding: 4px 2px !important;
  font-size: 13px;
  box-shadow: none !important;
}
.ir-input-underline[data-v-671bd6fb]:focus {
  outline: none;
  border-bottom-color: var(--sidebar-teal) !important;
  box-shadow: none !important;
}
.ir-select-underline[data-v-671bd6fb] {
  appearance: auto;
  cursor: pointer;
}
.ir-master-grid[data-v-671bd6fb] {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px 20px;
  margin-bottom: 16px;
}
@media (max-width: 1100px) {
.ir-master-grid[data-v-671bd6fb] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
}
@media (max-width: 560px) {
.ir-master-grid[data-v-671bd6fb] {
    grid-template-columns: 1fr;
}
}
.ir-field[data-v-671bd6fb] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 12px;
  color: #546e7a;
}
.ir-field--full[data-v-671bd6fb] {
  grid-column: 1 / -1;
}
.ir-field--span-2[data-v-671bd6fb] {
  grid-column: span 2;
}
@media (max-width: 560px) {
.ir-field--span-2[data-v-671bd6fb] {
    grid-column: span 1;
}
}
.ir-cell-pick[data-v-671bd6fb] {
  display: flex;
  align-items: center;
  gap: 4px;
  width: 100%;
}
.ir-cell-pick .ir-cell-input[data-v-671bd6fb] {
  flex: 1;
  min-width: 0;
  margin-bottom: 0 !important;
}
.ir-input-with-pick[data-v-671bd6fb] {
  display: flex;
  align-items: center;
  gap: 4px;
}
.ir-input-with-pick .ir-input-underline[data-v-671bd6fb] {
  flex: 1;
  min-width: 0;
}
.ir-pick[data-v-671bd6fb] {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  padding: 0;
  border: 1px solid #cfd8dc;
  border-radius: 4px;
  background: #fafafa;
  cursor: pointer;
  font-size: 14px;
  line-height: 1;
}
.ir-pick[data-v-671bd6fb]:hover {
  border-color: var(--sidebar-teal);
  color: var(--ui-accent-ink);
}
.ir-num[data-v-671bd6fb] {
  text-align: right;
}
.ir-lines-head[data-v-671bd6fb] {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 6px;
}
.ir-lines-title[data-v-671bd6fb] {
  font-size: 13px;
  font-weight: 600;
  color: #37474f;
}
.ir-lines-hint[data-v-671bd6fb] {
  flex: 1;
  font-size: 12px;
  color: #78909c;
  font-weight: 500;
}
.ir-settings-btn[data-v-671bd6fb] {
  margin-left: auto;
  border: 1px solid #cfd8dc;
  background: #fff;
  border-radius: 4px;
  padding: 4px 10px;
  font-size: 12px;
  cursor: pointer;
  color: #546e7a;
}
.ir-lines-table-wrap[data-v-671bd6fb] {
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  overflow: auto;
}
.ir-lines-table thead th[data-v-671bd6fb] {
  background: #f0f2f5 !important;
  font-size: 11px;
  color: #455a64;
  white-space: nowrap;
}
.ir-cell-input[data-v-671bd6fb] {
  width: 100%;
  min-width: 0;
  border: 1px solid transparent;
  background: transparent;
  font-size: 12px;
  padding: 4px 6px;
}
.ir-cell-input[data-v-671bd6fb]:focus {
  outline: none;
  border-color: var(--sidebar-teal);
  border-radius: 2px;
  background: #fff;
}
.fep-search-field[data-v-671bd6fb] {
  display: flex;
  align-items: center;
  width: 100%;
  min-width: 0;
  height: 34px;
  padding: 0 6px 0 10px;
  border: 1px solid #d7dee8;
  border-radius: 10px;
  background: #fff;
}
.fep-search-field[data-v-671bd6fb]:focus-within {
  border-color: #8e99f3;
  box-shadow: 0 0 0 2px rgba(142, 153, 243, 0.14);
}
.fep-search-input[data-v-671bd6fb] {
  flex: 1;
  min-width: 0;
  border: none;
  outline: none;
  font-size: 12px;
  color: #475569;
  background: transparent;
}
.fep-search-input[data-v-671bd6fb]::placeholder {
  color: #94a3b8;
}
.fep-search-btn[data-v-671bd6fb] {
  width: 28px;
  height: 30px;
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  color: #6b8592;
  cursor: pointer;
  padding: 0;
  font-size: 14px;
  line-height: 1;
}
.fep-search-btn[data-v-671bd6fb]:hover {
  color: var(--ui-accent-ink, #0a5f6e);
  background: transparent;
}
.fep-lookup-mask[data-v-671bd6fb] {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.26);
  z-index: 2600;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.fep-lookup-dialog[data-v-671bd6fb] {
  width: min(680px, 96vw);
  max-height: 80vh;
  min-height: 0;
  background: #fff;
  border-radius: 12px;
  border: 1px solid #dbe3ee;
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.2);
  display: flex;
  flex-direction: column;
}
.fep-lookup-dialog--income-contract[data-v-671bd6fb] {
  width: min(1120px, 98vw);
}
.fep-lookup-dialog--sales-order[data-v-671bd6fb] {
  width: min(1020px, 98vw);
}
.fep-lookup-body--scroll[data-v-671bd6fb] {
  overflow: auto;
  flex: 1 1 auto;
  min-height: 0;
}
.fep-lookup-table--dense thead th[data-v-671bd6fb],
.fep-lookup-table--dense tbody td[data-v-671bd6fb] {
  font-size: 12px;
  padding: 8px 10px;
}
.fep-lookup-cell-multiline[data-v-671bd6fb] {
  white-space: normal;
  word-break: break-word;
  line-height: 1.4;
  vertical-align: top;
  max-width: 220px;
}
.fep-lookup-head[data-v-671bd6fb] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 14px;
  border-bottom: 1px solid #e2e8f0;
}
.fep-lookup-close[data-v-671bd6fb] {
  border: none;
  background: transparent;
  font-size: 20px;
  line-height: 1;
  color: #64748b;
  cursor: pointer;
}
.fep-lookup-toolbar[data-v-671bd6fb] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border-bottom: 1px solid #eef2f7;
}
.fep-lookup-search[data-v-671bd6fb] {
  flex: 1;
  border: 1px solid #d0dae7;
  border-radius: 8px;
  padding: 8px 10px;
  font-size: 13px;
}
.fep-lookup-count[data-v-671bd6fb] {
  color: #64748b;
  font-size: 12px;
}
.fep-lookup-body[data-v-671bd6fb] {
  overflow: auto;
  padding: 8px 10px 12px;
}
.fep-lookup-row[data-v-671bd6fb] {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border: 1px solid #e2e8f0;
  background: #fff;
  border-radius: 8px;
  margin: 0 0 8px 0;
  padding: 10px 12px;
  text-align: left;
  cursor: pointer;
}
.fep-lookup-row[data-v-671bd6fb]:hover {
  border-color: #8ea0f5;
  background: #f8faff;
}
.fep-lookup-row--active[data-v-671bd6fb] {
  border-color: #8ea0f5;
  background: #eef2ff;
}
.fep-lookup-main[data-v-671bd6fb] {
  font-size: 13px;
  color: #1e293b;
}
.fep-lookup-sub[data-v-671bd6fb] {
  font-size: 12px;
  color: #64748b;
}
.fep-lookup-empty[data-v-671bd6fb] {
  color: #64748b;
  text-align: center;
  padding: 16px 10px;
  font-size: 13px;
}
.fep-lookup-table[data-v-671bd6fb] {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}
.fep-lookup-table thead th[data-v-671bd6fb] {
  position: sticky;
  top: 0;
  background: #f8fafc;
  z-index: 1;
  border-bottom: 1px solid #dbe3ee;
  padding: 8px 10px;
  text-align: left;
  color: #475569;
}
.fep-lookup-table tbody td[data-v-671bd6fb] {
  border-bottom: 1px solid #edf2f7;
  padding: 8px 10px;
  color: #1e293b;
}
.fep-lookup-table-row--active td[data-v-671bd6fb],
.fep-lookup-table tbody tr:hover td[data-v-671bd6fb] {
  background: #eef2ff;
}
.fep-lookup-doc-link[data-v-671bd6fb] {
  border: none;
  background: transparent;
  color: #3f51b5;
  cursor: pointer;
  text-decoration: underline;
  padding: 0;
  font-size: 12px;
}
.fep-lookup-doc-cell[data-v-671bd6fb] {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.fep-lookup-open-doc[data-v-671bd6fb] {
  flex: 0 0 auto;
  border: 1px solid #c7d2fe;
  background: #f8fafc;
  color: #475569;
  border-radius: 6px;
  padding: 2px 6px;
  font-size: 12px;
  line-height: 1.2;
  cursor: pointer;
}
.fep-lookup-open-doc[data-v-671bd6fb]:hover {
  background: #eef2ff;
  border-color: #8ea0f5;
  color: #334155;
}
.fep-lookup-footer[data-v-671bd6fb] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 14px;
  border-top: 1px solid #e2e8f0;
  background: #f8fafc;
}
.fep-lookup-footer-hint[data-v-671bd6fb] {
  font-size: 11px;
  color: #64748b;
  line-height: 1.45;
  max-width: 100%;
  flex: 1 1 220px;
}
.fep-lookup-footer-actions[data-v-671bd6fb] {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
}
.fep-lookup-footer-btn[data-v-671bd6fb] {
  border: 1px solid #cbd5e1;
  background: #fff;
  color: #334155;
  border-radius: 8px;
  padding: 6px 14px;
  font-size: 13px;
  cursor: pointer;
}
.fep-lookup-footer-btn[data-v-671bd6fb]:hover:not(:disabled) {
  background: #f1f5f9;
}
.fep-lookup-footer-btn[data-v-671bd6fb]:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.fep-lookup-footer-btn--primary[data-v-671bd6fb] {
  border-color: #6366f1;
  background: #6366f1;
  color: #fff;
}
.fep-lookup-footer-btn--primary[data-v-671bd6fb]:hover:not(:disabled) {
  background: #4f46e5;
  border-color: #4f46e5;
}
.fep-lookup-amount[data-v-671bd6fb] {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.ir-cell-num[data-v-671bd6fb] {
  text-align: right;
  font-size: 12px;
}
.ir-line--active[data-v-671bd6fb] {
  background: var(--surface-brand-pale) !important;
}
.ir-line-idx[data-v-671bd6fb] {
  text-align: center;
  vertical-align: middle;
  font-size: 12px;
  color: #78909c;
}
.ir-line-add[data-v-671bd6fb] {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: none;
  background: var(--sidebar-teal);
  color: #fff;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}
.ir-line-actions[data-v-671bd6fb] {
  white-space: nowrap;
}
.ir-row-icon[data-v-671bd6fb] {
  border: none;
  background: none;
  cursor: pointer;
  padding: 2px 4px;
  font-size: 14px;
  opacity: 0.75;
}
.ir-row-icon[data-v-671bd6fb]:hover {
  opacity: 1;
}

/* ---------- 成本调整单 / 成本调整单历史 ---------- */
.ca-page .ca-sheet-title[data-v-671bd6fb] {
  margin: 0 0 10px;
  font-size: 18px;
  color: #0a5f6e;
}
.ca-toolbar-save-btn[data-v-671bd6fb] {
  font-weight: 600;
}
.ca-form-foot[data-v-671bd6fb] {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}
.ca-master-head[data-v-671bd6fb] {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 12px;
}
.ca-master-grid[data-v-671bd6fb] {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px 18px;
  flex: 1;
  min-width: 0;
}
@media (max-width: 1100px) {
.ca-master-grid[data-v-671bd6fb] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
}
@media (max-width: 720px) {
.ca-master-grid[data-v-671bd6fb] {
    grid-template-columns: 1fr;
}
}
.ca-master-settings[data-v-671bd6fb] {
  flex-shrink: 0;
  margin-top: 22px;
}
.ca-doc-pill[data-v-671bd6fb] {
  padding: 4px 10px;
  border-radius: 6px;
  background: color-mix(in srgb, var(--sidebar-teal) 8%, #f5f5f5);
  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 22%, #e0e0e0);
}
.ca-product-cell[data-v-671bd6fb] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: stretch;
}
.ca-scan-btn[data-v-671bd6fb] {
  align-self: flex-start;
  border: 1px solid var(--sidebar-teal);
  background: var(--surface-brand-pale);
  color: var(--ui-accent-ink);
  font-size: 11px;
  padding: 3px 10px;
  border-radius: 4px;
  cursor: pointer;
  font-weight: 500;
}
.ca-scan-btn[data-v-671bd6fb]:hover {
  background: var(--ui-accent-soft);
}
.ca-post-amount-cell[data-v-671bd6fb] {
  position: relative;
}
.ca-post-cell--warn[data-v-671bd6fb]::after {
  content: '';
  position: absolute;
  top: 2px;
  right: 2px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 7px 7px 0;
  border-color: transparent #e53935 transparent transparent;
}
.ca-page .ca-sheet-lines[data-v-671bd6fb] {
  border-color: color-mix(in srgb, var(--sidebar-teal) 12%, var(--border-light));
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
}
.ca-eo-lines-table[data-v-671bd6fb] {
  min-width: 1280px;
}
.ca-eo-lines-table thead th[data-v-671bd6fb] {
  background: linear-gradient(180deg, #e8fbfc 0%, #d1f2f4 100%) !important;
  color: #0a5f6e !important;
  font-weight: 600;
  border-bottom: 1px solid color-mix(in srgb, var(--sidebar-teal) 24%, #cfe8ea) !important;
  text-align: center;
  padding: 10px 8px;
  vertical-align: middle;
}
.ca-eo-lines-table tbody td[data-v-671bd6fb] {
  vertical-align: middle;
  padding: 8px;
}
.ca-eo-lines-table tbody tr[data-v-671bd6fb] {
  background: #fff !important;
}
.ca-eo-lines-table tbody tr[data-v-671bd6fb]:nth-child(odd) {
  background: #fff !important;
}
.ca-eo-line--active[data-v-671bd6fb] {
  background: rgba(95, 184, 193, 0.12) !important;
}
.ca-eo-seq[data-v-671bd6fb],
.ca-eo-seq-th[data-v-671bd6fb] {
  text-align: center !important;
}
.ca-eo-input[data-v-671bd6fb] {
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 6px 12px;
  border: 1px solid #b2d8dc;
  border-radius: 999px;
  background: #fff;
  font-size: 12px;
  color: #1e293b;
  box-sizing: border-box;
}
.ca-eo-input[data-v-671bd6fb]:focus {
  outline: none;
  border-color: #0a5f6e;
  box-shadow: 0 0 0 2px rgba(10, 95, 110, 0.12);
}
.ca-eo-input--num[data-v-671bd6fb] {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.ca-eo-read[data-v-671bd6fb] {
  font-size: 12px;
  color: #334155;
  padding: 6px 10px;
}
.ca-eo-read--num[data-v-671bd6fb] {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.ca-eo-read--center[data-v-671bd6fb] {
  text-align: center;
}
.ca-eo-read--placeholder[data-v-671bd6fb] {
  color: #94a3b8;
}
.ca-eo-actions[data-v-671bd6fb] {
  white-space: nowrap;
}
.ca-product-cell--eo[data-v-671bd6fb] {
  display: flex;
  flex-direction: column;
  gap: 6px;
  align-items: stretch;
  min-width: 0;
}
.ca-product-cell--eo .sales-product-cell[data-v-671bd6fb] {
  min-width: 0;
}
.ca-eo-lines-table .sales-customer-input-wrap input[data-v-671bd6fb] {
  border-radius: 999px;
  border: 1px solid #b2d8dc;
  padding: 6px 10px;
  font-size: 12px;
}
.ca-eo-lines-table .sales-customer-input-wrap .sales-customer-more[data-v-671bd6fb] {
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.ca-scan-btn--eo[data-v-671bd6fb] {
  align-self: flex-start;
  margin-top: 0;
}
.ca-sheet-lines-foot[data-v-671bd6fb] {
  padding: 8px 10px 0;
  border-top: 1px solid var(--border-light);
  background: #fff;
}
.ca-page .ca-sheet-summary-bar[data-v-671bd6fb] {
  margin-top: 0;
}
.cah-title[data-v-671bd6fb] {
  font-weight: 600;
}
.cah-ai-btn[data-v-671bd6fb] {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.cah-ai-badge[data-v-671bd6fb] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 18px;
  padding: 0 5px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #fff;
  background: linear-gradient(135deg, #1565c0, #42a5f5);
  border-radius: 3px;
}
.cah-tail-btn[data-v-671bd6fb] {
  font-weight: 600;
}
.cah-export-config-mask[data-v-671bd6fb] {
  position: fixed;
  inset: 0;
  background: var(--ui-dialog-mask);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1400;
}
.cah-export-config-modal[data-v-671bd6fb] {
  width: min(900px, 92vw);
  max-height: 82vh;
  overflow: auto;
  border-radius: 12px;
  border: 1px solid color-mix(in srgb, var(--ui-accent) 26%, var(--border-light));
  background: #fff;
  box-shadow: var(--ui-dialog-shadow);
  padding: 14px;
}
.cah-export-config-head[data-v-671bd6fb],
.cah-export-config-foot[data-v-671bd6fb] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.cah-export-preset-row[data-v-671bd6fb] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
}
.cah-export-preset-row select[data-v-671bd6fb] {
  min-width: 160px;
  border: 1px solid #d3deea;
  border-radius: 6px;
  padding: 5px 8px;
}
.cah-export-preset-name[data-v-671bd6fb] {
  min-width: 180px;
  border: 1px solid #d3deea;
  border-radius: 6px;
  padding: 6px 8px;
}
.cah-export-name-template[data-v-671bd6fb] {
  min-width: 340px;
  border: 1px solid #d3deea;
  border-radius: 6px;
  padding: 6px 8px;
}
.cah-export-var-actions[data-v-671bd6fb] {
  display: inline-flex;
  gap: 6px;
  flex-wrap: wrap;
}
.cah-export-template-hint[data-v-671bd6fb] {
  margin: 6px 0 0;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #64748b;
  font-size: 12px;
}
.cah-export-preview[data-v-671bd6fb] {
  margin-top: 6px;
  padding: 8px 10px;
  border: 1px dashed #c7d7ea;
  border-radius: 8px;
  background: #f8fbff;
  color: #334155;
  font-size: 12px;
  line-height: 1.5;
}
.cah-export-config-body[data-v-671bd6fb] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin: 12px 0;
}
.cah-export-section-head[data-v-671bd6fb] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}
.cah-export-mini-actions[data-v-671bd6fb] {
  display: inline-flex;
  gap: 6px;
}
.cah-export-search[data-v-671bd6fb] {
  width: 100%;
  margin: 0 0 8px;
  padding: 6px 8px;
  border: 1px solid #d3deea;
  border-radius: 6px;
  font-size: 12px;
  color: #1f2937;
  background: #fff;
}
.cah-export-columns-grid[data-v-671bd6fb] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 10px;
  padding: 10px;
  border: 1px solid #e4edf6;
  border-radius: 8px;
  background: #fbfdff;
}
.cah-export-col-item[data-v-671bd6fb] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: #334155;
}
.cah-export-empty[data-v-671bd6fb] {
  grid-column: 1 / -1;
  margin: 0;
  color: #64748b;
  font-size: 12px;
}
.tool-btn-with-help[data-v-671bd6fb] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.stock-alert-mode-banner[data-v-671bd6fb] {
  margin: 0 0 10px;
  padding: 8px 10px;
  border: 1px solid #fcd34d;
  border-radius: 6px;
  background: #fffbeb;
  color: #92400e;
  font-size: 12px;
  line-height: 1.5;
}

/* 水位线规则 / 特别关注商品：标签与输入同一行，选择区与列表同宽 */
.stock-alert-waterline-filters[data-v-671bd6fb],
.product-special-watch-filters[data-v-671bd6fb] {
  margin-bottom: 4px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  align-self: stretch;
}
.stock-alert-waterline-filters .ssp-ledger-filter-grid[data-v-671bd6fb],
.product-special-watch-filters .ssp-ledger-filter-grid[data-v-671bd6fb] {
  display: grid;
  grid-template-columns: minmax(200px, 1fr) minmax(280px, 1.6fr);
  gap: 10px 20px;
  margin-top: 0;
  width: 100%;
  align-items: center;
}
.product-special-watch-filters .ssp-ledger-filter-grid[data-v-671bd6fb] {
  grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
}
.stock-alert-waterline-filters .ssp-ledger-filter-field[data-v-671bd6fb],
.stock-alert-waterline-filters .ssp-ledger-filter-field--product[data-v-671bd6fb],
.product-special-watch-filters .ssp-ledger-filter-field[data-v-671bd6fb],
.product-special-watch-filters .ssp-ledger-filter-field--product[data-v-671bd6fb] {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  min-width: 0;
  width: 100%;
  align-self: stretch;
}
.stock-alert-waterline-filters .ssp-ledger-filter-field > span[data-v-671bd6fb]:first-child,
.stock-alert-waterline-filters .ssp-ledger-filter-field--product > span[data-v-671bd6fb]:first-child,
.product-special-watch-filters .ssp-ledger-filter-field > span[data-v-671bd6fb]:first-child,
.product-special-watch-filters .ssp-ledger-filter-field--product > span[data-v-671bd6fb]:first-child {
  display: block;
  flex: 0 0 4.5em;
  width: 4.5em;
  min-height: 0;
  line-height: 36px;
  margin: 0;
  padding: 0;
  white-space: nowrap;
  font-size: 12px;
  font-weight: 500;
  color: #546e7a;
}
.stock-alert-waterline-filters .ssp-ledger-filter-control[data-v-671bd6fb],
.product-special-watch-filters .ssp-ledger-filter-control[data-v-671bd6fb] {
  flex: 1 1 auto;
  min-width: 0;
  position: relative;
}
.stock-alert-waterline-filters .ssp-filter-select[data-v-671bd6fb],
.stock-alert-waterline-filters .ssp-filter-select--sheet[data-v-671bd6fb],
.product-special-watch-filters .ssp-filter-select[data-v-671bd6fb],
.product-special-watch-filters .ssp-filter-select--sheet[data-v-671bd6fb] {
  height: 36px;
  min-height: 36px;
  box-sizing: border-box;
}
.stock-alert-waterline-filters .ssp-ledger-filter-field--product[data-v-671bd6fb] .sales-product-cell,
.stock-alert-waterline-filters .ssp-ledger-filter-field--product[data-v-671bd6fb] .sales-customer-input-wrap,
.product-special-watch-filters .ssp-ledger-filter-field--product[data-v-671bd6fb] .sales-product-cell,
.product-special-watch-filters .ssp-ledger-filter-field--product[data-v-671bd6fb] .sales-customer-input-wrap {
  width: 100%;
  min-width: 0;
  height: 36px;
  min-height: 36px;
}
.stock-alert-waterline-filters .ssp-ledger-filter-field--product[data-v-671bd6fb] .sales-customer-input-wrap input,
.product-special-watch-filters .ssp-ledger-filter-field--product[data-v-671bd6fb] .sales-customer-input-wrap input {
  height: 36px;
  min-height: 36px;
  margin: 0;
  box-sizing: border-box;
  font-size: 13px;
  line-height: 1.35;
}
@media (max-width: 900px) {
.stock-alert-waterline-filters .ssp-ledger-filter-grid[data-v-671bd6fb],
  .product-special-watch-filters .ssp-ledger-filter-grid[data-v-671bd6fb] {
    grid-template-columns: 1fr;
}
}

/* 水位线规则表 / 特别关注商品表：按列宽精确布局 */
.stock-alert-waterline-table.crm-ledger-table.hist-config-table[data-v-671bd6fb],
.product-special-watch-table.crm-ledger-table.hist-config-table[data-v-671bd6fb],
.product-special-watch-list .stock-distribution-table.crm-ledger-table.hist-config-table[data-v-671bd6fb] {
  width: max-content !important;
  min-width: max-content !important;
  table-layout: fixed;
}
.stock-alert-waterline-table th[data-v-671bd6fb],
.stock-alert-waterline-table td[data-v-671bd6fb],
.product-special-watch-table th[data-v-671bd6fb],
.product-special-watch-table td[data-v-671bd6fb],
.product-special-watch-list .stock-distribution-table th[data-v-671bd6fb],
.product-special-watch-list .stock-distribution-table td[data-v-671bd6fb] {
  overflow: hidden;
  text-overflow: ellipsis;
}
.product-special-watch-table input.ir-input-underline[type='number'][data-v-671bd6fb],
.product-special-watch-list .stock-distribution-table input.ir-input-underline[type='number'][data-v-671bd6fb] {
  width: 100%;
  max-width: 4.5em;
  text-align: right;
  box-sizing: border-box;
}
.stock-alert-waterline-table td.stock-alert-wl-name[data-v-671bd6fb],
.stock-alert-waterline-table td.stock-alert-wl-remark[data-v-671bd6fb],
.product-special-watch-table td.stock-alert-wl-name[data-v-671bd6fb],
.product-special-watch-table td.stock-alert-wl-remark[data-v-671bd6fb],
.product-special-watch-list .stock-distribution-table td.stock-alert-wl-name[data-v-671bd6fb],
.product-special-watch-list .stock-distribution-table td.stock-alert-wl-remark[data-v-671bd6fb] {
  white-space: normal !important;
  word-break: break-word;
  overflow-wrap: anywhere;
  text-overflow: clip;
  line-height: 1.4;
  vertical-align: middle;
}

/* ---------- 现存量（库存核算表） ---------- */
.ssp-ledger-page .ssp-ledger-filters[data-v-671bd6fb] {
  margin-bottom: 4px;
}

/* 统计类列表页（出入库流水、毛利分析等）：content-area 由 JS 设 height 与侧栏底对齐；内层 StatLedgerViewport 滚动 */
.content-area--stat-ledger-fill[data-v-671bd6fb] {
  display: flex;
  flex-direction: column;
  align-self: stretch;
  min-height: 0;
  overflow: hidden;
}
.content-area--stat-ledger-fill .content-tabs-strip[data-v-671bd6fb],
.content-area--stat-ledger-fill .module-title[data-v-671bd6fb],
.content-area--stat-ledger-fill .crm-embed-banner[data-v-671bd6fb] {
  flex-shrink: 0;
}
.content-area--stat-ledger-fill .expense-module-wrap[data-v-671bd6fb],
.content-area--stat-ledger-fill .item-requisition-module-wrap[data-v-671bd6fb],
.content-area--stat-ledger-fill .partner-module-stack[data-v-671bd6fb] {
  flex: 1 1 0%;
  min-height: 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.content-area--stat-ledger-fill[data-v-671bd6fb] .item-requisition-host {
  flex: 1 1 0%;
  min-height: 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
/* :deep()：主卡片与视口在 DocumentPageShell / HistoryPageViewport 子组件内，scoped 需穿透 */
.content-area--stat-ledger-fill[data-v-671bd6fb] .stat-ledger-page.card {
  flex: 1 1 0%;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
.content-area--stat-ledger-fill[data-v-671bd6fb] .stat-ledger-page .doc-page-shell__title {
  flex-shrink: 0;
}
.content-area--stat-ledger-fill[data-v-671bd6fb] .stat-ledger-page .doc-page-shell__section {
  flex: 1 1 0%;
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.content-area--stat-ledger-fill[data-v-671bd6fb] .stat-ledger-page .ssp-ledger-filters {
  flex-shrink: 0;
}
.content-area--stat-ledger-fill[data-v-671bd6fb] .stat-ledger-page .history-page-viewport {
  flex: 1 1 0%;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.content-area--stat-ledger-fill[data-v-671bd6fb] .stat-ledger-page .history-page-viewport > .stat-ledger-page-stack {
  flex: 1 1 0%;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
}
/* 筛选：与采购/历史筛选条同系的轻量卡片 */
.content-area--stat-ledger-fill[data-v-671bd6fb] .stat-ledger-page .stat-ledger-filters {
  flex-shrink: 0;
  border-radius: 10px;
  border: 1px solid color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 16%, #e2e8f0);
  background: linear-gradient(180deg, color-mix(in srgb, var(--sidebar-teal) 6%, #ffffff) 0%, #ffffff 48%);
  padding: 12px 14px 14px;
  margin-bottom: 2px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.content-area--stat-ledger-fill[data-v-671bd6fb] .stat-ledger-page .stat-ledger-filters .ssp-ledger-filter-grid {
  margin-top: 10px;
}
.content-area--stat-ledger-fill[data-v-671bd6fb] .stat-ledger-page .stat-ledger-filters .ssp-ledger-filter-field > span:first-child {
  color: #546e7a;
  font-weight: 500;
}
.content-area--stat-ledger-fill[data-v-671bd6fb] .stat-ledger-page .stat-ledger-filters .gross-profit-stat-filter-grid {
  margin-top: 10px;
}
/* 商品档案（商品管理 card 内）：主区与侧栏底对齐，分类树 + 列表分区滚动 */
.content-area--stat-ledger-fill[data-v-671bd6fb] .stock-opening-balance-card.card {
  flex: 1 1 0%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.content-area--stat-ledger-fill[data-v-671bd6fb] .stock-opening-balance-card .stock-opening-balance-root {
  flex: 1 1 0%;
  min-height: 0;
}
.content-area--stat-ledger-fill[data-v-671bd6fb] .stock-opening-balance-card .doc-page-shell,
.content-area--stat-ledger-fill[data-v-671bd6fb] .stock-opening-balance-card .doc-create-ledger,
.content-area--stat-ledger-fill[data-v-671bd6fb] .stock-opening-balance-card .doc-history-ledger {
  flex: 1 1 0%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.content-area--stat-ledger-fill[data-v-671bd6fb] .stock-opening-balance-card .doc-page-shell__section {
  flex: 1 1 0%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.content-area--stat-ledger-fill[data-v-671bd6fb] .stock-opening-balance-card .sob-list-split,
.content-area--stat-ledger-fill[data-v-671bd6fb] .stock-opening-balance-card .stock-opening-sheet-page .history-page-viewport {
  flex: 1 1 0%;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
/* 库存期初制单：明细表吃满剩余视口（覆盖销货单 10 行 max-height；选择器须压过 doc-create 通用规则） */
.content-area--stat-ledger-fill[data-v-671bd6fb] .stock-opening-sheet-page.doc-create-ledger.stat-ledger-page .stat-ledger-page-stack.crm-ledger-list-shell,
.content-area--stat-ledger-fill[data-v-671bd6fb] .stock-opening-sheet-page.doc-create-ledger.stat-ledger-page .stat-ledger-page-stack__body,
.content-area--stat-ledger-fill[data-v-671bd6fb] .stock-opening-sheet-page.doc-create-ledger.stat-ledger-page .crm-ledger-list-shell .stat-ledger-single-slot,
.content-area--stat-ledger-fill[data-v-671bd6fb] .stock-opening-sheet-page.doc-create-ledger.stat-ledger-page .crm-ledger-list-shell .stat-ledger-single-slot > .hist-config-wrap {
  flex: 1 1 0% !important;
  min-height: 0;
}
.content-area--stat-ledger-fill[data-v-671bd6fb] .stock-opening-sheet-page.doc-create-ledger.stat-ledger-page .hist-config-scroll-outer,
.content-area--stat-ledger-fill[data-v-671bd6fb] .stock-opening-sheet-page.doc-create-ledger.stat-ledger-page .hist-config-wrap:not(.hist-config-wrap--pinned-footer) .hist-config-scroll-outer,
.content-area--stat-ledger-fill[data-v-671bd6fb] .stock-opening-sheet-page.doc-create-ledger.stat-ledger-page .hist-config-scroll-outer.sales-order-lines-table-scroll {
  flex: 1 1 0% !important;
  max-height: none !important;
  overflow: auto;
}
.content-area--stat-ledger-fill[data-v-671bd6fb] .product-archive-stat-ledger-card.card {
  flex: 1 1 0%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.content-area--stat-ledger-fill[data-v-671bd6fb] .product-archive-stat-ledger-card.card > h3,
.content-area--stat-ledger-fill[data-v-671bd6fb] .product-archive-stat-ledger-card.card > .sub-tabs,
.content-area--stat-ledger-fill[data-v-671bd6fb] .product-archive-stat-ledger-card.card > h4 {
  flex-shrink: 0;
}
.content-area--stat-ledger-fill[data-v-671bd6fb] .product-archive-page-root {
  flex: 1 1 0%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.content-area--stat-ledger-fill[data-v-671bd6fb] .product-archive-stat-ledger .stat-ledger-page-stack__body {
  flex: 1 1 0%;
  min-height: 0;
  overflow: hidden;
}
.content-area--stat-ledger-fill[data-v-671bd6fb] .product-archive-stat-ledger .stat-ledger-page-stack__after {
  flex-shrink: 0;
  z-index: 2;
  background: #fff;
  border-top: 1px solid color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 12%, #e2e8f0);
}
.content-area--stat-ledger-fill[data-v-671bd6fb] .product-archive-stat-ledger {
  flex: 1 1 0%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  margin-top: 0;
}
.content-area--stat-ledger-fill[data-v-671bd6fb] .product-archive-stat-ledger .product-archive-page-head,
.content-area--stat-ledger-fill[data-v-671bd6fb] .product-archive-stat-ledger .product-archive-page-toolbar-actions {
  flex-shrink: 0;
}
.content-area--stat-ledger-fill[data-v-671bd6fb] .product-archive-stat-ledger .product-archive-page-body {
  flex: 1 1 0%;
  min-height: 0;
  overflow: hidden;
}
.content-area--stat-ledger-fill[data-v-671bd6fb] .product-archive-stat-ledger .product-archive-page-sidebar {
  min-height: 0;
  overflow: auto;
}
.content-area--stat-ledger-fill[data-v-671bd6fb] .product-archive-stat-ledger .product-archive-page-main {
  flex: 1 1 0%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.content-area--stat-ledger-fill[data-v-671bd6fb] .product-archive-stat-ledger .product-archive-page-tools {
  flex-shrink: 0;
}
.content-area--stat-ledger-fill[data-v-671bd6fb] .product-archive-stat-ledger .history-page-viewport {
  flex: 1 1 0%;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.content-area--stat-ledger-fill[data-v-671bd6fb] .product-archive-stat-ledger .history-page-viewport > .stat-ledger-page-stack {
  flex: 1 1 0%;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
}
.content-area--stat-ledger-fill[data-v-671bd6fb] .product-archive-stat-ledger .hist-config-wrap {
  flex: 1 1 0%;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
.content-area--stat-ledger-fill[data-v-671bd6fb] .product-archive-stat-ledger .hist-config-scroll-outer {
  flex: 1 1 0%;
  min-height: 0;
  overflow-x: auto;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
}
.content-area--stat-ledger-fill[data-v-671bd6fb] .product-archive-stat-ledger .purchase-pagination-lite {
  flex-shrink: 0;
}

/* 库存预警：与商品档案同系 — 列表区内滚动，分页固定在底 */
.content-area--stat-ledger-fill[data-v-671bd6fb] .stock-alert-stat-ledger-card.card {
  flex: 1 1 0%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.content-area--stat-ledger-fill[data-v-671bd6fb] .stock-alert-stat-ledger-card.card > h3,
.content-area--stat-ledger-fill[data-v-671bd6fb] .stock-alert-stat-ledger-card.card > .sub-tabs {
  flex-shrink: 0;
}
.content-area--stat-ledger-fill[data-v-671bd6fb] .stock-alert-page-root {
  flex: 1 1 0%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.content-area--stat-ledger-fill[data-v-671bd6fb] .stock-alert-stat-ledger {
  flex: 1 1 0%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  margin-top: 0;
}
.content-area--stat-ledger-fill[data-v-671bd6fb] .stock-alert-page-head,
.content-area--stat-ledger-fill[data-v-671bd6fb] .stock-alert-page-error,
.content-area--stat-ledger-fill[data-v-671bd6fb] .stock-alert-page-desc,
.content-area--stat-ledger-fill[data-v-671bd6fb] .stock-alert-waterline-filters,
.content-area--stat-ledger-fill[data-v-671bd6fb] .product-special-watch-filters {
  flex-shrink: 0;
}
.content-area--stat-ledger-fill[data-v-671bd6fb] .stock-alert-page-main {
  flex: 1 1 0%;
  min-height: 0;
  min-width: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  overflow: hidden;
}
.content-area--stat-ledger-fill[data-v-671bd6fb] .stock-alert-waterline-list.history-page-viewport,
.content-area--stat-ledger-fill[data-v-671bd6fb] .product-special-watch-list.history-page-viewport,
.content-area--stat-ledger-fill[data-v-671bd6fb] .stock-alert-negative-list.history-page-viewport,
.content-area--stat-ledger-fill[data-v-671bd6fb] .stock-alert-page-main > .history-page-viewport {
  flex: 1 1 0%;
  min-height: 0;
  min-width: 0;
  width: 100%;
  max-width: 100%;
  align-self: stretch;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.content-area--stat-ledger-fill[data-v-671bd6fb] .stock-alert-waterline-filters.stat-ledger-filters .ssp-ledger-filter-grid {
  margin-top: 0;
  grid-template-columns: minmax(200px, 1fr) minmax(280px, 1.6fr);
  width: 100%;
}
.content-area--stat-ledger-fill[data-v-671bd6fb] .product-special-watch-filters.stat-ledger-filters .ssp-ledger-filter-grid {
  margin-top: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
  width: 100%;
}
.content-area--stat-ledger-fill[data-v-671bd6fb] .stock-alert-waterline-list .stat-ledger-page-stack__body,
.content-area--stat-ledger-fill[data-v-671bd6fb] .stock-alert-waterline-list .stat-ledger-page-stack__after,
.content-area--stat-ledger-fill[data-v-671bd6fb] .product-special-watch-list .stat-ledger-page-stack__body,
.content-area--stat-ledger-fill[data-v-671bd6fb] .product-special-watch-list .stat-ledger-page-stack__after {
  padding-left: 0;
  padding-right: 0;
  width: 100%;
  box-sizing: border-box;
}
.content-area--stat-ledger-fill[data-v-671bd6fb] .stock-alert-waterline-list .stat-ledger-list-shell,
.content-area--stat-ledger-fill[data-v-671bd6fb] .product-special-watch-list .stat-ledger-list-shell {
  width: 100%;
  min-width: 0;
}
.content-area--stat-ledger-fill[data-v-671bd6fb] .stock-alert-page-main > .module-desc,
.content-area--stat-ledger-fill[data-v-671bd6fb] .stock-alert-page-main > .table-toolbar,
.content-area--stat-ledger-fill[data-v-671bd6fb] .stock-alert-page-main > .stock-alert-mode-banner {
  flex-shrink: 0;
}
.content-area--stat-ledger-fill[data-v-671bd6fb] .stock-alert-stat-ledger .history-page-viewport > .stat-ledger-page-stack {
  flex: 1 1 0%;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
}
.content-area--stat-ledger-fill[data-v-671bd6fb] .stock-alert-stat-ledger .stat-ledger-page-stack__body {
  flex: 1 1 0%;
  min-height: 0;
  overflow: hidden;
}
.content-area--stat-ledger-fill[data-v-671bd6fb] .stock-alert-stat-ledger .stat-ledger-page-stack__after {
  flex-shrink: 0;
  z-index: 2;
  background: #fff;
  border-top: 1px solid color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 12%, #e2e8f0);
}
.content-area--stat-ledger-fill[data-v-671bd6fb] .stock-alert-stat-ledger .hist-config-wrap {
  flex: 1 1 0%;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
.content-area--stat-ledger-fill[data-v-671bd6fb] .stock-alert-stat-ledger .hist-config-scroll-outer:not(.hist-config-scroll-outer--head):not(.hist-config-scroll-outer--foot) {
  flex: 1 1 0%;
  min-height: 0;
  overflow-x: auto;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
}
.content-area--stat-ledger-fill[data-v-671bd6fb] .stock-alert-stat-ledger .purchase-pagination-lite {
  flex-shrink: 0;
}
.stock-alert-page-head[data-v-671bd6fb] {
  margin: 0 0 8px;
  font-size: 15px;
  color: #0f172a;
}
.stock-alert-page-desc[data-v-671bd6fb],
.stock-alert-page-error[data-v-671bd6fb] {
  margin: 0 0 10px;
}
.stock-alert-page-main[data-v-671bd6fb] {
  width: 100%;
  min-width: 0;
}
.stock-alert-waterline-list[data-v-671bd6fb],
.product-special-watch-list[data-v-671bd6fb] {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
.ssp-ledger-filter-grid[data-v-671bd6fb] {
  display: grid;
  grid-template-columns: repeat(3, minmax(140px, 1fr));
  gap: 12px 16px;
  align-items: start;
}
@media (max-width: 900px) {
.ssp-ledger-filter-grid[data-v-671bd6fb] {
    grid-template-columns: 1fr;
}
}
.ssp-ledger-filter-field[data-v-671bd6fb] {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}
.ssp-ledger-filter-field > span[data-v-671bd6fb]:first-child {
  font-size: 12px;
  color: #000;
}
.ssp-ledger-filter-product-full[data-v-671bd6fb] {
  grid-column: 1 / -1;
  min-width: 0;
}
.ssp-ledger-filter-product-label[data-v-671bd6fb] {
  display: block;
  font-size: 12px;
  color: #78909c;
  margin-bottom: 6px;
}
.ssp-filter-select[data-v-671bd6fb] {
  width: 100%;
  max-width: 100%;
  font-size: 13px;
  padding: 6px 8px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #fff;
  color: #000;
  box-sizing: border-box;
}
/* 现存量等筛选：白底 + 右侧黑色折线箭头（与状态下拉一致） */
.ssp-filter-select--sheet[data-v-671bd6fb],
button.ssp-filter-select.ssp-filter-select--sheet[data-v-671bd6fb],
button.ssp-filter-popover-trigger.ssp-filter-select--sheet[data-v-671bd6fb] {
  appearance: none;
  -webkit-appearance: none;
  border-radius: 8px;
  border: 1px solid #e2e8f0;
  padding: 8px 30px 8px 10px;
  background-color: #fff !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M2 3.5 5 6.5 8 3.5' fill='none' stroke='%23000' stroke-width='1.15' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 10px 10px;
  color: #000;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.35;
  cursor: pointer;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  margin-right: 0;
}
button.ssp-filter-select.ssp-filter-select--sheet[data-v-671bd6fb]:hover:not(:disabled),
button.ssp-filter-popover-trigger.ssp-filter-select--sheet[data-v-671bd6fb]:hover:not(:disabled) {
  background-color: #fff !important;
  border-color: #d1d5db;
  color: #000;
}
.ssp-filter-select--sheet[data-v-671bd6fb]:focus,
button.ssp-filter-select.ssp-filter-select--sheet[data-v-671bd6fb]:focus,
button.ssp-filter-popover-trigger.ssp-filter-select--sheet[data-v-671bd6fb]:focus {
  outline: none;
  border-color: color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 45%, #d1d5db);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 14%, transparent);
}
.ssp-filter-popover-host[data-v-671bd6fb] {
  position: relative;
  min-width: 0;
}
button.ssp-filter-popover-trigger[data-v-671bd6fb] {
  width: 100%;
  max-width: 100%;
  text-align: left;
  cursor: pointer;
  font: inherit;
}
.ssp-filter-popover-panel[data-v-671bd6fb] {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 6px);
  z-index: 80;
  max-height: 260px;
  display: flex;
  flex-direction: column;
  padding: 8px 10px;
  background: #fff;
  border: 1px solid color-mix(in srgb, var(--sidebar-teal, #0a5f6e) 32%, #cfd8dc);
  border-radius: 8px;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.12);
}
/* 现存量 · 商品分类：与商品档案左侧分类树同款（+/- 树、全选、全部分类） */
.ssp-filter-popover-panel--cat-tree[data-v-671bd6fb] {
  padding: 0;
  max-height: min(380px, 62vh);
  min-width: 268px;
  overflow: hidden;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  box-shadow: 0 10px 26px rgba(15, 68, 80, 0.14);
}
.ssp-filter-popover-panel--cat-tree .pcf-in-ssp-popover.pcf-simple-tree[data-v-671bd6fb] {
  flex: 1;
  min-height: 0;
  max-height: min(380px, 62vh);
  border-right: none;
  background: #fff;
}
.ssp-filter-popover-panel--cat-tree .pcf-in-ssp-popover .pcf-tree-toolbar[data-v-671bd6fb] {
  background: #fff;
}
.ssp-filter-popover-panel--cat-tree .pcf-in-ssp-popover .pcf-tree-scroll[data-v-671bd6fb] {
  max-height: min(320px, 58vh);
  background: #fff;
}
/* 现存量分类树：不受全局 button 圆角条块样式影响 */
.ssp-filter-popover-panel--cat-tree .pcf-simple-tree button.pcf-tree-box[data-v-671bd6fb],
.ssp-filter-popover-panel--cat-tree .pcf-simple-tree button.pcf-tree-label[data-v-671bd6fb],
.ssp-filter-popover-panel--cat-tree .pcf-simple-tree button.pcf-tree-all[data-v-671bd6fb] {
  margin-right: 0;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  box-shadow: none;
}
.ssp-filter-popover-head[data-v-671bd6fb] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
  padding-bottom: 6px;
  border-bottom: 1px solid #eceff1;
}
.ssp-filter-popover-all[data-v-671bd6fb] {
  padding: 4px 12px;
  font-size: 12px;
}
.ssp-filter-popover-scroll[data-v-671bd6fb] {
  overflow: auto;
  max-height: 200px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.ssp-filter-popover-check[data-v-671bd6fb] {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: #37474f;
  cursor: pointer;
  user-select: none;
  padding: 4px 2px;
  border-radius: 4px;
}
.ssp-filter-popover-check[data-v-671bd6fb]:hover {
  background: var(--surface-brand-pale, #e8f4f6);
}
.ssp-filter-popover-check input[data-v-671bd6fb] {
  margin: 0;
  flex-shrink: 0;
}
.ssp-filter-popover-check > span[data-v-671bd6fb] {
  flex: 1;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.35;
}
/* 复选框 + 文案同一行靠左（仓库多选、单据类型、现存量状态等弹层） */
.ssp-filter-popover-check.ssp-filter-popover-check--row[data-v-671bd6fb] {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  column-gap: 8px;
  width: 100%;
  box-sizing: border-box;
  justify-items: start;
  direction: ltr;
}
.ssp-filter-popover-check.ssp-filter-popover-check--row > span[data-v-671bd6fb] {
  flex: none;
  text-align: left;
  justify-self: start;
}
.ssp-filter-popover-foot[data-v-671bd6fb] {
  margin: 8px 0 0;
  padding-top: 6px;
  border-top: 1px solid #eceff1;
  font-size: 11px;
  color: #78909c;
  line-height: 1.4;
}
.ssp-filter-hint[data-v-671bd6fb] {
  font-size: 11px;
  color: #78909c;
  line-height: 1.4;
}
.ssp-stock-qty-link[data-v-671bd6fb] {
  color: var(--sidebar-teal, #0a5f6e);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
  cursor: pointer;
}
.ssp-stock-qty-link[data-v-671bd6fb]:hover {
  color: #08708a;
}
.ssp-warehouse-filter-col[data-v-671bd6fb] {
  min-width: 260px;
}
.ssp-warehouse-toolbar[data-v-671bd6fb] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}
.ssp-wh-all-btn[data-v-671bd6fb] {
  padding: 5px 14px;
  font-size: 12px;
}
.ssp-warehouse-summary[data-v-671bd6fb] {
  font-size: 12px;
  color: #546e7a;
}
.ssp-warehouse-checks[data-v-671bd6fb] {
  display: flex;
  flex-direction: column;
  gap: 6px;
  max-height: 168px;
  overflow: auto;
  padding: 8px 10px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  background: #fafafa;
}
.ssp-warehouse-check-label[data-v-671bd6fb] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: #37474f;
  cursor: pointer;
  user-select: none;
}
.ssp-warehouse-check-label input[data-v-671bd6fb] {
  flex-shrink: 0;
}
.ssp-warehouse-empty[data-v-671bd6fb] {
  margin: 0;
  font-size: 12px;
  color: #90a4ae;
}
.ssp-product-filter-col[data-v-671bd6fb] {
  position: relative;
}
.ssp-product-wrap[data-v-671bd6fb] {
  position: relative;
}
.ssp-product-input-row[data-v-671bd6fb] {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  width: 100%;
}
.ssp-product-input-row > input[data-v-671bd6fb] {
  flex: 1 1 160px;
  min-width: 120px;
}
.ssp-search-inline[data-v-671bd6fb] {
  flex: 0 0 auto;
  padding-left: 12px;
  padding-right: 12px;
}
.ssp-suggest-panel[data-v-671bd6fb] {
  position: absolute;
  z-index: 40;
  left: 0;
  right: 0;
  top: calc(100% + 4px);
  max-height: 320px;
  overflow: auto;
  background: #fff;
  border: 1px solid #cfd8dc;
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  padding: 6px 0;
}
.ssp-suggest-panel--empty[data-v-671bd6fb] {
  padding: 12px 14px;
  font-size: 12px;
  color: #78909c;
}
.ssp-suggest-item[data-v-671bd6fb] {
  padding: 8px 12px;
  border-bottom: 1px solid #eceff1;
  cursor: pointer;
  font-size: 12px;
}
.ssp-suggest-item[data-v-671bd6fb]:hover {
  background: var(--surface-brand-pale);
}
.ssp-suggest-item[data-v-671bd6fb]:last-child {
  border-bottom: none;
}
.ssp-suggest-head[data-v-671bd6fb] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
}
.ssp-suggest-sku[data-v-671bd6fb] {
  font-weight: 600;
  color: #0a5f6e;
}
.ssp-suggest-name[data-v-671bd6fb] {
  color: #37474f;
}
.ssp-suggest-status[data-v-671bd6fb] {
  margin-left: auto;
  font-size: 11px;
  padding: 2px 8px;
  border-radius: 4px;
  background: var(--surface-brand-pale);
  color: var(--ui-accent-ink);
}
.ssp-suggest-status--off[data-v-671bd6fb] {
  background: #ffebee;
  color: #c62828;
}
.ssp-suggest-model[data-v-671bd6fb] {
  color: #607d8b;
  font-size: 11px;
  margin-bottom: 4px;
}
.ssp-suggest-qty[data-v-671bd6fb] {
  color: #455a64;
  margin-bottom: 4px;
}
.ssp-suggest-wh[data-v-671bd6fb] {
  margin: 0;
  padding-left: 18px;
  color: #546e7a;
  font-size: 11px;
}
.ssp-suggest-wh-empty[data-v-671bd6fb] {
  list-style: none;
  padding-left: 0;
  color: #90a4ae;
}
.ssp-status-tags[data-v-671bd6fb] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 8px;
}
.ssp-status-tag[data-v-671bd6fb] {
  border: 1px solid #cfd8dc;
  background: #fff;
  color: #546e7a;
  font-size: 12px;
  padding: 5px 14px;
  border-radius: 6px;
  cursor: pointer;
}
.ssp-status-tag--active[data-v-671bd6fb] {
  border-color: var(--sidebar-teal);
  background: var(--surface-brand-pale);
  color: var(--ui-accent-ink);
  font-weight: 600;
}
.ssp-query-actions[data-v-671bd6fb] {
  padding-top: 0;
}
.ssp-filter-row2[data-v-671bd6fb] {
  margin-top: 4px;
}
.ssp-qty-checks[data-v-671bd6fb] {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 4px;
}
.ssp-qty-check-item[data-v-671bd6fb] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
}
.ssp-chart-placeholder[data-v-671bd6fb] {
  margin-top: 12px;
  padding: 24px;
}
.ssp-wh-cell[data-v-671bd6fb] {
  vertical-align: top;
  font-size: 12px;
}
.ssp-wh-list[data-v-671bd6fb] {
  margin: 0;
  padding-left: 18px;
  color: #455a64;
}
.ssp-table-status[data-v-671bd6fb] {
  font-size: 12px;
  color: var(--ui-accent-ink);
}
.ssp-table-status--off[data-v-671bd6fb] {
  color: #c62828;
}
.ir-subtotal-row td[data-v-671bd6fb] {
  font-weight: 600;
  background: #fafafa !important;
  font-size: 12px;
}
.ir-subtotal-label[data-v-671bd6fb] {
  text-align: right;
  color: #37474f;
}
.ir-form-foot[data-v-671bd6fb] {
  margin-top: 12px;
}

/* 历史列表页：红字单据标题（原 rexnh-title / 红字收入历史） */
.doc-history-pill--red[data-v-671bd6fb] {
  border-color: color-mix(in srgb, #c62828 42%, #ffcdd2) !important;
  background: linear-gradient(
    180deg,
    color-mix(in srgb, #c62828 10%, #ffffff) 0%,
    #ffebee 100%
  ) !important;
  color: #b71c1c !important;
  font-weight: 700 !important;
}
.irh-toolbar[data-v-671bd6fb] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}
.irh-check[data-v-671bd6fb] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  color: #37474f;
  margin-left: 8px;
  cursor: pointer;
  user-select: none;
}
.irh-filters[data-v-671bd6fb] {
  margin-bottom: 12px;
}
.irh-filter-row[data-v-671bd6fb] {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 12px 20px;
  margin-bottom: 10px;
}
.irh-filter-row--1[data-v-671bd6fb] {
  align-items: flex-start;
}
.irh-filter-block[data-v-671bd6fb] {
  flex: 1 1 280px;
  min-width: 220px;
}
.irh-filter-label[data-v-671bd6fb] {
  display: block;
  font-size: 12px;
  color: #78909c;
  margin-bottom: 4px;
}
.irh-quick[data-v-671bd6fb] {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-bottom: 6px;
}
.irh-date-range[data-v-671bd6fb] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  font-size: 12px;
}
.irh-date-range input[type='date'][data-v-671bd6fb] {
  font-size: 12px;
  padding: 4px 8px;
}
.irh-field[data-v-671bd6fb] {
  flex: 1 1 200px;
  min-width: 160px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 12px;
  color: #546e7a;
}
.irh-field input[data-v-671bd6fb],
.irh-field select[data-v-671bd6fb] {
  font-size: 12px;
  padding: 5px 8px;
}
.irh-pick-wrap[data-v-671bd6fb] {
  display: flex;
  gap: 4px;
  align-items: center;
}
.irh-pick-wrap input[data-v-671bd6fb] {
  flex: 1;
  min-width: 0;
}
.irh-due-range[data-v-671bd6fb] {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.irh-due-range .irh-filter-label[data-v-671bd6fb] {
  margin-bottom: 0;
  margin-right: 4px;
}
.irh-filter-actions[data-v-671bd6fb] {
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex-shrink: 0;
}
.irh-collapse[data-v-671bd6fb] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
  margin-top: 4px;
  padding: 6px;
  border: none;
  background: none;
  color: #0a5f6e;
  font-size: 12px;
  cursor: pointer;
}
.irh-collapse[data-v-671bd6fb]:hover {
  text-decoration: underline;
}
.irh-table thead th[data-v-671bd6fb] {
  background: #f0f2f5 !important;
  font-size: 12px;
  color: #455a64;
}
.irh-muted[data-v-671bd6fb] {
  text-align: center;
  color: #b0bec5;
}
.irh-detail-row .irh-detail-cell[data-v-671bd6fb] {
  font-size: 11px;
  color: #607d8b;
  background: #f8fafc;
  padding: 6px 12px;
}
.irh-page.purchase-page-shell .product-table-real tbody tr[data-v-671bd6fb]:nth-child(odd),
.irh-page.purchase-page-shell .product-table-real tbody tr[data-v-671bd6fb]:nth-child(even) {
  background: #fff !important;
}
.ir-red-head-settings[data-v-671bd6fb] {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 8px;
}
.ir-red-master-grid[data-v-671bd6fb] {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px 20px;
  margin-bottom: 16px;
}
.ir-field--red-remark[data-v-671bd6fb] {
  grid-column: 1 / -1;
}
.ir-red-line-row[data-v-671bd6fb] {
  cursor: pointer;
}
.rexnf-page[data-v-671bd6fb] {
  border-left: 3px solid #c62828;
}
.rexnf-doc-pill[data-v-671bd6fb] {
  background: color-mix(in srgb, #c62828 14%, #fff) !important;
  color: #8b1a1a !important;
}
.rexnf-line--active[data-v-671bd6fb] {
  background: #ffebee !important;
}
.rexnf-hint[data-v-671bd6fb] {
  margin: 0 0 10px;
  font-size: 12px;
  color: #c62828;
}
.rex-type-tag[data-v-671bd6fb] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  background: #ffebee;
  border: 1px solid #ffcdd2;
  border-radius: 6px;
  font-size: 12px;
  color: #b71c1c;
}
.rex-type-tag-x[data-v-671bd6fb] {
  border: none;
  background: none;
  cursor: pointer;
  font-size: 16px;
  line-height: 1;
  color: #546e7a;
  padding: 0 2px;
}
.rex-type-tag-x[data-v-671bd6fb]:hover {
  color: #c62828;
}
.rexnh-eye[data-v-671bd6fb] {
  border: none;
  background: none;
  cursor: pointer;
  padding: 0;
  font-size: 14px;
  color: #546e7a;
}
.rexnh-eye[data-v-671bd6fb]:hover {
  color: #b71c1c;
}
.ir-red-master-grid .ir-field--span-2[data-v-671bd6fb] {
  grid-column: span 2;
}
@media (max-width: 560px) {
.ir-red-master-grid .ir-field--span-2[data-v-671bd6fb] {
    grid-column: span 1;
}
}

/* 与销货单头表：三列等分（需同时挂 fep-master-grid） */
.inventory-order-sheet .ir-master-grid.fep-master-grid.sales-sheet-form[data-v-671bd6fb],
.inventory-order-sheet .ir-red-master-grid.fep-master-grid.sales-sheet-form[data-v-671bd6fb] {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px 12px;
  margin-bottom: 10px;
}
.inventory-order-sheet .si-master-grid.fep-master-grid.sales-sheet-form[data-v-671bd6fb] {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px 12px;
  margin-bottom: 10px;
}
.inventory-order-sheet .ca-master-grid.fep-master-grid.sales-sheet-form[data-v-671bd6fb] {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px 12px;
}
@media (max-width: 720px) {
.inventory-order-sheet .ca-master-grid.fep-master-grid.sales-sheet-form[data-v-671bd6fb] {
    grid-template-columns: 1fr;
}
}
.irh-field--doctype .irh-filter-label[data-v-671bd6fb] {
  display: block;
  margin-bottom: 4px;
}
.rir-type-tag[data-v-671bd6fb] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  background: var(--surface-brand-pale);
  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 22%, #f4f9fa);
  border-radius: 6px;
  font-size: 12px;
  color: var(--ui-accent-ink);
}
.rir-type-tag-x[data-v-671bd6fb] {
  border: none;
  background: none;
  cursor: pointer;
  font-size: 16px;
  line-height: 1;
  color: #546e7a;
  padding: 0 2px;
}
.rir-type-tag-x[data-v-671bd6fb]:hover {
  color: #c62828;
}
.rir-type-select[data-v-671bd6fb] {
  width: 100%;
  font-size: 12px;
  padding: 5px 8px;
}
@media (max-width: 1100px) {
.ir-red-master-grid[data-v-671bd6fb] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
}
@media (max-width: 560px) {
.ir-red-master-grid[data-v-671bd6fb] {
    grid-template-columns: 1fr;
}
}

/* ---------- 销售合同看板 ---------- */
.card.ick-page[data-v-671bd6fb] {
  background: #fff !important;
  border-color: #e8eaed !important;
  overflow: visible;
}
.ick-header[data-v-671bd6fb] {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid #eceff1;
}
.ick-header-main[data-v-671bd6fb] {
  flex: 1 1 280px;
  min-width: 0;
}
.ick-title[data-v-671bd6fb] {
  margin: 0 0 8px;
  font-size: 16px;
  font-weight: 600;
  color: #1a237e;
  line-height: 1.4;
}
.ick-title-name[data-v-671bd6fb] {
  color: #0d47a1;
}
.ick-title-meta[data-v-671bd6fb] {
  display: block;
  margin-top: 4px;
  font-size: 12px;
  font-weight: 400;
  color: #5c6bc0;
}
.ick-badges[data-v-671bd6fb] {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.ick-badge[data-v-671bd6fb] {
  display: inline-block;
  padding: 2px 10px;
  border-radius: 4px;
  font-size: 11px;
  border: 1px solid #cfd8dc;
  color: #546e7a;
  background: #fafafa;
}
.ick-badge--muted[data-v-671bd6fb] {
  border-color: #e0e0e0;
  color: #78909c;
}
.ick-badge--ok[data-v-671bd6fb] {
  border-color: color-mix(in srgb, var(--sidebar-teal) 38%, #dcebef);
  background: var(--surface-brand-pale);
  color: var(--ui-accent-ink);
  font-weight: 600;
}
.ick-header-actions[data-v-671bd6fb] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.ick-link-btn[data-v-671bd6fb] {
  border: none;
  background: none;
  color: #0a5f6e;
  font-size: 12px;
  cursor: pointer;
  padding: 4px 6px;
}
.ick-link-btn[data-v-671bd6fb]:hover {
  text-decoration: underline;
}
.ick-nav[data-v-671bd6fb] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid #e8eaf0;
}
.ick-nav-tab[data-v-671bd6fb] {
  border: 1px solid transparent;
  background: #f5f5f5;
  color: #546e7a;
  padding: 6px 14px;
  border-radius: 6px;
  font-size: 12px;
  cursor: pointer;
}
.ick-nav-tab[data-v-671bd6fb]:hover {
  background: #eeeeee;
}
.ick-nav-tab--active[data-v-671bd6fb] {
  background: #e3f2fd;
  border-color: #90caf9;
  color: #1565c0;
  font-weight: 600;
}
.ick-nav-sep[data-v-671bd6fb] {
  width: 1px;
  height: 20px;
  background: #cfd8dc;
  margin: 0 4px;
}
.ick-doc-chip[data-v-671bd6fb] {
  border: 1px solid #e0e0e0;
  background: #fff;
  color: #455a64;
  padding: 4px 10px;
  border-radius: 4px;
  font-size: 11px;
  cursor: pointer;
}
.ick-doc-chip[data-v-671bd6fb]:hover {
  border-color: #0a5f6e;
  color: #0a5f6e;
}
.ick-doc-chip--hot[data-v-671bd6fb] {
  border-color: #ffcc80;
  background: #fff8e1;
  color: #e65100;
}
.ick-placeholder[data-v-671bd6fb] {
  padding: 40px 16px;
  text-align: center;
}
.ick-section[data-v-671bd6fb] {
  margin-bottom: 20px;
}
.ick-section-title[data-v-671bd6fb] {
  margin: 0 0 10px;
  font-size: 14px;
  font-weight: 600;
  color: #37474f;
}
.ick-meta-section[data-v-671bd6fb] {
  background: #fafbfc;
  border: 1px solid #eceff1;
  border-radius: 8px;
  padding: 12px 14px;
}
.ick-meta-grid[data-v-671bd6fb] {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px 16px;
}
@media (max-width: 1000px) {
.ick-meta-grid[data-v-671bd6fb] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
}
.ick-meta-cell[data-v-671bd6fb] {
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-size: 12px;
}
.ick-meta-cell--amount .ick-amount-lg[data-v-671bd6fb] {
  font-size: 18px;
  font-weight: 700;
  color: #0d47a1;
}
.ick-meta-full[data-v-671bd6fb] {
  grid-column: 1 / -1;
}
.ick-meta-k[data-v-671bd6fb] {
  color: #90a4ae;
}
.ick-meta-v[data-v-671bd6fb] {
  color: #263238;
}
.ick-timeline-warn[data-v-671bd6fb] {
  margin: 0 0 10px;
  font-size: 12px;
  color: #c62828;
}
.ick-timeline[data-v-671bd6fb] {
  display: flex;
  align-items: flex-start;
  gap: 0;
  padding: 8px 0 4px;
}
.ick-timeline-node[data-v-671bd6fb] {
  flex: 0 0 auto;
  text-align: center;
  min-width: 88px;
}
.ick-timeline-node--mid[data-v-671bd6fb] {
  opacity: 0.85;
}
.ick-timeline-dot[data-v-671bd6fb] {
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #1976d2;
  margin: 0 auto 6px;
}
.ick-timeline-dot--hollow[data-v-671bd6fb] {
  background: #fff;
  border: 2px solid #90caf9;
}
.ick-timeline-bar[data-v-671bd6fb] {
  flex: 1 1 40px;
  height: 2px;
  background: linear-gradient(90deg, #90caf9, #e0e0e0);
  margin-top: 12px;
  min-width: 24px;
}
.ick-timeline-label[data-v-671bd6fb] {
  font-size: 11px;
  color: #607d8b;
}
.ick-timeline-date[data-v-671bd6fb] {
  font-size: 11px;
  color: #37474f;
  margin-top: 2px;
}
.ick-exec-head[data-v-671bd6fb] {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
}
.ick-exec-summary[data-v-671bd6fb] {
  display: flex;
  gap: 20px;
  font-size: 12px;
  color: #546e7a;
}
.ick-exec-summary strong[data-v-671bd6fb] {
  color: #0d47a1;
}
.ick-flow-cards[data-v-671bd6fb] {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
@media (max-width: 1100px) {
.ick-flow-cards[data-v-671bd6fb] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
}
@media (max-width: 560px) {
.ick-flow-cards[data-v-671bd6fb] {
    grid-template-columns: 1fr;
}
}
.ick-pcard[data-v-671bd6fb] {
  display: flex;
  border: 1px solid #e8eaf0;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
  min-height: 200px;
}
.ick-pcard-bar[data-v-671bd6fb] {
  width: 4px;
  flex-shrink: 0;
}
.ick-pcard--blue .ick-pcard-bar[data-v-671bd6fb] {
  background: #1e88e5;
}
.ick-pcard--teal .ick-pcard-bar[data-v-671bd6fb] {
  background: #00897b;
}
.ick-pcard--rose .ick-pcard-bar[data-v-671bd6fb] {
  background: #ec407a;
}
.ick-pcard--amber .ick-pcard-bar[data-v-671bd6fb] {
  background: #ffa726;
}
.ick-pcard-body[data-v-671bd6fb] {
  flex: 1;
  padding: 12px 12px 14px;
  min-width: 0;
}
.ick-pcard-title[data-v-671bd6fb] {
  margin: 0 0 6px;
  font-size: 13px;
  font-weight: 600;
  color: #37474f;
}
.ick-pcard-amount[data-v-671bd6fb] {
  font-size: 20px;
  font-weight: 700;
  color: #263238;
  line-height: 1.2;
}
.ick-pcard-sub[data-v-671bd6fb] {
  font-size: 11px;
  color: #90a4ae;
  margin: 4px 0 10px;
}
.ick-pcard-row[data-v-671bd6fb] {
  font-size: 12px;
  color: #455a64;
  margin-bottom: 6px;
}
.ick-pcard-row--muted[data-v-671bd6fb] {
  color: #78909c;
}
.ick-pct[data-v-671bd6fb] {
  color: #00897b;
  font-weight: 600;
}
.ick-progress[data-v-671bd6fb] {
  height: 6px;
  background: #eceff1;
  border-radius: 3px;
  overflow: hidden;
  margin-bottom: 8px;
}
.ick-progress-fill[data-v-671bd6fb] {
  display: block;
  height: 100%;
  background: #00897b;
  border-radius: 3px;
}
.ick-pcard-list[data-v-671bd6fb] {
  margin: 0 0 10px;
  padding-left: 1.1em;
  font-size: 11px;
  color: #607d8b;
  line-height: 1.5;
}
.ick-pcard-actions[data-v-671bd6fb] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  padding-top: 8px;
}
.ick-action-btn[data-v-671bd6fb] {
  border-radius: 4px;
  padding: 5px 12px;
  font-size: 12px;
  cursor: pointer;
  border: 1px solid transparent;
}
.ick-action-btn--teal[data-v-671bd6fb] {
  background: #e0f2f1;
  border-color: #4db6ac;
  color: #00695c;
}
.ick-action-btn--rose[data-v-671bd6fb] {
  background: #fce4ec;
  border-color: #f48fb1;
  color: #c2185b;
}
.ick-action-btn--amber[data-v-671bd6fb] {
  background: #fff8e1;
  border-color: #ffcc80;
  color: #e65100;
}
.ick-action-btn--ghost[data-v-671bd6fb] {
  background: #fff;
  border-color: #cfd8dc;
  color: #546e7a;
}
.ick-text-link[data-v-671bd6fb] {
  border: none;
  background: none;
  color: #0a5f6e;
  font-size: 11px;
  cursor: pointer;
  padding: 0;
}
.ick-text-link[data-v-671bd6fb]:hover {
  text-decoration: underline;
}
.ick-proc-grid[data-v-671bd6fb] {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
@media (max-width: 900px) {
.ick-proc-grid[data-v-671bd6fb] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
}
.ick-proc-card[data-v-671bd6fb] {
  border: 1px solid #e8eaf0;
  border-radius: 8px;
  padding: 12px;
  background: #fafbfc;
}
.ick-proc-title[data-v-671bd6fb] {
  margin: 0 0 8px;
  font-size: 12px;
  font-weight: 600;
  color: #546e7a;
}
.ick-proc-main[data-v-671bd6fb] {
  margin: 0 0 6px;
  font-size: 12px;
  color: #37474f;
}
.ick-proc-amount[data-v-671bd6fb] {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  color: #1565c0;
}
.ick-proc-row[data-v-671bd6fb] {
  margin: 6px 0;
  font-size: 12px;
}
.ick-proc-muted[data-v-671bd6fb] {
  margin: 4px 0 0;
  font-size: 11px;
  color: #90a4ae;
}

/* ---------- 销售合同历史 ---------- */
.ic-workbench-page[data-v-671bd6fb] {
  overflow: visible;
}
.ic-workbench-top[data-v-671bd6fb] {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}
.ic-workbench-title[data-v-671bd6fb] {
  margin: 0;
  font-size: var(--crm-page-heading-size, 18px);
  font-weight: var(--crm-page-heading-weight, 700);
  color: var(--crm-page-heading-color, #000);
}
.ic-workbench-top-actions[data-v-671bd6fb] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}
.ic-workbench-check[data-v-671bd6fb] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  color: #37474f;
  margin-left: 4px;
  cursor: pointer;
  user-select: none;
}
.ic-workbench-status-tabs[data-v-671bd6fb] {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid color-mix(in srgb, var(--sidebar-teal) 18%, #e0e0e0);
}
.ic-workbench-tab[data-v-671bd6fb] {
  border: 1px solid #cfd8dc;
  background: #fff;
  color: #455a64;
  padding: 6px 12px;
  border-radius: 6px;
  font-size: 12px;
  cursor: pointer;
}
.ic-workbench-tab[data-v-671bd6fb]:hover {
  border-color: #0a5f6e;
  color: #0a5f6e;
}
.ic-workbench-tab--active[data-v-671bd6fb] {
  background: color-mix(in srgb, var(--sidebar-teal) 14%, #fff);
  border-color: #0a5f6e;
  color: #0a5f6e;
  font-weight: 600;
}
.ic-workbench-filters[data-v-671bd6fb] {
  margin-bottom: 10px;
}
.ic-workbench-filter-cols[data-v-671bd6fb] {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 20px;
  align-items: flex-start;
}
.ic-workbench-filter-cols > .ic-workbench-filter-col[data-v-671bd6fb] {
  flex: 1 1 260px;
  min-width: 220px;
  max-width: 360px;
}
.ic-workbench-filter-cols > .ic-workbench-filter-actions[data-v-671bd6fb] {
  flex: 0 0 auto;
  margin-left: auto;
}
@media (max-width: 900px) {
.ic-workbench-filter-cols > .ic-workbench-filter-actions[data-v-671bd6fb] {
    margin-left: 0;
    width: 100%;
    flex-direction: row;
    justify-content: flex-end;
    padding-top: 0;
}
}
.ic-workbench-filter-col[data-v-671bd6fb] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.ic-workbench-filter-actions[data-v-671bd6fb] {
  display: flex;
  flex-direction: column;
  gap: 6px;
  justify-content: flex-start;
  padding-top: 22px;
}
.ic-workbench-label[data-v-671bd6fb] {
  font-size: 12px;
  font-weight: 600;
  color: #37474f;
}
.ic-workbench-quick-dates[data-v-671bd6fb] {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.ic-workbench-date-range[data-v-671bd6fb] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}
.ic-workbench-date-range input[type='date'][data-v-671bd6fb] {
  flex: 1;
  min-width: 0;
  max-width: 140px;
}
.ic-workbench-date-sep[data-v-671bd6fb] {
  font-size: 12px;
  color: #78909c;
}
.ic-workbench-field[data-v-671bd6fb] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 12px;
  color: #455a64;
}
.ic-workbench-field input[data-v-671bd6fb],
.ic-workbench-field select[data-v-671bd6fb] {
  width: 100%;
  min-width: 0;
  font-size: 12px;
  padding: 5px 8px;
}
.ic-workbench-picker-field[data-v-671bd6fb] {
  min-width: 0;
}
.ic-workbench-picker-field .sales-customer-field[data-v-671bd6fb] {
  font-size: 12px;
  color: #455a64;
}
.ic-workbench-picker-field .sales-customer-field > span[data-v-671bd6fb] {
  min-height: 20px;
  line-height: 20px;
  margin-bottom: 4px;
}
.ic-workbench-input-with-btn[data-v-671bd6fb] {
  display: flex;
  gap: 4px;
  align-items: center;
}
.ic-workbench-input-with-btn input[data-v-671bd6fb] {
  flex: 1;
  min-width: 0;
}
.ic-workbench-ellipsis[data-v-671bd6fb] {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  padding: 0;
  border: 1px solid #cfd8dc;
  border-radius: 4px;
  background: #fafafa;
  cursor: pointer;
  font-size: 14px;
  line-height: 1;
}
.ic-workbench-ellipsis[data-v-671bd6fb]:hover {
  border-color: #0a5f6e;
  color: #0a5f6e;
}
.ic-workbench-collapse[data-v-671bd6fb] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 8px;
  padding: 4px 0;
  border: none;
  background: none;
  color: #0a5f6e;
  font-size: 12px;
  cursor: pointer;
}
.ic-workbench-collapse[data-v-671bd6fb]:hover {
  text-decoration: underline;
}
.ic-workbench-collapse-arrow[data-v-671bd6fb] {
  font-size: 10px;
}
.ic-workbench-summary[data-v-671bd6fb] {
  margin: 0 0 8px;
  font-size: 13px;
  color: #546e7a;
}
.ic-workbench-flow-toolbar[data-v-671bd6fb] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin-bottom: 10px;
  padding: 8px 0;
  border-top: 1px dashed #cfd8dc;
  border-bottom: 1px dashed #cfd8dc;
}
.ic-workbench-flow-sep[data-v-671bd6fb] {
  width: 1px;
  height: 20px;
  background: #cfd8dc;
  margin: 0 4px;
}
.ic-workbench-table-wrap[data-v-671bd6fb] {
  margin-top: 4px;
}
.ic-workbench-th-settings[data-v-671bd6fb] {
  text-align: center;
  color: #90a4ae;
  font-size: 14px;
}
.ic-workbench-muted[data-v-671bd6fb] {
  text-align: center;
  color: #b0bec5;
}
.ic-workbench-detail-row .ic-workbench-detail-cell[data-v-671bd6fb] {
  font-size: 11px;
  color: #607d8b;
  background: #f5fafb;
  padding: 6px 12px 8px 48px;
}
.pm-col-icon-proj[data-v-671bd6fb]::before { content: '📋'; line-height: 1;
}
.pm-col-icon-report[data-v-671bd6fb]::before { content: '📈'; line-height: 1;
}
.pm-col-icon-archive[data-v-671bd6fb]::before { content: '📑'; line-height: 1;
}
.settings-column-title[data-v-671bd6fb] {
  font-weight: 600;
  font-size: 14px;
  color: var(--ui-accent-ink);
}
.settings-link-list[data-v-671bd6fb] {
  list-style: none;
  margin: 0;
  padding: 8px 12px 12px;
  border: 1px solid #e0e0e0;
  border-top: none;
  border-radius: 0 0 8px 8px;
  background: #fff;
}
.settings-link-list li[data-v-671bd6fb] {
  border-bottom: none;
}
.settings-link-row[data-v-671bd6fb] {
  display: flex;
  align-items: center;
  gap: 6px;
}
.settings-link[data-v-671bd6fb] {
  flex: 1;
  margin: 0 !important;
  padding: 8px 2px !important;
  text-align: left;
  font-size: 14px;
  color: #37474f !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  cursor: pointer;
  border-radius: 4px;
}
.settings-link[data-v-671bd6fb]:hover {
  color: var(--ui-accent-ink) !important;
  background: var(--surface-brand-paler) !important;
}
.settings-help[data-v-671bd6fb] {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  line-height: 18px;
  text-align: center;
  font-size: 11px;
  font-weight: 700;
  color: #78909c;
  border: 1px solid #cfd8dc;
  border-radius: 50%;
  cursor: help;
}
.settings-system-block[data-v-671bd6fb] {
  border: 1px solid #e0e0e0;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
}
.settings-system-head[data-v-671bd6fb] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  background: var(--surface-brand-pale);
  border-bottom: 1px solid color-mix(in srgb, var(--sidebar-teal) 22%, #f4f9fa);
}
.settings-system-icon[data-v-671bd6fb] {
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(95, 184, 193, 0.14);
  color: var(--ui-accent-ink);
  border-radius: 6px;
  font-size: 15px;
}
.settings-system-title[data-v-671bd6fb] {
  font-weight: 600;
  font-size: 14px;
  color: var(--ui-accent-ink);
}
.settings-system-list[data-v-671bd6fb] {
  list-style: none;
  margin: 0;
  padding: 4px 0;
}
.settings-system-item[data-v-671bd6fb] {
  display: block;
  width: 100%;
  margin: 0 !important;
  padding: 10px 16px !important;
  text-align: left;
  font-size: 14px;
  color: #37474f !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  cursor: pointer;
}
.settings-system-item[data-v-671bd6fb]:hover {
  background: #f5f5f5 !important;
}
.settings-system-list li + li .settings-system-item[data-v-671bd6fb] {
  border-top: 1px solid #f0f0f0 !important;
}
.print-preview-card[data-v-671bd6fb] {
  margin: 10px 12px 12px;
  border: 1px dashed #cbd5e1;
  border-radius: 8px;
  background: #f8fafc;
  padding: 10px;
  color: #334155;
  font-size: 12px;
}
.print-preview-mode[data-v-671bd6fb] {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  margin-bottom: 8px;
}
.print-pdf-tip[data-v-671bd6fb] {
  margin: 8px 12px 0;
  padding: 8px 10px;
  border: 1px solid #bfdbfe;
  border-radius: 8px;
  background: #eff6ff;
  color: #1e3a8a;
  font-size: 12px;
  line-height: 1.55;
}
.print-preview-running-head[data-v-671bd6fb] {
  text-align: right;
  color: #64748b;
  font-size: 11px;
  margin-bottom: 6px;
}
.print-preview-title[data-v-671bd6fb] {
  text-align: center;
  font-size: 18px;
  font-weight: 700;
  color: #0f172a;
}
.print-preview-sub[data-v-671bd6fb],
.print-preview-company[data-v-671bd6fb] {
  text-align: center;
  color: #64748b;
  font-size: 11px;
  margin-top: 2px;
}
.print-preview-meta[data-v-671bd6fb] {
  margin-top: 8px;
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.print-preview-table[data-v-671bd6fb] {
  margin-top: 8px;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  overflow: hidden;
  background: #fff;
}
.print-preview-row[data-v-671bd6fb] {
  display: grid;
  grid-template-columns: 1.1fr 1.3fr 0.6fr 0.8fr;
}
.print-preview-row span[data-v-671bd6fb] {
  padding: 5px 6px;
  border-right: 1px solid #e2e8f0;
}
.print-preview-row span[data-v-671bd6fb]:last-child { border-right: none;
}
.print-preview-row--head[data-v-671bd6fb] {
  background: var(--table-header-bg);
  font-weight: 700;
  color: #0a5f6e;
}
.print-preview-foot[data-v-671bd6fb] {
  margin-top: 8px;
  display: flex;
  justify-content: space-between;
  color: #64748b;
  font-size: 11px;
}
.print-import-diff-mask[data-v-671bd6fb] {
  position: fixed;
  inset: 0;
  background: var(--ui-dialog-mask);
  z-index: 95;
  display: flex;
  align-items: center;
  justify-content: center;
}
.print-import-diff-dialog[data-v-671bd6fb] {
  width: min(680px, 92vw);
  background: #fff;
  border: 1px solid var(--border-light);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: var(--ui-dialog-shadow);
}
.print-import-diff-head[data-v-671bd6fb] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px;
  border-bottom: 1px solid var(--border-light);
}
.print-import-diff-body[data-v-671bd6fb] {
  padding: 10px 12px;
}
.print-import-diff-table[data-v-671bd6fb] {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}
.print-import-diff-toolbar[data-v-671bd6fb] {
  display: flex;
  align-items: center;
  gap: 12px;
  justify-content: flex-end;
  margin-bottom: 8px;
  font-size: 12px;
  color: #475569;
}
.print-import-diff-stats[data-v-671bd6fb] {
  color: #0a5f6e;
  font-weight: 700;
}
.print-import-diff-toolbar label[data-v-671bd6fb] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.print-import-diff-table th[data-v-671bd6fb],
.print-import-diff-table td[data-v-671bd6fb] {
  border: 1px solid var(--border-light);
  padding: 7px 8px;
  text-align: left;
  vertical-align: top;
}
.print-import-diff-table thead th[data-v-671bd6fb] {
  background: var(--table-header-bg);
  color: #0a5f6e;
}
.print-import-diff-row--changed td[data-v-671bd6fb] {
  background: #fffbeb;
}
.print-import-diff-old[data-v-671bd6fb] {
  color: #64748b;
}
.print-import-diff-new[data-v-671bd6fb] {
  color: #1d4ed8;
  font-weight: 700;
}
.print-import-diff-foot[data-v-671bd6fb] {
  padding: 10px 12px;
  border-top: 1px solid var(--border-light);
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}
.inv-money-dialog-mask[data-v-671bd6fb] {
  position: fixed;
  inset: 0;
  z-index: 80;
  background: var(--ui-dialog-mask);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
}
.inv-money-dialog-card[data-v-671bd6fb] {
  background: #fff;
  border-radius: 12px;
  padding: 20px 22px;
  min-width: min(92vw, 360px);
  border: 1px solid color-mix(in srgb, var(--ui-accent) 24%, var(--border-light));
  box-shadow: var(--ui-dialog-shadow);
}
.inv-money-dialog-title[data-v-671bd6fb] {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  color: #0f172a;
}
.inv-money-dialog-field[data-v-671bd6fb] {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 13px;
  color: #334155;
}
.inv-money-dialog-field input[data-v-671bd6fb] {
  padding: 8px 10px;
  border: 1px solid var(--input-border);
  border-radius: 8px;
  font-size: 13px;
  background: var(--input-surface);
  box-shadow: var(--input-inner-shadow);
}

/* 立即收款：宽度较原设计加约 1/3；账号选择弹窗与之对齐（见 .settlement-modal--collect-pick） */
.inv-money-dialog-card--collect[data-v-671bd6fb] {
  --inv-collect-dialog-max: min(96vw, 854px);
  min-width: min(96vw, 694px);
  max-width: var(--inv-collect-dialog-max);
  width: var(--inv-collect-dialog-max);
  max-height: min(92vh, 720px);
  overflow: auto;
  padding: 0;
  display: flex;
  flex-direction: column;
}
.inv-collect-head[data-v-671bd6fb] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 18px 10px;
  border-bottom: 1px solid var(--border-light);
}
.inv-collect-close[data-v-671bd6fb] {
  border: none;
  background: rgba(15, 23, 42, 0.06);
  color: #64748b;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}
.inv-collect-close[data-v-671bd6fb]:hover {
  background: rgba(15, 23, 42, 0.1);
}
.inv-collect-summary[data-v-671bd6fb] {
  background: #f1f5f9;
  padding: 12px 18px;
  border-bottom: 1px solid var(--border-light);
  font-size: 13px;
  color: #334155;
}
.inv-collect-summary-row[data-v-671bd6fb] {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px;
  align-items: baseline;
}
.inv-collect-summary-row--top[data-v-671bd6fb] {
  margin-bottom: 8px;
}
.inv-collect-balance strong[data-v-671bd6fb] {
  font-weight: 700;
}
.inv-collect-balance--due strong[data-v-671bd6fb] {
  color: #b42318;
}
.inv-collect-body[data-v-671bd6fb] {
  padding: 14px 18px 8px;
  flex: 1;
  min-height: 0;
}
.inv-collect-split-row[data-v-671bd6fb] {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 10px 12px;
  margin-bottom: 12px;
}
.inv-collect-field[data-v-671bd6fb] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 13px;
  color: #334155;
  min-width: 120px;
  flex: 1;
}
.inv-collect-field--amt[data-v-671bd6fb] {
  flex: 0 0 120px;
  min-width: 100px;
}
.inv-collect-field input[data-v-671bd6fb] {
  padding: 8px 10px;
  border: 1px solid var(--input-border);
  border-radius: 8px;
  font-size: 13px;
  background: var(--input-surface);
}
.inv-collect-acc-wrap[data-v-671bd6fb] {
  display: flex;
  align-items: stretch;
  gap: 0;
  border: 1px solid var(--input-border);
  border-radius: 8px;
  overflow: hidden;
  background: var(--input-surface);
}
.inv-collect-acc-wrap input[data-v-671bd6fb] {
  border: none;
  border-radius: 0;
  flex: 1;
  min-width: 0;
  box-shadow: none;
}
.inv-collect-acc-readonly[data-v-671bd6fb] {
  cursor: default;
  color: #334155;
  background: #f8fafc !important;
}
.inv-collect-select[data-v-671bd6fb] {
  padding: 8px 10px;
  border: 1px solid var(--input-border);
  border-radius: 8px;
  font-size: 13px;
  background: var(--input-surface);
  min-width: 140px;
  max-width: 100%;
}
.inv-collect-acc-more[data-v-671bd6fb] {
  flex: 0 0 36px;
  border: none;
  background: color-mix(in srgb, var(--sidebar-teal) 18%, #ecfdf5);
  color: #0f766e;
  font-size: 16px;
  font-weight: 700;
  cursor: default;
  line-height: 1;
}
.inv-collect-add-split[data-v-671bd6fb] {
  flex: 0 0 auto;
  align-self: flex-end;
  padding: 8px 14px;
  font-size: 13px;
}
.inv-collect-remove-split[data-v-671bd6fb] {
  flex: 0 0 auto;
  align-self: flex-end;
  padding: 8px 10px;
  font-size: 13px;
  border: 1px solid var(--border-light);
  border-radius: 8px;
  background: #fff;
  cursor: pointer;
}
.inv-collect-total-line[data-v-671bd6fb] {
  margin: 8px 0 14px;
  font-size: 15px;
  color: #0f172a;
}
.inv-collect-total-line strong[data-v-671bd6fb] {
  font-size: 18px;
  font-weight: 700;
  margin-left: 6px;
}
.inv-collect-extra-grid[data-v-671bd6fb] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  align-items: start;
}
.inv-collect-discount-block[data-v-671bd6fb] {
  min-width: 0;
}
.inv-collect-discount-check[data-v-671bd6fb] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: #334155;
  margin: 0 0 6px;
  cursor: pointer;
  user-select: none;
}
.inv-collect-discount-check input[type='checkbox'][data-v-671bd6fb] {
  width: auto;
  margin: 0;
  flex: 0 0 auto;
}
.inv-collect-discount-title[data-v-671bd6fb] {
  font-size: 13px;
  color: #334155;
  margin-bottom: 4px;
}
.inv-collect-discount-row[data-v-671bd6fb] {
  display: flex;
  align-items: center;
  gap: 0;
  max-width: 100%;
}
.inv-collect-discount-num[data-v-671bd6fb] {
  flex: 0 1 120px;
  min-width: 72px;
  max-width: 160px;
  border-radius: 8px 0 0 8px !important;
  border-right: none !important;
}
.inv-collect-discount-suffix[data-v-671bd6fb] {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  padding: 8px 10px;
  font-size: 14px;
  font-weight: 600;
  color: #475569;
  background: #f1f5f9;
  border: 1px solid var(--input-border);
  border-left: none;
  border-radius: 0 8px 8px 0;
  box-shadow: var(--input-inner-shadow);
}
.inv-collect-discount-hint[data-v-671bd6fb] {
  margin: 8px 0 0;
  font-size: 12px;
  line-height: 1.45;
  color: #64748b;
}
.settlement-modal--collect-pick[data-v-671bd6fb] {
  width: min(96vw, 854px) !important;
  max-width: min(96vw, 854px) !important;
}
.inv-collect-remark-block[data-v-671bd6fb] {
  margin-top: 10px;
}
.inv-collect-remark-toggle[data-v-671bd6fb] {
  border: none;
  background: none;
  padding: 0;
  color: var(--sidebar-teal);
  font-weight: 600;
  font-size: 13px;
  cursor: pointer;
}
.inv-collect-remark-text[data-v-671bd6fb] {
  width: 100%;
  margin-top: 8px;
  padding: 8px 10px;
  border: 1px solid var(--input-border);
  border-radius: 8px;
  font-size: 13px;
  resize: vertical;
  min-height: 52px;
}
.inv-collect-foot[data-v-671bd6fb] {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 10px;
  padding: 12px 18px 16px;
  border-top: 1px solid var(--border-light);
  background: #fafafa;
}
.inv-collect-btn-cancel[data-v-671bd6fb] {
  padding: 8px 18px;
  border-radius: 8px;
  border: 1px solid #cbd5e1;
  background: #fff;
  color: #334155;
  font-size: 13px;
  cursor: pointer;
}
.inv-collect-btn-print[data-v-671bd6fb] {
  padding: 8px 18px;
  border-radius: 8px;
  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 55%, #86efac);
  background: #fff;
  color: #0f766e;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
}
.inv-collect-btn-print[data-v-671bd6fb]:hover {
  background: color-mix(in srgb, var(--sidebar-teal) 8%, #fff);
}

/* 销货历史：单据状态 / 收款状态 标签（参照管理端样式） */
.inv-doc-badge[data-v-671bd6fb] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 56px;
  padding: 2px 10px;
  border-radius: 999px;
  border: 1px solid transparent;
  font-size: 12px;
  font-weight: 600;
}
.inv-doc-badge--draft[data-v-671bd6fb] {
  color: #475569;
  background: #f1f5f9;
  border-color: #cbd5e1;
}
.inv-doc-badge--approved[data-v-671bd6fb] {
  color: #0f766e;
  background: color-mix(in srgb, var(--sidebar-teal) 14%, #ffffff);
  border-color: color-mix(in srgb, var(--sidebar-teal) 38%, #cbd5e1);
}
.inv-doc-badge--neutral[data-v-671bd6fb] {
  color: #334155;
  background: #e2e8f0;
  border-color: #cbd5e1;
}
.inv-pay-badge[data-v-671bd6fb] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 56px;
  padding: 2px 10px;
  border-radius: 999px;
  border: 1px solid transparent;
  font-size: 12px;
  font-weight: 600;
}
.inv-pay-badge--paid[data-v-671bd6fb] {
  color: #0f766e;
  background: color-mix(in srgb, var(--sidebar-teal) 14%, #ffffff);
  border-color: color-mix(in srgb, var(--sidebar-teal) 38%, #cbd5e1);
}
.inv-pay-badge--unpaid[data-v-671bd6fb] {
  color: #b42318;
  background: #fee2e2;
  border-color: #fca5a5;
}
.inv-pay-badge--partial[data-v-671bd6fb] {
  color: #9a3412;
  background: #fff7ed;
  border-color: #fdba74;
}
.inv-pay-cell[data-v-671bd6fb] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: flex-start;
  max-width: 220px;
}
.inv-pay-detail[data-v-671bd6fb] {
  font-size: 11px;
  line-height: 1.35;
  color: #64748b;
  word-break: break-all;
}
.inv-pay-badge--na[data-v-671bd6fb] {
  color: #64748b;
  background: #f1f5f9;
  border-color: #cbd5e1;
}
.inv-stat-badge[data-v-671bd6fb] {
  display: inline-flex;
  align-items: center;
  padding: 2px 10px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 600;
}
.inv-stat-badge--draft[data-v-671bd6fb] {
  color: #475569;
  background: color-mix(in srgb, var(--sidebar-teal) 10%, #f1f5f9);
}
.inv-stat-badge--neutral[data-v-671bd6fb] {
  color: #334155;
  background: #e2e8f0;
}
.inv-stat-badge--warn[data-v-671bd6fb] {
  color: #0f766e;
  background: color-mix(in srgb, var(--sidebar-teal) 22%, #ffffff);
}
/* 销货历史选中行细样式见文末非 scoped：.sales-history-page …（子组件表格无 App data-v，此处仅作兜底） */
.outbound-history-row--selected[data-v-671bd6fb] {
  background: transparent;
}
.outbound-history-row--selected .product-sticky-left[data-v-671bd6fb] {
  background: inherit;
}
.receipt-voucher-page .receipt-voucher-toolbar[data-v-671bd6fb] {
  margin-bottom: 12px;
}
.inventory-order-sheet.partner-doc-sheet .field-grid.receipt-voucher-toolbar[data-v-671bd6fb] {
  gap: 8px 12px;
  align-items: start;
}
.receipt-voucher-no-row[data-v-671bd6fb] {
  display: flex;
  gap: 8px;
  align-items: center;
}
.receipt-voucher-no-input[data-v-671bd6fb] {
  flex: 1;
  min-width: 0;
}
.receipt-voucher-remark-input[data-v-671bd6fb] {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
.receipt-voucher-collect[data-v-671bd6fb] {
  margin-top: 12px;
  max-width: 920px;
}
.receipt-voucher-card-footer[data-v-671bd6fb] {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid rgba(148, 163, 184, 0.35);
}
.receipt-voucher-ap-box .receipt-voucher-card-footer[data-v-671bd6fb] {
  margin-top: 16px;
}
.receipt-voucher-ap-box[data-v-671bd6fb] {
  margin-top: 12px;
}
.receipt-voucher-ap-box[data-v-671bd6fb]:not(.inv-money-dialog-card) {
  max-width: 480px;
}
@media (max-width: 1080px) {
.app-shell[data-v-671bd6fb] {
    flex-direction: column;
    overflow: auto;
}
.container--authed[data-v-671bd6fb] .sidebar-nav,
  .app-shell[data-v-671bd6fb] .sidebar-nav {
    width: 100%;
    min-width: 0;
    max-height: min(42vh, 360px);
}
.sidebar-hub-flyout[data-v-671bd6fb],
  .sidebar-hub-panel[data-v-671bd6fb] {
    width: 100%;
    max-width: none;
}
.sidebar-hub-flyout[data-v-671bd6fb] {
    align-self: stretch;
    min-height: min(50vh, 420px);
}
.sidebar-hub-panel[data-v-671bd6fb] {
    position: absolute;
    top: var(--hub-flyout-top, 0px);
}
}
/**
 * 窄屏（≤1200px）将大多数 .sales-sheet-form 收为「单列通栏」。
 * 会覆盖前文的 .inventory-order-sheet .field-grid.sales-sheet-form{三列}，故常见桌面宽度下
 * 若主档仍成单列，多半是本段命中。需要始终三列的进销存主信息请给容器加 .sales-inventory-master-3，
 * 并在下一条 :not 中已排除该标记类。
 */
@media (max-width: 1200px) {
.sales-sheet-form[data-v-671bd6fb]:not(.sales-history-filter-dates):not(.sales-history-filter-kw-partner):not(.fep-master-grid):not(
    .sales-inventory-master-3
  ) {
    grid-template-columns: 1fr;
}
.sales-order-page.inventory-order-sheet .field-grid.sales-sheet-form.sales-outbound-master-form[data-v-671bd6fb] {
    grid-template-columns: 1fr;
}
.sales-form-partner-row[data-v-671bd6fb] {
    grid-template-columns: 1fr;
    width: 100%;
    max-width: none;
}
.sales-form-full-row[data-v-671bd6fb],
  .sales-form-ship-row[data-v-671bd6fb],
  .sales-form-contact-item[data-v-671bd6fb],
  .sales-form-contact-remark[data-v-671bd6fb] {
    grid-column: 1 / -1;
}
.sales-form-ship-row > input[data-v-671bd6fb] {
    width: 100%;
    max-width: none;
}
}
.er-loan-link-hint[data-v-671bd6fb] {
  margin: 8px 0 0;
  padding: 8px 10px;
  border-radius: 6px;
  font-size: 12px;
  line-height: 1.45;
  color: #7c4a03;
  background: #fff8eb;
  border: 1px solid #f3dfb0;
}
.er-loan-link-hint--settled[data-v-671bd6fb] {
  color: #1f5f46;
  background: #eefbf4;
  border-color: #b9e6cc;
}
.er-loan-link-warn[data-v-671bd6fb] {
  color: #9a3412;
}
/* 按模板导出合同（销售/采购类）弹窗 */
.ced-dialog.inv-money-dialog-card {
  --ced-teal: var(--sidebar-teal, #5fb8c1);
  --ced-ink: var(--ui-accent-ink, #0a5f6e);
  display: flex;
  flex-direction: column;
  width: min(92vw, 720px);
  max-width: 720px;
  max-height: min(90vh, 860px);
  min-width: min(92vw, 520px);
  padding: 0 !important;
  overflow: hidden;
}
.ced-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 18px 12px;
  border-bottom: 1px solid color-mix(in srgb, var(--ced-teal) 16%, #e5e7eb);
  background: color-mix(in srgb, var(--ced-teal) 7%, #f8fafc);
  flex-shrink: 0;
}
.ced-head__title {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  color: var(--ced-ink);
  letter-spacing: 0.01em;
  line-height: 1.3;
}
.ced-head__close {
  margin: 0 !important;
  padding: 0 !important;
  width: 32px;
  height: 32px;
  min-height: 0;
  border: none !important;
  border-radius: 8px !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  font-size: 22px;
  line-height: 1;
  color: #64748b;
  cursor: pointer;
}
.ced-head__close:hover {
  background: color-mix(in srgb, var(--ced-teal) 12%, #fff) !important;
  color: var(--ced-ink);
}
.ced-body {
  flex: 1;
  min-height: 0;
  overflow: auto;
  padding: 14px 18px 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.ced-tpl {
  position: relative;
  padding: 14px 14px 12px;
  border-radius: 10px;
  border: 1px solid color-mix(in srgb, var(--ced-teal) 42%, #cbd5e1);
  background:
    linear-gradient(
      180deg,
      color-mix(in srgb, var(--ced-teal) 14%, #ffffff) 0%,
      color-mix(in srgb, var(--ced-teal) 5%, #ffffff) 100%
    );
  box-shadow: inset 3px 0 0 var(--ced-ink);
}
.ced-tpl__top {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}
.ced-tpl__label {
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-size: 13px;
  font-weight: 700;
  color: var(--ced-ink);
}
.ced-tpl__meta {
  font-size: 11px;
  font-weight: 500;
  color: #64748b;
}
.ced-tpl__badge {
  flex-shrink: 0;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--ced-ink);
  background: color-mix(in srgb, var(--ced-teal) 18%, #fff);
  border: 1px solid color-mix(in srgb, var(--ced-teal) 36%, #e2e8f0);
}
.ced-tpl__select {
  width: 100%;
  height: 40px;
  min-height: 40px;
  box-sizing: border-box;
  padding: 8px 12px !important;
  margin: 0 !important;
  border: 1.5px solid color-mix(in srgb, var(--ced-teal) 48%, #94a3b8);
  border-radius: 8px;
  background: #fff;
  color: #0f172a;
  font-size: 14px;
  font-weight: 600;
  box-shadow: 0 1px 2px rgba(10, 95, 110, 0.08);
}
.ced-tpl__select:focus {
  outline: none;
  border-color: var(--ced-ink);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--ced-teal) 28%, transparent);
}
.ced-tpl__select:disabled {
  opacity: 0.65;
  cursor: wait;
}
.ced-tpl__hint {
  margin: 8px 0 0;
  font-size: 12px;
  line-height: 1.45;
  color: #475569;
}
.ced-section {
  padding: 12px 12px 10px;
  border: 1px solid #e8edf2;
  border-radius: 10px;
  background: #fff;
}
.ced-section__title {
  margin: 0 0 8px;
  font-size: 13px;
  font-weight: 700;
  color: var(--ced-ink);
}
.ced-details {
  margin: 0 0 10px;
  font-size: 12px;
  color: #64748b;
}
.ced-details summary {
  cursor: pointer;
  color: var(--ced-ink);
  font-weight: 600;
  list-style: none;
}
.ced-details summary::-webkit-details-marker {
  display: none;
}
.ced-details summary::before {
  content: '▸ ';
  color: var(--ced-teal);
}
.ced-details[open] summary::before {
  content: '▾ ';
}
.ced-details p {
  margin: 6px 0 0;
  line-height: 1.5;
  color: #64748b;
}
.ced-alert {
  margin: 0 0 10px;
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid color-mix(in srgb, #d97706 28%, #e2e8f0);
  background: #fff7ed;
  color: #9a3412;
  font-size: 12px;
  line-height: 1.5;
}
.ced-fields > .ced-alert {
  margin: 0;
}
.ced-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 12px;
}
.ced-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  font-size: 12px;
  color: #64748b;
}
.ced-field--full {
  grid-column: 1 / -1;
}
.ced-field--check {
  flex-direction: row;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}
.ced-field__name {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 6px;
  color: #334155;
  font-weight: 600;
}
.ced-field__var {
  font-size: 11px;
  font-weight: 500;
  color: #94a3b8;
}
.ced-field select,
.ced-field input[type='number'] {
  width: 100%;
  height: 32px;
  min-height: 32px;
  box-sizing: border-box;
  padding: 5px 8px !important;
  margin: 0 !important;
  border: 1px solid #d0d7de;
  border-radius: 8px;
  background: #fff;
  color: #0f172a;
  font-size: 12px;
}
.ced-field select:focus,
.ced-field input[type='number']:focus {
  outline: none;
  border-color: color-mix(in srgb, var(--ced-teal) 55%, #94a3b8);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--ced-teal) 18%, transparent);
}
.ced-note {
  margin: 10px 0 0;
  font-size: 12px;
  line-height: 1.45;
  color: #64748b;
}
.ced-formats {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.ced-format {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 36px;
  padding: 6px 12px;
  border-radius: 8px;
  border: 1px solid color-mix(in srgb, var(--ced-teal) 22%, #e2e8f0);
  background: #fff;
  color: #334155;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  user-select: none;
}
.ced-format.is-on {
  border-color: color-mix(in srgb, var(--ced-teal) 48%, #cbd5e1);
  background: color-mix(in srgb, var(--ced-teal) 10%, #ffffff);
  color: var(--ced-ink);
}
.ced-format input {
  margin: 0;
  accent-color: var(--ced-ink);
}
.ced-foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px 16px;
  padding: 10px 18px 12px;
  border-top: 1px solid #e8edf2;
  background: #f8fafc;
  flex-shrink: 0;
}
.ced-foot__left {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 10px;
  min-width: 0;
  flex: 1;
}
.ced-foot__hint {
  margin: 0;
  font-size: 11px;
  line-height: 1.4;
  color: #64748b;
  max-width: 360px;
}
.ced-foot__actions {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
}
.ced-dialog .purchase-tool-btn {
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
@media (max-width: 640px) {
.ced-fields {
    grid-template-columns: 1fr;
}
.ced-dialog.inv-money-dialog-card {
    min-width: min(96vw, 360px);
}
}
.ic-amend-banner {
  margin: 0 0 12px;
  padding: 10px 12px;
  font-size: 13px;
  line-height: 1.45;
  color: #0f172a;
  background: color-mix(in srgb, var(--sidebar-teal) 10%, #f8fafc);
  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 28%, #e2e8f0);
  border-radius: 8px;
}
.ic-amend-banner-line {
  margin: 0;
}
.ic-amend-banner-meta {
  margin: 8px 0 0;
  font-size: 12px;
  color: #334155;
  word-break: break-word;
}

/* 入库/出库/调拨单历史：操作列「补录SN」与「更多」水平对齐 */
.wh-doc-hist-actions {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 6px;
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
}
.wh-doc-hist-actions .history-action-btn {
  height: 28px;
  min-height: 28px;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin: 0;
}
.wh-doc-hist-actions .history-more-menu {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  min-height: 0;
  height: 28px;
  flex-shrink: 0;
}
.wh-doc-hist-actions .history-more-menu__primary:empty {
  display: none;
}
.wh-doc-hist-actions .history-more-menu__cluster {
  height: 28px;
}
.wh-doc-hist-actions .history-more-menu__hub {
  height: 28px;
  min-height: 28px;
  box-sizing: border-box;
}
.sales-history-page.inventory-order-sheet
  .crm-ledger-table.hist-config-table
  tbody
  td.product-sticky-action:has(.wh-doc-hist-actions),
.sales-history-page.inventory-order-sheet
  .crm-ledger-table.hist-config-table
  tbody
  td:has(.wh-doc-hist-actions) {
  vertical-align: middle;
  overflow: hidden;
}
.wh-outbound-hist-lines-table td.product-sticky-action--outbound-radial,
.wh-outbound-hist-lines-table td:has(.wh-doc-hist-actions) {
  overflow: hidden;
}

/* 出库单历史：操作列右侧冻结，不透明底避免横向滚动穿帮 */
.wh-outbound-hist-lines-table.hist-config-table > thead > tr > th.product-sticky-action {
  z-index: 8;
  box-shadow: -6px 0 10px rgba(15, 23, 42, 0.06);
}
.wh-outbound-hist-lines-table.hist-config-table > tbody > tr > td.product-sticky-action {
  z-index: 5;
  box-shadow: -6px 0 10px rgba(15, 23, 42, 0.06);
}
.wh-outbound-hist-lines-table.hist-config-table > tbody > tr:nth-child(odd) > td.product-sticky-action {
  background: var(--table-row-striped, #f8fafc);
}
.wh-outbound-hist-lines-table.hist-config-table > tbody > tr:nth-child(even) > td.product-sticky-action {
  background: #fff;
}

/* 往来单位/商品档案选单弹窗打开时：左侧主菜单不可点（遮罩未盖住侧栏时仍避免误触） */
body.crm-picker-dialog-open .sidebar-nav {
  pointer-events: none;
  opacity: 0.72;
}
.partner-unit-list-col-fold {
  width: 40px;
  text-align: center;
  vertical-align: middle;
}
.partner-unit-list-fold-btn {
  width: 28px;
  height: 28px;
  padding: 0;
  margin: 0;
  border: 1px solid #d8e9ed;
  border-radius: 6px;
  background: #f8fcfd;
  color: #4e7780;
  font-size: 11px;
  line-height: 1;
  cursor: pointer;
}
.partner-unit-list-fold-placeholder {
  display: inline-block;
  width: 28px;
}
.partner-unit-contact-more-hint {
  margin-left: 6px;
  font-size: 11px;
  color: #64748b;
}
.partner-unit-list-subrow td {
  background: #f8fafc;
  font-size: 12px;
  color: #475569;
}
.partner-unit-list-subindent {
  padding-left: 8px !important;
  color: #94a3b8 !important;
  font-size: 12px !important;
}

/* 商品编码/名称等列：不设死宽，仅略约束最小宽度；列宽随内容 */
.th-col-product,
.td-col-product {
  min-width: 132px;
  width: auto;
  max-width: none;
  box-sizing: border-box;
  overflow: visible;
  vertical-align: middle;
}

/*
 * 销货/采购/其他入库等共用明细「商品」列：
 * hist-config 表为 table-layout:fixed + colgroup 时，商品列单独限制宽度，避免被摊得过宽。
 * 固定列宽 = 260px（选品输入）+ 单元格左右 padding（各 8px）→ 276px。
 */
.sales-order-page .sales-order-lines-table .sales-order-line-col-product,
.sales-order-page .sales-order-lines-table--center thead tr th.sales-order-line-col-product,
.sales-order-page .sales-order-lines-table--center tbody tr td.sales-order-line-col-product {
  width: 276px;
  min-width: 276px;
  max-width: 276px;
  box-sizing: border-box;
  overflow: hidden;
  vertical-align: middle;
  text-align: left;
  white-space: nowrap;
}

/* 采购/退货/入库制单：商品列宽由表头拖拽与列配置决定，不锁死 276px */
.sales-order-page.inventory-order-sheet .sales-order-lines-table .sales-order-line-col-product,
.sales-order-page.inventory-order-sheet .sales-order-lines-table--center thead tr th.sales-order-line-col-product,
.sales-order-page.inventory-order-sheet .sales-order-lines-table--center tbody tr td.sales-order-line-col-product {
  width: auto;
  min-width: 0;
  max-width: none;
}

/* 制单明细商品列：选品输入框随列宽拉伸，不固定 260px */
.sales-order-page.inventory-order-sheet .sales-order-line-col-product .sales-product-cell,
.sales-order-page.inventory-order-sheet td.sales-order-line-col-product .sales-product-cell {
  width: 100%;
  max-width: 100%;
}
.sales-order-page.inventory-order-sheet .sales-order-line-col-product .sales-customer-input-wrap,
.sales-order-page.inventory-order-sheet td.sales-order-line-col-product .sales-customer-input-wrap {
  width: 100%;
  max-width: 100%;
}

/* 明细「规格型号 / 客户指定型号」：列宽由表头拖拽与 localStorage 控制，仅保留省略与对齐 */
.sales-order-page .sales-order-lines-table--center th.sales-order-line-col-spec,
.sales-order-page .sales-order-lines-table--center td.sales-order-line-col-spec {
  box-sizing: border-box;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  vertical-align: middle;
  text-align: left;
}

/* Teleport 到 body，需非 scoped，否则样式不生效 */
.copy-generate-menu-panel {
  background: #fff;
  border: 1px solid color-mix(in srgb, var(--ui-accent) 32%, var(--border-light));
  border-radius: 12px;
  box-shadow: var(--ui-dialog-shadow);
  padding: 6px 0;
  max-width: min(92vw, 440px);
  max-height: min(70vh, 420px);
  overflow-y: auto;
}
.copy-generate-menu-item {
  display: block;
  width: 100%;
  box-sizing: border-box;
  text-align: left;
  padding: 9px 14px;
  border: none;
  background: transparent;
  font-size: 13px;
  line-height: 1.35;
  color: #0f172a;
  cursor: pointer;
  white-space: normal;
}
.copy-generate-menu-item:hover {
  background: var(--ui-accent-soft);
}

/* 费用报销单：页面内打印预览（Teleport body，非 scoped） */
.er-print-preview-mask {
  position: fixed;
  inset: 0;
  z-index: 10060;
  background: rgba(15, 23, 42, 0.45);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  box-sizing: border-box;
}
.er-print-preview-dialog {
  width: min(960px, 96vw);
  max-height: min(92vh, 900px);
  background: #f1f5f9;
  border-radius: 12px;
  box-shadow: var(--ui-dialog-shadow, 0 18px 48px rgba(15, 23, 42, 0.2));
  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 22%, #e2e8f0);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.er-print-preview-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  padding: 10px 14px;
  background: #fff;
  border-bottom: 1px solid #e2e8f0;
}
.er-print-preview-toolbar-left {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.er-print-preview-toolbar-left strong {
  font-size: 15px;
  color: #0f172a;
}
.er-print-preview-paper {
  font-size: 12px;
  color: #64748b;
}
.er-print-preview-actions {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
}
.er-print-preview-iframe {
  flex: 1;
  min-height: 360px;
  width: 100%;
  border: none;
  background: #fff;
}

/* 弹窗（Teleport body）：输入区与销货单白底细边框一致 */
.sales-customer-dialog input:not([type='checkbox']):not([type='radio']):not([type='file']),
.sales-customer-dialog select,
.sales-customer-dialog textarea {
  background: var(--input-surface) !important;
  border: 1px solid var(--input-border) !important;
  box-shadow: var(--input-inner-shadow);
}
.print-import-diff-dialog .print-import-diff-table thead th {
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--sidebar-teal) 12%, #ffffff) 0%,
    color-mix(in srgb, var(--sidebar-teal) 5%, #ffffff) 100%
  );
  color: #0f172a;
  font-weight: 600;
  text-align: center;
  vertical-align: middle;
  border-bottom: 1px solid color-mix(in srgb, var(--sidebar-teal) 26%, #e2e8f0);
}

/**
 * 历史列表页（.sales-history-page）：非 scoped。简约商务 + 与 --sidebar-teal 呼应（表格 / 工具栏 / 分页 / 行内操作）。
 *
 * 子组件内摘要行/主档标签（.purchase-history-detail-meta、.field-grid.sales-sheet-form>label>span）：
 * 在 App 内若仅写在 <style scoped> 中，不会作用到销货单查看等独立子组件。以下与 OutboundOrderHistoryFilterPanel
 * / HistoryQuickDateStatusFilter 及 scoped 中「销货主档」的纵向间距一致。
 * 「状态+金额」区使用 OutboundOrderViewPage 的 .outbound-order-view__status-finance-ribbon 单独定垂直间距，勿在此处再加 .outbound-order-view__status-line，免与内联样式拼特异性造成「改了不生效」。
 */
.sales-history-page .purchase-history-detail-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 18px;
  padding: 10px 12px 10px;
  color: #475569;
  font-size: 12px;
  line-height: 1.45;
}
.sales-history-page.inventory-order-sheet .field-grid.sales-sheet-form > label > span {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  line-height: 20px;
  margin-bottom: 4px;
}
.sales-history-page .product-table-wrap {
  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 14%, var(--border-light));
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
  padding-right: 8px;
  box-sizing: border-box;
  background: #fff;
}
.sales-history-page .product-table-real {
  --sales-hist-row-line: #e8ecf0;
}
.sales-history-page .product-table-real thead th {
  background: linear-gradient(180deg, #f7f8fa 0%, #f0f2f5 100%);
  color: #334155;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-align: left;
  vertical-align: middle;
  padding: 10px 10px;
  border-bottom: 1px solid color-mix(in srgb, var(--sidebar-teal) 26%, #d0dbe2);
}
.sales-history-page .product-table-real thead .product-sticky-left,
.sales-history-page .product-table-real thead .product-sticky-action {
  background: linear-gradient(180deg, #f7f8fa 0%, #f0f2f5 100%);
}
.sales-history-page .product-table-real tbody td {
  border-bottom: 1px solid var(--sales-hist-row-line);
  padding: 8px 10px;
  vertical-align: middle;
  font-size: 12px;
  color: #1e293b;
}
.sales-history-page .product-table-real tbody tr:not(.outbound-expand-row):not(.history-filler-row) td {
  background: #ffffff;
}
.sales-history-page .product-table-real tbody tr:not(.outbound-expand-row):not(.history-filler-row):hover td {
  background: color-mix(in srgb, var(--sidebar-teal) 5%, #fcfdfe);
}
.sales-history-page .product-table-real tbody tr.outbound-history-row--selected td {
  background: color-mix(in srgb, var(--sidebar-teal) 7%, #f7fbfc) !important;
}
.sales-history-page .product-table-real tbody tr.outbound-history-row--selected td:first-child {
  box-shadow: inset 3px 0 0 var(--sidebar-teal);
}
.sales-history-page .product-table-real tbody tr.history-filler-row td {
  border-bottom: 1px solid #eef1f4;
  background: #fafbfc;
  padding-top: 0;
  padding-bottom: 0;
}
.sales-history-page .product-table-real tbody tr.outbound-expand-row > td {
  border-bottom: 1px solid var(--sales-hist-row-line);
  padding: 12px 10px;
}
.sales-history-page .field-grid.sales-sheet-form.sales-history-filter-kw-partner {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px 12px;
  align-items: start;
}
.sales-history-page .field-grid.sales-sheet-form.sales-history-filter-kw-partner .sales-history-partner-slot {
  min-width: 0;
}

/* 销售排行版：商品 / 客户 / 业务员 单行三等分（与进销历史检索密度一致） */
.sales-history-page .sales-ranking-filter .sales-ranking-filter-three-col {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px 12px;
  align-items: start;
  margin-top: 8px;
}
.sales-history-page .sales-ranking-filter .sales-ranking-filter-three-col > .sales-ranking-kw-col {
  min-width: 0;
}
.sales-history-page .sales-ranking-filter .sales-ranking-filter-three-col .sales-history-partner-slot {
  min-width: 0;
}
.sales-history-page .outbound-hist-sales-emp {
  display: flex;
  flex-direction: column;
  font-size: 12px;
  color: var(--text-on-light);
  margin: 0;
  min-width: 0;
}
.sales-history-page .outbound-hist-sales-emp > span {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  line-height: 20px;
  margin-bottom: 4px;
}
.sales-history-page .outbound-hist-sales-emp select {
  width: 100%;
  box-sizing: border-box;
  height: 36px;
  font-size: 13px;
  color: #111827;
  border: 1px solid #d5dde7;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.sales-history-page .outbound-hist-sales-emp select:focus-visible {
  outline: none;
  border-color: color-mix(in srgb, var(--sidebar-teal) 48%, #cbd5e1);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--sidebar-teal) 16%, transparent);
}

/* 单号：线链式 */
.sales-history-page .product-table-real .history-order-link-btn {
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  background: none;
  box-shadow: none;
  color: var(--ui-accent-ink);
  font-weight: 600;
  font-size: 12px;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.02em;
  text-decoration: none;
  border-bottom: 1px solid color-mix(in srgb, var(--sidebar-teal) 42%, transparent);
  min-height: 0;
  display: inline;
  line-height: 1.5;
}
.sales-history-page .product-table-real .history-order-link-btn:hover {
  color: #063d47;
  border-bottom-color: var(--sidebar-teal);
  background: none;
}
.sales-history-page .product-table-real .history-order-link-btn:focus-visible {
  outline: none;
  border-radius: 2px;
  box-shadow: var(--focus-ring-shadow);
}
.sales-history-page .outbound-ic-linked-pill {
  margin-left: 6px;
  padding: 1px 6px;
  font-size: 10px;
  font-weight: 500;
  border-radius: 4px;
  color: #64748b;
  background: #f1f5f9;
  border: 1px solid #e2e8f0;
  cursor: pointer;
}
.sales-history-page .outbound-ic-linked-pill:hover {
  color: var(--ui-accent-ink);
  border-color: color-mix(in srgb, var(--sidebar-teal) 35%, #e2e8f0);
  background: color-mix(in srgb, var(--sidebar-teal) 8%, #fff);
}
.sales-history-page
  .product-table-real
  .history-action-btn:not(.history-action-btn--primary):not(.history-action-btn--receipt):not(.history-action-btn--danger) {
  min-height: 26px;
  padding: 3px 10px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 500;
  color: #475569;
  background: #fff;
  border: 1px solid #e2e8f0;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.sales-history-page
  .product-table-real
  .history-action-btn:not(.history-action-btn--primary):not(.history-action-btn--receipt):not(.history-action-btn--danger):hover:not(
    :disabled
  ) {
  color: var(--ui-accent-ink);
  border-color: color-mix(in srgb, var(--sidebar-teal) 45%, #cbd5e1);
  background: color-mix(in srgb, var(--sidebar-teal) 5%, #fff);
}
.sales-history-page
  .product-table-real
  .history-action-btn:not(.history-action-btn--primary):not(.history-action-btn--receipt):not(.history-action-btn--danger):focus-visible {
  outline: none;
  box-shadow: var(--focus-ring-shadow);
}
.sales-history-page .product-table-real .history-action-btn--primary {
  min-height: 26px;
  padding: 3px 12px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 600;
  color: #fff;
  background: var(--sidebar-teal);
  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 82%, #0e7490);
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.sales-history-page .product-table-real .history-action-btn--primary:hover:not(:disabled) {
  filter: brightness(0.97);
}
.sales-history-page .product-table-real .history-action-btn--receipt {
  min-height: 26px;
  padding: 3px 12px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 600;
  color: #c2410c;
  background: #fff7ed;
  border: 1px solid color-mix(in srgb, #ea580c 32%, #fed7aa);
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.sales-history-page .product-table-real .history-action-btn--receipt:hover:not(:disabled) {
  background: #ffedd5;
  border-color: color-mix(in srgb, #ea580c 48%, #fdba74);
}

/* 销货历史：单据/收款状态为彩色文字，不做胶囊按钮 */
.sales-history-page .history-status-badge {
  display: inline;
  font-size: 12px;
  font-weight: 600;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none;
  line-height: 1.4;
}
.sales-history-page .history-status-badge--doc.history-status-badge--approved {
  color: var(--ui-accent-ink);
}
.sales-history-page .history-status-badge--doc.history-status-badge--draft,
.sales-history-page .history-status-badge--doc.history-status-badge--neutral {
  color: #64748b;
}
.sales-history-page .history-status-badge--payment.history-status-badge--paid {
  color: #047857;
}
.sales-history-page .history-status-badge--payment.history-status-badge--unpaid {
  color: #b91c1c;
}
.sales-history-page .history-status-badge--payment.history-status-badge--refund_due {
  color: #1d4ed8;
}
.sales-history-page .history-status-badge--payment.history-status-badge--partial {
  color: #c2410c;
}
.sales-history-page .history-status-badge--payment.history-status-badge--na {
  color: #64748b;
}
.sales-history-page .inv-pay-cell--sales-hist {
  align-items: flex-start;
  gap: 2px;
}
.sales-history-page .inv-pay-detail--secondary-line {
  display: block;
  width: 100%;
  font-size: 11px;
  font-weight: 500;
  color: #64748b;
  line-height: 1.35;
}
.sales-history-page .history-more-menu__hub {
  height: 26px;
  min-width: 46px;
  padding: 0 8px;
  border-radius: 6px;
  border: 1px solid #e2e8f0;
  background: #fff;
}
.sales-history-page .history-more-menu__hub:hover,
.sales-history-page .history-more-menu__hub--on {
  border-color: var(--sidebar-teal);
  background: color-mix(in srgb, var(--sidebar-teal) 6%, #fff);
}
.sales-history-page .history-more-menu__hub-txt {
  font-size: 11px;
  font-weight: 500;
  color: #64748b;
}
.sales-history-page .history-more-menu__hub:hover .history-more-menu__hub-txt,
.sales-history-page .history-more-menu__hub--on .history-more-menu__hub-txt {
  color: var(--ui-accent-ink);
}
.sales-history-page .history-pagination-bar button {
  height: 28px;
  padding: 0 14px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 500;
  color: #475569;
  background: #fff;
  border: 1px solid #e2e8f0;
}
.sales-history-page .history-pagination-bar button:hover:not(:disabled) {
  border-color: var(--sidebar-teal);
  color: var(--ui-accent-ink);
  background: color-mix(in srgb, var(--sidebar-teal) 5%, #fff);
}
.sales-history-page .history-pagination-bar button:focus-visible {
  box-shadow: var(--focus-ring-shadow);
}
.sales-history-page .history-pagination-bar button:disabled {
  opacity: 0.45;
}
.sales-history-page .history-pagination-bar select {
  height: 28px;
  border-radius: 6px;
  border: 1px solid #e2e8f0;
}
.sales-history-page .history-toolbar--brand button:not(.doc-toolbar-btn) {
  min-height: 32px;
  padding: 0 16px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.01em;
  color: var(--ui-accent-ink);
  background: #fff;
  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 26%, #d8e3e7);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.sales-history-page .history-toolbar--brand button:not(.doc-toolbar-btn):hover:not(:disabled) {
  background: color-mix(in srgb, var(--sidebar-teal) 6%, #fff);
  border-color: var(--sidebar-teal);
  box-shadow: none;
}
.sales-history-page .history-toolbar--brand button:not(.doc-toolbar-btn):focus-visible {
  box-shadow: var(--focus-ring-shadow);
}
.sales-history-page .history-toolbar--brand button:not(.doc-toolbar-btn):disabled {
  color: #94a3b8;
  background: #f8fafc;
  border-color: #e2e8f0;
}

/** 销货单查看等：工具条内「收款」需保持收款强调色，避免被上一条通用 button 覆写 */
.sales-history-page .history-toolbar--brand button.primary-action-btn--receipt {
  color: #c2410c;
  background: #fff7ed;
  border-color: color-mix(in srgb, #ea580c 42%, #fed7aa);
  font-weight: 600;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.sales-history-page .history-toolbar--brand button.primary-action-btn--receipt:hover:not(:disabled) {
  color: #9a3412;
  background: #ffedd5;
  border-color: color-mix(in srgb, #ea580c 55%, #fdba74);
  box-shadow: none;
}
.sales-history-page .outbound-history-tr--arc-open {
  position: relative;
  z-index: 8;
}
.sales-history-page .product-sticky-action--outbound-radial {
  overflow: hidden;
  z-index: 1;
}
.sales-history-page tr:has(.outbound-hist-radial--open) .product-sticky-action--outbound-radial {
  z-index: 4;
}

/**
 * 通用历史列表 .doc-history-page：与销货单历史表格区视觉一致（销货单页面仍仅用 .sales-history-page，此处不改动原块）。
 */
.sales-history-page .product-table-wrap,
.doc-history-page .product-table-wrap {
  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 14%, var(--border-light));
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
  padding-right: 8px;
  box-sizing: border-box;
  background: #fff;
}
.sales-history-page .product-table-real,
.doc-history-page .product-table-real {
  --sales-hist-row-line: #e8ecf0;
}
.sales-history-page .product-table-real thead th,
.doc-history-page .product-table-real thead th {
  background: linear-gradient(180deg, #f7f8fa 0%, #f0f2f5 100%);
  color: #334155;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-align: left;
  vertical-align: middle;
  padding: 10px 10px;
  border-bottom: 1px solid color-mix(in srgb, var(--sidebar-teal) 26%, #d0dbe2);
}
.sales-history-page .product-table-real thead .product-sticky-left,
.sales-history-page .product-table-real thead .product-sticky-action,
.doc-history-page .product-table-real thead .product-sticky-left,
.doc-history-page .product-table-real thead .product-sticky-action {
  background: linear-gradient(180deg, #f7f8fa 0%, #f0f2f5 100%);
}
.sales-history-page .product-table-real tbody td,
.doc-history-page .product-table-real tbody td {
  border-bottom: 1px solid var(--sales-hist-row-line);
  padding: 8px 10px;
  vertical-align: middle;
  font-size: 12px;
  color: #1e293b;
}
.sales-history-page .product-table-real tbody tr:not(.outbound-expand-row):not(.history-filler-row) td,
.doc-history-page .product-table-real tbody tr:not(.outbound-expand-row):not(.history-filler-row) td {
  background: #ffffff;
}
.sales-history-page .product-table-real tbody tr:not(.outbound-expand-row):not(.history-filler-row):hover td,
.doc-history-page .product-table-real tbody tr:not(.outbound-expand-row):not(.history-filler-row):hover td {
  background: color-mix(in srgb, var(--sidebar-teal) 5%, #fcfdfe);
}
.sales-history-page .product-table-real tbody tr.outbound-history-row--selected td,
.doc-history-page .product-table-real tbody tr.outbound-history-row--selected td {
  background: color-mix(in srgb, var(--sidebar-teal) 7%, #f7fbfc) !important;
}
.sales-history-page .product-table-real tbody tr.outbound-history-row--selected td:first-child,
.doc-history-page .product-table-real tbody tr.outbound-history-row--selected td:first-child {
  box-shadow: inset 3px 0 0 var(--sidebar-teal);
}
.sales-history-page .product-table-real tbody tr.history-filler-row td,
.doc-history-page .product-table-real tbody tr.history-filler-row td {
  border-bottom: 1px solid #eef1f4;
  background: #fafbfc;
  padding-top: 0;
  padding-bottom: 0;
}
.sales-history-page .product-table-real tbody tr.outbound-expand-row > td,
.doc-history-page .product-table-real tbody tr.outbound-expand-row > td {
  border-bottom: 1px solid var(--sales-hist-row-line);
  padding: 12px 10px;
}
.sales-history-page .field-grid.sales-sheet-form.sales-history-filter-kw-partner,
.doc-history-page .field-grid.sales-sheet-form.sales-history-filter-kw-partner {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px 12px;
  align-items: start;
}
.sales-history-page .field-grid.sales-sheet-form.sales-history-filter-kw-partner .sales-history-partner-slot,
.doc-history-page .field-grid.sales-sheet-form.sales-history-filter-kw-partner .sales-history-partner-slot {
  min-width: 0;
}
.sales-history-page .outbound-hist-sales-emp,
.doc-history-page .outbound-hist-sales-emp {
  display: flex;
  flex-direction: column;
  font-size: 12px;
  color: var(--text-on-light);
  margin: 0;
  min-width: 0;
}
.sales-history-page .outbound-hist-sales-emp > span,
.doc-history-page .outbound-hist-sales-emp > span {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  line-height: 20px;
  margin-bottom: 4px;
}
.sales-history-page .outbound-hist-sales-emp select,
.doc-history-page .outbound-hist-sales-emp select {
  width: 100%;
  box-sizing: border-box;
  height: 36px;
  font-size: 13px;
  color: #111827;
  border: 1px solid #d5dde7;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.sales-history-page .outbound-hist-sales-emp select:focus-visible,
.doc-history-page .outbound-hist-sales-emp select:focus-visible {
  outline: none;
  border-color: color-mix(in srgb, var(--sidebar-teal) 48%, #cbd5e1);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--sidebar-teal) 16%, transparent);
}

/* 单号：线链式 */
.sales-history-page .product-table-real .history-order-link-btn,
/* 单号：线链式 */
.doc-history-page .product-table-real .history-order-link-btn {
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  background: none;
  box-shadow: none;
  color: var(--ui-accent-ink);
  font-weight: 600;
  font-size: 12px;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.02em;
  text-decoration: none;
  border-bottom: 1px solid color-mix(in srgb, var(--sidebar-teal) 42%, transparent);
  min-height: 0;
  display: inline;
  line-height: 1.5;
}
.sales-history-page .product-table-real .history-order-link-btn:hover,
.doc-history-page .product-table-real .history-order-link-btn:hover {
  color: #063d47;
  border-bottom-color: var(--sidebar-teal);
  background: none;
}
.sales-history-page .product-table-real .history-order-link-btn:focus-visible,
.doc-history-page .product-table-real .history-order-link-btn:focus-visible {
  outline: none;
  border-radius: 2px;
  box-shadow: var(--focus-ring-shadow);
}
.sales-history-page .outbound-ic-linked-pill,
.doc-history-page .outbound-ic-linked-pill {
  margin-left: 6px;
  padding: 1px 6px;
  font-size: 10px;
  font-weight: 500;
  border-radius: 4px;
  color: #64748b;
  background: #f1f5f9;
  border: 1px solid #e2e8f0;
  cursor: pointer;
}
.sales-history-page .outbound-ic-linked-pill:hover,
.doc-history-page .outbound-ic-linked-pill:hover {
  color: var(--ui-accent-ink);
  border-color: color-mix(in srgb, var(--sidebar-teal) 35%, #e2e8f0);
  background: color-mix(in srgb, var(--sidebar-teal) 8%, #fff);
}
.sales-history-page
  .product-table-real
  .history-action-btn:not(.history-action-btn--primary):not(.history-action-btn--receipt):not(.history-action-btn--danger),
.doc-history-page
  .product-table-real
  .history-action-btn:not(.history-action-btn--primary):not(.history-action-btn--receipt):not(.history-action-btn--danger) {
  min-height: 26px;
  padding: 3px 10px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 500;
  color: #475569;
  background: #fff;
  border: 1px solid #e2e8f0;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.sales-history-page
  .product-table-real
  .history-action-btn:not(.history-action-btn--primary):not(.history-action-btn--receipt):not(.history-action-btn--danger):hover:not(
    :disabled
  ),
.doc-history-page
  .product-table-real
  .history-action-btn:not(.history-action-btn--primary):not(.history-action-btn--receipt):not(.history-action-btn--danger):hover:not(
    :disabled
  ) {
  color: var(--ui-accent-ink);
  border-color: color-mix(in srgb, var(--sidebar-teal) 45%, #cbd5e1);
  background: color-mix(in srgb, var(--sidebar-teal) 5%, #fff);
}
.sales-history-page
  .product-table-real
  .history-action-btn:not(.history-action-btn--primary):not(.history-action-btn--receipt):not(.history-action-btn--danger):focus-visible,
.doc-history-page
  .product-table-real
  .history-action-btn:not(.history-action-btn--primary):not(.history-action-btn--receipt):not(.history-action-btn--danger):focus-visible {
  outline: none;
  box-shadow: var(--focus-ring-shadow);
}
.sales-history-page .product-table-real .history-action-btn--primary,
.doc-history-page .product-table-real .history-action-btn--primary {
  min-height: 26px;
  padding: 3px 12px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 600;
  color: #fff;
  background: var(--sidebar-teal);
  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 82%, #0e7490);
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.sales-history-page .product-table-real .history-action-btn--primary:hover:not(:disabled),
.doc-history-page .product-table-real .history-action-btn--primary:hover:not(:disabled) {
  filter: brightness(0.97);
}
.sales-history-page .product-table-real .history-action-btn--receipt,
.doc-history-page .product-table-real .history-action-btn--receipt {
  min-height: 26px;
  padding: 3px 12px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 600;
  color: #c2410c;
  background: #fff7ed;
  border: 1px solid color-mix(in srgb, #ea580c 32%, #fed7aa);
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.sales-history-page .product-table-real .history-action-btn--receipt:hover:not(:disabled),
.doc-history-page .product-table-real .history-action-btn--receipt:hover:not(:disabled) {
  background: #ffedd5;
  border-color: color-mix(in srgb, #ea580c 48%, #fdba74);
}
.sales-history-page .product-table-real .history-action-btn--danger,
.doc-history-page .product-table-real .history-action-btn--danger {
  min-height: 26px;
  padding: 3px 10px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 500;
  color: var(--ui-danger-ink);
  background: var(--ui-danger-soft);
  border: 1px solid color-mix(in srgb, var(--ui-danger-ink) 28%, #fecaca);
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.sales-history-page .product-table-real .history-action-btn--danger:hover:not(:disabled),
.doc-history-page .product-table-real .history-action-btn--danger:hover:not(:disabled) {
  filter: brightness(0.98);
  border-color: color-mix(in srgb, var(--ui-danger-ink) 40%, #fca5a5);
}

/* 销货历史：单据/收款状态为彩色文字，不做胶囊按钮 */
.sales-history-page .history-status-badge,
/* 销货历史：单据/收款状态为彩色文字，不做胶囊按钮 */
.doc-history-page .history-status-badge {
  display: inline;
  font-size: 12px;
  font-weight: 600;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none;
  line-height: 1.4;
}
.sales-history-page .history-status-badge--doc.history-status-badge--approved,
.doc-history-page .history-status-badge--doc.history-status-badge--approved {
  color: var(--ui-accent-ink);
}
.sales-history-page .history-status-badge--doc.history-status-badge--draft,
.sales-history-page .history-status-badge--doc.history-status-badge--neutral,
.doc-history-page .history-status-badge--doc.history-status-badge--draft,
.doc-history-page .history-status-badge--doc.history-status-badge--neutral {
  color: #64748b;
}
.sales-history-page .history-status-badge--payment.history-status-badge--paid,
.doc-history-page .history-status-badge--payment.history-status-badge--paid {
  color: #047857;
}
.sales-history-page .history-status-badge--payment.history-status-badge--unpaid,
.doc-history-page .history-status-badge--payment.history-status-badge--unpaid {
  color: #b91c1c;
}
.sales-history-page .history-status-badge--payment.history-status-badge--refund_due,
.doc-history-page .history-status-badge--payment.history-status-badge--refund_due {
  color: #1d4ed8;
}
.sales-history-page .history-status-badge--payment.history-status-badge--partial,
.doc-history-page .history-status-badge--payment.history-status-badge--partial {
  color: #c2410c;
}
.sales-history-page .history-status-badge--payment.history-status-badge--na,
.doc-history-page .history-status-badge--payment.history-status-badge--na {
  color: #64748b;
}
.sales-history-page .inv-pay-cell--sales-hist,
.doc-history-page .inv-pay-cell--sales-hist {
  align-items: flex-start;
  gap: 2px;
}
.sales-history-page .inv-pay-detail--secondary-line,
.doc-history-page .inv-pay-detail--secondary-line {
  display: block;
  width: 100%;
  font-size: 11px;
  font-weight: 500;
  color: #64748b;
  line-height: 1.35;
}
.sales-history-page .history-more-menu__hub,
.doc-history-page .history-more-menu__hub {
  height: 26px;
  min-width: 46px;
  padding: 0 8px;
  border-radius: 6px;
  border: 1px solid #e2e8f0;
  background: #fff;
}
.sales-history-page .history-more-menu__hub:hover,
.sales-history-page .history-more-menu__hub--on,
.doc-history-page .history-more-menu__hub:hover,
.doc-history-page .history-more-menu__hub--on {
  border-color: var(--sidebar-teal);
  background: color-mix(in srgb, var(--sidebar-teal) 6%, #fff);
}
.sales-history-page .history-more-menu__hub-txt,
.doc-history-page .history-more-menu__hub-txt {
  font-size: 11px;
  font-weight: 500;
  color: #64748b;
}
.sales-history-page .history-more-menu__hub:hover .history-more-menu__hub-txt,
.sales-history-page .history-more-menu__hub--on .history-more-menu__hub-txt,
.doc-history-page .history-more-menu__hub:hover .history-more-menu__hub-txt,
.doc-history-page .history-more-menu__hub--on .history-more-menu__hub-txt {
  color: var(--ui-accent-ink);
}
.sales-history-page .history-pagination-bar button,
.doc-history-page .history-pagination-bar button {
  height: 28px;
  padding: 0 14px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 500;
  color: #475569;
  background: #fff;
  border: 1px solid #e2e8f0;
}
.sales-history-page .history-pagination-bar button:hover:not(:disabled),
.doc-history-page .history-pagination-bar button:hover:not(:disabled) {
  border-color: var(--sidebar-teal);
  color: var(--ui-accent-ink);
  background: color-mix(in srgb, var(--sidebar-teal) 5%, #fff);
}
.sales-history-page .history-pagination-bar button:focus-visible,
.doc-history-page .history-pagination-bar button:focus-visible {
  box-shadow: var(--focus-ring-shadow);
}
.sales-history-page .history-pagination-bar button:disabled,
.doc-history-page .history-pagination-bar button:disabled {
  opacity: 0.45;
}
.sales-history-page .history-pagination-bar select,
.doc-history-page .history-pagination-bar select {
  height: 28px;
  border-radius: 6px;
  border: 1px solid #e2e8f0;
}
.sales-history-page .history-toolbar--brand button:not(.doc-toolbar-btn),
.doc-history-page .history-toolbar--brand button:not(.doc-toolbar-btn) {
  min-height: 32px;
  padding: 0 16px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.01em;
  color: var(--ui-accent-ink);
  background: #fff;
  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 26%, #d8e3e7);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.sales-history-page .history-toolbar--brand button:not(.doc-toolbar-btn):hover:not(:disabled),
.doc-history-page .history-toolbar--brand button:not(.doc-toolbar-btn):hover:not(:disabled) {
  background: color-mix(in srgb, var(--sidebar-teal) 6%, #fff);
  border-color: var(--sidebar-teal);
  box-shadow: none;
}
.sales-history-page .history-toolbar--brand button:not(.doc-toolbar-btn):focus-visible,
.doc-history-page .history-toolbar--brand button:not(.doc-toolbar-btn):focus-visible {
  box-shadow: var(--focus-ring-shadow);
}
.sales-history-page .history-toolbar--brand button:not(.doc-toolbar-btn):disabled,
.doc-history-page .history-toolbar--brand button:not(.doc-toolbar-btn):disabled {
  color: #94a3b8;
  background: #f8fafc;
  border-color: #e2e8f0;
}
.sales-history-page .outbound-history-tr--arc-open,
.doc-history-page .outbound-history-tr--arc-open {
  position: relative;
  z-index: 8;
}
.sales-history-page .product-sticky-action--outbound-radial,
.doc-history-page .product-sticky-action--outbound-radial {
  overflow: hidden;
  z-index: 1;
}
.sales-history-page tr:has(.outbound-hist-radial--open) .product-sticky-action--outbound-radial,
.doc-history-page tr:has(.outbound-hist-radial--open) .product-sticky-action--outbound-radial {
  z-index: 4;
}

/* 子组件内历史列表等 .product-table-real：DOM 不在 App 根模板，scoped 的 .content-area .product-table-real 不命中 th/td，保留全局补全 */
.content-area .product-table-real thead th {
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--sidebar-teal) 12%, #ffffff) 0%,
    color-mix(in srgb, var(--sidebar-teal) 5%, #ffffff) 100%
  );
  color: #0f172a;
  font-weight: 600;
  text-align: left;
  vertical-align: middle;
  border-bottom: 1px solid color-mix(in srgb, var(--sidebar-teal) 26%, #e2e8f0);
}
.content-area .product-table-real thead .product-sticky-left,
.content-area .product-table-real thead .product-sticky-action {
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--sidebar-teal) 12%, #ffffff) 0%,
    color-mix(in srgb, var(--sidebar-teal) 5%, #ffffff) 100%
  );
  color: #0f172a;
  text-align: left;
  vertical-align: middle;
}
.content-area .product-table-real tbody tr,
.content-area .product-table-real tbody tr:nth-child(odd),
.content-area .product-table-real tbody tr:nth-child(even),
.content-area .product-table-real tbody tr .product-sticky-left,
.content-area .product-table-real tbody tr:nth-child(odd) .product-sticky-left,
.content-area .product-table-real tbody tr:nth-child(even) .product-sticky-left {
  background: #fff;
}
.content-area .sales-sheet-summary-bar {
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--sidebar-teal) 10%, #ffffff) 0%,
    color-mix(in srgb, var(--sidebar-teal) 4%, #ffffff) 100%
  );
  border-top: 1px solid color-mix(in srgb, var(--sidebar-teal) 22%, #e2e8f0);
  color: var(--text-on-light);
}
:root {
  /* 品牌主色（表2 标准青 #5FB8C1） */
  --sidebar-teal: #5fb8c1;
  --content-surface: rgba(255, 255, 255, 0.9);
  /* 右侧页面底：轻混主色，与左侧导航条呼应 */
  --page-bg: radial-gradient(
    1200px 520px at 78% -18%,
    #ffffff 0%,
    color-mix(in srgb, var(--sidebar-teal) 5%, #f7fafc) 46%,
    color-mix(in srgb, var(--sidebar-teal) 7%, #eef4f6) 100%
  );

  /* 表格：表头/斑马/合计与左侧青色系同一调色板（仍保持可读对比） */
  --table-header-bg: color-mix(in srgb, var(--sidebar-teal) 12%, #f0f9fa);
  --table-header-text: var(--crm-page-title-color);
  --table-row-striped: color-mix(in srgb, var(--sidebar-teal) 4%, #fbfdfe);
  --table-row-hover: color-mix(in srgb, var(--sidebar-teal) 9%, #f3f9fa);
  --table-border: color-mix(in srgb, var(--sidebar-teal) 12%, #e4eaef);
  --table-summary-bg: color-mix(in srgb, var(--sidebar-teal) 11%, #eef6f7);
  --table-summary-text: var(--crm-page-title-color);
  /* 可配置表列宽拖拽条 hover，与主色一致（替代原蓝色） */
  --hist-col-resize-grip-hover-bg: color-mix(in srgb, var(--sidebar-teal) 22%, transparent);
  /* 与销货单表单一致：白底字段、细边框、轻阴影 */
  --input-surface: #ffffff;
  --input-border: #d5dde7;
  --input-inner-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  /* 单据表头控件统一高度（基准：业务员 select） */
  --doc-header-control-height: 36px;
  --doc-header-control-font-size: 13px;
  --doc-header-control-padding-x: 10px;
  /* 必填字段星号 */
  --required-star-color: #dc2626;
  --crm-page-title-color: #0a5f6e;
  --crm-section-title-size: 18px;
  --crm-body-size: 13px;
  --crm-muted-size: 12px;
  --focus-ring-shadow: 0 0 0 3px color-mix(in srgb, var(--sidebar-teal) 16%, transparent);

  /* 磨砂按钮：与侧栏「浅底+青描边」同一气质（用于右侧默认按钮） */
  --btn-frost-bg: color-mix(in srgb, var(--sidebar-teal) 9%, #ffffff);
  --btn-frost-bg-hover: color-mix(in srgb, var(--sidebar-teal) 16%, #ffffff);
  --btn-frost-border: color-mix(in srgb, var(--sidebar-teal) 26%, #dfe8ea);
  --btn-frost-border-hover: color-mix(in srgb, var(--sidebar-teal) 42%, #c5d8dc);
  --btn-frost-shadow: 0 1px 3px color-mix(in srgb, var(--sidebar-teal) 12%, rgba(15, 23, 42, 0.06));

  /* 浅色主内容区文字 */
  --text-on-light: #0f172a;
  --text-muted-light: #64748b;
  --border-light: #dfe8ee;

  /* 兼容旧变量（深色场景已少用，保留避免遗漏） */
  --bg-main: #071b3a;
  --bg-grad-a: rgba(67, 190, 216, 0.18);
  --bg-grad-b: rgba(115, 159, 255, 0.12);
  --panel-bg: rgba(10, 33, 68, 0.86);
  --panel-bg-strong: rgba(8, 28, 58, 0.94);
  --hover-bg: rgba(95, 184, 193, 0.14);
  --accent: #5fb8c1;
  --accent-soft: rgba(95, 184, 193, 0.22);
  /* 表1 浅绿底改为基于主色的浅混色（统一用变量，便于再调） */
  --surface-brand-pale: color-mix(in srgb, var(--sidebar-teal) 13%, #ffffff);
  --surface-brand-paler: color-mix(in srgb, var(--sidebar-teal) 9%, #ffffff);
  --surface-brand-mid: color-mix(in srgb, var(--sidebar-teal) 11%, #f8fafc);
  --accent-text: #0d5c6b;
  --text-main: #0f172a;
  --text-muted: #64748b;
  --text-success: #15803d;
  --text-error: #b91c1c;
  --border-soft: #e2e8f0;
  --card-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);

  /* UI/UX 统一：右侧页面与弹窗 2-3 协调色 */
  --ui-accent: var(--sidebar-teal);
  --ui-accent-ink: #0a5f6e;
  --ui-accent-soft: color-mix(in srgb, var(--ui-accent) 12%, #ffffff);
  --ui-accent-soft-strong: color-mix(in srgb, var(--ui-accent) 20%, #ffffff);
  --ui-neutral-soft: rgba(255, 255, 255, 0.78);
  --ui-danger-soft: #fef2f2;
  --ui-danger-ink: #b91c1c;
  --ui-dialog-mask: rgba(2, 8, 23, 0.34);
  --ui-dialog-shadow: 0 16px 44px rgba(15, 23, 42, 0.16);

  /* 橙色浅色系按钮（variant: orange / orange-soft / orange-light） */
  --ui-orange: #ea580c;
  --ui-orange-hover: #c2410c;
  --ui-orange-ink: #9a3412;
  --ui-orange-soft-bg: #fff7ed;
  --ui-orange-soft-bg-hover: #ffedd5;
  --ui-orange-soft-border: color-mix(in srgb, var(--ui-orange) 42%, #fed7aa);
  --ui-orange-light-bg: #fffbf7;
  --ui-orange-light-bg-hover: #fff7ed;
  --ui-orange-light-border: color-mix(in srgb, #fb923c 32%, #fde8d8);
  --ui-orange-focus-ring: 0 0 0 3px color-mix(in srgb, var(--ui-orange) 18%, transparent);
}

/* 允许外调仓库：列表行 / 下拉项 / 已选控件 */
.wh-external-call-select,
select.wh-external-call-select,
input.wh-external-call-select {
  background-color: var(--ui-orange-soft-bg) !important;
  color: var(--ui-orange-ink);
}

option.wh-external-call-opt {
  background-color: var(--ui-orange-soft-bg);
  color: var(--ui-orange-ink);
}

tr.wh-external-call-row > td {
  background-color: var(--ui-orange-soft-bg);
}

tr.wh-external-call-row.sales-customer-quick-row--active > td,
tr.wh-external-call-row.sales-customer-dialog-row--active > td {
  background-color: color-mix(in srgb, var(--ui-orange-soft-bg) 72%, rgba(95, 184, 193, 0.28));
}

.pcf-simple-tree .pcf-tree-node--external-call .pcf-tree-row {
  background-color: var(--ui-orange-soft-bg);
  border-radius: 4px;
}

.pcf-simple-tree .pcf-tree-node--external-call .pcf-tree-row:hover {
  background-color: var(--ui-orange-soft-bg-hover);
}

.wh-external-call-badge {
  display: inline-block;
  margin-left: 6px;
  padding: 0 6px;
  border-radius: 4px;
  font-size: 11px;
  line-height: 18px;
  font-weight: 600;
  background: var(--ui-orange-soft-bg-hover);
  border: 1px solid var(--ui-orange-soft-border);
  color: var(--ui-orange-ink);
  vertical-align: middle;
}

* {
  box-sizing: border-box;
}

html {
  height: 100%;
}

html,
body,
#app {
  max-width: 100%;
}

body {
  margin: 0;
  min-height: 100%;
  height: 100%;
  background: var(--page-bg);
  color: var(--text-on-light);
  font-family: "PingFang SC", "Microsoft YaHei", "Segoe UI", "Noto Sans SC", sans-serif;
}

/* 登录后主壳占满视口：避免整页滚动，侧栏与内容区分区滚动 */
body:has(.container--authed) {
  overflow: hidden;
  height: 100dvh;
}

body:has(.container--guest) {
  overflow: hidden;
  height: 100dvh;
}

#app {
  min-height: 100%;
}

#app:has(.container--authed),
#app:has(.container--guest) {
  height: 100%;
  overflow: hidden;
}

/**
 * 必填字段 * 标识（全局）
 * 规范：红色、位于字段标签文字前。DOM 中写在标签后也可，由 flex order 统一调到前面。
 */
.required-star,
.required-mark,
.ir-req,
.doc-tpl-required {
  color: var(--required-star-color, #dc2626) !important;
  margin-right: 2px;
  margin-left: 0 !important;
  font-weight: 700;
  flex-shrink: 0;
}

label > span,
.sales-customer-field > span,
.doc-related-doc-field > span,
.settlement-field-label,
.dept-staff-field-label,
.purchase-form-label,
.partner-unit-edit-label-text,
.order-line-import-category-label,
.doc-field-label,
.ir-field-label,
.inv-collect-field-label,
.gross-profit-stat-field > span,
.field-grid label > span,
.field-grid.doc-template-header-grid .doc-template-header-cell label > span,
.field-grid.doc-template-header-grid .doc-template-header-cell .sales-customer-field > span {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
}

label > span .required-star,
label > span .required-mark,
label > span .ir-req,
.sales-customer-field > span .required-star,
.sales-customer-field > span .required-mark,
.doc-related-doc-field > span .required-star,
.settlement-field-label .required-star,
.dept-staff-field-label .required-star,
.purchase-form-label .required-star,
.partner-unit-edit-label-text .required-star,
.partner-unit-edit-label-text .required-mark,
.order-line-import-category-label .required-star,
.doc-field-label .required-star,
.ir-field-label .required-star,
.inv-collect-field-label .required-star,
.gross-profit-stat-field > span .required-star,
.field-grid label > span .required-star,
.field-grid label > span .required-mark,
.field-grid label > span .ir-req,
.field-grid.doc-template-header-grid .doc-template-header-cell label > span .required-star,
.field-grid.doc-template-header-grid .doc-template-header-cell .sales-customer-field > span .required-star {
  order: -1;
}

/**
 * 历史列表工具栏：仅作用于未接入 doc-toolbar-btn 的旧按钮；document-ui 顶栏走 document-toolbar-variants.css。
 */
.history-toolbar--brand button:not(.doc-toolbar-btn) {
  margin-right: 0;
  min-height: 36px;
  padding: 0 14px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  cursor: pointer;
  color: var(--ui-accent-ink, #0a5f6e);
  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 48%, #9ec9cf);
  background: color-mix(in srgb, var(--sidebar-teal) 14%, #ffffff);
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.history-toolbar--brand button:not(.doc-toolbar-btn):hover:not(:disabled) {
  background: color-mix(in srgb, var(--sidebar-teal) 22%, #ffffff);
  border-color: var(--sidebar-teal);
  box-shadow: 0 2px 10px color-mix(in srgb, var(--sidebar-teal) 22%, transparent);
}

.history-toolbar--brand button:not(.doc-toolbar-btn):focus-visible {
  outline: none;
  box-shadow: var(--focus-ring-shadow, 0 0 0 3px color-mix(in srgb, var(--sidebar-teal) 16%, transparent));
}

.history-toolbar--brand button:not(.doc-toolbar-btn):disabled {
  opacity: 1;
  cursor: not-allowed;
  color: color-mix(in srgb, var(--ui-accent-ink, #0a5f6e) 38%, #ffffff);
  border-color: color-mix(in srgb, var(--sidebar-teal) 26%, #e2e8f0);
  background: color-mix(in srgb, var(--sidebar-teal) 6%, #f8fafc);
  box-shadow: none;
}

/* 制单页：隐藏 number 原生上下箭头，避免误点改值 */
.sales-order-page input[type='number'] {
  -moz-appearance: textfield;
  appearance: textfield;
}
.sales-order-page input[type='number']::-webkit-outer-spin-button,
.sales-order-page input[type='number']::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
/**
 * 页面主标题全局标准（对齐「结算条件」）
 *
 * 结构约定：
 * - 主标题必须在白色内容层内（DocumentPageShell 的 .section-box，或页内自绘白底卡片）
 * - 规范 class：.crm-page-title
 * - 视觉：18px / 700 / #000
 *
 * 制单页可同时保留 DocumentSheetHeader（日期/单号/操作）；
 * 壳层 title 与胶囊文案不要重复同一名词（如标题「其他收入单」时胶囊用业务分类）。
 *
 * 不改动表格表头用的 --crm-page-title-color（青绿品牌字）
 */

:root {
  --crm-page-heading-color: #000;
  --crm-page-heading-size: 18px;
  --crm-page-heading-weight: 700;
}

/* 顶栏容器（标题左、操作右） */
.settings-archive-top,
.ic-workbench-top,
.settlement-method-head,
.doc-bin-page-title-wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.settings-archive-top-actions,
.ic-workbench-top-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}

/**
 * 规范主标题 class：.crm-page-title
 * 下列历史 class 一并映射，避免各页各写一套字号/颜色
 */
.crm-page-title,
.module-title,
.settings-archive-title,
.settlement-method-title,
.ic-workbench-title,
.inventory-sub-page-title,
.dept-staff-title,
.doc-page-shell__title,
.audit-settings-title,
.doc-bin-page-title,
.biz-opt-host-main-title,
.biz-opt-settings-title,
.doc-code-main-title,
.msg-settings-main-title,
.sys-oplog-title,
.cbob-title,
.fps-title,
.print-tpl-title,
.role-auth-title,
.doc-tpl-main-title,
.swb-title,
.icw-title,
.pwb-title,
.cah-title,
.srb-head .module-title,
.ar-head .module-title,
.ab-head .module-title,
.abm-head .module-title,
.expense-type-page-head .settlement-method-title,
.product-category-manage-page .inventory-sub-page-title,
.gl-page > h3,
.gl-page .gl-page-title {
  margin: 0;
  font-size: var(--crm-page-heading-size);
  font-weight: var(--crm-page-heading-weight);
  color: var(--crm-page-heading-color);
  line-height: 1.3;
}

.doc-page-shell .crm-page-title.doc-page-shell__title,
.doc-page-shell .doc-page-shell__title {
  margin: 0 0 10px;
}

.content-area > .module-title,
.content-area > .crm-page-title {
  margin: 0 0 10px;
}
/**
 * 进销存 / 制单 / 历史单据页样式（自 App.vue scoped 提取）
 * 懒加载子组件不在 App scoped 树下，须全局加载本文件。
 * 生成: node scripts/extract-document-sheet-styles.mjs
 *
 * 一行三等分：field-grid + sales-sheet-form | field-grid--triple（见 layoutBlock）
 */


/* 制单页基础控件（原 App.vue scoped 全局 input/button，子组件无法继承 scoped） */
.doc-page-shell.inventory-order-sheet input,
.doc-page-shell.inventory-order-sheet select,
.doc-page-shell.inventory-order-sheet textarea,
.doc-page-shell.sales-order-page input,
.doc-page-shell.sales-order-page select,
.doc-page-shell.sales-order-page textarea,
.doc-page-shell.sales-history-page input,
.doc-page-shell.sales-history-page select,
.doc-page-shell.sales-history-page textarea,
.inventory-order-sheet input,
.inventory-order-sheet select,
.inventory-order-sheet textarea,
.sales-order-page input,
.sales-order-page select,
.sales-order-page textarea,
.sales-history-page.inventory-order-sheet input,
.sales-history-page.inventory-order-sheet select,
.sales-history-page.inventory-order-sheet textarea {
  margin-right: 8px;
  margin-bottom: 8px;
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid var(--input-border, var(--border-light));
  background: var(--input-surface);
  box-shadow: var(--input-inner-shadow, none);
  color: var(--text-on-light);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.doc-page-shell.inventory-order-sheet input:focus-visible,
.doc-page-shell.inventory-order-sheet select:focus-visible,
.doc-page-shell.inventory-order-sheet textarea:focus-visible,
.doc-page-shell.sales-order-page input:focus-visible,
.doc-page-shell.sales-order-page select:focus-visible,
.doc-page-shell.sales-order-page textarea:focus-visible,
.doc-page-shell.sales-history-page input:focus-visible,
.doc-page-shell.sales-history-page select:focus-visible,
.doc-page-shell.sales-history-page textarea:focus-visible,
.inventory-order-sheet input:focus-visible,
.inventory-order-sheet select:focus-visible,
.inventory-order-sheet textarea:focus-visible,
.sales-order-page input:focus-visible,
.sales-order-page select:focus-visible,
.sales-order-page textarea:focus-visible {
  outline: none;
  border-color: color-mix(in srgb, var(--sidebar-teal) 48%, #cbd5e1);
  box-shadow: var(--focus-ring-shadow);
}
.doc-page-shell.inventory-order-sheet input::placeholder,
.doc-page-shell.sales-order-page input::placeholder,
.inventory-order-sheet input::placeholder,
.sales-order-page input::placeholder {
  color: var(--text-muted-light);
}
/* 勿覆盖 document-ui 统一控件 .doc-toolbar-btn--*（否则 5174 预览与 CRM 历史顶栏样式分叉） */
.doc-page-shell.inventory-order-sheet button:not(.doc-toolbar-btn):not(.history-order-link-btn):not(.sfl-doc-no-link):not(.history-action-btn):not(.doc-view-field-link):not(.ssp-filter-popover-trigger):not(.cc-amount-item),
.doc-page-shell.sales-order-page button:not(.doc-toolbar-btn):not(.history-order-link-btn):not(.sfl-doc-no-link):not(.history-action-btn):not(.doc-view-field-link):not(.ssp-filter-popover-trigger):not(.cc-amount-item),
.doc-page-shell.sales-history-page button:not(.doc-toolbar-btn):not(.history-order-link-btn):not(.sfl-doc-no-link):not(.history-action-btn):not(.doc-view-field-link):not(.ssp-filter-popover-trigger):not(.cc-amount-item),
.inventory-order-sheet button:not(.doc-toolbar-btn):not(.history-order-link-btn):not(.sfl-doc-no-link):not(.history-action-btn):not(.doc-view-field-link):not(.ssp-filter-popover-trigger):not(.cc-amount-item),
.sales-order-page button:not(.doc-toolbar-btn):not(.history-order-link-btn):not(.sfl-doc-no-link):not(.history-action-btn):not(.doc-view-field-link):not(.ssp-filter-popover-trigger):not(.cc-amount-item),
.sales-history-page.inventory-order-sheet button:not(.doc-toolbar-btn):not(.history-order-link-btn):not(.sfl-doc-no-link):not(.history-action-btn):not(.doc-view-field-link):not(.ssp-filter-popover-trigger):not(.cc-amount-item) {
  margin-right: 8px;
  padding: 8px 12px;
  border-radius: 10px;
  cursor: pointer;
  color: var(--text-on-light);
  border: 1px solid var(--btn-frost-border);
  background: var(--btn-frost-bg);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: var(--btn-frost-shadow);
}
.doc-page-shell.inventory-order-sheet button:not(.doc-toolbar-btn):not(.history-order-link-btn):not(.sfl-doc-no-link):not(.history-action-btn):not(.doc-view-field-link):not(.ssp-filter-popover-trigger):not(.cc-amount-item):hover:not(:disabled),
.doc-page-shell.sales-order-page button:not(.doc-toolbar-btn):not(.history-order-link-btn):not(.sfl-doc-no-link):not(.history-action-btn):not(.doc-view-field-link):not(.ssp-filter-popover-trigger):not(.cc-amount-item):hover:not(:disabled),
.inventory-order-sheet button:not(.doc-toolbar-btn):not(.history-order-link-btn):not(.sfl-doc-no-link):not(.history-action-btn):not(.doc-view-field-link):not(.ssp-filter-popover-trigger):not(.cc-amount-item):hover:not(:disabled),
.sales-order-page button:not(.doc-toolbar-btn):not(.history-order-link-btn):not(.sfl-doc-no-link):not(.history-action-btn):not(.doc-view-field-link):not(.ssp-filter-popover-trigger):not(.cc-amount-item):hover:not(:disabled) {
  background: var(--btn-frost-bg-hover);
  border-color: var(--btn-frost-border-hover);
}
.doc-page-shell.inventory-order-sheet button:not(.doc-toolbar-btn):not(.history-order-link-btn):not(.sfl-doc-no-link):not(.history-action-btn):not(.doc-view-field-link):not(.ssp-filter-popover-trigger):not(.cc-amount-item):focus-visible,
.doc-page-shell.sales-order-page button:not(.doc-toolbar-btn):not(.history-order-link-btn):not(.sfl-doc-no-link):not(.history-action-btn):not(.doc-view-field-link):not(.ssp-filter-popover-trigger):not(.cc-amount-item):focus-visible,
.inventory-order-sheet button:not(.doc-toolbar-btn):not(.history-order-link-btn):not(.sfl-doc-no-link):not(.history-action-btn):not(.doc-view-field-link):not(.ssp-filter-popover-trigger):not(.cc-amount-item):focus-visible,
.sales-order-page button:not(.doc-toolbar-btn):not(.history-order-link-btn):not(.sfl-doc-no-link):not(.history-action-btn):not(.doc-view-field-link):not(.ssp-filter-popover-trigger):not(.cc-amount-item):focus-visible {
  outline: none;
  border-color: color-mix(in srgb, var(--sidebar-teal) 48%, #cbd5e1);
  box-shadow: var(--focus-ring-shadow);
}
.doc-page-shell.inventory-order-sheet button:not(.doc-toolbar-btn):not(.history-order-link-btn):not(.sfl-doc-no-link):not(.history-action-btn):not(.doc-view-field-link):not(.ssp-filter-popover-trigger):not(.cc-amount-item):disabled,
.doc-page-shell.sales-order-page button:not(.doc-toolbar-btn):not(.history-order-link-btn):not(.sfl-doc-no-link):not(.history-action-btn):not(.doc-view-field-link):not(.ssp-filter-popover-trigger):not(.cc-amount-item):disabled,
.inventory-order-sheet button:not(.doc-toolbar-btn):not(.history-order-link-btn):not(.sfl-doc-no-link):not(.history-action-btn):not(.doc-view-field-link):not(.ssp-filter-popover-trigger):not(.cc-amount-item):disabled,
.sales-order-page button:not(.doc-toolbar-btn):not(.history-order-link-btn):not(.sfl-doc-no-link):not(.history-action-btn):not(.doc-view-field-link):not(.ssp-filter-popover-trigger):not(.cc-amount-item):disabled {
  opacity: 0.55;
  cursor: not-allowed;
}
.doc-page-shell .primary-action-btn,
.inventory-order-sheet .primary-action-btn,
.sales-order-page .primary-action-btn,
.sales-history-page .primary-action-btn {
  background: var(--ui-accent-soft);
  border-color: color-mix(in srgb, var(--ui-accent) 54%, var(--border-light));
  color: var(--ui-accent-ink);
  font-weight: 600;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.doc-page-shell .primary-action-btn:hover:not(:disabled),
.inventory-order-sheet .primary-action-btn:hover:not(:disabled),
.sales-order-page .primary-action-btn:hover:not(:disabled) {
  background: var(--ui-accent-soft-strong);
  border-color: color-mix(in srgb, var(--ui-accent) 64%, var(--border-light));
  box-shadow: 0 2px 10px color-mix(in srgb, var(--ui-accent) 28%, transparent);
}
.doc-page-shell .purchase-tool-btn,
.inventory-order-sheet .purchase-tool-btn,
.sales-order-page .purchase-tool-btn,
.sales-history-page .purchase-tool-btn {
  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 26%, #e2e8f0);
  background: color-mix(in srgb, var(--sidebar-teal) 7%, #ffffff);
  color: var(--ui-accent-ink);
  border-radius: 8px;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 600;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.doc-page-shell .purchase-tool-btn:hover:not(:disabled),
.inventory-order-sheet .purchase-tool-btn:hover:not(:disabled),
.sales-order-page .purchase-tool-btn:hover:not(:disabled) {
  background: color-mix(in srgb, var(--sidebar-teal) 13%, #ffffff);
  border-color: color-mix(in srgb, var(--sidebar-teal) 45%, #b8d4d9);
  color: var(--ui-accent-ink);
}
.doc-page-shell .purchase-tool-btn--primary,
.inventory-order-sheet .purchase-tool-btn--primary,
.sales-order-page .purchase-tool-btn--primary {
  border-color: color-mix(in srgb, var(--ui-accent) 52%, var(--border-light));
  background: var(--ui-accent-soft);
  color: var(--ui-accent-ink);
}
.doc-page-shell .purchase-tool-btn--primary:hover:not(:disabled),
.inventory-order-sheet .purchase-tool-btn--primary:hover:not(:disabled) {
  background: var(--ui-accent-soft-strong);
  border-color: color-mix(in srgb, var(--ui-accent) 64%, var(--border-light));
}
.doc-page-shell .purchase-tool-icon-btn,
.inventory-order-sheet .purchase-tool-icon-btn,
.sales-order-page .purchase-tool-icon-btn {
  border: 1px solid #e2e8f0;
  background: #fff;
  color: #475569;
  border-radius: 6px;
  padding: 3px 9px;
  font-size: 12px;
  line-height: 1.4;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.doc-page-shell .document-toolbar-actions--sheet button:not(.doc-toolbar-btn):not(.primary-action-btn):not(.purchase-tool-btn):not(.purchase-tool-icon-btn),
.inventory-order-sheet .document-toolbar-actions--sheet button:not(.doc-toolbar-btn):not(.primary-action-btn):not(.purchase-tool-btn):not(.purchase-tool-icon-btn) {
  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 26%, #e2e8f0);
  background: color-mix(in srgb, var(--sidebar-teal) 7%, #ffffff);
  color: var(--ui-accent-ink);
  border-radius: 8px;
  font-size: 12px;
  font-weight: 600;
}

/* ========== field-grid 与一行三等分（制单/历史筛选标准布局） ========== */
/* 默认 field-grid：自动换列；进销存单主信息须加 .sales-sheet-form 或 .field-grid--triple */
.field-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 8px;
}
.field-grid label {
  display: flex;
  flex-direction: column;
  font-size: 12px;
  color: var(--text-muted-light);
}

/**
 * 一行三等分（与销货单编辑头、历史筛选一致）
 * 1) DocumentPageShell page-class 含 inventory-order-sheet / sales-order-page
 * 2) 容器 class="field-grid sales-sheet-form"（可再加 sales-outbound-master-form 等）
 *    或 class="field-grid field-grid--triple"
 * 勿仅用 .field-grid + 行内 grid-template-columns
 */
.doc-page-shell .field-grid.field-grid--triple,
.doc-page-shell .field-grid.sales-sheet-form,
.doc-page-shell.inventory-order-sheet .field-grid.sales-sheet-form,
.doc-page-shell.sales-order-page .field-grid.sales-sheet-form,
.inventory-order-sheet .field-grid.sales-sheet-form,
.inventory-order-sheet .field-grid.field-grid--triple,
.sales-order-page .field-grid.sales-sheet-form,
.sales-order-page.inventory-order-sheet .field-grid.sales-sheet-form,
.sales-history-page.inventory-order-sheet .field-grid.sales-sheet-form,
.field-grid.wh-outbound-readonly-grid,
.field-grid.gross-profit-stat-filter-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px 12px;
  align-items: start;
}

.field-grid.wh-outbound-filter-row,
.field-grid.wh-inbound-filter-row {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  align-items: end;
}

.field-grid.sales-sheet-form {
  align-items: start;
}


.gross-profit-stat-filter .gross-profit-stat-field {
  display: flex;
  flex-direction: column;
  margin: 0;
  min-width: 0;
}

.gross-profit-stat-filter .gross-profit-stat-field > span {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  line-height: 20px;
  margin-bottom: 4px;
  font-size: 12px;
  color: var(--text-on-light);
}

.gross-profit-stat-filter .gross-profit-stat-field select {
  width: 100%;
  height: 36px;
  font-size: 13px;
  color: #111827;
  background: #fff;
  border: 1px solid #d5dde7;
  border-radius: 8px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  box-sizing: border-box;
  margin: 0;
}

.gross-profit-stat-filter .gross-profit-stat-field select:focus-visible {
  outline: none;
  border-color: color-mix(in srgb, var(--sidebar-teal) 48%, #cbd5e1);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--sidebar-teal) 16%, transparent);
}

.gross-profit-stat-contract-link {
  display: inline-block;
  margin-top: 4px;
  font-size: 12px;
}

.gross-profit-stat-doc-col {
  text-align: left;
  vertical-align: middle;
}

.doc-create-ledger .sales-order-sheet-header-panel .gross-profit-stat-filter-grid > label > span:first-child,
.doc-create-ledger .sales-order-sheet-header-panel .gross-profit-stat-filter-grid > .doc-template-header-cell > label > span:first-child,
.sales-order-create-ledger .sales-order-sheet-header-panel .gross-profit-stat-filter-grid > label > span:first-child,
.sales-order-create-ledger .sales-order-sheet-header-panel .sales-wh-field > span:first-child {
  color: #546e7a;
  font-weight: 400;
  font-synthesis: none;
}

/* 销货单主信息：白底，仅保留外框卡片（去掉 stat-ledger  teal 渐变底） */
.content-area--stat-ledger-fill :deep(.doc-create-ledger.stat-ledger-page .sales-order-sheet-header-panel.stat-ledger-filters),
.content-area--stat-ledger-fill :deep(.sales-order-create-ledger.stat-ledger-page .sales-order-sheet-header-panel.stat-ledger-filters),
.content-area--stat-ledger-fill :deep(.doc-history-ledger .sales-order-sheet-header-panel.stat-ledger-filters),
.doc-create-ledger .sales-order-sheet-header-panel.stat-ledger-filters,
.sales-order-create-ledger .sales-order-sheet-header-panel.stat-ledger-filters,
.doc-history-ledger .sales-order-sheet-header-panel.stat-ledger-filters {
  background: #fff;
}

/*
 * 制单页统一壳：主信息外框 + 明细与主信息同宽。
 * 不依赖 content-area--stat-ledger-fill，采购/合同/往来/库存其他制单页同样生效。
 */
.content-area .doc-create-ledger.stat-ledger-page .stat-ledger-filters,
.content-area .doc-create-ledger.stat-ledger-page .sales-order-sheet-header-panel.stat-ledger-filters,
.content-area .doc-history-ledger .stat-ledger-filters,
.content-area .doc-history-ledger .sales-order-sheet-header-panel.stat-ledger-filters {
  flex-shrink: 0;
  box-sizing: border-box;
  border-radius: 10px;
  border: 1px solid color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 16%, #e2e8f0);
  background: #fff;
  padding: 12px 14px 14px;
  margin-bottom: 2px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.content-area .doc-create-ledger.stat-ledger-page .stat-ledger-filters .gross-profit-stat-filter-grid,
.content-area .doc-create-ledger.stat-ledger-page .sales-order-sheet-header-panel .gross-profit-stat-filter-grid,
.content-area .doc-history-ledger .stat-ledger-filters .gross-profit-stat-filter-grid,
.content-area .doc-history-ledger .sales-order-sheet-header-panel .gross-profit-stat-filter-grid {
  margin-top: 0;
}

.content-area .doc-create-ledger.stat-ledger-page .history-page-viewport .stat-ledger-page-stack__body,
.content-area .doc-create-ledger.stat-ledger-page .history-page-viewport .stat-ledger-page-stack__after,
.content-area .doc-create-ledger.stat-ledger-page .stat-ledger-page-stack__after,
.content-area .doc-history-ledger .history-page-viewport .stat-ledger-page-stack__body,
.content-area .doc-history-ledger .history-page-viewport .stat-ledger-page-stack__after,
.content-area .doc-history-ledger .stat-ledger-page-stack__after {
  padding-left: 0;
  padding-right: 0;
}

.content-area:not(.content-area--stat-ledger-fill) .doc-create-ledger.stat-ledger-page .stat-ledger-page-stack__body,
.content-area:not(.content-area--stat-ledger-fill) .doc-history-ledger .stat-ledger-page-stack__body {
  flex: 0 1 auto;
  align-items: stretch;
  padding-left: 0;
  padding-right: 0;
  overflow: visible;
}

.content-area:not(.content-area--stat-ledger-fill) .doc-create-ledger.stat-ledger-page .stat-ledger-page-stack.crm-ledger-list-shell,
.content-area:not(.content-area--stat-ledger-fill) .sales-order-create-ledger.stat-ledger-page .stat-ledger-page-stack.crm-ledger-list-shell,
.content-area:not(.content-area--stat-ledger-fill) .doc-history-ledger .stat-ledger-page-stack.crm-ledger-list-shell {
  flex: 0 1 auto;
}

.content-area:not(.content-area--stat-ledger-fill) .doc-create-ledger.stat-ledger-page .crm-ledger-list-shell.stat-ledger-page-stack .stat-ledger-list-shell,
.content-area:not(.content-area--stat-ledger-fill) .doc-create-ledger.stat-ledger-page .stat-ledger-page-stack__body > .stat-ledger-list-shell,
.content-area:not(.content-area--stat-ledger-fill) .sales-order-create-ledger.stat-ledger-page .crm-ledger-list-shell.stat-ledger-page-stack .stat-ledger-list-shell,
.content-area:not(.content-area--stat-ledger-fill) .sales-order-create-ledger.stat-ledger-page .stat-ledger-page-stack__body > .stat-ledger-list-shell,
.content-area:not(.content-area--stat-ledger-fill) .doc-history-ledger .crm-ledger-list-shell.stat-ledger-page-stack .stat-ledger-list-shell,
.content-area:not(.content-area--stat-ledger-fill) .doc-history-ledger .stat-ledger-page-stack__body > .stat-ledger-list-shell {
  flex: 0 1 auto;
  min-height: 0 !important;
  border: none;
  box-shadow: none;
  background: transparent;
  border-radius: 0;
}

.content-area:not(.content-area--stat-ledger-fill) .doc-create-ledger.stat-ledger-page .crm-ledger-list-shell .stat-ledger-single-slot,
.content-area:not(.content-area--stat-ledger-fill) .sales-order-create-ledger.stat-ledger-page .crm-ledger-list-shell .stat-ledger-single-slot,
.content-area:not(.content-area--stat-ledger-fill) .doc-history-ledger .crm-ledger-list-shell .stat-ledger-single-slot,
.content-area:not(.content-area--stat-ledger-fill) .doc-history-ledger .crm-ledger-list-shell .stat-ledger-custom-table-slot {
  flex: 0 1 auto;
  min-height: 0;
  overflow: visible;
}

.content-area:not(.content-area--stat-ledger-fill) .doc-create-ledger.stat-ledger-page .crm-ledger-list-shell .stat-ledger-single-slot > .hist-config-wrap,
.content-area:not(.content-area--stat-ledger-fill) .sales-order-create-ledger.stat-ledger-page .crm-ledger-list-shell .stat-ledger-single-slot > .hist-config-wrap,
.content-area:not(.content-area--stat-ledger-fill) .doc-history-ledger .crm-ledger-list-shell .stat-ledger-single-slot > .hist-config-wrap,
.content-area:not(.content-area--stat-ledger-fill) .doc-history-ledger .crm-ledger-list-shell .stat-ledger-custom-table-slot > .hist-config-wrap {
  flex: 0 1 auto;
  min-height: 0;
  border: 1px solid color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 14%, #e2e8f0);
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
}

.content-area:not(.content-area--stat-ledger-fill) .doc-create-ledger.stat-ledger-page .hist-config-scroll-outer,
.content-area:not(.content-area--stat-ledger-fill) .sales-order-create-ledger.stat-ledger-page .hist-config-scroll-outer,
.content-area:not(.content-area--stat-ledger-fill) .doc-history-ledger .hist-config-scroll-outer {
  flex: 0 1 auto;
  min-height: 0;
  max-height: calc(40px + 44px * 10);
  overflow-x: auto;
  overflow-y: auto;
}

/* 双行表头（库存流水 / 出入库汇总 / 收发存等）：按 2 行表头 + 10 行表体预留 */
.content-area:not(.content-area--stat-ledger-fill) .doc-history-ledger .hist-config-scroll-outer:has(thead tr:nth-child(2)) {
  max-height: calc(40px * 2 + 44px * 10);
}

/* 出入库流水双行表头：视口按 2 行表头 + 10 行表体预留，页面总高度不锁侧栏 */
.content-area:not(.content-area--stat-ledger-fill) .doc-history-ledger .hist-config-wrap--pinned-footer,
.content-area:not(.content-area--stat-ledger-fill) .doc-history-ledger .sfl-pinned-x,
.content-area:not(.content-area--stat-ledger-fill) .doc-history-ledger .sfl-pinned-inner {
  flex: 0 1 auto;
  min-height: 0;
}
.content-area:not(.content-area--stat-ledger-fill) .doc-history-ledger .sfl-pinned-y {
  flex: 0 1 auto;
  min-height: 0;
  max-height: calc(40px * 2 + 44px * 10);
  overflow-x: hidden;
  overflow-y: auto;
}

.content-area .doc-create-ledger.stat-ledger-page .crm-ledger-list-summary,
.content-area .doc-history-ledger .crm-ledger-list-summary {
  border-radius: 0;
}

.content-area .doc-create-ledger.stat-ledger-page .doc-template-sheet-footer,
.content-area .doc-create-ledger.stat-ledger-page .sales-order-create-sheet-footer,
.content-area .sales-order-create-ledger.stat-ledger-page .doc-template-sheet-footer,
.content-area .sales-order-create-ledger.stat-ledger-page .sales-order-create-sheet-footer {
  flex-shrink: 0;
  justify-content: flex-start;
  margin-top: 8px;
  padding: 0;
  border-top: none;
  font-size: 12px;
  color: #64748b;
}

.content-area .doc-create-ledger.stat-ledger-page .stat-ledger-page-stack__after,
.content-area .doc-history-ledger .stat-ledger-page-stack__after {
  flex-shrink: 0;
  padding-top: 0;
}

.content-area .doc-create-ledger.stat-ledger-page .doc-page-shell__section,
.content-area .doc-history-ledger .doc-page-shell__section {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

/*
 * 制单页与销货单一致：整页外层 .card 纯白圆角（覆盖 content-area .card 半透明毛玻璃）。
 * 主样式以 DocumentPageShell.vue scoped 为准；此处为全局兜底。
 */
.content-area .doc-page-shell.card.doc-create-ledger,
.content-area .doc-page-shell.card.sales-order-create-ledger,
.content-area .doc-page-shell.card.income-contract-page,
.content-area .doc-page-shell.card.expense-contract-page,
.content-area .doc-create-ledger.card,
.content-area .sales-order-create-ledger.card {
  background: #fff !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06) !important;
  padding: 14px !important;
}

.content-area .doc-page-shell.card.doc-create-ledger > .doc-page-shell__section.section-box,
.content-area .doc-page-shell.card.sales-order-create-ledger > .doc-page-shell__section.section-box,
.content-area .doc-page-shell.card.income-contract-page > .doc-page-shell__section.section-box,
.content-area .doc-page-shell.card.expense-contract-page > .doc-page-shell__section.section-box,
.content-area .doc-create-ledger.card > .doc-page-shell__section.section-box,
.content-area .sales-order-create-ledger.card > .doc-page-shell__section.section-box {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

.content-area .doc-history-ledger .stat-ledger-page-stack__toolbar,
.content-area .company-case-combo .stat-ledger-page-stack__toolbar {
  flex-shrink: 0;
  width: 100%;
  box-sizing: border-box;
}

.content-area .doc-history-ledger .stat-ledger-page-stack__toolbar .history-toolbar,
.content-area .company-case-combo .stat-ledger-page-stack__toolbar .history-toolbar {
  width: 100%;
  box-sizing: border-box;
  margin: 0 0 2px !important;
  background: #fff;
  justify-content: flex-end;
}

.content-area .doc-history-ledger .stat-ledger-page-stack__toolbar .document-toolbar-actions--list,
.content-area .company-case-combo .stat-ledger-page-stack__toolbar .document-toolbar-actions--list {
  justify-content: flex-end;
}

.content-area .doc-history-ledger .ic-workbench-flow-toolbar {
  flex-shrink: 0;
  width: 100%;
  box-sizing: border-box;
  margin: 0 0 2px !important;
  padding: 8px 12px;
  background: #fff;
  border-top: none;
  border-bottom: none;
  justify-content: flex-end;
}

/* 期初/发票等仍包 ir-lines-table-wrap 时，避免与 hist-config-wrap 双边框 */
.content-area .doc-create-ledger.stat-ledger-page .sales-order-sheet-header-panel .finance-confirm-supplement,
.content-area .doc-create-ledger.stat-ledger-page .sales-order-sheet-header-panel .finance-confirm-supplement .gross-profit-stat-filter-grid {
  margin-top: 10px;
  margin-bottom: 0;
}

.content-area .doc-create-ledger.stat-ledger-page .sales-order-sheet-header-panel .foi-ref-filters,
.content-area .doc-create-ledger.stat-ledger-page .sales-order-sheet-header-panel .fep-ref-filters,
.content-area .doc-create-ledger.stat-ledger-page .sales-order-sheet-header-panel .for-ref-filters,
.content-area .doc-create-ledger.stat-ledger-page .sales-order-sheet-header-panel .fop-ref-filters {
  margin-top: 10px;
  margin-bottom: 0;
}

.content-area .doc-create-ledger.stat-ledger-page .ir-lines-table-wrap {
  border: none;
  border-radius: 0;
  overflow: visible;
}

.content-area .doc-create-ledger.stat-ledger-page .doc-create-sheet-header-panel-spaced,
.content-area .doc-create-ledger.stat-ledger-page .sales-order-sheet-header-panel.cc-detail-panel,
.content-area .doc-create-ledger.stat-ledger-page .sales-order-sheet-header-panel.erw-writeoff-panel {
  margin-top: 12px;
}

.content-area .doc-create-ledger.stat-ledger-page .sales-order-sheet-header-panel .cc-section-title {
  margin: 0 0 10px;
  font-size: 13px;
  font-weight: 600;
}

/* 收款/付款单：收款信息区与主信息外框同宽 */
.content-area .doc-create-ledger.stat-ledger-page .receipt-voucher-collect,
.content-area .doc-create-ledger.stat-ledger-page .receipt-voucher-ap-box {
  max-width: none;
  width: 100%;
  box-sizing: border-box;
}

/* 销货单制单明细：表体白底；行 hover 浅青高亮仍由 crm-ledger-table 全局规则保留 */
.content-area .doc-create-ledger.sales-order-page .crm-ledger-list-shell .crm-ledger-table.hist-config-table > tbody > tr > td,
.content-area .doc-create-ledger.sales-order-page .crm-ledger-list-shell .crm-ledger-table.hist-config-table > tbody > tr:nth-child(even) > td,
.content-area .doc-create-ledger.sales-order-page .crm-ledger-list-shell .crm-ledger-table.hist-config-table > tbody > tr:nth-child(odd) > td,
.content-area .doc-create-ledger.sales-order-page .sales-order-lines-table.hist-config-table > tbody > tr > td,
.content-area .doc-create-ledger.sales-order-page .sales-order-lines-table.hist-config-table > tbody > tr:nth-child(even) > td,
.content-area .doc-create-ledger.sales-order-page .sales-order-lines-table.hist-config-table > tbody > tr:nth-child(odd) > td,
.content-area .sales-order-create-ledger.sales-order-page .crm-ledger-list-shell .crm-ledger-table.hist-config-table > tbody > tr > td,
.content-area .sales-order-create-ledger.sales-order-page .crm-ledger-list-shell .crm-ledger-table.hist-config-table > tbody > tr:nth-child(even) > td,
.content-area .sales-order-create-ledger.sales-order-page .crm-ledger-list-shell .crm-ledger-table.hist-config-table > tbody > tr:nth-child(odd) > td,
.content-area .sales-order-create-ledger.sales-order-page .sales-order-lines-table.hist-config-table > tbody > tr > td,
.content-area .sales-order-create-ledger.sales-order-page .sales-order-lines-table.hist-config-table > tbody > tr:nth-child(even) > td,
.content-area .sales-order-create-ledger.sales-order-page .sales-order-lines-table.hist-config-table > tbody > tr:nth-child(odd) > td {
  background: #fff;
}

.content-area .doc-create-ledger.sales-order-page .product-table-real tbody tr:nth-child(odd) td.sales-order-lines-sticky-op.product-sticky-action,
.content-area .doc-create-ledger.sales-order-page .product-table-real tbody tr:nth-child(even) td.sales-order-lines-sticky-op.product-sticky-action,
.content-area .doc-create-ledger.sales-order-page .product-table-real tbody tr:nth-child(odd) .product-sticky-left,
.content-area .doc-create-ledger.sales-order-page .product-table-real tbody tr:nth-child(even) .product-sticky-left,
.content-area .sales-order-create-ledger.sales-order-page .product-table-real tbody tr:nth-child(odd) td.sales-order-lines-sticky-op.product-sticky-action,
.content-area .sales-order-create-ledger.sales-order-page .product-table-real tbody tr:nth-child(even) td.sales-order-lines-sticky-op.product-sticky-action,
.content-area .sales-order-create-ledger.sales-order-page .product-table-real tbody tr:nth-child(odd) .product-sticky-left,
.content-area .sales-order-create-ledger.sales-order-page .product-table-real tbody tr:nth-child(even) .product-sticky-left {
  background: #fff;
}

.content-area .doc-create-ledger.sales-order-page .crm-ledger-table.hist-config-table > tbody > tr:last-child > td,
.content-area .sales-order-create-ledger.sales-order-page .crm-ledger-table.hist-config-table > tbody > tr:last-child > td {
  border-bottom: none;
}

.sales-history-page .product-table-real.hist-config-table.gross-profit-stat-hist-table {
  border-collapse: separate;
  border-spacing: 0;
}

.sales-history-page .gross-profit-stat-hist-table > thead > tr > th.product-sticky-left {
  z-index: 7;
}

.sales-history-page .gross-profit-stat-hist-table > thead > tr > th.product-sticky-left.gps-sticky-edge {
  z-index: 8;
}

.sales-history-page .gross-profit-stat-hist-table > tbody > tr > td.product-sticky-left {
  z-index: 2;
}

.primary-action-btn {
  background: var(--ui-accent-soft);
  border-color: color-mix(in srgb, var(--ui-accent) 54%, var(--border-light));
  color: var(--ui-accent-ink);
  font-weight: 600;
  /* 与全局 `button` 的磨砂+阴影解耦，避免未覆盖属性层叠出「混色」 */
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.primary-action-btn:hover {
  background: var(--ui-accent-soft-strong);
  border-color: color-mix(in srgb, var(--ui-accent) 64%, var(--border-light));
  box-shadow: 0 2px 10px color-mix(in srgb, var(--ui-accent) 28%, transparent);
}

.primary-action-btn--receipt {
  border-color: color-mix(in srgb, #ea580c 42%, #fed7aa);
  background: #fff7ed;
  color: #c2410c;
}

.primary-action-btn--receipt:hover {
  border-color: color-mix(in srgb, #ea580c 55%, #fdba74);
  background: #ffedd5;
  color: #9a3412;
  box-shadow: 0 2px 10px color-mix(in srgb, #ea580c 28%, transparent);
}

/* 档案编辑页：与销货单制单页同系（doc-create-ledger + sales-sheet-form） */
.product-archive-edit-page.doc-create-ledger .doc-page-shell__section,
.partner-unit-edit-page.doc-create-ledger .doc-page-shell__section {
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 0;
}

/*
 * 档案编辑页无明细 viewport，表单分区纵向堆叠。
 * content-area--stat-ledger-fill 默认对 section 设 overflow:hidden，
 * 会裁掉「辅助信息 / 开票 / 价格 / 图片 / 附件」等下方区块；改为区内滚动。
 */
.content-area--stat-ledger-fill .product-archive-edit-page.stat-ledger-page .doc-page-shell__section,
.content-area--stat-ledger-fill .partner-unit-edit-page.stat-ledger-page .doc-page-shell__section {
  overflow-x: hidden;
  overflow-y: auto;
}

.content-area--stat-ledger-fill .product-archive-edit-page.stat-ledger-page .document-create-header,
.content-area--stat-ledger-fill .partner-unit-edit-page.stat-ledger-page .document-create-header,
.content-area--stat-ledger-fill .product-archive-edit-page.stat-ledger-page .sales-order-sheet-header-panel,
.content-area--stat-ledger-fill .partner-unit-edit-page.stat-ledger-page .sales-order-sheet-header-panel {
  flex-shrink: 0;
}

.product-archive-edit-page .archive-edit-extra-panel,
.partner-unit-edit-page .archive-edit-extra-panel {
  margin-top: 2px;
}

.archive-edit-inline-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}

.archive-edit-file-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: 8px;
}

.archive-edit-file-btn {
  display: inline-flex;
  align-items: center;
  cursor: pointer;
}

.archive-edit-file-input {
  display: none;
}

.archive-edit-file-meta {
  font-size: 12px;
  color: #64748b;
  margin-top: 6px;
}

.archive-edit-file-meta--error {
  color: #d93025;
}

.archive-edit-hint {
  margin: 0 0 8px;
  font-size: 12px;
  line-height: 1.5;
  color: #64748b;
}

.archive-edit-result {
  margin-top: 8px;
  font-size: 12px;
}

.archive-edit-result--ok {
  color: #0a5f6e;
}

.archive-edit-result--error {
  color: #d93025;
}

.archive-edit-image-preview img {
  max-width: 360px;
  max-height: 240px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  margin-top: 8px;
}

.product-archive-edit-page .archive-price-table input,
.product-archive-edit-page .product-archive-price-table-wrap .product-archive-price-cell-input {
  height: var(--doc-header-control-height, 36px);
  border: 1px solid #d5dde7;
  border-radius: 8px;
  padding: 0 10px;
  width: 100%;
  box-sizing: border-box;
  font-size: var(--doc-header-control-font-size, 13px);
}

.product-archive-edit-page .product-archive-price-table-wrap .hist-config-wrap {
  min-width: 0;
}

.product-archive-edit-page .product-archive-price-table-wrap .sales-order-lines-table-scroll {
  overflow-x: auto;
}

.product-archive-edit-page .product-archive-price-table-wrap .product-archive-price-table.hist-config-table {
  width: 100%;
  table-layout: fixed;
}

.partner-unit-edit-page .archive-edit-table-wrap {
  margin-top: 8px;
}

.partner-unit-edit-page .archive-edit-table td input:not([type='checkbox']):not([type='radio']) {
  height: var(--doc-header-control-height, 36px);
  border: 1px solid #d5dde7;
  border-radius: 8px;
  padding: 0 8px;
  width: 100%;
  min-width: 90px;
  box-sizing: border-box;
  margin: 0;
  font-size: var(--doc-header-control-font-size, 13px);
}

.partner-unit-edit-page .archive-edit-table td.partner-contact-default-cell {
  text-align: center;
  vertical-align: middle;
  width: 52px;
}

.partner-unit-edit-page .archive-edit-table .partner-contact-default-check {
  width: 14px;
  height: 14px;
  min-width: 14px;
  margin: 0;
  padding: 0;
  border-radius: 3px;
  accent-color: #7ec8cf;
  cursor: pointer;
  vertical-align: middle;
}

.partner-unit-edit-page .partner-unit-paste-hint {
  padding: 0 2px;
}

.partner-unit-edit-page .archive-storefront-card {
  margin-top: 8px;
}

.product-archive-edit-page.doc-create-ledger .field-grid.sales-sheet-form > label,
.partner-unit-edit-page.doc-create-ledger .field-grid.sales-sheet-form > label,
.product-archive-edit-page.doc-create-ledger .field-grid.sales-sheet-form .doc-custom-item-field,
.partner-unit-edit-page.doc-create-ledger .field-grid.sales-sheet-form .doc-custom-item-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.product-archive-edit-page.doc-create-ledger .field-grid.sales-sheet-form > label.archive-template-checkbox-field,
.product-archive-edit-page.doc-create-ledger .field-grid.sales-sheet-form > label.product-batch-serial-check {
  flex-direction: row;
  align-items: center;
  align-self: center;
}

.product-archive-edit-page.doc-create-ledger .product-archive-template-grid.sales-sheet-form > label:not(.archive-template-checkbox-field) > span,
.product-archive-edit-page.doc-create-ledger .product-archive-template-grid.sales-sheet-form .tax-classification-sheet-root label > span {
  margin-bottom: 0;
}

.product-archive-edit-page.doc-create-ledger .field-grid.sales-sheet-form > label > input:not([type='checkbox']):not([type='radio']),
.product-archive-edit-page.doc-create-ledger .field-grid.sales-sheet-form > label > select,
.product-archive-edit-page.doc-create-ledger .field-grid.sales-sheet-form > label > select.ic-line-input,
.product-archive-edit-page.doc-create-ledger .field-grid.sales-sheet-form > label .sales-customer-input-wrap > input,
.partner-unit-edit-page.doc-create-ledger .field-grid.sales-sheet-form > label > input:not([type='checkbox']):not([type='radio']),
.partner-unit-edit-page.doc-create-ledger .field-grid.sales-sheet-form > label > select {
  border: 1px solid #d5dde7;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.product-archive-edit-page.doc-create-ledger .field-grid.sales-sheet-form > label .sales-customer-input-wrap > input,
.product-archive-edit-page.doc-create-ledger .field-grid.sales-sheet-form > label > input:not([type='checkbox']):not([type='radio']),
.product-archive-edit-page.doc-create-ledger .field-grid.sales-sheet-form > label > select.ic-line-input {
  min-height: var(--doc-header-control-height, 36px);
  height: var(--doc-header-control-height, 36px);
  font-size: var(--doc-header-control-font-size, 13px);
  box-sizing: border-box;
}

.product-archive-edit-page.doc-create-ledger .field-grid.sales-sheet-form > label > select.ic-line-input,
.product-archive-edit-page.doc-create-ledger .product-archive-category-select,
.product-archive-edit-page.doc-create-ledger .product-archive-unit-select {
  min-height: var(--doc-header-control-height, 36px);
  height: var(--doc-header-control-height, 36px);
  font-size: var(--doc-header-control-font-size, 13px);
  box-sizing: border-box;
}

.product-archive-edit-page.doc-create-ledger .product-archive-category-field .cat-tree-trigger--sheet {
  background-color: #fff;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.product-archive-edit-page.doc-create-ledger .product-archive-category-field .cat-tree-trigger--sheet:hover:not(:disabled),
.product-archive-edit-page.doc-create-ledger .product-archive-category-field .cat-tree-select--open .cat-tree-trigger--sheet {
  background-color: #fff;
}

.product-archive-edit-page.doc-create-ledger .product-archive-category-field .cat-tree-panel,
.product-archive-edit-page.doc-create-ledger .product-archive-category-field .cat-tree-panel--plain {
  background: #fff;
}

.field-grid .product-category-form-field {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 6px;
}

.field-grid .product-category-form-field .cat-tree-select {
  width: 100%;
  max-width: 100%;
}

/* 商品分类下拉树：覆盖制单页全局 button 磨砂样式，保持纯文字 */
.cat-tree-panel--plain button,
.product-archive-edit-page.doc-create-ledger .cat-tree-panel--plain button {
  margin: 0;
  padding: 7px 10px 7px 0;
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.cat-tree-panel--plain button:hover:not(:disabled),
.product-archive-edit-page.doc-create-ledger .cat-tree-panel--plain button:hover:not(:disabled) {
  background: transparent;
  border: none;
  box-shadow: none;
}
.cat-tree-panel--plain button:focus-visible,
.product-archive-edit-page.doc-create-ledger .cat-tree-panel--plain button:focus-visible {
  outline: none;
  box-shadow: none;
}

/* 默认 field-grid：自动换列，易在窄屏或子模块里变成「一列通栏」；进销存单据主信息请勿单独依赖本规则。 */
.field-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 8px; }

.sales-sheet-form > label,
.sales-sheet-form .sales-customer-field,
.sales-sheet-form .sales-wh-field,
.purchase-form-label {
  color: var(--text-on-light) !important;
}

/**
 * 进销存/往来单据主信息区「一行三等分」标准写法（与销货单编辑头、销货单查看等一致）：
 * 1) 页面根（通常 DocumentPageShell 的 page-class）须包含 .inventory-order-sheet
 * 2) 主信息容器：class="field-grid sales-sheet-form"（可再加业务类如 sales-outbound-master-form）
 * 勿仅用 .field-grid + 行内 style，易与默认 auto-fit 混用、难以与历史页统一。
 */
.inventory-order-sheet .field-grid.sales-sheet-form {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px 12px;
}

.sales-sheet-form > label > span,
.sales-sheet-form .sales-customer-field > span {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  line-height: 20px;
  margin-bottom: 4px;
}

.sales-sheet-form > label,
.sales-sheet-form .sales-customer-field,
.sales-sheet-form .sales-wh-field {
  margin: 0;
  align-self: stretch;
}

.sales-wh-field {
  display: flex;
  flex-direction: column;
  font-size: 12px;
}

.sales-wh-field > span {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  line-height: 20px;
  margin-bottom: 4px;
  font-size: inherit;
  color: inherit;
  font-weight: inherit;
}

.sales-sheet-form .sales-customer-input-wrap input,
.sales-sheet-form > label > input,
.sales-sheet-form > label > select {
  height: var(--doc-header-control-height, 36px);
  font-size: var(--doc-header-control-font-size, 13px);
  color: #111827;
}

.sales-wh-multi {
  position: relative;
}

.sales-wh-multi-trigger {
  width: 100%;
  height: 36px;
  border: 1px solid #d5dde7;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 0 10px;
  font-size: 12px;
  line-height: 36px;
  color: #111827;
}

.sales-wh-multi-trigger--empty {
  color: #6b7280;
}

.sales-wh-multi-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: #64748b;
}

.sales-wh-multi-arrow svg {
  display: block;
}

.sales-wh-multi-trigger:focus-visible {
  outline: none;
  border-color: color-mix(in srgb, var(--sidebar-teal) 48%, #cbd5e1);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--sidebar-teal) 16%, transparent);
}

.sales-wh-multi-panel {
  position: absolute;
  z-index: 40;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  max-height: 280px;
  overflow: auto;
  background: #fff;
  border: 1px solid #d6dee8;
  border-radius: 8px;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.12);
  padding: 0;
}

.sales-wh-multi-item {
  display: grid;
  grid-template-columns: 56px 120px minmax(120px, 1fr);
  align-items: center;
  column-gap: 0;
  row-gap: 0;
  flex-direction: row;
  min-height: 44px;
  padding: 0 10px;
  cursor: pointer;
  color: #111827;
  font-size: 12px;
  white-space: nowrap;
  border-bottom: 1px solid #edf2f7;
  background: #fff;
  width: 100%;
  box-sizing: border-box;
}

.sales-wh-multi-item:hover {
  background: #f9fafb;
}

.sales-wh-multi-item > input[type='checkbox'] {
  margin: 0;
  width: 16px;
  height: 16px;
  justify-self: center;
}

.sales-wh-multi-code,
.sales-wh-multi-name {
  display: inline-block;
  align-items: center;
  white-space: nowrap;
  font-size: 12px;
  line-height: 1.2;
}

.sales-wh-multi-code {
  min-width: 0;
  font-variant-numeric: tabular-nums;
  color: var(--text-on-light);
}

.sales-wh-multi-name {
  min-width: 0;
  padding-left: 8px;
  overflow: hidden;
  text-overflow: ellipsis;
  color: var(--text-on-light);
}

.sales-wh-multi-item--all {
  grid-template-columns: 56px minmax(120px, 1fr);
  min-height: 44px;
  border-bottom: 1px solid #e5ecf3;
  font-weight: 600;
  background: #fff;
}

.sales-wh-multi-all-text {
  white-space: nowrap;
  font-size: 12px;
  color: var(--text-on-light);
}

.sales-wh-multi-item--all .sales-wh-multi-code,
.sales-wh-multi-item--all .sales-wh-multi-name {
  display: none;
}

.sales-wh-multi-item--active {
  background: #eef6ff;
}

.sales-wh-multi-item--active:hover {
  background: #e6f0ff;
}

.sales-wh-multi-empty {
  padding: 10px 12px;
  color: #64748b;
  font-size: 13px;
}

.sales-sheet-form .sales-customer-more {
  height: 30px;
  width: 30px;
  min-width: 30px;
}

.sales-form-full-row {
  grid-column: 1 / -1;
}

.sales-form-ship-row {
  grid-column: 1 / -1;
}

.sales-form-ship-row > input {
  width: calc(75% - 2px);
  max-width: calc(75% - 2px);
}

.sales-form-contact-item {
  grid-column: span 1;
}

.sales-form-contact-remark {
  grid-column: span 1;
}

.sales-form-contact-remark > input {
  width: 100%;
}

.sales-form-partner-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: 100%;
  max-width: 100%;
  justify-content: stretch;
  gap: 8px 12px;
}

.sales-form-partner-filler {
  min-width: 0;
  min-height: 0;
  pointer-events: none;
}

.inventory-order-sheet .sales-form-partner-row > *:not(.sales-form-partner-filler) {
  min-width: 0;
}

.sales-form-partner-row--single-supplier {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* 销货单/销货退货单主表：与历史筛选一致的三列等分，不改动字段顺序与标签 */
.sales-order-page.inventory-order-sheet .field-grid.sales-sheet-form.sales-outbound-master-form {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px 12px;
  width: 100%;
  max-width: none;
  justify-items: stretch;
}

/* 抵消全局 input/select/button 的 margin-right/margin-bottom，避免首行控件视觉上比下方行「缩进」 */
.sales-order-page.inventory-order-sheet .field-grid.sales-sheet-form.sales-outbound-master-form > label,
.sales-order-page.inventory-order-sheet .field-grid.sales-sheet-form.sales-outbound-master-form .sales-wh-field {
  min-width: 0;
}

.sales-order-page.inventory-order-sheet .field-grid.sales-sheet-form.sales-outbound-master-form > label > select,
.sales-order-page.inventory-order-sheet .field-grid.sales-sheet-form.sales-outbound-master-form > label > input,
.sales-order-page.inventory-order-sheet .field-grid.sales-sheet-form.sales-outbound-master-form .sales-wh-field .sales-wh-multi-trigger,
.sales-order-page.inventory-order-sheet .field-grid.sales-sheet-form.sales-outbound-master-form .sales-form-contact-item > input,
.sales-order-page.inventory-order-sheet .field-grid.sales-sheet-form.sales-outbound-master-form .sales-form-contact-remark > input,
.sales-order-page.inventory-order-sheet .field-grid.sales-sheet-form.sales-outbound-master-form .sales-form-partner-row .sales-form-ship-partner-cell > input,
.sales-order-page.inventory-order-sheet .field-grid.sales-sheet-form.sales-outbound-master-form .sales-form-partner-row .sales-form-ship-partner-cell > select,
.sales-order-page.inventory-order-sheet .field-grid.sales-sheet-form.sales-outbound-master-form .sales-form-partner-row .sales-customer-input-wrap input {
  margin-right: 0;
  margin-bottom: 0;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.sales-order-page.inventory-order-sheet .field-grid.sales-sheet-form.sales-outbound-master-form .sales-form-partner-row .sales-customer-more {
  margin-right: 0;
  margin-bottom: 0;
}

.sales-order-page.inventory-order-sheet .sales-outbound-master-form .sales-form-partner-row {
  width: 100%;
  max-width: 100%;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sales-order-page.inventory-order-sheet .sales-outbound-master-form .sales-partner-selector-slot {
  min-width: 0;
}

/** 出库单筛选行：单号输入、默认仓库与 PartnerUnitSelector 主框同高 */
.field-grid.wh-outbound-filter-row > label .ic-line-input,
.field-grid.wh-outbound-filter-row > label select.ic-line-input {
  min-height: 36px;
  height: 36px;
  box-sizing: border-box;
  font-size: 13px;
}

.field-grid.wh-outbound-filter-row > label {
  display: flex;
  flex-direction: column;
}

.field-grid.wh-outbound-filter-row .sales-partner-selector-slot {
  display: flex;
  flex-direction: column;
}

/** 入库单筛选行：单号输入、默认仓库与 PartnerUnitSelector 主框同高 */
.field-grid.wh-inbound-filter-row > label .ic-line-input,
.field-grid.wh-inbound-filter-row > label select.ic-line-input {
  min-height: 36px;
  height: 36px;
  box-sizing: border-box;
  font-size: 13px;
}

.field-grid.wh-inbound-filter-row > label {
  display: flex;
  flex-direction: column;
}

.field-grid.wh-inbound-filter-row .sales-partner-selector-slot {
  display: flex;
  flex-direction: column;
}

/** 单据表头控件统一高度（全局，基准：业务员 select）— 详见 document-sheet.css / theme.css --doc-header-control-height */
.field-grid.doc-template-header-grid .doc-template-header-cell {
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.field-grid.doc-template-header-grid .doc-template-header-cell label > span,
.field-grid.doc-template-header-grid .doc-template-header-cell .sales-customer-field > span {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  line-height: 20px;
  margin-bottom: 4px;
}

.field-grid.doc-template-header-grid .doc-template-header-cell label > input:not([type='checkbox']):not([type='radio']),
.field-grid.doc-template-header-grid .doc-template-header-cell label > select,
.field-grid.doc-template-header-grid .doc-template-header-cell .sales-form-contact-remark > input,
.field-grid.doc-template-header-grid .doc-template-header-cell label .ic-line-input,
.field-grid.doc-template-header-grid .doc-template-header-cell label select.ic-line-input,
.field-grid.doc-template-header-grid .doc-template-header-cell .sales-customer-input-wrap input,
.field-grid.doc-template-header-grid .doc-template-header-cell .sales-customer-field .sales-customer-input-wrap input,
.field-grid.doc-template-header-grid .doc-template-header-cell .sales-wh-multi-trigger,
.field-grid.sales-sheet-form > label > input:not([type='checkbox']):not([type='radio']),
.field-grid.sales-sheet-form > label > select,
.field-grid.sales-sheet-form .sales-customer-field .sales-customer-input-wrap input,
.field-grid.sales-sheet-form .sales-customer-input-wrap input,
.field-grid.sales-sheet-form .sales-wh-field .sales-wh-multi-trigger {
  width: 100%;
  height: var(--doc-header-control-height, 36px);
  min-height: var(--doc-header-control-height, 36px);
  box-sizing: border-box;
  font-size: var(--doc-header-control-font-size, 13px);
  margin-right: 0 !important;
  margin-bottom: 0 !important;
  padding: 0 var(--doc-header-control-padding-x, 10px) !important;
}

.field-grid.doc-template-header-grid .doc-template-header-cell .sales-customer-input-wrap input,
.field-grid.doc-template-header-grid .doc-template-header-cell .sales-customer-field .sales-customer-input-wrap input,
.field-grid.sales-sheet-form .sales-customer-field .sales-customer-input-wrap input,
.field-grid.sales-sheet-form .sales-customer-input-wrap input {
  padding-right: 38px !important;
}

.field-grid.doc-template-header-grid .doc-template-header-cell label > select,
.field-grid.doc-template-header-grid .doc-template-header-cell label select.ic-line-input,
.field-grid.sales-sheet-form > label > select {
  appearance: none;
  -webkit-appearance: none;
  padding-right: 30px !important;
  cursor: pointer;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' fill='none'%3E%3Cpath d='M1.75 3.25L5 6.5L8.25 3.25' stroke='%2364748b' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-color: #fff;
}

.field-grid.wh-outbound-readonly-grid > label {
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.field-grid.wh-outbound-readonly-grid > label .ic-line-input,
.field-grid.wh-outbound-readonly-grid > label select.ic-line-input {
  min-height: 36px;
  height: 36px;
  box-sizing: border-box;
  font-size: 13px;
}

.field-grid.wh-outbound-readonly-grid .wh-outbound-readonly-spacer {
  min-width: 0;
  min-height: 1px;
}

.sales-order-page.inventory-order-sheet .sales-outbound-master-form .sales-form-partner-row .sales-form-ship-partner-cell {
  display: flex;
  flex-direction: column;
  font-size: 12px;
  color: var(--text-on-light);
  margin: 0;
  min-width: 0;
}

.sales-order-page.inventory-order-sheet .sales-outbound-master-form .sales-form-partner-row .sales-form-ship-partner-cell > span {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  line-height: 20px;
  margin-bottom: 4px;
}

.sales-order-page.inventory-order-sheet .sales-outbound-master-form .sales-form-partner-row .sales-form-ship-partner-cell > input,
.sales-order-page.inventory-order-sheet .sales-outbound-master-form .sales-form-partner-row .sales-form-ship-partner-cell > select {
  width: 100%;
  max-width: 100%;
  height: 36px;
  font-size: 13px;
  color: #111827;
  box-sizing: border-box;
}

.sales-order-page.inventory-order-sheet .sales-outbound-master-form .sales-form-partner-row--biz-customer-address {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
}

.sales-order-page.inventory-order-sheet .sales-outbound-master-form .sales-form-partner-row--biz-customer-address .sales-form-biz-type-cell,
.sales-order-page.inventory-order-sheet .sales-outbound-master-form .sales-form-partner-row--biz-customer-address .sales-partner-selector-slot,
.sales-order-page.inventory-order-sheet .sales-outbound-master-form .sales-form-partner-row--biz-customer-address .sales-form-ship-partner-cell {
  min-width: 0;
}

.sales-order-page.inventory-order-sheet .sales-outbound-master-form .sales-form-partner-row--biz-customer-address .sales-customer-field > span {
  min-height: 20px;
  line-height: 20px;
  margin-bottom: 4px;
}

.required-star {
  color: var(--required-star-color, #dc2626);
  margin-right: 2px;
  margin-left: 0 !important;
  font-weight: 700;
  flex-shrink: 0;
}

.sales-sheet-form > label > span,
.sales-customer-field > span,
.purchase-form-label,
.settlement-field-label,
.dept-staff-field-label,
.field-grid.doc-template-header-grid .doc-template-header-cell label > span,
.field-grid.doc-template-header-grid .doc-template-header-cell .sales-customer-field > span {
  display: inline-flex;
  align-items: center;
}

.sales-sheet-form > label > span .required-star,
.sales-customer-field > span .required-star,
.purchase-form-label .required-star,
.settlement-field-label .required-star,
.dept-staff-field-label .required-star,
.field-grid.doc-template-header-grid .doc-template-header-cell label > span .required-star,
.field-grid.doc-template-header-grid .doc-template-header-cell .sales-customer-field > span .required-star,
.sales-sheet-form > label > span .required-mark,
.sales-customer-field > span .required-mark,
.field-grid label > span .ir-req {
  order: -1;
}

.form-group-title { margin: 8px 0 6px 0; color: #0a5f6e; font-size: 13px; border-left: 3px solid var(--sidebar-teal); padding-left: 6px; }

.compact-filter .field-grid { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }

.purchase-toolbar {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 6px;
}

.purchase-toolbar--between {
  justify-content: space-between;
}

.purchase-tool-btn {
  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 26%, #e2e8f0);
  background: color-mix(in srgb, var(--sidebar-teal) 7%, #ffffff);
  color: var(--ui-accent-ink);
  border-radius: 8px;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 600;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.purchase-tool-btn:hover:not(:disabled) {
  background: color-mix(in srgb, var(--sidebar-teal) 13%, #ffffff);
  border-color: color-mix(in srgb, var(--sidebar-teal) 45%, #b8d4d9);
  color: var(--ui-accent-ink);
}

.purchase-tool-btn:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring-shadow);
}

.purchase-tool-btn--primary {
  border-color: color-mix(in srgb, var(--ui-accent) 52%, var(--border-light));
  background: var(--ui-accent-soft);
  color: var(--ui-accent-ink);
}

.purchase-tool-btn--primary:hover:not(:disabled) {
  background: var(--ui-accent-soft-strong);
  border-color: color-mix(in srgb, var(--ui-accent) 64%, var(--border-light));
}

.purchase-tool-icon-btn {
  border: 1px solid #e2e8f0;
  background: #fff;
  color: #475569;
  border-radius: 6px;
  padding: 3px 9px;
  font-size: 12px;
  line-height: 1.4;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.purchase-tool-icon-btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.purchase-tool-icon-btn--primary {
  border-color: color-mix(in srgb, var(--ui-accent) 44%, var(--border-light));
  background: color-mix(in srgb, var(--ui-accent) 10%, #ffffff);
  color: var(--ui-accent-ink);
}

.purchase-form-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px 12px;
  margin-bottom: 8px;
}

.purchase-form-item {
  display: grid;
  grid-template-columns: 88px 1fr;
  align-items: center;
  gap: 6px;
  margin: 0;
}

.purchase-form-label {
  color: #64748b;
  font-size: 12px;
  white-space: nowrap;
}

/* 采购单/调拨等：表单项与销货单同一套视觉（进销方向不同，控件风格一致） */
.purchase-page-shell .purchase-form-item > input:not([type='checkbox']):not([type='radio']),
.purchase-page-shell .purchase-form-item > select {
  width: 100%;
  min-width: 0;
  height: 36px;
  padding: 0 10px;
  font-size: 13px;
  color: #111827;
  background: #fff;
  border: 1px solid #d5dde7;
  border-radius: 8px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  box-sizing: border-box;
}

.purchase-page-shell .purchase-form-item > select {
  appearance: none;
  -webkit-appearance: none;
  padding-right: 30px;
  cursor: pointer;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' fill='none'%3E%3Cpath d='M1.75 3.25L5 6.5L8.25 3.25' stroke='%2364748b' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-color: #fff;
}

.purchase-page-shell .purchase-form-item > input:focus-visible,
.purchase-page-shell .purchase-form-item > select:focus-visible {
  outline: none;
  border-color: color-mix(in srgb, var(--sidebar-teal) 48%, #cbd5e1);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--sidebar-teal) 16%, transparent);
}

.sales-sheet-form { margin-bottom: 10px; }

/* 进销货单共用：表单控件白底与明细区外框（与销货单一致） */
.inventory-order-sheet .sales-sheet-form .sales-customer-input-wrap input,
.inventory-order-sheet .sales-sheet-form > label > input,
.inventory-order-sheet .sales-sheet-form > label > select,
.inventory-order-sheet .field-grid.doc-template-header-grid .doc-template-header-cell label > input,
.inventory-order-sheet .field-grid.doc-template-header-grid .doc-template-header-cell label > select,
.inventory-order-sheet .field-grid.doc-template-header-grid .doc-template-header-cell .sales-customer-input-wrap input,
.inventory-order-sheet .field-grid.doc-template-header-grid .doc-template-header-cell .sales-form-contact-remark > input,
.inventory-order-sheet .sales-form-ship-row > input,
.inventory-order-sheet .sales-form-partner-row .sales-form-ship-partner-cell > input,
.inventory-order-sheet .sales-form-contact-remark > input,
.inventory-order-sheet .sales-sheet-lines input,
.inventory-order-sheet .sales-sheet-lines select {
  background: #fff;
  border: 1px solid #d5dde7;
  border-radius: 8px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.inventory-order-sheet .sales-sheet-form .sales-customer-input-wrap input:focus-visible,
.inventory-order-sheet .sales-sheet-form > label > input:focus-visible,
.inventory-order-sheet .sales-sheet-form > label > select:focus-visible,
.inventory-order-sheet .field-grid.doc-template-header-grid .doc-template-header-cell label > input:focus-visible,
.inventory-order-sheet .field-grid.doc-template-header-grid .doc-template-header-cell label > select:focus-visible,
.inventory-order-sheet .field-grid.doc-template-header-grid .doc-template-header-cell .sales-customer-input-wrap input:focus-visible,
.inventory-order-sheet .field-grid.doc-template-header-grid .doc-template-header-cell .sales-form-contact-remark > input:focus-visible,
.inventory-order-sheet .sales-form-ship-row > input:focus-visible,
.inventory-order-sheet .sales-form-partner-row .sales-form-ship-partner-cell > input:focus-visible,
.inventory-order-sheet .sales-form-contact-remark > input:focus-visible,
.inventory-order-sheet .sales-sheet-lines input:focus-visible,
.inventory-order-sheet .sales-sheet-lines select:focus-visible {
  border-color: color-mix(in srgb, var(--sidebar-teal) 48%, #cbd5e1);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--sidebar-teal) 16%, transparent);
}

/* 输入框内嵌 🔍：透明图标按钮，不要外框（与客户/供应商选择器一致） */
.inventory-order-sheet .sales-sheet-form .sales-customer-input-wrap {
  position: relative;
  display: block;
}

.inventory-order-sheet .sales-sheet-form .sales-customer-input-wrap .sales-customer-more,
.inventory-order-sheet .sales-sheet-form .sales-customer-input-wrap .picker-inline-search-btn,
.inventory-order-sheet .sales-sheet-form .sales-customer-input-wrap .tax-classification-search-btn {
  position: absolute;
  right: 4px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  width: 28px;
  height: 30px;
  min-width: 28px;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #6b8592;
  font-size: 14px;
  line-height: 1;
  cursor: pointer;
}

.inventory-order-sheet .sales-sheet-form .sales-customer-input-wrap .sales-customer-more:hover,
.inventory-order-sheet .sales-sheet-form .sales-customer-input-wrap .picker-inline-search-btn:hover:not(:disabled),
.inventory-order-sheet .sales-sheet-form .sales-customer-input-wrap .tax-classification-search-btn:hover {
  color: var(--ui-accent-ink, #0a5f6e);
  background: transparent;
}

.inventory-order-sheet .sales-sheet-lines {
  border: 1px solid #d5dde7;
  border-radius: 10px;
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.05);
  max-width: 100%;
  /* 仅内层表格横向滚动，避免外层 overflow 盖住 sticky 操作列 */
  overflow: visible;
}

/* 出库/调拨/入库制单明细：输入框、下拉统一高度 */
.inventory-order-sheet .sales-sheet-lines tbody input:not([type='checkbox']):not([type='radio']),
.inventory-order-sheet .sales-sheet-lines tbody select {
  height: 36px;
  min-height: 36px;
  box-sizing: border-box;
  font-size: 13px;
  padding: 0 10px;
  line-height: 1.25;
}

.inventory-order-sheet .sales-sheet-lines tbody .ic-line-input {
  height: 36px;
  min-height: 36px;
  padding: 0 10px !important;
}

.inventory-order-sheet .sales-sheet-lines .inv-line-op-bar,
.inventory-order-sheet .sales-order-lines-table .inv-line-op-bar {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  max-width: 100%;
}

.inventory-order-sheet .sales-sheet-lines .inv-line-op-btn,
.inventory-order-sheet .sales-order-lines-table .inv-line-op-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  height: 28px;
  min-height: 28px;
  padding: 0 10px;
  margin: 0;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  background: #fff;
  color: #334155;
  font-size: 13px;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
}

.inventory-order-sheet .sales-sheet-lines .inv-line-op-btn:hover:not(:disabled),
.inventory-order-sheet .sales-order-lines-table .inv-line-op-btn:hover:not(:disabled) {
  border-color: #94a3b8;
  background: #f8fafc;
}

.inventory-order-sheet .sales-sheet-lines .inv-line-op-btn:disabled,
.inventory-order-sheet .sales-order-lines-table .inv-line-op-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.inventory-order-sheet .sales-sheet-lines .inv-line-op-btn--sn,
.inventory-order-sheet .sales-order-lines-table .inv-line-op-btn--sn {
  background: #eff6ff;
  color: #1d4ed8;
  border-color: #bfdbfe;
}

.inventory-order-sheet .sales-sheet-lines .inv-line-op-btn--sn:hover:not(:disabled),
.inventory-order-sheet .sales-order-lines-table .inv-line-op-btn--sn:hover:not(:disabled) {
  background: #dbeafe;
  border-color: #93c5fd;
}

.inventory-order-sheet .sales-sheet-lines .inv-line-op-btn--copy,
.inventory-order-sheet .sales-order-lines-table .inv-line-op-btn--copy {
  background: #f8fafc;
  color: #0f172a;
  border-color: #cbd5e1;
}

.inventory-order-sheet .sales-sheet-lines .inv-line-op-btn--delete,
.inventory-order-sheet .sales-order-lines-table .inv-line-op-btn--delete {
  background: #fef2f2;
  color: #b91c1c;
  border-color: #fecaca;
}

.inventory-order-sheet .sales-sheet-lines .inv-line-op-btn--delete:hover:not(:disabled),
.inventory-order-sheet .sales-order-lines-table .inv-line-op-btn--delete:hover:not(:disabled) {
  background: #fee2e2;
  border-color: #fca5a5;
}

.inventory-order-sheet .sales-sheet-lines .product-sticky-action .inv-line-op-bar,
.inventory-order-sheet .sales-order-lines-table .product-sticky-action .inv-line-op-bar {
  min-height: 28px;
}

/* 销货单历史：操作列与制单页 inv-line-op 分割按钮一致 */
.sales-history-page .product-table-real .inv-line-op-bar,
.sales-history-page .product-table-real .history-more-menu.inv-line-op-bar {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  max-width: 100%;
  min-height: 28px;
}

.sales-history-page .product-table-real .history-more-menu__cluster,
.sales-history-page .product-table-real .history-more-menu__trailing {
  flex-wrap: nowrap;
}

.sales-history-page .product-table-real .inv-line-op-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  height: 28px;
  min-height: 28px;
  padding: 0 10px;
  margin: 0;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  background: #fff;
  color: #334155;
  font-size: 13px;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
  box-shadow: none;
}

.sales-history-page .product-table-real .inv-line-op-btn:hover:not(:disabled) {
  border-color: #94a3b8;
  background: #f8fafc;
}

.sales-history-page .product-table-real .inv-line-op-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.sales-history-page .product-table-real .inv-line-op-btn--primary {
  color: #fff;
  background: var(--sidebar-teal);
  border-color: color-mix(in srgb, var(--sidebar-teal) 82%, #0e7490);
  font-weight: 600;
}

.sales-history-page .product-table-real .inv-line-op-btn--primary:hover:not(:disabled) {
  filter: brightness(0.97);
  background: var(--sidebar-teal);
}

.sales-history-page .product-table-real .inv-line-op-btn--receipt {
  color: #c2410c;
  background: #fff7ed;
  border-color: color-mix(in srgb, #ea580c 32%, #fed7aa);
  font-weight: 600;
}

.sales-history-page .product-table-real .inv-line-op-btn--receipt:hover:not(:disabled) {
  background: #ffedd5;
  border-color: color-mix(in srgb, #ea580c 48%, #fdba74);
}

.sales-history-page .product-table-real .inv-line-op-btn--active {
  border-color: #94a3b8;
  background: #f1f5f9;
}

.sales-history-page .product-table-real .product-sticky-action .inv-line-op-bar {
  min-height: 28px;
}

/* 销货单历史操作列：与制单 sales-order-lines-sticky-op 一致（右侧冻结） */
.sales-history-page .sales-order-lines-table--center > thead > tr > th.sales-order-lines-sticky-op {
  text-align: left;
}

.sales-history-page .sales-order-lines-table--center > tbody > tr > td.sales-order-lines-sticky-op {
  text-align: center;
}

.sales-history-page .sales-order-lines-sticky-op.product-sticky-action {
  position: sticky;
  right: 0;
  z-index: 3;
  min-width: 200px;
  overflow: hidden;
  box-shadow: -6px 0 10px rgba(15, 23, 42, 0.06);
}

.sales-history-page .sales-order-lines-table.hist-config-table > thead > tr > th.product-sticky-action {
  z-index: 8;
}

.sales-history-page .sales-order-lines-table.hist-config-table > tbody > tr > td.product-sticky-action {
  z-index: 5;
}

.sales-history-page .product-table-real thead .sales-order-lines-sticky-op.product-sticky-action {
  z-index: 6;
}

.content-area .sales-history-page .product-table-real tbody tr:nth-child(odd) td.sales-order-lines-sticky-op.product-sticky-action {
  background: var(--table-row-striped);
}

.content-area .sales-history-page .product-table-real tbody tr:nth-child(even) td.sales-order-lines-sticky-op.product-sticky-action {
  background: #fff;
}

.content-area .sales-history-page .product-table-real thead th.sales-order-lines-sticky-op.product-sticky-action {
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--sidebar-teal) 12%, #ffffff) 0%,
    color-mix(in srgb, var(--sidebar-teal) 5%, #ffffff) 100%
  );
}

.sales-history-page tr:has(.outbound-hist-radial--open) .sales-order-lines-sticky-op.product-sticky-action {
  z-index: 4;
}

.sales-order-page .sales-fulfillment-actions {
  margin-top: 6px;
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.sales-order-page .sales-fulfillment-summary {
  font-size: 12px;
  color: #0f766e;
}

.sales-order-page .sales-fulfillment-summary--error {
  color: #b42318;
}

.sales-order-page .sales-fulfillment-preview {
  margin-top: 8px;
  border: 1px solid #d5dde7;
  border-radius: 8px;
  overflow: auto;
  background: #fbfdff;
}

.sales-order-page .sales-fulfillment-preview-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 520px;
  font-size: 12px;
}

.sales-order-page .sales-fulfillment-preview-table th,
.sales-order-page .sales-fulfillment-preview-table td {
  border-bottom: 1px solid #e7edf5;
  padding: 6px 8px;
  text-align: left;
}

.sales-order-page .sales-fulfillment-preview-table thead th {
  color: #334155;
  background: #f2f8fb;
  font-weight: 600;
}

.sales-order-page .sales-fulfillment-preview-row--over td {
  background: #fff7f7;
}

.sales-order-page .sales-fulfillment-preview-row--highlight td {
  background: #fffbeb;
}

.sales-order-page .sales-fulfillment-over-text {
  color: #b42318;
  font-weight: 600;
}

.sales-order-page .sales-fulfillment-row-remove {
  border: 1px solid #fca5a5;
  color: #b42318;
  background: #fff5f5;
  border-radius: 6px;
  padding: 2px 8px;
  cursor: pointer;
}

.sales-order-page .sales-fulfillment-row-remove:hover {
  background: #ffe4e6;
}

.sales-order-page .sales-fulfillment-qty-input {
  width: 78px;
  height: 28px;
  border: 1px solid #d5dde7;
  border-radius: 6px;
  padding: 0 6px;
  font-size: 12px;
}

/* 明细表横向滚动；合计条不随表左右滚动。overflow-y 勿用 visible，否则部分浏览器下 th/td 的横向 sticky 失效 */
.sales-order-page .sales-order-lines-table-scroll {
  overflow: auto;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  scrollbar-gutter: stable;
  -webkit-overflow-scrolling: touch;
}

/*
 * HistoryConfigurableTable 明细（.hist-config-table）：border-collapse:collapse 时 th/td 的横向 position:sticky
 * 在多数浏览器不可靠，商品列、操作列表头会随横向滚动条飘走；改为 separate + 0 间距与制单行内 sticky 一致。
 */
.sales-order-page .sales-order-lines-table.product-table-real.hist-config-table {
  border-collapse: separate;
  border-spacing: 0;
}

.sales-order-page .sales-order-lines-table.hist-config-table > thead > tr > th.product-sticky-left {
  z-index: 7;
}

.sales-order-page .sales-order-lines-table.hist-config-table > thead > tr > th.product-sticky-action {
  z-index: 8;
}

/* 共用 .sales-order-line-col-product 的 overflow:hidden 会打断 th 的横向 sticky；表头改 visible，省略号由 .hist-th-label 承担 */
.sales-order-page .sales-order-lines-table.hist-config-table > thead > tr > th.sales-order-line-col-product.product-sticky-left {
  overflow: visible;
  position: sticky;
}

.sales-order-page .sales-order-lines-table.hist-config-table > tbody > tr > td.product-sticky-left {
  z-index: 4;
}

.sales-order-page .sales-order-lines-table.hist-config-table > tbody > tr > td.product-sticky-action {
  z-index: 5;
}

/*
 * 可调列宽明细（.hist-config-table）：须 table-layout:fixed + colgroup，拖拽才生效。
 * 勿用 auto + 2146px 撑宽，否则列宽由内容算法分配，三列等无法拖宽。
 */
.sales-order-page.inventory-order-sheet .product-table-real.hist-config-table.crm-ledger-table,
.sales-order-page .sales-order-lines-table.product-table-real.hist-config-table {
  table-layout: fixed;
  width: max-content;
  min-width: 100%;
  max-width: none;
}

/* 非 hist-config 的旧表（若有）仍按内容自适应 */
.sales-order-page .sales-order-lines-table.product-table-real:not(.hist-config-table) {
  width: max-content;
  min-width: 2146px;
  table-layout: auto;
}

/* 调拨明细列数远少于销货单，勿沿用 2146px 总宽，避免常规宽度下无意义地出现横向条 */
.sales-order-page.transfer-order-sheet .sales-order-lines-table.product-table-real {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  table-layout: auto;
}

/* 费用支出单列数较少，维持自适应宽度 */
.sales-order-page.inventory-order-sheet.fep-doc-sheet .sales-order-lines-table.product-table-real {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  table-layout: auto;
}

/* 费用报销单：列数少，与费用支出单同逻辑，避免沿用销货大表 min-width */
.sales-order-page.inventory-order-sheet.er-doc-sheet .sales-order-lines-table.product-table-real {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  table-layout: auto;
}

/* 与 ExpenseTypePicker · sales-customer-input-wrap 一致：整框圆角、36px 高、白底细边 */
.sales-order-page.inventory-order-sheet.er-doc-sheet .sales-order-lines-table--center > tbody > tr > td:not(.sales-order-line-col-product) input,
.sales-order-page.inventory-order-sheet.er-doc-sheet .sales-order-lines-table--center > tbody > tr > td:not(.sales-order-line-col-product) textarea {
  text-align: left;
}

.sales-order-page.inventory-order-sheet.er-doc-sheet .er-ref-input-wrap {
  position: relative;
  display: flex;
  align-items: center;
  min-width: 0;
  min-height: 36px;
  height: 36px;
  box-sizing: border-box;
  border: 1px solid var(--border-light, #e2e8f0);
  border-radius: 8px;
  background: #fff;
  padding: 0;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.sales-order-page.inventory-order-sheet.er-doc-sheet .er-ref-input-wrap .ic-line-input {
  flex: 1 1 auto;
  min-width: 0;
  height: 34px;
  margin: 0 !important;
  padding: 0 36px 0 10px !important;
  border: none !important;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 12px;
  color: var(--text-on-light, #0f172a);
  text-align: left;
}

.sales-order-page.inventory-order-sheet.er-doc-sheet .er-ref-input-wrap .ic-line-input::placeholder {
  color: var(--text-muted-light, #64748b);
}

.sales-order-page.inventory-order-sheet.er-doc-sheet .er-ref-search-btn {
  position: absolute;
  right: 2px;
  top: 50%;
  transform: translateY(-50%);
  flex: 0 0 auto;
  width: 28px;
  height: 30px;
  min-width: 28px;
  padding: 0;
  margin: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  color: #6b8592;
  font-size: 14px;
  line-height: 1;
  cursor: pointer;
  box-shadow: none;
}

.sales-order-page.inventory-order-sheet.er-doc-sheet .er-ref-search-btn:hover {
  color: var(--ui-accent-ink, #0a5f6e);
  background: transparent;
}

.sales-order-page.inventory-order-sheet.er-doc-sheet .er-line-pill-input {
  width: 100%;
  min-width: 0;
  height: 36px;
  box-sizing: border-box;
  margin: 0 !important;
  padding: 8px 10px !important;
  border: 1px solid var(--border-light, #e2e8f0) !important;
  border-radius: 8px;
  background: #fff !important;
  font-size: 12px;
  color: var(--text-on-light, #0f172a);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  text-align: left;
}

.sales-order-page.inventory-order-sheet.er-doc-sheet .er-line-pill-input::placeholder {
  color: var(--text-muted-light, #64748b);
}

.sales-order-page.inventory-order-sheet.er-doc-sheet .er-line-pill-input--amount {
  text-align: right;
}

.sales-order-page.inventory-order-sheet.er-doc-sheet .er-line-pill-input--amount::-webkit-outer-spin-button,
.sales-order-page.inventory-order-sheet.er-doc-sheet .er-line-pill-input--amount::-webkit-inner-spin-button {
  margin: 0;
  -webkit-appearance: none;
  appearance: none;
}

.sales-order-page.inventory-order-sheet.er-doc-sheet .er-line-pill-input[type='number'] {
  -moz-appearance: textfield;
  appearance: textfield;
}

/* 其他收入单：4 列主表，固定为整行布局（避免 width:max-content 收缩成半截） */
.sales-order-page.inventory-order-sheet.foi-doc-sheet .sales-order-lines-table.product-table-real {
  width: 100%;
  min-width: 980px;
  table-layout: fixed;
}

.sales-order-page.inventory-order-sheet.for-doc-sheet .sales-order-lines-table.product-table-real {
  width: 100%;
  min-width: 980px;
  table-layout: fixed;
}

.sales-order-page.inventory-order-sheet.fop-doc-sheet .sales-order-lines-table.product-table-real {
  width: 100%;
  min-width: 980px;
  table-layout: fixed;
}

.sales-order-page.inventory-order-sheet.foi-doc-sheet .sales-order-lines-table .sales-order-line-col-product {
  width: auto;
}

.sales-order-page.inventory-order-sheet.foi-doc-sheet .sales-order-lines-sticky-op.product-sticky-action {
  width: 150px;
  min-width: 150px;
}

.sales-order-page.inventory-order-sheet.foi-doc-sheet .sales-order-lines-table--center > tbody > tr > td.sales-order-lines-sticky-op {
  text-align: center;
}

.sales-order-page .sales-order-lines-table .sales-order-line-col-product {
  text-align: left;
  vertical-align: middle;
}

.content-area .sales-order-page .sales-order-lines-table--center > thead > tr > th.sales-order-line-col-product {
  text-align: left;
}

.sales-order-page .sales-order-lines-table .sales-order-line-col-discount {
  min-width: 108px;
  width: 108px;
}

/* 明细表：表头全部左对齐；数据行非商品列仍为居中（数量/金额等） */
.sales-order-page .sales-order-lines-table--center > thead > tr > th {
  text-align: left;
}

.sales-order-page .sales-order-lines-table--center > tbody > tr > td:not(.sales-order-line-col-product) {
  text-align: center;
  vertical-align: middle;
}

.sales-order-page .sales-order-lines-table--center > tbody > tr > td:not(.sales-order-line-col-product) input:not(.ic-unit-price-input),
.sales-order-page .sales-order-lines-table--center > tbody > tr > td:not(.sales-order-line-col-product) textarea {
  text-align: center;
}

/* 明细输入框随列宽伸缩，勿用固定 px 或内容最小宽撑死列 */
.sales-order-page.inventory-order-sheet .sales-order-line-field-input,
.sales-order-page .sales-order-lines-table--center .sales-order-line-field-input,
.sales-order-page.inventory-order-sheet .crm-ledger-table.hist-config-table tbody td input.sales-order-line-field-input,
.sales-order-page.inventory-order-sheet .crm-ledger-table.hist-config-table tbody td input:not([type='checkbox']):not(.sales-product-cell input) {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  margin: 0;
  padding: 6px 8px;
  border: 1px solid var(--input-border, #d5dde7);
  border-radius: 8px;
  background: var(--input-surface, #fff);
  box-shadow: var(--input-inner-shadow, 0 1px 2px rgba(15, 23, 42, 0.04));
  font-size: 12px;
  color: var(--text-on-light, #0f172a);
}

.sales-order-page.inventory-order-sheet .sales-order-line-field-input--num,
.sales-order-page.inventory-order-sheet .crm-ledger-table.hist-config-table tbody td.ir-cell-num input {
  text-align: center;
  font-variant-numeric: tabular-nums;
}

.sales-order-page.inventory-order-sheet .crm-ledger-table.hist-config-table tbody td.sales-order-line-col-spec,
.sales-order-page.inventory-order-sheet .crm-ledger-table.hist-config-table tbody td.sales-order-line-col-qty,
.sales-order-page.inventory-order-sheet .crm-ledger-table.hist-config-table tbody td.sales-order-line-col-price,
.sales-order-page .sales-order-lines-table--center tbody td.sales-order-line-col-spec,
.sales-order-page .sales-order-lines-table--center tbody td.sales-order-line-col-qty,
.sales-order-page .sales-order-lines-table--center tbody td.sales-order-line-col-price {
  min-width: 0;
  overflow: hidden;
}

/* 销货单含税单价：与销售合同标的明细同高、同 flex 布局（避免 width:100% 把输入框撑满整列） */
.sales-order-page .sales-order-lines-table tbody td.sales-order-line-col-price {
  text-align: left;
  vertical-align: middle;
}

.sales-order-page .sales-order-lines-table .ic-unit-price-cell {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  width: 100%;
  justify-content: flex-start;
}

.sales-order-page .sales-order-lines-table tbody td.sales-order-line-col-price .ic-line-input.ic-unit-price-input {
  height: 36px;
  min-height: 36px;
  padding: 8px 10px !important;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

/* 价格参照：与明细输入框同白底，勿用制单页全局 button 磨砂底 */
.doc-page-shell.sales-order-page .sales-order-lines-table .ic-price-ref-btn,
.sales-order-page.inventory-order-sheet .sales-order-lines-table .ic-price-ref-btn {
  margin: 0;
  padding: 0 4px;
  min-height: 36px;
  min-width: 32px;
  border: 1px solid var(--input-border, #d5dde7);
  border-radius: 8px;
  background: #fff;
  box-shadow: var(--input-inner-shadow, 0 1px 2px rgba(15, 23, 42, 0.04));
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  color: #059669;
  font-size: 1.15rem;
  line-height: 1;
  flex-shrink: 0;
  cursor: pointer;
}

.doc-page-shell.sales-order-page .sales-order-lines-table .ic-price-ref-btn:hover:not(:disabled),
.sales-order-page.inventory-order-sheet .sales-order-lines-table .ic-price-ref-btn:hover:not(:disabled) {
  background: #fff;
  border-color: color-mix(in srgb, var(--sidebar-teal) 48%, #cbd5e1);
  box-shadow: var(--input-inner-shadow, 0 1px 2px rgba(15, 23, 42, 0.04));
}

.sales-order-page .sales-order-lines-table--center > thead > tr > th.sales-order-lines-sticky-op {
  text-align: left;
}

.sales-order-page .sales-order-lines-table--center > tbody > tr > td.sales-order-lines-sticky-op {
  text-align: center;
}

.sales-order-page .sales-order-lines-sticky-op.product-sticky-action {
  position: sticky;
  right: 0;
  z-index: 3;
  min-width: 150px;
  box-shadow: -6px 0 10px rgba(15, 23, 42, 0.06);
}

.sales-order-page .product-table-real thead .sales-order-lines-sticky-op.product-sticky-action {
  z-index: 6;
}

.content-area .sales-order-page .product-table-real tbody tr:nth-child(odd) td.sales-order-lines-sticky-op.product-sticky-action {
  background: var(--table-row-striped);
}

.content-area .sales-order-page .product-table-real tbody tr:nth-child(even) td.sales-order-lines-sticky-op.product-sticky-action {
  background: #fff;
}

.content-area .sales-order-page .product-table-real thead th.sales-order-lines-sticky-op.product-sticky-action {
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--sidebar-teal) 12%, #ffffff) 0%,
    color-mix(in srgb, var(--sidebar-teal) 5%, #ffffff) 100%
  );
}

/* .sales-history-page 下历史列表样式见文件末尾「非 scoped」块：子组件渲染的 DOM 无本组件 data-v，scoped 内不生效 */

.history-order-link-btn {
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  background: none;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  color: var(--ui-accent-ink, #0f5b68);
  font: inherit;
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px solid color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 42%, transparent);
  cursor: pointer;
  display: inline;
  line-height: 1.5;
  min-height: 0;
}

.history-order-link-btn:hover,
.sfl-doc-no-link:hover,
.ssp-stock-qty-link:hover {
  color: #063d47;
  border-bottom-color: var(--sidebar-teal, #5fb8c1);
  background: none;
}

.history-order-link-btn:focus-visible,
.sfl-doc-no-link:focus-visible,
.ssp-stock-qty-link:focus-visible {
  outline: none;
  border-radius: 2px;
  box-shadow: var(--focus-ring-shadow, 0 0 0 2px color-mix(in srgb, var(--sidebar-teal) 35%, transparent));
}

/* 列表/表格内文字链：底横线，无外框 */
.sfl-doc-no-link,
button.sfl-doc-no-link,
.ssp-stock-qty-link,
a.ssp-stock-qty-link {
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  background: none;
  box-shadow: none;
  color: var(--ui-accent-ink, #0f5b68);
  font: inherit;
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px solid color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 42%, transparent);
  cursor: pointer;
  display: inline;
  line-height: 1.5;
  min-height: 0;
  word-break: break-all;
}

a.ssp-stock-qty-link {
  appearance: none;
  -webkit-appearance: none;
}

/* 统计/历史列表（crm-ledger-table）：文字链底横线，覆盖 sales-history-page 全局 button 磨砂样式 */
.sales-history-page .crm-ledger-table .history-order-link-btn,
.sales-history-page .crm-ledger-table .sfl-doc-no-link,
.sales-history-page .hist-config-table .history-order-link-btn,
.sales-history-page .hist-config-table .sfl-doc-no-link,
.doc-page-shell.sales-history-page .crm-ledger-table .history-order-link-btn,
.doc-page-shell.sales-history-page .crm-ledger-table .sfl-doc-no-link {
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  background: none;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  color: var(--ui-accent-ink, #0f5b68);
  font: inherit;
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px solid color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 42%, transparent);
  cursor: pointer;
  display: inline;
  line-height: 1.5;
  min-height: 0;
  word-break: break-all;
}

.sales-history-page .crm-ledger-table .history-order-link-btn:hover,
.sales-history-page .crm-ledger-table .sfl-doc-no-link:hover,
.sales-history-page .hist-config-table .history-order-link-btn:hover,
.sales-history-page .hist-config-table .sfl-doc-no-link:hover,
.doc-page-shell.sales-history-page .crm-ledger-table .history-order-link-btn:hover,
.doc-page-shell.sales-history-page .crm-ledger-table .sfl-doc-no-link:hover {
  color: #063d47;
  border-bottom-color: var(--sidebar-teal, #5fb8c1);
  background: none;
}

.outbound-order-no-cell {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.sales-customer-field { position: relative; }

/* 内嵌 🔍 布局见 picker-inline-search.css；此处勿用 flex+gap，否则图标会变成独立磨砂按钮 */
.sales-customer-input-wrap { position: relative; display: block; min-width: 0; }

.sales-customer-input-wrap input { width: 100%; min-width: 0; box-sizing: border-box; }

.sales-customer-quick-panel {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 4px);
  z-index: 40;
  background: #fff;
  border: 1px solid var(--border-light);
  border-radius: 8px;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.14);
  max-height: 300px;
  overflow: auto;
}

.sales-customer-empty { padding: 14px; display: flex; justify-content: space-between; align-items: center; gap: 10px; }

.sales-customer-quick-table { width: 100%; border-collapse: collapse; font-size: 12px; }

.sales-customer-quick-table th, .sales-customer-quick-table td { border-bottom: 1px solid var(--border-light); padding: 8px; text-align: left; white-space: nowrap; }

.sales-customer-quick-table tbody tr { cursor: pointer; }

.sales-customer-quick-table tbody tr:hover { background: var(--table-row-hover); }

.sales-customer-dialog-mask {
  position: fixed;
  inset: 0;
  background: var(--ui-dialog-mask);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 90;
}

.sales-customer-dialog {
  width: min(1180px, 92vw);
  max-height: 86vh;
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 12px;
  border: 1px solid var(--border-light);
  box-shadow: var(--ui-dialog-shadow);
}

.sales-customer-dialog-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px;
  border-bottom: 1px solid var(--border-light);
}

/* 选单弹窗关闭钮：与商品档案（SalesProductSelector）同款，压过全局 frost 方钮 */
.sales-customer-dialog-close-btn {
  width: 32px;
  height: 32px;
  min-width: 32px;
  margin: 0;
  padding: 0;
  border: none !important;
  border-radius: 8px;
  background: #f1f5f9 !important;
  color: #64748b !important;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.sales-customer-dialog-close-btn:hover {
  background: #e2e8f0 !important;
  color: #0f172a !important;
}

.sales-customer-dialog-foot-right {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.sales-customer-dialog-foot-right .purchase-tool-btn {
  margin: 0;
  padding: 8px 12px;
  font-size: 13px;
  line-height: 1.2;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.sales-customer-dialog-body {
  display: grid;
  grid-template-columns: 200px 1fr;
  min-height: 420px;
}

.sales-customer-dialog-tree {
  border-right: 1px solid var(--border-light);
  padding: 10px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  background: #f8fafc;
}

.sales-customer-dialog-tree-item {
  margin: 0;
  text-align: left;
  justify-content: flex-start;
}

.sales-customer-dialog-tree-item--active {
  border-color: var(--sidebar-teal) !important;
  background: rgba(95, 184, 193, 0.18);
  color: #0a5f6e;
  font-weight: 700;
}

.sales-customer-dialog-main {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.sales-customer-dialog-toolbar {
  display: flex;
  gap: 8px;
  align-items: center;
  padding: 10px 12px;
  border-bottom: 1px solid var(--border-light);
}

.sales-customer-dialog-toolbar input { flex: 1; }

.sales-customer-dialog-table-wrap { overflow: auto; padding: 0 10px; }

.sales-customer-dialog-table thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: var(--table-header-bg);
}

.sales-customer-dialog-row--active td {
  background: rgba(95, 184, 193, 0.14);
}

.sales-customer-dialog-foot {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  padding: 10px 12px;
  border-top: 1px solid var(--border-light);
}

.product-category-sidebar-inline-add--root {
  margin-bottom: 10px;
}

/* ---------- 销售合同 ---------- */
.income-contract-page {
  overflow: visible;
}

.income-contract-page-title {
  margin: 0 0 12px;
  color: #0a5f6e;
  font-size: 18px;
}

.expense-contract-page-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.expense-contract-page-title {
  margin-bottom: 0;
  color: #9a3412;
}

.expense-contract-form-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.expense-contract-biz-type-label {
  grid-column: span 2;
}

.expense-contract-form-spacer {
  min-height: 1px;
}

.expense-contract-product-cell .ec-product-input {
  flex: 1;
  min-width: 80px;
  margin-bottom: 0 !important;
}

/* 销售合同页主档：三列等分，控件撑满列宽（与采购合同等共用类名时支出页带 .expense-contract-page） */
.inventory-order-sheet.income-contract-page:not(.expense-contract-page) .field-grid.income-contract-form-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px 12px;
  align-items: start;
}

.inventory-order-sheet.income-contract-page:not(.expense-contract-page) .field-grid.income-contract-form-grid > label,
.inventory-order-sheet.income-contract-page:not(.expense-contract-page) .field-grid.income-contract-form-grid > .sales-customer-field {
  min-width: 0;
  margin: 0;
}

/* 与销货单主档一致：标签行占位 + 控件 36px，客户列与普通 label 列水平对齐 */
.inventory-order-sheet.income-contract-page:not(.expense-contract-page) .field-grid.income-contract-form-grid > label > span,
.inventory-order-sheet.income-contract-page:not(.expense-contract-page) .field-grid.income-contract-form-grid .sales-customer-field > span {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  line-height: 20px;
  margin-bottom: 4px;
}

.inventory-order-sheet.income-contract-page:not(.expense-contract-page) .field-grid.income-contract-form-grid > label > select,
.inventory-order-sheet.income-contract-page:not(.expense-contract-page) .field-grid.income-contract-form-grid > label > input:not([type='checkbox']):not([type='radio']) {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
  height: 36px;
  margin: 0;
  font-size: 13px;
  color: #111827;
}

.inventory-order-sheet.income-contract-page:not(.expense-contract-page) .field-grid.income-contract-form-grid .income-contract-biz-select {
  max-width: none;
  width: 100%;
  flex: none;
}

.inventory-order-sheet.income-contract-page:not(.expense-contract-page) .field-grid.income-contract-form-grid .sales-customer-field {
  display: flex;
  flex-direction: column;
}

.inventory-order-sheet.income-contract-page:not(.expense-contract-page) .field-grid.income-contract-form-grid .sales-customer-input-wrap {
  width: 100%;
  min-height: 36px;
  align-items: stretch;
}

.inventory-order-sheet.income-contract-page:not(.expense-contract-page) .field-grid.income-contract-form-grid .sales-customer-input-wrap input {
  background: #fff;
  border: 1px solid #d5dde7;
  border-radius: 8px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  height: 36px;
  margin: 0;
  font-size: 13px;
  color: #111827;
  box-sizing: border-box;
}

.inventory-order-sheet.income-contract-page:not(.expense-contract-page) .field-grid.income-contract-form-grid .sales-customer-input-wrap .sales-customer-more {
  height: 30px;
  width: 28px;
  min-width: 28px;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.inventory-order-sheet.income-contract-page:not(.expense-contract-page) .field-grid.income-contract-form-grid .sales-customer-input-wrap input:focus-visible {
  border-color: color-mix(in srgb, var(--sidebar-teal) 48%, #cbd5e1);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--sidebar-teal) 16%, transparent);
}

.inventory-order-sheet.income-contract-page:not(.expense-contract-page) .income-contract-form-grid-filler {
  min-height: 0;
  pointer-events: none;
  visibility: hidden;
}

.inventory-order-sheet .field-grid.income-contract-form-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px 12px;
}

.inventory-order-sheet .field-grid.expense-contract-form-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px 12px;
}

.inventory-order-sheet .expense-contract-biz-type-label,
.inventory-order-sheet .income-contract-biz-type-label {
  grid-column: span 1;
}

/* 业务类型「?」说明：须放全局 CSS（子组件无法吃到 App.vue scoped） */
.income-contract-biz-type-row {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.income-contract-biz-select {
  flex: 1;
  min-width: 160px;
  max-width: 280px;
  margin-bottom: 0 !important;
}

.income-contract-biz-help-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
  outline: none;
}

.income-contract-help-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 35%, var(--border-light));
  background: #fff;
  color: #0a5f6e;
  font-size: 12px;
  font-weight: 700;
  cursor: help;
  line-height: 1;
}

.income-contract-biz-help-wrap:hover .income-contract-help-trigger,
.income-contract-biz-help-wrap:focus-within .income-contract-help-trigger {
  background: color-mix(in srgb, var(--sidebar-teal) 14%, #fff);
}

.income-contract-tooltip {
  display: none;
  position: absolute;
  z-index: 80;
  top: 0;
  left: calc(100% + 10px);
  width: min(480px, calc(100vw - 48px));
  max-height: min(72vh, 560px);
  overflow: auto;
  padding: 0;
  margin: 0;
  border: 1px solid var(--border-light);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 12px 40px rgba(15, 23, 42, 0.14);
  text-align: left;
}

.income-contract-biz-help-wrap:hover .income-contract-tooltip,
.income-contract-biz-help-wrap:focus-within .income-contract-tooltip {
  display: block;
}

.income-contract-tooltip-inner {
  padding: 12px 14px 14px;
  font-size: 12px;
  line-height: 1.55;
  color: #334155;
}

.ict-tip-block + .ict-tip-block {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px dashed #e2e8f0;
}

.ict-tip-h {
  margin: 0 0 8px;
  font-size: 13px;
  color: #0a5f6e;
}

.ict-tip-p {
  margin: 0 0 8px;
}

.ict-tip-strong {
  margin: 8px 0 4px;
  font-weight: 700;
  color: #0f172a;
}

.ict-tip-ol,
.ict-tip-ul {
  margin: 0 0 8px;
  padding-left: 1.25em;
}

.ict-tip-note {
  margin: 0;
  font-size: 11px;
  color: #64748b;
}

.ict-tip-pre {
  margin: 0 0 8px;
  padding: 8px 10px;
  background: #f8fafc;
  border-radius: 8px;
  font-size: 11px;
  line-height: 1.45;
  white-space: pre-wrap;
  word-break: break-all;
}

.ec-line-th-help .income-contract-tooltip,
.ec-line-cell-help .income-contract-tooltip {
  left: auto;
  right: 0;
  top: calc(100% + 6px);
  width: min(300px, 88vw);
}

.income-contract-tooltip--compact {
  max-height: min(36vh, 200px);
}

@media (max-width: 720px) {
  .inventory-order-sheet .field-grid.income-contract-form-grid,
  .inventory-order-sheet .field-grid.expense-contract-form-grid {
    grid-template-columns: 1fr;
  }
  .inventory-order-sheet.income-contract-page:not(.expense-contract-page) .income-contract-form-grid-filler {
    display: none;
  }
}

/* 制单页 · 统一页签（采购发票 / 销货单 / 合同 / 采购单等） */
.doc-sheet-tab-panel {
  margin-top: 12px;
}

.doc-sheet-tabs,
.income-contract-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-bottom: 0;
  padding: 0 2px;
  border-bottom: 1px solid color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 14%, #e2e8f0);
}

.doc-sheet-tab,
.income-contract-tab {
  margin: 0 0 -1px 0 !important;
  padding: 8px 14px !important;
  border-radius: 8px 8px 0 0 !important;
  border: 1px solid transparent !important;
  border-bottom: none !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #64748b;
  font-size: 13px;
  line-height: 1.35;
  cursor: pointer;
}

.doc-sheet-tab--active,
.income-contract-tab--active {
  border-color: color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 14%, #e2e8f0) !important;
  background: #fff !important;
  color: #0a5f6e !important;
  font-weight: 600 !important;
}

.doc-sheet-tab-panel__body {
  padding-top: 10px;
}

/*
 * 销货单制单：不锁视口高度。表单窄屏折列；明细随行数增高、最高 10 行，
 * 超出在表体内滚动。样机借用 / 仓库出库不受此类影响。
 */
.sales-order-sheet-fill .document-create-header {
  flex-shrink: 0;
}

.sales-order-sheet-fill .document-create-header__actions {
  flex: 1 1 auto;
  flex-wrap: wrap;
  justify-content: flex-end;
  min-width: 0;
}

.sales-order-sheet-fill .sales-order-sheet-header-panel,
.sales-order-sheet-fill .stat-ledger-filters {
  flex-shrink: 0;
}

.sales-order-sheet-fill .field-grid.doc-template-header-grid.sales-outbound-master-form,
.sales-order-sheet-fill .field-grid.gross-profit-stat-filter-grid.sales-outbound-master-form {
  grid-template-columns: repeat(var(--doc-header-cols, 3), minmax(220px, 1fr));
}

@media (max-width: 1280px) {
  .sales-order-sheet-fill .field-grid.doc-template-header-grid.sales-outbound-master-form,
  .sales-order-sheet-fill .field-grid.gross-profit-stat-filter-grid.sales-outbound-master-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .sales-order-sheet-fill .field-grid.doc-template-header-grid.sales-outbound-master-form,
  .sales-order-sheet-fill .field-grid.gross-profit-stat-filter-grid.sales-outbound-master-form {
    grid-template-columns: minmax(0, 1fr);
  }
}


.doc-sheet-tab-panel__body > .income-contract-receivable-panel,
.doc-sheet-tab-panel__body > .document-attachments-panel,
.doc-sheet-tab-panel__body > .income-contract-receipt-plan,
.doc-sheet-tab-panel__body > .income-contract-attachments-panel {
  margin-top: 0 !important;
}

.doc-sheet-tab-panel__body .history-toolbar,
.doc-sheet-tab-panel__body .income-contract-subject-toolbar {
  margin-top: 0;
  margin-bottom: 10px;
}

/* 制单页签行 · 导入 Excel 明细（销货单制单标准控件） */
.doc-sheet-tabs .purchase-tool-btn.doc-sheet-excel-import-btn {
  margin-left: auto;
  align-self: center;
  flex-shrink: 0;
  color: #0f172a;
  background: #ffffff;
  border: 1px solid var(--border-light);
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.doc-sheet-tabs .purchase-tool-btn.doc-sheet-excel-import-btn:hover:not(:disabled) {
  color: #0f172a;
  background: #ffffff;
  border-color: color-mix(in srgb, var(--sidebar-teal) 28%, var(--border-light));
}

.doc-sheet-tabs .doc-sheet-tab-toolbar-actions {
  margin-left: auto;
  align-self: center;
  flex-shrink: 0;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

/* 制单/详情 · 明细合计行（tbody 最后一行，销货单标准） */
.hist-config-table > tbody > tr.outbound-expand-summary-row > td,
.product-table-real > tbody > tr.outbound-expand-summary-row > td {
  text-align: right;
  background: var(--table-summary-bg);
  font-weight: 700;
  color: var(--table-summary-text);
  font-size: 12px;
  white-space: nowrap;
}
.crm-ledger-list-shell .hist-config-table > tbody > tr.outbound-expand-summary-row:hover > td,
.product-table-wrap .product-table-real > tbody > tr.outbound-expand-summary-row:hover > td {
  background: var(--table-summary-bg) !important;
}

/* 详情页 · 主档外框与字段（销货单详情标准） */
.doc-view-detail-head {
  padding: 12px 14px;
  border: 1px solid #e2e8f0;
  border-radius: 6px;
  box-sizing: border-box;
  margin-bottom: 14px;
}
.doc-view-status-ribbon {
  margin: 0 0 14px;
}
.doc-view-status-line {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: 20px;
  row-gap: 12px;
  margin: 0;
  padding: 0;
  line-height: 1.5;
  box-sizing: border-box;
  font-size: 14px;
  color: var(--text-on-light, #334155);
}
.doc-view-status-line > span {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.doc-view-money-info {
  margin-bottom: 14px;
  padding: 12px 14px;
  border: 1px solid #e2e8f0;
  border-radius: 6px;
  box-sizing: border-box;
}
.doc-view-money-info-title {
  margin: 0 0 12px !important;
  font-weight: 700;
  color: #0f172a;
}
.doc-view-money-info-foot {
  margin: 12px 0 0 !important;
  font-size: 12px;
  line-height: 1.45;
  color: #64748b;
}
.doc-view-money-due-hint {
  margin-left: 6px;
  font-size: 12px;
  font-weight: 500;
  color: #64748b;
}
.doc-view-master-grid.field-grid.sales-sheet-form,
.inventory-order-sheet .doc-view-master-grid.field-grid.sales-sheet-form {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px 12px;
  width: 100%;
  box-sizing: border-box;
  align-items: start;
  line-height: 1.5;
}
.doc-view-money-grid.field-grid.sales-sheet-form,
.inventory-order-sheet .doc-view-money-grid.field-grid.sales-sheet-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 24px;
  width: 100%;
  box-sizing: border-box;
  align-items: baseline;
  line-height: 1.5;
}
.doc-view-master-field,
.inventory-order-sheet .doc-view-master-field {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0 4px;
  min-width: 0;
  line-height: 1.5;
}
.doc-view-master-field--full {
  grid-column: 1 / -1;
}
.doc-view-master-field--emph .doc-view-field-v strong {
  color: #b45309;
  font-weight: 700;
}
.doc-view-field-k,
.inventory-order-sheet .doc-view-field-k {
  flex-shrink: 0;
  display: inline;
  margin-bottom: 0;
  font-size: 12px;
  font-weight: 600;
  color: var(--text-muted-light, #64748b);
  line-height: 1.5;
}
.doc-view-field-k::after,
.inventory-order-sheet .doc-view-field-k::after {
  content: '：';
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
}
.doc-view-field-v,
.inventory-order-sheet .doc-view-field-v {
  flex: 1;
  min-width: 0;
  display: inline;
  font-size: 13px;
  color: #0f172a;
  word-break: break-word;
  line-height: 1.5;
  font-variant-numeric: tabular-nums;
}
.doc-view-detail-head button.history-order-link-btn,
.doc-view-detail-head button.doc-view-field-link {
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  background: none;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  color: var(--ui-accent-ink, #0f5b68);
  font: inherit;
  font-weight: 600;
  font-size: 13px;
  text-decoration: none;
  border-bottom: 1px solid color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 42%, transparent);
  cursor: pointer;
  display: inline;
  line-height: 1.5;
  min-height: 0;
  text-align: left;
  font-variant-numeric: tabular-nums;
}
.doc-view-detail-head button.history-order-link-btn:hover,
.doc-view-detail-head button.doc-view-field-link:hover {
  color: #063d47;
  border-bottom-color: var(--sidebar-teal, #5fb8c1);
  background: none;
}
.doc-view-detail-head button.history-order-link-btn:focus-visible,
.doc-view-detail-head button.doc-view-field-link:focus-visible {
  outline: none;
  border-radius: 2px;
  box-shadow: var(--focus-ring-shadow);
}
@media (max-width: 1200px) {
  .doc-view-master-grid.field-grid.sales-sheet-form.sales-inventory-master-3,
  .inventory-order-sheet .doc-view-master-grid.field-grid.sales-sheet-form.sales-inventory-master-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 720px) {
  .doc-view-money-grid.field-grid.sales-sheet-form,
  .inventory-order-sheet .doc-view-money-grid.field-grid.sales-sheet-form {
    grid-template-columns: 1fr;
  }
}
.doc-view-detail-head .purchase-history-detail-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  padding: 0;
  margin: 0;
  font-size: 12px;
  color: var(--text-muted-light, #64748b);
  line-height: 1.5;
}
.doc-view-detail-head .purchase-history-detail-meta > span {
  font-size: 12px;
  color: #0f172a;
  line-height: 1.5;
}
.doc-view-detail-head .purchase-history-detail-remark {
  font-size: 12px;
  color: #0f172a;
  line-height: 1.5;
}

/* 制单页 · 收付款计划 / 附件列表外框（与标的明细一致，全单据共用） */
.content-area .doc-sheet-bordered-list .crm-ledger-list-shell .stat-ledger-page-stack__body,
.content-area .income-contract-receivable-panel .crm-ledger-list-shell .stat-ledger-page-stack__body,
.content-area .document-attachments-panel__list--bordered .crm-ledger-list-shell .stat-ledger-page-stack__body {
  padding-left: 0;
  padding-right: 0;
  padding-bottom: 0;
}

.content-area .doc-sheet-bordered-list .crm-ledger-list-shell.stat-ledger-page-stack .stat-ledger-list-shell,
.content-area .income-contract-receivable-panel .crm-ledger-list-shell.stat-ledger-page-stack .stat-ledger-list-shell,
.content-area .document-attachments-panel__list--bordered .crm-ledger-list-shell.stat-ledger-page-stack .stat-ledger-list-shell {
  min-height: 0 !important;
  border: none;
  box-shadow: none;
  background: transparent;
  border-radius: 0;
}

.content-area .doc-sheet-bordered-list .crm-ledger-list-shell .stat-ledger-single-slot > .hist-config-wrap,
.content-area .income-contract-receivable-panel .crm-ledger-list-shell .stat-ledger-single-slot > .hist-config-wrap,
.content-area .document-attachments-panel__list--bordered .crm-ledger-list-shell .stat-ledger-single-slot > .hist-config-wrap {
  flex: 0 1 auto;
  min-height: 0;
  border: 1px solid color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 14%, #e2e8f0);
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
}

/* 应收冲应付制单：应收/应付双列表按行数堆叠，避免 stat-ledger-fill 把首表撑满视口 */
.content-area--stat-ledger-fill .arap-offset-page-shell.stat-ledger-page .doc-page-shell__section {
  overflow-x: hidden;
  overflow-y: auto;
}

.content-area--stat-ledger-fill .arap-offset-page-shell.stat-ledger-page .doc-page-shell__section > .doc-sheet-tab-panel {
  flex: 1 1 0%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.content-area--stat-ledger-fill .arap-offset-page-shell .doc-sheet-tab-panel__body {
  flex: 1 1 0%;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
}

.content-area--stat-ledger-fill .arap-offset-page-shell .arap-dual-lines.sales-sheet-lines,
.content-area--stat-ledger-fill .arap-offset-page-shell .arap-lines-section,
.content-area--stat-ledger-fill .arap-offset-page-shell .arap-lines-section--pay {
  flex: 0 0 auto;
  min-height: 0;
}

.content-area--stat-ledger-fill .arap-offset-page-shell .arap-lines-section .crm-ledger-list-shell--frameless,
.content-area--stat-ledger-fill .ssp-ledger-page.arap-offset-page-shell .arap-lines-section .crm-ledger-list-shell--frameless {
  flex: 0 0 auto !important;
  min-height: 0 !important;
}

.content-area--stat-ledger-fill .arap-offset-page-shell .arap-lines-section .crm-ledger-list-shell--frameless > .hist-config-wrap,
.content-area--stat-ledger-fill .ssp-ledger-page.arap-offset-page-shell .arap-lines-section .crm-ledger-list-shell--frameless > .hist-config-wrap {
  flex: 0 0 auto !important;
  min-height: 0 !important;
  overflow: visible;
}

.content-area--stat-ledger-fill .arap-offset-page-shell .arap-lines-section .hist-config-scroll-outer,
.content-area--stat-ledger-fill .ssp-ledger-page.arap-offset-page-shell .arap-lines-section .hist-config-scroll-outer,
.content-area--stat-ledger-fill .arap-offset-page-shell .arap-lines-section .hist-config-scroll-outer.sales-order-lines-table-scroll {
  flex: 0 0 auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow-x: hidden !important;
  overflow-y: visible !important;
}

.content-area--stat-ledger-fill .arap-offset-page-shell .arap-lines-section .crm-ledger-list-after--frameless {
  flex: 0 0 auto;
}

.content-area--stat-ledger-fill .advance-allocate-page-shell.stat-ledger-page .doc-page-shell__section {
  overflow-x: hidden;
  overflow-y: auto;
}

.content-area--stat-ledger-fill .advance-allocate-page-shell.stat-ledger-page .doc-page-shell__section > .doc-sheet-tab-panel {
  flex: 1 1 0%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.content-area--stat-ledger-fill .advance-allocate-page-shell .doc-sheet-tab-panel__body {
  flex: 1 1 0%;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
}

.content-area--stat-ledger-fill .advance-allocate-page-shell .adar-dual-lines.sales-sheet-lines,
.content-area--stat-ledger-fill .advance-allocate-page-shell .adar-lines-section,
.content-area--stat-ledger-fill .advance-allocate-page-shell .adar-lines-section--recv {
  flex: 0 0 auto;
  min-height: 0;
}

.content-area--stat-ledger-fill .advance-allocate-page-shell .adar-lines-section .crm-ledger-list-shell--frameless,
.content-area--stat-ledger-fill .ssp-ledger-page.advance-allocate-page-shell .adar-lines-section .crm-ledger-list-shell--frameless {
  flex: 0 0 auto !important;
  min-height: 0 !important;
}

.content-area--stat-ledger-fill .advance-allocate-page-shell .adar-lines-section .crm-ledger-list-shell--frameless > .hist-config-wrap,
.content-area--stat-ledger-fill .ssp-ledger-page.advance-allocate-page-shell .adar-lines-section .crm-ledger-list-shell--frameless > .hist-config-wrap {
  flex: 0 0 auto !important;
  min-height: 0 !important;
  overflow: visible;
}

.content-area--stat-ledger-fill .advance-allocate-page-shell .adar-lines-section .hist-config-scroll-outer,
.content-area--stat-ledger-fill .ssp-ledger-page.advance-allocate-page-shell .adar-lines-section .hist-config-scroll-outer,
.content-area--stat-ledger-fill .advance-allocate-page-shell .adar-lines-section .hist-config-scroll-outer.sales-order-lines-table-scroll {
  flex: 0 0 auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow-x: hidden !important;
  overflow-y: visible !important;
}

.content-area--stat-ledger-fill .advance-allocate-page-shell .adar-lines-section .crm-ledger-list-after--frameless {
  flex: 0 0 auto;
}

.content-area--stat-ledger-fill .prepay-allocate-page-shell.stat-ledger-page .doc-page-shell__section {
  flex: 0 0 auto !important;
  min-height: 0 !important;
}

.content-area--stat-ledger-fill .prepay-allocate-page-shell.stat-ledger-page .doc-page-shell__section > .doc-sheet-tab-panel {
  flex: 0 0 auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}

.content-area--stat-ledger-fill .prepay-allocate-page-shell .doc-sheet-tab-panel__body {
  flex: 0 0 auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}

.content-area--stat-ledger-fill .prepay-allocate-page-shell .adap-dual-lines.sales-sheet-lines,
.content-area--stat-ledger-fill .prepay-allocate-page-shell .adap-lines-section,
.content-area--stat-ledger-fill .prepay-allocate-page-shell .adap-lines-section--pay {
  flex: 0 0 auto !important;
}

.content-area--stat-ledger-fill .prepay-allocate-page-shell .adap-lines-section .crm-ledger-list-shell--frameless,
.content-area--stat-ledger-fill .ssp-ledger-page.prepay-allocate-page-shell .adap-lines-section .crm-ledger-list-shell--frameless {
  flex: 0 0 auto !important;
  min-height: 0 !important;
}

.content-area--stat-ledger-fill .prepay-allocate-page-shell .adap-lines-section .crm-ledger-list-shell--frameless > .hist-config-wrap,
.content-area--stat-ledger-fill .ssp-ledger-page.prepay-allocate-page-shell .adap-lines-section .crm-ledger-list-shell--frameless > .hist-config-wrap {
  flex: 0 0 auto !important;
  min-height: 0 !important;
}

.content-area--stat-ledger-fill .prepay-allocate-page-shell .adap-lines-section .hist-config-scroll-outer,
.content-area--stat-ledger-fill .ssp-ledger-page.prepay-allocate-page-shell .adap-lines-section .hist-config-scroll-outer,
.content-area--stat-ledger-fill .prepay-allocate-page-shell .adap-lines-section .hist-config-scroll-outer.sales-order-lines-table-scroll {
  flex: 0 0 auto !important;
  max-height: none !important;
  overflow-x: hidden !important;
  overflow-y: visible !important;
}

.content-area--stat-ledger-fill .prepay-allocate-page-shell .adap-lines-section .crm-ledger-list-after--frameless {
  flex: 0 0 auto;
}

/*
 * 样机借用/归还制单：高度随内容增高，content-area 整页纵滚。
 * 低分辨率下不压缩台账；主信息 → 台账 → 标的明细依次排开。
 * !important：压过 App.vue scoped 中 .stat-ledger-page.card / section 的 flex:1 + overflow:hidden。
 */
.content-area--stat-ledger-fill:has(.sample-doc-create-ledger) {
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

.content-area--stat-ledger-fill .sample-doc-create-ledger.stat-ledger-page.card {
  flex: 0 0 auto !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

.content-area--stat-ledger-fill .sample-doc-create-ledger.stat-ledger-page .doc-page-shell__section {
  flex: 0 0 auto !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

.content-area--stat-ledger-fill .sample-doc-create-ledger.stat-ledger-page .document-create-header,
.content-area--stat-ledger-fill .sample-doc-create-ledger.stat-ledger-page .sales-order-sheet-header-panel {
  flex-shrink: 0;
}

.content-area--stat-ledger-fill .sample-doc-create-ledger .sample-doc-sheet-stack {
  flex: 0 0 auto !important;
  min-height: 0 !important;
  overflow: visible !important;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.content-area--stat-ledger-fill .sample-doc-create-ledger .sample-doc-sheet-tabs.doc-sheet-tab-panel {
  flex: 0 0 auto !important;
  min-height: 0 !important;
  margin-top: 0;
  display: flex;
  flex-direction: column;
  overflow: visible !important;
}

.content-area--stat-ledger-fill .sample-doc-create-ledger .sample-doc-sheet-tabs .doc-sheet-tab-panel__body {
  flex: 0 0 auto !important;
  min-height: 0 !important;
  overflow: visible !important;
  display: flex;
  flex-direction: column;
  padding-top: 8px;
}

.content-area--stat-ledger-fill .sample-doc-create-ledger .sample-doc-sheet-tabs .doc-sheet-tab-panel__body > .history-page-viewport {
  flex: 0 0 auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}

/* 标的明细：与普通销货制单一致，固定约 10 行表体内滚，不抢视口 */
.content-area--stat-ledger-fill .sample-doc-create-ledger .sample-doc-sheet-tabs .history-page-viewport,
.content-area--stat-ledger-fill .sample-doc-create-ledger .sample-doc-sheet-tabs .stat-ledger-page-stack.crm-ledger-list-shell,
.content-area--stat-ledger-fill .sample-doc-create-ledger .sample-doc-sheet-tabs .crm-ledger-list-shell.stat-ledger-page-stack,
.content-area--stat-ledger-fill .sample-doc-create-ledger .sample-doc-sheet-tabs .stat-ledger-page-stack__body,
.content-area--stat-ledger-fill .sample-doc-create-ledger .sample-doc-sheet-tabs .crm-ledger-list-shell.stat-ledger-page-stack .stat-ledger-list-shell {
  flex: 0 1 auto !important;
  min-height: 0 !important;
}

.content-area--stat-ledger-fill .sample-doc-create-ledger .sample-doc-sheet-tabs .crm-ledger-list-shell .stat-ledger-single-slot,
.content-area--stat-ledger-fill .sample-doc-create-ledger .sample-doc-sheet-tabs .crm-ledger-list-shell .stat-ledger-single-slot > .hist-config-wrap,
.content-area--stat-ledger-fill .sample-doc-create-ledger .sample-doc-sheet-tabs .hist-config-wrap--body-scroll-fill {
  flex: 0 1 auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

.content-area--stat-ledger-fill .sample-doc-create-ledger .sample-doc-sheet-tabs .hist-config-scroll-outer,
.content-area--stat-ledger-fill .sample-doc-create-ledger .sample-doc-sheet-tabs .hist-config-scroll-outer.sales-order-lines-table-scroll {
  flex: 0 1 auto !important;
  min-height: 0 !important;
  max-height: calc(40px + 44px * 10) !important;
  overflow-x: auto !important;
  overflow-y: auto !important;
}

/* 嵌入台账：高度随行数增高，仅保留横向滚动（列多时） */
.content-area--stat-ledger-fill .sample-doc-create-ledger .sample-machine-ledger-panel--sheet-viewport .sample-machine-ledger-table-slot--sheet {
  max-height: none !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
}

/* 样机库台账独立页：占满视口，列表区内滚动，不露出下方商品管理 */
.content-area--stat-ledger-fill .sample-machine-ledger-page.stat-ledger-page .doc-page-shell__section.sample-machine-ledger-page-section {
  flex: 1 1 0%;
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.content-area--stat-ledger-fill .sample-machine-ledger-page .sample-machine-ledger-panel--page-fill {
  flex: 1 1 0%;
  min-height: 0;
  margin-bottom: 0;
}

.receipt-plan-generate-panel {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px 20px;
  margin-bottom: 12px;
  padding: 12px 14px;
  border: 1px solid color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 18%, #e2e8f0);
  border-radius: 10px;
  background: #fff;
  box-sizing: border-box;
}

.receipt-plan-generate-panel__fields {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 12px 16px;
  flex: 1 1 300px;
  min-width: 0;
}

.receipt-plan-generate-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 148px;
  margin: 0;
}

.receipt-plan-generate-field__label {
  font-size: 12px;
  line-height: 1.25;
  color: #64748b;
}

.receipt-plan-generate-field .income-contract-biz-select,
.receipt-plan-generate-field .ic-line-input,
.receipt-plan-generate-field input[type='date'] {
  width: 100%;
  min-width: 0;
  height: 36px;
  margin: 0 !important;
  box-sizing: border-box;
}

.receipt-plan-generate-panel__actions {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
  flex-shrink: 0;
  margin-left: auto;
}

.receipt-plan-generate-panel__total {
  margin: 0;
  font-size: 12px;
  line-height: 1.4;
  color: #475569;
  text-align: right;
  white-space: nowrap;
}

.receipt-plan-generate-panel__total strong {
  font-size: 15px;
  font-weight: 700;
  color: #0a5f6e;
  font-variant-numeric: tabular-nums;
}

.receipt-plan-generate-panel__total-hint {
  color: #94a3b8;
  font-size: 11px;
}

@media (max-width: 720px) {
  .receipt-plan-generate-panel__actions {
    align-items: stretch;
    width: 100%;
  }

  .receipt-plan-generate-panel__total {
    text-align: left;
    white-space: normal;
  }

  .receipt-plan-generate-panel__actions .primary-action-btn {
    width: 100%;
  }
}

/* 应收/应付确认计划：行内操作按钮浅青底 + 圆角（覆盖单据页默认 button 选择器） */
.income-contract-receivable-panel button.receipt-plan-del-btn,
.income-contract-receipt-plan button.receipt-plan-del-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-height: 28px;
  height: 28px;
  padding: 0 12px;
  margin: 0;
  border-radius: 8px;
  border: 1px solid var(--btn-frost-border);
  background: color-mix(in srgb, var(--sidebar-teal) 18%, #ffffff);
  color: var(--crm-page-title-color, #0a5f6e);
  font-size: 12px;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.income-contract-receivable-panel .history-action-btn + button.receipt-plan-del-btn,
.income-contract-receipt-plan .history-action-btn + button.receipt-plan-del-btn,
.income-contract-receivable-panel button.receipt-plan-del-btn + button.receipt-plan-del-btn,
.income-contract-receipt-plan button.receipt-plan-del-btn + button.receipt-plan-del-btn {
  margin-left: 6px;
}

.income-contract-receivable-panel button.receipt-plan-del-btn:hover:not(:disabled),
.income-contract-receipt-plan button.receipt-plan-del-btn:hover:not(:disabled) {
  background: color-mix(in srgb, var(--sidebar-teal) 28%, #ffffff);
  border-color: var(--btn-frost-border-hover);
}

.income-contract-receivable-panel button.receipt-plan-del-btn:focus-visible,
.income-contract-receipt-plan button.receipt-plan-del-btn:focus-visible {
  outline: none;
  border-color: color-mix(in srgb, var(--sidebar-teal) 48%, #cbd5e1);
  box-shadow: var(--focus-ring-shadow);
}

.income-contract-receivable-panel button.receipt-plan-del-btn:disabled,
.income-contract-receipt-plan button.receipt-plan-del-btn:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

@media (max-width: 720px) {
  .income-contract-biz-type-label {
    grid-column: span 1;
  }
  .expense-contract-biz-type-label {
    grid-column: span 1;
  }
  .expense-contract-form-grid {
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  }
  .income-contract-tooltip {
    left: auto;
    right: 0;
    top: calc(100% + 8px);
    width: min(100%, 92vw);
  }
}

.income-contract-product-cell .sales-customer-input-wrap {
  width: 100%;
  max-width: 100%;
}

.income-contract-product-cell.expense-contract-product-cell {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.ic-line-input {
  width: 100%;
  min-width: 0;
  margin-bottom: 0 !important;
  font-size: 12px;
  padding: 4px 6px !important;
}

/* 明细只读参考值：避免做成 input 被误当成可编辑金额 */
.ic-line-readonly-text {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  width: 100%;
  box-sizing: border-box;
  padding: 0 10px;
  color: #64748b;
  font-variant-numeric: tabular-nums;
  user-select: text;
}

.income-contract-lines-table tbody td .ic-line-input {
  height: 36px;
  min-height: 36px;
  padding: 8px 10px !important;
  box-sizing: border-box;
  border-radius: 8px;
}

.ic-line-center {
  text-align: center;
}

.ic-line-actions {
  white-space: nowrap;
}

.ic-line-actions .history-action-btn {
  margin-right: 4px !important;
}

.ic-tax-rate-with-suffix {
  position: relative;
  display: block;
  min-width: 0;
  width: 100%;
}

.ic-tax-rate-with-suffix .ic-line-input {
  width: 100%;
  min-width: 0;
  padding-right: 22px !important;
  box-sizing: border-box;
}

.ic-tax-rate-suffix {
  position: absolute;
  top: 50%;
  right: 8px;
  transform: translateY(-50%);
  pointer-events: none;
  font-size: 12px;
  line-height: 1;
  color: #64748b;
  user-select: none;
}

/* ---------- 确认单/发票制单与历史：纯白底（与 doc-create-ledger.card 规则一致） ---------- */
.card.ir-page,
.card.irh-page,
.card.si-page,
.card.sih-page,
.card.income-contract-page,
.card.expense-contract-page {
  background: #fff !important;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
  border-color: #e8eaed !important;
}

.pi-page {
  position: relative;
  overflow: visible;
}

.inventory-order-sheet .pi-lines-table .inv-line-op-bar {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  max-width: 100%;
}

.inventory-order-sheet .pi-lines-table .inv-line-op-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  height: 28px;
  min-height: 28px;
  padding: 0 10px;
  margin: 0;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  background: #fff;
  color: #334155;
  font-size: 13px;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
}

.inventory-order-sheet .pi-lines-table .inv-line-op-btn:hover:not(:disabled) {
  border-color: #94a3b8;
  background: #f8fafc;
}

.inventory-order-sheet .pi-lines-table .inv-line-op-btn--copy {
  background: #f8fafc;
  color: #334155;
  border-color: #cbd5e1;
}

.inventory-order-sheet .pi-lines-table .inv-line-op-btn--delete {
  background: #fff;
  color: #b91c1c;
  border-color: #fecaca;
}

.inventory-order-sheet .pi-lines-table .inv-line-op-btn--delete:hover:not(:disabled) {
  background: #fef2f2;
  border-color: #fca5a5;
}

.sih-filter-date-block .history-quick-date-status .field-grid.sales-history-filter-dates {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 640px;
}

.fep-master-grid .sales-customer-field {
  min-width: 0;
  align-self: stretch;
}

.ca-eo-lines-table .sales-customer-input-wrap input {
  border-radius: 999px;
  border: 1px solid #b2d8dc;
  padding: 6px 10px;
  font-size: 12px;
}

.ca-eo-lines-table .sales-customer-input-wrap .sales-customer-more {
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

/* ---------- 现存量（库存核算表） ---------- */
.ssp-ledger-page .ssp-ledger-filters {
  margin-bottom: 4px;
}

/* 统计类列表页（出入库流水、毛利分析等）：content-area 由 JS 设 height 与侧栏底对齐；内层 StatLedgerViewport 滚动 */
.content-area--stat-ledger-fill {
  display: flex;
  flex-direction: column;
  align-self: stretch;
  min-height: 0;
  overflow: hidden;
}

.content-area--stat-ledger-fill .content-tabs-strip,
.content-area--stat-ledger-fill .module-title,
.content-area--stat-ledger-fill .crm-embed-banner {
  flex-shrink: 0;
}

/*
 * 办公OA / 物品领用 / 往来在 content-area 内多包了一层 wrap。
 * 销货单历史是 content-area 的直接子节点，flex:1 能撑满；包了 wrap 后若不把高度往下传，
 * 历史页会按内容长高，翻页条落到 overflow:hidden 下面被裁掉。
 */
.content-area--stat-ledger-fill .expense-module-wrap,
.content-area--stat-ledger-fill .item-requisition-module-wrap,
.content-area--stat-ledger-fill .partner-module-stack,
.content-area--stat-ledger-fill .fleet-module-wrap,
.content-area--stat-ledger-fill .visit-module-wrap,
.content-area--stat-ledger-fill .gl-module-wrap {
  flex: 1 1 0%;
  min-height: 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.content-area--stat-ledger-fill .item-requisition-host {
  flex: 1 1 0%;
  min-height: 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

/* 主卡片撑满 content-area（全局 CSS 用普通后代选择器；:deep 仅 Vue scoped 有效） */
.content-area--stat-ledger-fill .stat-ledger-page.card {
  flex: 1 1 0%;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

.content-area--stat-ledger-fill .stat-ledger-page .doc-page-shell__section {
  flex: 1 1 0%;
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.content-area--stat-ledger-fill .stat-ledger-page .history-page-viewport {
  flex: 1 1 0%;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.content-area--stat-ledger-fill .stat-ledger-page .history-page-viewport > .stat-ledger-page-stack,
.content-area--stat-ledger-fill .stat-ledger-page .history-page-viewport > .crm-ledger-list-shell {
  flex: 1 1 0%;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
}

/* :deep()：App.vue scoped 内穿透子组件时使用 */
.content-area--stat-ledger-fill :deep(.stat-ledger-page.card) {
  flex: 1 1 0%;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

.content-area--stat-ledger-fill :deep(.stat-ledger-page .doc-page-shell__title) {
  flex-shrink: 0;
}

.content-area--stat-ledger-fill :deep(.stat-ledger-page .doc-page-shell__section) {
  flex: 1 1 0%;
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

/* 往来模块：对账单等在 partner-module-stack 内，无嵌套 .card.doc-page-shell */
.content-area--stat-ledger-fill > .card.partner-module-stack {
  flex: 1 1 0%;
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  margin-bottom: 0;
}

.content-area--stat-ledger-fill > .card.partner-module-stack > .doc-page-shell.stat-ledger-page,
.content-area--stat-ledger-fill > .card.partner-module-stack > .cust-statement-page-v2.doc-page-shell {
  flex: 1 1 0%;
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.content-area--stat-ledger-fill > .card.partner-module-stack .doc-page-shell__section.cust-statement-page {
  flex: 1 1 0%;
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.content-area--stat-ledger-fill .cust-stmt-v2-body.rcs-split {
  flex: 1 1 0%;
  min-height: 0;
  overflow: hidden;
  height: auto;
  grid-template-rows: minmax(0, 1fr);
}

.content-area--stat-ledger-fill .rcs-split__main.cust-stmt-v2-main {
  flex: 1 1 0%;
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.content-area--stat-ledger-fill .cust-stmt-table-host {
  flex: 1 1 0%;
  height: 0;
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.content-area--stat-ledger-fill .cust-stmt-table-host .hist-config-wrap--pinned-footer {
  flex: 1 1 0%;
  height: 0;
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.content-area--stat-ledger-fill .cust-stmt-table-host .hist-config-scroll-outer--body {
  flex: 1 1 0%;
  height: 0;
  min-height: 0;
  max-height: calc(100dvh - 320px);
  overflow-x: auto;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-gutter: stable;
}

.content-area--stat-ledger-fill :deep(.stat-ledger-page .ssp-ledger-filters) {
  flex-shrink: 0;
}

.content-area--stat-ledger-fill :deep(.stat-ledger-page .history-page-viewport) {
  flex: 1 1 0%;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.content-area--stat-ledger-fill :deep(.stat-ledger-page .history-page-viewport > .stat-ledger-page-stack) {
  flex: 1 1 0%;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
}

/* 销货/采购单历史等同系 doc-history-ledger：撑满剩余高度，表体纵向滚动（全局 CSS 勿用 :deep） */
.content-area--stat-ledger-fill .doc-history-ledger.card,
.content-area--stat-ledger-fill .doc-history-ledger.stat-ledger-page {
  flex: 1 1 0%;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

.content-area--stat-ledger-fill .doc-history-ledger .doc-page-shell__title {
  flex-shrink: 0;
}

.content-area--stat-ledger-fill .doc-history-ledger .doc-page-shell__section {
  flex: 1 1 0%;
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.content-area--stat-ledger-fill .doc-history-ledger .stat-ledger-filters,
.content-area--stat-ledger-fill .doc-history-ledger .sales-order-sheet-header-panel,
.content-area--stat-ledger-fill .doc-history-ledger .doc-history-ledger-hints,
.content-area--stat-ledger-fill .doc-history-ledger .purchase-toolbar,
.content-area--stat-ledger-fill .doc-history-ledger .el-history-result-bar,
.content-area--stat-ledger-fill .doc-history-ledger .er-history-result-bar,
.content-area--stat-ledger-fill .doc-history-ledger .erw-history-result-bar,
.content-area--stat-ledger-fill .doc-history-ledger .er-history-pagination-bar,
.content-area--stat-ledger-fill .doc-history-ledger .crm-list-pagination-bar.er-history-pagination-bar {
  flex-shrink: 0;
}

/* 费用报销单历史：壳外翻页条与列表区留白，始终贴在主区底部可见 */
.content-area--stat-ledger-fill .doc-history-ledger .er-history-pagination-bar {
  margin-top: 4px;
  padding: 0 2px 2px;
}

.content-area--stat-ledger-fill .doc-history-ledger .history-page-viewport {
  flex: 1 1 0%;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.content-area--stat-ledger-fill .doc-history-ledger .history-page-viewport > .stat-ledger-page-stack,
.content-area--stat-ledger-fill .doc-history-ledger .history-page-viewport > .crm-ledger-list-shell {
  flex: 1 1 0%;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
}

.content-area--stat-ledger-fill .doc-history-ledger .stat-ledger-page-stack.crm-ledger-list-shell,
.content-area--stat-ledger-fill .doc-history-ledger .stat-ledger-page-stack__body {
  flex: 1 1 0%;
  min-height: 0;
}

.content-area--stat-ledger-fill .doc-history-ledger .crm-ledger-list-shell.stat-ledger-page-stack .stat-ledger-list-shell,
.content-area--stat-ledger-fill .doc-history-ledger .stat-ledger-page-stack__body > .stat-ledger-list-shell {
  flex: 1 1 0%;
  min-height: 0;
}

.content-area--stat-ledger-fill .doc-history-ledger .crm-ledger-list-shell .stat-ledger-single-slot,
.content-area--stat-ledger-fill .doc-history-ledger .crm-ledger-list-shell .stat-ledger-single-slot > .hist-config-wrap {
  flex: 1 1 0%;
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.content-area--stat-ledger-fill .doc-history-ledger .hist-config-scroll-outer,
.content-area--stat-ledger-fill .doc-history-ledger .hist-config-wrap:not(.hist-config-wrap--pinned-footer) .hist-config-scroll-outer,
.content-area--stat-ledger-fill .doc-history-ledger .hist-config-wrap--pinned-footer .hist-config-scroll-outer--body {
  flex: 1 1 0%;
  min-height: 0;
  max-height: none;
  overflow-x: auto;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

/* 历史单据：表体内纵向滚动时列头吸顶，避免滚丢 */
.content-area--stat-ledger-fill .doc-history-ledger .hist-config-scroll-outer thead th,
.content-area--stat-ledger-fill .doc-history-ledger .hist-config-scroll-outer--body thead th,
.content-area .doc-history-ledger .hist-config-scroll-outer thead th {
  position: sticky;
  top: 0;
  z-index: 3;
  background: linear-gradient(180deg, #f8fbfc 0%, #f0f7f8 100%);
}
.content-area--stat-ledger-fill .doc-history-ledger .hist-config-scroll-outer thead th.product-sticky-left,
.content-area--stat-ledger-fill .doc-history-ledger .hist-config-scroll-outer thead th.product-sticky-action,
.content-area .doc-history-ledger .hist-config-scroll-outer thead th.product-sticky-left,
.content-area .doc-history-ledger .hist-config-scroll-outer thead th.product-sticky-action {
  z-index: 5;
}

.content-area--stat-ledger-fill .doc-history-ledger .stat-ledger-page-stack__after {
  flex-shrink: 0;
}

.content-area--stat-ledger-fill .doc-history-ledger .crm-list-pagination-bar {
  flex-shrink: 0;
}

/* 销货/采购/合同工作台：顶栏与状态 Tab 固定高度，列表区撑满剩余视口并在表体内滚动 */
.content-area--stat-ledger-fill .doc-history-ledger.ic-workbench-page {
  overflow: hidden;
}

.content-area--stat-ledger-fill .doc-history-ledger.ic-workbench-page .ic-workbench-top,
.content-area--stat-ledger-fill .doc-history-ledger.ic-workbench-page .swb-status-tabs,
.content-area--stat-ledger-fill .doc-history-ledger.ic-workbench-page .pwb-status-tabs,
.content-area--stat-ledger-fill .doc-history-ledger.ic-workbench-page .ic-workbench-pills-bar,
.content-area--stat-ledger-fill .doc-history-ledger.ic-workbench-page .ic-workbench-status-tabs {
  flex-shrink: 0;
}

/* 现存量 / 商品档案等仍锁视口的 ssp-ledger-page：与 doc-history-ledger 同系 flex + 表体滚动 */
.content-area--stat-ledger-fill .ssp-ledger-page.card,
.content-area--stat-ledger-fill .ssp-ledger-page.stat-ledger-page {
  flex: 1 1 0%;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

.content-area--stat-ledger-fill .ssp-ledger-page .doc-page-shell__title {
  flex-shrink: 0;
}

.content-area--stat-ledger-fill .ssp-ledger-page .doc-page-shell__section {
  flex: 1 1 0%;
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.content-area--stat-ledger-fill .ssp-ledger-page .ssp-ledger-filters,
.content-area--stat-ledger-fill .ssp-ledger-page .stat-ledger-filters {
  flex-shrink: 0;
}

.content-area--stat-ledger-fill .ssp-ledger-page .history-page-viewport {
  flex: 1 1 0%;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.content-area--stat-ledger-fill .ssp-ledger-page .history-page-viewport > .stat-ledger-page-stack,
.content-area--stat-ledger-fill .ssp-ledger-page .history-page-viewport > .crm-ledger-list-shell {
  flex: 1 1 0%;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
}

.content-area--stat-ledger-fill .ssp-ledger-page .stat-ledger-page-stack.crm-ledger-list-shell,
.content-area--stat-ledger-fill .ssp-ledger-page .stat-ledger-page-stack__body {
  flex: 1 1 0%;
  min-height: 0;
}

.content-area--stat-ledger-fill .ssp-ledger-page .crm-ledger-list-shell.stat-ledger-page-stack .stat-ledger-list-shell,
.content-area--stat-ledger-fill .ssp-ledger-page .stat-ledger-page-stack__body > .stat-ledger-list-shell {
  flex: 1 1 0%;
  min-height: 0;
}

.content-area--stat-ledger-fill .ssp-ledger-page .product-archive-page-table-wrap {
  flex: 1 1 0%;
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  padding: 0;
}

.content-area--stat-ledger-fill .ssp-ledger-page .doc-page-shell__section > .history-page-viewport,
.content-area--stat-ledger-fill .stat-ledger-page .doc-page-shell__section > .history-page-viewport {
  flex: 1 1 0%;
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.content-area--stat-ledger-fill .ssp-ledger-page .purchase-inbound-history-filter-panel.ssp-ledger-filters,
.content-area--stat-ledger-fill .stat-ledger-page .purchase-inbound-history-filter-panel.ssp-ledger-filters {
  flex-shrink: 0;
}

.content-area--stat-ledger-fill .ssp-ledger-page .crm-ledger-list-shell .stat-ledger-single-slot,
.content-area--stat-ledger-fill .ssp-ledger-page .crm-ledger-list-shell .stat-ledger-single-slot > .hist-config-wrap,
.content-area--stat-ledger-fill .ssp-ledger-page .product-archive-page-table-wrap,
.content-area--stat-ledger-fill .ssp-ledger-page .product-archive-page-table-wrap > .hist-config-wrap,
.content-area--stat-ledger-fill .ssp-ledger-page .product-archive-page-table-wrap > .crm-ledger-list-shell,
.content-area--stat-ledger-fill .ssp-ledger-page .product-archive-page-table-wrap .crm-ledger-list-shell--frameless {
  flex: 1 1 0%;
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.content-area--stat-ledger-fill .ssp-ledger-page .product-archive-page-table-wrap .hist-config-wrap,
.content-area--stat-ledger-fill .ssp-ledger-page .crm-ledger-list-shell--frameless > .hist-config-wrap {
  flex: 1 1 0%;
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.content-area--stat-ledger-fill .ssp-ledger-page .hist-config-scroll-outer,
.content-area--stat-ledger-fill .ssp-ledger-page .hist-config-wrap:not(.hist-config-wrap--pinned-footer) .hist-config-scroll-outer,
.content-area--stat-ledger-fill .ssp-ledger-page .hist-config-wrap--pinned-footer .hist-config-scroll-outer--body,
.content-area--stat-ledger-fill .stat-ledger-page .hist-config-scroll-outer,
.content-area--stat-ledger-fill .stat-ledger-page .hist-config-wrap:not(.hist-config-wrap--pinned-footer) .hist-config-scroll-outer,
.content-area--stat-ledger-fill .stat-ledger-page .hist-config-wrap--pinned-footer .hist-config-scroll-outer--body {
  flex: 1 1 0%;
  min-height: 0;
  max-height: none !important;
  overflow-x: auto;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
}

/* 库存分布表：表头拆出表体滚动区，禁止被通用 scroll-outer 规则拉高/纵向滚动 */
.content-area--stat-ledger-fill .ssp-ledger-page .hist-config-scroll-outer--head,
.content-area .ssp-ledger-page .hist-config-scroll-outer--head,
.content-area--stat-ledger-fill .ssp-ledger-page .hist-config-scroll-outer--foot,
.content-area .ssp-ledger-page .hist-config-scroll-outer--foot {
  flex: 0 0 auto !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  max-height: none !important;
}
.content-area--stat-ledger-fill .ssp-ledger-page .crm-ledger-table.hist-config-table.stock-distribution-table > thead > tr > th,
.content-area .ssp-ledger-page .crm-ledger-table.hist-config-table.stock-distribution-table > thead > tr > th {
  top: auto;
  height: auto;
  background: linear-gradient(180deg, #f8fbfc 0%, #f0f7f8 100%);
}

/* 出入库流水 / 库存流水：期初等分组行吸顶，「数量 / 单价 / 金额」贴在其下方，不随表体纵向滚走 */
.content-area--stat-ledger-fill .ssp-ledger-page .crm-ledger-table.hist-config-table.stock-flow-ledger-table > thead > tr:first-child > th,
.content-area .ssp-ledger-page .crm-ledger-table.hist-config-table.stock-flow-ledger-table > thead > tr:first-child > th,
.content-area .doc-history-ledger .crm-ledger-table.hist-config-table.stock-flow-ledger-table > thead > tr:first-child > th {
  position: sticky;
  top: 0;
  z-index: 5;
  height: auto;
  background: linear-gradient(180deg, #f8fbfc 0%, #f0f7f8 100%);
}
.content-area--stat-ledger-fill .ssp-ledger-page .crm-ledger-table.hist-config-table.stock-flow-ledger-table > thead > tr:nth-child(2) > th,
.content-area .ssp-ledger-page .crm-ledger-table.hist-config-table.stock-flow-ledger-table > thead > tr:nth-child(2) > th,
.content-area .doc-history-ledger .crm-ledger-table.hist-config-table.stock-flow-ledger-table > thead > tr:nth-child(2) > th {
  position: sticky;
  top: var(--sfl-thead-r1, 42px);
  z-index: 4;
  height: auto;
  background: linear-gradient(180deg, #f8fbfc 0%, #f0f7f8 100%);
}
.content-area .ssp-ledger-page .crm-ledger-table.hist-config-table.stock-flow-ledger-table > thead > tr:first-child > th.product-sticky-left,
.content-area .doc-history-ledger .crm-ledger-table.hist-config-table.stock-flow-ledger-table > thead > tr:first-child > th.product-sticky-left {
  z-index: 7;
}
.content-area .ssp-ledger-page .crm-ledger-table.hist-config-table.stock-flow-ledger-table > thead > tr:nth-child(2) > th.product-sticky-left,
.content-area .doc-history-ledger .crm-ledger-table.hist-config-table.stock-flow-ledger-table > thead > tr:nth-child(2) > th.product-sticky-left {
  z-index: 6;
}

/*
 * 制单明细（销货/采购/销售合同/采购合同等）：覆盖上方 stat-ledger 的 max-height:none。
 * 明细随行数增高，最高 10 行后表体内滚动。
 */
.content-area--stat-ledger-fill .doc-create-ledger.stat-ledger-page .hist-config-scroll-outer,
.content-area--stat-ledger-fill .doc-create-ledger.stat-ledger-page .hist-config-wrap:not(.hist-config-wrap--pinned-footer) .hist-config-scroll-outer,
.content-area--stat-ledger-fill .doc-create-ledger.stat-ledger-page .hist-config-scroll-outer.sales-order-lines-table-scroll,
.content-area--stat-ledger-fill .sales-order-create-ledger.stat-ledger-page .hist-config-scroll-outer,
.content-area--stat-ledger-fill .sales-order-create-ledger.stat-ledger-page .hist-config-wrap:not(.hist-config-wrap--pinned-footer) .hist-config-scroll-outer,
.content-area--stat-ledger-fill .sales-order-create-ledger.stat-ledger-page .hist-config-scroll-outer.sales-order-lines-table-scroll {
  flex: 0 1 auto !important;
  min-height: 0;
  max-height: calc(40px + 44px * 10) !important;
  overflow-x: auto !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
}

/* 库存期初制单：明细区吃满侧栏对齐高度，不沿用销货单 10 行封顶 */
.content-area--stat-ledger-fill .stock-opening-sheet-page.doc-create-ledger.stat-ledger-page .stat-ledger-page-stack.crm-ledger-list-shell,
.content-area--stat-ledger-fill .stock-opening-sheet-page.doc-create-ledger.stat-ledger-page .stat-ledger-page-stack__body,
.content-area--stat-ledger-fill .stock-opening-sheet-page.doc-create-ledger.stat-ledger-page .crm-ledger-list-shell .stat-ledger-single-slot,
.content-area--stat-ledger-fill .stock-opening-sheet-page.doc-create-ledger.stat-ledger-page .crm-ledger-list-shell .stat-ledger-single-slot > .hist-config-wrap {
  flex: 1 1 0% !important;
  min-height: 0;
}
.content-area--stat-ledger-fill .stock-opening-sheet-page.doc-create-ledger.stat-ledger-page .hist-config-scroll-outer,
.content-area--stat-ledger-fill .stock-opening-sheet-page.doc-create-ledger.stat-ledger-page .hist-config-wrap:not(.hist-config-wrap--pinned-footer) .hist-config-scroll-outer,
.content-area--stat-ledger-fill .stock-opening-sheet-page.doc-create-ledger.stat-ledger-page .hist-config-scroll-outer.sales-order-lines-table-scroll {
  flex: 1 1 0% !important;
  min-height: 0;
  max-height: none !important;
  overflow-x: auto !important;
  overflow-y: auto !important;
}

.content-area--stat-ledger-fill .ssp-ledger-page .stat-ledger-page-stack__after {
  flex-shrink: 0;
}

.content-area--stat-ledger-fill .ssp-ledger-page .crm-list-pagination-bar {
  flex-shrink: 0;
}

/* 筛选：与采购/历史筛选条同系的轻量卡片 */
.content-area--stat-ledger-fill :deep(.stat-ledger-page .stat-ledger-filters) {
  flex-shrink: 0;
  border-radius: 10px;
  border: 1px solid color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 16%, #e2e8f0);
  background: linear-gradient(180deg, color-mix(in srgb, var(--sidebar-teal) 6%, #ffffff) 0%, #ffffff 48%);
  padding: 12px 14px 14px;
  margin-bottom: 2px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.content-area--stat-ledger-fill :deep(.stat-ledger-page .stat-ledger-filters .ssp-ledger-filter-grid) {
  margin-top: 10px;
}

.content-area--stat-ledger-fill :deep(.stat-ledger-page .stat-ledger-filters .ssp-ledger-filter-field > span:first-child) {
  color: #546e7a;
  font-weight: 500;
}

.content-area--stat-ledger-fill :deep(.stat-ledger-page .stat-ledger-filters .gross-profit-stat-filter-grid) {
  margin-top: 10px;
}

/* 商品档案（商品管理 card 内）：主区与侧栏底对齐，分类树 + 列表分区滚动 */
.content-area--stat-ledger-fill :deep(.product-archive-stat-ledger-card.card) {
  flex: 1 1 0%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.content-area--stat-ledger-fill :deep(.product-archive-stat-ledger-card.card > h3),
.content-area--stat-ledger-fill :deep(.product-archive-stat-ledger-card.card > .sub-tabs),
.content-area--stat-ledger-fill :deep(.product-archive-stat-ledger-card.card > h4) {
  flex-shrink: 0;
}

.content-area--stat-ledger-fill :deep(.product-archive-page-root) {
  flex: 1 1 0%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.content-area--stat-ledger-fill :deep(.product-archive-page-root > h4:first-of-type) {
  flex-shrink: 0;
}

.content-area--stat-ledger-fill :deep(.product-archive-stat-ledger .stat-ledger-page-stack__body) {
  flex: 1 1 0%;
  min-height: 0;
  overflow: hidden;
}

.content-area--stat-ledger-fill :deep(.product-archive-stat-ledger .stat-ledger-page-stack__after) {
  flex-shrink: 0;
  z-index: 2;
  background: #fff;
  border-top: 1px solid color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 12%, #e2e8f0);
}

.content-area--stat-ledger-fill :deep(.product-archive-stat-ledger) {
  flex: 1 1 0%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  margin-top: 0;
}

.content-area--stat-ledger-fill :deep(.product-archive-stat-ledger .product-archive-page-head),
.content-area--stat-ledger-fill :deep(.product-archive-stat-ledger .product-archive-page-desc),
.content-area--stat-ledger-fill :deep(.product-archive-stat-ledger .product-archive-page-toolbar-actions) {
  flex-shrink: 0;
}

.content-area--stat-ledger-fill :deep(.product-archive-stat-ledger .product-archive-page-body) {
  flex: 1 1 0%;
  min-height: 0;
  overflow: hidden;
}

.content-area--stat-ledger-fill :deep(.product-archive-stat-ledger .product-archive-page-sidebar) {
  min-height: 0;
  overflow: auto;
}

.content-area--stat-ledger-fill :deep(.product-archive-stat-ledger .product-archive-page-main) {
  flex: 1 1 0%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.content-area--stat-ledger-fill :deep(.product-archive-stat-ledger .product-archive-page-tools) {
  flex-shrink: 0;
}

.product-archive-list-table th.product-archive-list-bool-col,
.product-archive-list-table td.product-archive-list-bool-col {
  text-align: center;
}

.content-area--stat-ledger-fill :deep(.product-archive-stat-ledger .history-page-viewport) {
  flex: 1 1 0%;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.content-area--stat-ledger-fill :deep(.product-archive-stat-ledger .history-page-viewport > .stat-ledger-page-stack) {
  flex: 1 1 0%;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
}

.content-area--stat-ledger-fill :deep(.product-archive-stat-ledger .hist-config-wrap) {
  flex: 1 1 0%;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

.content-area--stat-ledger-fill :deep(.product-archive-stat-ledger .hist-config-scroll-outer) {
  flex: 1 1 0%;
  min-height: 0;
  overflow-x: auto;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
}

.content-area--stat-ledger-fill .product-archive-stat-ledger .crm-list-pagination-bar,
.content-area--stat-ledger-fill .product-archive-stat-ledger .purchase-pagination-lite.crm-list-pagination-bar {
  flex-shrink: 0;
}

.ssp-ledger-filter-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(140px, 1fr));
  gap: 12px 16px;
  align-items: start;
}

@media (max-width: 900px) {
  .ssp-ledger-filter-grid {
    grid-template-columns: 1fr;
  }
}

.ssp-ledger-filter-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}

.ssp-ledger-filter-field > span:first-child {
  font-size: 12px;
  color: #000;
}

.ssp-ledger-filter-field--product {
  min-width: 0;
}

/* 第二行：商品与状态标签、输入框水平对齐（同高同间距） */
.ssp-ledger-page.stat-ledger-page .ssp-ledger-filter-field--product,
.ssp-ledger-page.stat-ledger-page .ssp-ledger-filter-field--status {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
  align-self: start;
}

.ssp-ledger-page.stat-ledger-page .ssp-ledger-filter-field--product > span:first-child,
.ssp-ledger-page.stat-ledger-page .ssp-ledger-filter-field--status > span:first-child {
  display: block;
  min-height: 20px;
  line-height: 20px;
  margin: 0 !important;
  padding: 0;
  font-size: 12px;
  font-weight: 500;
  color: #546e7a;
}

.ssp-ledger-page.stat-ledger-page .ssp-ledger-filter-field--product .sales-customer-input-wrap {
  height: 36px;
  min-height: 36px;
}

.ssp-ledger-page.stat-ledger-page .ssp-ledger-filter-field--product .sales-customer-input-wrap input,
.ssp-ledger-page.stat-ledger-page .ssp-ledger-filter-field--status .ssp-filter-select--sheet {
  height: 36px;
  min-height: 36px;
  margin: 0 !important;
  margin-bottom: 0 !important;
  box-sizing: border-box;
  font-size: 13px;
  line-height: 1.35;
}

/* 现存量核算表：标签与控件同一行（与水位线规则筛选同款） */
.ssp-ledger-page.stat-ledger-page .ssp-onhand-ledger-filters {
  position: relative;
  z-index: 20;
  overflow: visible;
}

.ssp-ledger-page.stat-ledger-page .ssp-onhand-ledger-filters .ssp-ledger-filter-grid {
  align-items: center;
}

.ssp-ledger-page.stat-ledger-page .ssp-onhand-ledger-filters .iof-date-filter-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px 12px;
  align-items: start;
}

.ssp-ledger-page.stat-ledger-page .ssp-onhand-ledger-filters .iof-date-filter-row .history-filter-quick-cell {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.ssp-ledger-page.stat-ledger-page .ssp-onhand-ledger-filters .iof-date-filter-row > label {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
}

.ssp-ledger-page.stat-ledger-page .ssp-onhand-ledger-filters .iof-date-filter-row > label > span {
  flex: none;
  width: auto;
  min-height: 20px;
  line-height: 20px;
  margin-bottom: 4px;
  white-space: nowrap;
}

.ssp-ledger-page.stat-ledger-page .ssp-onhand-ledger-filters .ssp-ledger-filter-field,
.ssp-ledger-page.stat-ledger-page .ssp-onhand-ledger-filters .ssp-ledger-filter-field--product,
.ssp-ledger-page.stat-ledger-page .ssp-onhand-ledger-filters .ssp-ledger-filter-field--status {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  min-width: 0;
  width: 100%;
  align-self: stretch;
}

.ssp-ledger-page.stat-ledger-page .ssp-onhand-ledger-filters .ssp-ledger-filter-field > span:first-child,
.ssp-ledger-page.stat-ledger-page .ssp-onhand-ledger-filters .ssp-ledger-filter-field--product > span:first-child,
.ssp-ledger-page.stat-ledger-page .ssp-onhand-ledger-filters .ssp-ledger-filter-field--status > span:first-child {
  display: block;
  flex: 0 0 4.5em;
  width: 4.5em;
  min-height: 0;
  line-height: 36px;
  margin: 0 !important;
  padding: 0;
  white-space: nowrap;
  font-size: 12px;
  font-weight: 500;
  color: #546e7a;
}

.ssp-ledger-page.stat-ledger-page .ssp-onhand-ledger-filters .iof-filter-field--doctype > span:first-child {
  flex: 0 0 5em;
  width: 5em;
}

.ssp-ledger-page.stat-ledger-page .ssp-onhand-ledger-filters .ssp-ledger-filter-control {
  flex: 1 1 auto;
  min-width: 0;
  position: relative;
}

.ssp-ledger-page.stat-ledger-page .ssp-onhand-ledger-filters .ssp-filter-select,
.ssp-ledger-page.stat-ledger-page .ssp-onhand-ledger-filters .ssp-filter-select--sheet,
.ssp-ledger-page.stat-ledger-page .ssp-onhand-ledger-filters button.ssp-filter-select.ssp-filter-select--sheet,
.ssp-ledger-page.stat-ledger-page .ssp-onhand-ledger-filters button.ssp-filter-popover-trigger.ssp-filter-select--sheet {
  appearance: none;
  -webkit-appearance: none;
  width: 100%;
  max-width: 100%;
  height: 36px;
  min-height: 36px;
  box-sizing: border-box;
  border-radius: 8px;
  border: 1px solid #e2e8f0;
  padding: 8px 30px 8px 10px;
  background-color: #fff !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M2 3.5 5 6.5 8 3.5' fill='none' stroke='%23000' stroke-width='1.15' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 10px 10px;
  color: #000;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.35;
  cursor: pointer;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  text-align: left;
}

.ssp-ledger-page.stat-ledger-page .ssp-onhand-ledger-filters button.ssp-filter-select.ssp-filter-select--sheet:hover:not(:disabled),
.ssp-ledger-page.stat-ledger-page .ssp-onhand-ledger-filters button.ssp-filter-popover-trigger.ssp-filter-select--sheet:hover:not(:disabled) {
  background-color: #fff !important;
  border-color: #d1d5db;
  color: #000;
}

.ssp-ledger-page.stat-ledger-page .ssp-onhand-ledger-filters .ssp-filter-select--sheet:focus,
.ssp-ledger-page.stat-ledger-page .ssp-onhand-ledger-filters button.ssp-filter-select.ssp-filter-select--sheet:focus,
.ssp-ledger-page.stat-ledger-page .ssp-onhand-ledger-filters button.ssp-filter-popover-trigger.ssp-filter-select--sheet:focus {
  outline: none;
  border-color: color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 45%, #d1d5db);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 14%, transparent);
}

.ssp-ledger-page.stat-ledger-page .ssp-onhand-ledger-filters .ssp-filter-popover-host {
  position: relative;
  min-width: 0;
}

.ssp-ledger-page.stat-ledger-page .ssp-onhand-ledger-filters .ssp-filter-popover-panel {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 6px);
  z-index: 80;
  max-height: 260px;
  display: flex;
  flex-direction: column;
  padding: 8px 10px;
  background: #fff;
  border: 1px solid color-mix(in srgb, var(--sidebar-teal, #0a5f6e) 32%, #cfd8dc);
  border-radius: 8px;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.12);
}

.ssp-ledger-page.stat-ledger-page .ssp-onhand-ledger-filters .ssp-filter-popover-panel--cat-tree,
.ssp-ledger-page.stat-ledger-page .ssp-onhand-ledger-filters .ssp-filter-popover-panel--pcf-list {
  padding: 0;
  max-height: min(380px, 62vh);
  min-width: 268px;
  overflow: hidden;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  box-shadow: 0 10px 26px rgba(15, 68, 80, 0.14);
}

.ssp-ledger-page.stat-ledger-page .ssp-onhand-ledger-filters .ssp-filter-popover-panel--cat-tree .pcf-in-ssp-popover.pcf-simple-tree,
.ssp-ledger-page.stat-ledger-page .ssp-onhand-ledger-filters .ssp-filter-popover-panel--pcf-list .pcf-style-checkbox-list.pcf-simple-tree {
  flex: 1;
  min-height: 0;
  max-height: min(380px, 62vh);
  border-right: none;
  background: #fff;
}

.ssp-ledger-page.stat-ledger-page .ssp-onhand-ledger-filters .ssp-filter-popover-panel--cat-tree .pcf-in-ssp-popover .pcf-tree-toolbar,
.ssp-ledger-page.stat-ledger-page .ssp-onhand-ledger-filters .ssp-filter-popover-panel--pcf-list .pcf-style-checkbox-list .pcf-tree-toolbar {
  background: #fff;
}

.ssp-ledger-page.stat-ledger-page .ssp-onhand-ledger-filters .ssp-filter-popover-panel--cat-tree .pcf-in-ssp-popover .pcf-tree-scroll,
.ssp-ledger-page.stat-ledger-page .ssp-onhand-ledger-filters .ssp-filter-popover-panel--pcf-list .pcf-style-checkbox-list .pcf-tree-scroll {
  max-height: min(320px, 58vh);
  background: #fff;
}

.ssp-ledger-page.stat-ledger-page .ssp-onhand-ledger-filters .ssp-filter-popover-panel--cat-tree .pcf-simple-tree button.pcf-tree-box,
.ssp-ledger-page.stat-ledger-page .ssp-onhand-ledger-filters .ssp-filter-popover-panel--cat-tree .pcf-simple-tree button.pcf-tree-label,
.ssp-ledger-page.stat-ledger-page .ssp-onhand-ledger-filters .ssp-filter-popover-panel--cat-tree .pcf-simple-tree button.pcf-tree-all,
.ssp-ledger-page.stat-ledger-page .ssp-onhand-ledger-filters .ssp-filter-popover-panel--pcf-list .pcf-simple-tree button.pcf-tree-box,
.ssp-ledger-page.stat-ledger-page .ssp-onhand-ledger-filters .ssp-filter-popover-panel--pcf-list .pcf-simple-tree span.pcf-tree-label,
.ssp-ledger-page.stat-ledger-page .ssp-onhand-ledger-filters .ssp-filter-popover-panel--pcf-list .pcf-simple-tree button.pcf-tree-all {
  margin-right: 0;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  box-shadow: none;
}

.ssp-ledger-page.stat-ledger-page .ssp-onhand-ledger-filters .ssp-ledger-filter-field--product .sales-product-cell,
.ssp-ledger-page.stat-ledger-page .ssp-onhand-ledger-filters .ssp-ledger-filter-field--product .sales-customer-input-wrap {
  width: 100%;
  min-width: 0;
  height: 36px;
  min-height: 36px;
}

.ssp-ledger-page.stat-ledger-page .ssp-onhand-ledger-filters .ssp-warehouse-empty {
  margin: 0;
  line-height: 36px;
  font-size: 12px;
}

.ssp-ledger-filter-field--product .sales-product-cell {
  width: 100%;
  min-width: 0;
}

.ssp-ledger-filter-field--product .sales-customer-input-wrap {
  width: 100%;
  min-width: 0;
}

.ssp-ledger-filter-field--product .sales-customer-input-wrap input {
  width: 100%;
  box-sizing: border-box;
  margin-bottom: 0;
}

.ssp-ledger-filter-product-full {
  grid-column: 1 / -1;
  min-width: 0;
}

.ssp-ledger-filter-product-label {
  display: block;
  font-size: 12px;
  color: #78909c;
  margin-bottom: 6px;
}

/* 与销货单头表：三列等分（需同时挂 fep-master-grid） */
.inventory-order-sheet .ir-master-grid.fep-master-grid.sales-sheet-form,
.inventory-order-sheet .ir-red-master-grid.fep-master-grid.sales-sheet-form {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px 12px;
  margin-bottom: 10px;
}

.inventory-order-sheet .si-master-grid.fep-master-grid.sales-sheet-form {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px 12px;
  margin-bottom: 10px;
}

.inventory-order-sheet .ca-master-grid.fep-master-grid.sales-sheet-form {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px 12px;
}

@media (max-width: 720px) {
  .inventory-order-sheet .ca-master-grid.fep-master-grid.sales-sheet-form {
    grid-template-columns: 1fr;
  }
}

.ic-workbench-picker-field .sales-customer-field {
  font-size: 12px;
  color: #455a64;
}

.ic-workbench-picker-field .sales-customer-field > span {
  min-height: 20px;
  line-height: 20px;
  margin-bottom: 4px;
}

/* 销货历史选中行细样式见文末非 scoped：.sales-history-page …（子组件表格无 App data-v，此处仅作兜底） */
.outbound-history-row--selected {
  background: transparent;
}

.inventory-order-sheet.partner-doc-sheet .field-grid.receipt-voucher-toolbar {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px 12px;
  align-items: start;
}

/**
 * 窄屏（≤1200px）将大多数 .sales-sheet-form 收为「单列通栏」。
 * 会覆盖前文的 .inventory-order-sheet .field-grid.sales-sheet-form {三列}
 */
.sales-history-page.inventory-order-sheet
  .crm-ledger-table.hist-config-table
  tbody
  td.product-sticky-action:has(.wh-doc-hist-actions),
.sales-history-page.inventory-order-sheet
  .crm-ledger-table.hist-config-table
  tbody
  td:has(.wh-doc-hist-actions) {
  vertical-align: middle;
  overflow: hidden;
}
.wh-outbound-hist-lines-table td.product-sticky-action--outbound-radial,
.wh-outbound-hist-lines-table td:has(.wh-doc-hist-actions) {
  overflow: hidden;
}

/* 出库单历史：操作列右侧冻结，不透明底避免横向滚动穿帮 */
.wh-outbound-hist-lines-table.hist-config-table > thead > tr > th.product-sticky-action {
  z-index: 8;
  box-shadow: -6px 0 10px rgba(15, 23, 42, 0.06);
}
.wh-outbound-hist-lines-table.hist-config-table > tbody > tr > td.product-sticky-action {
  z-index: 5;
  box-shadow: -6px 0 10px rgba(15, 23, 42, 0.06);
}
.wh-outbound-hist-lines-table.hist-config-table > tbody > tr:nth-child(odd) > td.product-sticky-action {
  background: var(--table-row-striped, #f8fafc);
}
.wh-outbound-hist-lines-table.hist-config-table > tbody > tr:nth-child(even) > td.product-sticky-action {
  background: #fff;
}

/*
 * 销货/采购/其他入库等共用明细「商品」列：
 * hist-config 表为 table-layout:fixed + colgroup 时，商品列单独限制宽度，避免被摊得过宽。
 * 固定列宽 = 260px（选品输入）+ 单元格左右 padding（各 8px）→ 276px。
 */
.sales-order-page .sales-order-lines-table .sales-order-line-col-product,
.sales-order-page .sales-order-lines-table--center thead tr th.sales-order-line-col-product,
.sales-order-page .sales-order-lines-table--center tbody tr td.sales-order-line-col-product {
  width: 276px;
  min-width: 276px;
  max-width: 276px;
  box-sizing: border-box;
  overflow: hidden;
  vertical-align: middle;
  text-align: left;
  white-space: nowrap;
}

/* 采购/退货/入库制单：商品列宽由表头拖拽与列配置决定，不锁死 276px */
.sales-order-page.inventory-order-sheet .sales-order-lines-table .sales-order-line-col-product,
.sales-order-page.inventory-order-sheet .sales-order-lines-table--center thead tr th.sales-order-line-col-product,
.sales-order-page.inventory-order-sheet .sales-order-lines-table--center tbody tr td.sales-order-line-col-product {
  width: auto;
  min-width: 0;
  max-width: none;
}

/* 制单明细商品列：选品输入框随列宽拉伸，不固定 260px */
.sales-order-page.inventory-order-sheet .sales-order-line-col-product .sales-product-cell,
.sales-order-page.inventory-order-sheet td.sales-order-line-col-product .sales-product-cell {
  width: 100%;
  max-width: 100%;
}

.sales-order-page.inventory-order-sheet .sales-order-line-col-product .sales-customer-input-wrap,
.sales-order-page.inventory-order-sheet td.sales-order-line-col-product .sales-customer-input-wrap {
  width: 100%;
  max-width: 100%;
}

/* 明细「规格型号 / 客户指定型号」：列宽由表头拖拽与 localStorage 控制，仅保留省略与对齐 */
.sales-order-page .sales-order-lines-table--center th.sales-order-line-col-spec,
.sales-order-page .sales-order-lines-table--center td.sales-order-line-col-spec {
  box-sizing: border-box;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  vertical-align: middle;
  text-align: left;
}

/* 弹窗（Teleport body）：输入区与销货单白底细边框一致 */
.sales-customer-dialog input:not([type='checkbox']):not([type='radio']):not([type='file']),
.sales-customer-dialog select,
.sales-customer-dialog textarea {
  background: var(--input-surface) !important;
  border: 1px solid var(--input-border) !important;
  box-shadow: var(--input-inner-shadow);
}

/**
 * 历史列表页（.sales-history-page）：非 scoped。简约商务 + 与 --sidebar-teal 呼应（表格 / 工具栏 / 分页 / 行内操作）。
 *
 * 子组件内摘要行/主档标签（.purchase-history-detail-meta、.field-grid.sales-sheet-form>label>span）：
 * 在 App 内若仅写在 <style scoped> 中，不会作用到销货单查看等独立子组件。以下与 OutboundOrderHistoryFilterPanel
 * / HistoryQuickDateStatusFilter 及 scoped 中「销货主档」的纵向间距一致。
 * 「状态+金额」区使用 OutboundOrderViewPage 的 .outbound-order-view__status-finance-ribbon 单独定垂直间距，勿在此处再加 .outbound-order-view__status-line，免与内联样式拼特异性造成「改了不生效」。
 */
.sales-history-page .purchase-history-detail-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 18px;
  padding: 10px 12px 10px;
  color: #475569;
  font-size: 12px;
  line-height: 1.45;
}

.sales-history-page.inventory-order-sheet .field-grid.sales-sheet-form > label > span {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  line-height: 20px;
  margin-bottom: 4px;
}

.sales-history-page .product-table-wrap {
  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 14%, var(--border-light));
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
  padding-right: 8px;
  box-sizing: border-box;
  background: #fff;
}

.sales-history-page .product-table-real {
  --sales-hist-row-line: #e8ecf0;
}

.sales-history-page .product-table-real thead th {
  background: linear-gradient(180deg, #f7f8fa 0%, #f0f2f5 100%);
  color: #334155;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-align: left;
  vertical-align: middle;
  padding: 10px 10px;
  border-bottom: 1px solid color-mix(in srgb, var(--sidebar-teal) 26%, #d0dbe2);
}

.sales-history-page .product-table-real thead .product-sticky-left,
.sales-history-page .product-table-real thead .product-sticky-action {
  background: linear-gradient(180deg, #f7f8fa 0%, #f0f2f5 100%);
}

.sales-history-page .product-table-real tbody td {
  border-bottom: 1px solid var(--sales-hist-row-line);
  padding: 8px 10px;
  vertical-align: middle;
  font-size: 12px;
  color: #1e293b;
}

.sales-history-page .product-table-real tbody tr:not(.outbound-expand-row):not(.history-filler-row) td {
  background: #ffffff;
}

.sales-history-page .product-table-real tbody tr:not(.outbound-expand-row):not(.history-filler-row):hover td {
  background: color-mix(in srgb, var(--sidebar-teal) 5%, #fcfdfe);
}

.sales-history-page .product-table-real tbody tr.outbound-history-row--selected td {
  background: color-mix(in srgb, var(--sidebar-teal) 7%, #f7fbfc) !important;
}

.sales-history-page .product-table-real tbody tr.outbound-history-row--selected td:first-child {
  box-shadow: inset 3px 0 0 var(--sidebar-teal);
}

.sales-history-page .product-table-real tbody tr.history-filler-row td {
  border-bottom: 1px solid #eef1f4;
  background: #fafbfc;
  padding-top: 0;
  padding-bottom: 0;
}

.sales-history-page .product-table-real tbody tr.outbound-expand-row > td {
  border-bottom: 1px solid var(--sales-hist-row-line);
  padding: 12px 10px;
}

.sales-history-page .field-grid.sales-sheet-form.sales-history-filter-kw-partner {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px 12px;
  align-items: start;
}

.sales-history-page .field-grid.sales-sheet-form.sales-history-filter-kw-partner .sales-history-partner-slot {
  min-width: 0;
}

/* 销售排行版：商品 / 客户 / 业务员 单行三等分（与进销历史检索密度一致） */
.sales-history-page .sales-ranking-filter .sales-ranking-filter-three-col {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px 12px;
  align-items: start;
  margin-top: 8px;
}

.sales-history-page .sales-ranking-filter .sales-ranking-filter-three-col > .sales-ranking-kw-col {
  min-width: 0;
}

.sales-history-page .sales-ranking-filter .sales-ranking-filter-three-col .sales-history-partner-slot {
  min-width: 0;
}

.sales-history-page .outbound-hist-sales-emp {
  display: flex;
  flex-direction: column;
  font-size: 12px;
  color: var(--text-on-light);
  margin: 0;
  min-width: 0;
}

.sales-history-page .outbound-hist-sales-emp > span {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  line-height: 20px;
  margin-bottom: 4px;
}

.sales-history-page .outbound-hist-sales-emp select {
  width: 100%;
  box-sizing: border-box;
  height: 36px;
  font-size: 13px;
  color: #111827;
  border: 1px solid #d5dde7;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.sales-history-page .outbound-hist-sales-emp select:focus-visible {
  outline: none;
  border-color: color-mix(in srgb, var(--sidebar-teal) 48%, #cbd5e1);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--sidebar-teal) 16%, transparent);
}

/* 单号：线链式 */
.sales-history-page .product-table-real .history-order-link-btn {
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  background: none;
  box-shadow: none;
  color: var(--ui-accent-ink);
  font-weight: 600;
  font-size: 12px;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.02em;
  text-decoration: none;
  border-bottom: 1px solid color-mix(in srgb, var(--sidebar-teal) 42%, transparent);
  min-height: 0;
  display: inline;
  line-height: 1.5;
}

.sales-history-page .product-table-real .history-order-link-btn:hover {
  color: #063d47;
  border-bottom-color: var(--sidebar-teal);
  background: none;
}

.sales-history-page .product-table-real .history-order-link-btn:focus-visible {
  outline: none;
  border-radius: 2px;
  box-shadow: var(--focus-ring-shadow);
}

.sales-history-page .outbound-ic-linked-pill {
  margin-left: 6px;
  padding: 1px 6px;
  font-size: 10px;
  font-weight: 500;
  border-radius: 4px;
  color: #64748b;
  background: #f1f5f9;
  border: 1px solid #e2e8f0;
  cursor: pointer;
}

.sales-history-page .outbound-ic-linked-pill:hover {
  color: var(--ui-accent-ink);
  border-color: color-mix(in srgb, var(--sidebar-teal) 35%, #e2e8f0);
  background: color-mix(in srgb, var(--sidebar-teal) 8%, #fff);
}

.sales-history-page
  .product-table-real
  .history-action-btn:not(.history-action-btn--primary):not(.history-action-btn--receipt):not(.history-action-btn--danger) {
  min-height: 26px;
  padding: 3px 10px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 500;
  color: #475569;
  background: #fff;
  border: 1px solid #e2e8f0;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.sales-history-page
  .product-table-real
  .history-action-btn:not(.history-action-btn--primary):not(.history-action-btn--receipt):not(.history-action-btn--danger):hover:not(
    :disabled
  ) {
  color: var(--ui-accent-ink);
  border-color: color-mix(in srgb, var(--sidebar-teal) 45%, #cbd5e1);
  background: color-mix(in srgb, var(--sidebar-teal) 5%, #fff);
}

.sales-history-page
  .product-table-real
  .history-action-btn:not(.history-action-btn--primary):not(.history-action-btn--receipt):not(.history-action-btn--danger):focus-visible {
  outline: none;
  box-shadow: var(--focus-ring-shadow);
}

.sales-history-page .product-table-real .history-action-btn--primary {
  min-height: 26px;
  padding: 3px 12px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 600;
  color: #fff;
  background: var(--sidebar-teal);
  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 82%, #0e7490);
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.sales-history-page .product-table-real .history-action-btn--primary:hover:not(:disabled) {
  filter: brightness(0.97);
}

.sales-history-page .product-table-real .history-action-btn--receipt {
  min-height: 26px;
  padding: 3px 12px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 600;
  color: #c2410c;
  background: #fff7ed;
  border: 1px solid color-mix(in srgb, #ea580c 32%, #fed7aa);
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.sales-history-page .product-table-real .history-action-btn--receipt:hover:not(:disabled) {
  background: #ffedd5;
  border-color: color-mix(in srgb, #ea580c 48%, #fdba74);
}

.sales-history-page .product-table-real .history-action-btn--danger {
  min-height: 26px;
  padding: 3px 12px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  color: var(--ui-danger-ink);
  background: var(--ui-danger-soft);
  border: 1px solid color-mix(in srgb, var(--ui-danger-ink) 28%, #fecaca);
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.sales-history-page .product-table-real .history-action-btn--danger:hover:not(:disabled) {
  background: #fee2e2;
  border-color: color-mix(in srgb, var(--ui-danger-ink) 40%, #fecaca);
}

/* 销货历史：单据/收款状态为彩色文字，不做胶囊按钮 */
.sales-history-page .history-status-badge {
  display: inline;
  font-size: 12px;
  font-weight: 600;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none;
  line-height: 1.4;
}

.sales-history-page .history-status-badge--doc.history-status-badge--approved {
  color: var(--ui-accent-ink);
}

.sales-history-page .history-status-badge--doc.history-status-badge--draft,
.sales-history-page .history-status-badge--doc.history-status-badge--neutral {
  color: #64748b;
}

.sales-history-page .history-status-badge--payment.history-status-badge--paid {
  color: #047857;
}

.sales-history-page .history-status-badge--payment.history-status-badge--unpaid {
  color: #b91c1c;
}

.sales-history-page .history-status-badge--payment.history-status-badge--partial {
  color: #c2410c;
}

.sales-history-page .history-status-badge--payment.history-status-badge--na {
  color: #64748b;
}

.sales-history-page .inv-pay-cell--sales-hist {
  align-items: flex-start;
  gap: 2px;
}

.sales-history-page .inv-pay-detail--secondary-line {
  display: block;
  width: 100%;
  font-size: 11px;
  font-weight: 500;
  color: #64748b;
  line-height: 1.35;
}

.sales-history-page .history-more-menu__hub {
  height: 26px;
  min-width: 46px;
  padding: 0 8px;
  border-radius: 6px;
  border: 1px solid #e2e8f0;
  background: #fff;
}

.sales-history-page .history-more-menu__hub:hover,
.sales-history-page .history-more-menu__hub--on {
  border-color: var(--sidebar-teal);
  background: color-mix(in srgb, var(--sidebar-teal) 6%, #fff);
}

.sales-history-page .history-more-menu__hub-txt {
  font-size: 11px;
  font-weight: 500;
  color: #64748b;
}

.sales-history-page .history-more-menu__hub:hover .history-more-menu__hub-txt,
.sales-history-page .history-more-menu__hub--on .history-more-menu__hub-txt {
  color: var(--ui-accent-ink);
}

.sales-history-page .history-pagination-bar button {
  height: 28px;
  padding: 0 14px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 500;
  color: #475569;
  background: #fff;
  border: 1px solid #e2e8f0;
}

.sales-history-page .history-pagination-bar button:hover:not(:disabled) {
  border-color: var(--sidebar-teal);
  color: var(--ui-accent-ink);
  background: color-mix(in srgb, var(--sidebar-teal) 5%, #fff);
}

.sales-history-page .history-pagination-bar button:focus-visible {
  box-shadow: var(--focus-ring-shadow);
}

.sales-history-page .history-pagination-bar button:disabled {
  opacity: 0.45;
}

.sales-history-page .history-pagination-bar select {
  height: 28px;
  border-radius: 6px;
  border: 1px solid #e2e8f0;
}

.sales-history-page .history-toolbar--brand button:not(.doc-toolbar-btn) {
  min-height: 32px;
  padding: 0 16px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.01em;
  color: var(--ui-accent-ink);
  background: #fff;
  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 26%, #d8e3e7);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.sales-history-page .history-toolbar--brand button:not(.doc-toolbar-btn):hover:not(:disabled) {
  background: color-mix(in srgb, var(--sidebar-teal) 6%, #fff);
  border-color: var(--sidebar-teal);
  box-shadow: none;
}

.sales-history-page .history-toolbar--brand button:not(.doc-toolbar-btn):focus-visible {
  box-shadow: var(--focus-ring-shadow);
}

.sales-history-page .history-toolbar--brand button:not(.doc-toolbar-btn):disabled {
  color: #94a3b8;
  background: #f8fafc;
  border-color: #e2e8f0;
}

/** 销货单查看等：工具条内「收款」需保持收款强调色，避免被上一条通用 button 覆写 */
.sales-history-page .history-toolbar--brand button.primary-action-btn--receipt {
  color: #c2410c;
  background: #fff7ed;
  border-color: color-mix(in srgb, #ea580c 42%, #fed7aa);
  font-weight: 600;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.sales-history-page .history-toolbar--brand button.primary-action-btn--receipt:hover:not(:disabled) {
  color: #9a3412;
  background: #ffedd5;
  border-color: color-mix(in srgb, #ea580c 55%, #fdba74);
  box-shadow: none;
}

.sales-history-page .outbound-history-tr--arc-open {
  position: relative;
  z-index: 8;
}

.sales-history-page .product-sticky-action--outbound-radial {
  overflow: hidden;
  z-index: 1;
}

.sales-history-page tr:has(.outbound-hist-radial--open) .product-sticky-action--outbound-radial {
  z-index: 4;
}

/**
 * 通用历史列表 .doc-history-page：与销货单历史表格区视觉一致（销货单页面仍仅用 .sales-history-page，此处不改动原块）。
 */
.sales-history-page .product-table-wrap,
.doc-history-page .product-table-wrap {
  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 14%, var(--border-light));
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
  padding-right: 8px;
  box-sizing: border-box;
  background: #fff;
}

.sales-history-page .product-table-real,
.doc-history-page .product-table-real {
  --sales-hist-row-line: #e8ecf0;
}

.sales-history-page .product-table-real thead th,
.doc-history-page .product-table-real thead th {
  background: linear-gradient(180deg, #f7f8fa 0%, #f0f2f5 100%);
  color: #334155;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-align: left;
  vertical-align: middle;
  padding: 10px 10px;
  border-bottom: 1px solid color-mix(in srgb, var(--sidebar-teal) 26%, #d0dbe2);
}

.sales-history-page .product-table-real thead .product-sticky-left,
.sales-history-page .product-table-real thead .product-sticky-action,
.doc-history-page .product-table-real thead .product-sticky-left,
.doc-history-page .product-table-real thead .product-sticky-action {
  background: linear-gradient(180deg, #f7f8fa 0%, #f0f2f5 100%);
}

.sales-history-page .product-table-real tbody td,
.doc-history-page .product-table-real tbody td {
  border-bottom: 1px solid var(--sales-hist-row-line);
  padding: 8px 10px;
  vertical-align: middle;
  font-size: 12px;
  color: #1e293b;
}

.sales-history-page .product-table-real tbody tr:not(.outbound-expand-row):not(.history-filler-row) td,
.doc-history-page .product-table-real tbody tr:not(.outbound-expand-row):not(.history-filler-row) td {
  background: #ffffff;
}

.sales-history-page .product-table-real tbody tr:not(.outbound-expand-row):not(.history-filler-row):hover td,
.doc-history-page .product-table-real tbody tr:not(.outbound-expand-row):not(.history-filler-row):hover td {
  background: color-mix(in srgb, var(--sidebar-teal) 5%, #fcfdfe);
}

.sales-history-page .product-table-real tbody tr.outbound-history-row--selected td,
.doc-history-page .product-table-real tbody tr.outbound-history-row--selected td {
  background: color-mix(in srgb, var(--sidebar-teal) 7%, #f7fbfc) !important;
}

.sales-history-page .product-table-real tbody tr.outbound-history-row--selected td:first-child,
.doc-history-page .product-table-real tbody tr.outbound-history-row--selected td:first-child {
  box-shadow: inset 3px 0 0 var(--sidebar-teal);
}

.sales-history-page .product-table-real tbody tr.history-filler-row td,
.doc-history-page .product-table-real tbody tr.history-filler-row td {
  border-bottom: 1px solid #eef1f4;
  background: #fafbfc;
  padding-top: 0;
  padding-bottom: 0;
}

.sales-history-page .product-table-real tbody tr.outbound-expand-row > td,
.doc-history-page .product-table-real tbody tr.outbound-expand-row > td {
  border-bottom: 1px solid var(--sales-hist-row-line);
  padding: 12px 10px;
}

.sales-history-page .field-grid.sales-sheet-form.sales-history-filter-kw-partner,
.doc-history-page .field-grid.sales-sheet-form.sales-history-filter-kw-partner {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px 12px;
  align-items: start;
}

.sales-history-page .field-grid.sales-sheet-form.sales-history-filter-kw-partner .sales-history-partner-slot,
.doc-history-page .field-grid.sales-sheet-form.sales-history-filter-kw-partner .sales-history-partner-slot {
  min-width: 0;
}

.sales-history-page .outbound-hist-sales-emp,
.doc-history-page .outbound-hist-sales-emp {
  display: flex;
  flex-direction: column;
  font-size: 12px;
  color: var(--text-on-light);
  margin: 0;
  min-width: 0;
}

.sales-history-page .outbound-hist-sales-emp > span,
.doc-history-page .outbound-hist-sales-emp > span {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  line-height: 20px;
  margin-bottom: 4px;
}

.sales-history-page .outbound-hist-sales-emp select,
.doc-history-page .outbound-hist-sales-emp select {
  width: 100%;
  box-sizing: border-box;
  height: 36px;
  font-size: 13px;
  color: #111827;
  border: 1px solid #d5dde7;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.sales-history-page .outbound-hist-sales-emp select:focus-visible,
.doc-history-page .outbound-hist-sales-emp select:focus-visible {
  outline: none;
  border-color: color-mix(in srgb, var(--sidebar-teal) 48%, #cbd5e1);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--sidebar-teal) 16%, transparent);
}

/* 单号：线链式 */
.sales-history-page .product-table-real .history-order-link-btn,
/* 单号：线链式 */
.doc-history-page .product-table-real .history-order-link-btn {
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  background: none;
  box-shadow: none;
  color: var(--ui-accent-ink);
  font-weight: 600;
  font-size: 12px;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.02em;
  text-decoration: none;
  border-bottom: 1px solid color-mix(in srgb, var(--sidebar-teal) 42%, transparent);
  min-height: 0;
  display: inline;
  line-height: 1.5;
}

.sales-history-page .product-table-real .history-order-link-btn:hover,
.doc-history-page .product-table-real .history-order-link-btn:hover {
  color: #063d47;
  border-bottom-color: var(--sidebar-teal);
  background: none;
}

.sales-history-page .product-table-real .history-order-link-btn:focus-visible,
.doc-history-page .product-table-real .history-order-link-btn:focus-visible {
  outline: none;
  border-radius: 2px;
  box-shadow: var(--focus-ring-shadow);
}

.sales-history-page .outbound-ic-linked-pill,
.doc-history-page .outbound-ic-linked-pill {
  margin-left: 6px;
  padding: 1px 6px;
  font-size: 10px;
  font-weight: 500;
  border-radius: 4px;
  color: #64748b;
  background: #f1f5f9;
  border: 1px solid #e2e8f0;
  cursor: pointer;
}

.sales-history-page .outbound-ic-linked-pill:hover,
.doc-history-page .outbound-ic-linked-pill:hover {
  color: var(--ui-accent-ink);
  border-color: color-mix(in srgb, var(--sidebar-teal) 35%, #e2e8f0);
  background: color-mix(in srgb, var(--sidebar-teal) 8%, #fff);
}

.sales-history-page
  .product-table-real
  .history-action-btn:not(.history-action-btn--primary):not(.history-action-btn--receipt):not(.history-action-btn--danger),
.doc-history-page
  .product-table-real
  .history-action-btn:not(.history-action-btn--primary):not(.history-action-btn--receipt):not(.history-action-btn--danger) {
  min-height: 26px;
  padding: 3px 10px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 500;
  color: #475569;
  background: #fff;
  border: 1px solid #e2e8f0;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.sales-history-page
  .product-table-real
  .history-action-btn:not(.history-action-btn--primary):not(.history-action-btn--receipt):not(.history-action-btn--danger):hover:not(
    :disabled
  ),
.doc-history-page
  .product-table-real
  .history-action-btn:not(.history-action-btn--primary):not(.history-action-btn--receipt):not(.history-action-btn--danger):hover:not(
    :disabled
  ) {
  color: var(--ui-accent-ink);
  border-color: color-mix(in srgb, var(--sidebar-teal) 45%, #cbd5e1);
  background: color-mix(in srgb, var(--sidebar-teal) 5%, #fff);
}

.sales-history-page
  .product-table-real
  .history-action-btn:not(.history-action-btn--primary):not(.history-action-btn--receipt):not(.history-action-btn--danger):focus-visible,
.doc-history-page
  .product-table-real
  .history-action-btn:not(.history-action-btn--primary):not(.history-action-btn--receipt):not(.history-action-btn--danger):focus-visible {
  outline: none;
  box-shadow: var(--focus-ring-shadow);
}

.sales-history-page .product-table-real .history-action-btn--primary,
.doc-history-page .product-table-real .history-action-btn--primary {
  min-height: 26px;
  padding: 3px 12px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 600;
  color: #fff;
  background: var(--sidebar-teal);
  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 82%, #0e7490);
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.sales-history-page .product-table-real .history-action-btn--primary:hover:not(:disabled),
.doc-history-page .product-table-real .history-action-btn--primary:hover:not(:disabled) {
  filter: brightness(0.97);
}

.sales-history-page .product-table-real .history-action-btn--receipt,
.doc-history-page .product-table-real .history-action-btn--receipt {
  min-height: 26px;
  padding: 3px 12px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 600;
  color: #c2410c;
  background: #fff7ed;
  border: 1px solid color-mix(in srgb, #ea580c 32%, #fed7aa);
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.sales-history-page .product-table-real .history-action-btn--receipt:hover:not(:disabled),
.doc-history-page .product-table-real .history-action-btn--receipt:hover:not(:disabled) {
  background: #ffedd5;
  border-color: color-mix(in srgb, #ea580c 48%, #fdba74);
}

.sales-history-page .product-table-real .history-action-btn--danger,
.doc-history-page .product-table-real .history-action-btn--danger {
  min-height: 26px;
  padding: 3px 12px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  color: var(--ui-danger-ink);
  background: var(--ui-danger-soft);
  border: 1px solid color-mix(in srgb, var(--ui-danger-ink) 28%, #fecaca);
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.sales-history-page .product-table-real .history-action-btn--danger:hover:not(:disabled),
.doc-history-page .product-table-real .history-action-btn--danger:hover:not(:disabled) {
  background: #fee2e2;
  border-color: color-mix(in srgb, var(--ui-danger-ink) 40%, #fecaca);
}

/* 销货历史：单据/收款状态为彩色文字，不做胶囊按钮 */
.sales-history-page .history-status-badge,
/* 销货历史：单据/收款状态为彩色文字，不做胶囊按钮 */
.doc-history-page .history-status-badge {
  display: inline;
  font-size: 12px;
  font-weight: 600;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none;
  line-height: 1.4;
}

.sales-history-page .history-status-badge--doc.history-status-badge--approved,
.doc-history-page .history-status-badge--doc.history-status-badge--approved {
  color: var(--ui-accent-ink);
}

.sales-history-page .history-status-badge--doc.history-status-badge--draft,
.sales-history-page .history-status-badge--doc.history-status-badge--neutral,
.doc-history-page .history-status-badge--doc.history-status-badge--draft,
.doc-history-page .history-status-badge--doc.history-status-badge--neutral {
  color: #64748b;
}

.sales-history-page .history-status-badge--payment.history-status-badge--paid,
.doc-history-page .history-status-badge--payment.history-status-badge--paid {
  color: #047857;
}

.sales-history-page .history-status-badge--payment.history-status-badge--unpaid,
.doc-history-page .history-status-badge--payment.history-status-badge--unpaid {
  color: #b91c1c;
}

.sales-history-page .history-status-badge--payment.history-status-badge--refund_due,
.doc-history-page .history-status-badge--payment.history-status-badge--refund_due {
  color: #1d4ed8;
}

.sales-history-page .history-status-badge--payment.history-status-badge--partial,
.doc-history-page .history-status-badge--payment.history-status-badge--partial {
  color: #c2410c;
}

.sales-history-page .history-status-badge--payment.history-status-badge--na,
.doc-history-page .history-status-badge--payment.history-status-badge--na {
  color: #64748b;
}

.sales-history-page .inv-pay-cell--sales-hist,
.doc-history-page .inv-pay-cell--sales-hist {
  align-items: flex-start;
  gap: 2px;
}

.sales-history-page .inv-pay-detail--secondary-line,
.doc-history-page .inv-pay-detail--secondary-line {
  display: block;
  width: 100%;
  font-size: 11px;
  font-weight: 500;
  color: #64748b;
  line-height: 1.35;
}

.sales-history-page .history-more-menu__hub,
.doc-history-page .history-more-menu__hub {
  height: 26px;
  min-width: 46px;
  padding: 0 8px;
  border-radius: 6px;
  border: 1px solid #e2e8f0;
  background: #fff;
}

.sales-history-page .history-more-menu__hub:hover,
.sales-history-page .history-more-menu__hub--on,
.doc-history-page .history-more-menu__hub:hover,
.doc-history-page .history-more-menu__hub--on {
  border-color: var(--sidebar-teal);
  background: color-mix(in srgb, var(--sidebar-teal) 6%, #fff);
}

.sales-history-page .history-more-menu__hub-txt,
.doc-history-page .history-more-menu__hub-txt {
  font-size: 11px;
  font-weight: 500;
  color: #64748b;
}

.sales-history-page .history-more-menu__hub:hover .history-more-menu__hub-txt,
.sales-history-page .history-more-menu__hub--on .history-more-menu__hub-txt,
.doc-history-page .history-more-menu__hub:hover .history-more-menu__hub-txt,
.doc-history-page .history-more-menu__hub--on .history-more-menu__hub-txt {
  color: var(--ui-accent-ink);
}

.sales-history-page .history-pagination-bar button,
.doc-history-page .history-pagination-bar button {
  height: 28px;
  padding: 0 14px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 500;
  color: #475569;
  background: #fff;
  border: 1px solid #e2e8f0;
}

.sales-history-page .history-pagination-bar button:hover:not(:disabled),
.doc-history-page .history-pagination-bar button:hover:not(:disabled) {
  border-color: var(--sidebar-teal);
  color: var(--ui-accent-ink);
  background: color-mix(in srgb, var(--sidebar-teal) 5%, #fff);
}

.sales-history-page .history-pagination-bar button:focus-visible,
.doc-history-page .history-pagination-bar button:focus-visible {
  box-shadow: var(--focus-ring-shadow);
}

.sales-history-page .history-pagination-bar button:disabled,
.doc-history-page .history-pagination-bar button:disabled {
  opacity: 0.45;
}

.sales-history-page .history-pagination-bar select,
.doc-history-page .history-pagination-bar select {
  height: 28px;
  border-radius: 6px;
  border: 1px solid #e2e8f0;
}

.sales-history-page .history-toolbar--brand button:not(.doc-toolbar-btn),
.doc-history-page .history-toolbar--brand button:not(.doc-toolbar-btn) {
  min-height: 32px;
  padding: 0 16px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.01em;
  color: var(--ui-accent-ink);
  background: #fff;
  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 26%, #d8e3e7);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.sales-history-page .history-toolbar--brand button:not(.doc-toolbar-btn):hover:not(:disabled),
.doc-history-page .history-toolbar--brand button:not(.doc-toolbar-btn):hover:not(:disabled) {
  background: color-mix(in srgb, var(--sidebar-teal) 6%, #fff);
  border-color: var(--sidebar-teal);
  box-shadow: none;
}

.sales-history-page .history-toolbar--brand button:not(.doc-toolbar-btn):focus-visible,
.doc-history-page .history-toolbar--brand button:not(.doc-toolbar-btn):focus-visible {
  box-shadow: var(--focus-ring-shadow);
}

.sales-history-page .history-toolbar--brand button:not(.doc-toolbar-btn):disabled,
.doc-history-page .history-toolbar--brand button:not(.doc-toolbar-btn):disabled {
  color: #94a3b8;
  background: #f8fafc;
  border-color: #e2e8f0;
}

.sales-history-page .outbound-history-tr--arc-open,
.doc-history-page .outbound-history-tr--arc-open {
  position: relative;
  z-index: 8;
}

.sales-history-page .product-sticky-action--outbound-radial,
.doc-history-page .product-sticky-action--outbound-radial {
  overflow: hidden;
  z-index: 1;
}

.sales-history-page tr:has(.outbound-hist-radial--open) .product-sticky-action--outbound-radial,
.doc-history-page tr:has(.outbound-hist-radial--open) .product-sticky-action--outbound-radial {
  z-index: 4;
}
/** 列表底部分页条：商品列表 / 历史列表 / 统计页共用（CrmListPaginationBar） */
.crm-list-pagination-bar.purchase-pagination-lite {
  --clpb-control-h: 32px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 16%, var(--border-light));
  background: color-mix(in srgb, var(--sidebar-teal) 7%, #ffffff);
  border-radius: 10px;
  padding: 8px 12px;
  gap: 10px;
  margin-top: 0;
  line-height: 1.4;
  box-sizing: border-box;
}

.crm-list-pagination-bar.purchase-pagination-lite label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  margin-bottom: 0;
  padding: 0;
  line-height: 1.4;
  white-space: nowrap;
  color: #64748b;
  font-size: 12px;
}

.crm-list-pagination-bar.purchase-pagination-lite span {
  display: inline-flex;
  align-items: center;
  min-height: var(--clpb-control-h);
  margin: 0;
  padding: 0;
  color: #64748b;
  font-size: 12px;
  line-height: 1.4;
}

.crm-list-pagination-bar.purchase-pagination-lite button,
.doc-page-shell.sales-history-page .crm-list-pagination-bar.purchase-pagination-lite button,
.sales-history-page.inventory-order-sheet .crm-list-pagination-bar.purchase-pagination-lite button,
.doc-history-ledger .crm-list-pagination-bar.purchase-pagination-lite button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  height: var(--clpb-control-h);
  min-height: var(--clpb-control-h);
  margin: 0;
  padding: 0 12px;
  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 22%, var(--border-light));
  background: #ffffff;
  color: #475569;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.4;
  cursor: pointer;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.crm-list-pagination-bar.purchase-pagination-lite button:hover:not(:disabled),
.doc-page-shell.sales-history-page .crm-list-pagination-bar.purchase-pagination-lite button:hover:not(:disabled),
.sales-history-page.inventory-order-sheet .crm-list-pagination-bar.purchase-pagination-lite button:hover:not(:disabled),
.doc-history-ledger .crm-list-pagination-bar.purchase-pagination-lite button:hover:not(:disabled) {
  border-color: color-mix(in srgb, var(--sidebar-teal) 38%, var(--border-light));
  color: #0a5f6e;
  background: #ffffff;
}

.crm-list-pagination-bar.purchase-pagination-lite button:focus-visible,
.doc-page-shell.sales-history-page .crm-list-pagination-bar.purchase-pagination-lite button:focus-visible,
.sales-history-page.inventory-order-sheet .crm-list-pagination-bar.purchase-pagination-lite button:focus-visible,
.doc-history-ledger .crm-list-pagination-bar.purchase-pagination-lite button:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring-shadow, 0 0 0 3px color-mix(in srgb, var(--sidebar-teal) 16%, transparent));
}

.crm-list-pagination-bar.purchase-pagination-lite button:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.crm-list-pagination-bar.purchase-pagination-lite select,
.doc-page-shell.sales-history-page .crm-list-pagination-bar.purchase-pagination-lite select,
.sales-history-page.inventory-order-sheet .crm-list-pagination-bar.purchase-pagination-lite select,
.doc-history-ledger .crm-list-pagination-bar.purchase-pagination-lite select {
  box-sizing: border-box;
  height: var(--clpb-control-h);
  min-height: var(--clpb-control-h);
  margin: 0;
  padding: 0 24px 0 10px;
  border: 1px solid color-mix(in srgb, var(--sidebar-teal) 22%, var(--border-light));
  border-radius: 8px;
  font-size: 12px;
  line-height: 1.4;
  color: var(--text-on-light, #334155);
  background: #fff;
  vertical-align: middle;
  appearance: auto;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.crm-list-pagination-bar.purchase-pagination-lite select:focus-visible,
.doc-page-shell.sales-history-page .crm-list-pagination-bar.purchase-pagination-lite select:focus-visible,
.sales-history-page.inventory-order-sheet .crm-list-pagination-bar.purchase-pagination-lite select:focus-visible,
.doc-history-ledger .crm-list-pagination-bar.purchase-pagination-lite select:focus-visible {
  outline: none;
  border-color: color-mix(in srgb, var(--sidebar-teal) 48%, #cbd5e1);
  box-shadow: var(--focus-ring-shadow, 0 0 0 3px color-mix(in srgb, var(--sidebar-teal) 16%, transparent));
}

.content-area--stat-ledger-fill .crm-list-pagination-bar,
.content-area--stat-ledger-fill .purchase-pagination-lite.crm-list-pagination-bar {
  flex-shrink: 0;
}
/**
 * 输入框内嵌 🔍 全局规则：仅图标，无浅蓝方框 / 磨砂 button 样式。
 * 覆盖 App.vue 全局 `button { background: var(--btn-frost-bg); … }`。
 */

/* —— 包装器：图标叠在输入框内右侧 —— */
.picker-inline-search-wrap,
.sales-customer-input-wrap,
.settlement-account-picker-field:not(.settlement-account-picker-field--detail),
.er-ref-input-wrap,
.customer-ledger-search-wrap,
.supplier-ledger-search-wrap,
.cs-search-wrap,
.ors-search-wrap,
.ops-search-wrap,
.orq-search-wrap,
.enum-archive-search,
.pob-search,
.sob-search,
.fep-search-field {
  position: relative;
  display: block;
  min-width: 0;
  box-sizing: border-box;
}

.picker-inline-search-wrap > :is(input, textarea, select),
.sales-customer-input-wrap > input,
.er-ref-input-wrap > :is(input, .ic-line-input),
.customer-ledger-search-wrap > input,
.supplier-ledger-search-wrap > input,
.cs-search-wrap > input,
.ors-search-wrap > input,
.ops-search-wrap > input,
.orq-search-wrap > input,
.enum-archive-search > input,
.pob-search > input,
.sob-search > input,
.fep-search-field > .fep-search-input {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.sales-customer-input-wrap > input,
.er-ref-input-wrap > :is(input, .ic-line-input),
.customer-ledger-search-wrap > input,
.supplier-ledger-search-wrap > input,
.cs-search-wrap > input,
.ors-search-wrap > input,
.ops-search-wrap > input,
.orq-search-wrap > input,
.enum-archive-search > input,
.pob-search > input,
.sob-search > input,
.picker-inline-search-wrap > :is(input, textarea, select),
.fep-search-field > .fep-search-input {
  padding-right: 36px;
}

/* —— 内嵌搜索按钮：统一 reset —— */
.picker-inline-search-btn,
.sales-customer-input-wrap .sales-customer-more,
.sales-customer-input-wrap .picker-inline-search-btn,
.sales-customer-input-wrap .tax-classification-search-btn,
.er-ref-input-wrap .er-ref-search-btn,
.customer-ledger-search-wrap .customer-ledger-search-btn,
.supplier-ledger-search-wrap .supplier-ledger-search-btn,
.cs-search-wrap .cs-search-btn,
.ors-search-wrap .ors-search-btn,
.ops-search-wrap .ops-search-btn,
.orq-search-wrap .orq-search-btn,
.enum-archive-search .enum-archive-search-btn,
.pob-search .pob-search-btn,
.sob-search .pob-search-btn,
.fep-search-field .fep-search-btn,
.picker-inline-search-wrap .picker-inline-search-btn,
.picker-inline-search-wrap .tax-classification-dialog-search-go {
  position: absolute;
  right: 2px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  width: 28px;
  height: 30px;
  min-width: 28px;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  color: #6b8592;
  font-size: 14px;
  line-height: 1;
  cursor: pointer;
  flex-shrink: 0;
}

.picker-inline-search-wrap .tax-classification-dialog-search-go,
.settlement-account-picker-search-icon {
  cursor: default;
  pointer-events: none;
}

.settlement-account-picker-field > .settlement-sheet-field-input {
  padding-right: 36px;
}

.settlement-account-picker-field--detail .settlement-account-picker-detail-btn {
  position: static !important;
  top: auto !important;
  right: auto !important;
  transform: none !important;
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  border: 1px solid var(--input-border, #d5dde7) !important;
  border-radius: 8px !important;
  background: color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 12%, #f8fafc) !important;
}
.settlement-account-picker-field--detail .settlement-account-picker-detail-btn:hover:not(:disabled) {
  background: color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 18%, #ecfdf5) !important;
  border: 1px solid color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 40%, #d5dde7) !important;
}

.picker-inline-search-btn:hover:not(:disabled),
.sales-customer-input-wrap .sales-customer-more:hover:not(:disabled),
.sales-customer-input-wrap .picker-inline-search-btn:hover:not(:disabled),
.sales-customer-input-wrap .tax-classification-search-btn:hover:not(:disabled),
.er-ref-input-wrap .er-ref-search-btn:hover:not(:disabled),
.customer-ledger-search-wrap .customer-ledger-search-btn:hover:not(:disabled),
.supplier-ledger-search-wrap .supplier-ledger-search-btn:hover:not(:disabled),
.cs-search-wrap .cs-search-btn:hover:not(:disabled),
.ors-search-wrap .ors-search-btn:hover:not(:disabled),
.ops-search-wrap .ops-search-btn:hover:not(:disabled),
.orq-search-wrap .orq-search-btn:hover:not(:disabled),
.enum-archive-search .enum-archive-search-btn:hover:not(:disabled),
.pob-search .pob-search-btn:hover:not(:disabled),
.sob-search .pob-search-btn:hover:not(:disabled),
.fep-search-field .fep-search-btn:hover:not(:disabled),
.picker-inline-search-wrap .picker-inline-search-btn:hover:not(:disabled),
.picker-inline-search-wrap .tax-classification-dialog-search-go:hover:not(:disabled) {
  color: var(--ui-accent-ink, #0a5f6e);
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.picker-inline-search-btn:disabled,
.sales-customer-input-wrap .picker-inline-search-btn:disabled,
.cs-search-wrap .cs-search-btn:disabled,
.ors-search-wrap .ors-search-btn:disabled,
.ops-search-wrap .ops-search-btn:disabled,
.orq-search-wrap .orq-search-btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

/* 业务员/往来单位清除：去掉全局 button 磨砂底，保持在 🔍 左侧 */
.sales-customer-input-wrap .picker-field-clear,
.sales-customer-input-wrap .dept-staff-picker-clear {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.sales-customer-input-wrap .picker-field-clear:hover,
.sales-customer-input-wrap .dept-staff-picker-clear:hover {
  background: #f1f5f9 !important;
  border: none !important;
  box-shadow: none !important;
}

/* 进销存制单/明细表：与客户栏选择器一致 */
.inventory-order-sheet .sales-customer-input-wrap,
.inventory-order-sheet .er-ref-input-wrap {
  position: relative;
  display: block;
}

.inventory-order-sheet .sales-sheet-lines .sales-customer-input-wrap .sales-customer-more,
.inventory-order-sheet .sales-sheet-lines .sales-customer-input-wrap .picker-inline-search-btn,
.inventory-order-sheet .sales-order-lines-table .sales-customer-input-wrap .sales-customer-more {
  position: absolute;
  right: 2px;
  top: 50%;
  transform: translateY(-50%);
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
/**
 * 单据顶栏按钮 variant 统一样式（制单页 / 历史列表共用）。
 * 由 HistoryToolbarActions + toolbarButtonClass 输出 doc-toolbar-btn--*，勿在容器上覆写颜色。
 */

.doc-toolbar-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  min-height: 36px;
  padding: 8px 14px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.2;
  cursor: pointer;
  border: 1px solid transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  font-family: inherit;
}

.doc-toolbar-btn:hover:not(:disabled) {
  filter: none;
}

.doc-toolbar-btn:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring-shadow);
}

.doc-toolbar-btn:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

/* 纯文本 / 次要：frost 浅底 */
.doc-toolbar-btn--plain,
.doc-toolbar-btn--default {
  color: var(--text-on-light);
  border-color: var(--btn-frost-border);
  background: var(--btn-frost-bg);
  box-shadow: var(--btn-frost-shadow);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.doc-toolbar-btn--plain:hover:not(:disabled),
.doc-toolbar-btn--default:hover:not(:disabled) {
  background: var(--btn-frost-bg-hover);
  border-color: var(--btn-frost-border-hover);
}

/* 主按钮：品牌青实心 */
.doc-toolbar-btn--primary {
  color: #fff;
  font-weight: 600;
  border-color: color-mix(in srgb, var(--sidebar-teal) 58%, #0a5f6e);
  background: var(--sidebar-teal);
  box-shadow: 0 2px 10px color-mix(in srgb, var(--sidebar-teal) 35%, transparent);
}
.doc-toolbar-btn--primary:hover:not(:disabled) {
  filter: brightness(1.06);
  border-color: color-mix(in srgb, var(--sidebar-teal) 45%, #0f766e);
  box-shadow: 0 4px 14px color-mix(in srgb, var(--sidebar-teal) 42%, transparent);
}

/* 工具主色：青浅底 */
.doc-toolbar-btn--tool {
  color: var(--ui-accent-ink);
  font-weight: 600;
  border-color: color-mix(in srgb, var(--ui-accent) 52%, var(--border-light));
  background: var(--ui-accent-soft);
}
.doc-toolbar-btn--tool:hover:not(:disabled) {
  background: var(--ui-accent-soft-strong);
  border-color: color-mix(in srgb, var(--ui-accent) 64%, var(--border-light));
  box-shadow: 0 2px 10px color-mix(in srgb, var(--ui-accent) 28%, transparent);
}

/* 图标 / 轻量 */
.doc-toolbar-btn--icon {
  color: #475569;
  font-weight: 500;
  border-color: #e2e8f0;
  background: #fff;
}
.doc-toolbar-btn--icon:hover:not(:disabled) {
  color: var(--ui-accent-ink);
  border-color: color-mix(in srgb, var(--sidebar-teal) 45%, #cbd5e1);
  background: color-mix(in srgb, var(--sidebar-teal) 5%, #fff);
}

/* 危险 */
.doc-toolbar-btn--danger {
  color: var(--ui-danger-ink);
  font-weight: 600;
  border-color: color-mix(in srgb, var(--ui-danger-ink) 32%, #fecaca);
  background: var(--ui-danger-soft);
}
.doc-toolbar-btn--danger:hover:not(:disabled) {
  border-color: color-mix(in srgb, var(--ui-danger-ink) 48%, #fca5a5);
  background: #fee2e2;
}

/* 橙色系列 */
.doc-toolbar-btn--orange {
  color: #fff;
  font-weight: 600;
  border-color: color-mix(in srgb, var(--ui-orange) 72%, #9a3412);
  background: var(--ui-orange);
  box-shadow: 0 2px 10px color-mix(in srgb, var(--ui-orange) 35%, transparent);
}
.doc-toolbar-btn--orange:hover:not(:disabled) {
  background: var(--ui-orange-hover);
  border-color: color-mix(in srgb, var(--ui-orange-hover) 80%, #7c2d12);
  box-shadow: 0 4px 14px color-mix(in srgb, var(--ui-orange) 42%, transparent);
}
.doc-toolbar-btn--orange-soft {
  color: var(--ui-orange-ink);
  font-weight: 600;
  border-color: var(--ui-orange-soft-border);
  background: var(--ui-orange-soft-bg);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.doc-toolbar-btn--orange-soft:hover:not(:disabled) {
  color: var(--ui-orange-hover);
  background: var(--ui-orange-soft-bg-hover);
  border-color: color-mix(in srgb, var(--ui-orange) 55%, #fdba74);
  box-shadow: 0 2px 10px color-mix(in srgb, var(--ui-orange) 22%, transparent);
}
.doc-toolbar-btn--orange-light {
  color: #c2410c;
  font-weight: 600;
  border-color: var(--ui-orange-light-border);
  background: var(--ui-orange-light-bg);
}
.doc-toolbar-btn--orange-light:hover:not(:disabled) {
  color: var(--ui-orange-ink);
  background: var(--ui-orange-light-bg-hover);
  border-color: color-mix(in srgb, #fb923c 48%, #fed7aa);
  box-shadow: 0 2px 8px color-mix(in srgb, var(--ui-orange) 14%, transparent);
}

.doc-toolbar-btn--orange:focus-visible,
.doc-toolbar-btn--orange-soft:focus-visible,
.doc-toolbar-btn--orange-light:focus-visible {
  box-shadow: var(--ui-orange-focus-ring);
}

/* 制单页「暂存」附加修饰：仅默认/纯文本 variant，勿覆盖 preset 指定的主按钮等样式 */
.doc-toolbar-btn--plain.doc-sheet-btn--draft,
.doc-toolbar-btn--default.doc-sheet-btn--draft {
  color: var(--ui-accent-ink);
  border-color: color-mix(in srgb, var(--sidebar-teal) 42%, var(--btn-frost-border));
}

/* 历史列表 / 制单顶栏：容器 legacy 规则之后仍保证 variant 生效 */
.sales-history-page .history-toolbar--brand .doc-toolbar-btn--primary,
.doc-history-page .history-toolbar--brand .doc-toolbar-btn--primary,
.document-toolbar-actions--sheet .doc-toolbar-btn--primary {
  color: #fff;
  font-weight: 600;
  border-color: color-mix(in srgb, var(--sidebar-teal) 58%, #0a5f6e);
  background: var(--sidebar-teal);
  box-shadow: 0 2px 10px color-mix(in srgb, var(--sidebar-teal) 35%, transparent);
}
.sales-history-page .history-toolbar--brand .doc-toolbar-btn--orange,
.doc-history-page .history-toolbar--brand .doc-toolbar-btn--orange,
.document-toolbar-actions--sheet .doc-toolbar-btn--orange {
  color: #fff;
  font-weight: 600;
  border-color: color-mix(in srgb, var(--ui-orange) 72%, #9a3412);
  background: var(--ui-orange);
  box-shadow: 0 2px 10px color-mix(in srgb, var(--ui-orange) 35%, transparent);
}
.sales-history-page .history-toolbar--brand .doc-toolbar-btn--orange-soft,
.doc-history-page .history-toolbar--brand .doc-toolbar-btn--orange-soft,
.document-toolbar-actions--sheet .doc-toolbar-btn--orange-soft {
  color: var(--ui-orange-ink);
  font-weight: 600;
  border-color: var(--ui-orange-soft-border);
  background: var(--ui-orange-soft-bg);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.sales-history-page .history-toolbar--brand .doc-toolbar-btn--orange-light,
.doc-history-page .history-toolbar--brand .doc-toolbar-btn--orange-light,
.document-toolbar-actions--sheet .doc-toolbar-btn--orange-light {
  color: #c2410c;
  font-weight: 600;
  border-color: var(--ui-orange-light-border);
  background: var(--ui-orange-light-bg);
}
.sales-history-page .history-toolbar--brand .doc-toolbar-btn--tool,
.doc-history-page .history-toolbar--brand .doc-toolbar-btn--tool,
.document-toolbar-actions--sheet .doc-toolbar-btn--tool {
  color: var(--ui-accent-ink);
  font-weight: 600;
  border-color: color-mix(in srgb, var(--ui-accent) 52%, var(--border-light));
  background: var(--ui-accent-soft);
}
/**
 * 全局台账列表主题（与销货单 CrmLedgerListShell 同款表头/表体/列宽拖拽视觉）。
 * 所有使用 HistoryConfigurableTable / CrmLedgerListShell 的列表自动套用。
 */

/*
 * 可调列宽：表宽须等于 colgroup 列宽之和。
 * 若撑满容器（min-width:100% / 980px），余量会被摊到 width:auto 列或其它列，
 * 表现为「规格型号」「水位线」等中间列拖不动。
 */
.product-table-real.hist-config-table.crm-ledger-table {
  table-layout: fixed !important;
  width: max-content !important;
  min-width: 0 !important;
  max-width: none;
  border-collapse: separate;
  border-spacing: 0;
}

.product-table-real.hist-config-table.crm-ledger-table .th-col-product,
.product-table-real.hist-config-table.crm-ledger-table .td-col-product {
  width: unset;
  min-width: 132px;
  max-width: none;
}

.crm-ledger-table.hist-config-table {
  border-collapse: separate;
  border-spacing: 0;
}

.crm-ledger-table.hist-config-table > thead > tr > th {
  background: linear-gradient(180deg, #f8fbfc 0%, #f0f7f8 100%);
  color: #334155;
  font-weight: 600;
  font-size: 12px;
  line-height: 1.25;
  height: 40px;
  padding: 8px 10px;
  border-bottom: 1px solid color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 18%, #e2e8f0);
  border-right: 1px solid color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 12%, #e8eef3);
  vertical-align: middle;
  box-sizing: border-box;
  position: sticky;
  top: 0;
  z-index: 3;
}

.crm-ledger-table.hist-config-table > thead > tr > th:last-child {
  border-right: none;
}

.crm-ledger-table.hist-config-table > thead > tr > th.product-sticky-left,
.crm-ledger-table.hist-config-table > thead > tr > th.product-sticky-action {
  background: linear-gradient(180deg, #f8fbfc 0%, #f0f7f8 100%);
  z-index: 5;
}

.crm-ledger-table.hist-config-table > tbody > tr > td {
  border-right: 1px solid color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 8%, #eef2f6);
  padding: 6px 10px;
  font-size: 12px;
  vertical-align: middle;
  box-sizing: border-box;
}

.crm-ledger-table.hist-config-table > tbody > tr > td:last-child {
  border-right: none;
}

.crm-ledger-table.hist-config-table > tbody > tr:nth-child(even) > td {
  background: rgba(248, 252, 253, 0.65);
}

.crm-ledger-table.hist-config-table > tbody > tr:hover > td {
  background: color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 8%, #ffffff) !important;
}

.crm-ledger-table.hist-config-table > tbody > tr:hover > td.product-table-empty {
  background: color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 4%, #f8fafc) !important;
}

.crm-ledger-table .hist-col-resize-grip:hover {
  background: color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 35%, #cbd5e1);
}

.crm-ledger-table.hist-config-table tbody td input:not([type='checkbox']),
.crm-ledger-table.hist-config-table tbody td textarea {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.crm-ledger-table .ir-cell-num input,
.crm-ledger-table .ir-cell-num textarea {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.crm-ledger-list-summary {
  position: sticky;
  bottom: 0;
  z-index: 3;
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  align-items: center;
  justify-content: flex-end;
  padding: 8px 12px;
  border-top: 1px solid color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 14%, var(--border-light, #e2e8f0));
  background: linear-gradient(180deg, color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 6%, #ffffff) 0%, #ffffff 100%);
  font-size: 12px;
  font-weight: 600;
  color: var(--text-on-light, #0f172a);
  border-radius: 0 0 11px 11px;
}

.crm-ledger-list-summary--frameless {
  border-radius: 0;
}

/* 历史页 hist-config 表头 */
.sales-history-page .product-table-real.hist-config-table.crm-ledger-table > thead > tr > th,
.sales-history-page .crm-ledger-table.hist-config-table > thead > tr > th {
  background: linear-gradient(180deg, #f8fbfc 0%, #f0f7f8 100%);
  border-bottom: 1px solid color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 18%, #e2e8f0);
}

.content-area .product-table-real:not(.hist-config-table) thead th {
  background: linear-gradient(180deg, #f8fbfc 0%, #f0f7f8 100%);
  color: #334155;
  font-weight: 600;
  font-size: 12px;
  border-bottom: 1px solid color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 18%, #e2e8f0);
}

.content-area .product-table-real:not(.hist-config-table) thead .product-sticky-left,
.content-area .product-table-real:not(.hist-config-table) thead .product-sticky-action {
  background: linear-gradient(180deg, #f8fbfc 0%, #f0f7f8 100%);
}
/* 历史单据表头筛选：超过 3 行时折叠下方条件 */
.history-filter-collapsible:not(.history-filter-collapsible--expanded)
  > .history-filter-row:nth-child(n + 4) {
  display: none;
}

.history-filter-collapsible__toggle {
  display: inline-flex;
  align-items: center;
  margin-top: 4px;
  padding: 0;
  font-size: 12px;
  line-height: 1.5;
  color: var(--sidebar-teal, #0d9488);
  background: none;
  border: none;
  cursor: pointer;
}

.history-filter-collapsible__toggle:hover {
  text-decoration: underline;
}

.history-filter-collapsible__toggle:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--sidebar-teal, #0d9488) 40%, transparent);
  outline-offset: 2px;
  border-radius: 2px;
}
/**
 * 商品分类树 / 现存量筛选：全选、折叠 +/-、行内复选框。
 * 独立全局样式，覆盖 App.vue 中 input/button 的 padding 与 border-radius。
 */
.pcf-simple-tree {
  --pcf-control-radius: 0.5px;
  --pcf-teal: var(--sidebar-teal, #5fb8c1);
  display: flex;
  flex-direction: column;
  min-height: 0;
  min-width: 0;
  font-size: 13px;
  color: #1e293b;
}

.pcf-simple-tree--popover {
  width: 100%;
  min-width: 0;
  border-right: none;
  background: #fff;
}

.pcf-simple-tree .pcf-tree-toolbar {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  padding: 8px 12px;
  border-bottom: 1px solid #e8ecef;
  background: color-mix(in srgb, var(--pcf-teal) 6%, #fff);
}

.pcf-simple-tree .pcf-tree-toolbar-label {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center;
  gap: 8px;
  width: 100%;
  margin: 0 !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
  cursor: pointer;
  user-select: none;
  color: #000 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1;
}

.pcf-simple-tree .pcf-tree-scroll {
  flex: 1;
  min-height: 0;
  overflow: auto;
  padding: 8px 6px 12px;
  background: transparent;
}

.pcf-simple-tree--popover .pcf-tree-scroll {
  max-height: min(320px, 55vh);
}

.pcf-simple-tree .pcf-tree-branch {
  list-style: none;
  margin: 0;
  padding: 0;
}

.pcf-simple-tree .pcf-tree-node {
  margin: 0;
  padding: 0;
}

.pcf-simple-tree .pcf-tree-empty {
  margin: 8px 10px 0;
  font-size: 12px;
  color: #64748b;
}

.pcf-simple-tree .pcf-tree-path-code {
  flex-shrink: 0;
  padding: 1px 6px;
  border-radius: 2px;
  font-size: 11px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  color: #0f766e;
  background: color-mix(in srgb, var(--pcf-teal) 14%, #fff);
  border: 1px solid color-mix(in srgb, var(--pcf-teal) 28%, #e2e8f0);
}

.pcf-simple-tree .pcf-tree-name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pcf-simple-tree .pcf-tree-label {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  overflow: hidden;
}

.pcf-simple-tree input.pcf-tree-check,
.pcf-simple-tree input.pcf-tree-toolbar-check {
  -webkit-appearance: none !important;
  appearance: none !important;
  box-sizing: border-box !important;
  flex-shrink: 0;
  width: 14px !important;
  height: 14px !important;
  min-width: 14px !important;
  min-height: 14px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 55%, #94a3b8) !important;
  border-radius: var(--pcf-control-radius) !important;
  background: #fff !important;
  box-shadow: none !important;
  cursor: pointer;
  position: relative;
  vertical-align: middle;
}

.pcf-simple-tree input.pcf-tree-check:checked,
.pcf-simple-tree input.pcf-tree-toolbar-check:checked,
.pcf-simple-tree input.pcf-tree-check:indeterminate,
.pcf-simple-tree input.pcf-tree-toolbar-check:indeterminate {
  background: var(--sidebar-teal, #5fb8c1) !important;
  border-color: var(--sidebar-teal, #5fb8c1) !important;
}

.pcf-simple-tree input.pcf-tree-check:checked::after,
.pcf-simple-tree input.pcf-tree-toolbar-check:checked::after {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  width: 4px;
  height: 7px;
  margin-left: -2px;
  margin-top: -4px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
  box-sizing: border-box;
}

.pcf-simple-tree input.pcf-tree-check:indeterminate::after,
.pcf-simple-tree input.pcf-tree-toolbar-check:indeterminate::after {
  content: '';
  position: absolute;
  left: 2px;
  right: 2px;
  top: 50%;
  height: 2px;
  margin-top: -1px;
  background: #fff;
  border: none;
  transform: none;
}

.pcf-simple-tree input.pcf-tree-check:indeterminate:checked::after,
.pcf-simple-tree input.pcf-tree-toolbar-check:indeterminate:checked::after {
  width: auto;
  height: 2px;
  border: none;
  transform: none;
  left: 2px;
  right: 2px;
  top: 50%;
  margin-top: -1px;
  background: #fff;
}

.pcf-simple-tree button.pcf-tree-box,
.pcf-simple-tree span.pcf-tree-box {
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 14px !important;
  height: 14px !important;
  min-width: 14px !important;
  min-height: 14px !important;
  border-radius: var(--pcf-control-radius) !important;
  border: 1px solid color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 55%, #94a3b8) !important;
  background: #fff !important;
  color: #000;
  font-size: 11px;
  line-height: 1;
  font-weight: 600;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  cursor: pointer;
}

.pcf-simple-tree span.pcf-tree-box--leaf {
  visibility: hidden;
  pointer-events: none;
  border-color: transparent !important;
  background: transparent !important;
}

.pcf-simple-tree button.pcf-tree-box:hover {
  border-color: var(--sidebar-teal, #5fb8c1) !important;
  background: color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 4%, #ffffff) !important;
}

.pcf-simple-tree button.pcf-tree-label,
.pcf-simple-tree span.pcf-tree-label {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: none !important;
  color: #000;
  font-size: 13px;
  font-weight: 400;
  text-align: left;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  min-height: 0 !important;
  width: auto !important;
  height: auto !important;
}

.pcf-simple-tree button.pcf-tree-label:hover,
.pcf-simple-tree span.pcf-tree-label:hover {
  background: none !important;
  border: none !important;
  color: #000;
  text-decoration: none;
}

.pcf-simple-tree button.pcf-tree-all {
  margin: 4px 6px 6px !important;
  padding: 7px 10px !important;
  display: block;
  width: calc(100% - 12px);
  max-width: none;
  border-radius: 8px !important;
  border: 1px solid transparent !important;
  background: transparent !important;
  color: #000;
  font-size: 13px;
  font-weight: 600;
  text-align: left;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.pcf-simple-tree button.pcf-tree-all:hover {
  background: #fff !important;
  border-color: #e2e8f0 !important;
  color: #000;
}

.pcf-simple-tree button.pcf-tree-all.pcf-tree-all--on {
  background: #fff !important;
  border-color: color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 35%, #e2e8f0) !important;
}

.pcf-simple-tree .pcf-tree-branch:not(.pcf-tree-branch--root) {
  margin-left: 14px;
  padding-left: 10px;
  border-left: 1px dotted color-mix(in srgb, var(--sidebar-teal, #5fb8c1) 45%, #b8c8cc);
}

.pcf-simple-tree .pcf-tree-row {
  display: grid;
  grid-template-columns: 14px 14px minmax(0, 1fr);
  gap: 6px;
  align-items: center;
  min-height: 28px;
  padding: 2px 4px;
  margin: 0;
}

.pcf-simple-tree .pcf-tree-toggle-slot {
  width: 14px;
  height: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
}
/* 明细行下拉触发器：与原生 select 视觉对齐，压过 App 全局 button 磨砂胶囊 */
.sheet-line-select {
  position: relative;
  display: block;
  width: 100%;
  min-width: 0;
  height: 36px;
}

.sheet-line-select__trigger {
  display: flex;
  align-items: center;
  width: 100%;
  height: 36px !important;
  min-height: 36px !important;
  max-height: 36px !important;
  margin: 0 !important;
  padding: 0 28px 0 10px !important;
  box-sizing: border-box !important;
  border: 1px solid #d5dde7 !important;
  border-radius: 8px !important;
  background-color: #fff !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 10px center !important;
  background-size: 12px 12px !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 34px !important;
  color: #111827 !important;
  cursor: pointer;
  text-align: left;
}

.sheet-line-select__trigger:hover:not(:disabled) {
  background-color: #fff !important;
  border-color: #c8d3df !important;
}

.sheet-line-select.is-open .sheet-line-select__trigger,
.sheet-line-select__trigger:focus-visible {
  outline: none;
  border-color: color-mix(in srgb, var(--sidebar-teal) 48%, #cbd5e1) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--sidebar-teal) 16%, transparent) !important;
}

.sheet-line-select.is-disabled .sheet-line-select__trigger {
  background-color: #f8fafc !important;
  color: #94a3b8 !important;
  cursor: not-allowed;
}

.sheet-line-select__value {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sheet-line-select__placeholder {
  color: #94a3b8;
}

.sheet-line-select__panel {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.14);
  padding: 4px;
  box-sizing: border-box;
}

.sheet-line-select__option {
  display: block;
  width: 100%;
  height: 32px;
  margin: 0 !important;
  padding: 0 10px !important;
  border: none !important;
  border-radius: 6px !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  font-size: 13px !important;
  color: #0f172a !important;
  text-align: left;
  cursor: pointer;
}

.sheet-line-select__option:hover {
  background: #f1f5f9 !important;
}

.sheet-line-select__option.is-selected {
  background: color-mix(in srgb, var(--sidebar-teal) 12%, #fff) !important;
  color: var(--ui-accent-ink, #0a5f6e) !important;
  font-weight: 600;
}
