/**
 * ExamsAide Gen Z — Global Moodle Theme Override
 * Injected via local_examsaide_before_standard_html_head()
 * Applies to all standard Moodle pages (dashboard, courses, quizzes, etc.)
 *
 * Design tokens
 * --ea-bg      #0D1535  page background
 * --ea-navy    #1B2B6B  cards / sidebar
 * --ea-deep    #111d4a  content-area elevation (slightly lighter than bg)
 * --ea-coral   #E8472A  primary action
 * --ea-teal    #3DBCAD  secondary / success
 * --ea-yellow  #F7C31A  highlight / warning
 * --ea-border  rgba(255,255,255,.10)  card borders
 * --ea-text    #FFFFFF
 * --ea-muted   rgba(255,255,255,.55)
 */

/* ── CSS variables ───────────────────────────────────────── */
:root {
    --ea-bg:      #0D1535;
    --ea-navy:    #1B2B6B;
    --ea-deep:    #111d4a;
    --ea-coral:   #E8472A;
    --ea-coral-h: #FF6B4A;
    --ea-teal:    #3DBCAD;
    --ea-yellow:  #F7C31A;
    --ea-border:  rgba(255,255,255,.10);
    --ea-text:    #fff;
    --ea-muted:   rgba(255,255,255,.55);
    --ea-radius:  12px;
    --ea-rainbow: linear-gradient(90deg, #3DBCAD, #F7C31A, #E8472A);
}

/* ── Base ────────────────────────────────────────────────── */
body,
#page-wrapper,
#page,
#page-content,
#region-main-box {
    background-color: var(--ea-bg) !important;
    color: var(--ea-text) !important;
}

/* ── Top navigation bar ──────────────────────────────────── */
.navbar,
nav.navbar {
    background: rgba(13,21,53,.96) !important;
    border-bottom: 3px solid transparent !important;
    border-image: var(--ea-rainbow) 1 !important;
    box-shadow: 0 2px 20px rgba(0,0,0,.4) !important;
}
.navbar .navbar-brand,
.navbar .navbar-brand:hover { color: #fff !important; }
.navbar .nav-link,
.navbar .nav-link:hover { color: rgba(255,255,255,.85) !important; }
.navbar .nav-link:hover { color: #fff !important; }

/* User menu icon */
.navbar .usermenu .userbutton,
.navbar .usermenu .userbutton:hover {
    color: #fff !important;
    background: rgba(255,255,255,.08) !important;
    border-radius: 999px !important;
}

/* Search bar in nav */
.navbar .simplesearchform .form-control {
    background: rgba(255,255,255,.09) !important;
    border: 1.5px solid rgba(255,255,255,.18) !important;
    color: #fff !important;
    border-radius: 999px !important;
}
.navbar .simplesearchform .form-control::placeholder { color: rgba(255,255,255,.4) !important; }
.navbar .simplesearchform .btn { color: rgba(255,255,255,.7) !important; }

/* ── Navigation drawer (left sidebar) ───────────────────── */
#nav-drawer,
[data-region="drawer"] {
    background: var(--ea-navy) !important;
    border-right: 1.5px solid var(--ea-border) !important;
}
#nav-drawer .list-group-item,
[data-region="drawer"] .list-group-item {
    background: transparent !important;
    color: rgba(255,255,255,.8) !important;
    border-color: rgba(255,255,255,.07) !important;
    transition: background .13s !important;
}
#nav-drawer .list-group-item:hover,
[data-region="drawer"] .list-group-item:hover {
    background: rgba(255,255,255,.08) !important;
    color: #fff !important;
}
#nav-drawer .list-group-item.active,
[data-region="drawer"] .list-group-item.active {
    background: rgba(232,71,42,.18) !important;
    color: var(--ea-coral-h) !important;
    border-left: 3px solid var(--ea-coral) !important;
}
#nav-drawer .media-body,
#nav-drawer p { color: rgba(255,255,255,.75) !important; }

/* ── Page header / breadcrumb area ──────────────────────── */
#page-header,
.page-header-headings,
[data-region="page-header-wrapper"] {
    background: var(--ea-deep) !important;
    border-bottom: 1px solid var(--ea-border) !important;
}
#page-header h1,
.page-header-headings h1 { color: #fff !important; font-weight: 900 !important; }

.breadcrumb { background: transparent !important; }
.breadcrumb-item a { color: var(--ea-teal) !important; }
.breadcrumb-item.active { color: var(--ea-muted) !important; }
.breadcrumb-item + .breadcrumb-item::before { color: var(--ea-muted) !important; }

/* ── Cards ───────────────────────────────────────────────── */
.card {
    background: var(--ea-navy) !important;
    border: 1.5px solid var(--ea-border) !important;
    border-radius: var(--ea-radius) !important;
    color: var(--ea-text) !important;
    box-shadow: 0 4px 20px rgba(0,0,0,.3) !important;
}
.card-header {
    background: rgba(255,255,255,.05) !important;
    border-bottom: 1px solid var(--ea-border) !important;
    color: #fff !important;
    font-weight: 700 !important;
}
.card-body { color: rgba(255,255,255,.85) !important; }
.card-footer {
    background: rgba(255,255,255,.04) !important;
    border-top: 1px solid var(--ea-border) !important;
}
/* Rainbow top stripe on cards */
.card::before {
    content: '';
    display: block;
    height: 3px;
    border-radius: var(--ea-radius) var(--ea-radius) 0 0;
    background: var(--ea-rainbow);
}

/* ── Dashboard course tiles ──────────────────────────────── */
.dashboard-card,
[data-region="course-card"],
.coursecard,
.card[data-courseid] {
    transition: transform .18s, box-shadow .18s !important;
}
.dashboard-card:hover,
[data-region="course-card"]:hover,
.coursecard:hover,
.card[data-courseid]:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 12px 32px rgba(0,0,0,.45) !important;
    border-color: rgba(61,188,173,.4) !important;
}
.coursecard .coursename a,
.card[data-courseid] .card-title a {
    color: #fff !important;
    font-weight: 800 !important;
}

/* ── Buttons ─────────────────────────────────────────────── */
.btn-primary {
    background: linear-gradient(135deg, var(--ea-coral), var(--ea-coral-h)) !important;
    border-color: transparent !important;
    color: #fff !important;
    font-weight: 700 !important;
    border-radius: 999px !important;
    box-shadow: 0 4px 14px rgba(232,71,42,.35) !important;
    transition: transform .12s, box-shadow .12s !important;
}
.btn-primary:hover, .btn-primary:focus {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 22px rgba(232,71,42,.5) !important;
    background: linear-gradient(135deg, #D43C20, var(--ea-coral)) !important;
}
.btn-secondary {
    background: rgba(255,255,255,.08) !important;
    border: 1.5px solid rgba(255,255,255,.2) !important;
    color: rgba(255,255,255,.85) !important;
    border-radius: 999px !important;
    font-weight: 700 !important;
}
.btn-secondary:hover {
    background: rgba(255,255,255,.15) !important;
    color: #fff !important;
}
.btn-success {
    background: linear-gradient(135deg, var(--ea-teal), #2BADA0) !important;
    border-color: transparent !important;
    color: #fff !important;
    border-radius: 999px !important;
    font-weight: 700 !important;
}
.btn-danger {
    background: linear-gradient(135deg, #c0392b, #e74c3c) !important;
    border-color: transparent !important;
    border-radius: 999px !important;
    font-weight: 700 !important;
}
.btn-warning {
    background: linear-gradient(135deg, var(--ea-yellow), #E5B50E) !important;
    border-color: transparent !important;
    color: #0D1535 !important;
    border-radius: 999px !important;
    font-weight: 700 !important;
}
.btn-link { color: var(--ea-teal) !important; }
.btn-link:hover { color: #fff !important; }

/* ── Form controls ───────────────────────────────────────── */
.form-control,
.custom-select,
select,
textarea,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="url"],
input[type="tel"] {
    background: rgba(255,255,255,.07) !important;
    border: 1.5px solid rgba(255,255,255,.18) !important;
    color: #fff !important;
    border-radius: 10px !important;
}
.form-control:focus,
input:focus,
textarea:focus,
select:focus {
    background: rgba(255,255,255,.1) !important;
    border-color: var(--ea-teal) !important;
    box-shadow: 0 0 0 3px rgba(61,188,173,.2) !important;
    color: #fff !important;
    outline: none !important;
}
.form-control::placeholder,
input::placeholder,
textarea::placeholder { color: rgba(255,255,255,.35) !important; }
label,
.col-form-label { color: rgba(255,255,255,.85) !important; font-weight: 600 !important; }
.form-text,
.text-muted { color: var(--ea-muted) !important; }
.form-group { margin-bottom: 1.2rem; }
.custom-control-label::before {
    background: rgba(255,255,255,.1) !important;
    border-color: rgba(255,255,255,.25) !important;
}
.custom-control-input:checked ~ .custom-control-label::before {
    background: var(--ea-coral) !important;
    border-color: var(--ea-coral) !important;
}

/* ── Tables ──────────────────────────────────────────────── */
table,
.table {
    color: var(--ea-text) !important;
    border-color: var(--ea-border) !important;
}
.table thead th {
    background: rgba(255,255,255,.07) !important;
    color: rgba(255,255,255,.75) !important;
    border-color: var(--ea-border) !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    font-size: .78rem !important;
    letter-spacing: .05em !important;
}
.table tbody tr:hover td {
    background: rgba(255,255,255,.04) !important;
}
.table td, .table th {
    border-color: rgba(255,255,255,.07) !important;
}
.table-striped tbody tr:nth-of-type(odd) td {
    background: rgba(255,255,255,.03) !important;
}

/* ── Alerts & notifications ──────────────────────────────── */
.alert { border-radius: var(--ea-radius) !important; border: 1px solid transparent !important; font-weight: 600 !important; }
.alert-success {
    background: rgba(61,188,173,.15) !important;
    border-color: rgba(61,188,173,.35) !important;
    color: #a0f0e8 !important;
}
.alert-warning {
    background: rgba(247,195,26,.12) !important;
    border-color: rgba(247,195,26,.35) !important;
    color: #fde68a !important;
}
.alert-danger {
    background: rgba(232,71,42,.15) !important;
    border-color: rgba(232,71,42,.35) !important;
    color: #fca5a5 !important;
}
.alert-info {
    background: rgba(61,188,173,.12) !important;
    border-color: rgba(61,188,173,.3) !important;
    color: #a0f0e8 !important;
}

/* ── Badges ──────────────────────────────────────────────── */
.badge-primary { background: var(--ea-coral) !important; }
.badge-success { background: var(--ea-teal) !important; }
.badge-warning { background: var(--ea-yellow) !important; color: #0D1535 !important; }
.badge-secondary { background: rgba(255,255,255,.15) !important; color: #fff !important; }

/* ── Progress bars ───────────────────────────────────────── */
.progress {
    background: rgba(255,255,255,.1) !important;
    border-radius: 999px !important;
    height: 8px !important;
}
.progress-bar {
    background: linear-gradient(90deg, var(--ea-teal), var(--ea-yellow)) !important;
    border-radius: 999px !important;
}

/* ── Activity / section items on course page ─────────────── */
#region-main,
.course-content,
[role="main"] {
    background: var(--ea-deep) !important;
    border-radius: var(--ea-radius) !important;
    padding: 1.5rem !important;
}
.section-summary,
.activityinstance,
li.activity {
    border-bottom: 1px solid var(--ea-border) !important;
    padding: .6rem 0 !important;
}
li.activity:last-child { border-bottom: none !important; }
.activityname a,
.instancename a {
    color: #fff !important;
    font-weight: 700 !important;
}
.activityname a:hover,
.instancename a:hover { color: var(--ea-teal) !important; }

/* Section headings */
.sectionname,
h3.sectionname { color: var(--ea-yellow) !important; font-weight: 900 !important; }
.section-summary h3 a { color: var(--ea-yellow) !important; }

/* ── Quiz / question pages ───────────────────────────────── */

/* Outer attempt wrapper */
#page-mod-quiz-attempt,
#page-mod-quiz-summary,
#page-mod-quiz-review {
    background: var(--ea-bg) !important;
}

/* ── Quiz review page — attempt summary table at top ──────── */
body#page-mod-quiz-review table,
body#page-mod-quiz-review .table,
body#page-mod-quiz-review .generaltable,
body#page-mod-quiz-review .attemptinfo,
body#page-mod-quiz-review .quizreviewsummary {
    --bs-table-bg:           #0d1535 !important;
    --bs-table-color:        rgba(255,255,255,.88) !important;
    --bs-table-border-color: rgba(255,255,255,.08) !important;
    --bs-table-striped-bg:   rgba(255,255,255,.03) !important;
    --bs-table-striped-color:rgba(255,255,255,.88) !important;
    --bs-table-hover-bg:     rgba(255,255,255,.07) !important;
    background-color: #0d1535 !important;
    color: rgba(255,255,255,.88) !important;
    border-color: rgba(255,255,255,.08) !important;
    border-radius: var(--ea-radius) !important;
}
body#page-mod-quiz-review table td,
body#page-mod-quiz-review table th,
body#page-mod-quiz-review .table td,
body#page-mod-quiz-review .table th,
body#page-mod-quiz-review .generaltable td,
body#page-mod-quiz-review .generaltable th,
body#page-mod-quiz-review .quizreviewsummary td,
body#page-mod-quiz-review .quizreviewsummary th {
    background-color: transparent !important;
    color: rgba(255,255,255,.88) !important;
    border-color: rgba(255,255,255,.08) !important;
}

/* Each question block */
.que {
    background: var(--ea-navy) !important;
    border: 1.5px solid var(--ea-border) !important;
    border-radius: var(--ea-radius) !important;
    padding: 0 !important;
    margin-bottom: 1.2rem !important;
    overflow: hidden !important;
    display: flex !important;
}

/* Left info panel — question number, flag, state indicator */
.que .info {
    background: #111c46 !important;
    border-right: 1.5px solid var(--ea-border) !important;
    padding: 1rem .8rem !important;
    min-width: 80px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: .5rem !important;
    flex-shrink: 0 !important;
    color: rgba(255,255,255,.8) !important;
}
.que .info .qno {
    background: var(--ea-coral) !important;
    color: #fff !important;
    font-weight: 900 !important;
    font-size: 1rem !important;
    border-radius: 50% !important;
    width: 36px !important;
    height: 36px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.que .info .state,
.que .info .grade { color: var(--ea-muted) !important; font-size: .75rem !important; text-align: center !important; }
.que .info .editquestion a,
.que .info .flaggedoff a,
.que .info .flaggedon a { color: var(--ea-teal) !important; font-size: .78rem !important; }
.que .info .flaggedon a { color: var(--ea-yellow) !important; }

/* Right content area */
.que .content {
    flex: 1 !important;
    padding: 1.25rem !important;
    background: var(--ea-navy) !important;
    color: rgba(255,255,255,.9) !important;
    min-width: 0 !important;
}

/* Question text (the actual question) */
.que .qtext,
.que .formulation .qtext {
    color: #fff !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    line-height: 1.6 !important;
    margin-bottom: 1rem !important;
    background: transparent !important;
}
/* Formulation block (wraps question + answer) */
.que .formulation {
    background: var(--ea-navy) !important;
    border: none !important;
    padding: 0 !important;
    color: rgba(255,255,255,.9) !important;
}
/* All text inside a question should be light */
.que .content *,
.que .formulation * {
    color: inherit;
}
.que .content p,
.que .formulation p,
.que .content span,
.que .formulation span {
    color: rgba(255,255,255,.88) !important;
}

/* Answer block */
.que .ablock,
.que .answer {
    background: transparent !important;
    margin-top: .75rem !important;
}
.que .answer label { color: rgba(255,255,255,.85) !important; font-weight: 500 !important; }

/* MCQ answer rows */
.que .answer .r0,
.que .answer .r1 {
    border: 1.5px solid var(--ea-border) !important;
    border-radius: 8px !important;
    padding: .6rem 1rem !important;
    margin-bottom: .5rem !important;
    transition: background .13s, border-color .13s !important;
    background: rgba(255,255,255,.04) !important;
    display: flex !important;
    align-items: center !important;
    gap: .5rem !important;
}
.que .answer .r0:hover,
.que .answer .r1:hover {
    background: rgba(255,255,255,.09) !important;
    border-color: rgba(61,188,173,.4) !important;
}

/* Essay / short-answer textarea inside quiz */
.que .answer textarea,
.que .ablock textarea,
.qtype_essay_response,
.qtype_essay_response .answer textarea,
.que textarea,
.qtype_essay_response textarea {
    background: #1a2560 !important;
    border: 1.5px solid rgba(255,255,255,.2) !important;
    border-radius: 10px !important;
    color: #e2e8f0 !important;
    width: 100% !important;
    min-height: 180px !important;
    padding: .85rem 1rem !important;
    font-size: .95rem !important;
    line-height: 1.6 !important;
    resize: vertical !important;
}
.que .answer textarea::placeholder,
.qtype_essay_response textarea::placeholder,
.que textarea::placeholder {
    color: rgba(255,255,255,.35) !important;
}
.que textarea:focus,
.qtype_essay_response textarea:focus {
    background: #1f2d70 !important;
    border-color: var(--ea-teal) !important;
    box-shadow: 0 0 0 3px rgba(61,188,173,.2) !important;
    outline: none !important;
}

/* Essay answer display on review page (Moodle renders a div, not textarea) */
.qtype_essay_response.readonly,
.qtype_essay_response .editor_class,
.qtype_essay_response > div,
.que.essay .ablock .answer > div,
.que.essay .qtype_essay_response {
    background: #1a2560 !important;
    border: 1.5px solid rgba(255,255,255,.15) !important;
    border-radius: 10px !important;
    color: #e2e8f0 !important;
    min-height: 80px !important;
    padding: .85rem 1rem !important;
    font-size: .95rem !important;
    line-height: 1.6 !important;
}
/* Ensure all text inside review-page essay answers is readable */
.qtype_essay_response p,
.qtype_essay_response span,
.qtype_essay_response li,
.qtype_essay_response * {
    color: #e2e8f0 !important;
}

/* General feedback / model answer box on review pages */
body#page-mod-quiz-review .que .generalfeedback,
body#page-mod-quiz-review .que .outcome,
body#page-mod-quiz-review .que .rightanswer,
body#page-mod-quiz-review .que .feedback {
    background: rgba(247,195,26,.08) !important;
    border: 1px solid rgba(247,195,26,.2) !important;
    border-radius: 8px !important;
    color: rgba(255,255,255,.85) !important;
    padding: .7rem 1rem !important;
    margin-top: .75rem !important;
    font-size: .9rem !important;
}
body#page-mod-quiz-review .que .generalfeedback *,
body#page-mod-quiz-review .que .outcome *,
body#page-mod-quiz-review .que .rightanswer *,
body#page-mod-quiz-review .que .feedback * {
    color: rgba(255,255,255,.85) !important;
}

/* Correct / incorrect state highlight */
.que.correct { border-color: var(--ea-teal) !important; }
.que.correct .info { background: rgba(61,188,173,.12) !important; border-right-color: rgba(61,188,173,.3) !important; }
.que.incorrect { border-color: var(--ea-coral) !important; }
.que.incorrect .info { background: rgba(232,71,42,.12) !important; border-right-color: rgba(232,71,42,.3) !important; }
.que.partiallycorrect { border-color: var(--ea-yellow) !important; }
.que .specificfeedback { margin-top: .75rem !important; font-weight: 600 !important; border-radius: 8px !important; padding: .5rem .8rem !important; }
.que .specificfeedback.correct { color: #a0f0e8 !important; background: rgba(61,188,173,.1) !important; }
.que .specificfeedback.incorrect { color: #fca5a5 !important; background: rgba(232,71,42,.1) !important; }
.que .generalfeedback { color: rgba(255,255,255,.7) !important; font-style: italic !important; margin-top: .5rem !important; }

/* Quiz navigation block (question number grid) */
.qnbutton,
#quiznavbutton {
    border-radius: 8px !important;
    font-weight: 700 !important;
    border: 1.5px solid var(--ea-border) !important;
    background: rgba(255,255,255,.06) !important;
    color: #fff !important;
    transition: background .13s !important;
}
.qnbutton:hover { background: rgba(255,255,255,.12) !important; }
.qnbutton.answersaved { background: rgba(61,188,173,.2) !important; border-color: var(--ea-teal) !important; color: var(--ea-teal) !important; }
.qnbutton.flagged { border-color: var(--ea-yellow) !important; color: var(--ea-yellow) !important; }
.qnbutton.complete { background: rgba(61,188,173,.15) !important; }
.qnbutton.notanswered { background: rgba(232,71,42,.1) !important; }
.qnbutton.thispage { border-color: var(--ea-coral) !important; background: rgba(232,71,42,.2) !important; color: #fff !important; }

/* ── Quiz Summary of Attempt table ──────────────────────────
   Bootstrap 5 sets table colours via CSS variables on the
   <table> element, then reads them on each <td>/<th>.
   We must override the variables AND the computed properties.
   ─────────────────────────────────────────────────────────── */

/* Override Bootstrap 5 CSS variables on every table on the summary page */
body#page-mod-quiz-summary table,
body#page-mod-quiz-summary .table,
body#page-mod-quiz-summary .generaltable,
body#page-mod-quiz-summary .quizsummaryofattempt {
    --bs-table-bg:           #0d1535 !important;
    --bs-table-color:        rgba(255,255,255,.88) !important;
    --bs-table-border-color: rgba(255,255,255,.08) !important;
    --bs-table-striped-bg:   rgba(255,255,255,.03) !important;
    --bs-table-striped-color:rgba(255,255,255,.88) !important;
    --bs-table-active-bg:    rgba(255,255,255,.08) !important;
    --bs-table-hover-bg:     rgba(255,255,255,.07) !important;
    --bs-table-hover-color:  rgba(255,255,255,.88) !important;
    background-color: #0d1535 !important;
    color: rgba(255,255,255,.88) !important;
    border-color: rgba(255,255,255,.08) !important;
    border-radius: var(--ea-radius) !important;
    overflow: hidden !important;
}

/* Cell-level overrides (Bootstrap 5 applies bg on <td> not <table>) */
body#page-mod-quiz-summary table td,
body#page-mod-quiz-summary table th,
body#page-mod-quiz-summary .table td,
body#page-mod-quiz-summary .table th,
body#page-mod-quiz-summary .generaltable td,
body#page-mod-quiz-summary .generaltable th,
body#page-mod-quiz-summary .quizsummaryofattempt td,
body#page-mod-quiz-summary .quizsummaryofattempt th {
    background-color: transparent !important;
    color: rgba(255,255,255,.88) !important;
    border-color: rgba(255,255,255,.08) !important;
    padding: .65rem 1rem !important;
}

/* Header row */
body#page-mod-quiz-summary table thead th,
body#page-mod-quiz-summary .table thead th,
body#page-mod-quiz-summary .quizsummaryofattempt thead th {
    background-color: #111c46 !important;
    color: rgba(255,255,255,.55) !important;
    font-size: .75rem !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
    font-weight: 700 !important;
    border-bottom: 1.5px solid rgba(255,255,255,.12) !important;
}

/* Question number cell (first column) */
body#page-mod-quiz-summary .quizsummaryofattempt td:first-child a,
body#page-mod-quiz-summary .quizsummaryofattempt td.cell.c0,
body#page-mod-quiz-summary .quizsummaryofattempt td.cell.c0 a,
body#page-mod-quiz-summary table td:first-child a {
    color: var(--ea-teal) !important;
    font-weight: 700 !important;
}

/* Status text colours — target span and td with class */
body#page-mod-quiz-summary td.answersaved,
body#page-mod-quiz-summary td .answersaved,
body#page-mod-quiz-summary span.answersaved,
body#page-mod-quiz-summary td.complete,
body#page-mod-quiz-summary td .complete,
body#page-mod-quiz-summary span.complete {
    color: #5dd8cf !important;
    font-weight: 600 !important;
}
body#page-mod-quiz-summary td.notyetanswered,
body#page-mod-quiz-summary td .notyetanswered,
body#page-mod-quiz-summary span.notyetanswered,
body#page-mod-quiz-summary td.notanswered,
body#page-mod-quiz-summary td .notanswered,
body#page-mod-quiz-summary span.notanswered {
    color: rgba(255,255,255,.35) !important;
    font-style: italic !important;
    font-weight: 400 !important;
}
body#page-mod-quiz-summary td.flagged,
body#page-mod-quiz-summary td .flagged,
body#page-mod-quiz-summary span.flagged,
body#page-mod-quiz-summary td.flaggedreview,
body#page-mod-quiz-summary td .flaggedreview,
body#page-mod-quiz-summary span.flaggedreview {
    color: var(--ea-yellow) !important;
    font-weight: 600 !important;
}
/* Also style the status text by content if no specific class */
body#page-mod-quiz-summary td.statecol {
    font-size: .9rem !important;
}

/* Row borders for visual separation */
body#page-mod-quiz-summary table tbody tr,
body#page-mod-quiz-summary .quizsummaryofattempt tbody tr {
    border-bottom: 1px solid rgba(255,255,255,.06) !important;
}
body#page-mod-quiz-summary table tbody tr td,
body#page-mod-quiz-summary .quizsummaryofattempt tbody tr td {
    border-top: none !important;
    border-bottom: none !important;
}
/* Alternate row stripe */
body#page-mod-quiz-summary table tbody tr:nth-child(odd) td,
body#page-mod-quiz-summary .quizsummaryofattempt tbody tr:nth-child(odd) td {
    background-color: rgba(255,255,255,.03) !important;
}
body#page-mod-quiz-summary table tbody tr:hover td,
body#page-mod-quiz-summary .quizsummaryofattempt tbody tr:hover td {
    background-color: rgba(61,188,173,.07) !important;
}

/* ── Quiz view page — "Your attempts" table ──────────────── */
body#page-mod-quiz-view table,
body#page-mod-quiz-view .table,
body#page-mod-quiz-view .generaltable,
body#page-mod-quiz-view .quizattemptsummary {
    --bs-table-bg:           #0d1535 !important;
    --bs-table-color:        rgba(255,255,255,.88) !important;
    --bs-table-border-color: rgba(255,255,255,.08) !important;
    --bs-table-striped-bg:   rgba(255,255,255,.03) !important;
    --bs-table-striped-color:rgba(255,255,255,.88) !important;
    --bs-table-active-bg:    rgba(255,255,255,.08) !important;
    --bs-table-hover-bg:     rgba(255,255,255,.07) !important;
    --bs-table-hover-color:  rgba(255,255,255,.88) !important;
    background-color: #0d1535 !important;
    color: rgba(255,255,255,.88) !important;
    border-color: rgba(255,255,255,.08) !important;
    border-radius: var(--ea-radius) !important;
    overflow: hidden !important;
}

/* Cell-level overrides */
body#page-mod-quiz-view table td,
body#page-mod-quiz-view table th,
body#page-mod-quiz-view .table td,
body#page-mod-quiz-view .table th,
body#page-mod-quiz-view .generaltable td,
body#page-mod-quiz-view .generaltable th,
body#page-mod-quiz-view .quizattemptsummary td,
body#page-mod-quiz-view .quizattemptsummary th {
    background-color: transparent !important;
    color: rgba(255,255,255,.88) !important;
    border-color: rgba(255,255,255,.08) !important;
    padding: .65rem 1rem !important;
}

/* Header row */
body#page-mod-quiz-view table thead th,
body#page-mod-quiz-view .table thead th,
body#page-mod-quiz-view .generaltable thead th,
body#page-mod-quiz-view .quizattemptsummary thead th {
    background-color: #111c46 !important;
    color: rgba(255,255,255,.55) !important;
    font-size: .75rem !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
    font-weight: 700 !important;
    border-bottom: 1.5px solid rgba(255,255,255,.12) !important;
}

/* Attempt number / link cell */
body#page-mod-quiz-view table td a,
body#page-mod-quiz-view .quizattemptsummary td a {
    color: var(--ea-teal) !important;
    font-weight: 700 !important;
}

/* Status text */
body#page-mod-quiz-view td.inprogress,
body#page-mod-quiz-view td .inprogress,
body#page-mod-quiz-view span.inprogress {
    color: var(--ea-yellow) !important;
    font-weight: 600 !important;
}
body#page-mod-quiz-view td.finished,
body#page-mod-quiz-view td .finished,
body#page-mod-quiz-view span.finished {
    color: #5dd8cf !important;
    font-weight: 600 !important;
}

/* Row stripes and hover */
body#page-mod-quiz-view table tbody tr {
    border-bottom: 1px solid rgba(255,255,255,.06) !important;
}
body#page-mod-quiz-view table tbody tr td {
    border-top: none !important;
    border-bottom: none !important;
}
body#page-mod-quiz-view table tbody tr:nth-child(odd) td {
    background-color: rgba(255,255,255,.03) !important;
}
body#page-mod-quiz-view table tbody tr:hover td {
    background-color: rgba(61,188,173,.07) !important;
}

/* Quiz attempt controls row */
.submitbtns,
#quiz-timer,
.othernav,
[data-region="quiz-timer"] {
    background: rgba(255,255,255,.04) !important;
    border-top: 1px solid var(--ea-border) !important;
    padding: 1rem !important;
    border-radius: 0 0 var(--ea-radius) var(--ea-radius) !important;
}
#quiz-timer { color: var(--ea-yellow) !important; font-weight: 800 !important; font-size: 1.1rem !important; }

/* Quiz intro / info box */
.quizinfo,
.quiz-intro,
.quizattemptcounts {
    background: var(--ea-navy) !important;
    border: 1.5px solid var(--ea-border) !important;
    border-radius: var(--ea-radius) !important;
    padding: 1.25rem !important;
    color: rgba(255,255,255,.85) !important;
}

/* ── Moodle Lesson activity ───────────────────────────────── */
.lessonpage,
#page-mod-lesson-view,
#page-mod-lesson-attempt {
    background: var(--ea-bg) !important;
}
.lessonpage .contents,
.lesson-content,
.generalbox {
    background: var(--ea-navy) !important;
    border: 1.5px solid var(--ea-border) !important;
    border-radius: var(--ea-radius) !important;
    padding: 1.5rem !important;
    color: rgba(255,255,255,.9) !important;
}
/* Lesson answer buttons */
.lessonanswer .lesson_btn_answer input[type="submit"],
.lessonanswer .lesson_btn_answer button {
    background: linear-gradient(135deg, var(--ea-coral), var(--ea-coral-h)) !important;
    border: none !important;
    color: #fff !important;
    font-weight: 700 !important;
    border-radius: 999px !important;
    padding: .55rem 1.4rem !important;
}
/* Lesson essay textarea */
.lesson-essay-answer textarea,
#page-mod-lesson-attempt textarea {
    background: rgba(255,255,255,.06) !important;
    border: 1.5px solid rgba(255,255,255,.2) !important;
    border-radius: 10px !important;
    color: #fff !important;
    width: 100% !important;
    min-height: 160px !important;
    padding: .85rem 1rem !important;
}

/* ── Grades table ────────────────────────────────────────── */
.gradeparent,
#user-grade {
    background: var(--ea-deep) !important;
    border-radius: var(--ea-radius) !important;
}
.gradeparent .leveleven,
.gradeparent .levelodd {
    background: transparent !important;
}
.gradeparent .lastcol { color: var(--ea-yellow) !important; font-weight: 800 !important; }

/* ── Modal dialogs ───────────────────────────────────────── */
.modal-content {
    background: var(--ea-navy) !important;
    border: 1.5px solid var(--ea-border) !important;
    border-radius: 20px !important;
    color: var(--ea-text) !important;
}
.modal-header {
    border-bottom: 1px solid var(--ea-border) !important;
    background: rgba(255,255,255,.05) !important;
}
.modal-footer { border-top: 1px solid var(--ea-border) !important; }
.modal-title { color: #fff !important; font-weight: 900 !important; }
.close { color: rgba(255,255,255,.6) !important; }
.close:hover { color: #fff !important; }

/* ── Dropdown menus ──────────────────────────────────────── */
.dropdown-menu {
    background: #1a2860 !important;
    border: 1.5px solid rgba(255,255,255,.15) !important;
    border-radius: 12px !important;
    box-shadow: 0 12px 32px rgba(0,0,0,.5) !important;
}
.dropdown-item {
    color: rgba(255,255,255,.8) !important;
    border-radius: 8px !important;
    margin: .15rem .3rem !important;
    font-weight: 600 !important;
}
.dropdown-item:hover, .dropdown-item:focus {
    background: rgba(255,255,255,.1) !important;
    color: #fff !important;
}
.dropdown-divider { border-color: var(--ea-border) !important; }

/* ── Tabs ────────────────────────────────────────────────── */
/* Kill every white background that can sit behind a tab bar */
.nav-tabs,
.settingstabs,
[data-region="tabs-tree-block"],
.tabtree,
.tabtree ul,
ul.nav.nav-tabs,
.admin-setting-plugin .nav-tabs,
div[role="tablist"],
.card > .nav-tabs,
.card-header > .nav-tabs,
.tab-content,
.tabs-content {
    background: var(--ea-deep) !important;
    border-bottom: 2px solid var(--ea-border) !important;
}
.nav-tabs .nav-link,
.tabtree a,
.settingstabs a {
    color: var(--ea-muted) !important;
    border: none !important;
    font-weight: 700 !important;
    border-radius: 0 !important;
    background: transparent !important;
    transition: color .15s, border-bottom-color .15s !important;
    padding: .65rem 1rem !important;
}
.nav-tabs .nav-link:hover,
.tabtree a:hover,
.settingstabs a:hover { color: #fff !important; }
.nav-tabs .nav-link.active,
.nav-tabs .nav-item.active .nav-link,
.tabtree li.here > a,
.settingstabs li.here > a {
    background: transparent !important;
    border-bottom: 3px solid var(--ea-coral) !important;
    color: #fff !important;
}
/* Wrappers directly containing the tab list */
.card > ul.nav-tabs,
.card-body > ul.nav-tabs,
#settingsnav,
.path-admin #region-main,
.admin-content {
    background: var(--ea-deep) !important;
}
/* White bg on the tab container row itself */
.nav.nav-tabs + *,
.tab-content,
.tab-pane {
    background: var(--ea-deep) !important;
    color: var(--ea-text) !important;
}
/* Force any remaining white divs inside main region */
#region-main > .card,
#region-main > div,
.admin-setting-plugin {
    background: var(--ea-deep) !important;
}
/* The white strip seen in the admin page */
#region-main .nav-tabs-wrapper,
.nav-tabs-wrapper,
[data-region="nav-tabs"] {
    background: var(--ea-deep) !important;
    border-bottom: 1px solid var(--ea-border) !important;
}

/* ── Pagination ──────────────────────────────────────────── */
.page-link {
    background: var(--ea-navy) !important;
    border-color: var(--ea-border) !important;
    color: rgba(255,255,255,.8) !important;
    font-weight: 700 !important;
}
.page-link:hover { background: rgba(255,255,255,.1) !important; color: #fff !important; }
.page-item.active .page-link {
    background: var(--ea-coral) !important;
    border-color: var(--ea-coral) !important;
    color: #fff !important;
}

/* ── Footer ──────────────────────────────────────────────── */
#page-footer {
    background: #070E28 !important;
    border-top: 3px solid rgba(255,255,255,.06) !important;
    color: var(--ea-muted) !important;
}
#page-footer a { color: var(--ea-teal) !important; }

/* ── Links (global) ──────────────────────────────────────── */
a { color: var(--ea-teal) !important; }
a:hover { color: #fff !important; }

/* ── Scrollbar ───────────────────────────────────────────── */
::-webkit-scrollbar { width: 7px; height: 7px; }
::-webkit-scrollbar-track { background: var(--ea-bg); }
::-webkit-scrollbar-thumb { background: rgba(255,255,255,.18); border-radius: 999px; }
::-webkit-scrollbar-thumb:hover { background: rgba(255,255,255,.3); }

/* ── Typography ──────────────────────────────────────────── */
h1, h2, h3, h4, h5, h6 { color: #fff !important; }
p, li, td, th, span:not(.badge) { color: inherit; }
hr { border-color: var(--ea-border) !important; }

/* ── SCORM module wrapper pages ──────────────────────────── */
/* These style the Moodle chrome around the SCORM iframe.    */
/* The iframe content itself cannot be styled from here.     */
#page-mod-scorm-view,
#page-mod-scorm-player {
    background: var(--ea-bg) !important;
}

/* SCORM intro / launch page */
.scorm-entry,
.scorm_center,
[data-region="scorm-player"] {
    background: var(--ea-navy) !important;
    border: 1.5px solid var(--ea-border) !important;
    border-radius: var(--ea-radius) !important;
    padding: 1.5rem !important;
    color: rgba(255,255,255,.9) !important;
}

/* SCORM attempt/TOC navigation panel */
.scorm-toc,
#scorm_toc_tree,
.scorm_toc {
    background: var(--ea-navy) !important;
    border: 1.5px solid var(--ea-border) !important;
    border-radius: var(--ea-radius) !important;
    padding: 1rem !important;
}
.scorm-toc a,
#scorm_toc_tree a { color: rgba(255,255,255,.8) !important; font-weight: 600 !important; }
.scorm-toc a:hover,
#scorm_toc_tree a:hover { color: var(--ea-teal) !important; }
.scorm-toc .ygtvcontent { background: transparent !important; }
.scorm-toc .ygtvitem { border-bottom: 1px solid var(--ea-border) !important; }

/* SCORM status indicators */
.scorm-status,
.scorm_object { background: transparent !important; }

/* The SCORM iframe container — give it a dark border/bg so a  */
/* white SCORM frame doesn't look completely out of place.     */
#scorm_object,
.scorm-player-container iframe,
#scorm_content,
[data-region="scorm-content"] {
    border: 2px solid var(--ea-border) !important;
    border-radius: 8px !important;
    display: block !important;
}

/* SCORM bottom nav bar */
#scorm-nav,
.scorm-nav,
[data-region="scorm-nav"] {
    background: rgba(255,255,255,.04) !important;
    border-top: 1px solid var(--ea-border) !important;
    padding: .75rem 1rem !important;
    border-radius: 0 0 var(--ea-radius) var(--ea-radius) !important;
}

/* ── Skip our own custom pages (they self-style) ─────────── */
body.path-local-examsaide #page-wrapper {
    background: transparent !important;
}
