/**
 * Franchise portal — ChatGPT-style readable typography (screen only).
 * Loaded by franchise-layout-start.php for every sidebar page.
 * No layout / backend / print / MeeSeva admission font changes.
 */
@media screen {
    body.fr-portal {
        --gpt-ink: #0f172a;
        --gpt-muted: #334155;
        --gpt-soft: #475569;
        --gpt-font: Inter, "Noto Sans Telugu", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        text-rendering: optimizeLegibility;
    }

    /* Main content canvas (not sidebar chrome) */
    body.fr-portal main,
    body.fr-portal .fr-layout-section,
    body.fr-portal .fin-page-wrap,
    body.fr-portal .fin-shell,
    body.fr-portal .fin-shell--access-mac,
    body.fr-portal .gov-form-shell,
    body.fr-portal .gov-form-content {
        font-family: var(--gpt-font);
        font-size: 1.0625rem;
        font-weight: 450;
        line-height: 1.65;
        color: var(--gpt-ink);
        letter-spacing: -0.011em;
    }

    /* Force readable stack on content text; keep icons + mono */
    body.fr-portal:not(.admission-access-ui) main *:not(i):not(.fas):not(.fa-solid):not(.far):not(.fa-regular):not(.fab):not(.fa-brands):not(.font-mono):not(code):not(pre):not(kbd):not(.fa),
    body.fr-portal:not(.admission-access-ui) .fin-shell *:not(i):not(.fas):not(.fa-solid):not(.far):not(.fa-regular):not(.fab):not(.fa-brands):not(.font-mono):not(code):not(pre):not(kbd):not(.fa) {
        font-family: var(--gpt-font) !important;
    }

    body.fr-portal main .font-mono,
    body.fr-portal main .font-mono *,
    body.fr-portal .fin-shell .font-mono,
    body.fr-portal .fin-shell .font-mono * {
        font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace !important;
        letter-spacing: 0;
    }

    body.fr-portal main .fas,
    body.fr-portal main .fa-solid,
    body.fr-portal main i.fas,
    body.fr-portal .fin-shell .fas,
    body.fr-portal .fin-shell .fa-solid,
    body.fr-portal .fin-shell i.fas {
        font-family: "Font Awesome 6 Free" !important;
        font-weight: 900 !important;
    }

    /* Headings / section titles */
    body.fr-portal main h1,
    body.fr-portal main h2,
    body.fr-portal main h3,
    body.fr-portal .fin-shell h1,
    body.fr-portal .fin-shell h2,
    body.fr-portal .fin-shell h3,
    body.fr-portal .fin-page-title,
    body.fr-portal main .font-bold.text-gray-900,
    body.fr-portal main .font-bold.text-slate-900,
    body.fr-portal .fin-shell .font-bold.text-gray-900,
    body.fr-portal .fin-shell .font-bold.text-slate-900,
    body.fr-portal .fin-shell p.font-bold {
        color: var(--gpt-ink) !important;
        font-weight: 650 !important;
        letter-spacing: -0.02em;
        line-height: 1.35 !important;
    }

    body.fr-portal main h1,
    body.fr-portal .fin-shell h1,
    body.fr-portal .fin-page-title {
        font-size: 1.5rem !important;
    }
    body.fr-portal main h2,
    body.fr-portal .fin-shell h2 {
        font-size: 1.25rem !important;
    }
    body.fr-portal main h3,
    body.fr-portal .fin-shell h3,
    body.fr-portal .fin-shell p.font-bold {
        font-size: 1.125rem !important;
    }

    /* Tailwind size bumps — clearer, ChatGPT-like */
    body.fr-portal main .text-\[10px\],
    body.fr-portal .fin-shell .text-\[10px\],
    body.fr-portal main .text-\[11px\],
    body.fr-portal .fin-shell .text-\[11px\] {
        font-size: 0.8125rem !important;
        line-height: 1.45 !important;
        letter-spacing: 0.02em;
    }
    body.fr-portal main .text-xs,
    body.fr-portal .fin-shell .text-xs {
        font-size: 0.9375rem !important;
        line-height: 1.55 !important;
    }
    body.fr-portal main .text-sm,
    body.fr-portal .fin-shell .text-sm,
    body.fr-portal main .text-\[13px\],
    body.fr-portal .fin-shell .text-\[13px\],
    body.fr-portal main .text-\[14px\],
    body.fr-portal .fin-shell .text-\[14px\] {
        font-size: 1.05rem !important;
        line-height: 1.6 !important;
    }
    body.fr-portal main .text-base,
    body.fr-portal .fin-shell .text-base {
        font-size: 1.0625rem !important;
        line-height: 1.65 !important;
    }
    body.fr-portal main .text-lg,
    body.fr-portal .fin-shell .text-lg {
        font-size: 1.2rem !important;
        line-height: 1.45 !important;
    }

    body.fr-portal main .text-gray-600,
    body.fr-portal main .text-slate-600,
    body.fr-portal main .text-gray-500,
    body.fr-portal main .text-slate-500,
    body.fr-portal .fin-shell .text-gray-600,
    body.fr-portal .fin-shell .text-slate-600,
    body.fr-portal .fin-shell .text-gray-500,
    body.fr-portal .fin-shell .text-slate-500 {
        color: var(--gpt-muted) !important;
        font-weight: 500 !important;
    }

    body.fr-portal main .text-gray-400,
    body.fr-portal main .text-slate-400,
    body.fr-portal .fin-shell .text-gray-400,
    body.fr-portal .fin-shell .text-slate-400 {
        color: var(--gpt-soft) !important;
    }

    body.fr-portal main label,
    body.fr-portal .fin-shell label,
    body.fr-portal main .font-semibold,
    body.fr-portal .fin-shell .font-semibold {
        font-weight: 600 !important;
        letter-spacing: -0.01em;
    }

    body.fr-portal main table,
    body.fr-portal .fin-shell table {
        font-size: 1rem !important;
        line-height: 1.55 !important;
        color: var(--gpt-ink);
    }
    body.fr-portal main table th,
    body.fr-portal .fin-shell table th {
        font-size: 0.8125rem !important;
        font-weight: 650 !important;
        letter-spacing: 0.04em;
        color: var(--gpt-muted) !important;
    }
    body.fr-portal main table td,
    body.fr-portal .fin-shell table td {
        font-size: 1rem !important;
        font-weight: 500;
        color: var(--gpt-ink);
    }

    body.fr-portal main .fr-input,
    body.fr-portal main select,
    body.fr-portal main input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
    body.fr-portal main textarea,
    body.fr-portal .fin-shell .fr-input,
    body.fr-portal .fin-shell select,
    body.fr-portal .fin-shell input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
    body.fr-portal .fin-shell textarea {
        font-size: 1.05rem !important;
        font-weight: 500 !important;
        line-height: 1.45 !important;
    }

    body.fr-portal main button,
    body.fr-portal .fin-shell button,
    body.fr-portal main .fin-tab,
    body.fr-portal .fin-shell .fin-tab {
        font-size: 1rem !important;
        letter-spacing: -0.01em;
    }

    body.fr-portal main .fin-tab,
    body.fr-portal .fin-shell .fin-tab {
        font-weight: 600 !important;
    }

    /* Hub / option cards inside modules */
    body.fr-portal main .erp-section-hub-card,
    body.fr-portal main .erp-section-hub-card__title,
    body.fr-portal .fin-shell .erp-section-hub-card__title {
        font-size: 1.05rem !important;
        font-weight: 650 !important;
        color: var(--gpt-ink) !important;
        letter-spacing: -0.015em;
        line-height: 1.4 !important;
    }
    body.fr-portal main .erp-section-hub-card__desc,
    body.fr-portal .fin-shell .erp-section-hub-card__desc {
        font-size: 0.9375rem !important;
        color: var(--gpt-muted) !important;
        line-height: 1.55 !important;
        font-weight: 500 !important;
    }

    /* Sidebar option labels — same clearer voice */
    body.fr-portal .erp-sidebar .fr-nav-item,
    body.fr-portal .erp-sidebar .fr-nav-item .fr-nav-label {
        font-family: Poppins, Inter, "Noto Sans Telugu", system-ui, sans-serif !important;
        font-size: 1rem !important;
        font-weight: 600 !important;
        letter-spacing: -0.015em;
        line-height: 1.4 !important;
    }
    body.fr-portal .erp-sidebar .fr-nav-child,
    body.fr-portal .erp-sidebar .fr-nav-sub a,
    body.fr-portal .erp-sidebar .fr-nav-flyout a {
        font-family: Inter, "Noto Sans Telugu", system-ui, sans-serif !important;
        font-size: 0.9375rem !important;
        font-weight: 500 !important;
        line-height: 1.45 !important;
        letter-spacing: -0.01em;
    }
}
