/* ============================================ */
/* TYPOGRAPHY GUIDELINES - Microsoft Style */
/* ============================================ */

/* Font Family */
body, * {
    font-family: 'Inter', system-ui, 'Segoe UI', Roboto, Arial, sans-serif !important;
}

/* Base Font Sizes */
body {
    font-size: 16px !important;
    line-height: 1.5 !important;
    font-weight: 400;
}

/* Page Titles */
h1 {
    font-size: 24px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
}

/* Section Headers */
h2 {
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
}

h3 {
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
}

/* Secondary UI Text (Labels, Metadata) */
.stats, .stat-item, .badge, label, .metadata {
    font-size: 14px !important;
}

/* Small Helper Text (Timestamps Only) */
.timestamp, .last-updated, small {
    font-size: 12px !important;
}

/* Table Typography */
table {
    font-size: 14px !important;
    line-height: 1.4 !important;
}

th {
    font-size: 14px !important;
    font-weight: 600 !important;
}

td {
    font-size: 14px !important;
}

/* File Names / Resource Titles */
.resource-title, .contact-name, .file-name {
    font-size: 15px !important;
    font-weight: 600 !important;
}

/* Buttons */
button, .btn, .card-btn, .contact-card-btn {
    font-size: 14px !important;
    font-weight: 500 !important;
}

/* Form Inputs */
input, select, textarea {
    font-size: 14px !important;
    font-weight: 400 !important;
}

/* Navigation */
.nav-link {
    font-size: 14px !important;
    font-weight: 500 !important;
}

.logo-text {
    font-size: 16px !important;
    font-weight: 600 !important;
}

/* Card Text */
.card h3, .contact-card h3 {
    font-size: 16px !important;
    font-weight: 600 !important;
}

.card p, .contact-card p {
    font-size: 14px !important;
    line-height: 1.5 !important;
}

/* Column Search Inputs */
.column-search {
    font-size: 13px !important;
}

/* Accessibility - Ensure minimum sizes */
p, span, div {
    font-size: inherit;
    min-font-size: 14px;
}

/* No italics for UI elements */
button, .btn, .nav-link, th, td {
    font-style: normal !important;
}

/* Contrast Requirements - WCAG 2.1 AA */
body {
    color: #1a1a1a;
}

.text-muted, .metadata {
    color: #5a5a5a; /* 7:1 contrast ratio */
}

/* Zoom Support */
@media (min-resolution: 2dppx) {
    body {
        font-size: 16px;
    }
}
