/* Shared screen design tokens. Contract pages must not load this file.
   Print/PDF layouts retain their existing size and spacing rules. */
@media screen {
  :root {
    --hr-text-size: 14px;
    --hr-caption-size: 12px;
    --hr-title-size: 24px;
    --hr-section-size: 20px;
    --hr-subtitle-size: 16px;
    --hr-control-radius: 8px;
    --hr-focus-color: #1677ff;
  }
  body { font-size: var(--hr-text-size); line-height: 1.6; }
  h1, .page-title, .page-header h1, .announcement-header h1 {
    font-size: var(--hr-title-size) !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    letter-spacing: 0;
  }
  h2, .section-title, .view-toolbar h2 {
    font-size: var(--hr-section-size) !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;
  }
  h3, h4, h5, h6, .card-title {
    font-size: var(--hr-subtitle-size) !important;
    font-weight: 600 !important;
    line-height: 1.5 !important;
  }
  p, label, th, td { line-height: 1.6; }
  table { font-size: var(--hr-text-size); font-variant-numeric: tabular-nums; }
  th { font-weight: 600; }
  button, .btn, input, select, textarea {
    font-size: var(--hr-text-size);
    border-radius: var(--hr-control-radius);
  }
  button, .btn { font-weight: 600; }
  input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="range"]):not([type="color"]), select, textarea {
    line-height: 1.5;
  }
  textarea { resize: vertical; }
  :where(button, a, input, select, textarea, summary):focus-visible {
    outline: 2px solid var(--hr-focus-color);
    outline-offset: 2px;
  }
  .muted, .help-text, .form-hint, .eyebrow {
    font-size: var(--hr-caption-size);
    line-height: 1.6;
  }
  .money, .amount, [data-hr-amount] { font-variant-numeric: tabular-nums; }
}

@media screen and (max-width: 600px) {
 input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea { font-size: 16px !important; }
}
