:root {
  --ui-bg: #f3f5f9;
  --ui-surface: #fff;
  --ui-ink: #142033;
  --ui-muted: #64748b;
  --ui-line: #e3e8f0;
  --ui-accent: #315bff;
  --ui-accent-hover: #2446d5;
  --ui-accent-soft: #eef2ff;
  --ui-nav: #111c30;
  --ui-success: #14745b;
  --ui-success-soft: #eaf7f1;
  --ui-warning: #96631b;
  --ui-warning-soft: #fff6e5;
  --ui-danger: #b43748;
  --ui-radius: 14px;
  --ui-shadow: 0 8px 28px rgba(20, 32, 51, .035);
  --ui-font: "Avenir Next", "PingFang SC", "Microsoft YaHei", sans-serif;
  color-scheme: light;
}
body:is(.workspace-redesign, .quote-workspace-redesign, .login-page, .customer-quote-page) {
  font-family: var(--ui-font);
  color: var(--ui-ink);
  background: var(--ui-bg);
  -webkit-font-smoothing: antialiased;
  font-synthesis: none;
}
[hidden] { display: none !important; }
button, input, select, textarea { font-family: inherit; }
button, a, summary { -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
button, input, select, textarea, a, summary { scroll-margin-top: 100px; }
:is(button, a, input, select, textarea, summary):focus-visible { outline: 3px solid #6c88ff; outline-offset: 3px; }
button:disabled { cursor: not-allowed; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
@media (max-width: 700px) {
  /* Legacy field selectors must not shrink inputs and trigger mobile zoom. */
  body:is(.workspace-redesign, .quote-workspace-redesign, .login-page, .customer-quote-page) :is(input, select, textarea) { font-size: 16px !important; }
}
