/* V154 · 全系统可读性与手动补货门店选择器
   目标：业务正文与控件无需眯眼阅读；说明文字保持次级但不低于 12px。 */

:root {
  --readable-body-size: 16px;
  --readable-control-size: 15px;
  --readable-table-size: 15px;
  --readable-caption-size: 13px;
  --readable-line-height: 1.55;
}

body[data-ui-version="44"] {
  font-size: var(--readable-body-size);
  line-height: var(--readable-line-height);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body[data-ui-version="44"] .main,
body[data-ui-version="44"] .view-root,
body[data-ui-version="44"] .panel,
body[data-ui-version="44"] .modal-card {
  font-size: var(--readable-body-size) !important;
}

/* 页面层级：标题醒目，正文稳定。 */
body[data-ui-version="44"] .topbar p,
body[data-ui-version="44"] .view-root .eyebrow,
body[data-ui-version="44"] .view-root .panel-kicker {
  font-size: 14px !important;
}

body[data-ui-version="44"] .topbar h1 {
  font-size: clamp(24px, 1.8vw, 30px) !important;
  line-height: 1.2;
}

body[data-ui-version="44"] .view-root h1 {
  font-size: clamp(26px, 2vw, 32px) !important;
  line-height: 1.2;
}

body[data-ui-version="44"] .view-root h2,
body[data-ui-version="44"] .panel-header h2 {
  font-size: clamp(19px, 1.35vw, 23px) !important;
  line-height: 1.3;
}

body[data-ui-version="44"] .view-root h3 {
  font-size: 17px !important;
  line-height: 1.35;
}

body[data-ui-version="44"] .view-root p,
body[data-ui-version="44"] .view-root li,
body[data-ui-version="44"] .view-root dd,
body[data-ui-version="44"] .view-root dt {
  font-size: 15px;
  line-height: 1.65;
}

/* 控件：不再使用 9–12px 的业务文字。 */
body[data-ui-version="44"] :where(
  .topbar,
  .view-root,
  .modal-card
) :where(button, input, select, textarea, .primary-button, .small-button, .ghost-button, .text-button) {
  font-size: var(--readable-control-size) !important;
  line-height: 1.35;
}

body[data-ui-version="44"] :where(.view-root, .modal-card) :where(input, select, textarea) {
  min-block-size: 38px;
}

body[data-ui-version="44"] :where(.view-root, .modal-card) :where(label, legend) {
  font-size: 14px !important;
  line-height: 1.45;
}

body[data-ui-version="44"] .topbar-actions,
body[data-ui-version="44"] .topbar-actions :where(.user-label, .cloud-status) {
  font-size: 14px !important;
}

/* 左侧导航属于高频入口，不跟随旧版“紧凑模式”缩小。 */
body[data-ui-version="44"] :where(.nav-item, .nav-sub-item) {
  font-size: 15px !important;
  line-height: 1.4 !important;
}

body[data-ui-version="44"] :where(.nav-section-label, .sidebar-footer, .brand-subtitle) {
  font-size: 13px !important;
  line-height: 1.45 !important;
}

/* 表格：标题、内容与数字都保持可辨认。 */
body[data-ui-version="44"] .view-root table :where(th, td),
body[data-ui-version="44"] .view-root .erp-master-table :where(th, td),
body[data-ui-version="44"] .view-root .store-product-ledger :where(th, td) {
  font-size: var(--readable-table-size) !important;
  line-height: 1.45;
}

body[data-ui-version="44"] .view-root table th,
body[data-ui-version="44"] .view-root .erp-master-table thead th,
body[data-ui-version="44"] .view-root .store-product-ledger thead th {
  font-size: 14px !important;
  font-weight: 760;
  letter-spacing: .01em;
}

body[data-ui-version="44"] .view-root :where(.badge, .status-badge, .pill, .tag) {
  font-size: 13.5px !important;
  line-height: 1.35;
}

/* 说明性文字仍可小一档，但不再小到无法阅读。 */
body[data-ui-version="44"] :where(.view-root, .modal-card) :where(
  .hint,
  .muted,
  .field-help,
  .empty,
  small,
  time
) {
  font-size: var(--readable-caption-size) !important;
  line-height: 1.55;
}

/* 紧凑筛选工具条此前被压到 9–11px，单独恢复到可读字号。 */
body[data-ui-version="44"] .view-root :where(
  .catalog-filter-row,
  .store-catalog-filter-row,
  .catalog-category-popover,
  .catalog-price-filter-popover,
  .catalog-page-nav
) :where(button, input, select, label, span, strong, b) {
  font-size: 14px !important;
}

/* 表单字段标题不能被历史页面样式压成 10–11px。 */
body[data-ui-version="44"] :where(.view-root, .modal-card) label > span:first-child,
body[data-ui-version="44"] .manual-restock-code-add label > span,
body[data-ui-version="44"] .manual-restock-meta-row label > span {
  font-size: 13px !important;
  line-height: 1.45 !important;
}

/* 手动补货：给门店名称足够宽度，并让下拉结果完整换行显示。 */
body[data-ui-version="44"] .manual-restock-header {
  display: grid;
  grid-template-columns: minmax(320px, 1fr) minmax(520px, auto);
  align-items: center;
  gap: 18px;
}

body[data-ui-version="44"] .manual-restock-header .toolbar {
  display: grid;
  grid-template-columns: minmax(390px, 520px) max-content;
  align-items: end;
  gap: 12px;
  min-inline-size: 0;
}

body[data-ui-version="44"] .manual-restock-store-field {
  display: grid;
  min-inline-size: 390px;
  inline-size: 100%;
}

body[data-ui-version="44"] .manual-restock-store-field > span {
  margin-block-end: 5px;
  font-size: 14px !important;
}

body[data-ui-version="44"] .manual-restock-store-field .searchable-store-picker {
  flex: none;
  inline-size: 100%;
  min-inline-size: 390px;
  max-inline-size: 520px;
}

body[data-ui-version="44"] .manual-restock-store-field .searchable-store-picker-input {
  inline-size: 100% !important;
  min-inline-size: 0 !important;
  max-inline-size: none !important;
  block-size: 42px;
  font-size: 15px !important;
  font-weight: 650;
  text-overflow: clip;
}

body[data-ui-version="44"] .manual-restock-header :where(button, input) {
  font-size: 15px !important;
}

body[data-ui-version="44"] .manual-restock-store-field .searchable-store-picker-listbox {
  inline-size: max(100%, 500px);
  max-inline-size: min(560px, calc(100vw - 44px));
  max-block-size: min(440px, 60vh);
  padding: 8px;
}

body[data-ui-version="44"] .manual-restock-store-field .searchable-store-picker-option {
  grid-template-columns: minmax(0, 1fr) max-content;
  align-items: start;
  min-block-size: 48px;
  padding: 10px 12px;
}

body[data-ui-version="44"] .manual-restock-store-field .searchable-store-picker-option strong {
  overflow: visible;
  font-size: 15px !important;
  line-height: 1.45;
  text-overflow: clip;
  white-space: normal;
  overflow-wrap: anywhere;
}

body[data-ui-version="44"] .manual-restock-store-field .searchable-store-picker-option span {
  padding-block-start: 2px;
  font-size: 12px !important;
  white-space: nowrap;
}

/* 普通门店选择器的结果也不再把长店名省略成一串省略号。 */
body[data-ui-version="44"] .searchable-store-picker-option strong {
  white-space: normal;
  overflow-wrap: anywhere;
}

@media (max-width: 1280px) {
  body[data-ui-version="44"] .manual-restock-header {
    grid-template-columns: 1fr;
  }

  body[data-ui-version="44"] .manual-restock-header .toolbar {
    grid-template-columns: minmax(360px, 1fr) max-content;
    inline-size: 100%;
  }

  body[data-ui-version="44"] .manual-restock-store-field,
  body[data-ui-version="44"] .manual-restock-store-field .searchable-store-picker {
    min-inline-size: 0;
    max-inline-size: none;
  }
}

@media (max-width: 760px) {
  :root {
    --readable-body-size: 16px;
    --readable-control-size: 15px;
    --readable-table-size: 14px;
  }

  body[data-ui-version="44"] .manual-restock-header .toolbar {
    grid-template-columns: 1fr;
  }

  body[data-ui-version="44"] .manual-restock-store-field,
  body[data-ui-version="44"] .manual-restock-store-field .searchable-store-picker {
    inline-size: 100%;
    min-inline-size: 0;
  }

  body[data-ui-version="44"] .manual-restock-store-field .searchable-store-picker-listbox {
    position: fixed;
    inset: 50% 14px auto 14px;
    inline-size: auto;
    max-inline-size: none;
    transform: translateY(-50%);
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-ui-version="44"] .searchable-store-picker * {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}

/* 最终可读性护栏：覆盖运行时追加的旧版紧凑样式。 */
body[data-ui-version="44"] .sidebar :where(.nav-item, .nav-sub-item) {
  font-size: 15px !important;
}

body[data-ui-version="44"] aside.sidebar nav.nav .nav-group > .nav-item,
body[data-ui-version="44"] aside.sidebar nav.nav .nav-group .nav-sub > .nav-sub-item {
  font-size: 15px !important;
  line-height: 1.4 !important;
}

body[data-ui-version="44"] .view-root .catalog-commandbar .catalog-filter-row :where(button, input, select),
body[data-ui-version="44"] .view-root .store-catalog-commandbar .store-catalog-filter-row :where(button, input, select),
body[data-ui-version="44"] .view-root .manual-restock-header :where(button, input) {
  font-size: 15px !important;
  min-block-size: 40px;
}

body[data-ui-version="44"] .view-root .erp-master-table .table-wrap table tbody tr td,
body[data-ui-version="44"] .view-root .store-product-ledger .table-wrap table tbody tr td {
  font-size: 15px !important;
  line-height: 1.45 !important;
}

body[data-ui-version="44"] .view-root .erp-master-table .table-wrap table thead tr th,
body[data-ui-version="44"] .view-root .store-product-ledger .table-wrap table thead tr th {
  font-size: 14px !important;
  line-height: 1.4 !important;
}

body[data-ui-version="44"] .view-root .manual-restock-builder .manual-restock-header .manual-restock-store-field > span,
body[data-ui-version="44"] .view-root .manual-restock-builder .manual-restock-code-add label > span,
body[data-ui-version="44"] .view-root .manual-restock-builder .manual-restock-meta-row label > span {
  font-size: 13px !important;
}
