@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("fonts/inter-latin.woff2") format("woff2");
}

:root {
  --app-font: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
}

html,
body,
button,
input,
select,
textarea {
  font-family: var(--app-font);
}

body {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  font-feature-settings: "cv02", "cv03", "cv04", "cv11";
  font-variant-numeric: tabular-nums;
  text-rendering: optimizeLegibility;
}

h1,
h2,
h3,
h4,
h5,
h6,
.page-heading h1,
.login-card h1,
.content-card__header h2,
.content-card-header h2 {
  font-weight: 700;
  letter-spacing: -.02em;
}

strong,
b,
.topbar-brand strong,
.topbar-context strong,
.sidebar-user__info strong,
.empty-state strong {
  font-weight: 600;
}

.page-heading__eyebrow,
.sidebar-label,
.detail-grid dt {
  font-weight: 600;
  letter-spacing: .075em;
}

.menu-section__button,
.menu-link.is-active,
.form-label,
.btn,
.table thead th,
.app-data-table thead th,
.app-data-table tbody td:first-child,
.card-header strong {
  font-weight: 600;
}

.menu-link,
.form-control,
.form-select,
.table tbody td,
.detail-grid dd {
  font-weight: 400;
}

.stat-card .stat-number {
  font-weight: 700;
  letter-spacing: -.025em;
}

.form-text,
.topbar-brand small,
.topbar-context small,
.sidebar-user__info small,
.app-footer {
  line-height: 1.45;
}

@media (max-width: 575.98px) {
  body {
    font-size: 13.5px;
  }

  .page-heading h1 {
    line-height: 1.25;
  }
}
