:root {
    --font-size-xs: 11px;
    --font-size-sm: 12px;
    --font-size-base: 14px;
    --font-size-md: 15px;
    --font-size-lg: 18px;
    --font-size-xl: 22px;
    --font-size-page-title: clamp(28px, 3vw, 34px);
}

html {
    font-size: 16px;
}

body {
    font-size: var(--font-size-base);
    line-height: 1.55;
}

h1,
.patient-page__header h1,
.patient-form-header h1,
.nota-page__header h1 {
    font-size: var(--font-size-page-title);
    line-height: 1.2;
}

h2 {
    font-size: var(--font-size-xl);
    line-height: 1.3;
}

h3 {
    font-size: var(--font-size-lg);
    line-height: 1.35;
}

h4,
h5,
h6 {
    line-height: 1.4;
}

p,
input,
select,
textarea,
.form-control,
.form-select,
.custom-select,
.select2-container {
    font-size: var(--font-size-base);
}

label,
.form-label {
    font-size: var(--font-size-sm);
}

.btn {
    font-size: var(--font-size-sm);
}

.sidebar-nav .sidebar-link,
.sidebar-nav .first-level .sidebar-link {
    font-size: 13px;
}

.sidebar-nav .nav-small-cap,
.patient-page__eyebrow,
.patient-form-eyebrow,
.dashboard-eyebrow {
    font-size: var(--font-size-xs);
}

.sidebar-welcome span,
.topbar-context__text strong {
    font-size: 13px;
}

.sidebar-welcome small,
.sidebar-footer strong,
.sidebar-footer small,
.topbar-context__text span,
.topbar-date small,
.topbar-profile__identity small,
.topbar-profile__menu-head small {
    font-size: var(--font-size-xs);
}

.topbar-date strong,
.topbar-add,
.topbar-profile__identity strong,
.topbar-profile__menu-head strong,
.topbar-profile .dropdown-item {
    font-size: var(--font-size-sm);
}

.dashboard-hero p,
.patient-page__subtitle,
.patient-form-header p,
.nota-page__header p {
    font-size: var(--font-size-base);
}

.dashboard-section-heading h2 {
    font-size: var(--font-size-xl);
}

.stat-card__tag,
.stat-card__footer,
.dashboard-live,
.dashboard-card-heading p,
.dashboard-chart-legend,
.quick-action__content small {
    font-size: var(--font-size-xs);
}

.stat-card__label,
.quick-action__content strong,
.dashboard-card-heading h3 {
    font-size: var(--font-size-sm);
}

.patient-search h6,
.patient-table-heading h2,
.patient-form-card__heading h2,
.nota-table-card__header h2 {
    font-size: var(--font-size-md);
}

.patient-search small,
.patient-table-heading small,
.patient-count,
.patient-field label,
.patient-input input,
.patient-input select,
.patient-input textarea,
.patient-form-progress strong,
.patient-form-actions__note,
.nota-filter .form-label,
.nota-action-bar .btn {
    font-size: var(--font-size-sm);
}

.patient-field__help,
.patient-field__error,
.patient-form-card__heading p,
.patient-form-progress small,
.nota-table-card__header small,
.patient-empty-value {
    font-size: var(--font-size-xs);
}

.table,
.nota-table {
    font-size: var(--font-size-sm);
}

.table thead th,
.nota-table thead th {
    font-size: var(--font-size-xs);
}

.nota-detail-table {
    font-size: var(--font-size-xs);
}

.nota-status {
    font-size: var(--font-size-xs);
}

.login-heading h2 {
    font-size: 28px;
}

.login-heading p,
.login-field label,
.login-input input,
.login-submit {
    font-size: 13px;
}

.login-feature strong {
    font-size: var(--font-size-sm);
}

.login-feature small,
.login-help,
.login-showcase__footer {
    font-size: var(--font-size-xs);
}

@media (max-width: 575.98px) {
    :root {
        --font-size-page-title: 27px;
    }

    body {
        font-size: 13px;
    }
}
