/* Global readability pass loaded last across the project. */
:root {
    --readable-body-size: 16px;
    --readable-body-weight: 500;
    --readable-ui-size: 14px;
    --readable-label-size: 13px;
    --readable-table-size: 14px;
    --readable-table-head-size: 13px;
}

html body {
    font-size: var(--readable-body-size) !important;
    font-weight: var(--readable-body-weight);
    line-height: 1.7;
    text-rendering: optimizeLegibility;
}

p,
li,
td,
th,
label,
input,
select,
textarea,
button {
    font-weight: 500;
}

input[type="text"],
input[type="date"],
input[type="number"],
input[type="password"],
input[type="tel"],
input[type="email"],
select,
textarea,
.form-control,
.quick-search-filter__input,
.modern-date-input,
.action-filter-select {
    min-height: 42px;
    font-size: var(--readable-ui-size) !important;
    font-weight: 600 !important;
}

.form-group label,
.form-label,
.quick-search-filter__label,
.date-input-label,
.stat-label,
.kpi-title,
.finance-card-title,
.balance-card-label,
.summary-card__title,
.user-id,
.person-details small,
.profile-info small,
.page-subtitle,
.app-header__title p,
.header-user-role,
.form-help,
.invalid-feedback {
    font-size: var(--readable-label-size) !important;
    font-weight: 700 !important;
}

.btn-header,
.btn-3d,
.btn,
.btn-icon,
.btn-action,
.btn-action-large,
.btn-submit,
.btn-ghost,
.btn-back,
.btn-action-modern,
.quick-search-filter__btn,
.quick-filter-btn,
.btn-compare-action,
.control-btn {
    min-height: 40px;
    font-size: var(--readable-ui-size) !important;
    font-weight: 800 !important;
}

.professional-table,
.data-table,
.driver-accounts-table,
.table,
.modern-table {
    font-size: var(--readable-table-size) !important;
}

.professional-table th,
.data-table th,
.table th,
.modern-table th {
    font-size: var(--readable-table-head-size) !important;
    font-weight: 900 !important;
}

.professional-table td,
.data-table td,
.table td,
.modern-table td {
    font-weight: 600;
}

.status-pill,
.status-badge,
.badge,
.badge-pill,
.badge-pill-gray,
.badge-text,
.result-count,
.role-tag {
    font-size: var(--readable-label-size) !important;
    font-weight: 800 !important;
}

.page-header h1,
.page-title {
    font-size: 26px !important;
    font-weight: 900 !important;
}

.card-header h3,
.card-title,
.section-header h2,
.section-title,
.info-box h3 {
    font-size: 18px !important;
    font-weight: 900 !important;
}

.stat-value,
.stat-number,
.stat-details .stat-value,
.kpi-value,
.finance-card-value,
.balance-card-value,
.summary-card__value,
.summary-card__amount {
    font-size: 24px !important;
    font-weight: 900 !important;
}

.main-navigation__brand,
.main-nav-link {
    font-size: 13px !important;
    font-weight: 900 !important;
}

.main-nav-badge {
    font-size: 11px !important;
    font-weight: 900 !important;
}

.toast,
.notification-item,
.footer-stat-label,
.footer-stat-value,
.text-sm {
    font-size: var(--readable-label-size) !important;
}

@media (max-width: 780px) {
    html body {
        font-size: 15px !important;
    }

    .professional-table,
    .data-table,
    .driver-accounts-table,
    .table,
    .modern-table {
        font-size: 13px !important;
    }

    .professional-table th,
    .data-table th,
    .table th,
    .modern-table th {
        font-size: 12px !important;
    }
}

@media print {
    html,
    body {
        font-size: 13px !important;
        font-weight: 500 !important;
        line-height: 1.55 !important;
    }

    .professional-table,
    .data-table,
    .table,
    .modern-table {
        font-size: 12px !important;
    }

    .professional-table th,
    .professional-table td,
    .data-table th,
    .data-table td,
    .table th,
    .table td,
    .modern-table th,
    .modern-table td {
        font-size: 12px !important;
        font-weight: 600 !important;
    }

    .professional-table th,
    .data-table th,
    .table th,
    .modern-table th {
        font-weight: 900 !important;
    }

    .status-pill,
    .status-badge,
    .badge {
        font-size: 11px !important;
        font-weight: 800 !important;
    }

    .page-title,
    .print-info h2,
    .print-header-content h1 {
        font-size: 20px !important;
        font-weight: 900 !important;
    }
}
