/*
 * OLA Typography — chuẩn UI hiện đại (Microsoft 365 / Notion / Slack-like).
 * Không webfont. Icon fonts (FA/BI/Summernote) không bị ảnh hưởng.
 */
:root {
    --ola-font:
        "Segoe UI",
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        Roboto,
        "Helvetica Neue",
        Arial,
        sans-serif;

    /* Alias tương thích cũ */
    --ola-sw-font: var(--ola-font);
    --font-sans: var(--ola-font);
    --font-inter: var(--ola-font);

    /*
     * Type scale (không dùng size lẻ)
     * Body/UI thường xuyên: 15px — dễ đọc Full HD / 2K / 4K
     */
    --ola-fs-body: 15px;
    --ola-fs-input: 15px;
    --ola-fs-btn: 15px;
    --ola-fs-menu: 15px;
    --ola-fs-table: 15px;
    --ola-fs-label: 14px;
    --ola-fs-badge: 13px;
    --ola-fs-meta: 13px;          /* thời gian, phụ đề nhỏ */
    --ola-fs-card-title: 18px;    /* card / dialog title */
    --ola-fs-header: 20px;
    --ola-fs-h3: 24px;
    --ola-fs-h2: 28px;
    --ola-fs-h1: 32px;

    /* alias cũ → map sang scale mới */
    --ola-fs-title: var(--ola-fs-card-title);
    --ola-fs-title-lg: var(--ola-fs-h3);
    --ola-fs-title-xl: var(--ola-fs-h2);

    /* Weights: 400 | 500 | 600 | 700 */
    --ola-fw-normal: 400;
    --ola-fw-medium: 500;
    --ola-fw-semibold: 600;
    --ola-fw-bold: 700;

    /* Line height — tiếng Việt cần khoảng thở */
    --ola-lh-body: 1.6;
    --ola-lh-title: 1.3;

    /* Text colors (không #000) */
    --ola-text: #222222;
    --ola-text-title: #111827;
    --ola-text-muted: #6B7280;
    --ola-text-disabled: #9CA3AF;

    /* Bootstrap bridge */
    --bs-body-font-family: var(--ola-font);
    --bs-font-sans-serif: var(--ola-font);
    --bs-body-font-size: var(--ola-fs-body);
    --bs-body-line-height: var(--ola-lh-body);
    --bs-body-color: var(--ola-text);
    --bs-heading-color: var(--ola-text-title);
}

html {
    font-family: var(--ola-font);
    font-size: var(--ola-fs-body);
    line-height: var(--ola-lh-body);
    letter-spacing: 0;
    color: var(--ola-text);
}

body {
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
    letter-spacing: 0;
    font-weight: var(--ola-fw-normal);
    color: var(--ola-text);
}

h1, h2, h3, h4, h5, h6,
.modal-title, .card-title, .ola-title {
    font-family: inherit;
    font-weight: var(--ola-fw-semibold);
    line-height: var(--ola-lh-title);
    letter-spacing: 0;
    color: var(--ola-text-title);
}

h1 { font-size: var(--ola-fs-h1); }
h2 { font-size: var(--ola-fs-h2); }
h3 { font-size: var(--ola-fs-h3); }
h4, .page-header-title, .ola-header-title { font-size: var(--ola-fs-header); }
.modal-title, .card-title, .ola-title { font-size: var(--ola-fs-card-title); }

button, .btn,
input, .form-control, .form-select,
select, textarea,
.nav-link, .dropdown-item,
.page-link, .list-group-item,
.table, .alert, .toast {
    font-family: inherit;
    letter-spacing: 0;
}

button, .btn,
input, .form-control, .form-select,
select, textarea {
    font-size: var(--ola-fs-input);
    line-height: var(--ola-lh-body);
}

input::placeholder,
textarea::placeholder {
    font-size: var(--ola-fs-input);
    color: var(--ola-text-muted);
    opacity: 1;
}

.btn { font-size: var(--ola-fs-btn); font-weight: var(--ola-fw-medium); }

.nav-link, .dropdown-item, .sidebar-menu a, .admin-nav-link {
    font-size: var(--ola-fs-menu);
}

.table, .table td, .table th,
.list-group-item {
    font-size: var(--ola-fs-table);
}

label, .form-label, .col-form-label {
    font-size: var(--ola-fs-label);
    font-weight: var(--ola-fw-medium);
    letter-spacing: 0;
    color: var(--ola-text);
}

.badge {
    font-size: var(--ola-fs-badge);
    font-weight: var(--ola-fw-medium);
    letter-spacing: 0;
}

.text-muted, .form-text, small, .small,
.ola-meta, .msg-time, .time, .timestamp {
    font-size: var(--ola-fs-meta);
    color: var(--ola-text-muted);
}

:disabled, .disabled, [disabled] {
    color: var(--ola-text-disabled);
}

/* Không ép font-smoothing — để OS tự render */
