/*
==========================================================
SEIE READABILITY PATCH V1
Global Administrative Interface Accessibility
Orion International Virtual School
==========================================================
*/

/* -------------------------------------------------------
   BASE
------------------------------------------------------- */

html {
    font-size: 16px !important;
}

body {
    font-size: 16px !important;
    line-height: 1.55 !important;
}

/* Prevent common utility classes from becoming too small */
small,
.small,
.muted,
.text-muted {
    font-size: 15px !important;
    line-height: 1.45 !important;
}


/* -------------------------------------------------------
   HEADINGS
------------------------------------------------------- */

h1 {
    font-size: 32px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
}

h2 {
    font-size: 27px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
}

h3 {
    font-size: 21px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
}

h4 {
    font-size: 18px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
}


/* -------------------------------------------------------
   GENERAL TEXT
------------------------------------------------------- */

p,
li,
dd,
dt {
    font-size: 16px !important;
    line-height: 1.55 !important;
}


/* -------------------------------------------------------
   LABELS
------------------------------------------------------- */

label,
.form-label,
.control-label,
.ssi2-card span,
.enterprise-kpi span,
.card span {
    font-size: 16px !important;
    line-height: 1.35 !important;
    font-weight: 600 !important;
}


/* -------------------------------------------------------
   INPUTS / SELECTS / TEXTAREAS
------------------------------------------------------- */

input,
select,
textarea {
    font-size: 16px !important;
    line-height: 1.4 !important;
    min-height: 44px;
}

input::placeholder,
textarea::placeholder {
    font-size: 16px !important;
}


/* -------------------------------------------------------
   BUTTONS / LINKS USED AS BUTTONS
------------------------------------------------------- */

button,
.btn,
.button,
input[type="submit"],
input[type="button"],
a.btn {
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    min-height: 42px;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}


/* -------------------------------------------------------
   NAVIGATION
------------------------------------------------------- */

nav,
nav a,
.nav,
.nav a,
.nav-link,
.sidebar,
.sidebar a,
.menu,
.menu a {
    font-size: 16px !important;
}


/* -------------------------------------------------------
   CARDS
------------------------------------------------------- */

.card {
    font-size: 16px !important;
}

.card > strong,
.card strong {
    line-height: 1.2 !important;
}

.enterprise-kpi span {
    font-size: 16px !important;
}

.enterprise-kpi strong {
    font-size: 31px !important;
    font-weight: 700 !important;
}


/* -------------------------------------------------------
   MODULE LAUNCH CARDS
------------------------------------------------------- */

.module-launch strong {
    font-size: 21px !important;
    line-height: 1.25 !important;
}

.module-launch span {
    font-size: 16px !important;
    line-height: 1.45 !important;
}


/* -------------------------------------------------------
   SSI 2.0
------------------------------------------------------- */

.ssi2-card span {
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    margin-bottom: 7px !important;
}

.ssi2-card strong {
    font-size: 25px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
}

.ssi2-card strong[style*="font-size:16px"] {
    font-size: 19px !important;
}

.ssi2-card strong[style*="font-size:18px"] {
    font-size: 20px !important;
}


/* -------------------------------------------------------
   TABLES
------------------------------------------------------- */

table {
    font-size: 15px !important;
}

table th {
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    padding: 11px 10px !important;
}

table td {
    font-size: 15px !important;
    line-height: 1.45 !important;
    padding: 11px 10px !important;
}

.ssi2-table {
    font-size: 15px !important;
}

.ssi2-table th,
.ssi2-table td {
    font-size: 15px !important;
}


/* -------------------------------------------------------
   BADGES / STATUS LABELS
------------------------------------------------------- */

.badge,
.status,
.sr-badge {
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
}


/* -------------------------------------------------------
   TOOLBARS
------------------------------------------------------- */

.v9-toolbar,
.v9-toolbar a,
.v9-toolbar button,
.v9-actions,
.v9-actions a,
.v9-actions button {
    font-size: 16px !important;
}


/* -------------------------------------------------------
   ACCESSIBILITY: CLICK / TAP TARGETS
------------------------------------------------------- */

a,
button,
input,
select {
    scroll-margin-top: 12px;
}

button,
.btn,
.module-launch {
    min-height: 44px;
}


/* -------------------------------------------------------
   DESKTOP LARGE SCREEN
------------------------------------------------------- */

@media (min-width: 1200px) {

    body {
        font-size: 17px !important;
    }

    label,
    .form-label,
    .control-label {
        font-size: 16px !important;
    }

    table,
    table th,
    table td {
        font-size: 15px !important;
    }
}


/* -------------------------------------------------------
   TABLET / SMALL SCREEN
------------------------------------------------------- */

@media (max-width: 900px) {

    h1 {
        font-size: 28px !important;
    }

    h2 {
        font-size: 24px !important;
    }

    h3 {
        font-size: 20px !important;
    }

    body,
    p,
    label,
    input,
    select,
    textarea,
    button,
    .btn {
        font-size: 16px !important;
    }

    table,
    table th,
    table td {
        font-size: 14px !important;
    }
}
/* =========================================================
   SEIE SSI 2.0 - Bilingual Card Layout Patch
   Makes SSI cards wider for accessibility and readability
   ========================================================= */

/* SSI card grids: minimum comfortable width for bilingual text */
.ssi2-grid {
    display: grid !important;
    grid-template-columns: repeat(
        auto-fit,
        minmax(260px, 1fr)
    ) !important;
    gap: 16px !important;
}

/* Allow bilingual labels to wrap naturally */
.ssi2-card {
    min-width: 0 !important;
    height: auto !important;
    min-height: 120px;
    padding: 18px 20px !important;
    overflow: visible !important;
    white-space: normal !important;
    overflow-wrap: break-word;
}

/* Labels inside SSI cards */
.ssi2-card span {
    display: block;
    line-height: 1.3 !important;
    margin-bottom: 8px;
}

/* Scores / values */
.ssi2-card strong {
    display: block;
    line-height: 1.15 !important;
}

/* Large desktop monitors */
@media (min-width: 1400px) {
    .ssi2-grid {
        grid-template-columns: repeat(
            auto-fit,
            minmax(280px, 1fr)
        ) !important;
    }
}

/* Tablets */
@media (max-width: 900px) {
    .ssi2-grid {
        grid-template-columns: repeat(
            auto-fit,
            minmax(240px, 1fr)
        ) !important;
    }
}

/* Phones */
@media (max-width: 600px) {
    .ssi2-grid {
        grid-template-columns: 1fr !important;
    }

    .ssi2-card {
        min-height: auto;
    }
}
/* =========================================================
   SEIE GLOBAL READABILITY V2
   Tables + SSI recommendations
   ========================================================= */

/* ----- SSI TABLES ----- */

.ssi2-table {
    font-size: 16px !important;
    line-height: 1.45 !important;
}

.ssi2-table th {
    font-size: 16px !important;
    font-weight: 700 !important;
    padding: 13px 12px !important;
}

.ssi2-table td {
    font-size: 16px !important;
    line-height: 1.45 !important;
    padding: 13px 12px !important;
}

/* First column needs additional emphasis */
.ssi2-table td:first-child {
    font-weight: 600 !important;
}


/* ----- RECOMMENDED ACTIONS ----- */

.card .ssi2-card {
    font-size: 16px !important;
    line-height: 1.5 !important;
}

.card .ssi2-card p {
    font-size: 16px !important;
    line-height: 1.5 !important;
    margin: 6px 0 12px !important;
}

/* Recommendation headings */
.card .ssi2-card strong {
    font-size: 18px !important;
    line-height: 1.35 !important;
}


/* ----- SECTION HEADINGS ----- */

.card > h3 {
    font-size: 22px !important;
    line-height: 1.3 !important;
    margin-bottom: 18px !important;
}


/* ----- MOBILE ACCESSIBILITY ----- */

@media (max-width: 700px) {

    .ssi2-table {
        font-size: 15px !important;
    }

    .ssi2-table th,
    .ssi2-table td {
        font-size: 15px !important;
        padding: 10px 8px !important;
    }

    .card .ssi2-card p {
        font-size: 16px !important;
    }
}
/* =========================================================
   SEIE SSI 2.0 - FINAL TABLE & RECOMMENDATION READABILITY
   ========================================================= */

/* SSI section titles */
.card h3 {
    font-size: 22px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
}

/* Recommended Actions */
.card .ssi2-card {
    font-size: 17px !important;
}

.card .ssi2-card span {
    font-size: 16px !important;
    line-height: 1.4 !important;
}

.card .ssi2-card strong {
    font-size: 18px !important;
    line-height: 1.4 !important;
}

.card .ssi2-card p {
    font-size: 17px !important;
    line-height: 1.55 !important;
}

/* ALL SSI tables - headers */
.ssi2-table th {
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    padding: 14px 12px !important;
}

/* ALL SSI tables - data */
.ssi2-table td {
    font-size: 16px !important;
    line-height: 1.5 !important;
    padding: 14px 12px !important;
}

/* Question text needs comfortable reading */
.ssi2-table td:nth-child(3) {
    line-height: 1.55 !important;
}

/* Preserve strong identification of question codes */
.ssi2-table td:first-child {
    font-weight: 700 !important;
}

/* Improve row separation */
.ssi2-table tbody tr {
    min-height: 52px;
}

/* Never shrink SSI table text on large screens */
@media (min-width: 1000px) {
    .ssi2-table th,
    .ssi2-table td {
        font-size: 16px !important;
    }
}
/* =========================================================
   SEIE READABILITY PATCH V3
   Administrative Tables + Recommendations
   ========================================================= */

/* ---------- RECOMMENDED ACTIONS ---------- */

.card .ssi2-card p,
.card .ssi2-card p *,
.ssi2-card p,
.ssi2-card p * {
    font-size: 18px !important;
    line-height: 1.55 !important;
}

.card .ssi2-card > span,
.ssi2-card > span {
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
}

.card .ssi2-card > strong,
.ssi2-card > strong {
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
}


/* ---------- SSI TABLES ---------- */

.card .ssi2-table,
.card table.ssi2-table,
table.ssi2-table {
    width: 100% !important;
    font-size: 17px !important;
    line-height: 1.5 !important;
}

/* Table headings */
.card .ssi2-table th,
.card table.ssi2-table th,
table.ssi2-table th {
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    padding: 15px 12px !important;
    vertical-align: middle !important;
}

/* Table cells */
.card .ssi2-table td,
.card table.ssi2-table td,
table.ssi2-table td {
    font-size: 17px !important;
    line-height: 1.55 !important;
    padding: 15px 12px !important;
    vertical-align: top !important;
}

/* Make anything nested inside cells inherit readable size */
.ssi2-table td *,
.ssi2-table th * {
    font-size: inherit !important;
    line-height: inherit !important;
}


/* ---------- RESPONSES TABLE ---------- */

/* Code column */
.ssi2-table td:first-child {
    font-size: 17px !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
}

/* Component column */
.ssi2-table td:nth-child(2) {
    font-size: 17px !important;
    white-space: nowrap !important;
}

/* Question text */
.ssi2-table td:nth-child(3) {
    font-size: 17px !important;
    line-height: 1.6 !important;
    min-width: 420px;
}

/* Raw / Score / ID */
.ssi2-table td:nth-last-child(-n+3) {
    font-size: 17px !important;
}


/* ---------- TABLE CONTAINERS ---------- */

/* Allow wide tables to scroll instead of shrinking text */
.card > div[style*="overflow"] {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
}


/* ---------- SECTION TITLES ---------- */

.card h3,
.card > h3 {
    font-size: 23px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    margin-bottom: 20px !important;
}


/* ---------- TABLE ROW SEPARATION ---------- */

.ssi2-table tbody tr {
    border-bottom: 1px solid #e2e8f0 !important;
}


/* ---------- LAPTOPS ---------- */

@media (max-width: 1200px) {

    .ssi2-table th,
    .ssi2-table td {
        font-size: 16px !important;
    }

    .ssi2-table td:nth-child(3) {
        min-width: 360px;
    }
}


/* ---------- MOBILE / TABLET ---------- */

@media (max-width: 700px) {

    .ssi2-table {
        min-width: 900px !important;
    }

    .ssi2-table th,
    .ssi2-table td {
        font-size: 16px !important;
    }

    .card .ssi2-card p {
        font-size: 17px !important;
    }
}