:root {
  --font-ui: "Microsoft YaHei UI", "Microsoft YaHei", "PingFang SC", Arial, sans-serif;
  --font-display: "Songti SC", "STSong", "Noto Serif SC", serif;
  --font-mono: Consolas, "SFMono-Regular", monospace;
  --type-xs: 12px;
  --type-sm: 13px;
  --type-base: 14px;
  --type-lg: 16px;
  --type-xl: 20px;
  --line-tight: 1.3;
  --line-normal: 1.5;
  --line-relaxed: 1.65;

  /* Keep the legacy page tokens on one shared type system. */
  --ops-font-ui: var(--font-ui);
  --ops-font-display: var(--font-display);
  --ops-font-mono: var(--font-mono);
  --quote-font-ui: var(--font-ui);
  --quote-font-display: var(--font-display);
  --quote-font-mono: var(--font-mono);
  --quote-sans: var(--font-ui);
  --quote-serif: var(--font-display);
}

html { font-size: var(--type-base); }

body,
button,
input,
select,
textarea {
  font-family: var(--font-ui);
  font-size: var(--type-base);
  line-height: var(--line-normal);
}

button,
input,
select,
textarea { font: inherit; }

h1,
h2,
h3,
.card-title,
.step-panel-title,
.p-title,
.pricing-login-card h1,
.customer-quote-project > header h3 {
  font-family: var(--font-display);
  line-height: var(--line-tight);
}

h1 { font-size: var(--type-xl); }
h2,
h3,
.card-title,
.step-panel-title,
.p-title { font-size: var(--type-lg); }

label,
small,
.field .unit,
.sku-status,
.product-card-meta,
.customer-quote-export-meta,
.customer-quote-export-footer {
  font-size: var(--type-xs);
  line-height: var(--line-relaxed);
}

#quoteSerialNo,
.sku-suggestion-code,
.product-card-head strong,
.quote-log-table td:first-child {
  font-family: var(--font-mono);
  font-size: var(--type-sm);
}

.customer-quote-export,
.customer-quote-reference-table {
  font-family: var(--font-ui);
  font-size: var(--type-sm);
  line-height: var(--line-relaxed);
}

@media (max-width: 680px) {
  html { font-size: var(--type-sm); }
  h1 { font-size: var(--type-lg); }
}
