/* Application-wide typography contract.
   Icons retain their own font; every written interface element uses one family. */
:root {
    --font-ui: "Plus Jakarta Sans", "Segoe UI", Arial, sans-serif;
    --type-xs: 11px;
    --type-sm: 12px;
    --type-base: 13px;
    --type-md: 14px;
    --type-lg: 16px;
    --type-xl: 20px;
}

html, body,
button, input, select, textarea,
.btn, .form-control, .custom-select,
.dropdown-menu, .modal-content,
table, .table,
.app-sidebar, .app-topbar,
.auth-card, .auth-aside,
.pay-container {
    font-family: var(--font-ui) !important;
}

body {
    font-size: var(--type-base);
    line-height: 1.5;
    font-weight: 500;
}

h1, h2, h3, h4, h5, h6,
.app-page-title, .page-hero h1,
.auth-title, .auth-aside-name,
.premium-card-header h2, .security-card-header h3 {
    font-family: var(--font-ui) !important;
    letter-spacing: -.02em;
}

h1, .page-hero h1 { font-size: var(--type-xl); font-weight: 800; line-height: 1.25; }
h2, .app-page-title, .premium-card-header h2 { font-size: var(--type-lg); font-weight: 800; line-height: 1.35; }
h3, .security-card-header h3 { font-size: 15px; font-weight: 750; line-height: 1.4; }

.app-nav a, .app-user-btn, .app-sidebar-logout-btn { font-size: var(--type-base); }
.app-page-kicker, .app-nav-label, .table thead th { font-size: var(--type-xs); }

label, .form-control-label, .premium-input-group label {
    font-size: var(--type-sm) !important;
    font-weight: 700;
}

.form-control, .form-control-user, .premium-input,
.btn, .btn-primary, .btn-secondary,
.dropdown-menu, .modal-content {
    font-size: var(--type-base) !important;
}

.table td, .table th { font-size: var(--type-sm); }
.table thead th { font-weight: 800; }

/* Auth is part of the same product, not a separate visual font system. */
.auth-aside-name {
    font-size: var(--type-lg);
    font-weight: 800;
    letter-spacing: .08em;
}

.auth-title { font-size: 26px; font-weight: 800; line-height: 1.25; }
.auth-subtitle, .auth-footer { font-size: var(--type-base); }
.auth-form .form-control { font-size: var(--type-md) !important; }

@media (max-width: 575px) {
    body { font-size: var(--type-base); }
    h1, .page-hero h1 { font-size: 18px; }
    .auth-title { font-size: 23px; }
    .auth-form .form-control { font-size: 16px !important; }
}

/* Application log is intentionally denser than standard business forms. */
.application-log-card,
.application-log-card .premium-datatable,
.application-log-card .premium-datatable td {
    font-size: 9.25px !important;
}

.application-log-card .premium-datatable th,
.application-log-card .filter-form label {
    font-size: 8.5px !important;
}

.application-log-card .filter-form .form-control,
.application-log-card .filter-form .btn {
    height: 20px !important;
    min-height: 20px !important;
    padding: 0 5px !important;
    font-size: 8.5px !important;
    line-height: 1 !important;
}

.application-log-card td .status-badge,
.application-log-card td .application-log-open {
    font-size: 7.5px !important;
}

.application-log-card td .status-badge {
    width: 48px !important;
    justify-content: center;
    font-weight: 900 !important;
}

.application-log-card .application-log-level-cell {
    text-align: center;
}

.application-log-card .application-log-level-info {
    background: #dbeafe !important;
    color: #1d4ed8 !important;
}

.application-log-card .application-log-level-success {
    background: #dcfce7 !important;
    color: #15803d !important;
}

.application-log-card .application-log-level-warning {
    background: #fef3c7 !important;
    color: #a16207 !important;
}

.application-log-card .application-log-level-error {
    background: #fee2e2 !important;
    color: #b91c1c !important;
}

@media (min-width: 992px) {
    .application-log-card .table-responsive {
        max-width: 100%;
        overflow-x: auto !important;
    }

    .application-log-card table.premium-datatable {
        width: max-content !important;
        min-width: 100%;
        table-layout: auto;
    }

    .application-log-card .premium-datatable th.application-log-detail-col { width: 48px; }
    .application-log-card .premium-datatable th.application-log-level-col { width: 66px; }
    .application-log-card .premium-datatable th.application-log-tag-col { width: 145px; }
    .application-log-card .premium-datatable th.application-log-company-col { width: 48px; }
    .application-log-card .premium-datatable th.application-log-date-col { width: 108px; }
    .application-log-card .premium-datatable th.application-log-amount-col { width: 68px; }
    .application-log-card .premium-datatable th.application-log-message-col { min-width: 190px; }
    .application-log-card .premium-datatable th.application-log-user-col { width: 165px; }
}
