/* Dark Theme CSS Module
 * Theme styles activated by the data-bs-theme attribute.
 */

:root[data-bs-theme="dark"] body:not(.contrast-mode) {
    background-color: #333941;
    background-image:
        linear-gradient(135deg, color-mix(in srgb, var(--app-base-color) 14%, transparent) 0%, transparent 38%, color-mix(in srgb, var(--app-third-color) 13%, transparent) 100%),
        repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.026) 0 1px, transparent 1px 22px),
        repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.02) 0 1px, transparent 1px 30px);
    background-attachment: fixed;
    color: #e0e0e0;
}

body.theme-light-locked.background-only-theme-route[data-locked-theme="dark"]:not(.contrast-mode) {
    background-color: #333941 !important;
    background-image:
        linear-gradient(135deg, color-mix(in srgb, var(--app-base-color) 14%, transparent) 0%, transparent 38%, color-mix(in srgb, var(--app-third-color) 13%, transparent) 100%),
        repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.026) 0 1px, transparent 1px 22px),
        repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.02) 0 1px, transparent 1px 30px) !important;
    background-attachment: fixed !important;
}

body.theme-light-locked.background-only-theme-route[data-locked-theme="dark"]:not(.contrast-mode) .page-wrapper {
    background: transparent !important;
    background-color: transparent !important;
}

:root[data-bs-theme="dark"] {
    --dark-theme-surface: #1e1e1e;
    --dark-theme-surface-2: #252525;
    --dark-theme-surface-3: #2d2d2d;
    --dark-theme-border: #404040;
    --dark-theme-text: #e0e0e0;
    --dark-theme-text-strong: #f3f4f6;
    --dark-theme-text-muted: #a7afbd;
    --dark-theme-accent: color-mix(in srgb, var(--app-base-color) 74%, #ffffff);
    --dark-theme-accent-soft: color-mix(in srgb, var(--app-base-color) 10%, var(--dark-theme-surface));
    --dark-theme-accent-softer: color-mix(in srgb, var(--app-base-color) 5%, var(--dark-theme-surface));
    --dark-theme-accent-border: color-mix(in srgb, var(--app-base-color) 28%, var(--dark-theme-border));
    --dark-theme-secondary-accent: color-mix(in srgb, var(--app-secondary-color) 66%, #ffffff);
    --dark-theme-secondary-accent-soft: color-mix(in srgb, var(--app-secondary-color) 8%, var(--dark-theme-surface));
    --dark-theme-secondary-border: color-mix(in srgb, var(--app-secondary-color) 24%, var(--dark-theme-border));
    --dark-theme-decorative-accent: color-mix(in srgb, var(--app-secondary-color) 34%, #1e1e1e);
    --dark-theme-decorative-accent-soft: color-mix(in srgb, var(--app-secondary-color) 18%, #1e1e1e);
    --dark-theme-panel-bg: linear-gradient(145deg, var(--dark-theme-accent-soft) 0%, var(--dark-theme-surface) 58%, var(--dark-theme-secondary-accent-soft) 100%);
    --dark-theme-card-bg: linear-gradient(145deg, var(--dark-theme-accent-softer) 0%, var(--dark-theme-surface) 64%, var(--dark-theme-secondary-accent-soft) 100%);
    --dark-theme-panel-shadow: 0 14px 32px rgba(0, 0, 0, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.03);
    --loader-overlay-bg: color-mix(in srgb, var(--dark-theme-surface) 92%, transparent);
    --loader-spinner-track: color-mix(in srgb, var(--app-base-color) 18%, transparent);
    --loader-spinner-color: var(--app-base-color);
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .header-container,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .header,
:root[data-bs-theme="dark"] body:not(.contrast-mode) header,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .navbar,
:root[data-bs-theme="dark"] body:not(.contrast-mode) nav,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .sidebar,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal-content,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .dropdown-menu,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .list-group-item {
    background-color: #1e1e1e;
    color: #e0e0e0;
    border-color: #2d2d2d;
}

/* Bootstrap close icons use a dark SVG by default. */
:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal .btn-close {
    filter: invert(1) grayscale(100%) brightness(180%) !important;
    opacity: 0.85 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal .btn-close:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal .btn-close:focus-visible {
    opacity: 1 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .form-control,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .form-select,
:root[data-bs-theme="dark"] body:not(.contrast-mode) textarea,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .choices__inner,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .select2-selection--single {
    background-color: #2d2d2d;
    color: #ffffff;
    border-color: #404040;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .form-control::placeholder,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .choices__placeholder {
    color: #a0a0a0;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .badge.bg-light.text-dark:not(#canvasPage):not(#canvasPage *) {
    background-color: var(--dark-theme-surface-3) !important;
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
    border: 1px solid var(--dark-theme-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .badge.bg-primary:not(#canvasPage):not(#canvasPage *) {
    background-color: color-mix(in srgb, var(--app-base-color) 34%, var(--dark-theme-surface-3)) !important;
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
    border: 1px solid var(--dark-theme-accent-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .badge.bg-info.text-dark:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .badge.bg-regular-track:not(#canvasPage):not(#canvasPage *) {
    background-color: color-mix(in srgb, var(--app-secondary-color) 18%, var(--dark-theme-surface-3)) !important;
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
    border: 1px solid var(--dark-theme-secondary-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .pdf-card-badge:not(#canvasPage):not(#canvasPage *) {
    background-color: color-mix(in srgb, var(--app-base-color) 14%, var(--dark-theme-surface-3)) !important;
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
    border: 1px solid var(--dark-theme-accent-border) !important;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.08) inset !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .track-card__badge.bg-info.text-dark span:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .track-card__badge.bg-regular-track span:not(#canvasPage):not(#canvasPage *) {
    color: inherit !important;
    -webkit-text-fill-color: inherit !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .entity-inactive-badge:not(#canvasPage):not(#canvasPage *) {
    background: var(--dark-theme-surface-3) !important;
    background-color: var(--dark-theme-surface-3) !important;
    color: var(--dark-theme-text-muted) !important;
    -webkit-text-fill-color: var(--dark-theme-text-muted) !important;
    border: 1px solid var(--dark-theme-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .entity-inactive-badge__dot:not(#canvasPage):not(#canvasPage *) {
    background: #9ca3af !important;
    background-color: #9ca3af !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .blog-card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .blog-page .content-card:not(#canvasPage):not(#canvasPage *) {
    background: var(--dark-theme-surface) !important;
    background-color: var(--dark-theme-surface) !important;
    color: var(--dark-theme-text) !important;
    border-color: var(--dark-theme-border) !important;
    box-shadow: var(--dark-theme-panel-shadow) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .blog-item:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .blog-file-visible:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .blog-page .ql-toolbar.ql-snow:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .blog-page .ql-container.ql-snow:not(#canvasPage):not(#canvasPage *) {
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
    color: var(--dark-theme-text) !important;
    border-color: var(--dark-theme-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .blog-item-img-wrapper:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .blog-page .img-wrapper:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .blog-page .img-wrapper img:not(#canvasPage):not(#canvasPage *) {
    background: var(--dark-theme-surface-3) !important;
    background-color: var(--dark-theme-surface-3) !important;
    color: var(--dark-theme-text-muted) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .blog-list-title:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .blog-title:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .blog-page .title:not(#canvasPage):not(#canvasPage *) {
    color: var(--dark-theme-secondary-accent) !important;
    -webkit-text-fill-color: var(--dark-theme-secondary-accent) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .blog-item-title:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .blog-page .content-card h5:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .blog-page .content-card strong:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .blog-page .content-card b:not(#canvasPage):not(#canvasPage *) {
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .blog-item-subtitle:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .blog-item-excerpt:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .blog-item-img-empty:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .blog-empty:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .blog-subtitle:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .blog-file-name:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .toggle-label:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .blog-page .meta:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .blog-page .content-card p:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .blog-page .content-card li:not(#canvasPage):not(#canvasPage *) {
    color: var(--dark-theme-text-muted) !important;
    -webkit-text-fill-color: var(--dark-theme-text-muted) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .blog-input:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .blog-select:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .blog-page .ql-editor:not(#canvasPage):not(#canvasPage *) {
    background: var(--dark-theme-surface-3) !important;
    background-color: var(--dark-theme-surface-3) !important;
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
    border-color: var(--dark-theme-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .blog-input::placeholder {
    color: var(--dark-theme-text-muted) !important;
    -webkit-text-fill-color: var(--dark-theme-text-muted) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .blog-file-btn:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .blog-btn-cancel:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .blog-page .btn-light:not(#canvasPage):not(#canvasPage *) {
    background: var(--dark-theme-surface-3) !important;
    background-color: var(--dark-theme-surface-3) !important;
    color: var(--dark-theme-secondary-accent) !important;
    -webkit-text-fill-color: var(--dark-theme-secondary-accent) !important;
    border-color: var(--dark-theme-secondary-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .blog-item-date:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .blog-item-btn:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .blog-btn-primary:not(#canvasPage):not(#canvasPage *) {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .form-switch .form-check-input[role="switch"] {
    background-color: #111827 !important;
    border-color: #4b5563 !important;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.04) !important;
    -webkit-text-fill-color: initial !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .form-switch .form-check-input[role="switch"]:focus {
    background-color: #111827 !important;
    border-color: var(--app-base-color) !important;
    box-shadow: 0 0 0 0.18rem rgba(145, 204, 43, 0.22) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .form-switch .form-check-input[role="switch"]:checked {
    background-color: var(--app-base-color) !important;
    border-color: var(--app-base-color) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) h1:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) h2:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) h3:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) h4:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) h5:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) h6:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .page-title:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .card-title:not(#canvasPage):not(#canvasPage *) {
    color: #ffffff;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) p:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) span:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) li:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) label:not(#canvasPage):not(#canvasPage *) {
    color: #e0e0e0;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .text-muted,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .subtitle,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .sensorama-language__eyebrow:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .sensorama-theme__eyebrow:not(#canvasPage):not(#canvasPage *) {
    color: #a0a0a0;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) table,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .table {
    border-color: #2d2d2d;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) thead th {
    background-color: #252525;
    color: #ffffff;
    border-color: #333333;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) tbody td {
    background-color: #1e1e1e;
    color: #e0e0e0;
    border-color: #2d2d2d;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .table-striped tbody tr:nth-of-type(odd) {
    background-color: #252525;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) a:hover:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) button:hover:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .nav-link:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .dropdown-item:hover {
    background-color: #2d2d2d;
    color: #ffffff;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) footer,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .app-footer {
    background-color: #121212;
    color: #a0a0a0;
    border-top: 1px solid #2d2d2d;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal-content[style*="background-color: #FFFFFF"],
:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal-content[style*="background-color:#FFFFFF"],
:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal-content[style*="background-color: #fff"],
:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal-content[style*="background-color:#fff"],
:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal-content[style*="background: #FFFFFF"],
:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal-content[style*="background:#FFFFFF"],
:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal-content[style*="background: #fff"],
:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal-content[style*="background:#fff"],
:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal[id^="register"] .modal-content,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal[id^="register"] .modal-header,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal[id^="register"] .modal-body,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal[id^="register"] .modal-footer {
    background: #1e1e1e !important;
    background-color: #1e1e1e !important;
    color: #e0e0e0 !important;
    border-color: #404040 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal[id^="register"] #imageNewWrapper,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal[id^="register"] #formFieldsSection,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal[id^="register"] [id$="Wrapper"],
:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal[id^="register"] [id$="Section"],
:root[data-bs-theme="dark"] body:not(.contrast-mode) #userProfileConfigModal #imageNewWrapper,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #userProfileConfigModal #formFieldsSection,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #userProfileConfigModal #profileImgRes,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #userProfileConfigModal .avatar-shell,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #userProfileConfigModal .avatar-shell > label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal[id^="register"] [style*="background-color:#FFF"],
:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal[id^="register"] [style*="background-color: #FFF"],
:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal[id^="register"] [style*="background-color:#fff"],
:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal[id^="register"] [style*="background-color: #fff"],
:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal[id^="register"] [style*="background:#FFF"],
:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal[id^="register"] [style*="background: #FFF"],
:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal[id^="register"] [style*="background:#fff"],
:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal[id^="register"] [style*="background: #fff"] {
    background: #1e1e1e !important;
    background-color: #1e1e1e !important;
    color: #e0e0e0 !important;
    border-color: #404040 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal[id^="register"] [style*="color:#000"],
:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal[id^="register"] [style*="color: #000"],
:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal[id^="register"] .text-dark {
    color: #f3f4f6 !important;
    -webkit-text-fill-color: #f3f4f6 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal[id^="register"] hr {
    border-color: #404040 !important;
    opacity: 1 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-profile-card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .teacher-profile-card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .manager-profile-card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .regional-profile-card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .principal-profile-card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .admin-profile-card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .class-profile-card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .class-profile-card .card[style*="background-color:#FFF"],
:root[data-bs-theme="dark"] body:not(.contrast-mode) .class-profile-card .card[style*="background-color: #FFF"],
:root[data-bs-theme="dark"] body:not(.contrast-mode) .class-profile-card .card[style*="background-color:#fff"],
:root[data-bs-theme="dark"] body:not(.contrast-mode) .class-profile-card .card[style*="background-color: #fff"] {
    background: #1e1e1e !important;
    background-color: #1e1e1e !important;
    color: #e0e0e0 !important;
    border-color: #404040 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .class-profile-card .text-dark,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .class-profile-card [style*="color:#000"],
:root[data-bs-theme="dark"] body:not(.contrast-mode) .class-profile-card [style*="color: #000"] {
    color: #f3f4f6 !important;
    -webkit-text-fill-color: #f3f4f6 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .class-profile-card #avatar-container-class {
    background-color: color-mix(in srgb, var(--app-base-color) 28%, #1e1e1e) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-profile-card label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .teacher-profile-card label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .manager-profile-card label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .regional-profile-card label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .principal-profile-card label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .admin-profile-card label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .class-profile-card label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #studentForm label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #studentFieldsWrapper label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #formFieldsSection label {
    color: var(--dark-theme-text) !important;
    -webkit-text-fill-color: var(--dark-theme-text) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-profile-card .form-control,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-profile-card .form-select,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-profile-card input,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-profile-card select,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-profile-card textarea,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .teacher-profile-card .form-control,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .teacher-profile-card .form-select,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .teacher-profile-card input,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .teacher-profile-card select,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .teacher-profile-card textarea,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .manager-profile-card .form-control,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .manager-profile-card .form-select,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .manager-profile-card input,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .manager-profile-card select,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .manager-profile-card textarea,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .regional-profile-card .form-control,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .regional-profile-card .form-select,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .regional-profile-card input,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .regional-profile-card select,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .regional-profile-card textarea,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .principal-profile-card .form-control,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .principal-profile-card .form-select,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .principal-profile-card input,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .principal-profile-card select,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .principal-profile-card textarea,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .admin-profile-card .form-control,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .admin-profile-card .form-select,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .admin-profile-card input,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .admin-profile-card select,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .admin-profile-card textarea,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .class-profile-card .form-control,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .class-profile-card .form-select,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .class-profile-card input,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .class-profile-card select,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .class-profile-card textarea,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #studentForm .form-control,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #studentForm .form-select,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #studentForm input,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #studentForm select,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #studentForm textarea,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #studentFieldsWrapper .form-control,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #studentFieldsWrapper .form-select,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #studentFieldsWrapper input,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #studentFieldsWrapper select,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #studentFieldsWrapper textarea,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #formFieldsSection .form-control,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #formFieldsSection .form-select,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #formFieldsSection input,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #formFieldsSection select,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #formFieldsSection textarea,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-profile-card .select-box,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .teacher-profile-card .select-box,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .manager-profile-card .select-box,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .regional-profile-card .select-box,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .principal-profile-card .select-box,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .admin-profile-card .select-box {
    background: var(--dark-theme-surface-3) !important;
    background-color: var(--dark-theme-surface-3) !important;
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
    border-color: var(--dark-theme-border) !important;
    opacity: 1 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-profile-card .form-control::placeholder,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .teacher-profile-card .form-control::placeholder,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .manager-profile-card .form-control::placeholder,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .regional-profile-card .form-control::placeholder,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .principal-profile-card .form-control::placeholder,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .admin-profile-card .form-control::placeholder,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .class-profile-card .form-control::placeholder,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #studentForm .form-control::placeholder,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #studentFieldsWrapper .form-control::placeholder,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #formFieldsSection .form-control::placeholder {
    color: var(--dark-theme-text-muted) !important;
    -webkit-text-fill-color: var(--dark-theme-text-muted) !important;
    opacity: 1 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-profile-card select option,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .teacher-profile-card select option,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .manager-profile-card select option,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .regional-profile-card select option,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .principal-profile-card select option,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .admin-profile-card select option,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .class-profile-card select option,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #studentForm select option,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #studentFieldsWrapper select option,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #formFieldsSection select option {
    background-color: var(--dark-theme-surface-3) !important;
    color: var(--dark-theme-text-strong) !important;
}

#canvasPage .enunciado-box {
    padding: 1.5rem;           
    margin-bottom: 1.5rem;    
    display: flex;          
    justify-content: space-between; 
    align-items: flex-start;  
    flex-wrap: wrap;         
    gap: 1rem;               
    background-color: var(--enunciado-box-bg, #1a2233);
    border-radius: 8px;
    color: var(--enunciado-box-color, #ffffff);
  }

:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-profile-actions-footer,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .teacher-profile-actions-footer,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .manager-profile-actions-footer,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .regional-profile-actions-footer,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .principal-profile-actions-footer,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .admin-profile-actions-footer,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .user-profile-actions-footer {
    background: #1e1e1e !important;
    background-color: #1e1e1e !important;
    color: #e0e0e0 !important;
    border-color: #404040 !important;
    box-shadow: none !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-profile-actions,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .teacher-profile-actions,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .manager-profile-actions,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .regional-profile-actions,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .principal-profile-actions,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .admin-profile-actions,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .user-profile-actions {
    border-color: #404040 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #assignTrackModal .modal-content,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #assignTrackModal .modal-header,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #assignTrackModal .modal-body,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #assignTrackModal .modal-footer {
    background: var(--dark-theme-surface) !important;
    background-color: var(--dark-theme-surface) !important;
    color: var(--dark-theme-text) !important;
    border-color: var(--dark-theme-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #assignTrackModal .modal-title,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #assignTrackModal label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #assignTrackModal .form-label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #assignTrackModal .form-check-label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #assignTrackModal .class-name,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #assignTrackModal #groupList .form-check-label {
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #assignTrackModal p,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #assignTrackModal .text-muted {
    color: var(--dark-theme-text) !important;
    -webkit-text-fill-color: var(--dark-theme-text) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #assignTrackModal .class-card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #assignTrackModal .institution-card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #assignTrackModal #groupList .form-check,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #assignTrackModal #studentCardsContainer .card {
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
    color: var(--dark-theme-text) !important;
    border-color: var(--dark-theme-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .chat-container .card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .chat-container .card-body,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .chat-container .chat-body {
    background: transparent !important;
    background-color: transparent !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .chat-container .card-header.bg-primary {
    background: var(--bs-primary) !important;
    background-color: var(--bs-primary) !important;
    color: #ffffff !important;
    border-color: var(--bs-primary) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .chat-container .speech-bubble {
    background: #e9ecef !important;
    background-color: #e9ecef !important;
    color: #212529 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .chat-container .speech-bubble *,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .chat-container .user-speech-bubble * {
    color: #212529 !important;
    -webkit-text-fill-color: #212529 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .chat-container .speech-bubble::after {
    border-left-color: #e9ecef !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .chat-container .user-speech-bubble {
    background: #d4edda !important;
    background-color: #d4edda !important;
    color: #212529 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .chat-container .user-speech-bubble::after {
    border-left-color: #d4edda !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .chat-container .user-bubble .form-control {
    background: #ffffff !important;
    background-color: #ffffff !important;
    color: #000000 !important;
    border-color: #ced4da !important;
    -webkit-text-fill-color: #000000 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .chat-container .user-bubble .form-control::placeholder {
    color: #6c757d !important;
    -webkit-text-fill-color: #6c757d !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .chat-container .answer-form .btn-primary {
    background: var(--bs-primary) !important;
    background-color: var(--bs-primary) !important;
    color: #ffffff !important;
    border-color: var(--bs-primary) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .chat-container .answer-form .btn-primary:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .chat-container .answer-form .btn-primary:focus {
    background: #0b5ed7 !important;
    background-color: #0b5ed7 !important;
    border-color: #0a58ca !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .chat-container #confirmSubmitModal .modal-content,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .chat-container #confirmSubmitModal .modal-header,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .chat-container #confirmSubmitModal .modal-body,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .chat-container #confirmSubmitModal .modal-footer {
    background: #ffffff !important;
    background-color: #ffffff !important;
    color: #212529 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .chat-container #confirmSubmitModal * {
    color: inherit;
    -webkit-text-fill-color: inherit;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .chat-container #confirmSubmitModal .btn-secondary {
    background: #6c757d !important;
    background-color: #6c757d !important;
    color: #ffffff !important;
    border-color: #6c757d !important;
    -webkit-text-fill-color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .chat-container #confirmSubmitModal #confirmSubmitButton {
    background: #5cb85c !important;
    background-color: #5cb85c !important;
    color: #ffffff !important;
    border-color: #5cb85c !important;
    -webkit-text-fill-color: #ffffff !important;
}

/* Additional Dark Theme Elements (Ported from Contrast Mode) */
:root[data-bs-theme="dark"] body:not(.contrast-mode) .bg-white:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .bg-gray-50:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .bg-gray-100:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .bg-gray-200:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .bg-gray-300:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .bg-orange-50:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) [class*="bg-orange"]:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .card-header:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .card-body:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal-header:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal-body:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .offcanvas:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .dropdown-divider:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .page-bg:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-shell:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-container:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .card-like:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterForm:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterForm .row:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .city-card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .email-card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .settings-card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .sg-container:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .card-soft:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .track-card .card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .institution-card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .class-card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal-question-card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) #quickFilterSpecific:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) #quickFilterSpecific .row:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .input-icon:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .imp-card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .media-file-wrapper:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .media-file-visible:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .card-title-header:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .status-toolbar-card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .assigned-track:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .sensorama-track-card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .activity-track-card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .question-detail-card-body:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModal form:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .quest-container:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .quest-header:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .parchment:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .note-item:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .kid-date.item:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .kid-modal:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .q-item:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .kid-bg:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) #bottom-dock:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) #topbar:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-modal-content:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-option:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-color-filters-submenu:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-cursor-submenu:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-saturate-submenu:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-filter-option:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-reset-section:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-presets-submenu:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-preset-option:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .sidebar-menu > li:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .sidebar-menu .sub-menu > li:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .sidebar-menu .sub-menu:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .dropdown-menu:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .dropdown-item:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .container[style*="background-color: #FFF"]:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .container[style*="background-color:#FFF"]:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .container[style*="background: #FFF"]:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .container[style*="background:#FFF"]:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .container[style*="background: #fff"]:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .container[style*="background:#fff"]:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .py-4[style*="background-color: #FFF"]:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .py-4[style*="background-color:#FFF"]:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .py-4[style*="background: #FFF"]:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .py-4[style*="background:#FFF"]:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .py-4[style*="background: #fff"]:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .py-4[style*="background:#fff"]:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) div[style*="background-color: #FFF; border-radius"]:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) div[style*="background-color:#FFF; border-radius"]:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) div[style*="background-color: #fff; border-radius"]:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) div[style*="background-color:#fff; border-radius"]:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) div[style*="background: #FFF; border-radius"]:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) div[style*="background:#FFF; border-radius"]:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) div[style*="background: #fff; border-radius"]:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) div[style*="background:#fff; border-radius"]:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) [style*="background: #fff; border-radius: 20px"]:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) [style*="background:#fff; border-radius: 20px"]:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .dashboard-card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .dashboard-card.bg-white.px-3.py-3:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .performance-card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .top-neighborhoods-card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .worst-neighborhoods-card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .top-schools-header:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .top-schools-body:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .worst-schools-header:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .worst-schools-body:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .top-neigh-header:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .worst-neigh-header:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .dashboard-card.bg-white:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .bg-white.rounded-2xl:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .bg-blue-50:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-header:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-header__shell:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-mobile-drawer:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-mobile-drawer__inner:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-mobile-menu:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-mobile-menu__item:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-mobile-menu__inner:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-mobile-menu__toggle:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-mobile-menu__submenu:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-mobile-submenu__link:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .navbar-menu:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-nav__dropdown:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-subnav__link:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-profile__trigger:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-profile__avatar:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-profile__avatar--fallback:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-profile__menu:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .sensorama-language__menu:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .sensorama-theme__menu:not(#canvasPage):not(#canvasPage *) {
    background-color: #1e1e1e !important;
    color: #e0e0e0 !important;
    border-color: #2d2d2d !important;
}

/* Dark Mode Missing Text Colors */
:root[data-bs-theme="dark"] body:not(.contrast-mode) .text-gray-800:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .text-gray-700:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .text-gray-600:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .text-gray-500:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .text-gray-400:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .text-black:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .text-dark:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) a:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ticket-number:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .title-reports:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .subtitle-reports:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .dashboard-card h6:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .dashboard-card p:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterForm label:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterForm .form-label:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) #quickFilterSpecific label:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) #quickFilterSpecific .form-label:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) #quickFilterSpecific .form-select:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) #quickFilterSpecific .form-control:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) #quickFilterSpecific .select2-selection__rendered:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) #quickFilterSpecific .choices__item:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .input-icon .icon-left:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .input-icon .icon-right:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-primary-soft:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-app-primary:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) #openBatchPermissionModal:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) #openAttributeModal:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .track-card h6:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .track-card h6 strong:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .track-card h6 span:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .track-card .text-primary:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .track-card .text-muted:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .track-card .dropdbutton:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .track-card .text-truncate-multiline:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .institution-card h6:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .class-card .class-name:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal-question-card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .imp-title:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .helper:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .media-file-name:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .media-file-btn:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .imp-btn-primary:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .imp-btn-outline:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterForm .select2-selection__rendered:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterForm .choices__item:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-group-responsive .btn-base:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .sg-title:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .track-card__title:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .track-card__title .sub-title:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .track-card__summary:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .track-card__summary strong:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .track-card__due-text:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .track-card__count:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .question-detail-question-title:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .question-detail-content:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .question-detail-content p:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .question-detail-content li:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .question-detail-content strong:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .question-detail-game-title:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .question-detail-game-desc:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) #detailsModal h6:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .calendar-component h3:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .calendar-component h4:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .calendar-component button:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .legend-title:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .legend-items:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .top-schools-title:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .worst-schools-title:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .perf-title-text:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .perf-title-text-top:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .perf-title-text-worst:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .dashboard-card .title:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .dashboard-card h3:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .school-name:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .school-name-text:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .school-name-text-worst:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .school-stat:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .school-stat-row:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .school-stat-row-worst:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .top-neigh-name:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .top-neigh-stat:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .worst-neigh-name:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .worst-neigh-stat:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .text-blue-800:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-mobile-menu a:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-nav__link:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-nav__toggle:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-nav__icon:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-nav__chevron:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-subnav__link:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-subnav__icon:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-mobile-menu__link:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-mobile-menu__toggle:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-mobile-menu__icon:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-mobile-menu__chevron:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-mobile-submenu__link:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-mobile-submenu__icon:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-mobile-menu__toggle i:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .header-user-name:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .navbar-brand:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-profile__menu .dropdown-item:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-profile__menu .menu-label:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-profile__menu .menu-icon i:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .sensorama-language__current:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .sensorama-theme__current:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .sensorama-language__option-text:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .sensorama-theme__option-text:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .sensorama-language__option-code:not(#canvasPage):not(#canvasPage *) {
    color: #e0e0e0 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-header {
    background: #1e1e1e !important;
    border-bottom-color: color-mix(in srgb, var(--app-base-color, #7c3aed) 70%, #404040) !important;
    box-shadow: none !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-mobile-drawer {
    background: #121212 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-nav__link:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-nav__toggle:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-nav__item.is-active > .letrinha-nav__link,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-nav__item.is-active > .letrinha-nav__toggle,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-subnav__link:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-subnav__item.is-active .letrinha-subnav__link,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-mobile-menu__link:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-mobile-menu__toggle:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-mobile-menu__item.is-active > .letrinha-mobile-menu__link,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-mobile-menu__item.is-active > .letrinha-mobile-menu__toggle,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-mobile-submenu__item.is-active .letrinha-mobile-submenu__link,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-mobile-submenu__link:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-profile__menu .dropdown-item:hover {
    background: #2d2d2d !important;
    background-color: #2d2d2d !important;
    color: #ffffff !important;
    text-decoration: none !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-nav__link:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-nav__toggle:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-nav__item.is-open > .letrinha-nav__toggle,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-subnav__link:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-mobile-menu__link:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-mobile-menu__toggle:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-mobile-menu__item.is-open > .letrinha-mobile-menu__toggle,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-mobile-submenu__link:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-profile__menu .dropdown-item:hover {
    background: var(--dark-theme-surface-3) !important;
    background-color: var(--dark-theme-surface-3) !important;
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--app-base-color) 38%, var(--dark-theme-border)) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-nav__item.is-active > .letrinha-nav__link,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-nav__item.is-active > .letrinha-nav__toggle,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-subnav__item.is-active .letrinha-subnav__link,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-mobile-menu__item.is-active > .letrinha-mobile-menu__link,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-mobile-menu__item.is-active > .letrinha-mobile-menu__toggle,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-mobile-submenu__item.is-active .letrinha-mobile-submenu__link {
    background: color-mix(in srgb, var(--app-base-color) 72%, #111111) !important;
    background-color: color-mix(in srgb, var(--app-base-color) 72%, #111111) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--app-base-color) 88%, #ffffff) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-nav__item.is-active > .letrinha-nav__link i,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-nav__item.is-active > .letrinha-nav__toggle i,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-subnav__item.is-active .letrinha-subnav__link i,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-mobile-menu__item.is-active > .letrinha-mobile-menu__link i,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-mobile-menu__item.is-active > .letrinha-mobile-menu__toggle i,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-mobile-submenu__item.is-active .letrinha-mobile-submenu__link i {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-nav__link span,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-nav__toggle span,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-subnav__link span,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-mobile-menu__label-wrap,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-mobile-menu__label-wrap span,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-mobile-submenu__link span {
    background: transparent !important;
    color: inherit !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-coins-pill {
    background: color-mix(in srgb, var(--app-base-color, #7c3aed) 80%, #facc15) !important;
    color: #ffffff !important;
}

body.theme-light-locked:not(.auth-light-template):not(.contrast-mode) .letrinha-header[data-header-theme="dark"],
body.theme-light-locked:not(.auth-light-template):not(.contrast-mode) .letrinha-header[data-header-theme="dark"] .letrinha-header__shell,
body.theme-light-locked:not(.auth-light-template):not(.contrast-mode) .letrinha-mobile-drawer[data-header-theme="dark"],
body.theme-light-locked:not(.auth-light-template):not(.contrast-mode) .letrinha-mobile-drawer[data-header-theme="dark"] .letrinha-mobile-drawer__inner,
body.theme-light-locked:not(.auth-light-template):not(.contrast-mode) .letrinha-mobile-drawer[data-header-theme="dark"] .letrinha-mobile-menu,
body.theme-light-locked:not(.auth-light-template):not(.contrast-mode) .letrinha-mobile-drawer[data-header-theme="dark"] .letrinha-mobile-menu__item,
body.theme-light-locked:not(.auth-light-template):not(.contrast-mode) .letrinha-mobile-drawer[data-header-theme="dark"] .letrinha-mobile-menu__toggle,
body.theme-light-locked:not(.auth-light-template):not(.contrast-mode) .letrinha-mobile-drawer[data-header-theme="dark"] .letrinha-mobile-menu__submenu,
body.theme-light-locked:not(.auth-light-template):not(.contrast-mode) .letrinha-mobile-drawer[data-header-theme="dark"] .letrinha-mobile-submenu__link,
body.theme-light-locked:not(.auth-light-template):not(.contrast-mode) .letrinha-header[data-header-theme="dark"] .letrinha-nav__dropdown,
body.theme-light-locked:not(.auth-light-template):not(.contrast-mode) .letrinha-header[data-header-theme="dark"] .letrinha-subnav__link,
body.theme-light-locked:not(.auth-light-template):not(.contrast-mode) .letrinha-header[data-header-theme="dark"] .letrinha-profile__trigger,
body.theme-light-locked:not(.auth-light-template):not(.contrast-mode) .letrinha-header[data-header-theme="dark"] .letrinha-profile__avatar,
body.theme-light-locked:not(.auth-light-template):not(.contrast-mode) .letrinha-header[data-header-theme="dark"] .letrinha-profile__avatar--fallback,
body.theme-light-locked:not(.auth-light-template):not(.contrast-mode) .letrinha-header[data-header-theme="dark"] .letrinha-profile__menu,
body.theme-light-locked:not(.auth-light-template):not(.contrast-mode) .letrinha-header[data-header-theme="dark"] .sensorama-language__menu {
    background-color: #1e1e1e !important;
    color: #e0e0e0 !important;
    border-color: #2d2d2d !important;
}

body.theme-light-locked:not(.auth-light-template):not(.contrast-mode) .letrinha-header[data-header-theme="dark"] {
    background: #1e1e1e !important;
    border-bottom-color: color-mix(in srgb, var(--app-base-color, #7c3aed) 70%, #404040) !important;
    box-shadow: none !important;
}

body.theme-light-locked:not(.auth-light-template):not(.contrast-mode) .letrinha-mobile-drawer[data-header-theme="dark"] {
    background: #121212 !important;
}

body.theme-light-locked:not(.auth-light-template):not(.contrast-mode) .letrinha-header[data-header-theme="dark"] .letrinha-nav__link,
body.theme-light-locked:not(.auth-light-template):not(.contrast-mode) .letrinha-header[data-header-theme="dark"] .letrinha-nav__toggle,
body.theme-light-locked:not(.auth-light-template):not(.contrast-mode) .letrinha-header[data-header-theme="dark"] .letrinha-nav__icon,
body.theme-light-locked:not(.auth-light-template):not(.contrast-mode) .letrinha-header[data-header-theme="dark"] .letrinha-nav__chevron,
body.theme-light-locked:not(.auth-light-template):not(.contrast-mode) .letrinha-header[data-header-theme="dark"] .letrinha-subnav__link,
body.theme-light-locked:not(.auth-light-template):not(.contrast-mode) .letrinha-header[data-header-theme="dark"] .letrinha-subnav__icon,
body.theme-light-locked:not(.auth-light-template):not(.contrast-mode) .letrinha-header[data-header-theme="dark"] .header-user-name,
body.theme-light-locked:not(.auth-light-template):not(.contrast-mode) .letrinha-header[data-header-theme="dark"] .letrinha-profile__menu .dropdown-item,
body.theme-light-locked:not(.auth-light-template):not(.contrast-mode) .letrinha-header[data-header-theme="dark"] .letrinha-profile__menu .menu-label,
body.theme-light-locked:not(.auth-light-template):not(.contrast-mode) .letrinha-header[data-header-theme="dark"] .letrinha-profile__menu .menu-icon i,
body.theme-light-locked:not(.auth-light-template):not(.contrast-mode) .letrinha-header[data-header-theme="dark"] .sensorama-language__current,
body.theme-light-locked:not(.auth-light-template):not(.contrast-mode) .letrinha-header[data-header-theme="dark"] .sensorama-language__option-text,
body.theme-light-locked:not(.auth-light-template):not(.contrast-mode) .letrinha-header[data-header-theme="dark"] .sensorama-language__option-code,
body.theme-light-locked:not(.auth-light-template):not(.contrast-mode) .letrinha-mobile-drawer[data-header-theme="dark"] .letrinha-mobile-menu__link,
body.theme-light-locked:not(.auth-light-template):not(.contrast-mode) .letrinha-mobile-drawer[data-header-theme="dark"] .letrinha-mobile-menu__toggle,
body.theme-light-locked:not(.auth-light-template):not(.contrast-mode) .letrinha-mobile-drawer[data-header-theme="dark"] .letrinha-mobile-menu__icon,
body.theme-light-locked:not(.auth-light-template):not(.contrast-mode) .letrinha-mobile-drawer[data-header-theme="dark"] .letrinha-mobile-menu__chevron,
body.theme-light-locked:not(.auth-light-template):not(.contrast-mode) .letrinha-mobile-drawer[data-header-theme="dark"] .letrinha-mobile-submenu__link,
body.theme-light-locked:not(.auth-light-template):not(.contrast-mode) .letrinha-mobile-drawer[data-header-theme="dark"] .letrinha-mobile-submenu__icon {
    color: #e0e0e0 !important;
    -webkit-text-fill-color: #e0e0e0 !important;
}

body.theme-light-locked:not(.auth-light-template):not(.contrast-mode) .letrinha-header[data-header-theme="dark"] .letrinha-nav__link:hover,
body.theme-light-locked:not(.auth-light-template):not(.contrast-mode) .letrinha-header[data-header-theme="dark"] .letrinha-nav__toggle:hover,
body.theme-light-locked:not(.auth-light-template):not(.contrast-mode) .letrinha-header[data-header-theme="dark"] .letrinha-nav__item.is-open > .letrinha-nav__toggle,
body.theme-light-locked:not(.auth-light-template):not(.contrast-mode) .letrinha-header[data-header-theme="dark"] .letrinha-subnav__link:hover,
body.theme-light-locked:not(.auth-light-template):not(.contrast-mode) .letrinha-header[data-header-theme="dark"] .letrinha-profile__menu .dropdown-item:hover,
body.theme-light-locked:not(.auth-light-template):not(.contrast-mode) .letrinha-mobile-drawer[data-header-theme="dark"] .letrinha-mobile-menu__link:hover,
body.theme-light-locked:not(.auth-light-template):not(.contrast-mode) .letrinha-mobile-drawer[data-header-theme="dark"] .letrinha-mobile-menu__toggle:hover,
body.theme-light-locked:not(.auth-light-template):not(.contrast-mode) .letrinha-mobile-drawer[data-header-theme="dark"] .letrinha-mobile-menu__item.is-open > .letrinha-mobile-menu__toggle,
body.theme-light-locked:not(.auth-light-template):not(.contrast-mode) .letrinha-mobile-drawer[data-header-theme="dark"] .letrinha-mobile-submenu__link:hover {
    background: var(--dark-theme-surface-3) !important;
    background-color: var(--dark-theme-surface-3) !important;
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--app-base-color) 38%, var(--dark-theme-border)) !important;
}

body.theme-light-locked:not(.auth-light-template):not(.contrast-mode) .letrinha-header[data-header-theme="dark"] .letrinha-nav__item.is-active > .letrinha-nav__link,
body.theme-light-locked:not(.auth-light-template):not(.contrast-mode) .letrinha-header[data-header-theme="dark"] .letrinha-nav__item.is-active > .letrinha-nav__toggle,
body.theme-light-locked:not(.auth-light-template):not(.contrast-mode) .letrinha-header[data-header-theme="dark"] .letrinha-subnav__item.is-active .letrinha-subnav__link,
body.theme-light-locked:not(.auth-light-template):not(.contrast-mode) .letrinha-mobile-drawer[data-header-theme="dark"] .letrinha-mobile-menu__item.is-active > .letrinha-mobile-menu__link,
body.theme-light-locked:not(.auth-light-template):not(.contrast-mode) .letrinha-mobile-drawer[data-header-theme="dark"] .letrinha-mobile-menu__item.is-active > .letrinha-mobile-menu__toggle,
body.theme-light-locked:not(.auth-light-template):not(.contrast-mode) .letrinha-mobile-drawer[data-header-theme="dark"] .letrinha-mobile-submenu__item.is-active .letrinha-mobile-submenu__link {
    background: color-mix(in srgb, var(--app-base-color) 72%, #111111) !important;
    background-color: color-mix(in srgb, var(--app-base-color) 72%, #111111) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--app-base-color) 88%, #ffffff) !important;
}

body.theme-light-locked:not(.auth-light-template):not(.contrast-mode) .letrinha-header[data-header-theme="dark"] .letrinha-nav__link span,
body.theme-light-locked:not(.auth-light-template):not(.contrast-mode) .letrinha-header[data-header-theme="dark"] .letrinha-nav__toggle span,
body.theme-light-locked:not(.auth-light-template):not(.contrast-mode) .letrinha-header[data-header-theme="dark"] .letrinha-subnav__link span,
body.theme-light-locked:not(.auth-light-template):not(.contrast-mode) .letrinha-mobile-drawer[data-header-theme="dark"] .letrinha-mobile-menu__label-wrap,
body.theme-light-locked:not(.auth-light-template):not(.contrast-mode) .letrinha-mobile-drawer[data-header-theme="dark"] .letrinha-mobile-menu__label-wrap span,
body.theme-light-locked:not(.auth-light-template):not(.contrast-mode) .letrinha-mobile-drawer[data-header-theme="dark"] .letrinha-mobile-submenu__link span {
    background: transparent !important;
    color: inherit !important;
    -webkit-text-fill-color: inherit !important;
}

body.theme-light-locked:not(.auth-light-template):not(.contrast-mode) .letrinha-header[data-header-theme="dark"] .letrinha-coins-pill,
body.theme-light-locked:not(.auth-light-template):not(.contrast-mode) .letrinha-mobile-drawer[data-header-theme="dark"] .letrinha-coins-pill {
    background: color-mix(in srgb, var(--app-base-color, #7c3aed) 80%, #facc15) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .status-toolbar-card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .assigned-track,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .sensorama-track-card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .activity-track-card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .question-detail-card-body,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModal form {
    background: #1e1e1e !important;
    background-color: #1e1e1e !important;
    background-image: none !important;
    color: #e0e0e0 !important;
    border-color: #2d2d2d !important;
    box-shadow: none !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .track-card .card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .institution-card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .class-card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal-question-card {
    background: #1e1e1e !important;
    background-color: #1e1e1e !important;
    background-image: none !important;
    color: #e0e0e0 !important;
    border-color: color-mix(in srgb, var(--app-secondary-color, #d8b4fe) 65%, #404040) !important;
    box-shadow: none !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .track-card .border-bot {
    border-bottom-color: #333333 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .activity-track-card .divider,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .assigned-track .divider {
    border-color: #333333 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .expand-toggle-btn {
    background: transparent !important;
    color: #e0e0e0 !important;
    border-color: color-mix(in srgb, var(--app-base-color, #7c3aed) 70%, #404040) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .expand-toggle-btn .expand-toggle-icon {
    background: #2d2d2d !important;
    color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-shell,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-container,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .card-soft,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #quickFilterSpecific,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #quickFilterSpecific .row,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .imp-card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .media-file-visible,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterForm,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterForm .row,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .table-responsive {
    background: #1e1e1e !important;
    background-color: #1e1e1e !important;
    color: #e0e0e0 !important;
    border-color: #2d2d2d !important;
    box-shadow: none !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) table:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) table.table:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) table thead:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) table tbody:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) table tr:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) table th:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) table td:not(#canvasPage):not(#canvasPage *) {
    background-color: #1e1e1e !important;
    color: #e0e0e0 !important;
    border-color: #2d2d2d !important;
    box-shadow: none !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) table thead th:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .table-light th:not(#canvasPage):not(#canvasPage *) {
    background-color: #252525 !important;
    color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-group-responsive .btn-base {
    background-color: color-mix(in srgb, var(--app-base-color, #7c3aed) 85%, black) !important;
    border-color: color-mix(in srgb, var(--app-base-color, #7c3aed) 75%, black) !important;
    color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-primary-soft,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-app-primary,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #openBatchPermissionModal,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #openAttributeModal,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .media-file-btn,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .imp-btn-primary {
    background-color: color-mix(in srgb, var(--app-base-color, #7c3aed) 85%, black) !important;
    border-color: color-mix(in srgb, var(--app-base-color, #7c3aed) 75%, black) !important;
    color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .imp-btn-outline {
    background-color: transparent !important;
    border-color: color-mix(in srgb, var(--app-base-color, #7c3aed) 70%, #404040) !important;
    color: #e0e0e0 !important;
}

/* Dark Mode Inputs Additions */
:root[data-bs-theme="dark"] body:not(.contrast-mode) .input-group-text:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .choices__list--dropdown:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .choices__item:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .choices__input:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .select2-container--default .select2-selection--multiple:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .select2-dropdown:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .sensorama-language__trigger:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .sensorama-theme__trigger:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .role-chip:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .sensorama-language__icon-wrapper:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .sensorama-theme__icon-wrapper:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .sensorama-language__option-icon:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .sensorama-theme__option-icon:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .sensorama-language__chevron:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .sensorama-theme__chevron:not(#canvasPage):not(#canvasPage *) {
    background-color: #2d2d2d !important;
    background-image: none !important;
    color: #ffffff !important;
    border-color: #404040 !important;
}

/* Overrides gradient backgrounds where necessary */
:root[data-bs-theme="dark"] body:not(.contrast-mode):not(.letrinha-login-page) [class*="bg-gradient-"]:not(#canvasPage):not(#canvasPage *) {
    background-image: none !important;
    background-color: #1e1e1e !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-login-page .btn-support,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-login-page .btn-support:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-login-page .btn-support__icon i,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-login-page .btn-support__text,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-login-page .btn-support__arrow {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

/* Dark Mode Hover additions */
:root[data-bs-theme="dark"] body:not(.contrast-mode) .table tbody tr:hover td:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .sidebar-menu li a:hover:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .choices__item--choice:hover:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .choices__item--choice.is-highlighted:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-option:hover:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-filter-option:hover:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-preset-option:hover:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .legend-item:hover:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .sensorama-language__option:hover:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .sensorama-theme__option:hover:not(#canvasPage):not(#canvasPage *) {
    background-color: #333333 !important;
    color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-profile__settings .sensorama-language__trigger:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-profile__settings .sensorama-theme__trigger:not(#canvasPage):not(#canvasPage *) {
    background: #252525 !important;
    background-color: #252525 !important;
    border-color: #404040 !important;
    box-shadow: none !important;
    color: #e0e0e0 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-profile__settings .sensorama-language__trigger:hover:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-profile__settings .sensorama-language__trigger[aria-expanded="true"]:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-profile__settings .sensorama-theme__trigger:hover:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-profile__settings .sensorama-theme__trigger[aria-expanded="true"]:not(#canvasPage):not(#canvasPage *) {
    background: #2d2d2d !important;
    background-color: #2d2d2d !important;
    border-color: color-mix(in srgb, var(--app-base-color) 52%, #404040) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-profile__settings .sensorama-language__flag:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-profile__settings .sensorama-theme__icon-wrapper:not(#canvasPage):not(#canvasPage *) {
    background: #1e1e1e !important;
    background-color: #1e1e1e !important;
    border-color: #404040 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-profile__settings .sensorama-language__eyebrow:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-profile__settings .sensorama-theme__eyebrow:not(#canvasPage):not(#canvasPage *) {
    color: #a0a0a0 !important;
    -webkit-text-fill-color: #a0a0a0 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-profile__settings .sensorama-language__current:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-profile__settings .sensorama-theme__current:not(#canvasPage):not(#canvasPage *) {
    color: #f3f4f6 !important;
    -webkit-text-fill-color: #f3f4f6 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-profile__settings .sensorama-language__chevron:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-profile__settings .sensorama-theme__chevron:not(#canvasPage):not(#canvasPage *) {
    background: transparent !important;
    background-color: transparent !important;
    color: #cbd5e1 !important;
}

/* Dark Mode Buttons and Pagination */
:root[data-bs-theme="dark"] body:not(.contrast-mode) .pagination .page-link:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .page-item .page-link:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) #paginationContainer .btn:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-light:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-secondary:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-ghost:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-outline:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) [class*="btn-outline"]:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-action-btn:not(.btn-primary):not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .custom-button:not(.primary):not(#canvasPage):not(#canvasPage *) {
    color: #e0e0e0 !important;
    border-color: #404040 !important;
    box-shadow: none !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .pagination .page-link:hover:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .pagination .page-link:focus:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) #paginationContainer .btn:hover:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) #paginationContainer .btn:focus:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-light:hover:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-secondary:hover:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-ghost:hover:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-outline:hover:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) [class*="btn-outline"]:hover:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .custom-button:not(.primary):hover:not(#canvasPage):not(#canvasPage *) {
    background-color: #333333 !important;
    color: #ffffff !important;
    border-color: #555555 !important;
}

/* Profile photo upload action. The component's light-blue inline style loads after this stylesheet. */
:root[data-bs-theme="dark"] body:not(.contrast-mode) label.custom-button[for="avatar-uploadProfile"] {
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
    border-color: var(--dark-theme-border) !important;
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) label.custom-button[for="avatar-uploadProfile"]:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) label.custom-button[for="avatar-uploadProfile"]:focus-visible {
    background: var(--dark-theme-surface-3) !important;
    background-color: var(--dark-theme-surface-3) !important;
    border-color: var(--dark-theme-accent-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) label.custom-button[for="avatar-uploadProfile"] .button-icon {
    filter: invert(1) brightness(1.15);
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .gamified-card .card-header .toggle-card-btn.btn-light:not(#canvasPage):not(#canvasPage *) {
    background-color: var(--app-base-color) !important;
    border-color: color-mix(in srgb, var(--app-base-color) 78%, #ffffff) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .gamified-card .card-header .toggle-card-btn.btn-light:hover:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .gamified-card .card-header .toggle-card-btn.btn-light:focus:not(#canvasPage):not(#canvasPage *) {
    background-color: color-mix(in srgb, var(--app-base-color) 86%, #000000) !important;
    border-color: color-mix(in srgb, var(--app-base-color) 88%, #ffffff) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .pagination .page-item.disabled .page-link:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .pagination .disabled > .page-link:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .pagination .page-link.disabled:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .page-bg .pagination-container .pagination .page-item.disabled .page-link:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .page-bg .pagination-container .pagination .disabled > .page-link:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) #paginationContainer .btn:disabled:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) #paginationContainer .btn.disabled:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn:disabled:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn.disabled:not(#canvasPage):not(#canvasPage *) {
    background-color: #2a2a2a !important;
    color: #8c8c8c !important;
    border-color: #3a3a3a !important;
    opacity: 1 !important;
}

/* Dark Mode Active States */
:root[data-bs-theme="dark"] body:not(.contrast-mode) .choices__item--choice.is-selected:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-option[aria-pressed='true']:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-filter-option[aria-pressed='true']:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-preset-option[aria-pressed='true']:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .sidebar-menu li.active > a:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .pagination .page-link[aria-current="page"]:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .pagination .page-item.active .page-link:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .page-bg .pagination-container .pagination .page-item.active .page-link:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) #paginationContainer .btn.active:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-base:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-primary:not(#canvasPage):not(#canvasPage *) {
    background-color: color-mix(in srgb, var(--app-base-color, #7c3aed) 90%, black) !important;
    color: #ffffff !important;
    border-color: color-mix(in srgb, var(--app-base-color, #7c3aed) 80%, black) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .page-bg .pagination-container:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .page-bg .pagination-container nav:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .page-bg .pagination-container nav > div:not(#canvasPage):not(#canvasPage *) {
    background: transparent !important;
    background-color: transparent !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .page-bg .pagination-container .pagination .page-item .page-link:not(#canvasPage):not(#canvasPage *) {
    background-color: #252525 !important;
    color: #e0e0e0 !important;
    border-color: #404040 !important;
    box-shadow: none !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .page-bg .pagination-container .pagination .page-item:hover:not(.active):not(.disabled) .page-link:not(#canvasPage):not(#canvasPage *) {
    background-color: #333333 !important;
    color: #ffffff !important;
    border-color: #555555 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) nav[role="navigation"] p.small.text-muted:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) nav[aria-label="Pagination Navigation"] p.small.text-muted:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .pagination-container p.small.text-muted:not(#canvasPage):not(#canvasPage *) {
    color: var(--dark-theme-text-muted) !important;
    -webkit-text-fill-color: var(--dark-theme-text-muted) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) nav[role="navigation"] p.small.text-muted .fw-semibold:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) nav[aria-label="Pagination Navigation"] p.small.text-muted .fw-semibold:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .pagination-container p.small.text-muted .fw-semibold:not(#canvasPage):not(#canvasPage *) {
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .pagination .page-item:not(.active):not(.disabled) .page-link:not(#canvasPage):not(#canvasPage *) {
    background-color: var(--dark-theme-surface-3) !important;
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
    border-color: var(--dark-theme-border) !important;
    box-shadow: none !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .pagination .page-item:not(.active):not(.disabled) .page-link:hover:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .pagination .page-item:not(.active):not(.disabled) .page-link:focus:not(#canvasPage):not(#canvasPage *) {
    background-color: color-mix(in srgb, var(--app-base-color, #7c3aed) 30%, var(--dark-theme-surface-3)) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    border-color: color-mix(in srgb, var(--app-base-color, #7c3aed) 70%, var(--dark-theme-border)) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .pagination .page-item.disabled .page-link:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .pagination .disabled > .page-link:not(#canvasPage):not(#canvasPage *) {
    background-color: #252525 !important;
    color: #b6beca !important;
    -webkit-text-fill-color: #b6beca !important;
    border-color: #3d3d3d !important;
    opacity: 1 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .pagination .page-item.active .page-link:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .pagination .page-link[aria-current="page"]:not(#canvasPage):not(#canvasPage *) {
    background-color: var(--app-base-color) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    border-color: var(--app-base-color) !important;
    box-shadow: none !important;
}

/* Textual production report */
:root[data-bs-theme="dark"] body:not(.contrast-mode) .page-bg h2:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .page-bg h3:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .page-bg .section-title:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .page-bg .text-black-important:not(#canvasPage):not(#canvasPage *) {
    color: #f3f4f6 !important;
    -webkit-text-fill-color: #f3f4f6 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .page-bg .muted-gray:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .page-bg .small.text-muted:not(#canvasPage):not(#canvasPage *) {
    color: #a7afbd !important;
    -webkit-text-fill-color: #a7afbd !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .page-bg .select-ri:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .page-bg .select-ri.form-select:not(#canvasPage):not(#canvasPage *) {
    background-color: #2d2d2d !important;
    color: #f3f4f6 !important;
    border-color: #404040 !important;
    -webkit-text-fill-color: #f3f4f6 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .page-bg .select-ri:disabled:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .page-bg .select-ri.form-select:disabled:not(#canvasPage):not(#canvasPage *) {
    background-color: #242424 !important;
    color: #9ca3af !important;
    border-color: #3a3a3a !important;
    opacity: 1 !important;
    -webkit-text-fill-color: #9ca3af !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .page-bg .textual-chip:not(#canvasPage):not(#canvasPage *) {
    background: color-mix(in srgb, var(--app-secondary-color) 18%, #1e1e1e) !important;
    background-color: color-mix(in srgb, var(--app-secondary-color) 18%, #1e1e1e) !important;
    color: color-mix(in srgb, var(--app-secondary-color) 68%, #ffffff) !important;
    border: 1px solid color-mix(in srgb, var(--app-secondary-color) 34%, #404040) !important;
    -webkit-text-fill-color: color-mix(in srgb, var(--app-secondary-color) 68%, #ffffff) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .page-bg .ql-toolbar.ql-snow:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .page-bg .ql-container.ql-snow:not(#canvasPage):not(#canvasPage *) {
    background: #252525 !important;
    background-color: #252525 !important;
    color: #e0e0e0 !important;
    border-color: #404040 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .page-bg .ql-container.readonly .ql-editor:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .page-bg .student-editor .ql-editor:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .page-bg .teacher-editor .ql-editor:not(#canvasPage):not(#canvasPage *) {
    background: #1e1e1e !important;
    background-color: #1e1e1e !important;
    color: #f3f4f6 !important;
    -webkit-text-fill-color: #f3f4f6 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .page-bg .ql-toolbar.ql-snow.disabled:not(#canvasPage):not(#canvasPage *) {
    opacity: 0.75 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .page-bg .ql-toolbar .ql-picker:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .page-bg .ql-toolbar .ql-picker-label:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .page-bg .ql-toolbar button:not(#canvasPage):not(#canvasPage *) {
    color: #d1d5db !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .page-bg .ql-toolbar .ql-stroke:not(#canvasPage):not(#canvasPage *) {
    stroke: #d1d5db !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .page-bg .ql-toolbar .ql-fill:not(#canvasPage):not(#canvasPage *) {
    fill: #d1d5db !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .page-bg .ql-toolbar .ql-picker-options:not(#canvasPage):not(#canvasPage *) {
    background: #252525 !important;
    background-color: #252525 !important;
    color: #e0e0e0 !important;
    border-color: #404040 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .page-bg .ql-toolbar button:hover:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .page-bg .ql-toolbar button:focus:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .page-bg .ql-toolbar .ql-picker-label:hover:not(#canvasPage):not(#canvasPage *) {
    background: #333333 !important;
    background-color: #333333 !important;
    color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .textual-page:not(#canvasPage):not(#canvasPage *) {
    color: #1f2937 !important;
    -webkit-text-fill-color: #1f2937 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .textual-page .textual-card:not(#canvasPage):not(#canvasPage *) {
    background: #ffffff !important;
    background-color: #ffffff !important;
    color: #1f2937 !important;
    -webkit-text-fill-color: #1f2937 !important;
    border-color: color-mix(in srgb, var(--app-base-color, #7c3aed) 40%, #d1d5db) !important;
    box-shadow: 0 20px 48px rgba(0, 0, 0, 0.32) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .textual-page .textual-header:not(#canvasPage):not(#canvasPage *) {
    margin: -30px -30px 22px !important;
    padding: 24px 30px !important;
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--app-base-color, #7c3aed) 88%, #111827), #111827) !important;
    background-color: #111827 !important;
    border-radius: 8px 8px 0 0 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .textual-page .textual-header h5:not(#canvasPage):not(#canvasPage *) {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .textual-page .textual-header small:not(#canvasPage):not(#canvasPage *) {
    color: #e5e7eb !important;
    -webkit-text-fill-color: #e5e7eb !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .textual-page .textual-sep:not(#canvasPage):not(#canvasPage *) {
    border-top-color: color-mix(in srgb, var(--app-base-color, #7c3aed) 42%, #d1d5db) !important;
    opacity: 1 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .textual-page p:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .textual-page strong:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .textual-page .form-label:not(#canvasPage):not(#canvasPage *) {
    color: #111827 !important;
    -webkit-text-fill-color: #111827 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .textual-page .form-label:not(#canvasPage):not(#canvasPage *) {
    color: var(--app-base-color) !important;
    -webkit-text-fill-color: var(--app-base-color) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .textual-page .text-muted:not(#canvasPage):not(#canvasPage *) {
    color: #4b5563 !important;
    -webkit-text-fill-color: #4b5563 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .textual-page .mb-4.p-3.rounded:not(#canvasPage):not(#canvasPage *) {
    background: #f3f4f6 !important;
    background-color: #f3f4f6 !important;
    color: #111827 !important;
    -webkit-text-fill-color: #111827 !important;
    border: 1px solid #d1d5db !important;
    border-left: 5px solid var(--app-base-color) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .textual-page .ql-toolbar.ql-snow:not(#canvasPage):not(#canvasPage *) {
    background: #1f2937 !important;
    background-color: #1f2937 !important;
    border-color: #374151 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .textual-page .ql-container.ql-snow:not(#canvasPage):not(#canvasPage *) {
    background: #ffffff !important;
    background-color: #ffffff !important;
    border-color: #d1d5db !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .textual-page .ql-editor:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .textual-page .ql-editor p:not(#canvasPage):not(#canvasPage *) {
    color: #111827 !important;
    -webkit-text-fill-color: #111827 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .textual-page .ql-toolbar .ql-picker:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .textual-page .ql-toolbar .ql-picker-label:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .textual-page .ql-toolbar button:not(#canvasPage):not(#canvasPage *) {
    color: #f3f4f6 !important;
    -webkit-text-fill-color: #f3f4f6 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .textual-page .ql-toolbar .ql-stroke:not(#canvasPage):not(#canvasPage *) {
    stroke: #f3f4f6 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .textual-page .ql-toolbar .ql-fill:not(#canvasPage):not(#canvasPage *) {
    fill: #f3f4f6 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .textual-page .ql-toolbar .ql-picker-options:not(#canvasPage):not(#canvasPage *) {
    background: #ffffff !important;
    background-color: #ffffff !important;
    color: #111827 !important;
    -webkit-text-fill-color: #111827 !important;
    border-color: #d1d5db !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .textual-page .ql-toolbar .ql-picker-options .ql-picker-item:not(#canvasPage):not(#canvasPage *) {
    color: #111827 !important;
    -webkit-text-fill-color: #111827 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .textual-page .ql-toolbar button:hover:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .textual-page .ql-toolbar button:focus:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .textual-page .ql-toolbar .ql-picker-label:hover:not(#canvasPage):not(#canvasPage *) {
    background: color-mix(in srgb, var(--app-base-color, #7c3aed) 38%, #1f2937) !important;
    background-color: color-mix(in srgb, var(--app-base-color, #7c3aed) 38%, #1f2937) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

/* Progress report by subject */
:root[data-bs-theme="dark"] body:not(.contrast-mode) .col-12.report-subject-evolution:not(#canvasPage):not(#canvasPage *) {
    background: transparent !important;
    background-color: transparent !important;
    color: var(--dark-theme-text) !important;
    -webkit-text-fill-color: var(--dark-theme-text) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .report-card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .report-filter-card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .report-kpi-card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .dashboard-card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .institution-card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .student-focus-card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .detail-block:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .class-detail-box:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .student-activities-box:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .mini-meta-box:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .institution-metric:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .report-pill-info:not(#canvasPage):not(#canvasPage *) {
    background: var(--dark-theme-card-bg) !important;
    background-color: var(--dark-theme-surface-2) !important;
    color: var(--dark-theme-text) !important;
    border-color: var(--dark-theme-border) !important;
    box-shadow: var(--dark-theme-panel-shadow) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .report-section-head:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .institution-head:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .student-focus-head:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .institution-meta-grid:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .institution-metrics:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .student-focus-metrics:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .report-pill-stack:not(#canvasPage):not(#canvasPage *) {
    color: var(--dark-theme-text) !important;
    -webkit-text-fill-color: var(--dark-theme-text) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .subject-pill:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .student-box:not(#canvasPage):not(#canvasPage *) {
    background: linear-gradient(145deg, color-mix(in srgb, var(--app-secondary-color) 8%, var(--dark-theme-surface-2)) 0%, var(--dark-theme-surface-2) 100%) !important;
    background-color: var(--dark-theme-surface-2) !important;
    border-color: var(--dark-theme-secondary-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .title-reports:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .report-section-title:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .detail-block-title:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .institution-title:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .student-focus-title:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .mini-meta-box strong:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .institution-metric strong:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .report-pill-info strong:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .fw-semibold.text-dark:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .summary-text-base:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .summary-text-secondary:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .summary-text-third:not(#canvasPage):not(#canvasPage *) {
    color: #f3f4f6 !important;
    -webkit-text-fill-color: #f3f4f6 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .report-subtitle:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .report-section-subtitle:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .report-kpi-meta:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .student-focus-meta:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .institution-metric small:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .text-muted:not(#canvasPage):not(#canvasPage *) {
    color: #a7afbd !important;
    -webkit-text-fill-color: #a7afbd !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .report-kpi-label:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .mini-meta-label:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .institution-metric .label:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .pill-label:not(#canvasPage):not(#canvasPage *) {
    color: var(--app-secondary-color) !important;
    -webkit-text-fill-color: var(--app-secondary-color) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .report-kpi-value:not(#canvasPage):not(#canvasPage *) {
    color: var(--app-secondary-color) !important;
    -webkit-text-fill-color: var(--app-secondary-color) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .positive-text:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .report-kpi-value.positive:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .institution-metric.diff.positive strong:not(#canvasPage):not(#canvasPage *) {
    color: #4ade80 !important;
    -webkit-text-fill-color: #4ade80 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .negative-text:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .report-kpi-value.negative:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .institution-metric.diff.negative strong:not(#canvasPage):not(#canvasPage *) {
    color: #f87171 !important;
    -webkit-text-fill-color: #f87171 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .institution-city-chip:not(#canvasPage):not(#canvasPage *) {
    background: color-mix(in srgb, var(--app-secondary-color) 16%, #1e1e1e) !important;
    background-color: color-mix(in srgb, var(--app-secondary-color) 16%, #1e1e1e) !important;
    color: color-mix(in srgb, var(--app-secondary-color) 62%, #ffffff) !important;
    border: 1px solid color-mix(in srgb, var(--app-secondary-color) 32%, #404040) !important;
    -webkit-text-fill-color: color-mix(in srgb, var(--app-secondary-color) 62%, #ffffff) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .report-kpi-card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .dashboard-card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .institution-metric:not(#canvasPage):not(#canvasPage *) {
    position: relative;
    overflow: hidden;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .report-kpi-card::after,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .dashboard-card::after,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .institution-metric::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.08), transparent 54%);
    pointer-events: none;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .report-kpi-card.accent-a:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .performance-summary > div:nth-child(1) .dashboard-card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .institution-metric.accent-a:not(#canvasPage):not(#canvasPage *) {
    background: linear-gradient(145deg, color-mix(in srgb, #7b3fd4 18%, var(--dark-theme-surface-2)) 0%, var(--dark-theme-surface-2) 92%) !important;
    border-color: color-mix(in srgb, #7b3fd4 26%, var(--dark-theme-border)) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .report-kpi-card.accent-b:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .performance-summary > div:nth-child(2) .dashboard-card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .institution-metric.accent-b:not(#canvasPage):not(#canvasPage *) {
    background: linear-gradient(145deg, color-mix(in srgb, var(--app-third-color) 18%, var(--dark-theme-surface-2)) 0%, var(--dark-theme-surface-2) 92%) !important;
    border-color: color-mix(in srgb, var(--app-third-color) 24%, var(--dark-theme-border)) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .report-kpi-card.accent-delta:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .performance-summary > div:nth-child(3) .dashboard-card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .institution-metric.diff:not(#canvasPage):not(#canvasPage *) {
    background: linear-gradient(145deg, color-mix(in srgb, #12a150 15%, var(--dark-theme-surface-2)) 0%, var(--dark-theme-surface-2) 92%) !important;
    border-color: color-mix(in srgb, #12a150 24%, var(--dark-theme-border)) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .report-kpi-card.accent-students:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .performance-summary > div:nth-child(4) .dashboard-card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .institution-metric.accent-students:not(#canvasPage):not(#canvasPage *) {
    background: linear-gradient(145deg, color-mix(in srgb, #f59e0b 16%, var(--dark-theme-surface-2)) 0%, var(--dark-theme-surface-2) 92%) !important;
    border-color: color-mix(in srgb, #f59e0b 24%, var(--dark-theme-border)) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .summary-icon-base:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .summary-icon-secondary:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .summary-icon-third:not(#canvasPage):not(#canvasPage *) {
    background: var(--dark-theme-accent-soft) !important;
    background-color: var(--dark-theme-accent-soft) !important;
    border: 1px solid var(--dark-theme-accent-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .report-kpi-card::before {
    box-shadow: 0 0 18px rgba(255, 255, 255, 0.06) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .institution-detail:not(#canvasPage):not(#canvasPage *) {
    border-color: color-mix(in srgb, var(--app-base-color) 22%, var(--dark-theme-border)) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .report-table:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .table-responsive:not(#canvasPage):not(#canvasPage *) {
    background: transparent !important;
    background-color: transparent !important;
    color: var(--dark-theme-text) !important;
    border-color: var(--dark-theme-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .report-table thead th:not(#canvasPage):not(#canvasPage *) {
    background: color-mix(in srgb, var(--app-base-color) 10%, var(--dark-theme-surface-3)) !important;
    background-color: color-mix(in srgb, var(--app-base-color) 10%, var(--dark-theme-surface-3)) !important;
    color: var(--dark-theme-text-strong) !important;
    border-color: color-mix(in srgb, var(--app-base-color) 18%, var(--dark-theme-border)) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .report-table tbody td:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .report-table tbody th:not(#canvasPage):not(#canvasPage *) {
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
    color: var(--dark-theme-text) !important;
    border-color: color-mix(in srgb, #ffffff 4%, var(--dark-theme-border)) !important;
    -webkit-text-fill-color: var(--dark-theme-text) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .report-table tbody tr:nth-child(even) td:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .report-table tbody tr:nth-child(even) th:not(#canvasPage):not(#canvasPage *) {
    background: color-mix(in srgb, var(--app-base-color) 4%, var(--dark-theme-surface-2)) !important;
    background-color: color-mix(in srgb, var(--app-base-color) 4%, var(--dark-theme-surface-2)) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .class-detail-row > td:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .student-activities-row > td:not(#canvasPage):not(#canvasPage *) {
    background: color-mix(in srgb, var(--app-secondary-color) 5%, #181818) !important;
    background-color: color-mix(in srgb, var(--app-secondary-color) 5%, #181818) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .form-control:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .form-select:not(#canvasPage):not(#canvasPage *) {
    background-color: var(--dark-theme-surface-3) !important;
    color: var(--dark-theme-text-strong) !important;
    border-color: color-mix(in srgb, var(--app-base-color) 18%, var(--dark-theme-border)) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .choices__inner:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .choices__list--dropdown:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .choices__list[aria-expanded]:not(#canvasPage):not(#canvasPage *) {
    background: var(--dark-theme-surface-3) !important;
    background-color: var(--dark-theme-surface-3) !important;
    border-color: color-mix(in srgb, var(--app-base-color) 18%, var(--dark-theme-border)) !important;
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .choices__item:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .choices__placeholder:not(#canvasPage):not(#canvasPage *) {
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .btn-outline-primary:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .btn-outline-secondary:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .btn-outline-dark:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .btn-base:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .btn-ghost:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .report-clear-btn:not(#canvasPage):not(#canvasPage *) {
    background: linear-gradient(145deg, color-mix(in srgb, var(--app-base-color) 7%, var(--dark-theme-surface-2)) 0%, var(--dark-theme-surface-2) 100%) !important;
    background-color: var(--dark-theme-surface-2) !important;
    color: var(--dark-theme-text-strong) !important;
    border-color: color-mix(in srgb, var(--app-base-color) 22%, var(--dark-theme-border)) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .btn-outline-primary:hover:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .btn-outline-secondary:hover:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .btn-outline-dark:hover:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .btn-base:hover:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .btn-ghost:hover:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .report-clear-btn:hover:not(#canvasPage):not(#canvasPage *) {
    background: color-mix(in srgb, var(--app-base-color) 16%, var(--dark-theme-surface-3)) !important;
    background-color: color-mix(in srgb, var(--app-base-color) 16%, var(--dark-theme-surface-3)) !important;
    color: var(--dark-theme-text-strong) !important;
    border-color: color-mix(in srgb, var(--app-base-color) 32%, var(--dark-theme-border)) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .btn-export.csv:not(#canvasPage):not(#canvasPage *) {
    background: #2563eb !important;
    background-color: #2563eb !important;
    border-color: color-mix(in srgb, #2563eb 75%, var(--dark-theme-border)) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .btn-export.xlsx:not(#canvasPage):not(#canvasPage *) {
    background: #22c55e !important;
    background-color: #22c55e !important;
    border-color: color-mix(in srgb, #22c55e 75%, var(--dark-theme-border)) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .btn-export.pdf:not(#canvasPage):not(#canvasPage *) {
    background: #ef4444 !important;
    background-color: #ef4444 !important;
    border-color: color-mix(in srgb, #ef4444 75%, var(--dark-theme-border)) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .detail-block:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .class-detail-box:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .student-activities-box:not(#canvasPage):not(#canvasPage *) {
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.015), rgba(255, 255, 255, 0)) , var(--dark-theme-surface-2) !important;
    border-color: color-mix(in srgb, var(--app-secondary-color) 16%, var(--dark-theme-border)) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-subject-evolution .report-empty-state:not(#canvasPage):not(#canvasPage *) {
    color: var(--dark-theme-text-muted) !important;
    background: linear-gradient(145deg, color-mix(in srgb, var(--app-base-color) 5%, var(--dark-theme-surface-2)) 0%, var(--dark-theme-surface-2) 100%) !important;
    border: 1px solid color-mix(in srgb, var(--app-base-color) 16%, var(--dark-theme-border)) !important;
    border-radius: 18px !important;
}

/* Fluency report */
:root[data-bs-theme="dark"] body:not(.contrast-mode) .page-bg .card-like:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .page-bg .letter-card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .page-bg .soft-chip:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .page-bg .le-audio:not(#canvasPage):not(#canvasPage *) {
    background: #1e1e1e !important;
    background-color: #1e1e1e !important;
    background-image: none !important;
    color: #e0e0e0 !important;
    border-color: #404040 !important;
    box-shadow: none !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .leap:not(#canvasPage):not(#canvasPage *) {
    --le-primary: var(--app-secondary-color);
    --le-primary-2: color-mix(in srgb, var(--app-secondary-color) 78%, #000000);
    --le-bg: var(--dark-theme-surface-2);
    --le-text: var(--dark-theme-text-strong);
    --le-sub: var(--dark-theme-text-muted);
    --le-border: var(--dark-theme-border);
    --le-track: var(--dark-theme-surface-3);
    --le-buffer: color-mix(in srgb, var(--app-secondary-color) 22%, var(--dark-theme-surface-3));
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
    color: var(--dark-theme-text-strong) !important;
    border-color: var(--dark-theme-border) !important;
    box-shadow: none !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .leap .btn--play:not(#canvasPage):not(#canvasPage *) {
    background: var(--app-secondary-color) !important;
    background-color: var(--app-secondary-color) !important;
    background-image: none !important;
    border-color: var(--app-secondary-color) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .leap .btn--play:hover:not(#canvasPage):not(#canvasPage *) {
    background: color-mix(in srgb, var(--app-secondary-color) 78%, #000000) !important;
    background-color: color-mix(in srgb, var(--app-secondary-color) 78%, #000000) !important;
    border-color: color-mix(in srgb, var(--app-secondary-color) 78%, #000000) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .leap .btn--kebab:not(#canvasPage):not(#canvasPage *) {
    background: transparent !important;
    border-color: transparent !important;
    color: var(--dark-theme-text-muted) !important;
    -webkit-text-fill-color: var(--dark-theme-text-muted) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .leap .btn--kebab:hover:not(#canvasPage):not(#canvasPage *) {
    background: var(--dark-theme-surface-3) !important;
    background-color: var(--dark-theme-surface-3) !important;
    border-color: var(--dark-theme-border) !important;
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .page-bg .card-like h3:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .page-bg .card-like h4:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .page-bg .section-title:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .page-bg .form-label.text-black-important:not(#canvasPage):not(#canvasPage *) {
    color: #f3f4f6 !important;
    -webkit-text-fill-color: #f3f4f6 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .page-bg .input-ri:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .page-bg textarea.input-ri:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .page-bg input.input-ri:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .page-bg .soft-chip .select-ri:not(#canvasPage):not(#canvasPage *) {
    background: #2d2d2d !important;
    background-color: #2d2d2d !important;
    color: #f3f4f6 !important;
    border-color: #404040 !important;
    -webkit-text-fill-color: #f3f4f6 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .page-bg .input-ri:focus:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .page-bg .select-ri:focus:not(#canvasPage):not(#canvasPage *) {
    border-color: color-mix(in srgb, var(--app-secondary-color, #d8b4fe) 70%, #404040) !important;
    box-shadow: 0 0 0 2px rgba(216, 180, 254, 0.2) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .page-bg .soft-chip::after {
    color: #d8b4fe !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .page-bg .bar-bg:not(#canvasPage):not(#canvasPage *) {
    background: #333333 !important;
    background-color: #333333 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .page-bg .bar-fill:not(#canvasPage):not(#canvasPage *) {
    background: color-mix(in srgb, var(--app-base-color, #7c3aed) 82%, #ffffff) !important;
    background-color: color-mix(in srgb, var(--app-base-color, #7c3aed) 82%, #ffffff) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .page-bg audio:not(#canvasPage):not(#canvasPage *) {
    background: #252525 !important;
    background-color: #252525 !important;
    color: #e0e0e0 !important;
}

/* Descriptive responses details modal */
:root[data-bs-theme="dark"] body:not(.contrast-mode) #descriptiveReportModal .descriptive-modal-content,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #descriptiveReportModal .descriptive-modal-header,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #descriptiveReportModal .descriptive-modal-body,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #descriptiveReportModal .descriptive-modal-footer,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #descriptiveReportModal .manual-review-panel {
    background: #1e1e1e !important;
    background-color: #1e1e1e !important;
    color: #e0e0e0 !important;
    border-color: #404040 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #descriptiveReportModal .descriptive-modal-title,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #descriptiveReportModal .modal-title,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #descriptiveReportModal .descriptive-section-title,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #descriptiveReportModal .manual-review-title {
    color: #f3f4f6 !important;
    -webkit-text-fill-color: #f3f4f6 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #descriptiveReportModal .descriptive-register-label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #descriptiveReportModal .descriptive-mini-label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #descriptiveReportModal .form-label {
    color: #a7afbd !important;
    -webkit-text-fill-color: #a7afbd !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #descriptiveReportModal .descriptive-register-value,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #descriptiveReportModal .descriptive-content-text,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #descriptiveReportModal .descriptive-justification-text,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #descriptiveReportModal .manual-review-radios,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #descriptiveReportModal .manual-review-radios span {
    color: #e0e0e0 !important;
    -webkit-text-fill-color: #e0e0e0 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #descriptiveReportModal .descriptive-content-text.empty-text {
    color: #9ca3af !important;
    -webkit-text-fill-color: #9ca3af !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #descriptiveReportModal .descriptive-section {
    border-color: #404040 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #descriptiveReportModal .descriptive-mini-label {
    background: #252525 !important;
    background-color: #252525 !important;
    border: 1px solid #404040 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #descriptiveReportModal .manual-review-textarea {
    background: #2d2d2d !important;
    background-color: #2d2d2d !important;
    color: #f3f4f6 !important;
    border-color: #404040 !important;
    -webkit-text-fill-color: #f3f4f6 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #descriptiveReportModal .btn-close {
    filter: invert(1) grayscale(100%) brightness(180%) !important;
    opacity: 0.85 !important;
}

/* Overriding specific Tailwind colors in Dark Mode to match */
:root[data-bs-theme="dark"] body:not(.contrast-mode) .calendar-component .grid > div.bg-white:not(#canvasPage):not(#canvasPage *) {
    background-color: #1e1e1e !important;
    color: #e0e0e0 !important;
    border-color: #2d2d2d !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .calendar-component .grid > div.bg-red-300:not(#canvasPage):not(#canvasPage *) {
    background-color: #b71c1c !important;
    color: #fff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .calendar-component .grid > div.bg-yellow-300:not(#canvasPage):not(#canvasPage *) {
    background-color: #f57f17 !important;
    color: #000 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .calendar-component .grid > div.bg-green-300:not(#canvasPage):not(#canvasPage *) {
    background-color: #1b5e20 !important;
    color: #fff !important;
}

/* Teacher pedagogical calendar */
:root[data-bs-theme="dark"] body:not(.contrast-mode) [x-data="calendarComponent()"].w-full.relative > .bg-white,
:root[data-bs-theme="dark"] body:not(.contrast-mode) [x-data="calendarComponent()"].w-full.relative .bg-blue-50,
:root[data-bs-theme="dark"] body:not(.contrast-mode) [x-data="calendarComponent()"].w-full.relative .from-rose-50,
:root[data-bs-theme="dark"] body:not(.contrast-mode) [x-data="calendarComponent()"].w-full.relative .to-pink-50,
:root[data-bs-theme="dark"] body:not(.contrast-mode) [x-data="calendarComponent()"].w-full.relative .bg-white.rounded-xl {
    background: #1e1e1e !important;
    background-color: #1e1e1e !important;
    background-image: none !important;
    border-color: #333333 !important;
    color: #e0e0e0 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) [x-data="calendarComponent()"].w-full.relative h2,
:root[data-bs-theme="dark"] body:not(.contrast-mode) [x-data="calendarComponent()"].w-full.relative h3,
:root[data-bs-theme="dark"] body:not(.contrast-mode) [x-data="calendarComponent()"].w-full.relative h4,
:root[data-bs-theme="dark"] body:not(.contrast-mode) [x-data="calendarComponent()"].w-full.relative p,
:root[data-bs-theme="dark"] body:not(.contrast-mode) [x-data="calendarComponent()"].w-full.relative button,
:root[data-bs-theme="dark"] body:not(.contrast-mode) [x-data="calendarComponent()"].w-full.relative .text-blue-800,
:root[data-bs-theme="dark"] body:not(.contrast-mode) [x-data="calendarComponent()"].w-full.relative .text-rose-700,
:root[data-bs-theme="dark"] body:not(.contrast-mode) [x-data="calendarComponent()"].w-full.relative .text-rose-600,
:root[data-bs-theme="dark"] body:not(.contrast-mode) [x-data="calendarComponent()"].w-full.relative .text-gray-700,
:root[data-bs-theme="dark"] body:not(.contrast-mode) [x-data="calendarComponent()"].w-full.relative .text-gray-800 {
    color: #f3f4f6 !important;
    -webkit-text-fill-color: #f3f4f6 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) [x-data="calendarComponent()"].w-full.relative .grid > div.bg-white {
    background: #252525 !important;
    background-color: #252525 !important;
    border-color: #404040 !important;
    color: #f3f4f6 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) [x-data="calendarComponent()"].w-full.relative .grid > div.bg-white:hover {
    background: #333333 !important;
    background-color: #333333 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) [x-data="calendarComponent()"].w-full.relative .grid > div.bg-red-400 {
    background: #b71c1c !important;
    background-color: #b71c1c !important;
    color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) [x-data="calendarComponent()"].w-full.relative .grid > div.bg-yellow-400 {
    background: #b7791f !important;
    background-color: #b7791f !important;
    color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) [x-data="calendarComponent()"].w-full.relative .grid > div.bg-green-400 {
    background: #1b5e20 !important;
    background-color: #1b5e20 !important;
    color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .q-dot.ok:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .q-dot.bad:not(#canvasPage):not(#canvasPage *) {
    background: #404040 !important;
    color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .bg-indigo-50:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) [class*="bg-indigo"]:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) [class*="bg-purple"]:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) [class*="bg-fuchsia"]:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) [class*="bg-violet"]:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) [class*="bg-blue"]:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) [class*="bg-cyan"]:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) [class*="bg-rose"]:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) [class*="bg-pink"]:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) [class*="bg-red"]:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) [class*="bg-yellow"]:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) [class*="bg-green"]:not(#canvasPage):not(#canvasPage *) {
    background-color: #2d2d2d !important;
    color: #e0e0e0 !important;
    border-color: #404040 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .dashboard-card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .performance-card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .top-neighborhoods-card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .worst-neighborhoods-card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .school-item,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .school-item-worst,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .top-neigh-item,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .worst-neigh-item,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .perf-score-inner,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .perf-metric-box {
    background: #1e1e1e !important;
    background-color: #1e1e1e !important;
    color: #e0e0e0 !important;
    border-color: #2d2d2d !important;
    box-shadow: none !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .top-schools-header,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .top-neigh-header,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .worst-schools-header,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .worst-neigh-header,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .perf-header,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .saeb-performance-header {
    background: #252525 !important;
    background-color: #252525 !important;
    color: #ffffff !important;
    border-color: color-mix(in srgb, var(--app-secondary-color, #d8b4fe) 65%, #404040) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .school-badge,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .school-id-badge,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .school-id-badge-worst,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .top-neigh-badge,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .worst-neigh-badge {
    background: #333333 !important;
    background-color: #333333 !important;
    color: #ffffff !important;
    border-color: #404040 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .worst-neigh-alert {
    background: #2d1f1f !important;
    background-color: #2d1f1f !important;
    color: #fca5a5 !important;
    border-left-color: #ef4444 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .permission-modal-role-label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #roleLabel,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #userRoleLabel {
    color: #f3f4f6 !important;
    -webkit-text-fill-color: #f3f4f6 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .map-container {
    background: #1e1e1e !important;
    background-color: #1e1e1e !important;
    border-color: color-mix(in srgb, var(--app-secondary-color, #d8b4fe) 70%, #404040) !important;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.45) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #map {
    border-color: #1e1e1e !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .legend {
    background: rgba(30, 30, 30, 0.94) !important;
    color: #f3f4f6 !important;
    border: 1px solid #404040 !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .legend-header,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .legend-item {
    border-color: #3a3a3a !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .legend-title,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .legend-label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .legend-item,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .legend-btn {
    color: #f3f4f6 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .legend-btn:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .legend-btn.active,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .legend.filtering .legend-item:hover {
    background: rgba(255, 255, 255, 0.12) !important;
    color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .leaflet-control-zoom {
    background: rgba(30, 30, 30, 0.94) !important;
    border: 1px solid #404040 !important;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.4) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .leaflet-control-zoom a {
    background: transparent !important;
    color: #f3f4f6 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .leaflet-control-zoom a:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .leaflet-control-zoom a:active {
    background: #2d2d2d !important;
    color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .leaflet-control-zoom a:first-child {
    border-bottom-color: #404040 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .fullscreen-btn,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .map-loader {
    background: rgba(30, 30, 30, 0.94) !important;
    color: #f3f4f6 !important;
    border-color: #404040 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-modal-content,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-modal-header,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-modal-body,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-reset-section {
    background: #1e1e1e !important;
    background-color: #1e1e1e !important;
    color: #e0e0e0 !important;
    border-color: #404040 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-modal-title,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-modal-close,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-option .option-label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-filter-option .filter-label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-preset-option .preset-label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-option span,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-filter-option span,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-presets-btn,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-reset-btn,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-position-option,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-position-option span {
    color: #f3f4f6 !important;
    -webkit-text-fill-color: #f3f4f6 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-modal-title {
    font-size: 1.15rem !important;
    line-height: 1.3 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-option,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-filter-option,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-preset-option {
    background: #252525 !important;
    background-color: #252525 !important;
    color: #f3f4f6 !important;
    border-color: #404040 !important;
    box-shadow: none !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-option .option-label {
    font-size: 0.82rem !important;
    line-height: 1.25 !important;
    font-weight: 600 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-option:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-filter-option:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-preset-option:hover {
    background: #333333 !important;
    background-color: #333333 !important;
    color: #ffffff !important;
    border-color: #555555 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-presets-submenu,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-color-filters-submenu,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-cursor-submenu,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-saturate-submenu,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-position-menu {
    background: #1e1e1e !important;
    background-color: #1e1e1e !important;
    color: #e0e0e0 !important;
    border-color: #404040 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-presets-btn,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-reset-btn {
    background: var(--app-secondary-color, #97d22f) !important;
    background-color: var(--app-secondary-color, #97d22f) !important;
    color: #1e1e1e !important;
    -webkit-text-fill-color: #1e1e1e !important;
    border-color: var(--app-secondary-color, #97d22f) !important;
    font-size: 0.95rem !important;
    line-height: 1.2 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-presets-btn span,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-presets-btn i,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-reset-btn span,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-reset-btn i {
    color: #1e1e1e !important;
    -webkit-text-fill-color: #1e1e1e !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-presets-btn:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-reset-btn:hover {
    background: color-mix(in srgb, var(--app-secondary-color, #97d22f) 82%, #ffffff) !important;
    background-color: color-mix(in srgb, var(--app-secondary-color, #97d22f) 82%, #ffffff) !important;
    border-color: color-mix(in srgb, var(--app-secondary-color, #97d22f) 82%, #ffffff) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-icon,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-option i {
    background: #f3f4f6 !important;
    background-color: #f3f4f6 !important;
    color: #1e1e1e !important;
    border-color: #f3f4f6 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-position-option {
    background: #252525 !important;
    background-color: #252525 !important;
    border-color: #404040 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModal form,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModalUsers form {
    background: #1e1e1e !important;
    background-color: #1e1e1e !important;
    color: #e0e0e0 !important;
    border-color: #404040 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModal > form > div,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModalUsers > form > div {
    border-color: #404040 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModal h2,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModal p,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModal label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModalUsers h2,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModalUsers p,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModalUsers label {
    color: #f3f4f6 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModal .library-student-books-toggle__status,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModalUsers .library-student-books-toggle__status {
    color: #9ca3af !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModal .library-student-books-toggle__status.is-active,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModalUsers .library-student-books-toggle__status.is-active {
    color: var(--dark-theme-accent) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModal .library-student-books-toggle,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModalUsers .library-student-books-toggle {
    background-color: var(--dark-theme-surface-2) !important;
    border: 1px solid var(--dark-theme-border) !important;
    border-radius: 12px !important;
    padding: 12px 14px !important;
    min-height: 84px;
    display: flex;
    align-items: center;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModal .library-student-books-toggle .form-check,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModalUsers .library-student-books-toggle .form-check {
    width: 100%;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModal #toggleStudentBooksSwitch,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModalUsers #toggleStudentBooksSwitch {
    background-color: var(--dark-theme-surface-3) !important;
    border-color: var(--dark-theme-border) !important;
    box-shadow: none !important;
    background-image: var(--bs-form-switch-bg) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModal #toggleStudentBooksSwitch:checked,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModalUsers #toggleStudentBooksSwitch:checked {
    background-color: var(--dark-theme-accent) !important;
    border-color: var(--dark-theme-accent) !important;
    box-shadow: none !important;
    background-image: var(--bs-form-switch-bg) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModal select,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModal input,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModal .choices,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModal .choices__inner,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModal .choices__list--single,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModal .choices__item,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModalUsers select,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModalUsers input,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModalUsers .choices,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModalUsers .choices__inner,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModalUsers .choices__list--single,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModalUsers .choices__item {
    background: #2d2d2d !important;
    background-color: #2d2d2d !important;
    background-image: none !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    border-color: #555555 !important;
    box-shadow: none !important;
    color-scheme: dark;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModal select option,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModalUsers select option {
    background: #2d2d2d !important;
    background-color: #2d2d2d !important;
    color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModal .choices__list--dropdown,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModal .choices__list[aria-expanded],
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModalUsers .choices__list--dropdown,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModalUsers .choices__list[aria-expanded] {
    background: #252525 !important;
    border-color: #555555 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModal button:not([type="submit"]),
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModalUsers button:not([type="submit"]) {
    background: #1e1e1e !important;
    color: #f3f4f6 !important;
    border-color: #555555 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModal > div,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModal > form,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModalUsers > div,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModalUsers > form,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModal > div > div,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModal > form > div,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModalUsers > div > div,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModalUsers > form > div {
    background: #1e1e1e !important;
    background-color: #1e1e1e !important;
    color: #e0e0e0 !important;
    border-color: #404040 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModal .choices__inner,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModal .choices__input,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModal .choices__list,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModal .choices__list--single,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModal .choices__list--multiple,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModal .choices__item--selectable,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModal .choices__placeholder,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModalUsers .choices__inner,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModalUsers .choices__input,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModalUsers .choices__list,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModalUsers .choices__list--single,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModalUsers .choices__list--multiple,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModalUsers .choices__item--selectable,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModalUsers .choices__placeholder {
    background: #2d2d2d !important;
    background-color: #2d2d2d !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    border-color: #555555 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModal .choices__list--dropdown .choices__item,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModal .choices__list[aria-expanded] .choices__item,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModalUsers .choices__list--dropdown .choices__item,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModalUsers .choices__list[aria-expanded] .choices__item {
    background: #252525 !important;
    background-color: #252525 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModal .choices__list--dropdown .choices__item--selectable.is-highlighted,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModal .choices__list[aria-expanded] .choices__item--selectable.is-highlighted,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModalUsers .choices__list--dropdown .choices__item--selectable.is-highlighted,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModalUsers .choices__list[aria-expanded] .choices__item--selectable.is-highlighted {
    background: #333333 !important;
    background-color: #333333 !important;
    color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModal select[style],
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModal input[style],
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModalUsers select[style],
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModalUsers input[style] {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

/* Teacher dashboard filters */
:root[data-bs-theme="dark"] body:not(.contrast-mode) #trackFilters,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #trackFilters.bg-white,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #teacherDashboardFilters,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .teacher-filter-bar {
    background: #1e1e1e !important;
    background-color: #1e1e1e !important;
    border-color: #2d2d2d !important;
    box-shadow: none !important;
    color: #e0e0e0 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #trackFilters label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #trackFilters .text-dark,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #teacherDashboardFilters label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #teacherDashboardFilters .teacher-filter-label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .teacher-filter-bar label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .teacher-filter-bar .teacher-filter-label {
    color: #e0e0e0 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #trackFilters .form-select,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #trackFilters select,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #teacherDashboardFilters .form-select,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #teacherDashboardFilters .teacher-filter-select,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #teacherDashboardFilters select,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .teacher-filter-bar .form-select,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .teacher-filter-bar .teacher-filter-select,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .teacher-filter-bar select {
    background-color: #2d2d2d !important;
    color: #ffffff !important;
    border-color: #404040 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #trackFilters select option,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #teacherDashboardFilters select option,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .teacher-filter-bar select option {
    background: #252525 !important;
    background-color: #252525 !important;
    color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #schoolDashboardWrapper {
    --school-surface: #1e1e1e;
    --school-text: #f3f4f6;
    --school-muted: #a0a0a0;
    --school-border: #404040;
    --school-card-border: #333333;
    --shadow-sm: none;
    --shadow-md: none;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #schoolDashboardWrapper .white-panel,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #schoolDashboardWrapper .tab-content-panel,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #schoolDashboardWrapper .tab-header,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #schoolDashboardWrapper .school-action-footer {
    background: #1e1e1e !important;
    background-color: #1e1e1e !important;
    color: #e0e0e0 !important;
    border-color: #404040 !important;
    box-shadow: none !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #schoolDashboardWrapper .metric-card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #schoolDashboardWrapper .school-identity,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #schoolDashboardWrapper .entity-card {
    background: #252525 !important;
    background-color: #252525 !important;
    color: #e0e0e0 !important;
    border-color: #404040 !important;
    box-shadow: none !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #schoolDashboardWrapper .school-avatar {
    background: #252525 !important;
    background-color: #252525 !important;
    border-color: #404040 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #schoolDashboardWrapper .school-title,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #schoolDashboardWrapper .school-title .accessibility-text-span {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #schoolDashboardWrapper .school-sub,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #schoolDashboardWrapper .school-sub .accessibility-text-span {
    color: #d1d5db !important;
    -webkit-text-fill-color: #d1d5db !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #schoolDashboardWrapper .top-bar-btn,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #schoolDashboardWrapper .dashboard-tabs .nav-link,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #schoolDashboardWrapper .dashboard-tabs .nav-link.active,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #schoolDashboardWrapper .metric-value,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #schoolDashboardWrapper .entity-title,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #schoolDashboardWrapper .form-label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #schoolDashboardWrapper label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #schoolDashboardWrapper .text-dark {
    color: #f3f4f6 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #schoolDashboardWrapper .dashboard-tabs .nav-link.active {
    border-bottom-color: var(--app-secondary-color, #97d22f) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #schoolDashboardWrapper .metric-title,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #schoolDashboardWrapper .entity-meta,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #schoolDashboardWrapper .text-muted,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #schoolDashboardWrapper small {
    color: #a0a0a0 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #schoolDashboardWrapper .form-control,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #schoolDashboardWrapper .form-select,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #schoolDashboardWrapper input,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #schoolDashboardWrapper select,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #schoolDashboardWrapper textarea {
    background: #252525 !important;
    background-color: #252525 !important;
    background-image: none !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    border-color: #555555 !important;
    box-shadow: none !important;
    color-scheme: dark;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #schoolDashboardWrapper .form-control:disabled,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #schoolDashboardWrapper .form-select:disabled,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #schoolDashboardWrapper .form-control[readonly],
:root[data-bs-theme="dark"] body:not(.contrast-mode) #schoolDashboardWrapper input:disabled,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #schoolDashboardWrapper select:disabled,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #schoolDashboardWrapper textarea:disabled,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #schoolDashboardWrapper input[readonly] {
    background: #202020 !important;
    background-color: #202020 !important;
    color: #bdbdbd !important;
    -webkit-text-fill-color: #bdbdbd !important;
    border-color: #4a4a4a !important;
    opacity: 1 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #schoolDashboardWrapper input::placeholder,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #schoolDashboardWrapper textarea::placeholder {
    color: #8c8c8c !important;
    -webkit-text-fill-color: #8c8c8c !important;
    opacity: 1 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #schoolDashboardWrapper select option {
    background: #252525 !important;
    background-color: #252525 !important;
    color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #schoolDashboardWrapper hr {
    border-color: #404040 !important;
    opacity: 1 !important;
}

/* New activity track builder */
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container {
    --new-trails-base-soft: #252525;
    --new-trails-secondary-soft: #2d2d2d;
    --new-trails-secondary-softer: #252525;
    --new-trails-secondary-border: #404040;
    background: #1e1e1e !important;
    background-color: #1e1e1e !important;
    background-image: none !important;
    border-color: #333333 !important;
    box-shadow: none !important;
    color: #e0e0e0 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .verso-saeb-shell,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .verso-saeb-shell .section-panel,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .verso-saeb-shell .kind-card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .verso-saeb-shell .game-card {
    background: #1e1e1e !important;
    background-color: #1e1e1e !important;
    border-color: #404040 !important;
    color: #e0e0e0 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .verso-saeb-shell .kind-card:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .verso-saeb-shell .game-card:hover {
    border-color: color-mix(in srgb, var(--app-base-color) 28%, #404040) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .verso-saeb-shell .kind-card.is-active,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .verso-saeb-shell .game-card.is-active {
    border-width: 1px !important;
    border-color: var(--app-base-color) !important;
    outline: none !important;
    background: linear-gradient(180deg, #1e1e1e 0%, #252525 100%) !important;
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--app-base-color) 22%, transparent), 0 12px 24px rgba(0, 0, 0, 0.18) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #global-loader {
    background: var(--loader-overlay-bg) !important;
    backdrop-filter: none !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #global-loader .spinner-border {
    color: var(--loader-spinner-color) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .default-loader-shell {
    background: var(--loader-overlay-bg) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .default-loader-circle {
    border-color: var(--loader-spinner-track) !important;
    border-top-color: var(--loader-spinner-color) !important;
    box-shadow: none !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .loader-wrapper {
    background: var(--loader-overlay-bg) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .loader-wrapper::before {
    opacity: 0 !important;
    background: transparent !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .loader-wrapper::after {
    opacity: 0 !important;
    background: transparent !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .loader-core {
    background: transparent !important;
    box-shadow: none !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .loader-text {
    color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .loader-subtext {
    color: var(--dark-theme-text-muted) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .step.active,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .step.current,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .runtime-selection-card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .runtime-option-card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .runtime-option-card:has(input:checked),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .new-trails-saeb-switch,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .question-media-block,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .bncc-card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .bncc-toolbar,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .bncc-footer,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .bncc-item,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .question-form,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .question-form .question-body,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .question-structure-panel,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .structure-section-card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .match4-wrapper,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .tf-wrapper,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .tf-item,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .blank-item,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .blank-tail-card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .blank-preview-card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .blank-preview-content,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .alternative-card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .alternative-card-single,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .alternative-card-multiple,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .question-feedback-block,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .review-card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .review-card ul,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .review-card ol,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .review-card table,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .review-game .game-opt,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .game-opt-inline img,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .review-game .game-opt img {
    background: #252525 !important;
    background-color: #252525 !important;
    background-image: none !important;
    border-color: #404040 !important;
    box-shadow: none !important;
    color: #e0e0e0 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .runtime-option-card:has(input:checked),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .bncc-item:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .alternative-card:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .alternative-card:focus {
    background: #2d2d2d !important;
    background-color: #2d2d2d !important;
    border-color: var(--app-base-color) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .bncc-footer {
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
    border-color: var(--dark-theme-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .bncc-chip {
    background: var(--dark-theme-accent-soft) !important;
    background-color: var(--dark-theme-accent-soft) !important;
    border-color: var(--dark-theme-accent-border) !important;
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .form-label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .step,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container h5,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container h6,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container p,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container span,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container small,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container li,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container td,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container th,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .text-dark,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .text-muted,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .bncc-code,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .bncc-desc,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .game-opt-text,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .alt-letter,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .review-card > h6,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .review-row > span:last-child,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .review-row > div:last-child {
    color: #e0e0e0 !important;
    -webkit-text-fill-color: #e0e0e0 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .review-label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .review-card .fw-semibold,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .bncc-count,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .alt-badge {
    color: var(--dark-theme-decorative-accent) !important;
    -webkit-text-fill-color: var(--dark-theme-decorative-accent) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .original-input,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .form-control,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .form-select,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container textarea,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container input,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container select,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .choices__inner,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .choices__list--dropdown,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .choices__list[aria-expanded],
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .choices__item,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .question-media-file:disabled,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .tf-statement-input,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .blank-initial-input,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .blank-prefix-input,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .blank-answer-input,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .blank-tail-input,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .alternative-input,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .order-item-input,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .match-q,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .match-a,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .descriptive-answer {
    background: #2d2d2d !important;
    background-color: #2d2d2d !important;
    border-color: #404040 !important;
    box-shadow: none !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .original-input:focus,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .form-control:focus,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .form-select:focus,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container textarea:focus,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container input:focus,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container select:focus {
    background: #2d2d2d !important;
    background-color: #2d2d2d !important;
    border-color: var(--app-base-color) !important;
    box-shadow: 0 0 0 0.18rem rgba(145, 204, 43, 0.22) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    caret-color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .new-trails-saeb-switch {
    background: #252525 !important;
    background-color: #252525 !important;
    border-color: #404040 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .new-trails-saeb-switch .form-check-input,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .form-switch .form-check-input[role="switch"] {
    background-color: #111827 !important;
    border-color: #4b5563 !important;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.04) !important;
    -webkit-text-fill-color: initial !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23cbd5e1'/%3E%3C/svg%3E") !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .new-trails-saeb-switch .form-check-input:focus,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .form-switch .form-check-input[role="switch"]:focus {
    background-color: #111827 !important;
    border-color: var(--app-base-color) !important;
    box-shadow: 0 0 0 0.18rem rgba(145, 204, 43, 0.22) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .new-trails-saeb-switch .form-check-input:checked,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .form-switch .form-check-input[role="switch"]:checked {
    background-color: var(--app-base-color) !important;
    border-color: var(--app-base-color) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23ffffff'/%3E%3C/svg%3E") !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .new-trails-saeb-switch .form-check-label {
    color: #f3f4f6 !important;
    -webkit-text-fill-color: #f3f4f6 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container input:-webkit-autofill,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container input:-webkit-autofill:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container input:-webkit-autofill:focus,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container textarea:-webkit-autofill,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container textarea:-webkit-autofill:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container textarea:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0 1000px #2d2d2d inset !important;
    box-shadow: 0 0 0 1000px #2d2d2d inset !important;
    border-color: var(--app-base-color) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    caret-color: #ffffff !important;
    transition: background-color 9999s ease-out 0s !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .alt-letter,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .alt-check-visual {
    background: #333333 !important;
    background-color: #333333 !important;
    border-color: #404040 !important;
    color: #e0e0e0 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .alt-badge {
    background: #1e1e1e !important;
    background-color: #1e1e1e !important;
    border-color: var(--app-base-color) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .alternative-card.is-selected,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .alternative-card[aria-checked="true"] {
    background: #20331e !important;
    background-color: #20331e !important;
    border-color: var(--app-base-color) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .alternative-card.is-selected .alt-letter,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .alternative-card[aria-checked="true"] .alt-letter {
    background: var(--app-base-color) !important;
    background-color: var(--app-base-color) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container input::placeholder,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container textarea::placeholder,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .choices__placeholder {
    color: #a0a0a0 !important;
    -webkit-text-fill-color: #a0a0a0 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container select option,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .choices__list--dropdown .choices__item,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .choices__list[aria-expanded] .choices__item {
    background: #252525 !important;
    background-color: #252525 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .choices__list--dropdown .choices__item--selectable.is-highlighted,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .choices__list[aria-expanded] .choices__item--selectable.is-highlighted {
    background: #333333 !important;
    background-color: #333333 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .tf-pill {
    background: #1e1e1e !important;
    background-color: #1e1e1e !important;
    border-color: #404040 !important;
    color: #e0e0e0 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .tf-pill.selected {
    background: var(--app-base-color) !important;
    background-color: var(--app-base-color) !important;
    border-color: var(--app-base-color) !important;
    color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-upload-modal {
    background: #1e1e1e !important;
    background-color: #1e1e1e !important;
    border: 1px solid #333333 !important;
    color: #e0e0e0 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-upload-modal h5,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-upload-modal p,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-upload-modal strong {
    color: #e0e0e0 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-upload-progress {
    background: #333333 !important;
    background-color: #333333 !important;
}

/* Hamburger Menu Span Lines */
:root[data-bs-theme="dark"] body:not(.contrast-mode) .letrinha-header__menu-button span:not([class*="text"]):not(#canvasPage):not(#canvasPage *) {
    background-color: #e0e0e0 !important;
}

/* Student fluency, English, and literacy assessments */
:root[data-bs-theme="dark"] body:not(.contrast-mode) .content-wrapper:not(#canvasPage):not(#canvasPage *) {
    background: #121212 !important;
    background-color: #121212 !important;
    background-image: none !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .quest-container,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .quest-card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .quest-card.card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .quest-card .card-body,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #questionSection,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .parchment,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .reader-shell:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .reader-toolbar:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .fluency-shell:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .fluency-container:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .reward-card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .feedback-card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .drag-question-card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .reading-block,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .reading-v2-card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .image-choice-display,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .image-choice-options,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .lx-card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .lx-stim,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .lx-sideBtn,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .lx-mBtn {
    background: #1e1e1e !important;
    background-color: #1e1e1e !important;
    background-image: none !important;
    border-color: #333333 !important;
    color: #e0e0e0 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .quest-container {
    box-shadow: none !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .quest-header h2,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .quest-card h5,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .quest-card h6,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .quest-card .text-dark,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .reading-text,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .reading-title,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .reading-body,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .question-prompt,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .reading-v2-title,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .reading-v2-text,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .image-choice-prompt,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .feedback-content,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .feedback-text,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .matching-helper-text,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .image-matching-instruction,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .lx-sideLabel,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .lx-mText,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .lx-letter,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .lx-doneText {
    color: #e0e0e0 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .quest-card .text-muted,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .quest-header .text-muted,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .record-v2-instruction,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .lx-doneSub {
    color: #a0a0a0 !important;
}

/* Assessments center */
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-page:not(#canvasPage):not(#canvasPage *) {
    color: var(--dark-theme-text) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-panel:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-mgmt-panel:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-child-card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-softbox:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-kpi:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-pill:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-mgmt-mini-kpi:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-mgmt-student-card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-modal-metric:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-parent-card:not(#canvasPage):not(#canvasPage *) {
    background: var(--dark-theme-card-bg) !important;
    background-color: var(--dark-theme-surface) !important;
    border-color: var(--dark-theme-border) !important;
    color: var(--dark-theme-text) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-mgmt-panel__header h2,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-panel__header h2,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-card__title,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-card__metric,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-pill__value,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-kpi__value,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-child-card h3,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-child-note__title,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-child-stat__value,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-mgmt-mini-kpi strong,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-mgmt-student-card__name strong,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-mgmt-student-card__metric strong,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-mgmt-modal__hero h5,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-modal-metric__value,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-parent-modal__title,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-parent-card__value {
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-mgmt-panel__header p,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-panel__header p,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-card__subtitle,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-pill__label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-kpi__label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-softbox p,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-child-card p,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-child-note__text,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-child-stat__label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-child-stat__help,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-mgmt-mini-kpi span,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-mgmt-student-card__name span,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-mgmt-student-card__metric span,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-mgmt-student-card__footer,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-mgmt-modal__hero p,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-modal-metric__label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-parent-modal__subtitle,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-parent-card__label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-parent-summary,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-parent-note {
    color: var(--dark-theme-text-muted) !important;
    -webkit-text-fill-color: var(--dark-theme-text-muted) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-mgmt-filter label {
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-mgmt-filter .form-control,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-mgmt-filter .form-select,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-mgmt-filter .choices__inner,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-mgmt-filter .choices__input {
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
    border-color: var(--dark-theme-border) !important;
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-mgmt-filter .choices__placeholder,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-mgmt-filter .form-control::placeholder {
    color: var(--dark-theme-text-muted) !important;
    -webkit-text-fill-color: var(--dark-theme-text-muted) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-mgmt-filter .form-select:disabled,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-mgmt-filter .form-control:disabled,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-mgmt-filter .choices.is-disabled .choices__inner,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-mgmt-filter .choices.assessment-chain-disabled .choices__inner {
    background: var(--dark-theme-surface-3) !important;
    background-color: var(--dark-theme-surface-3) !important;
    color: var(--dark-theme-text-muted) !important;
    -webkit-text-fill-color: var(--dark-theme-text-muted) !important;
    opacity: 1 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-mgmt-filter .choices__list--dropdown,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-mgmt-filter .choices__list[aria-expanded] {
    background: var(--dark-theme-surface-2) !important;
    border-color: var(--dark-theme-border) !important;
    color: var(--dark-theme-text) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-mgmt-filter .choices__item--choice {
    color: var(--dark-theme-text) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-mgmt-filter .choices__item--choice.is-highlighted {
    background: var(--dark-theme-accent-soft) !important;
    color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-btn--soft,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-btn--soft i,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-btn--soft span {
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
    border-color: var(--dark-theme-accent-border) !important;
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-btn--soft:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-btn--soft:focus {
    background: var(--dark-theme-accent-soft) !important;
    background-color: var(--dark-theme-accent-soft) !important;
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-mgmt-note,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-empty-mobile,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-child-note,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-child-stat,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-mgmt-student-card__meta span,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-mgmt-student-card__metric,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-parent-summary {
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
    border-color: var(--dark-theme-border) !important;
    color: var(--dark-theme-text-muted) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-results-table,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-modal-table,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-results-table th,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-results-table td,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-modal-table th,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-modal-table td {
    background: var(--dark-theme-surface) !important;
    background-color: var(--dark-theme-surface) !important;
    border-color: var(--dark-theme-border) !important;
    color: var(--dark-theme-text) !important;
    -webkit-text-fill-color: var(--dark-theme-text) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-results-table th,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-modal-table th {
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #assessment-parent-view.ac-parent-modal .modal-header,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-parent-modal .modal-header {
    background: linear-gradient(145deg, var(--dark-theme-surface-2) 0%, var(--dark-theme-surface) 64%, var(--dark-theme-accent-soft) 100%) !important;
    background-color: var(--dark-theme-surface) !important;
    background-image: linear-gradient(145deg, var(--dark-theme-surface-2) 0%, var(--dark-theme-surface) 64%, var(--dark-theme-accent-soft) 100%) !important;
    border-color: var(--dark-theme-border) !important;
    color: var(--dark-theme-text) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #assessment-parent-view.ac-parent-modal .modal-header::before,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #assessment-parent-view.ac-parent-modal .modal-header::after,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-parent-modal .modal-header::before,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-parent-modal .modal-header::after {
    background: color-mix(in srgb, var(--app-base-color) 16%, transparent) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-parent-modal__eyebrow,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-parent-modal__mascot {
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
    background-image: none !important;
    border-color: var(--dark-theme-accent-border) !important;
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
    box-shadow: var(--dark-theme-panel-shadow) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-panel--kid,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-kid-card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-kid-track-card {
    background: var(--dark-theme-card-bg) !important;
    background-color: var(--dark-theme-surface) !important;
    background-image: var(--dark-theme-card-bg) !important;
    border-color: var(--dark-theme-accent-border) !important;
    color: var(--dark-theme-text) !important;
    box-shadow: var(--dark-theme-panel-shadow) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-kid-card--fluency,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-kid-card--english,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-kid-card--literacy,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-kid-card--tracks {
    background: linear-gradient(145deg, var(--dark-theme-surface-2) 0%, var(--dark-theme-surface) 72%, var(--dark-theme-accent-softer) 100%) !important;
    background-color: var(--dark-theme-surface) !important;
    background-image: linear-gradient(145deg, var(--dark-theme-surface-2) 0%, var(--dark-theme-surface) 72%, var(--dark-theme-accent-softer) 100%) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-kid-storybox {
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
    background-image: none !important;
    border-color: var(--dark-theme-accent-border) !important;
    color: var(--dark-theme-text) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-kid-mood-pill,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-kid-stage-pill {
    background: var(--dark-theme-accent-soft) !important;
    background-color: var(--dark-theme-accent-soft) !important;
    border-color: var(--dark-theme-accent-border) !important;
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-kid-card__titlewrap h3,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-kid-storybox__value,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-kid-track-card__value {
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-kid-storybox__label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-kid-storybox__help,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-kid-mini-note,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-kid-track-card__label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-kid-track-card__help,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-kid-track-footer__text {
    color: var(--dark-theme-text-muted) !important;
    -webkit-text-fill-color: var(--dark-theme-text-muted) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-kid-card__sparkles span {
    background: color-mix(in srgb, var(--app-base-color) 28%, transparent) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .quest-card .bg-light,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .reading-text-display,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .reading-v2-helper,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .drag-instruction,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .image-matching-helper-text,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .image-matching-info,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .lx-counter,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .lx-advance,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .lx-sideIcon,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .lx-mIcon {
    background: #252525 !important;
    background-color: #252525 !important;
    background-image: none !important;
    border-color: #404040 !important;
    color: #e0e0e0 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .boxed-label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .image-choice-label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .drag-token,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .drag-blank,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .word-item,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .drop-zone,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .matching-node,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .matching-left-node,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .matching-right-node {
    background: #252525 !important;
    background-color: #252525 !important;
    background-image: none !important;
    border-color: #404040 !important;
    color: #e0e0e0 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .option-text,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .word-text,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .right-pill,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .match-text,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .drop-zone-placeholder,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .lx-counter,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .lx-sep,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .lx-ico,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .lx-advance {
    color: #e0e0e0 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .lx-cyan {
    background: #12363b !important;
    background-color: #12363b !important;
    border-color: #1f6b75 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .lx-pink {
    background: #3b1730 !important;
    background-color: #3b1730 !important;
    border-color: #7c2d5d !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .lx-advanceIcon {
    background: #3a2b12 !important;
    background-color: #3a2b12 !important;
    border-color: #8a6416 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .lx-color {
    border-color: #555555 !important;
    box-shadow: none !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .reading-power {
    background: #333333 !important;
    background-color: #333333 !important;
    box-shadow: none !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .reading-hr {
    background: #404040 !important;
    background-color: #404040 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .boxed-label:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .image-choice-label:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .drag-token:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .matching-right-node:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .word-item:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .lx-sideBtn:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .lx-mBtn:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .lx-advance:hover {
    background: #333333 !important;
    background-color: #333333 !important;
    border-color: #555555 !important;
}

/* Sticker album */
:root[data-bs-theme="dark"] body:not(.contrast-mode) .album-header,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .coins-pill,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .select-wrap {
    background: #1e1e1e !important;
    background-color: #1e1e1e !important;
    background-image: none !important;
    color: #e0e0e0 !important;
    border-color: #333333 !important;
    box-shadow: none !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .page-title,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .coins-pill,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .coins-pill .coins-label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .coins-pill .coins-value,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .select-head h3,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .select-wrap .hint,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .hint {
    color: #e0e0e0 !important;
    -webkit-text-fill-color: #e0e0e0 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .album-complete-banner,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .slot,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .slot.empty,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #revealModal .modal-content,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #revealModal .modal-body,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #viewerModal .modal-content,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #viewerModal .modal-body,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .pack-open-modal,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .pack-open-surface {
    background: #252525 !important;
    background-color: #252525 !important;
    background-image: none !important;
    color: #e0e0e0 !important;
    border-color: #404040 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .big-btn.gray,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #closeRevealBtn,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #closeViewerBtn {
    background: #252525 !important;
    background-color: #252525 !important;
    background-image: none !important;
    color: #e0e0e0 !important;
    -webkit-text-fill-color: #e0e0e0 !important;
    border-color: #404040 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .big-btn.gray:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #closeRevealBtn:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #closeViewerBtn:hover {
    background: #333333 !important;
    background-color: #333333 !important;
    border-color: #555555 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #packSelect .slider3d_wrap > * {
    background-color: #252525 !important;
    border-color: #404040 !important;
}

/* New descriptive activity / textual production */
:root[data-bs-theme="dark"] body:not(.contrast-mode) .activity-type-btn {
    background: #252525 !important;
    background-color: #252525 !important;
    color: #e0e0e0 !important;
    -webkit-text-fill-color: #e0e0e0 !important;
    border-color: #404040 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .activity-type-btn:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .activity-type-btn:focus {
    background: #2d2d2d !important;
    background-color: #2d2d2d !important;
    color: #f3f4f6 !important;
    -webkit-text-fill-color: #f3f4f6 !important;
    border-color: var(--app-base-color) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .activity-type-btn.active,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .activity-type-btn.active:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .activity-type-btn.active:focus {
    background: var(--app-base-color) !important;
    background-color: var(--app-base-color) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    border-color: var(--app-base-color) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .step.active {
    color: #f3f4f6 !important;
    -webkit-text-fill-color: #f3f4f6 !important;
}

/* Access card modals */
:root[data-bs-theme="dark"] body:not(.contrast-mode) #userAccessCardModal .user-access-card-modal__content,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #printAccessCardModal .access-card-modal__content {
    background: #1e1e1e !important;
    background-color: #1e1e1e !important;
    background-image: none !important;
    border-color: #404040 !important;
    box-shadow: none !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #userAccessCardModal .user-access-card-modal__header,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #userAccessCardModal .user-access-card-modal__body,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #userAccessCardModal .user-access-card-modal__footer,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #printAccessCardModal .modal-header,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #printAccessCardModal .modal-body,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #printAccessCardModal .modal-footer {
    background: #e0e0e0 !important;
    background-color: #e0e0e0 !important;
    color: #e0e0e0 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #userAccessCardModal .user-access-card-modal__title,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #userAccessCardModal .user-access-card-modal__card-info,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #userAccessCardModal .user-access-card-modal__card-info strong,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #userAccessCardModal .user-access-card-modal__card-info .student-name,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #printAccessCardModal .access-card-modal__title,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #printAccessCardModal .access-card-modal__description,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #printAccessCardModal .access-card-modal__student-card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #printAccessCardModal .access-card-modal__student-card * {
    color: #e0e0e0 !important;
    -webkit-text-fill-color: #e0e0e0 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #userAccessCardModal .user-access-card-modal__card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #printAccessCardModal .access-card-modal__student-card {
    background: #252525 !important;
    background-color: #252525 !important;
    background-image: none !important;
    border-color: #404040 !important;
    box-shadow: none !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #userAccessCardModal .user-access-card-modal__divider,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #printAccessCardModal .access-card-modal__divider {
    border-color: #404040 !important;
    opacity: 1 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #userAccessCardModal .user-access-card-modal__button--cancel,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #printAccessCardModal .access-card-modal__button--secondary {
    background: #252525 !important;
    background-color: #252525 !important;
    color: #e0e0e0 !important;
    -webkit-text-fill-color: #e0e0e0 !important;
    border-color: #404040 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #userAccessCardModal .btn-close,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #printAccessCardModal .btn-close {
    filter: invert(1) grayscale(1) brightness(1.4) !important;
}

/* Student track performance */
:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-track-performance-page {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-track-performance-page::before {
    display: none !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-track-performance-page > main {
    position: relative;
    z-index: 1;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-track-performance-title {
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-track-performance-hero-icon {
    box-shadow: none !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-track-performance-surface {
    background: var(--dark-theme-surface) !important;
    background-color: var(--dark-theme-surface) !important;
    background-image: none !important;
    border: 1px solid var(--dark-theme-border) !important;
    box-shadow: var(--dark-theme-panel-shadow) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-track-performance-filter {
    background: var(--dark-theme-surface) !important;
    background-color: var(--dark-theme-surface) !important;
    background-image: none !important;
    border-color: var(--dark-theme-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-track-performance-filter label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-track-performance-filter .student-track-filter-control {
    color: var(--dark-theme-text) !important;
    -webkit-text-fill-color: var(--dark-theme-text) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-track-performance-filter .student-track-filter-control,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-track-clear-button {
    background: var(--dark-theme-surface-3) !important;
    background-color: var(--dark-theme-surface-3) !important;
    border-color: var(--dark-theme-border) !important;
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-track-clear-button {
    background: var(--app-base-color) !important;
    background-color: var(--app-base-color) !important;
    border-color: color-mix(in srgb, var(--app-base-color) 76%, #ffffff) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    box-shadow: none !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-track-performance-filter .student-track-filter-button {
    background: #3b82f6 !important;
    background-color: #3b82f6 !important;
    border-color: #2563eb !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    box-shadow: none !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-track-performance-filter .student-track-filter-button:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-track-performance-filter .student-track-filter-button:focus {
    background: #2563eb !important;
    background-color: #2563eb !important;
    border-color: #1d4ed8 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .track-report-page #btnApplyFilters {
    background: #3b82f6 !important;
    background-color: #3b82f6 !important;
    border-color: #2563eb !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .track-report-page .student-track-clear-button {
    background: var(--app-base-color) !important;
    background-color: var(--app-base-color) !important;
    border-color: var(--app-base-color) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .track-report-page .student-track-clear-button:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .track-report-page .student-track-clear-button:focus {
    background: color-mix(in srgb, var(--app-base-color) 86%, var(--app-secondary-color)) !important;
    background-color: color-mix(in srgb, var(--app-base-color) 86%, var(--app-secondary-color)) !important;
    border-color: color-mix(in srgb, var(--app-base-color) 86%, var(--app-secondary-color)) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .track-report-page #btnApplyFilters:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .track-report-page #btnApplyFilters:focus {
    background: #2563eb !important;
    background-color: #2563eb !important;
    border-color: #1d4ed8 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-track-performance-filter .student-track-clear-button:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-track-performance-filter .student-track-clear-button:focus {
    background: color-mix(in srgb, var(--app-base-color) 84%, #ffffff) !important;
    background-color: color-mix(in srgb, var(--app-base-color) 84%, #ffffff) !important;
    border-color: color-mix(in srgb, var(--app-base-color) 84%, #ffffff) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-track-performance-page .summary-card p {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-track-performance-page .summary-card h3 {
    color: var(--dark-theme-accent) !important;
    -webkit-text-fill-color: var(--dark-theme-accent) !important;
}

/* Didactic sequence report */
:root[data-bs-theme="dark"] body:not(.contrast-mode) .track-report-page .track-filter-panel,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .track-report-page .track-report-chart-card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .track-report-page .col-lg-4 > .bg-white,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .track-report-page .track-report-table-card {
    background: var(--dark-theme-surface) !important;
    background-color: var(--dark-theme-surface) !important;
    border: 1px solid var(--dark-theme-border) !important;
    color: var(--dark-theme-text) !important;
    box-shadow: var(--dark-theme-panel-shadow) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .track-report-page .badge.bg-white {
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
    border-color: var(--dark-theme-border) !important;
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .track-report-page .summary-card {
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
    border-color: var(--dark-theme-accent-border) !important;
    color: var(--dark-theme-text) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .track-report-page .summary-card__icon {
    background: var(--dark-theme-accent-soft) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .track-report-page h1,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .track-report-page h5,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .track-report-page .track-report-chart-title,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .track-report-page .summary-card .fw-semibold,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .track-report-page td .text-dark {
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .track-report-page .track-filter-control,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .track-report-page .choices__inner,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .track-report-page .track-pagination-button {
    background: var(--dark-theme-surface-3) !important;
    background-color: var(--dark-theme-surface-3) !important;
    border-color: var(--dark-theme-border) !important;
    color: var(--dark-theme-text) !important;
    -webkit-text-fill-color: var(--dark-theme-text) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .track-report-page .form-label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .track-report-page .text-muted {
    color: var(--dark-theme-text-muted) !important;
    -webkit-text-fill-color: var(--dark-theme-text-muted) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .track-report-page table.table thead tr,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .track-report-page table.table tbody tr,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .track-report-page #studentsTableBody {
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
    color: var(--dark-theme-text) !important;
    border-color: var(--dark-theme-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .track-report-page .track-report-empty {
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
    border-color: var(--dark-theme-accent-border) !important;
    color: var(--dark-theme-text-muted) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-track-performance-chart-card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-track-performance-table-card {
    box-shadow: var(--dark-theme-panel-shadow) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-track-performance-section-title {
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-track-performance-table-header {
    background: var(--app-base-color) !important;
    background-color: var(--app-base-color) !important;
    background-image: none !important;
    border-bottom: 0 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-track-performance-table-card thead {
    background-color: color-mix(in srgb, var(--app-base-color) 8%, var(--dark-theme-surface-3)) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-track-performance-table-card thead th {
    color: var(--dark-theme-text-muted) !important;
    -webkit-text-fill-color: var(--dark-theme-text-muted) !important;
    border-color: color-mix(in srgb, var(--app-base-color) 14%, var(--dark-theme-border)) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-track-performance-table-card tbody {
    background: transparent !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-track-performance-table-card tbody tr:nth-child(odd) {
    background: var(--dark-theme-surface) !important;
    background-color: var(--dark-theme-surface) !important;
    background-image: none !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-track-performance-table-card tbody tr:nth-child(even) {
    background: var(--dark-theme-surface) !important;
    background-color: var(--dark-theme-surface) !important;
    background-image: none !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-track-performance-table-card tbody td,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-track-performance-table-card tbody td div,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-track-performance-table-card tbody td span:not(.inline-flex) {
    color: var(--dark-theme-text) !important;
    -webkit-text-fill-color: var(--dark-theme-text) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-track-performance-table-card tbody .font-semibold {
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-track-performance-table-card .divide-y > :not([hidden]) ~ :not([hidden]) {
    border-color: color-mix(in srgb, #ffffff 5%, var(--dark-theme-border)) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-track-performance-empty {
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
    background-image: none !important;
    color: var(--dark-theme-text-muted) !important;
    border: 1px solid var(--dark-theme-accent-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-track-performance-page .summary-card {
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
    background-image: none !important;
    border-color: var(--dark-theme-accent-border) !important;
    border-width: 1px !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-track-performance-page .summary-card__icon {
    background: var(--dark-theme-accent-soft) !important;
    background-image: none !important;
}

/* Reading log */
:root[data-bs-theme="dark"] body:not(.contrast-mode) .sub-summary-card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .goal-progress-track {
    background: #252525 !important;
    background-color: #252525 !important;
    background-image: none !important;
    color: #e0e0e0 !important;
    border-color: #404040 !important;
    box-shadow: none !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .sub-summary-card .text-black,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .sub-summary-card .fw-semibold,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .sub-summary-card .fs-4,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .sub-summary-card div,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-shell > h5.text-black {
    color: #f3f4f6 !important;
    -webkit-text-fill-color: #f3f4f6 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .sub-summary-card .sub-summary-icon {
    background: color-mix(in srgb, var(--app-base-color) 16%, var(--dark-theme-surface-3)) !important;
    background-color: color-mix(in srgb, var(--app-base-color) 16%, var(--dark-theme-surface-3)) !important;
    color: var(--dark-theme-accent) !important;
    -webkit-text-fill-color: var(--dark-theme-accent) !important;
    border: 1px solid var(--dark-theme-accent-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .sub-summary-card .sub-summary-icon i {
    color: inherit !important;
    -webkit-text-fill-color: inherit !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .goal-progress-track {
    border: 1px solid #404040 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .goal-progress-bar {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .badge-goal.done {
    background: #07351f !important;
    background-color: #07351f !important;
    color: #bbf7d0 !important;
    -webkit-text-fill-color: #bbf7d0 !important;
    border-color: #22c55e !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .badge-goal.pending {
    background: #3a2b12 !important;
    background-color: #3a2b12 !important;
    color: #fde68a !important;
    -webkit-text-fill-color: #fde68a !important;
    border-color: #f59e0b !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .badge-goal i,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .badge-goal span {
    color: inherit !important;
    -webkit-text-fill-color: inherit !important;
}

/* New dissertative */
:root[data-bs-theme="dark"] body:not(.contrast-mode) .question-display {
    background: #252525 !important;
    background-color: #252525 !important;
    background-image: none !important;
    border-color: #404040 !important;
    box-shadow: none !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .question-display:hover {
    background: #2d2d2d !important;
    background-color: #2d2d2d !important;
    border-color: var(--app-base-color) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .step-content[data-step="2"] h4,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .step-content[data-step="2"] > .row h5[style*="color:black"],
:root[data-bs-theme="dark"] body:not(.contrast-mode) .question-form h5[style*="color:black"],
:root[data-bs-theme="dark"] body:not(.contrast-mode) .question-form h4[style*="color:black"],
:root[data-bs-theme="dark"] body:not(.contrast-mode) .question-form .question-number,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .question-form .form-label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .question-display .question-header h5,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .question-display .question-body,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .question-display .question-text,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .question-display .question-text strong {
    color: #f3f4f6 !important;
    -webkit-text-fill-color: #f3f4f6 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .question-display,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .question-display *,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .review-card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .review-card *,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .question-form input,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .question-form textarea,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .question-form select {
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .user-profile-photo-panel,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .user-profile-photo-wrapper,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #userProfileConfigModal .image-preview-container,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #userProfileConfigModal .image-panel,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #userProfileConfigModal .media-preview-shell,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #userProfileConfigModal [style*="background-color: white"],
:root[data-bs-theme="dark"] body:not(.contrast-mode) #userProfileConfigModal [style*="background-color:#fff"],
:root[data-bs-theme="dark"] body:not(.contrast-mode) #userProfileConfigModal [style*="background: white"],
:root[data-bs-theme="dark"] body:not(.contrast-mode) #userProfileConfigModal [style*="background:#fff"] {
    background: var(--dark-theme-surface) !important;
    background-color: var(--dark-theme-surface) !important;
    color: var(--dark-theme-text) !important;
    border-color: var(--dark-theme-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #userProfileConfigModal .page-loader,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #userProfileConfigModal .preview-placeholder,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #userProfileConfigModal .avatar-placeholder-text {
    color: var(--dark-theme-text-muted) !important;
    -webkit-text-fill-color: var(--dark-theme-text-muted) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .descriptive-report-page .pagination-container nav .d-flex > div,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .descriptive-report-page .pagination-container nav > div {
    background: transparent !important;
    background-color: transparent !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .descriptive-report-page .pagination .page-item .page-link {
    background: var(--dark-theme-surface-2) !important;
    color: var(--dark-theme-text) !important;
    border-color: var(--dark-theme-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .descriptive-report-page .pagination .page-item.active .page-link {
    background: color-mix(in srgb, var(--app-base-color, #97d22f) 85%, black) !important;
    color: #ffffff !important;
    border-color: color-mix(in srgb, var(--app-base-color, #97d22f) 70%, #111111) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .descriptive-report-page .pagination .page-item:hover:not(.active):not(.disabled) .page-link {
    background: #333333 !important;
    color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .descriptive-report-page .pagination .page-item.disabled .page-link {
    background: #2a2a2a !important;
    color: #8c8c8c !important;
    border-color: #3a3a3a !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .sub-summary-card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .sub-summary-card *,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .reading-audio-card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .reading-audio-card * {
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

/* New activities track details modal */
:root[data-bs-theme="dark"] body:not(.contrast-mode) #questionsModal .modal-content,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #questionsModal .modal-header,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #questionsModal .modal-body,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #questionsModal .modal-footer,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #trackInfoHeader,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #modalQuestionsContent {
    background: var(--dark-theme-surface) !important;
    background-color: var(--dark-theme-surface) !important;
    color: var(--dark-theme-text) !important;
    border-color: var(--dark-theme-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #questionsModal .modal-title,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #questionsModal h5,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #questionsModal h6,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #questionsModal strong,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #trackInfoHeader,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #trackInfoHeader *,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #modalQuestionsContent,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #modalQuestionsContent p {
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #questionsModal .btn-close,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #bnccModal .btn-close {
    filter: invert(1) grayscale(1) brightness(1.4) !important;
    opacity: 0.85 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal-question-card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal-structure-block,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal-question-highlight,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal-structure-empty,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal-alt-item,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .tf-preview-item,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .blank-answer-item,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal-feedback-box,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal-bncc-row,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal-question-media-box,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .bncc-card {
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
    background-image: none !important;
    color: var(--dark-theme-text) !important;
    border-color: var(--dark-theme-border) !important;
    box-shadow: none !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal-alt-item.is-correct {
    background: color-mix(in srgb, #22c55e 14%, var(--dark-theme-surface-2)) !important;
    background-color: color-mix(in srgb, #22c55e 14%, var(--dark-theme-surface-2)) !important;
    border-color: color-mix(in srgb, #22c55e 55%, var(--dark-theme-border)) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal-structure-chip,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal-alt-letter,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .tf-preview-index,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .blank-answer-index {
    background: var(--dark-theme-surface-3) !important;
    background-color: var(--dark-theme-surface-3) !important;
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
    border-color: var(--dark-theme-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal-alt-item.is-correct .modal-alt-letter,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal-alt-badge,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .tf-preview-value.is-true {
    background: #166534 !important;
    background-color: #166534 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .tf-preview-value.is-false {
    background: #7f1d1d !important;
    background-color: #7f1d1d !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal-structure-label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal-structure-title,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal-structure-value,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal-alt-text,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .tf-preview-text,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .blank-answer-text,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal-order-list,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal-order-list li,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal-feedback-box,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal-bncc-row {
    color: var(--dark-theme-text) !important;
    -webkit-text-fill-color: var(--dark-theme-text) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .table.table-bordered.table-black,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .table.table-bordered.table-black thead,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .table.table-bordered.table-black tbody,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .table.table-bordered.table-black th,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .table.table-bordered.table-black td,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal-match-table,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal-match-table th,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal-match-table td {
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
    color: var(--dark-theme-text) !important;
    -webkit-text-fill-color: var(--dark-theme-text) !important;
    border-color: var(--dark-theme-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal-match-table thead th {
    background: var(--dark-theme-surface-3) !important;
    background-color: var(--dark-theme-surface-3) !important;
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

/* New activities: keep the details modal hierarchy readable in dark mode. */
:root[data-bs-theme="dark"] body:not(.contrast-mode) #questionsModal .modal-content,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #questionsModal .modal-header,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #questionsModal .modal-body,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #questionsModal #trackInfoHeader,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #questionsModal #modalQuestionsContent {
    background: #202020 !important;
    background-color: #202020 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #questionsModal .modal-question-card {
    background: #242424 !important;
    background-color: #242424 !important;
    border-color: #3a3a3a !important;
    box-shadow: none !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #questionsModal .modal-structure-block,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #questionsModal .modal-question-highlight,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #questionsModal .modal-feedback-box,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #questionsModal .modal-bncc-row {
    background: transparent !important;
    background-color: transparent !important;
    border-color: #3a3a3a !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #questionsModal .modal-structure-empty,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #questionsModal .tf-preview-item,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #questionsModal .blank-answer-item,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #questionsModal .modal-alt-item {
    background: transparent !important;
    background-color: transparent !important;
    border-color: #3a3a3a !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #questionsModal .modal-structure-chip {
    background: var(--app-base-color) !important;
    background-color: var(--app-base-color) !important;
    border-color: var(--app-base-color) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #questionsModal .modal-structure-label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #questionsModal .modal-structure-title,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #questionsModal .modal-title,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #questionsModal strong {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #questionsModal .modal-structure-value,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #questionsModal .modal-alt-text,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #questionsModal .tf-preview-text,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #questionsModal .blank-answer-text,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #questionsModal .modal-order-list,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #questionsModal .modal-order-list li,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #questionsModal #trackInfoHeader,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #questionsModal #trackInfoHeader .text-muted,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #questionsModal .text-muted {
    color: #d7dce2 !important;
    -webkit-text-fill-color: #d7dce2 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #questionsModal .modal-structure-label {
    color: var(--app-secondary-color) !important;
    -webkit-text-fill-color: var(--app-secondary-color) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #questionsModal .modal-question-highlight {
    border-left: 4px solid var(--app-base-color) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #questionsModal .modal-feedback-box {
    border-top-color: #3a3a3a !important;
    border-left: 4px solid var(--app-secondary-color) !important;
    padding-left: 14px !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #questionsModal .modal-bncc-row {
    border-top-color: #3a3a3a !important;
    border-left: 4px solid #ff8a00 !important;
    padding-left: 14px !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #questionsModal .modal-alt-letter,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #questionsModal .tf-preview-index,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #questionsModal .blank-answer-index {
    background: var(--app-base-color) !important;
    background-color: var(--app-base-color) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #questionsModal .badge[style*="#2EE0A4"],
:root[data-bs-theme="dark"] body:not(.contrast-mode) #questionsModal .badge[style*="rgb(46, 224, 164)"],
:root[data-bs-theme="dark"] body:not(.contrast-mode) #questionsModal .badge[style*="#FFD600"],
:root[data-bs-theme="dark"] body:not(.contrast-mode) #questionsModal .badge[style*="rgb(255, 214, 0)"],
:root[data-bs-theme="dark"] body:not(.contrast-mode) #questionsModal .badge-bncc,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #questionsModal .badge-bncc .bncc-dot {
    color: #111827 !important;
    -webkit-text-fill-color: #111827 !important;
    text-shadow: none !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #questionsModal .badge[style*="#FF0000"],
:root[data-bs-theme="dark"] body:not(.contrast-mode) #questionsModal .badge[style*="rgb(255, 0, 0)"] {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    text-shadow: none !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #questionsModal .badge-bncc {
    box-shadow: 0 2px 8px rgba(255, 106, 0, .32) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #questionsModal .modal-alt-item.is-correct {
    background: color-mix(in srgb, #22c55e 18%, #202020) !important;
    background-color: color-mix(in srgb, #22c55e 18%, #202020) !important;
    border-color: #22c55e !important;
}



:root[data-bs-theme="dark"] body:not(.contrast-mode) #catalogTrackActiveLabel {
    color: var(--dark-theme-text-muted) !important;
    -webkit-text-fill-color: var(--dark-theme-text-muted) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .alert.alert-info.mt-3,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #resultsWrap > .alert.alert-info.mt-3 {
    background: var(--dark-theme-accent-soft) !important;
    background-color: var(--dark-theme-accent-soft) !important;
    border-color: var(--dark-theme-accent-border) !important;
    color: var(--dark-theme-text) !important;
    -webkit-text-fill-color: var(--dark-theme-text) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .alert.alert-info.mt-3 strong,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #resultsWrap > .alert.alert-info.mt-3 strong {
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

/* StudentLibrary declares this empty state as white in its page-local stylesheet. */
:root[data-bs-theme="dark"] body:not(.contrast-mode) .alert.alert-info.student-library-empty-alert {
    background: var(--dark-theme-accent-soft) !important;
    background-color: var(--dark-theme-accent-soft) !important;
    border-color: var(--dark-theme-accent-border) !important;
    color: var(--dark-theme-text) !important;
    -webkit-text-fill-color: var(--dark-theme-text) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .alert.alert-info.student-library-empty-alert span,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .alert.alert-info.student-library-empty-alert strong {
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .gamified-card .card-body,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .gamified-card .list-group,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .gamified-card .list-group-item {
    background: var(--dark-theme-surface) !important;
    background-color: var(--dark-theme-surface) !important;
    color: var(--dark-theme-text) !important;
    border-color: var(--dark-theme-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .gamified-card .list-group-item.bg-light {
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
    color: var(--dark-theme-text) !important;
    border-color: var(--dark-theme-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .gamified-card .list-group-item .flex-grow-1,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .gamified-card .list-group-item .flex-grow-1 *,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .gamified-card .card-body p,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .gamified-card .card-body strong {
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .gamified-card .card-body .text-muted {
    color: var(--dark-theme-text-muted) !important;
    -webkit-text-fill-color: var(--dark-theme-text-muted) !important;
}

/* Regional Activities declares its card shell white locally. Keep the dropdown clipped to the dark shell. */
:root[data-bs-theme="dark"] body:not(.contrast-mode) .regional-activities-page .gamified-card {
    background: var(--dark-theme-surface) !important;
    background-color: var(--dark-theme-surface) !important;
    border-radius: 15px !important;
    overflow: hidden !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .regional-activities-page .gamified-card > .track-card-header {
    background-clip: padding-box !important;
    border-radius: 15px 15px 0 0 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .regional-activities-page .gamified-card > .card-body {
    background: var(--dark-theme-surface) !important;
    background-color: var(--dark-theme-surface) !important;
    border-radius: 0 0 15px 15px !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .kid-bg,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .kid-card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .kid-empty,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .card-title-header,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .card-body-dropdown,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .card-body-dropdown .kid-dates,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .card-body-dropdown .kid-progress,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .kid-date.item,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-cover-badge,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #detailsModal .modal-content,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #detailsModal .modal-body,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #bnccModal .modal-content,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #bnccModal .modal-body,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .kid-ul li,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .bncc-card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .q-item,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .q-title {
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
    color: var(--dark-theme-text) !important;
    border-color: var(--dark-theme-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .kid-bg {
    background:
        radial-gradient(20px 20px at 20% 10%, color-mix(in srgb, var(--app-secondary-color) 10%, var(--dark-theme-surface)) 98%, transparent 100%),
        radial-gradient(24px 24px at 80% 30%, color-mix(in srgb, var(--app-base-color) 8%, var(--dark-theme-surface)) 98%, transparent 100%),
        radial-gradient(18px 18px at 15% 75%, color-mix(in srgb, var(--app-secondary-color) 16%, var(--dark-theme-surface)) 98%, transparent 100%),
        var(--dark-theme-surface) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .kid-tabs .nav-link {
    color: var(--dark-theme-text-muted) !important;
    background: transparent !important;
    background-color: transparent !important;
    border-color: transparent !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .kid-tabs .nav-link.active {
    color: var(--dark-theme-text-strong) !important;
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
    border-bottom-color: var(--dark-theme-accent) !important;
    box-shadow: inset 0 0 0 1px var(--dark-theme-accent-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .kid-title,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .card-title-header h5,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .activity-label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #detailsModal .modal-title,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #detailsModal h6,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #bnccModal .modal-title,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .bncc-card-code {
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .kid-subtitle,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .kid-empty-text,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .kid-date.item,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .q-title,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .bncc-card-desc,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #detailsModal .modal-subtitle,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #detailsModal .text-muted,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #bnccModal .text-muted {
    color: var(--dark-theme-text-muted) !important;
    -webkit-text-fill-color: var(--dark-theme-text-muted) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .card-title-header .book-label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-cover-placeholder,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .q-dot {
    color: var(--dark-theme-text-muted) !important;
    -webkit-text-fill-color: var(--dark-theme-text-muted) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .q-dot {
    background: var(--dark-theme-surface-3) !important;
    background-color: var(--dark-theme-surface-3) !important;
    border-color: var(--dark-theme-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .q-dot.ok + .q-title,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .q-dot.bad + .q-title {
    background-color: var(--dark-theme-surface-3) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .kid-progress {
    background: var(--dark-theme-surface-3) !important;
    background-color: var(--dark-theme-surface-3) !important;
    border-color: var(--dark-theme-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .kid-gradient,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .kid-gradient-2 {
    background:
        linear-gradient(
            90deg,
            color-mix(in srgb, var(--app-secondary-color) 58%, var(--dark-theme-surface-2)) 0%,
            color-mix(in srgb, var(--app-secondary-color) 20%, var(--dark-theme-surface-2)) 100%
        ) !important;
    background-color: color-mix(in srgb, var(--app-secondary-color) 36%, var(--dark-theme-surface-2)) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .card-body-dropdown .kid-dates {
    background: transparent !important;
    background-color: transparent !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .kid-date.item {
    background: color-mix(in srgb, var(--app-base-color) 5%, var(--dark-theme-surface-2)) !important;
    background-color: color-mix(in srgb, var(--app-base-color) 5%, var(--dark-theme-surface-2)) !important;
    border: 1px solid color-mix(in srgb, var(--app-secondary-color) 12%, var(--dark-theme-border)) !important;
    color: var(--dark-theme-text) !important;
    -webkit-text-fill-color: var(--dark-theme-text) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .kid-date.item .label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .kid-date.item .value {
    color: var(--dark-theme-text) !important;
    -webkit-text-fill-color: var(--dark-theme-text) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .kid-date.item .icon {
    filter: saturate(0.82) brightness(0.96);
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .kid-badge-pill.bg-success,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .kid-badge.bg-success {
    background: color-mix(in srgb, #22c55e 46%, var(--dark-theme-surface-2)) !important;
    background-color: color-mix(in srgb, #22c55e 46%, var(--dark-theme-surface-2)) !important;
    color: #eafff2 !important;
    -webkit-text-fill-color: #eafff2 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .kid-badge-pill.bg-danger,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .kid-badge.bg-danger {
    background: color-mix(in srgb, #ef4444 52%, var(--dark-theme-surface-2)) !important;
    background-color: color-mix(in srgb, #ef4444 52%, var(--dark-theme-surface-2)) !important;
    color: #fff1f1 !important;
    -webkit-text-fill-color: #fff1f1 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .kid-badge-pill.bg-warning,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .kid-badge.bg-warning {
    background: color-mix(in srgb, #facc15 62%, var(--dark-theme-surface-2)) !important;
    background-color: color-mix(in srgb, #facc15 62%, var(--dark-theme-surface-2)) !important;
    color: #1f2937 !important;
    -webkit-text-fill-color: #1f2937 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .kid-badge-pill.bg-info,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .kid-badge.bg-info {
    background: color-mix(in srgb, #38bdf8 46%, var(--dark-theme-surface-2)) !important;
    background-color: color-mix(in srgb, #38bdf8 46%, var(--dark-theme-surface-2)) !important;
    color: #effaff !important;
    -webkit-text-fill-color: #effaff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .kid-progress-bar,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .kid-progress-bar-2 {
    background:
        linear-gradient(
            90deg,
            color-mix(in srgb, var(--app-secondary-color) 72%, var(--dark-theme-surface-2)),
            color-mix(in srgb, var(--app-third-color) 52%, var(--dark-theme-surface-2))
        ) !important;
    background-color: color-mix(in srgb, var(--app-secondary-color) 58%, var(--dark-theme-surface-2)) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .kid-chip,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-kid-outline,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .card-actions-wrapper .btn-kid-outline,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .card-actions .btn-kid-outline,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .bncc-chip {
    background: var(--dark-theme-surface-3) !important;
    background-color: var(--dark-theme-surface-3) !important;
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
    border-color: var(--dark-theme-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-kid-disabled {
    background: color-mix(in srgb, var(--dark-theme-border) 70%, var(--dark-theme-surface-3)) !important;
    color: var(--dark-theme-text-muted) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .container-default:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .container-default-activitiGraph:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .container-default-progressGraph:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .container-default-studentGraph:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .container-default-studentProgress:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .container-default-bnccBars:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .container-default-activityBars:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .container-default-activityBars-unique:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .container-default-activitySlopeChart:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .dashboard-widget-panel:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .overview-card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .admin-dashboard-card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .bg-white.w-100.h-100.d-flex.flex-column:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .bg-white.border-4.border-purple-200:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .bg-white.overflow-hidden[style*="border: 4px solid"]:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .bg-white.rounded-2xl.shadow-sm.border-gray-100:not(#canvasPage):not(#canvasPage *) {
    background: var(--dark-theme-surface) !important;
    background-color: var(--dark-theme-surface) !important;
    color: var(--dark-theme-text) !important;
    border-color: var(--dark-theme-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .dashboard-widget-panel:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .container-default:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .container-default-activitiGraph:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .container-default-progressGraph:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .container-default-studentGraph:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .container-default-studentProgress:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .container-default-bnccBars:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .container-default-activityBars:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .container-default-activityBars-unique:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .container-default-activitySlopeChart:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .bg-white.w-100.h-100.d-flex.flex-column:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .bg-white.border-4.border-purple-200:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .bg-white.overflow-hidden[style*="border: 4px solid"]:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .bg-white.rounded-2xl.shadow-sm.border-gray-100:not(#canvasPage):not(#canvasPage *) {
    border-radius: 1.5rem !important;
    overflow: hidden !important;
    border-width: 3px !important;
    border-style: solid !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .dashboard-widget-header:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .container-default-studentGraph > .container-default-inner-studentGraph:first-child:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .container-default-studentProgress > .container-default-inner-studentProgress:first-child:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .container-default-bnccBars > .container-default-inner-bnccBars:first-child:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .container-default-activityBars > .container-default-inner-activityBars:first-child:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .container-default-activityBars-unique > .container-default-inner-activityBars-unique:first-child:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .container-default-activitySlopeChart > .container-default-inner-activitySlopeChart:first-child:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .bg-white.w-100.h-100.d-flex.flex-column > .bg-blue-50:first-child:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .bg-white.border-4.border-purple-200 > .bg-blue-50:first-child:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .bg-white.overflow-hidden[style*="border: 4px solid"] > .bg-blue-50:first-child:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .bg-white.rounded-2xl.shadow-sm.border-gray-100 > .bg-blue-50:first-child:not(#canvasPage):not(#canvasPage *) {
    border-radius: 1.25rem 1.25rem 0 0 !important;
    background: color-mix(in srgb, var(--app-base-color) 10%, var(--dark-theme-surface-2)) !important;
    background-color: color-mix(in srgb, var(--app-base-color) 10%, var(--dark-theme-surface-2)) !important;
    border-bottom-color: color-mix(in srgb, var(--app-base-color) 32%, var(--dark-theme-border)) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .dashboard-widget-body:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .dashboard-content-progressGraph:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .dashboard-content-studentGraph:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .dashboard-content-studentProgress:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .dashboard-content-bnccBars:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .dashboard-content-activityBars:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .dashboard-content-activityBars-unique:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .dashboard-content-activitySlopeChart:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .bg-white.w-100.h-100.d-flex.flex-column > .p-6:last-child:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .bg-white.overflow-hidden[style*="border: 4px solid"] > .p-6:last-child:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .bg-white.rounded-2xl.shadow-sm.border-gray-100 > .p-6:last-child:not(#canvasPage):not(#canvasPage *) {
    border-radius: 0 0 1.25rem 1.25rem !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .container-header .title:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .container-default-activitiGraph .bg-blue-50:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .container-default-inner-studentGraph:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .container-default-inner-studentProgress:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .container-default-inner-bnccBars:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .container-default-inner-activityBars:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .container-default-inner-activityBars-unique:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .container-default-inner-activitySlopeChart:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .title-container-studentGraph:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .title-container-studentProgress:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .title-progressGraph:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .title-bnccBars:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .title-activitySlopeChart:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .title-activityBars:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .overview-number:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .overview-label:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .admin-dashboard-card__label:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .admin-dashboard-card__value:not(#canvasPage):not(#canvasPage *) {
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .performance-card.top-schools-card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .performance-card.worst-schools-card:not(#canvasPage):not(#canvasPage *) {
    border-radius: 1.5rem !important;
    overflow: hidden !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .top-schools-body:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .worst-schools-body:not(#canvasPage):not(#canvasPage *) {
    border-radius: 0 0 1.25rem 1.25rem !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .library-book-card:not(#canvasPage):not(#canvasPage *) {
    border-radius: 20px !important;
    overflow: hidden !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .library-book-cover:not(#canvasPage):not(#canvasPage *) {
    border-radius: 17px 17px 0 0 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .library-book-body:not(#canvasPage):not(#canvasPage *) {
    border-radius: 0 0 17px 17px !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .dashboard-accent-card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .progress-track-card:not(#canvasPage):not(#canvasPage *) {
    background: linear-gradient(145deg,
            color-mix(in srgb, var(--app-base-color) 7%, var(--dark-theme-surface)) 0%,
            var(--dark-theme-surface-2) 58%,
            color-mix(in srgb, var(--app-third-color) 4%, var(--dark-theme-surface)) 100%) !important;
    background-color: var(--dark-theme-surface-2) !important;
    color: var(--dark-theme-text) !important;
    border-color: color-mix(in srgb, var(--app-base-color) 42%, var(--dark-theme-border)) !important;
    border-width: 3px !important;
    border-style: solid !important;
    box-shadow: var(--dark-theme-panel-shadow) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .dashboard-accent-card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .progress-track-card:not(#canvasPage):not(#canvasPage *) {
    border-radius: 1.5rem !important;
    overflow: hidden !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .dashboard-accent-card__header:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .dashboard-widget-header:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .progress-track-header:not(#canvasPage):not(#canvasPage *) {
    background: color-mix(in srgb, var(--app-base-color) 10%, var(--dark-theme-surface-2)) !important;
    background-color: color-mix(in srgb, var(--app-base-color) 10%, var(--dark-theme-surface-2)) !important;
    border-bottom-color: color-mix(in srgb, var(--app-base-color) 32%, var(--dark-theme-border)) !important;
    color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .dashboard-accent-card__header h1:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .dashboard-accent-card__header h2:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .dashboard-accent-card__header h3:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .dashboard-accent-card__header h4:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .dashboard-accent-card__header h5:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .dashboard-accent-card__header h6:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .dashboard-widget-header h1:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .dashboard-widget-header h2:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .dashboard-widget-header h3:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .dashboard-widget-header h4:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .dashboard-widget-header h5:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .dashboard-widget-header h6:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .progress-track-header h1:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .progress-track-header h2:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .progress-track-header h3:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .progress-track-header h4:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .progress-track-header h5:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .progress-track-header h6:not(#canvasPage):not(#canvasPage *) {
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .dashboard-accent-card__body:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .dashboard-widget-body:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .progress-track-content:not(#canvasPage):not(#canvasPage *) {
    background: transparent !important;
    color: var(--dark-theme-text) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .top-neigh-item:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .worst-neigh-item:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .city-item:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .perf-metric-box:not(#canvasPage):not(#canvasPage *) {
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
    border-color: var(--dark-theme-border) !important;
    color: var(--dark-theme-text) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .perf-score-inner:not(#canvasPage):not(#canvasPage *) {
    background: var(--dark-theme-surface) !important;
    background-color: var(--dark-theme-surface) !important;
    border-color: var(--dark-theme-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .container-default-activityBars-unique:not(#canvasPage):not(#canvasPage *) {
    background: linear-gradient(145deg,
            color-mix(in srgb, var(--app-base-color) 7%, var(--dark-theme-surface)) 0%,
            var(--dark-theme-surface-2) 58%,
            color-mix(in srgb, var(--app-third-color) 4%, var(--dark-theme-surface)) 100%) !important;
    background-color: var(--dark-theme-surface-2) !important;
    border-color: color-mix(in srgb, var(--app-base-color) 42%, var(--dark-theme-border)) !important;
    box-shadow: var(--dark-theme-panel-shadow) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .container-default-progressGraph:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .container-default-studentGraph:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .container-default-studentProgress:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .container-default-bnccBars:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .container-default-activityBars:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .container-default-activitySlopeChart:not(#canvasPage):not(#canvasPage *) {
    background: linear-gradient(145deg,
            color-mix(in srgb, var(--app-base-color) 7%, var(--dark-theme-surface)) 0%,
            var(--dark-theme-surface-2) 58%,
            color-mix(in srgb, var(--app-third-color) 4%, var(--dark-theme-surface)) 100%) !important;
    background-color: var(--dark-theme-surface-2) !important;
    color: var(--dark-theme-text) !important;
    border-color: color-mix(in srgb, var(--app-base-color) 42%, var(--dark-theme-border)) !important;
    box-shadow: var(--dark-theme-panel-shadow) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .dashboard-content-activityBars-unique:not(#canvasPage):not(#canvasPage *) {
    color: var(--dark-theme-text) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #nreMetricsWrapper .text-blue-700:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) #nreMetricsWrapper .text-green-700:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) #nreMetricsWrapper .text-yellow-700:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .grid.grid-cols-3.gap-4.text-center .text-blue-700:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .grid.grid-cols-3.gap-4.text-center .text-green-700:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .grid.grid-cols-3.gap-4.text-center .text-yellow-700:not(#canvasPage):not(#canvasPage *) {
    color: var(--dark-theme-text-muted) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #nreMetricsWrapper .text-blue-800:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) #nreMetricsWrapper .text-green-800:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) #nreMetricsWrapper .text-yellow-800:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .grid.grid-cols-3.gap-4.text-center .text-blue-800:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .grid.grid-cols-3.gap-4.text-center .text-green-800:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .grid.grid-cols-3.gap-4.text-center .text-yellow-800:not(#canvasPage):not(#canvasPage *) {
    color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .title-activityBars-unique:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .top-neigh-name:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .worst-neigh-name:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .city-name:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .subject-performance-title:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .dashboard-card.dashboard-accent-card h3:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .perf-label:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .perf-value:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .perf-value-small:not(#canvasPage):not(#canvasPage *) {
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .top-neigh-stat:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .worst-neigh-stat:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .city-stat:not(#canvasPage):not(#canvasPage *) {
    color: var(--dark-theme-text-muted) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .subject-performance-card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .subject-performance-content:not(#canvasPage):not(#canvasPage *) {
    background: transparent !important;
    color: var(--dark-theme-text) !important;
    border-color: var(--dark-theme-accent-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .dashboard-grid .dashboard-card:not(#canvasPage):not(#canvasPage *) {
    background: linear-gradient(145deg,
            color-mix(in srgb, var(--app-base-color) 9%, var(--dark-theme-surface)) 0%,
            var(--dark-theme-surface-2) 62%,
            color-mix(in srgb, var(--app-third-color) 5%, var(--dark-theme-surface)) 100%) !important;
    background-color: var(--dark-theme-surface-2) !important;
    border-color: color-mix(in srgb, var(--app-base-color) 52%, #ffffff) !important;
    box-shadow:
        0 0 0 1px color-mix(in srgb, var(--app-base-color) 18%, transparent),
        0 14px 34px rgba(0, 0, 0, 0.28) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-dashboard-chart-frame:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-dashboard-chart-frame .apexcharts-canvas:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-dashboard-chart-frame .apexcharts-svg:not(#canvasPage):not(#canvasPage *) {
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
    color: var(--dark-theme-text) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-dashboard-chart-frame:not(#canvasPage):not(#canvasPage *) {
    border-color: color-mix(in srgb, var(--app-secondary-color) 62%, var(--dark-theme-border)) !important;
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--app-secondary-color) 12%, transparent) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-dashboard-chart-frame .apexcharts-svg > rect:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-dashboard-chart-frame .apexcharts-zoom-rect:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-dashboard-chart-frame .apexcharts-selection-rect:not(#canvasPage):not(#canvasPage *) {
    fill: var(--dark-theme-surface-2) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-dashboard-chart-frame .apexcharts-text:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-dashboard-chart-frame .apexcharts-text tspan:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-dashboard-chart-frame .apexcharts-xaxis-label:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-dashboard-chart-frame .apexcharts-xaxis-label tspan:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-dashboard-chart-frame .apexcharts-yaxis-label:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-dashboard-chart-frame .apexcharts-yaxis-label tspan:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-dashboard-chart-frame .apexcharts-xaxis-title-text:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-dashboard-chart-frame .apexcharts-yaxis-title-text:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-dashboard-chart-frame .apexcharts-legend-text:not(#canvasPage):not(#canvasPage *) {
    fill: var(--dark-theme-text-strong) !important;
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-dashboard-chart-frame .apexcharts-gridline:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-dashboard-chart-frame .apexcharts-grid-borders line:not(#canvasPage):not(#canvasPage *) {
    stroke: color-mix(in srgb, var(--app-secondary-color) 72%, var(--dark-theme-border)) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-dashboard-chart-frame .apexcharts-xaxis-tick:not(#canvasPage):not(#canvasPage *) {
    stroke: var(--dark-theme-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-dashboard-chart-frame .apexcharts-marker:not(#canvasPage):not(#canvasPage *) {
    stroke: var(--dark-theme-surface-2) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-dashboard-chart-frame .apexcharts-tooltip:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-dashboard-chart-frame .apexcharts-xaxistooltip:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-dashboard-chart-frame .apexcharts-yaxistooltip:not(#canvasPage):not(#canvasPage *) {
    background: var(--dark-theme-surface-3) !important;
    background-color: var(--dark-theme-surface-3) !important;
    color: var(--dark-theme-text-strong) !important;
    border-color: var(--dark-theme-border) !important;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.38) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-dashboard-chart-frame .apexcharts-tooltip-title:not(#canvasPage):not(#canvasPage *) {
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
    color: var(--dark-theme-text-strong) !important;
    border-bottom-color: var(--dark-theme-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-dashboard-chart-frame .apexcharts-tooltip-text,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-dashboard-chart-frame .apexcharts-tooltip-text span,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-dashboard-chart-frame .apexcharts-xaxistooltip-text,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-dashboard-chart-frame .apexcharts-yaxistooltip-text {
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .fluency-status:not(#canvasPage):not(#canvasPage *) {
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
    color: var(--dark-theme-text-strong) !important;
    border-color: var(--dark-theme-accent-border) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06), 0 10px 22px rgba(0, 0, 0, 0.18) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .fluency-status span:not(#canvasPage):not(#canvasPage *) {
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .fluency-status.status-idle:not(#canvasPage):not(#canvasPage *) {
    background: color-mix(in srgb, var(--app-base-color) 9%, var(--dark-theme-surface-2)) !important;
    background-color: color-mix(in srgb, var(--app-base-color) 9%, var(--dark-theme-surface-2)) !important;
    border-color: color-mix(in srgb, var(--app-base-color) 42%, var(--dark-theme-border)) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .result-v2-alert:not(#canvasPage):not(#canvasPage *) {
    box-shadow: 0 12px 26px rgba(0, 0, 0, 0.28) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .result-v2-warning:not(#canvasPage):not(#canvasPage *) {
    background: #3a2608 !important;
    background-color: #3a2608 !important;
    color: #ffe8bf !important;
    border-color: #f59e0b !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .result-v2-success:not(#canvasPage):not(#canvasPage *) {
    background: #07351f !important;
    background-color: #07351f !important;
    color: #bbf7d0 !important;
    border-color: #22c55e !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .result-v2-alert .result-v2-alert-title:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .result-v2-alert .result-v2-alert-detail:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .result-v2-alert .result-v2-alert-detail strong:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .result-v2-alert .result-v2-alert-detail span:not(#canvasPage):not(#canvasPage *) {
    color: inherit !important;
    -webkit-text-fill-color: currentColor !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #welcomeModal .alert-light:not(#canvasPage):not(#canvasPage *) {
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
    color: var(--dark-theme-text-strong) !important;
    border: 1px solid var(--dark-theme-accent-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #welcomeModal .alert-light .text-muted:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) #welcomeModal .alert-light .text-muted span:not(#canvasPage):not(#canvasPage *) {
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

/* Subtle border accents on dashboard and card surfaces */
:root[data-bs-theme="dark"] body:not(.contrast-mode) .dashboard-card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .container-default-activitiGraph:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .container-default:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .container-default-progressGraph:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .container-default-studentGraph:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .container-default-studentProgress:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .container-default-bnccBars:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .container-default-activityBars:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .container-default-activityBars-unique:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .container-default-activitySlopeChart:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .dashboard-widget-panel:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .dashboard-cards > *:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .dashboard-cards-grid > *:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .performance-card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .top-schools-card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .worst-schools-card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .top-neighborhoods-card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .worst-neighborhoods-card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .overview-card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .admin-dashboard-card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .bg-white.w-100.h-100.d-flex.flex-column:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .bg-white.overflow-hidden[style*="border: 4px solid"]:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .bg-white.rounded-2xl.shadow-sm.border-gray-100:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .school-item:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .school-item-worst:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .top-neigh-item:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .worst-neigh-item:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .perf-score-inner:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .perf-metric-box:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .status-toolbar-card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .assigned-track:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .sensorama-track-card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .activity-track-card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .track-card .card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .institution-card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .class-card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .sub-summary-card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .reading-audio-card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .gamified-card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .custom-card-hover:not(#canvasPage):not(#canvasPage *) {
    border-color: color-mix(in srgb, var(--app-base-color) 56%, var(--dark-theme-border)) !important;
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--app-base-color) 32%, transparent), 0 10px 24px rgba(0, 0, 0, 0.14) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .top-schools-header:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .worst-schools-header:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .top-neigh-header:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .worst-neigh-header:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .perf-header:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .custom-card-hover .border-top:not(#canvasPage):not(#canvasPage *) {
    border-color: var(--dark-theme-accent-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .track-card:not(#canvasPage):not(#canvasPage *) {
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

/* Broad dropdown/select coverage for reports, dashboards and register modals */
:root[data-bs-theme="dark"] body:not(.contrast-mode) select:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .form-select:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .select-ri:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .searchable-select:not(#canvasPage):not(#canvasPage *) {
    background-color: var(--dark-theme-surface-3) !important;
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
    border-color: var(--dark-theme-border) !important;
    color-scheme: dark;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) select option,
:root[data-bs-theme="dark"] body:not(.contrast-mode) select optgroup,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .form-select option,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .select-ri option,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .searchable-select option {
    background-color: var(--dark-theme-surface-3) !important;
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) select option:checked,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .form-select option:checked,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .select-ri option:checked,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .searchable-select option:checked {
    background-color: color-mix(in srgb, var(--app-base-color) 34%, var(--dark-theme-surface-3)) !important;
    color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) select option:disabled,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .form-select option:disabled,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .select-ri option:disabled,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .searchable-select option:disabled {
    background-color: var(--dark-theme-surface-2) !important;
    color: var(--dark-theme-text-muted) !important;
    -webkit-text-fill-color: var(--dark-theme-text-muted) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .choices:not(#canvasPage):not(#canvasPage *) {
    color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .choices__inner:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .choices__list--dropdown:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .choices__list[aria-expanded]:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .select2-dropdown:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .select2-container--default .select2-selection--single:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .select2-container--default .select2-selection--multiple:not(#canvasPage):not(#canvasPage *) {
    background-color: var(--dark-theme-surface-3) !important;
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
    border-color: var(--dark-theme-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .choices__list--dropdown .choices__item,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .choices__list[aria-expanded] .choices__item,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .choices__item--choice,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .select2-results__option {
    background-color: var(--dark-theme-surface-3) !important;
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .choices__list--dropdown .choices__item--selectable.is-highlighted,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .choices__list[aria-expanded] .choices__item--selectable.is-highlighted,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: color-mix(in srgb, var(--app-base-color) 32%, var(--dark-theme-surface-3)) !important;
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .choices__list--dropdown .choices__item--choice.is-disabled,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .choices__list[aria-expanded] .choices__item--choice.is-disabled,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .choices__item--disabled,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .select2-results__option[aria-disabled="true"] {
    background-color: var(--dark-theme-surface-2) !important;
    color: var(--dark-theme-text-muted) !important;
    -webkit-text-fill-color: var(--dark-theme-text-muted) !important;
    opacity: 1 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .choices__placeholder,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .select2-selection__placeholder {
    color: var(--dark-theme-text-muted) !important;
    -webkit-text-fill-color: var(--dark-theme-text-muted) !important;
    opacity: 1 !important;
}

/* Dashboard "Outros" menus and action dropdowns */
:root[data-bs-theme="dark"] body:not(.contrast-mode) #outrosDropdown,
:root[data-bs-theme="dark"] body:not(.contrast-mode) [id^="outrosDropdown"],
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-white.text-primary.dropdown-toggle {
    background-color: var(--dark-theme-surface-2) !important;
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
    border-color: var(--dark-theme-accent-border) !important;
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--app-base-color) 20%, transparent) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #outrosDropdown:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) [id^="outrosDropdown"]:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-white.text-primary.dropdown-toggle:hover {
    background-color: var(--dark-theme-surface-3) !important;
    color: var(--dark-theme-accent) !important;
    -webkit-text-fill-color: var(--dark-theme-accent) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .dropdown-menu[aria-labelledby^="outrosDropdown"],
:root[data-bs-theme="dark"] body:not(.contrast-mode) .dropdown-menu[aria-labelledby="outrosDropdown"] {
    background-color: var(--dark-theme-surface-2) !important;
    border-color: var(--dark-theme-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .custom-card-hover:has(.dropdown-menu[aria-labelledby^="outrosDropdown"]) {
    overflow: visible !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .custom-card-hover:has(.dropdown-menu[aria-labelledby^="outrosDropdown"].show) {
    position: relative !important;
    z-index: 2000 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .custom-card-hover .dropdown-menu[aria-labelledby^="outrosDropdown"] {
    inset: auto auto 100% 0 !important;
    top: auto !important;
    bottom: 100% !important;
    transform: translate3d(0, -0.25rem, 0) !important;
    margin: 0 !important;
    white-space: nowrap !important;
    z-index: 2001 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .dropdown-menu[aria-labelledby^="outrosDropdown"] .dropdown-item,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .dropdown-menu[aria-labelledby="outrosDropdown"] .dropdown-item {
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .dropdown-menu[aria-labelledby^="outrosDropdown"] .dropdown-item:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .dropdown-menu[aria-labelledby="outrosDropdown"] .dropdown-item:hover {
    background-color: color-mix(in srgb, var(--app-base-color) 20%, var(--dark-theme-surface-3)) !important;
    color: var(--dark-theme-text-strong) !important;
}

/* Register user/class modals and custom multi-selects */
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registerClassesModal .modal-content,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registerTeachersModal .modal-content,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registerStudentModal .modal-content,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registerPrincipalModal .modal-content,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registerManagerModal .modal-content,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registerRegionalManagerModal .modal-content,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registerAdminModal .modal-content {
    background-color: var(--dark-theme-surface) !important;
    color: var(--dark-theme-text) !important;
    border-color: var(--dark-theme-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #registerClassesModal .modal-header,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registerClassesModal .modal-footer,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registerTeachersModal .modal-header,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registerTeachersModal .modal-footer,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registerStudentModal .modal-header,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registerStudentModal .modal-footer,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registerPrincipalModal .modal-header,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registerPrincipalModal .modal-footer,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registerManagerModal .modal-header,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registerManagerModal .modal-footer,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registerRegionalManagerModal .modal-header,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registerRegionalManagerModal .modal-footer,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registerAdminModal .modal-header,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registerAdminModal .modal-footer {
    background-color: var(--dark-theme-surface-2) !important;
    border-color: var(--dark-theme-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #registerClassesModal .card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registerTeachersModal .card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registerStudentModal .card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registerPrincipalModal .card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registerManagerModal .card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registerRegionalManagerModal .card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registerAdminModal .card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registerClassesModal [style*="background-color:#FFF"],
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registerClassesModal [style*="background-color: #FFF"],
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registerTeachersModal [style*="background-color:#FFF"],
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registerTeachersModal [style*="background-color: #FFF"],
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registerStudentModal [style*="background-color:#FFF"],
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registerStudentModal [style*="background-color: #FFF"] {
    background-color: var(--dark-theme-surface-2) !important;
    color: var(--dark-theme-text) !important;
    border-color: var(--dark-theme-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #registerClassesModal .text-dark,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registerTeachersModal .text-dark,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registerStudentModal .text-dark,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registerPrincipalModal .text-dark,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registerManagerModal .text-dark,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registerRegionalManagerModal .text-dark,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registerAdminModal .text-dark {
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #registerManagerModal .modal-footer .custom-button[data-bs-dismiss],
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registerRegionalManagerModal .modal-footer .custom-button[data-bs-dismiss] {
    background: var(--dark-theme-surface-3) !important;
    background-color: var(--dark-theme-surface-3) !important;
    border-color: var(--dark-theme-border) !important;
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #registerManagerModal .modal-footer .custom-button[data-bs-dismiss] img,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registerRegionalManagerModal .modal-footer .custom-button[data-bs-dismiss] img {
    filter: invert(1) brightness(1.15);
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #registerManagerModal .modal-footer .custom-button.primary,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registerRegionalManagerModal .modal-footer .custom-button.primary {
    background: var(--app-base-color) !important;
    background-color: var(--app-base-color) !important;
    border-color: var(--app-base-color) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #registerManagerModal .modal-footer .custom-button.primary:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registerManagerModal .modal-footer .custom-button.primary:focus,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registerRegionalManagerModal .modal-footer .custom-button.primary:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registerRegionalManagerModal .modal-footer .custom-button.primary:focus {
    background: color-mix(in srgb, var(--app-base-color) 86%, var(--app-secondary-color)) !important;
    background-color: color-mix(in srgb, var(--app-base-color) 86%, var(--app-secondary-color)) !important;
    border-color: color-mix(in srgb, var(--app-base-color) 86%, var(--app-secondary-color)) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .custom-multi-select .select-box,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .custom-multi-select .dropdown,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .custom-multi-select .dropdown.show,
:root[data-bs-theme="dark"] body:not(.contrast-mode) [id^="select-box"],
:root[data-bs-theme="dark"] body:not(.contrast-mode) [id^="class-select-box"],
:root[data-bs-theme="dark"] body:not(.contrast-mode) #dropdown,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #class-dropdown {
    background-color: var(--dark-theme-surface-3) !important;
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
    border-color: var(--dark-theme-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .custom-multi-select .dropdown label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .custom-multi-select .select-box span {
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

/* 3D/dashboard accessibility configuration page */
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-shell,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-shell .card-soft,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-shell .table-wrap,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-shell .table-responsive,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-shell .modal-card-header,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-shell .switch-box,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-shell .preset-pill {
    background-color: var(--dark-theme-surface-2) !important;
    color: var(--dark-theme-text) !important;
    border-color: var(--dark-theme-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-shell .form-control,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-shell .form-select,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-shell .input-group-text {
    background-color: var(--dark-theme-surface-3) !important;
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
    border-color: var(--dark-theme-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-shell .form-control::placeholder {
    color: var(--dark-theme-text-muted) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #accessibilitySettingsModal .modal-content,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #accessibilitySettingsModal .modal-card-header,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #accessibilitySettingsModal .switch-box,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #accessibilitySettingsModal .preset-pill {
    background-color: var(--dark-theme-surface-2) !important;
    color: var(--dark-theme-text) !important;
    border-color: var(--dark-theme-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #accessibilitySettingsModal .modal-target-circle {
    background-color: color-mix(in srgb, var(--app-base-color) 62%, var(--dark-theme-surface-3)) !important;
    color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #accessibilitySettingsModal .modal-target-title,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #accessibilitySettingsModal .form-label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #accessibilitySettingsModal .form-check-label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #accessibilitySettingsModal .btn {
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #accessibilitySettingsModal .modal-target-subtitle {
    color: var(--dark-theme-text-muted) !important;
    -webkit-text-fill-color: var(--dark-theme-text-muted) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #accessibilitySettingsModal .preset-pill:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #accessibilitySettingsModal .preset-pill.is-active {
    background-color: color-mix(in srgb, var(--app-base-color) 16%, var(--dark-theme-surface-3)) !important;
    border-color: color-mix(in srgb, var(--app-base-color) 48%, var(--dark-theme-border)) !important;
    color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #accessibilitySettingsModal .form-control,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #accessibilitySettingsModal .form-select,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #accessibilitySettingsModal .btn-secondary,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #accessibilitySettingsModal .btn-outline-secondary {
    background-color: var(--dark-theme-surface-3) !important;
    color: var(--dark-theme-text-strong) !important;
    border-color: var(--dark-theme-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #accessibilitySettingsModal .form-check-input {
    background-color: var(--dark-theme-surface-3) !important;
    border-color: var(--dark-theme-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #accessibilitySettingsModal .form-check-input:checked {
    background-color: var(--dark-theme-accent) !important;
    border-color: var(--dark-theme-accent) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-shell .accessibility-tabs .nav-link {
    color: var(--dark-theme-text-muted) !important;
    background-color: transparent !important;
    border-color: transparent !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-shell .accessibility-tabs .nav-link.active {
    color: var(--dark-theme-accent) !important;
    border-bottom-color: var(--dark-theme-accent) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-shell .table.accessibility-table,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-shell .table.accessibility-table thead,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-shell .table.accessibility-table tbody,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-shell .table.accessibility-table tr,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-shell .table.accessibility-table th,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-shell .table.accessibility-table td {
    background-color: var(--dark-theme-surface) !important;
    color: var(--dark-theme-text) !important;
    border-color: var(--dark-theme-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-shell .table.accessibility-table thead th {
    background-color: var(--dark-theme-surface-2) !important;
    color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-shell .table.accessibility-table tbody tr:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-shell .table.accessibility-table tbody tr:hover td {
    background-color: var(--dark-theme-surface-3) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-shell .toolbar-title,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-shell .modal-target-title,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-shell .settings-grid .form-label {
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-shell .cell-muted,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-shell .modal-target-subtitle,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-shell .pagination-bar .pagination-info,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-shell .empty-state {
    color: var(--dark-theme-text-muted) !important;
    -webkit-text-fill-color: var(--dark-theme-text-muted) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-shell .status-chip,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .accessibility-shell .page-link {
    background-color: var(--dark-theme-surface-3) !important;
    color: var(--dark-theme-text-strong) !important;
    border-color: var(--dark-theme-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #userProfileConfigModal .modal-content,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #userProfileConfigModal .user-profile-actions-footer {
    background: var(--dark-theme-surface) !important;
    background-color: var(--dark-theme-surface) !important;
    color: var(--dark-theme-text) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #userProfileConfigModal label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #userProfileConfigModal .form-control-plaintext {
    color: var(--dark-theme-text) !important;
    -webkit-text-fill-color: var(--dark-theme-text) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #userProfileConfigModal .form-control,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #userProfileConfigModal select.form-control,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #userProfileConfigModal input.form-control,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #userProfileConfigModal input:disabled,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #userProfileConfigModal select:disabled {
    background: var(--dark-theme-surface-3) !important;
    background-color: var(--dark-theme-surface-3) !important;
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
    border-color: var(--dark-theme-border) !important;
    opacity: 1 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #userProfileConfigModal .form-control::placeholder,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #userProfileConfigModal input:disabled::placeholder {
    color: var(--dark-theme-text-muted) !important;
    -webkit-text-fill-color: var(--dark-theme-text-muted) !important;
    opacity: 1 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #userProfileConfigModal select option {
    background-color: var(--dark-theme-surface-3) !important;
    color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #userProfileConfigModal .user-profile-actions {
    border-top-color: var(--dark-theme-border) !important;
}

:root[data-bs-theme="dark"] body.auth-light-template:not(.contrast-mode) {
    background: linear-gradient(180deg, var(--app-base-color) 0%, var(--app-secondary-color) 100%) !important;
    background-color: var(--app-secondary-color) !important;
    background-image: linear-gradient(180deg, var(--app-base-color) 0%, var(--app-secondary-color) 100%) !important;
    color: #222222 !important;
    color-scheme: light !important;
}

:root[data-bs-theme="dark"] body.auth-light-template:not(.contrast-mode) .sky {
    background: linear-gradient(180deg, rgba(255, 255, 255, .18), rgba(255, 255, 255, 0)) !important;
}

:root[data-bs-theme="dark"] body.auth-light-template:not(.contrast-mode) .cloud {
    color: #ffffff !important;
    filter: drop-shadow(0 6px 16px rgba(0, 0, 0, .12)) !important;
}

:root[data-bs-theme="dark"] body.auth-light-template:not(.contrast-mode) .card,
:root[data-bs-theme="dark"] body.auth-light-template:not(.contrast-mode) .card__header,
:root[data-bs-theme="dark"] body.auth-light-template:not(.contrast-mode) .card__body {
    background: #ffffff !important;
    background-color: #ffffff !important;
    color: #222222 !important;
    border-color: transparent !important;
}

:root[data-bs-theme="dark"] body.auth-light-template:not(.contrast-mode) .title {
    color: #c3c3c3 !important;
    -webkit-text-fill-color: #c3c3c3 !important;
}

:root[data-bs-theme="dark"] body.auth-light-template:not(.contrast-mode) .label,
:root[data-bs-theme="dark"] body.auth-light-template:not(.contrast-mode) .info-text strong,
:root[data-bs-theme="dark"] body.auth-light-template:not(.contrast-mode) .verification-code .boxes span {
    color: #000000 !important;
    -webkit-text-fill-color: #000000 !important;
}

:root[data-bs-theme="dark"] body.auth-light-template:not(.contrast-mode) .card__body p,
:root[data-bs-theme="dark"] body.auth-light-template:not(.contrast-mode) .info-text,
:root[data-bs-theme="dark"] body.auth-light-template:not(.contrast-mode) .retry-text,
:root[data-bs-theme="dark"] body.auth-light-template:not(.contrast-mode) .password-hint,
:root[data-bs-theme="dark"] body.auth-light-template:not(.contrast-mode) .help-divider__text,
:root[data-bs-theme="dark"] body.auth-light-template:not(.contrast-mode) .divider__text {
    color: #666666 !important;
    -webkit-text-fill-color: #666666 !important;
}

:root[data-bs-theme="dark"] body.auth-light-template:not(.contrast-mode) .input,
:root[data-bs-theme="dark"] body.auth-light-template:not(.contrast-mode) .verification-code .boxes span {
    background: #ffffff !important;
    background-color: #ffffff !important;
    color: #111111 !important;
    -webkit-text-fill-color: #111111 !important;
    border-color: var(--app-base-color) !important;
}

:root[data-bs-theme="dark"] body.auth-light-template:not(.contrast-mode) .input::placeholder {
    color: #777777 !important;
    -webkit-text-fill-color: #777777 !important;
    opacity: 1 !important;
}

:root[data-bs-theme="dark"] body.auth-light-template:not(.contrast-mode) .btn,
:root[data-bs-theme="dark"] body.auth-light-template:not(.contrast-mode) .btn:hover,
:root[data-bs-theme="dark"] body.auth-light-template:not(.contrast-mode) .btn:focus {
    background: linear-gradient(90deg, var(--app-base-color) 0%, var(--app-secondary-color) 100%) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

/* Report exports keep their semantic light-mode colors in dark mode. */
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-export.csv,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-base.btn-export.csv,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-group-responsive .btn-base.btn-export.csv,
:root[data-bs-theme="dark"] body:not(.contrast-mode) [data-export-format="csv"] {
    background: #3b82f6 !important;
    background-color: #3b82f6 !important;
    border-color: #2563eb !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-export.csv:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-export.csv:focus,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-base.btn-export.csv:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-base.btn-export.csv:focus,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-group-responsive .btn-base.btn-export.csv:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-group-responsive .btn-base.btn-export.csv:focus,
:root[data-bs-theme="dark"] body:not(.contrast-mode) [data-export-format="csv"]:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) [data-export-format="csv"]:focus {
    background: #2563eb !important;
    background-color: #2563eb !important;
    border-color: #1d4ed8 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-export.xlsx,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-base.btn-export.xlsx,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-group-responsive .btn-base.btn-export.xlsx,
:root[data-bs-theme="dark"] body:not(.contrast-mode) [data-export-format="xlsx"] {
    background: #22c55e !important;
    background-color: #22c55e !important;
    border-color: #16a34a !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-export.xlsx:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-export.xlsx:focus,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-base.btn-export.xlsx:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-base.btn-export.xlsx:focus,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-group-responsive .btn-base.btn-export.xlsx:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-group-responsive .btn-base.btn-export.xlsx:focus,
:root[data-bs-theme="dark"] body:not(.contrast-mode) [data-export-format="xlsx"]:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) [data-export-format="xlsx"]:focus {
    background: #16a34a !important;
    background-color: #16a34a !important;
    border-color: #15803d !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-export.pdf,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-base.btn-export.pdf,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-group-responsive .btn-base.btn-export.pdf,
:root[data-bs-theme="dark"] body:not(.contrast-mode) [data-export-format="pdf"] {
    background: #ef4444 !important;
    background-color: #ef4444 !important;
    border-color: #dc2626 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-export.pdf:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-export.pdf:focus,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-base.btn-export.pdf:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-base.btn-export.pdf:focus,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-group-responsive .btn-base.btn-export.pdf:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-group-responsive .btn-base.btn-export.pdf:focus,
:root[data-bs-theme="dark"] body:not(.contrast-mode) [data-export-format="pdf"]:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) [data-export-format="pdf"]:focus {
    background: #dc2626 !important;
    background-color: #dc2626 !important;
    border-color: #b91c1c !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-export-btn.csv,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-export-btn.csv:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-export-btn.csv:focus {
    background: #2563eb !important;
    background-color: #2563eb !important;
    border-color: #000000 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-export-btn.xlsx,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-export-btn.xlsx:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-export-btn.xlsx:focus {
    background: #16a34a !important;
    background-color: #16a34a !important;
    border-color: #000000 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-export-btn.pdf,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-export-btn.pdf:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .report-export-btn.pdf:focus {
    background: #ef4444 !important;
    background-color: #ef4444 !important;
    border-color: #000000 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

/* Same export colors with enough specificity to beat generic dark-mode .btn-base rules. */
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-base.btn-export.csv:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-group-responsive .btn-base.btn-export.csv:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-export.csv:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) [data-export-format="csv"]:not(#canvasPage):not(#canvasPage *) {
    background: #3b82f6 !important;
    background-color: #3b82f6 !important;
    border-color: #2563eb !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-base.btn-export.csv:hover:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-base.btn-export.csv:focus:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-group-responsive .btn-base.btn-export.csv:hover:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-group-responsive .btn-base.btn-export.csv:focus:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-export.csv:hover:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-export.csv:focus:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) [data-export-format="csv"]:hover:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) [data-export-format="csv"]:focus:not(#canvasPage):not(#canvasPage *) {
    background: #2563eb !important;
    background-color: #2563eb !important;
    border-color: #1d4ed8 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-base.btn-export.xlsx:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-group-responsive .btn-base.btn-export.xlsx:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-export.xlsx:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) [data-export-format="xlsx"]:not(#canvasPage):not(#canvasPage *) {
    background: #22c55e !important;
    background-color: #22c55e !important;
    border-color: #16a34a !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-base.btn-export.xlsx:hover:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-base.btn-export.xlsx:focus:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-group-responsive .btn-base.btn-export.xlsx:hover:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-group-responsive .btn-base.btn-export.xlsx:focus:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-export.xlsx:hover:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-export.xlsx:focus:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) [data-export-format="xlsx"]:hover:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) [data-export-format="xlsx"]:focus:not(#canvasPage):not(#canvasPage *) {
    background: #16a34a !important;
    background-color: #16a34a !important;
    border-color: #15803d !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-base.btn-export.pdf:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-group-responsive .btn-base.btn-export.pdf:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-export.pdf:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) [data-export-format="pdf"]:not(#canvasPage):not(#canvasPage *) {
    background: #ef4444 !important;
    background-color: #ef4444 !important;
    border-color: #dc2626 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-base.btn-export.pdf:hover:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-base.btn-export.pdf:focus:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-group-responsive .btn-base.btn-export.pdf:hover:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-group-responsive .btn-base.btn-export.pdf:focus:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-export.pdf:hover:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-export.pdf:focus:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) [data-export-format="pdf"]:hover:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) [data-export-format="pdf"]:focus:not(#canvasPage):not(#canvasPage *) {
    background: #dc2626 !important;
    background-color: #dc2626 !important;
    border-color: #b91c1c !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

/* Send-email primary actions must remain visually distinct from cancel/back actions. */
:root[data-bs-theme="dark"] body:not(.contrast-mode) .email-page #sendCustomEmailForm .btn-send:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .email-page #sendCustomEmailForm button[type="submit"].custom-button:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) #contactResponsibleModal #sendCustomEmailForm button[type="submit"].custom-button:not(#canvasPage):not(#canvasPage *) {
    background: var(--app-base-color) !important;
    background-color: var(--app-base-color) !important;
    border-color: var(--app-base-color) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    box-shadow: 0 8px 18px color-mix(in srgb, var(--app-base-color) 24%, transparent) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .email-page #sendCustomEmailForm .btn-send:hover:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .email-page #sendCustomEmailForm .btn-send:focus:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .email-page #sendCustomEmailForm button[type="submit"].custom-button:hover:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .email-page #sendCustomEmailForm button[type="submit"].custom-button:focus:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) #contactResponsibleModal #sendCustomEmailForm button[type="submit"].custom-button:hover:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) #contactResponsibleModal #sendCustomEmailForm button[type="submit"].custom-button:focus:not(#canvasPage):not(#canvasPage *) {
    background: color-mix(in srgb, var(--app-base-color) 86%, var(--app-secondary-color)) !important;
    background-color: color-mix(in srgb, var(--app-base-color) 86%, var(--app-secondary-color)) !important;
    border-color: color-mix(in srgb, var(--app-base-color) 86%, var(--app-secondary-color)) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #contactResponsibleModal .text-start,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #contactResponsibleModal p[style*="color:#000"],
:root[data-bs-theme="dark"] body:not(.contrast-mode) #contactResponsibleModal p[style*="color: #000"] {
    color: var(--app-base-color) !important;
    -webkit-text-fill-color: var(--app-base-color) !important;
}

/* Library advanced filter uses the same switch behavior as Accessibility settings. */
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModal .library-student-books-toggle,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModalUsers .library-student-books-toggle {
    background-color: var(--dark-theme-surface-2) !important;
    border: 1px solid var(--dark-theme-border) !important;
    border-radius: 12px !important;
    padding: 12px 14px !important;
    min-height: 0 !important;
    display: flex !important;
    align-items: center !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModal .library-student-books-toggle .form-check,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModalUsers .library-student-books-toggle .form-check {
    width: auto !important;
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    padding-left: 0 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModal #toggleStudentBooksSwitch,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModalUsers #toggleStudentBooksSwitch {
    background-color: var(--dark-theme-surface-3) !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23f8fafc'/%3e%3c/svg%3e") !important;
    background-position: left center !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
    border-color: var(--dark-theme-border) !important;
    border-radius: 2rem !important;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.04) !important;
    flex: 0 0 3rem !important;
    height: 1.6rem !important;
    margin: 0 !important;
    min-width: 3rem !important;
    width: 3rem !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModal .library-student-books-toggle .form-check-label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModalUsers .library-student-books-toggle .form-check-label {
    line-height: 1.35 !important;
    margin-left: 0 !important;
    min-width: 0 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModal #toggleStudentBooksSwitch:focus,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModalUsers #toggleStudentBooksSwitch:focus {
    border-color: var(--app-base-color) !important;
    box-shadow: 0 0 0 0.18rem color-mix(in srgb, var(--app-base-color) 24%, transparent) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModal #toggleStudentBooksSwitch:checked,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModalUsers #toggleStudentBooksSwitch:checked {
    background-color: var(--app-base-color) !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23ffffff'/%3e%3c/svg%3e") !important;
    background-position: right center !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
    border-color: var(--app-base-color) !important;
    box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--app-base-color) 28%, transparent) !important;
}

/* Yellow status/performance badges need dark text in dark mode. */
:root[data-bs-theme="dark"] body:not(.contrast-mode) .badge.bg-warning:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .badge.bg-warning.text-dark:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .badge.text-bg-warning:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .badge.due-badge:not(#canvasPage):not(#canvasPage *) {
    --bs-badge-color: #1f2937;
    background: #facc15 !important;
    background-color: #facc15 !important;
    border-color: #eab308 !important;
    color: #1f2937 !important;
    -webkit-text-fill-color: #1f2937 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .badge.bg-warning:not(#canvasPage):not(#canvasPage *) *,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .badge.bg-warning.text-dark:not(#canvasPage):not(#canvasPage *) *,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .badge.text-bg-warning:not(#canvasPage):not(#canvasPage *) *,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .badge.due-badge:not(#canvasPage):not(#canvasPage *) * {
    color: #1f2937 !important;
    -webkit-text-fill-color: #1f2937 !important;
}

/* Fluency report pending-analysis badge keeps the same readable warning contrast. */
:root[data-bs-theme="dark"] body:not(.contrast-mode) .fluency-reports-page .badge.bg-warning.text-dark:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .fluency-report-page .badge.bg-warning.text-dark:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) [action*="fluency-report"] .badge.bg-warning.text-dark:not(#canvasPage):not(#canvasPage *) {
    color: #1f2937 !important;
    -webkit-text-fill-color: #1f2937 !important;
}

/* Library filter primary action uses the app color in dark mode. */
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModal button[type="submit"]:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModalUsers button[type="submit"]:not(#canvasPage):not(#canvasPage *) {
    background: var(--app-base-color) !important;
    background-color: var(--app-base-color) !important;
    border-color: var(--app-base-color) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    box-shadow: 0 8px 18px color-mix(in srgb, var(--app-base-color) 24%, transparent) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModal button[type="submit"]:hover:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModal button[type="submit"]:focus:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModalUsers button[type="submit"]:hover:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) #filterModalUsers button[type="submit"]:focus:not(#canvasPage):not(#canvasPage *) {
    background: color-mix(in srgb, var(--app-base-color) 86%, var(--app-secondary-color)) !important;
    background-color: color-mix(in srgb, var(--app-base-color) 86%, var(--app-secondary-color)) !important;
    border-color: color-mix(in srgb, var(--app-base-color) 86%, var(--app-secondary-color)) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

/* Assessment scheduling */
:root[data-bs-theme="dark"] body:not(.contrast-mode) .schedule-wrap:not(#canvasPage):not(#canvasPage *) {
    color: var(--dark-theme-text) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .schedule-hero:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .schedule-card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .schedule-step:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-list:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-row:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .schedule-empty-message:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .summary-pill:not(#canvasPage):not(#canvasPage *) {
    background: var(--dark-theme-card-bg) !important;
    background-color: var(--dark-theme-surface) !important;
    border-color: var(--dark-theme-border) !important;
    color: var(--dark-theme-text) !important;
    box-shadow: var(--dark-theme-panel-shadow) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .schedule-step:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-row:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .summary-pill:not(#canvasPage):not(#canvasPage *) {
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
    box-shadow: none !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .schedule-step.is-disabled:not(#canvasPage):not(#canvasPage *) {
    opacity: 1 !important;
    background: color-mix(in srgb, var(--dark-theme-surface-2) 82%, #000000) !important;
    background-color: color-mix(in srgb, var(--dark-theme-surface-2) 82%, #000000) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .schedule-hero-icon:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-schedule:not(#canvasPage):not(#canvasPage *) {
    background: var(--app-base-color) !important;
    background-color: var(--app-base-color) !important;
    border-color: var(--app-base-color) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .schedule-hero-badge:not(#canvasPage):not(#canvasPage *) {
    background: var(--dark-theme-accent-soft) !important;
    background-color: var(--dark-theme-accent-soft) !important;
    border: 1px solid var(--dark-theme-accent-border) !important;
    color: var(--dark-theme-accent) !important;
    -webkit-text-fill-color: var(--dark-theme-accent) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .schedule-hero h4,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .schedule-step h5,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .schedule-card h5,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-row strong {
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .schedule-hero p,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .schedule-step small,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .schedule-wrap .form-label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-row small,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .schedule-empty-cell {
    color: var(--dark-theme-text-muted) !important;
    -webkit-text-fill-color: var(--dark-theme-text-muted) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .schedule-wrap .form-control,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .schedule-wrap .form-select,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .schedule-wrap .choices__inner,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .schedule-wrap .choices__input {
    background: var(--dark-theme-surface-3) !important;
    background-color: var(--dark-theme-surface-3) !important;
    border-color: var(--dark-theme-border) !important;
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .schedule-wrap .form-control:disabled,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .schedule-wrap .form-select:disabled,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .schedule-wrap .choices.is-disabled .choices__inner {
    background: color-mix(in srgb, var(--dark-theme-surface-3) 82%, #000000) !important;
    background-color: color-mix(in srgb, var(--dark-theme-surface-3) 82%, #000000) !important;
    color: var(--dark-theme-text-muted) !important;
    -webkit-text-fill-color: var(--dark-theme-text-muted) !important;
    opacity: 1 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .schedule-wrap .choices__placeholder,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .schedule-wrap .form-control::placeholder {
    color: var(--dark-theme-text-muted) !important;
    -webkit-text-fill-color: var(--dark-theme-text-muted) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .schedule-wrap .choices__list--dropdown,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .schedule-wrap .choices__list[aria-expanded] {
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
    border-color: var(--dark-theme-border) !important;
    color: var(--dark-theme-text) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .schedule-wrap .choices__list--dropdown .choices__item,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .schedule-wrap .choices__list[aria-expanded] .choices__item {
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
    color: var(--dark-theme-text) !important;
    -webkit-text-fill-color: var(--dark-theme-text) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .schedule-wrap .choices__list--dropdown .choices__item--selectable.is-highlighted,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .schedule-wrap .choices__list[aria-expanded] .choices__item--selectable.is-highlighted {
    background: var(--dark-theme-accent-soft) !important;
    background-color: var(--dark-theme-accent-soft) !important;
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .schedule-wrap .choices[data-type*=select-one]::after {
    border-color: var(--dark-theme-text-strong) transparent transparent transparent !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .schedule-wrap .choices[data-type*=select-one].is-open::after {
    border-color: transparent transparent var(--dark-theme-text-strong) transparent !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-row:hover:not(#canvasPage):not(#canvasPage *) {
    background: var(--dark-theme-accent-soft) !important;
    background-color: var(--dark-theme-accent-soft) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-check:not(#canvasPage):not(#canvasPage *) {
    accent-color: var(--app-base-color) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .schedule-wrap .btn-ghost:not(#canvasPage):not(#canvasPage *) {
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
    border-color: var(--dark-theme-border) !important;
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .schedule-wrap .btn-ghost:hover:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .schedule-wrap .btn-ghost:focus:not(#canvasPage):not(#canvasPage *) {
    background: var(--dark-theme-accent-soft) !important;
    background-color: var(--dark-theme-accent-soft) !important;
    border-color: var(--dark-theme-accent-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-schedule:hover:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-schedule:focus:not(#canvasPage):not(#canvasPage *) {
    background: color-mix(in srgb, var(--app-base-color) 86%, var(--app-secondary-color)) !important;
    background-color: color-mix(in srgb, var(--app-base-color) 86%, var(--app-secondary-color)) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .btn-schedule:disabled:not(#canvasPage):not(#canvasPage *) {
    background: var(--dark-theme-surface-3) !important;
    background-color: var(--dark-theme-surface-3) !important;
    border-color: var(--dark-theme-border) !important;
    color: var(--dark-theme-text-muted) !important;
    -webkit-text-fill-color: var(--dark-theme-text-muted) !important;
    opacity: 1 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .schedule-wrap .table.schedule-table,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .schedule-wrap .table.schedule-table thead tr,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .schedule-wrap .table.schedule-table thead th,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .schedule-wrap .table.schedule-table tbody tr,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .schedule-wrap .table.schedule-table tbody td,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .schedule-wrap .table.schedule-table tbody th,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .schedule-wrap .schedule-empty-cell {
    background: var(--dark-theme-surface) !important;
    background-color: var(--dark-theme-surface) !important;
    border-color: var(--dark-theme-border) !important;
    color: var(--dark-theme-text) !important;
    -webkit-text-fill-color: var(--dark-theme-text) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .schedule-wrap .table.schedule-table thead th {
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .schedule-wrap .table.schedule-table tbody tr:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .schedule-wrap .table.schedule-table tbody tr:hover td {
    background: var(--dark-theme-accent-soft) !important;
    background-color: var(--dark-theme-accent-soft) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .daterangepicker,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .daterangepicker .calendar-table,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .daterangepicker .ranges,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .daterangepicker .drp-calendar,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .daterangepicker .drp-buttons {
    background: var(--dark-theme-surface) !important;
    background-color: var(--dark-theme-surface) !important;
    border-color: var(--dark-theme-border) !important;
    color: var(--dark-theme-text) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .daterangepicker .calendar-table th,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .daterangepicker .calendar-table td,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .daterangepicker .ranges li {
    background: var(--dark-theme-surface) !important;
    background-color: var(--dark-theme-surface) !important;
    color: var(--dark-theme-text) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .daterangepicker td.off,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .daterangepicker td.off.in-range,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .daterangepicker td.off.start-date,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .daterangepicker td.off.end-date,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .daterangepicker td.disabled {
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
    color: var(--dark-theme-text-muted) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .daterangepicker td.available:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .daterangepicker th.available:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .daterangepicker .ranges li:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .daterangepicker .ranges li.active {
    background: var(--dark-theme-accent-soft) !important;
    background-color: var(--dark-theme-accent-soft) !important;
    color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .daterangepicker td.in-range {
    background: var(--dark-theme-accent-soft) !important;
    background-color: var(--dark-theme-accent-soft) !important;
    color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .daterangepicker td.active,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .daterangepicker td.active:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .daterangepicker td.start-date,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .daterangepicker td.end-date {
    background: var(--app-base-color) !important;
    background-color: var(--app-base-color) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

/* Assessment scheduling nested blocks stay flat on the textured page background. */
:root[data-bs-theme="dark"] body:not(.contrast-mode) .schedule-hero:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .schedule-card:not(#canvasPage):not(#canvasPage *) {
    background: var(--dark-theme-surface) !important;
    background-color: var(--dark-theme-surface) !important;
    background-image: none !important;
    border-color: var(--dark-theme-border) !important;
    color: var(--dark-theme-text) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .schedule-step:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-list:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-row:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .schedule-empty-message:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .summary-pill:not(#canvasPage):not(#canvasPage *) {
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
    background-image: none !important;
    border-color: var(--dark-theme-border) !important;
    color: var(--dark-theme-text) !important;
    box-shadow: none !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .schedule-step.is-disabled:not(#canvasPage):not(#canvasPage *) {
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
    opacity: 1 !important;
}

/* Assessment overview remaining components */
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-hero:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-mgmt-hero:not(#canvasPage):not(#canvasPage *) {
    background: linear-gradient(135deg, var(--dark-theme-surface-2) 0%, var(--dark-theme-surface) 58%, var(--dark-theme-accent-soft) 100%) !important;
    background-color: var(--dark-theme-surface) !important;
    border: 1px solid var(--dark-theme-accent-border) !important;
    color: var(--dark-theme-text) !important;
    box-shadow: var(--dark-theme-panel-shadow) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-hero--child:not(#canvasPage):not(#canvasPage *) {
    background: linear-gradient(135deg, var(--dark-theme-surface-2) 0%, var(--dark-theme-surface) 58%, var(--dark-theme-secondary-accent-soft) 100%) !important;
    background-color: var(--dark-theme-surface) !important;
    border-color: var(--dark-theme-secondary-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-hero h1,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-mgmt-hero h1,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-hero p,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-mgmt-hero p,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-meta__value,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-mgmt-summary-card strong,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-kid-mini-stat strong {
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-chip:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-meta:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-mgmt-hero__eyebrow:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-mgmt-summary-card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-kid-mini-stat:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-kid-mascot-note:not(#canvasPage):not(#canvasPage *) {
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
    border-color: var(--dark-theme-accent-border) !important;
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-meta__label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-mgmt-summary-card span,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-kid-mini-stat span {
    color: var(--dark-theme-text-muted) !important;
    -webkit-text-fill-color: var(--dark-theme-text-muted) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-btn--primary:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-btn--parent:not(#canvasPage):not(#canvasPage *) {
    background: var(--app-base-color) !important;
    background-color: var(--app-base-color) !important;
    background-image: none !important;
    border-color: var(--app-base-color) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    box-shadow: 0 8px 18px color-mix(in srgb, var(--app-base-color) 24%, transparent) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-btn--primary:hover:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-btn--primary:focus:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-btn--parent:hover:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-btn--parent:focus:not(#canvasPage):not(#canvasPage *) {
    background: color-mix(in srgb, var(--app-base-color) 86%, var(--app-secondary-color)) !important;
    background-color: color-mix(in srgb, var(--app-base-color) 86%, var(--app-secondary-color)) !important;
    border-color: color-mix(in srgb, var(--app-base-color) 86%, var(--app-secondary-color)) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-link:not(#canvasPage):not(#canvasPage *) {
    color: var(--dark-theme-accent) !important;
    -webkit-text-fill-color: var(--dark-theme-accent) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-progress:not(#canvasPage):not(#canvasPage *) {
    background: var(--dark-theme-surface-3) !important;
    background-color: var(--dark-theme-surface-3) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-child-badge:not(#canvasPage):not(#canvasPage *) {
    background: var(--dark-theme-accent-soft) !important;
    background-color: var(--dark-theme-accent-soft) !important;
    border: 1px solid var(--dark-theme-accent-border) !important;
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-status--ok:not(#canvasPage):not(#canvasPage *) {
    background: color-mix(in srgb, #22c55e 22%, var(--dark-theme-surface-3)) !important;
    background-color: color-mix(in srgb, #22c55e 22%, var(--dark-theme-surface-3)) !important;
    color: #bbf7d0 !important;
    -webkit-text-fill-color: #bbf7d0 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-status--warn:not(#canvasPage):not(#canvasPage *) {
    background: color-mix(in srgb, #f59e0b 24%, var(--dark-theme-surface-3)) !important;
    background-color: color-mix(in srgb, #f59e0b 24%, var(--dark-theme-surface-3)) !important;
    color: #fde68a !important;
    -webkit-text-fill-color: #fde68a !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-status--muted:not(#canvasPage):not(#canvasPage *) {
    background: var(--dark-theme-surface-3) !important;
    background-color: var(--dark-theme-surface-3) !important;
    color: var(--dark-theme-text-muted) !important;
    -webkit-text-fill-color: var(--dark-theme-text-muted) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-mgmt-student-card__head,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-mgmt-student-card__metrics,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-modal-metrics,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-parent-grid,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-kid-track-grid,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-child-track-duo {
    color: var(--dark-theme-text) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-mgmt-modal__badge:not(#canvasPage):not(#canvasPage *) {
    background: var(--dark-theme-accent-soft) !important;
    background-color: var(--dark-theme-accent-soft) !important;
    border: 1px solid var(--dark-theme-accent-border) !important;
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .modal-content .ac-mgmt-modal__hero:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-parent-modal .modal-body:not(#canvasPage):not(#canvasPage *) {
    background: var(--dark-theme-surface) !important;
    background-color: var(--dark-theme-surface) !important;
    color: var(--dark-theme-text) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-kid-planet:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-kid-bubble:not(#canvasPage):not(#canvasPage *) {
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
    border-color: var(--dark-theme-accent-border) !important;
    color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-kid-cloud:not(#canvasPage):not(#canvasPage *) {
    background: color-mix(in srgb, var(--app-base-color) 16%, transparent) !important;
    background-color: color-mix(in srgb, var(--app-base-color) 16%, transparent) !important;
}

/* Assessment nested cards stay flat because they already sit on textured shells. */
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-panel:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-panel--kid:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-mgmt-panel:not(#canvasPage):not(#canvasPage *) {
    background: var(--dark-theme-surface) !important;
    background-color: var(--dark-theme-surface) !important;
    background-image: none !important;
    border-color: var(--dark-theme-border) !important;
    color: var(--dark-theme-text) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-pill:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-softbox:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-kpi:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-child-card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-child-note:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-child-stat:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-kid-card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-kid-storybox:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-kid-track-card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-mgmt-mini-kpi:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-mgmt-student-card:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-modal-metric:not(#canvasPage):not(#canvasPage *),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-parent-card:not(#canvasPage):not(#canvasPage *) {
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
    background-image: none !important;
    border-color: var(--dark-theme-border) !important;
    color: var(--dark-theme-text) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-card__icon:not(#canvasPage):not(#canvasPage *) {
    background: var(--dark-theme-accent-soft) !important;
    background-color: var(--dark-theme-accent-soft) !important;
    border: 1px solid var(--dark-theme-accent-border) !important;
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-card__footer .ac-chip:not(#canvasPage):not(#canvasPage *) {
    background: var(--dark-theme-surface-3) !important;
    background-color: var(--dark-theme-surface-3) !important;
    border-color: var(--dark-theme-border) !important;
    color: var(--dark-theme-text-muted) !important;
    -webkit-text-fill-color: var(--dark-theme-text-muted) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-softbox .text-end,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-softbox [style*="color:#0f172a"],
:root[data-bs-theme="dark"] body:not(.contrast-mode) .ac-softbox [style*="color: #0f172a"] {
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

/* Student dashboard change-class modal */
:root[data-bs-theme="dark"] body:not(.contrast-mode) #manageClassesModal .modal-content,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #manageClassesModal .modal-header,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #manageClassesModal .modal-body,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #manageClassesModal .modal-footer {
    background: var(--dark-theme-surface) !important;
    background-color: var(--dark-theme-surface) !important;
    color: var(--dark-theme-text) !important;
    border-color: var(--dark-theme-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #manageClassesModal .modal-title,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #manageClassesModal .student-classId {
    color: var(--app-base-color) !important;
    -webkit-text-fill-color: var(--app-base-color) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #manageClassesModal p,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #manageClassesModal .text-start,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #manageClassesModal .student-name-classes {
    color: var(--dark-theme-text) !important;
    -webkit-text-fill-color: var(--dark-theme-text) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #manageClassesModal hr {
    border-top-color: var(--dark-theme-border) !important;
    opacity: 1 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #manageClassesModal .card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #manageClassesModal .card[style*="background-color: white"],
:root[data-bs-theme="dark"] body:not(.contrast-mode) #manageClassesModal .card[style*="background-color:white"] {
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
    border-color: var(--app-secondary-color) !important;
    color: var(--dark-theme-text) !important;
    box-shadow: none !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #manageClassesModal h6.text-dark,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #manageClassesModal .card h6,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #manageClassesModal .card .text-dark {
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #manageClassesModal .text-muted,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #manageClassesModal .card small {
    color: var(--dark-theme-text-muted) !important;
    -webkit-text-fill-color: var(--dark-theme-text-muted) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #manageClassesModal .user-checkbox {
    accent-color: var(--app-base-color) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #manageClassesModal .modal-footer .custom-button[data-bs-dismiss] {
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
    border-color: var(--dark-theme-border) !important;
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #manageClassesModal .modal-footer .custom-button.imprimir-button,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #manageClassesModal .modal-footer .custom-button.confirm-change-class,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #manageClassesModal .modal-footer button.custom-button.confirm-change-class,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #manageClassesModal .modal-footer .custom-button:not([data-bs-dismiss]) {
    background: var(--app-base-color) !important;
    background-color: var(--app-base-color) !important;
    border-color: var(--app-base-color) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #manageClassesModal .modal-footer .custom-button.imprimir-button:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #manageClassesModal .modal-footer .custom-button.imprimir-button:focus,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #manageClassesModal .modal-footer .custom-button.confirm-change-class:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #manageClassesModal .modal-footer .custom-button.confirm-change-class:focus,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #manageClassesModal .modal-footer button.custom-button.confirm-change-class:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #manageClassesModal .modal-footer button.custom-button.confirm-change-class:focus,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #manageClassesModal .modal-footer .custom-button:not([data-bs-dismiss]):hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #manageClassesModal .modal-footer .custom-button:not([data-bs-dismiss]):focus {
    background: color-mix(in srgb, var(--app-base-color) 86%, var(--app-secondary-color)) !important;
    background-color: color-mix(in srgb, var(--app-base-color) 86%, var(--app-secondary-color)) !important;
    border-color: color-mix(in srgb, var(--app-base-color) 86%, var(--app-secondary-color)) !important;
}

/* Student Library/Activities interface customizer */
:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-customizer__toggle {
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
    border-color: var(--dark-theme-accent-border) !important;
    color: var(--dark-theme-accent) !important;
    -webkit-text-fill-color: var(--dark-theme-accent) !important;
    box-shadow: var(--dark-theme-panel-shadow) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-customizer__toggle:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-customizer__toggle:focus-visible,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-customizer__toggle[aria-expanded="true"] {
    background: var(--dark-theme-accent-soft) !important;
    background-color: var(--dark-theme-accent-soft) !important;
    border-color: var(--dark-theme-accent) !important;
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-customizer__panel {
    background: var(--dark-theme-surface) !important;
    background-color: var(--dark-theme-surface) !important;
    border-color: var(--dark-theme-border) !important;
    color: var(--dark-theme-text) !important;
    box-shadow: var(--dark-theme-panel-shadow) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-customizer__section {
    background: color-mix(in srgb, var(--dark-theme-surface-2) 86%, transparent) !important;
    border-color: var(--dark-theme-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-customizer__section-label {
    color: var(--dark-theme-text-muted) !important;
    -webkit-text-fill-color: var(--dark-theme-text-muted) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-customizer__swatch,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-customizer__custom-color,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-customizer__preset {
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
    border-color: var(--dark-theme-border) !important;
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-customizer__swatch:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-customizer__swatch:focus-visible,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-customizer__custom-color:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-customizer__custom-color:focus-visible,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-customizer__preset:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-customizer__preset:focus-visible,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-customizer__swatch.is-active,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-customizer__preset.is-active {
    background: var(--dark-theme-accent-soft) !important;
    background-color: var(--dark-theme-accent-soft) !important;
    border-color: var(--dark-theme-accent-border) !important;
    color: var(--dark-theme-accent) !important;
    -webkit-text-fill-color: var(--dark-theme-accent) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-customizer__custom-color i,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .student-customizer__swatch.is-active::after {
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .content-container.student-custom-shell {
    --student-custom-overlay: linear-gradient(180deg, rgba(16, 16, 16, 0.1), rgba(16, 16, 16, 0.28));
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .content-container.student-custom-shell--preset-default {
    --student-custom-bg: transparent;
    --student-custom-overlay: linear-gradient(transparent, transparent);
    background-color: transparent !important;
    background-image: none !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .content-container.student-custom-shell > .student-custom-page,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .content-container.student-custom-shell > .student-custom-page.kid-bg {
    background: color-mix(in srgb, var(--dark-theme-surface) 88%, transparent) !important;
    background-color: color-mix(in srgb, var(--dark-theme-surface) 88%, transparent) !important;
    background-image: none !important;
    border-color: var(--dark-theme-border) !important;
    color: var(--dark-theme-text) !important;
    box-shadow: var(--dark-theme-panel-shadow) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .content-container.student-custom-shell:not(.student-custom-shell--preset-default) > .student-custom-page,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .content-container.student-custom-shell:not(.student-custom-shell--preset-default) > .student-custom-page.kid-bg {
    background: color-mix(in srgb, var(--dark-theme-surface) 72%, transparent) !important;
    background-color: color-mix(in srgb, var(--dark-theme-surface) 72%, transparent) !important;
    backdrop-filter: blur(1px);
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .content-container.student-custom-shell > .student-custom-page--library,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .content-container.student-custom-shell:not(.student-custom-shell--preset-default) > .student-custom-page--library {
    background:
        linear-gradient(
            180deg,
            color-mix(in srgb, var(--dark-theme-surface) 68%, transparent) 0%,
            color-mix(in srgb, var(--dark-theme-surface-2) 58%, transparent) 100%
        ) !important;
    background-color: color-mix(in srgb, var(--dark-theme-surface) 64%, transparent) !important;
    background-image:
        linear-gradient(
            180deg,
            color-mix(in srgb, var(--dark-theme-surface) 68%, transparent) 0%,
            color-mix(in srgb, var(--dark-theme-surface-2) 58%, transparent) 100%
        ) !important;
    border: 1px solid color-mix(in srgb, var(--dark-theme-border) 72%, transparent) !important;
    border-radius: clamp(1rem, 1.8vw, 1.5rem) !important;
    box-shadow: var(--dark-theme-panel-shadow) !important;
    color: var(--dark-theme-text) !important;
    padding: clamp(1rem, 1.8vw, 1.5rem) !important;
    backdrop-filter: blur(2px) saturate(1.05);
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .content-container.student-custom-shell > .container.py-4.kid-bg.student-custom-page.student-custom-page--activities {
    /* Match the Library glass surface while preserving the student's backdrop. */
    background: rgba(24, 24, 24, 0.64) !important;
    background-color: rgba(24, 24, 24, 0.64) !important;
    background-image: none !important;
    border: 1px solid color-mix(in srgb, var(--dark-theme-border) 72%, transparent) !important;
    border-radius: clamp(1.25rem, 2vw, 2rem) !important;
    box-shadow: var(--dark-theme-panel-shadow) !important;
    color: var(--dark-theme-text) !important;
    margin-top: clamp(1rem, 2vw, 2rem) !important;
    margin-bottom: clamp(1rem, 2vw, 2rem) !important;
    padding: clamp(1.25rem, 2.2vw, 2.25rem) !important;
    backdrop-filter: blur(2px) saturate(1.05);
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .content-container.student-custom-shell:not(.student-custom-shell--preset-default) > .container.py-4.kid-bg.student-custom-page.student-custom-page--activities {
    background: rgba(24, 24, 24, 0.50) !important;
    background-color: rgba(24, 24, 24, 0.50) !important;
    background-image: none !important;
    backdrop-filter: blur(2px) saturate(1.05);
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .content-container.student-custom-shell > .student-custom-page .card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .content-container.student-custom-shell > .student-custom-page .library-book-card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .content-container.student-custom-shell > .student-custom-page .track-card {
    background: color-mix(in srgb, var(--dark-theme-surface-2) 76%, transparent) !important;
    background-color: color-mix(in srgb, var(--dark-theme-surface-2) 76%, transparent) !important;
    background-image: none !important;
    border-color: color-mix(in srgb, var(--dark-theme-border) 76%, transparent) !important;
    color: var(--dark-theme-text) !important;
    backdrop-filter: blur(1px) saturate(1.02);
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .content-container.student-custom-shell > .student-custom-page .bg-white,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .content-container.student-custom-shell > .student-custom-page .kid-card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .content-container.student-custom-shell > .student-custom-page .kid-empty,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .content-container.student-custom-shell > .student-custom-page .card-title-header,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .content-container.student-custom-shell > .student-custom-page .card-body-dropdown,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .content-container.student-custom-shell > .student-custom-page .card-body-dropdown .kid-dates,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .content-container.student-custom-shell > .student-custom-page .card-body-dropdown .kid-progress,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .content-container.student-custom-shell > .student-custom-page .kid-date.item,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .content-container.student-custom-shell > .student-custom-page .book-cover-badge,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .content-container.student-custom-shell > .student-custom-page .bncc-card {
    background: color-mix(in srgb, var(--dark-theme-surface-2) 76%, transparent) !important;
    background-color: color-mix(in srgb, var(--dark-theme-surface-2) 76%, transparent) !important;
    background-image: none !important;
    border-color: color-mix(in srgb, var(--dark-theme-border) 76%, transparent) !important;
    color: var(--dark-theme-text) !important;
    backdrop-filter: blur(1px) saturate(1.02);
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .content-container.student-custom-shell > .student-custom-page .kid-card {
    box-shadow:
        4px -4px 8px color-mix(in srgb, var(--app-third-color) 18%, transparent),
        0 0 0 2px var(--dark-theme-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .content-container.student-custom-shell > .student-custom-page--activities .kid-card {
    background: rgba(24, 24, 24, 0.58) !important;
    background-color: rgba(24, 24, 24, 0.58) !important;
    background-image: none !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
    backdrop-filter: blur(2px) saturate(1.04);
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .content-container.student-custom-shell > .student-custom-page--activities .card-title-header,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .content-container.student-custom-shell > .student-custom-page--activities .card-actions-wrapper,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .content-container.student-custom-shell > .student-custom-page--activities .card-body-dropdown,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .content-container.student-custom-shell > .student-custom-page--activities .card-body-dropdown .kid-dates,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .content-container.student-custom-shell > .student-custom-page--activities .card-body-dropdown .kid-progress {
    background: rgba(24, 24, 24, 0.42) !important;
    background-color: rgba(24, 24, 24, 0.42) !important;
    background-image: none !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
    backdrop-filter: blur(2px) saturate(1.04);
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .content-container.student-custom-shell > .student-custom-page--activities .card-collapse-btn {
    background: rgba(255, 255, 255, 0.12) !important;
    background-color: rgba(255, 255, 255, 0.12) !important;
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .content-container.student-custom-shell > .student-custom-page--activities .card-collapse-btn:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .content-container.student-custom-shell > .student-custom-page--activities .card-collapse-btn:focus-visible {
    background: rgba(255, 255, 255, 0.22) !important;
    background-color: rgba(255, 255, 255, 0.22) !important;
    border-color: var(--dark-theme-accent-border) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .content-container.student-custom-shell > .student-custom-page--activities .card-collapse-btn i {
    color: inherit !important;
    -webkit-text-fill-color: inherit !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .content-container.student-custom-shell > .student-custom-page .kid-card:hover {
    box-shadow:
        5px -5px 10px color-mix(in srgb, var(--app-third-color) 24%, transparent),
        0 0 0 2px var(--dark-theme-accent-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .content-container.student-custom-shell > .student-custom-page .kid-tabs {
    border-bottom-color: var(--dark-theme-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .content-container.student-custom-shell > .student-custom-page .kid-tabs .nav-link {
    background: transparent !important;
    background-color: transparent !important;
    border-color: transparent !important;
    color: var(--dark-theme-text-muted) !important;
    -webkit-text-fill-color: var(--dark-theme-text-muted) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .content-container.student-custom-shell > .student-custom-page .kid-tabs .nav-link.active {
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
    border-bottom-color: var(--dark-theme-accent) !important;
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
    box-shadow: inset 0 0 0 1px var(--dark-theme-accent-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .content-container.student-custom-shell > .student-custom-page .card-title,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .content-container.student-custom-shell > .student-custom-page .card-title-header h5,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .content-container.student-custom-shell > .student-custom-page .kid-title,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .content-container.student-custom-shell > .student-custom-page .activity-label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .content-container.student-custom-shell > .student-custom-page .bncc-card-code,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .content-container.student-custom-shell > .student-custom-page .fw-bold,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .content-container.student-custom-shell > .student-custom-page .fw-semibold {
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .content-container.student-custom-shell > .student-custom-page .card-text,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .content-container.student-custom-shell > .student-custom-page .text-muted,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .content-container.student-custom-shell > .student-custom-page .kid-subtitle,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .content-container.student-custom-shell > .student-custom-page .kid-empty-text,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .content-container.student-custom-shell > .student-custom-page .kid-date.item,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .content-container.student-custom-shell > .student-custom-page .bncc-card-desc,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .content-container.student-custom-shell > .student-custom-page .card-title-header .book-label {
    color: var(--dark-theme-text-muted) !important;
    -webkit-text-fill-color: var(--dark-theme-text-muted) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .content-container.student-custom-shell > .student-custom-page .kid-gradient,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .content-container.student-custom-shell > .student-custom-page .kid-gradient-2 {
    background: color-mix(in srgb, var(--dark-theme-surface-3) 72%, transparent) !important;
    background-color: color-mix(in srgb, var(--dark-theme-surface-3) 72%, transparent) !important;
    background-image: none !important;
    border-color: color-mix(in srgb, var(--dark-theme-border) 72%, transparent) !important;
    backdrop-filter: blur(1px) saturate(1.02);
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .content-container.student-custom-shell > .student-custom-page .kid-date.item {
    background: color-mix(in srgb, var(--app-base-color) 5%, var(--dark-theme-surface-2)) !important;
    background-color: color-mix(in srgb, var(--app-base-color) 5%, var(--dark-theme-surface-2)) !important;
    border: 1px solid color-mix(in srgb, var(--app-secondary-color) 12%, var(--dark-theme-border)) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .content-container.student-custom-shell > .student-custom-page .kid-progress {
    background: var(--dark-theme-surface-3) !important;
    background-color: var(--dark-theme-surface-3) !important;
    border-color: var(--dark-theme-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .content-container.student-custom-shell > .student-custom-page .btn-kid-outline,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .content-container.student-custom-shell > .student-custom-page .card-actions-wrapper .btn-kid-outline,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .content-container.student-custom-shell > .student-custom-page .card-actions .btn-kid-outline {
    background: var(--dark-theme-surface-3) !important;
    background-color: var(--dark-theme-surface-3) !important;
    border-color: var(--dark-theme-border) !important;
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

/* Current single-student transfer interface */
:root[data-bs-theme="dark"] body:not(.contrast-mode) #manageClassesModal .transfer-summary-item,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #manageClassesModal .transfer-class-card {
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
    border-color: var(--dark-theme-border) !important;
    color: var(--dark-theme-text) !important;
    box-shadow: none !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #manageClassesModal .transfer-summary-label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #manageClassesModal .transfer-class-year,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #manageClassesModal .transfer-class-current,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #manageClassesModal .transfer-summary-hint {
    color: var(--dark-theme-text-muted) !important;
    -webkit-text-fill-color: var(--dark-theme-text-muted) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #manageClassesModal .transfer-summary-value,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #manageClassesModal .transfer-class-name {
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #manageClassesModal .transfer-current-class {
    color: var(--dark-theme-accent) !important;
    -webkit-text-fill-color: var(--dark-theme-accent) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #manageClassesModal .transfer-class-option input {
    accent-color: var(--app-base-color) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #manageClassesModal .transfer-class-option input:checked + .transfer-class-card {
    background: var(--dark-theme-accent-soft) !important;
    background-color: var(--dark-theme-accent-soft) !important;
    border-color: var(--app-base-color) !important;
    box-shadow: 0 0 0 3px var(--dark-theme-accent-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #manageClassesModal .transfer-class-option input:disabled + .transfer-class-card {
    background: var(--dark-theme-surface-3) !important;
    background-color: var(--dark-theme-surface-3) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #manageClassesModal .transfer-status[data-state="loading"] {
    color: var(--dark-theme-text-muted) !important;
    -webkit-text-fill-color: var(--dark-theme-text-muted) !important;
}

/* Teacher dashboard: latest active sequences */
:root[data-bs-theme="dark"] body:not(.contrast-mode) .dashboard-widget-body > .group > .bg-violet-50\/70 {
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
    border-color: var(--dark-theme-border) !important;
    box-shadow: 0 0 0 1px var(--dark-theme-border) !important;
    color: var(--dark-theme-text) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .dashboard-widget-body > .group > .bg-violet-50\/70:hover {
    background: var(--dark-theme-surface-3) !important;
    background-color: var(--dark-theme-surface-3) !important;
    border-color: var(--dark-theme-accent-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .dashboard-widget-header .bg-blue-100.text-blue-700 {
    background: var(--dark-theme-surface-3) !important;
    background-color: var(--dark-theme-surface-3) !important;
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .dashboard-widget-body .bg-blue-50.ring-blue-100 {
    background: var(--dark-theme-accent-soft) !important;
    background-color: var(--dark-theme-accent-soft) !important;
    box-shadow: 0 0 0 1px var(--dark-theme-accent-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .dashboard-widget-body .text-blue-500,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .dashboard-widget-body .text-blue-600 {
    color: var(--dark-theme-accent) !important;
    -webkit-text-fill-color: var(--dark-theme-accent) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .dashboard-widget-body h3.text-gray-800,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .dashboard-widget-body .text-gray-700 {
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .dashboard-widget-body .bg-emerald-50.text-emerald-700 {
    background: color-mix(in srgb, #22c55e 18%, var(--dark-theme-surface-2)) !important;
    color: #bbf7d0 !important;
    box-shadow: 0 0 0 1px color-mix(in srgb, #22c55e 38%, var(--dark-theme-border)) !important;
    -webkit-text-fill-color: #bbf7d0 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .dashboard-widget-body .bg-gray-50.text-gray-700 {
    background: var(--dark-theme-surface-3) !important;
    background-color: var(--dark-theme-surface-3) !important;
    color: var(--dark-theme-text) !important;
    box-shadow: 0 0 0 1px var(--dark-theme-border) !important;
    -webkit-text-fill-color: var(--dark-theme-text) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .dashboard-widget-body .bg-rose-50.text-rose-700 {
    background: color-mix(in srgb, #ef4444 18%, var(--dark-theme-surface-2)) !important;
    color: #fecaca !important;
    box-shadow: 0 0 0 1px color-mix(in srgb, #ef4444 38%, var(--dark-theme-border)) !important;
    -webkit-text-fill-color: #fecaca !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .dashboard-widget-body > .group > .h-px {
    background: var(--dark-theme-border) !important;
    background-image: none !important;
}

/* New Trails: registered questions list */
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registeredQuestionsModal .modal-content,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registeredQuestionsModal .modal-header,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registeredQuestionsModal .modal-footer {
    background: var(--dark-theme-surface) !important;
    background-color: var(--dark-theme-surface) !important;
    border-color: var(--dark-theme-border) !important;
    color: var(--dark-theme-text) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #registeredQuestionsModal .modal-body {
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
    color: var(--dark-theme-text) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #registeredQuestionsModal .modal-title {
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #registeredQuestionsModal .registered-questions-subtitle,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registeredQuestionsModal .registered-questions-runtime,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registeredQuestionsModal #registeredQuestionsEmpty {
    color: var(--dark-theme-text-muted) !important;
    -webkit-text-fill-color: var(--dark-theme-text-muted) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #registeredQuestionsModal .registered-questions-filters,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registeredQuestionsModal .registered-question-option {
    background: var(--dark-theme-surface) !important;
    background-color: var(--dark-theme-surface) !important;
    border-color: var(--dark-theme-border) !important;
    color: var(--dark-theme-text) !important;
    box-shadow: none !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #registeredQuestionsModal .registered-question-option:hover {
    background: var(--dark-theme-surface-3) !important;
    background-color: var(--dark-theme-surface-3) !important;
    border-color: var(--dark-theme-accent-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #registeredQuestionsModal .registered-filter-field .form-label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registeredQuestionsModal .registered-question-text {
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #registeredQuestionsModal .registered-filter-field .form-control,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registeredQuestionsModal .registered-filter-field .form-select,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registeredQuestionsModal .registered-questions-pagination .page-link {
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
    border-color: var(--dark-theme-border) !important;
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #registeredQuestionsModal .registered-filter-field .form-control::placeholder {
    color: var(--dark-theme-text-muted) !important;
    -webkit-text-fill-color: var(--dark-theme-text-muted) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #registeredQuestionsModal .registered-questions-pagination .page-link:hover:not(:disabled) {
    background: var(--dark-theme-accent-soft) !important;
    background-color: var(--dark-theme-accent-soft) !important;
    border-color: var(--dark-theme-accent-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #registeredQuestionsModal .registered-questions-pagination .page-item.disabled .page-link {
    background: var(--dark-theme-surface-3) !important;
    background-color: var(--dark-theme-surface-3) !important;
    border-color: var(--dark-theme-border) !important;
    color: var(--dark-theme-text-muted) !important;
    -webkit-text-fill-color: var(--dark-theme-text-muted) !important;
}

/* New Trails: registered-question badges and detail preview */
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registeredQuestionsModal .registered-question-badge.is-structure,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registeredQuestionsModal .registered-question-badge.is-game {
    background: var(--dark-theme-surface-3) !important;
    background-color: var(--dark-theme-surface-3) !important;
    border-color: var(--dark-theme-border) !important;
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #registeredQuestionsModal .registered-question-badge.is-easy {
    background: color-mix(in srgb, #22c55e 16%, var(--dark-theme-surface-2)) !important;
    border-color: color-mix(in srgb, #22c55e 42%, var(--dark-theme-border)) !important;
    color: #bbf7d0 !important;
    -webkit-text-fill-color: #bbf7d0 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #registeredQuestionsModal .registered-question-badge.is-medium {
    background: color-mix(in srgb, #eab308 16%, var(--dark-theme-surface-2)) !important;
    border-color: color-mix(in srgb, #eab308 42%, var(--dark-theme-border)) !important;
    color: #fef08a !important;
    -webkit-text-fill-color: #fef08a !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #registeredQuestionsModal .registered-question-badge.is-hard {
    background: color-mix(in srgb, #ef4444 16%, var(--dark-theme-surface-2)) !important;
    border-color: color-mix(in srgb, #ef4444 42%, var(--dark-theme-border)) !important;
    color: #fecaca !important;
    -webkit-text-fill-color: #fecaca !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #registeredQuestionsModal .registered-question-badge.is-runtime {
    background: color-mix(in srgb, var(--dark-theme-accent) 38%, var(--dark-theme-surface-2)) !important;
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #registeredQuestionsModal .registered-question-detail-section,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registeredQuestionsModal .registered-question-bncc-detail,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registeredQuestionsModal .registered-question-detail-item,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registeredQuestionsModal .registered-question-detail-pair,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registeredQuestionsModal .registered-question-game-detail {
    background: var(--dark-theme-surface) !important;
    background-color: var(--dark-theme-surface) !important;
    border-color: var(--dark-theme-border) !important;
    color: var(--dark-theme-text) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #registeredQuestionsModal .registered-question-detail-item.is-correct {
    background: color-mix(in srgb, #22c55e 12%, var(--dark-theme-surface)) !important;
    background-color: color-mix(in srgb, #22c55e 12%, var(--dark-theme-surface)) !important;
    border-color: color-mix(in srgb, #22c55e 42%, var(--dark-theme-border)) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #registeredQuestionsModal .registered-question-detail-title,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registeredQuestionsModal .registered-question-detail-copy,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registeredQuestionsModal .registered-question-bncc-description,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registeredQuestionsModal .registered-question-detail-item,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registeredQuestionsModal .registered-question-detail-pair,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registeredQuestionsModal .registered-question-game-detail strong {
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #registeredQuestionsModal .registered-question-game-detail span {
    color: var(--dark-theme-text-muted) !important;
    -webkit-text-fill-color: var(--dark-theme-text-muted) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #registeredQuestionsModal .registered-question-detail-index,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registeredQuestionsModal .registered-question-game-detail > i {
    background: var(--dark-theme-accent-soft) !important;
    background-color: var(--dark-theme-accent-soft) !important;
    color: var(--dark-theme-accent) !important;
    -webkit-text-fill-color: var(--dark-theme-accent) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #registeredQuestionsModal .registered-question-detail-answer {
    color: #86efac !important;
    -webkit-text-fill-color: #86efac !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #registeredQuestionsModal .registered-question-detail-media img,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registeredQuestionsModal .registered-question-detail-media video {
    background: var(--dark-theme-surface-3) !important;
    background-color: var(--dark-theme-surface-3) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #registeredQuestionsModal #backToRegisteredQuestions,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registeredQuestionsModal #closeRegisteredQuestions {
    background: var(--dark-theme-surface-3) !important;
    background-color: var(--dark-theme-surface-3) !important;
    border-color: var(--dark-theme-border) !important;
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) #registeredQuestionsModal #backToRegisteredQuestions:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registeredQuestionsModal #backToRegisteredQuestions:focus-visible,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registeredQuestionsModal #closeRegisteredQuestions:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) #registeredQuestionsModal #closeRegisteredQuestions:focus-visible {
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
    border-color: var(--dark-theme-accent-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .prev-step.btn-light {
    background: var(--dark-theme-surface-3) !important;
    background-color: var(--dark-theme-surface-3) !important;
    border-color: var(--dark-theme-border) !important;
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .prev-step.btn-light:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .new-trails-container .prev-step.btn-light:focus-visible {
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
    border-color: var(--dark-theme-accent-border) !important;
}

/* Navbar command search */
:root[data-bs-theme="dark"] body:not(.contrast-mode) .navbar-command-search__trigger,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .navbar-command-search__panel,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .navbar-command-search__panel--header,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .navbar-command-search__panel--mobile-inline,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .navbar-command-search__results {
    background: var(--dark-theme-surface) !important;
    background-color: var(--dark-theme-surface) !important;
    border-color: var(--dark-theme-border) !important;
    color: var(--dark-theme-text) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .navbar-command-search__trigger:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .navbar-command-search__trigger:focus-visible,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .navbar-command-search.is-open .navbar-command-search__trigger {
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
    color: var(--dark-theme-accent) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .navbar-command-search__header strong,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .navbar-command-search__result-label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .navbar-command-search__empty {
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .navbar-command-search__input {
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
    border-color: var(--dark-theme-border) !important;
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .navbar-command-search__input::placeholder,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .navbar-command-search__status,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .navbar-command-search__result-parent,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .navbar-command-search__result-copy,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .navbar-command-search__empty-copy {
    color: var(--dark-theme-text-muted) !important;
    -webkit-text-fill-color: var(--dark-theme-text-muted) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .navbar-command-search__result,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .navbar-command-search__empty {
    background: var(--dark-theme-surface) !important;
    background-color: var(--dark-theme-surface) !important;
    border-color: var(--dark-theme-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .navbar-command-search__result:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .navbar-command-search__result:focus-visible,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .navbar-command-search__result[aria-selected="true"] {
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .navbar-command-search__result-icon,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .navbar-command-search__empty-action {
    background: var(--dark-theme-accent-soft) !important;
    background-color: var(--dark-theme-accent-soft) !important;
    border-color: var(--dark-theme-accent-border) !important;
    color: var(--dark-theme-accent) !important;
}

/* User notification dropdown and history page */
:root[data-bs-theme="dark"] body:not(.contrast-mode) .user-notifications-trigger,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .user-notifications-panel,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .notification-history-card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .notification-history-card .card-body {
    background: var(--dark-theme-surface) !important;
    background-color: var(--dark-theme-surface) !important;
    border-color: var(--dark-theme-border) !important;
    color: var(--dark-theme-text) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .user-notifications-trigger:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .user-notifications-trigger:focus-visible,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .user-notifications-panel__action,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .notification-history-action {
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
    border-color: var(--dark-theme-accent-border) !important;
    color: var(--dark-theme-accent) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .user-notifications-panel__action:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .user-notifications-panel__action:focus,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .notification-history-action:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .notification-history-action:focus {
    background: var(--app-base-color) !important;
    background-color: var(--app-base-color) !important;
    border-color: var(--app-base-color) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .user-notifications-panel__header,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .user-notifications-panel__footer,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .user-notifications-item,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .notification-history-item {
    background: var(--dark-theme-surface) !important;
    background-color: var(--dark-theme-surface) !important;
    border-color: var(--dark-theme-border) !important;
    color: var(--dark-theme-text) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .user-notifications-item.is-unread,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .notification-history-item.is-unread,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .user-notifications-item:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .notification-history-item:hover {
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
    color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .user-notifications-panel__header strong,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .user-notifications-item__title,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .notification-history-title,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .notification-history-content strong {
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .user-notifications-item__body,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .user-notifications-item__date,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .user-notifications-item__time,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .notification-history-content small,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .notification-history-content em,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .notification-history-date {
    color: var(--dark-theme-text-muted) !important;
    -webkit-text-fill-color: var(--dark-theme-text-muted) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .user-notifications-item__icon,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .notification-history-icon {
    background: var(--dark-theme-accent-soft) !important;
    background-color: var(--dark-theme-accent-soft) !important;
    color: var(--dark-theme-accent) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .user-notifications-empty,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .notification-history-empty {
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
    border-color: var(--dark-theme-border) !important;
    color: var(--dark-theme-text-muted) !important;
    -webkit-text-fill-color: var(--dark-theme-text-muted) !important;
}

/* Certificates: issuer, student list, and certificate detail */
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-builder-page,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .my-certificates-page,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-detail-page {
    color: var(--dark-theme-text) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-builder-card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-guide,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-history-mobile-card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-pagination,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-student-card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-detail-card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-release-preview__dialog,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-release-preview__header,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-release-preview__footer {
    background: var(--dark-theme-surface) !important;
    background-color: var(--dark-theme-surface) !important;
    background-image: none !important;
    border-color: var(--dark-theme-border) !important;
    color: var(--dark-theme-text) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-builder-hero,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .my-certificates-hero,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-detail-toolbar {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-guide__step,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-placeholder-box,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-recipient-box,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-empty-state,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-issue-student:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-release-preview__body {
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
    border-color: var(--dark-theme-border) !important;
    color: var(--dark-theme-text) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-builder-title,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-builder-card h2,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-guide h2,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-guide__step strong,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-history-mobile-card__student,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-history-mobile-card__title,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .my-certificates-title,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .my-certificates-hero-h5,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-student-card h5,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-detail-title,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-detail-description,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-detail-body,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-release-preview__header h2 {
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-guide__intro,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-guide__step p,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-guide__note,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-builder-page .text-muted,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-builder-page .form-label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-history-mobile-card__actions-label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .my-certificates-page .text-muted,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-detail-meta {
    color: var(--dark-theme-text-muted) !important;
    -webkit-text-fill-color: var(--dark-theme-text-muted) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-builder-page .form-control,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-builder-page .form-select,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-revoke-form .form-control {
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
    border-color: var(--dark-theme-border) !important;
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-builder-page .form-control::placeholder,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-revoke-form .form-control::placeholder,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-issue-empty-filter {
    color: var(--dark-theme-text-muted) !important;
    -webkit-text-fill-color: var(--dark-theme-text-muted) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-placeholder-token,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-builder-count,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-editor-count,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-issue-count,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-student-icon,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-detail-icon {
    background: var(--dark-theme-accent-soft) !important;
    background-color: var(--dark-theme-accent-soft) !important;
    border-color: var(--dark-theme-accent-border) !important;
    color: var(--dark-theme-accent) !important;
    -webkit-text-fill-color: var(--dark-theme-accent) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-history-table,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-history-table thead,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-history-table thead tr,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-history-table thead th,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-history-table tbody,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-history-table tbody tr,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-history-table tbody td {
    background: var(--dark-theme-surface) !important;
    background-color: var(--dark-theme-surface) !important;
    border-color: var(--dark-theme-border) !important;
    color: var(--dark-theme-text) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-history-table tbody tr:nth-child(even),
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-history-table tbody tr:nth-child(even) td,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-history-table tbody tr:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-history-table tbody tr:hover td {
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-builder-action-outline,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-issue-secondary,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-student-secondary,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-detail-back,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-release-preview__close {
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
    border-color: var(--dark-theme-accent-border) !important;
    color: var(--dark-theme-accent) !important;
    -webkit-text-fill-color: var(--dark-theme-accent) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-builder-action-outline:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-issue-secondary:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-student-secondary:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-detail-back:hover {
    background: var(--app-base-color) !important;
    background-color: var(--app-base-color) !important;
    border-color: var(--app-base-color) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

/* Certificate issuer refinements */
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-builder-card__header,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-builder-card__header--simple {
    background: var(--dark-theme-surface) !important;
    background-color: var(--dark-theme-surface) !important;
    border-color: var(--dark-theme-border) !important;
    color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-builder-card__header--simple h2,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-builder-back {
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-builder-back:hover,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-builder-back:focus-visible {
    color: var(--dark-theme-accent) !important;
    -webkit-text-fill-color: var(--dark-theme-accent) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-builder-card__icon {
    background: var(--dark-theme-accent-soft) !important;
    background-color: var(--dark-theme-accent-soft) !important;
    border-color: var(--dark-theme-accent-border) !important;
    color: var(--dark-theme-accent) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-issue-students {
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
    border-color: var(--dark-theme-border) !important;
    color: var(--dark-theme-text) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-issue-student {
    color: var(--dark-theme-text) !important;
    -webkit-text-fill-color: var(--dark-theme-text) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-status--released {
    background: color-mix(in srgb, #22c55e 18%, var(--dark-theme-surface-2)) !important;
    color: #bbf7d0 !important;
    -webkit-text-fill-color: #bbf7d0 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-status--saved {
    background: var(--dark-theme-accent-soft) !important;
    background-color: var(--dark-theme-accent-soft) !important;
    color: var(--dark-theme-accent) !important;
    -webkit-text-fill-color: var(--dark-theme-accent) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-status--revoked {
    background: color-mix(in srgb, #ef4444 18%, var(--dark-theme-surface-2)) !important;
    color: #fecaca !important;
    -webkit-text-fill-color: #fecaca !important;
}

/* Keep the certificate itself readable while it is reviewed before release. */
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-release-preview__sheet {
    background: #f8f5ee !important;
    background-color: #f8f5ee !important;
    border-color: #284e7d !important;
    color: #34445a !important;
    -webkit-text-fill-color: #34445a !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-release-preview__kicker {
    color: #284e7d !important;
    -webkit-text-fill-color: #284e7d !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-release-preview__title {
    color: #203f68 !important;
    -webkit-text-fill-color: #203f68 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-release-preview__description {
    color: #52627a !important;
    -webkit-text-fill-color: #52627a !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-release-preview__body-text,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-release-preview__body-text strong {
    color: #34445a !important;
    -webkit-text-fill-color: #34445a !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .certificate-release-preview__meta {
    color: #59687b !important;
    border-color: #d7c58f !important;
    -webkit-text-fill-color: #59687b !important;
}

/* Book activities builder */
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page {
    color: var(--dark-theme-text) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .book-activities-container,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .book-selector-card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .question-form,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .review-card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .review-summary,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .review-question-card {
    background: var(--dark-theme-surface) !important;
    background-color: var(--dark-theme-surface) !important;
    background-image: none !important;
    border-color: var(--dark-theme-border) !important;
    color: var(--dark-theme-text) !important;
    box-shadow: var(--dark-theme-panel-shadow) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .book-selector-toolbar,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .book-selector-footer,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .book-navigation-shell,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .book-navigation,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .structure-section-card,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .alternatives-container,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .order-items,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .order-item,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .true-false-statement,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .review-question-header,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .review-setting,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .review-prompt,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .review-option,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .book-edit-summary {
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
    background-image: none !important;
    border-color: var(--dark-theme-border) !important;
    color: var(--dark-theme-text) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page #replace_existing.form-check-input.m-0 {
    background-color: var(--dark-theme-surface-3) !important;
    border-color: var(--dark-theme-border) !important;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.04) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page #replace_existing.form-check-input.m-0:focus {
    border-color: var(--dark-theme-accent-border) !important;
    box-shadow: 0 0 0 .2rem color-mix(in srgb, var(--app-base-color) 22%, transparent) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page #replace_existing.form-check-input.m-0:checked {
    background-color: var(--app-base-color) !important;
    border-color: var(--app-base-color) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .title-reports,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .book-activities-heading .text-dark,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .step.active,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .form-label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .book-selector-title,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .question-form > h5:first-child,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .review-card > h5,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .review-page-heading h5,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .review-summary h5,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .review-question-card h5,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .review-list-heading h6,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .review-prompt p,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .review-option-text {
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .step,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .book-selected-count,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .book-selector-author,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .text-muted,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .question-help,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .review-page-heading p,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .review-eyebrow,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .review-prompt-label {
    color: var(--dark-theme-text-muted) !important;
    -webkit-text-fill-color: var(--dark-theme-text-muted) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .original-input,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .form-control,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .form-select,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .choices__inner,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .choices__list--dropdown,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .choices__list[aria-expanded] {
    background: var(--dark-theme-surface-3) !important;
    background-color: var(--dark-theme-surface-3) !important;
    border-color: var(--dark-theme-border) !important;
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .form-control::placeholder,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .book-search::placeholder {
    color: var(--dark-theme-text-muted) !important;
    -webkit-text-fill-color: var(--dark-theme-text-muted) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .form-control:focus,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .form-select:focus,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .choices.is-focused .choices__inner,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .alternative-card:focus {
    border-color: var(--dark-theme-accent-border) !important;
    box-shadow: 0 0 0 .2rem color-mix(in srgb, var(--app-base-color) 22%, transparent) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .circle {
    background: var(--dark-theme-surface-3) !important;
    background-color: var(--dark-theme-surface-3) !important;
    color: var(--dark-theme-text-muted) !important;
    -webkit-text-fill-color: var(--dark-theme-text-muted) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .step.active .circle,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .order-index,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .create-question,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .book-next-step {
    background: var(--app-base-color) !important;
    background-color: var(--app-base-color) !important;
    border-color: var(--app-base-color) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .book-selector-item {
    border-color: transparent !important;
    color: var(--dark-theme-text) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .book-selector-item:hover {
    background: var(--dark-theme-accent-soft) !important;
    background-color: var(--dark-theme-accent-soft) !important;
    border-color: var(--dark-theme-accent-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .book-search-wrap svg,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .question-skill-title,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .review-label,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .review-page-heading h5 i,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .review-setting i,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .review-list-heading h6 i {
    color: var(--dark-theme-accent) !important;
    -webkit-text-fill-color: var(--dark-theme-accent) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .book-chip,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .review-count-badge,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .review-meta-badge,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .review-summary-icon,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .review-question-index,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .true-false-index,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .alt-letter,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .review-option-marker {
    background: var(--dark-theme-accent-soft) !important;
    background-color: var(--dark-theme-accent-soft) !important;
    border-color: var(--dark-theme-accent-border) !important;
    color: var(--dark-theme-accent) !important;
    -webkit-text-fill-color: var(--dark-theme-accent) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .alternative-card {
    background: var(--dark-theme-surface-3) !important;
    background-color: var(--dark-theme-surface-3) !important;
    border-color: var(--dark-theme-border) !important;
    color: var(--dark-theme-text) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .alternative-card:hover {
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
    border-color: var(--dark-theme-accent-border) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .alternative-card.is-selected,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .review-option.is-correct,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .review-option.is-sequence {
    background: color-mix(in srgb, #22c55e 14%, var(--dark-theme-surface-2)) !important;
    background-color: color-mix(in srgb, #22c55e 14%, var(--dark-theme-surface-2)) !important;
    border-color: color-mix(in srgb, #22c55e 40%, var(--dark-theme-border)) !important;
    color: #bbf7d0 !important;
    -webkit-text-fill-color: #bbf7d0 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .alternative-card.is-selected .alt-letter,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .review-option.is-correct .review-option-marker,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .review-option.is-sequence .review-option-marker {
    background: #22c55e !important;
    background-color: #22c55e !important;
    border-color: #22c55e !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .alt-badge,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .review-book-chip,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .review-answer-title,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .review-correct-check,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .review-options li.correct,
:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .review-true-false-value.is-true {
    background: color-mix(in srgb, #22c55e 16%, var(--dark-theme-surface-2)) !important;
    background-color: color-mix(in srgb, #22c55e 16%, var(--dark-theme-surface-2)) !important;
    border-color: color-mix(in srgb, #22c55e 38%, var(--dark-theme-border)) !important;
    color: #bbf7d0 !important;
    -webkit-text-fill-color: #bbf7d0 !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .review-true-false-value.is-false {
    background: color-mix(in srgb, #ef4444 16%, var(--dark-theme-surface-2)) !important;
    background-color: color-mix(in srgb, #ef4444 16%, var(--dark-theme-surface-2)) !important;
    color: #fecaca !important;
    -webkit-text-fill-color: #fecaca !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .book-prev-step {
    background: var(--dark-theme-surface-3) !important;
    background-color: var(--dark-theme-surface-3) !important;
    border-color: var(--dark-theme-border) !important;
    color: var(--dark-theme-text-strong) !important;
    -webkit-text-fill-color: var(--dark-theme-text-strong) !important;
}

:root[data-bs-theme="dark"] body:not(.contrast-mode) .book-activities-page .book-activities-empty {
    background: var(--dark-theme-surface-2) !important;
    background-color: var(--dark-theme-surface-2) !important;
    border-color: var(--dark-theme-border) !important;
    color: var(--dark-theme-text-muted) !important;
    -webkit-text-fill-color: var(--dark-theme-text-muted) !important;
}
