/* Meu Dinheiro — Tipografia corporativa */

body {
    font-family: var(--font-family);
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-normal);
    line-height: var(--line-height-base);
    letter-spacing: var(--letter-spacing-normal);
    color: var(--color-slate);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
    font-family: var(--font-family);
    font-weight: var(--font-weight-semibold);
    line-height: var(--line-height-tight);
    letter-spacing: var(--letter-spacing-tight);
    color: var(--color-slate);
}

h1, .h1 { font-size: var(--font-size-3xl); }
h2, .h2 { font-size: var(--font-size-2xl); }
h3, .h3 { font-size: var(--font-size-xl); }
h4, .h4 { font-size: var(--font-size-lg); }
h5, .h5 { font-size: var(--font-size-base); }
h6, .h6 { font-size: var(--font-size-sm); }

p {
    margin-bottom: var(--spacing-sm);
}

small, .small {
    font-size: var(--font-size-xs);
    letter-spacing: 0.01em;
}

/* Labels e metadados */
.form-label,
.account-label,
.timeline-label,
.stats-card .card-title,
.page-header-subtitle {
    font-weight: var(--font-weight-medium);
    letter-spacing: 0.02em;
}

/* Valores financeiros — alinhamento tabular */
.card-value,
.account-value,
.timeline-value,
.stats-card .card-value,
.currency-buy,
.mobile-summary-bar .summary-value,
.transaction-value-mobile strong {
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum" 1, "lnum" 1;
    font-weight: var(--font-weight-bold);
    letter-spacing: -0.02em;
}

/* Tabelas */
.modern-table,
.transactions-table,
.table {
    font-size: var(--font-size-sm);
}

.modern-table thead th,
.transactions-table thead th,
.table thead th {
    font-weight: var(--font-weight-semibold);
    letter-spacing: 0.04em;
    text-transform: uppercase;
    font-size: var(--font-size-xs);
}

/* Botões */
.btn,
.btn-modern,
.btn-action {
    font-family: var(--font-family);
    font-weight: var(--font-weight-semibold);
    letter-spacing: 0.01em;
}

/* Navbar */
.navbar-corporate .nav-link,
.mobile-nav-label {
    font-weight: var(--font-weight-medium);
    letter-spacing: 0.01em;
}

/* Badges compactos */
.badge,
.badge-custom {
    font-weight: var(--font-weight-semibold);
    letter-spacing: 0.03em;
}

/* Monospace só para códigos/dados técnicos */
code, kbd, pre, .font-mono {
    font-family: var(--font-family-mono);
    font-size: 0.9em;
}
