/* Pareeksha Portal — global readability layer.
 *
 * Bumps base type size for elderly admin/operator use on screen.
 * All rules are scoped to @media screen so print templates
 * (cert, hall ticket, QP, mark sheet, envelope) keep their fixed
 * layouts intact when @media print fires.
 *
 * Loaded after each page's inline <style> so source order lets us
 * override defaults without !important.
 */

@media screen {

    /* Root size — every rem-based size on the page scales from here.
     * Default browser root is 16px; 21px is a ~31% bump chosen for
     * elderly admin/operator readability across the room. */
    html {
        font-size: 21px;
    }

    body {
        line-height: 1.5;
    }

    /* Buttons — many admin pages shrink these to 0.85rem in dense
     * toolbars. Lift the floor so labels stay legible. */
    .btn,
    button {
        font-size: 0.95rem;
    }

    /* Form controls — single source of truth for input text. */
    input,
    select,
    textarea {
        font-size: 1rem;
    }

    label {
        font-size: 0.98rem;
    }

    /* Tables — reports.html and similar use 0.9rem cells.
     * 0.95rem is still compact but readable. */
    th,
    td {
        font-size: 0.95rem;
    }

    /* Top navigation — applies whether the nav uses <nav>, .nav,
     * .top-nav, or .navbar class names. */
    nav a,
    .nav a,
    .top-nav a,
    .navbar a,
    .nav-link {
        font-size: 1rem;
    }
}

/* Mobile / handheld — daily transactions happen here.
 * 22px root keeps text comfortably tappable without zooming;
 * dense report tables may need horizontal scroll on narrow screens. */
@media screen and (max-width: 768px) {

    html {
        font-size: 22px;
    }

    /* Make sure tappable controls hit a readable minimum
     * even when the page sets them to 0.85rem inline. */
    .btn,
    button,
    input,
    select,
    textarea {
        font-size: 1rem;
    }

    th,
    td {
        font-size: 0.95rem;
    }
}
