/* Shared type scale for the administration, customer portal and sign-in. */
:root {
  --font-ui: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --text-caption: .75rem;
  --text-small: .8125rem;
  --text-label: .875rem;
  --text-body: .9375rem;
  --text-input: 1rem;
  --text-title: 1.25rem;
  --text-value: 1.5rem;
  --text-heading: 1.75rem;
  --focus-ring: #0b7d58;
}

html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { font-size: var(--text-body); line-height: 1.5; }
button, input, select, textarea { font-family: var(--font-ui); line-height: 1.4; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
button { touch-action: manipulation; }
:is(button, a, input, select, textarea, [tabindex]):focus-visible {
  outline: 2px solid var(--focus-ring);
  outline-offset: 3px;
}
input::placeholder, textarea::placeholder { color: #62757d; opacity: 1; }
input[type="checkbox"], input[type="radio"] {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  accent-color: #0b7d58;
}
h1, h2, h3, h4 { text-wrap: balance; }
button:disabled { cursor: not-allowed; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
