/**
 * InfixEdu — unified design-system UI tokens.
 * Action #0066cc · page #f5f5f7 · cards #fff · text #1d1d1f · brand #a70000 (logo only).
 * Loaded globally via root-css; theme colors from <x-root-css/> override fallbacks.
 */
:root {
    --ie-brand: var(--red, #a70000);
    --ie-primary: var(--primary-color, #0066cc);
    --ie-primary-hover: var(--link-hover, #0055aa);
    --ie-primary-soft: rgba(0, 102, 204, 0.10);
    --ie-primary-soft: color-mix(in srgb, var(--ie-primary) 12%, transparent);
    --ie-ink: var(--title_color, #1d1d1f);
    --ie-muted: var(--text-color, #6e6e73);
    --ie-line: var(--border_color, #d2d2d7);
    --ie-surface: var(--bg_white, #ffffff);
    --ie-wash: var(--dashboardbackground, #f5f5f7);
    --ie-success: var(--success, #34C759);
    --ie-success-soft: rgba(52, 199, 89, 0.14);
    --ie-success-soft: color-mix(in srgb, var(--ie-success) 14%, #ffffff);
    --ie-warning: var(--warning, #FF9F0A);
    --ie-warning-soft: rgba(255, 159, 10, 0.14);
    --ie-danger: var(--danger, #FF3B30);
    --ie-danger-soft: rgba(255, 59, 48, 0.12);
    --ie-danger-soft: color-mix(in srgb, var(--ie-danger) 12%, #ffffff);
    --ie-dark: var(--bg_black, #1d1d1f);
    --ie-radius: 12px;
    --ie-field-radius: 8px;
    --ie-radius-pill: 980px;
    --ie-control-h: 36px;
    --ie-placeholder: #86868b;
    --ie-font: var(--base_font, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
    --ie-focus-ring: #0066cc33;
    --ie-focus-ring: color-mix(in srgb, var(--ie-primary) 20%, transparent);
    --box_shadow: none;
    --gradient_1: var(--ie-primary, #0066cc);
    --gradient_2: var(--ie-primary, #0066cc);
    --gradient_3: var(--ie-primary, #0066cc);
    --sidebar_bg: #0066cc;
}

html, body {
    font-family: var(--ie-font);
    color: var(--ie-ink);
    background-color: var(--ie-wash);
    text-shadow: none;
}

h1, h2, h3, h4, h5, h6,
.section_tittle h2,
.main-title h3,
.page_title,
.platform-page h1,
.platform-page h2,
.platform-page .section-head h1,
.platform-page .section-head h2,
.platform-page .ie-page-intro h1,
.platform-page .card-title {
    color: var(--ie-primary, #0066cc);
    font-family: var(--ie-font);
}

/* Brand / logo accents only — never primary buttons */
.sidebar-header img,
.login_header img,
.navbar-brand img,
.brand-mark,
.footer-brand .brand-mark,
.ie-brand,
.logo-brand {
    --ie-logo-accent: var(--ie-brand);
}

.brand-mark,
.footer-brand .brand-mark {
    background-color: var(--ie-brand) !important;
}

/* ------------------------------------------------------------------ */
/* Buttons                                                             */
/* ------------------------------------------------------------------ */

.ie-btn,
.btn_1,
.btn_2,
.primary_btn,
.primary-btn,
.primary-school-color,
.custome-button,
.footer_section .footer_area_text .footer_btn,
.platform-page .btn-primary,
.school_directory .ie-btn-primary,
.btn.btn-primary,
button.primary-btn,
a.primary-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: var(--ie-control-h);
    padding: 0 18px;
    border-radius: 12px;
    border: 1px solid transparent;
    background-image: none !important;
    background-color: var(--ie-primary, var(--primary-color, #0066cc)) !important;
    color: #fff !important;
    font-family: var(--ie-font);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    box-shadow: none !important;
    text-shadow: none !important;
    cursor: pointer;
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.ie-btn:hover,
.btn_1:hover,
.primary_btn:hover,
.primary-btn:hover,
.custome-button:hover,
.footer_section .footer_area_text .footer_btn:hover,
.platform-page .btn-primary:hover,
.school_directory .ie-btn-primary:hover,
.btn.btn-primary:hover,
button.primary-btn:hover,
a.primary-btn:hover {
    background-color: var(--ie-primary-hover, var(--link-hover, #0055aa)) !important;
    color: #fff !important;
    background-position: initial !important;
    transform: none !important;
    box-shadow: none !important;
}

.ie-btn-secondary,
.btn_2,
.platform-page .btn:not(.btn-primary),
.school_directory .ie-btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: var(--ie-control-h);
    padding: 0 18px;
    border-radius: 12px;
    border: 1px solid var(--ie-line) !important;
    background-image: none !important;
    background-color: var(--ie-wash, #f5f5f7) !important;
    color: var(--ie-ink) !important;
    font-family: var(--ie-font);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    box-shadow: none !important;
    text-shadow: none !important;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

.ie-btn-secondary:hover,
.btn_2:hover,
.platform-page .btn:not(.btn-primary):hover,
.school_directory .ie-btn-secondary:hover {
    background-color: var(--ie-wash) !important;
    border-color: #b8b8bd !important;
    color: var(--ie-ink) !important;
    background-position: initial !important;
    transform: none !important;
}

/* Landing legacy button hover fix */
.btn_2:hover {
    background-image: none !important;
}

/* ------------------------------------------------------------------ */
/* Forms — inputs, selects, textareas                                  */
/* ------------------------------------------------------------------ */

input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="search"],
input[type="tel"],
input[type="url"],
input[type="date"],
input[type="time"],
select,
textarea,
.form-control,
.form-field input,
.form-field select,
.form-field textarea,
.message_submit_form {
    min-height: var(--ie-control-h);
    padding: 8px 12px;
    border: 1px solid var(--ie-line) !important;
    border-radius: 8px !important;
    background: var(--ie-surface) !important;
    background-image: none !important;
    color: var(--ie-ink);
    font-family: var(--ie-font);
    font-size: 14px;
    line-height: 1.4;
    box-shadow: none !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

textarea,
.form-control[rows] {
    min-height: 88px;
    resize: vertical;
}

input:focus-visible,
select:focus-visible,
textarea:focus-visible,
.form-control:focus-visible,
.form-field input:focus-visible,
.form-field select:focus-visible,
.form-field textarea:focus-visible,
.ie-btn:focus-visible,
.btn_1:focus-visible,
.primary-btn:focus-visible,
.primary_btn:focus-visible,
a:focus-visible,
button:focus-visible {
    outline: 2px solid var(--ie-primary);
    outline-offset: 2px;
}

input:focus,
select:focus,
textarea:focus,
.form-control:focus,
.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus {
    outline: 2px solid var(--ie-primary) !important;
    outline-offset: 1px;
    border-color: var(--ie-primary) !important;
    box-shadow: none !important;
}

/* ------------------------------------------------------------------ */
/* Lists & cards                                                       */
/* ------------------------------------------------------------------ */

.ie-list,
.school_directory_list,
.platform-page .list,
.platform-page .card,
.platform-page .school-card,
.platform-page .form-card,
.list-group-item {
    background: var(--ie-surface);
    border: 1px solid var(--ie-line);
    border-radius: 12px;
    box-shadow: none !important;
}

.ie-list-item,
.school_directory_item,
.platform-page .school-row,
.list-group-item {
    padding: 14px 16px;
    border-bottom: 1px solid var(--ie-line);
}

.ie-list-item:last-child,
.school_directory_item:last-child,
.platform-page .school-row:last-child {
    border-bottom: 0;
}

.ie-badge,
.school_directory_badge,
.platform-page .badge,
.platform-page .type-badge {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 2px 10px;
    border-radius: var(--ie-radius-pill);
    background: var(--ie-wash) !important;
    color: var(--ie-muted) !important;
    font-size: 12px;
    font-weight: 600;
}

.platform-page .badge.badge-soft,
.platform-page .badge-soft {
    background: color-mix(in srgb, var(--ie-primary) 14%, #ffffff) !important;
    color: var(--ie-primary-hover, #0055aa) !important;
    border: 1px solid color-mix(in srgb, var(--ie-primary) 28%, transparent);
}

.platform-page .badge.badge-success,
.platform-page .ie-success-icon,
.platform-page .alert-success {
    color: var(--ie-success) !important;
}

.platform-page .badge.badge-success {
    background: var(--ie-success-soft) !important;
}

/* ------------------------------------------------------------------ */
/* Remove gradients — landing page                                     */
/* ------------------------------------------------------------------ */

.btn_1,
.btn_2:hover,
.banner_part .banner_text .btn_1,
.all_feature .single_feature:before,
.our_speciality .single_feature:before,
.video_section .video_section_img:after,
.contact_us,
.feature_part .single_feature_part .single_feature_icon i,
.video_section .video_section_img .video-play-button span,
.all_feature .single_feature_part .single_feature_icon i,
.our_speciality .single_feature_part .single_feature_icon i,
.contact_us .single_feature_part:hover i,
.footer_section .footer_area_text .footer_btn {
    background-image: none !important;
}

.section_tittle h5 {
    background: none !important;
    -webkit-background-clip: initial !important;
    -webkit-text-fill-color: var(--ie-primary) !important;
    color: var(--ie-primary) !important;
}

.feature_part .single_feature_part .single_feature_icon i,
.all_feature .single_feature_part .single_feature_icon i,
.our_speciality .single_feature_part .single_feature_icon i,
.video_section .video_section_img .video-play-button span {
    -webkit-text-fill-color: var(--ie-primary) !important;
    color: var(--ie-primary) !important;
}

.all_feature .single_feature:before,
.our_speciality .single_feature:before {
    background-color: var(--ie-primary) !important;
    box-shadow: none !important;
}

.video_section .video_section_img:after,
.contact_us {
    background-color: var(--ie-primary) !important;
}

/* ------------------------------------------------------------------ */
/* Remove gradients — SaaS public platform                             */
/* ------------------------------------------------------------------ */

.platform-page .brand-mark,
.platform-page .btn-primary,
.platform-page .carousel,
.platform-page .school-card-media,
.platform-page .school-card-placeholder,
.platform-page .hero {
    background-image: none !important;
}

.platform-page .brand-mark {
    background-color: var(--ie-brand, #a70000) !important;
}

.platform-page .school-card-placeholder {
    background-color: var(--ie-wash, #f5f5f7) !important;
}

.platform-page .btn-primary {
    background-color: var(--ie-primary) !important;
    border-color: transparent !important;
}

.platform-page .carousel {
    background-color: var(--ie-dark) !important;
}

.platform-page .school-card-media {
    background-color: var(--ie-wash) !important;
}

.platform-page .hero {
    background: var(--ie-surface) !important;
}

.platform-page .btn:hover {
    transform: none !important;
    box-shadow: none !important;
}

/* ------------------------------------------------------------------ */
/* Remove gradients — admin backend                                    */
/* ------------------------------------------------------------------ */

.primary-school-color,
.sidebar #sidebar_menu > li.mm-active > a,
.sidebar #sidebar_menu > li > a:hover,
.white-box.single-summery::before,
.single-summery .d-flex span,
.gradient-color2,
.gradient-color,
.bg-gradient-primary {
    background-image: none !important;
    background-color: var(--ie-primary) !important;
}

.progress-bar,
.nav-tabs .nav-link.active {
    background-image: none !important;
    background-color: var(--ie-primary) !important;
}

/* ------------------------------------------------------------------ */
/* School directory section                                            */
/* ------------------------------------------------------------------ */

.school_directory {
    background: var(--ie-wash);
    font-family: var(--ie-font);
}

.school_directory_info h4 {
    color: var(--ie-ink);
}

.school_directory_meta {
    color: var(--ie-muted);
}

.school_directory_list {
    background: var(--ie-surface);
    border: 1px solid var(--ie-line);
    border-radius: 12px;
    box-shadow: none;
    overflow: hidden;
}

.school_directory_actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
}

.school_directory_buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}

.school_directory_empty {
    padding: 48px 24px;
    color: var(--ie-muted);
}

.school_directory_item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 18px;
    align-items: center;
}

.school_directory_pagination {
    margin-top: 20px;
    display: flex;
    justify-content: center;
}

@media (max-width: 767px) {
    .school_directory_item {
        grid-template-columns: 1fr;
    }

    .school_directory_buttons {
        justify-content: stretch;
    }

    .school_directory_buttons .ie-btn,
    .school_directory_buttons .ie-btn-secondary {
        width: 100%;
    }
}

/* ------------------------------------------------------------------ */
/* Admin table density (pilot screens)                                 */
/* ------------------------------------------------------------------ */

.ie-dense-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.ie-dense-table {
    width: 100%;
    margin-bottom: 0;
    border-collapse: separate;
    border-spacing: 0;
    font-family: var(--ie-font);
    font-size: 13px;
    color: var(--ie-ink);
}

.ie-dense-table thead th {
    position: sticky;
    top: 0;
    z-index: 3;
    padding: 8px 12px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.01em;
    text-transform: capitalize;
    color: var(--ie-ink);
    background: var(--table_header, var(--ie-wash));
    border-bottom: 1px solid var(--ie-line);
    white-space: nowrap;
    vertical-align: middle;
}

.ie-dense-table tbody td {
    padding: 7px 12px;
    vertical-align: middle;
    border-bottom: 1px solid var(--ie-line);
    background: var(--ie-surface);
}

.ie-dense-table tbody tr:hover td {
    background: var(--ie-primary-soft);
}

.ie-dense-table th:last-child,
.ie-dense-table td:last-child {
    position: sticky;
    right: 0;
    z-index: 2;
    min-width: 120px;
    box-shadow: none;
    border-left: 1px solid var(--ie-line);
    background: var(--ie-surface);
}

.ie-dense-table thead th:last-child {
    z-index: 4;
    background: var(--table_header, var(--ie-wash));
}

.ie-dense-table td:last-child .primary-btn.small,
.ie-dense-table td:last-child .btn {
    min-height: 28px;
    padding: 0 10px;
    font-size: 12px;
}

.ie-dense-table td:last-child form.d-inline,
.ie-dense-table td:last-child .d-inline {
    margin: 2px;
}

.ie-dense-table .badge {
    font-size: 11px;
    font-weight: 600;
    padding: 3px 8px;
}

/* Column headers: capitalize + bold project-wide (never uppercase) */
.ie-dense-table thead th,
.inf-table thead th,
.inf-table-wrap table thead th,
.school-table-style thead th,
.school-table-style tr th,
.QA_section .QA_table thead th,
.QA_section .QA_table .table thead th,
.white-box table thead th,
table.table > thead > tr > th,
table.dataTable thead th,
.table thead th,
table thead th {
    text-transform: capitalize !important;
    font-weight: 700 !important;
    letter-spacing: 0.01em;
}

.type-card-icon,
.ie-type-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    margin: 0 auto;
    color: var(--ie-primary, #0066cc) !important;
}

.type-card-icon svg,
.ie-type-icon svg {
    display: block;
    width: 28px;
    height: 28px;
    stroke: currentColor !important;
    fill: none !important;
    stroke-width: 1.75;
    stroke-linecap: round;
    stroke-linejoin: round;
    color: inherit !important;
}

/* Institution type picker (public registration + admin create) */
.type-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(148px, 1fr));
    gap: 12px;
}

.type-card,
.inf-type-card {
    appearance: none;
    -webkit-appearance: none;
    font-family: var(--ie-font);
    font-size: 13px;
    width: 100%;
    border: 1px solid var(--ie-line, #d2d2d7);
    border-radius: 12px;
    padding: 16px 12px;
    cursor: pointer;
    text-align: center;
    background: var(--ie-surface, #ffffff);
    display: grid;
    gap: 6px;
    color: var(--ie-ink, #1d1d1f);
    margin: 0;
    box-shadow: none !important;
    text-shadow: none;
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.type-card strong,
.inf-type-card strong {
    font-size: 13px;
    font-weight: 600;
    color: var(--ie-ink, #1d1d1f);
}

.type-card .type-card-desc {
    display: block;
    color: var(--ie-muted, #6e6e73);
    font-size: 12px;
    font-weight: 500;
}

.type-card:hover,
.inf-type-card:hover {
    border-color: var(--ie-primary, #0066cc);
    background: var(--ie-primary, #0066cc);
    color: #fff;
}

.type-card:hover strong,
.type-card:hover .type-card-desc,
.type-card:hover .type-card-icon,
.type-card:hover .ie-type-icon,
.type-card:hover .type-card-icon svg,
.type-card:hover .ie-type-icon svg,
.inf-type-card:hover strong,
.inf-type-card:hover .type-card-desc,
.inf-type-card:hover .icon,
.inf-type-card:hover .icon svg {
    color: #fff;
}

.type-card.selected,
.inf-type-card.selected {
    border-color: var(--ie-primary, #0066cc);
    background: var(--ie-primary, #0066cc);
    color: #fff;
}

.type-card.selected:hover,
.inf-type-card.selected:hover {
    border-color: var(--ie-primary-hover, #0055aa);
    background: var(--ie-primary-hover, #0055aa);
    color: #fff;
}

.type-card.selected strong,
.type-card.selected .type-card-desc,
.type-card.selected .type-card-icon,
.type-card.selected .ie-type-icon,
.type-card.selected .type-card-icon svg,
.type-card.selected .ie-type-icon svg,
.type-card.selected:hover strong,
.type-card.selected:hover .type-card-desc,
.type-card.selected:hover .type-card-icon,
.type-card.selected:hover .ie-type-icon,
.inf-type-card.selected strong,
.inf-type-card.selected .type-card-desc,
.inf-type-card.selected .icon,
.inf-type-card.selected .icon svg {
    color: #fff;
}

.type-card.selected .type-card-desc {
    opacity: 0.88;
}

.type-card:focus-visible,
.inf-type-card:focus-visible {
    outline: 2px solid var(--ie-primary, #0066cc);
    outline-offset: 2px;
}

.type-card.selected:focus-visible,
.inf-type-card.selected:focus-visible {
    outline-color: #fff;
    box-shadow: 0 0 0 3px var(--ie-primary, #0066cc) !important;
}

.type-card input,
.inf-type-card input {
    display: none;
}

.ie-field-hint {
    margin: 4px 0 0;
    font-size: 12px;
    font-weight: 500;
    color: var(--ie-muted);
}

/* ------------------------------------------------------------------ */
/* SaaS public platform surfaces only (keep tenant admin Institutionnel) */
/* ------------------------------------------------------------------ */

body.platform-page {
    --ie-primary: #0066cc;
    --ie-primary-hover: #0055aa;
    --ie-primary-soft: rgba(0, 102, 204, 0.10);
    --ie-ink: #1d1d1f;
    --ie-muted: #6e6e73;
    --ie-line: #d2d2d7;
    --ie-surface: #ffffff;
    --ie-wash: #f5f5f7;
    --ie-success: #34C759;
    --ie-success-soft: rgba(52, 199, 89, 0.14);
    --ie-danger: #FF3B30;
    --ie-danger-soft: rgba(255, 59, 48, 0.12);
    --ie-dark: #1d1d1f;
    --ie-radius: 10px;
    --ie-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --ie-focus-ring: rgba(0, 102, 204, 0.22);
    background: #f5f5f7;
    color: #1d1d1f;
    font-family: var(--ie-font);
    text-shadow: none;
}

body.platform-page .btn_1,
body.platform-page .primary-btn,
body.platform-page .primary_btn,
body.platform-page .btn-primary {
    background-color: #0066cc !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    text-shadow: none !important;
}

body.platform-page .btn_1:hover,
body.platform-page .primary-btn:hover,
body.platform-page .primary_btn:hover,
body.platform-page .btn-primary:hover {
    background-color: #0055aa !important;
}

body.platform-page .brand-mark,
body.platform-page .footer-brand .brand-mark {
    background: #a70000 !important;
}

body.platform-page .school-card-placeholder {
    background: var(--ie-wash, #f5f5f7) !important;
}

body.platform-page .school-card-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 10px;
    overflow: visible;
}

body.platform-page .school-card-actions .btn {
    min-width: 0;
    width: 100%;
    white-space: normal;
    height: auto;
    min-height: 36px;
    font-size: 14px !important;
    opacity: 1 !important;
    visibility: visible !important;
    box-shadow: none !important;
    background-image: none !important;
    border-radius: 12px !important;
}

body.platform-page .school-card-actions a.btn.btn-primary,
body.platform-page .school-card-actions .btn.btn-primary,
body.platform-page .school-card-actions a.school-card-login {
    background-color: #0066cc !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    border: 1px solid transparent !important;
}

body.platform-page .school-card-actions a.btn:not(.btn-primary),
body.platform-page .school-card-actions .btn:not(.btn-primary) {
    background-color: #ffffff !important;
    color: #1d1d1f !important;
    -webkit-text-fill-color: #1d1d1f !important;
    border: 1px solid #d2d2d7 !important;
}

body.platform-page .card,
body.platform-page .school-card,
body.platform-page .form-card,
body.platform-page .ie-success-card {
    box-shadow: none !important;
}

/* ------------------------------------------------------------------ */
/* Global footers (landing + admin + platform + Edulia)                */
/* ------------------------------------------------------------------ */

.inf-footer,
.footer_section,
.footer_area,
.footer-area,
.platform-footer,
.footer {
    background: var(--ie-surface, #ffffff) !important;
    background-image: none !important;
    border-top: 1px solid var(--ie-line, #d2d2d7);
    color: var(--ie-ink, #1d1d1f);
    box-shadow: none !important;
    text-shadow: none !important;
    font-family: var(--ie-font);
}

.inf-footer {
    padding: 48px 0 0;
    margin-top: 32px;
}

.inf-footer--compact {
    padding: 0;
    margin-top: 24px;
}

.inf-footer__shell,
.inf-footer .shell {
    width: min(1120px, calc(100% - 32px));
    margin: 0 auto;
}

.inf-footer__grid,
.platform-footer .footer-grid {
    display: grid;
    grid-template-columns: 1.6fr 1fr 1fr 1fr;
    gap: 32px;
    padding: 0 0 28px;
}

.inf-footer__brand-block {
    max-width: 340px;
}

.inf-footer__brand,
.footer-brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
    font-size: 17px;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--ie-ink, #1d1d1f);
    text-decoration: none;
}

.inf-footer__brand .brand-logo,
.footer-brand .brand-logo {
    display: block;
    height: 28px;
    width: auto;
    max-width: 160px;
    object-fit: contain;
}

.inf-footer__brand--compact {
    margin-bottom: 0;
    font-size: 13px;
}

.inf-footer__brand--compact .brand-mark {
    width: 22px;
    height: 22px;
    border-radius: 6px;
    font-size: 10px;
}

.inf-footer__tagline,
.footer-tagline {
    margin: 0 0 12px;
    color: var(--ie-muted, #6e6e73);
    font-size: 14px;
    line-height: 1.5;
}

.inf-footer__contact,
.footer-contact {
    margin: 0;
    color: var(--ie-muted, #6e6e73);
    font-size: 13px;
}

.inf-footer__heading,
.platform-footer .footer-heading,
.ie-site-footer .f_title h4 {
    display: block;
    margin: 0 0 12px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: var(--ie-primary, #0066cc);
}

.inf-footer__links,
.platform-footer .footer-links {
    display: flex;
    flex-direction: column;
    gap: 10px;
    font-size: 14px;
}

.inf-footer__links a,
.platform-footer .footer-links a,
.ie-site-footer .footer-list a,
.footer_area a,
.footer-list a {
    color: var(--ie-ink, #1d1d1f);
    opacity: 0.78;
    text-decoration: none;
}

.inf-footer__links a:hover,
.platform-footer .footer-links a:hover,
.footer_area a:hover,
.footer-list a:hover,
.ie-site-footer .footer-list a:hover {
    color: var(--ie-primary, #0066cc);
    opacity: 1;
}

.inf-footer__links span {
    color: var(--ie-muted, #6e6e73);
}

.inf-footer__bottom,
.platform-footer .footer-bottom {
    border-top: 1px solid var(--ie-line, #d2d2d7);
    background: var(--ie-wash, #f5f5f7);
    padding: 18px 0 24px;
    color: var(--ie-muted, #6e6e73);
    font-size: 13px;
}

.inf-footer__bottom-inner {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
    justify-content: space-between;
    align-items: center;
}

.inf-footer__bottom p,
.footer-bottom p,
.copyright_text,
.copy_right_text,
.footer_section .footer_area_text p,
.footer-area p {
    margin: 0;
    color: var(--ie-muted, #6e6e73);
    text-shadow: none !important;
}

.inf-footer__legal {
    display: grid;
    gap: 4px;
}

.footer-address { opacity: 0.85; }

.inf-footer__social {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.inf-footer__social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    border: 1px solid var(--ie-line, #d2d2d7);
    background: var(--ie-surface, #ffffff);
    color: var(--ie-ink, #1d1d1f);
    opacity: 1;
}

.inf-footer__social a:hover {
    color: var(--ie-primary, #0066cc);
    border-color: var(--ie-primary, #0066cc);
}

.inf-footer__lang,
.lang-switch {
    display: inline-flex;
    align-items: center;
    gap: 2px;
}

.lang-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    min-width: 32px;
    padding: 0 8px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: var(--ie-muted, #6e6e73);
    text-decoration: none;
    opacity: 1;
}

.lang-link:hover {
    color: var(--ie-ink, #1d1d1f);
    background: var(--ie-surface, #ffffff);
}

.lang-link.is-active {
    color: var(--ie-ink, #1d1d1f);
    background: var(--ie-surface, #ffffff);
    border: 1px solid var(--ie-line, #d2d2d7);
}

.footer_section .footer_area_text h2 {
    color: var(--ie-primary, #0066cc);
    text-shadow: none !important;
}

.footer_section .footer_btn,
.footer_section .footer_area_text .footer_btn {
    background: var(--ie-primary, #0066cc) !important;
    background-image: none !important;
    border-radius: var(--ie-radius, 12px) !important;
    box-shadow: none !important;
    color: #fff !important;
}

.footer_section .footer_btn:hover {
    background: var(--ie-primary-hover, #0055aa) !important;
}

.inf-footer .brand-mark,
.footer-brand .brand-mark {
    width: 28px;
    height: 28px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    background: var(--ie-brand, #a70000) !important;
}

@media (max-width: 900px) {
    .inf-footer__grid,
    .platform-footer .footer-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .inf-footer__bottom-inner {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* ------------------------------------------------------------------ */
/* Flat surfaces — no gradients / heavy shadows / text-shadow          */
/* ------------------------------------------------------------------ */

:root {
    --box_shadow: none !important;
}

.white-box,
.main-wrapper .white-box,
.common-box-shadow,
.card,
.modal-content,
.dropdown-menu,
.menu_popUp_list_wrapper,
.school-table .dropdown .dropdown-menu,
.bootstrap-datetimepicker-widget,
.datepicker.datepicker-dropdown,
.pagination .page-link,
.single-summery,
.primary-btn,
.primary_btn,
.btn_1,
.btn_2,
.btn.btn-primary,
.toast,
.nav-tabs .nav-link {
    box-shadow: none !important;
}

h1, h2, h3, h4, h5, h6,
p, span, a, label, li, td, th,
.main-title h3,
.page_title,
.section_tittle h2,
.section_tittle h5,
.dialog-notice-title,
.modal-content .modal-header .close i,
.white-box.single-summery h1,
.white-box.single-summery h3,
.white-box.single-summery p {
    text-shadow: none !important;
}

.primary-btn,
.primary_btn,
.btn_1,
.btn_2,
.btn.btn-primary,
.gradient-color,
.gradient-color2,
.bg-gradient,
.bg-gradient-primary,
.form-gr-bg,
.form-gr-bg-2,
.white-box.single-summery::before,
.white-box.single-summery::after,
.single-summery .d-flex span {
    background-image: none !important;
}

/* ------------------------------------------------------------------ */
/* Light page preloader                                                */
/* ------------------------------------------------------------------ */

.preloader,
.ie-preloader {
    background: rgba(245, 245, 247, 0.42) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    box-shadow: none !important;
}

.preloader .circle,
.preloader .dot,
.preloader .body,
.preloader .longfazers,
.preloader .loader0,
.preloader .loader0_div,
.preloader .wrapper,
.preloader .wrapper2,
.preloader .wrapper3,
.preloader .wrapper4,
.preloader .wrapper5,
.preloader .wrapper6,
.preloader .wrapper7,
.preloader .wrapper8,
.preloader .wrapper9,
.preloader > h1 {
    display: none !important;
}

.ie-spinner {
    display: block;
    width: 28px;
    height: 28px;
    border: 2px solid rgba(0, 102, 204, 0.16);
    border-top-color: var(--ie-primary, #0066cc);
    border-radius: 50%;
    box-shadow: none !important;
    animation: ie-spin 0.65s linear infinite;
}

.ie-preloader-img {
    width: 56px;
    height: auto;
    max-width: 56px;
    opacity: 0.9;
}

@keyframes ie-spin {
    to {
        transform: rotate(360deg);
    }
}

/* Inline AJAX loaders — quieter */
.pulse-loader:before,
.pulse-loader:after {
    box-shadow: none !important;
    border-color: var(--ie-primary, #0066cc) !important;
    border-width: 2px !important;
}

.loader_img_style {
    width: 18px !important;
    height: 18px !important;
    opacity: 0.75;
}

/* Soft white cards / admin surfaces */
.white-box,
.main-wrapper .white-box {
    background: var(--ie-surface, #ffffff);
    box-shadow: none !important;
}

/* Edulia pagebuilder footer (was CodeCanyon blue + image) */
.footer {
    padding: 48px 0 0 !important;
}
.footer-item p {
    color: var(--ie-muted, #6e6e73) !important;
    font-size: 14px;
    line-height: 1.5;
}
.footer-item h5 {
    margin: 0 0 12px;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: var(--ie-primary, #0066cc) !important;
}
.footer-item-links {
    list-style: none;
    padding: 0;
    margin: 0;
}
.footer-item-links li { margin-bottom: 10px; }
.footer-item-links li a {
    color: var(--ie-ink, #1d1d1f) !important;
    opacity: 0.78;
    text-decoration: none;
}
.footer-item-links li a:hover {
    color: var(--ie-primary, #0066cc) !important;
    opacity: 1;
}
.footer_copyright .inf-footer__bottom-inner,
.footer_copyright_tools {
    justify-content: flex-end;
}
.footer_copyright_inner,
.footer_copyright_inner p,
.footer_copyright_inner p a {
    color: var(--ie-muted, #6e6e73) !important;
    text-shadow: none !important;
}
.footer_copyright_social {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
    list-style: none;
    margin: 0;
    padding: 0;
}
.footer_copyright_social_list_link {
    color: var(--ie-ink, #1d1d1f) !important;
    text-decoration: none;
}
.footer_copyright_social_list_link:hover {
    color: var(--ie-primary, #0066cc) !important;
}
.ie-admin-footer,
.inf-footer--compact.ie-admin-footer {
    padding: 0;
    margin-top: 24px;
}

/* ------------------------------------------------------------------ */
/* Admin + Modules — common surfaces (single source of truth)          */
/* ------------------------------------------------------------------ */

.main-title h3,
.page_title,
.common-title,
.QA_section .main-title h3,
.admin .main-title h3 {
    color: var(--ie-primary, #0066cc) !important;
    font-family: var(--ie-font);
    text-shadow: none !important;
}

.white-box,
.main-wrapper .white-box,
.admin .card,
.admin .modal-content {
    background: var(--ie-surface, #ffffff) !important;
    box-shadow: none !important;
}

.admin .primary-btn,
.admin .btn-primary,
.admin .primary_btn,
.admin .submit {
    background: var(--ie-primary, #0066cc) !important;
    background-image: none !important;
    border-radius: var(--ie-radius, 12px) !important;
    box-shadow: none !important;
}

.admin .badge-success,
.badge.badge-success {
    background-color: var(--ie-success, #34C759) !important;
}

.admin .badge-warning,
.badge.badge-warning {
    background-color: var(--ie-warning, #FF9F0A) !important;
}

.admin .badge-danger,
.badge.badge-danger {
    background-color: var(--ie-danger, #FF3B30) !important;
}

.alert-success {
    background-color: var(--ie-success-soft) !important;
    border-color: var(--ie-success) !important;
    color: var(--ie-ink) !important;
}

.alert-warning {
    background-color: var(--ie-warning-soft) !important;
    border-color: var(--ie-warning) !important;
    color: var(--ie-ink) !important;
}

.alert-danger {
    background-color: var(--ie-danger-soft) !important;
    border-color: var(--ie-danger) !important;
    color: var(--ie-ink) !important;
}

.alert-primary,
.alert-info {
    background-color: var(--ie-primary-soft) !important;
    border-color: var(--ie-primary) !important;
    color: var(--ie-ink) !important;
}

/* ------------------------------------------------------------------ */
/* Inf module UI (Community + shared admin patterns)                   */
/* ------------------------------------------------------------------ */

.inf-ds {
    font-family: var(--ie-font);
    color: var(--ie-ink);
}

.inf-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.inf-platform-header__title {
    margin: 0 0 6px;
    color: var(--ie-primary, #0066cc);
    font-size: 24px;
    font-weight: 600;
    letter-spacing: -0.02em;
    font-family: var(--ie-font);
}

.inf-platform-header__subtitle {
    margin: 0;
    color: var(--ie-muted, #6e6e73);
    font-size: 14px;
}

.inf-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.inf-tabs__item {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 0 14px;
    border: 1px solid var(--ie-line);
    border-radius: 10px;
    background: var(--ie-surface);
    color: var(--ie-ink) !important;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none !important;
}

.inf-tabs__item:hover {
    border-color: var(--ie-primary);
    color: var(--ie-primary) !important;
}

.inf-tabs__item.is-active {
    background: var(--ie-primary) !important;
    border-color: var(--ie-primary) !important;
    color: #fff !important;
}

.inf-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: var(--ie-control-h);
    padding: 0 18px;
    border-radius: 10px;
    border: 1px solid transparent;
    font-family: var(--ie-font);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none !important;
    cursor: pointer;
    box-shadow: none !important;
    background-image: none !important;
}

.inf-btn--primary {
    background: var(--ie-primary, #0066cc) !important;
    color: #fff !important;
}

.inf-btn--primary:hover {
    background: var(--ie-primary-hover, #0055aa) !important;
    color: #fff !important;
}

.inf-btn--secondary {
    background: var(--ie-wash, #f5f5f7) !important;
    border-color: var(--ie-line) !important;
    color: var(--ie-ink) !important;
}

.inf-btn--ghost {
    background: transparent !important;
    border-color: var(--ie-line) !important;
    color: var(--ie-primary, #0066cc) !important;
}

.inf-btn--sm {
    min-height: 28px;
    padding: 0 12px;
    font-size: 12px;
}

.inf-btn--md {
    min-height: var(--ie-control-h);
    padding: 0 18px;
    font-size: 14px;
}

.inf-card {
    background: var(--ie-surface, #ffffff);
    border: 1px solid var(--ie-line, #d2d2d7);
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 20px;
    box-shadow: none !important;
}

.inf-card__title {
    margin: 0 0 12px;
    color: var(--ie-primary, #0066cc);
    font-size: 16px;
    font-weight: 600;
}

.inf-field__label {
    display: block;
    margin-bottom: 6px;
    color: var(--ie-ink);
    font-size: 13px;
    font-weight: 600;
}

.inf-field__input,
.inf-ds .primary_input_field {
    width: 100%;
    min-height: var(--ie-control-h);
    padding: 8px 12px;
    border: 1px solid var(--ie-line) !important;
    border-radius: 10px !important;
    background: var(--ie-surface) !important;
    color: var(--ie-ink);
    font-family: var(--ie-font);
    font-size: 14px;
    box-shadow: none !important;
}

.inf-field__input:focus,
.inf-ds .primary_input_field:focus {
    border-color: var(--ie-primary) !important;
    box-shadow: 0 0 0 3px var(--ie-focus-ring) !important;
    outline: none;
}

.inf-stat-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 12px;
    margin-bottom: 20px;
}

.inf-stat-card {
    background: var(--ie-surface);
    border: 1px solid var(--ie-line);
    border-radius: 12px;
    padding: 16px;
    box-shadow: none !important;
}

.inf-stat-card__value {
    font-size: 28px;
    font-weight: 600;
    color: var(--ie-primary, #0066cc);
    line-height: 1.1;
}

.inf-stat-card__label {
    margin-top: 4px;
    color: var(--ie-muted);
    font-size: 13px;
}

.inf-empty {
    padding: 40px 16px;
    text-align: center;
    color: var(--ie-muted);
}

.inf-empty__icon {
    display: block;
    margin-bottom: 10px;
    font-size: 28px;
    color: var(--ie-primary);
}

.inf-empty__title {
    margin: 0 0 6px;
    color: var(--ie-ink);
    font-weight: 600;
}

.inf-empty__desc {
    margin: 0 0 12px;
    font-size: 14px;
}

.inf-empty__actions {
    margin-top: 12px;
}

.inf-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 20px;
}

.inf-nav .inf-tabs__item .badge {
    margin-left: 6px;
}

.inf-settings-section {
    margin-bottom: 28px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--ie-line);
}

.inf-settings-section:last-of-type {
    border-bottom: 0;
}

.inf-settings-section h4 {
    color: var(--ie-primary, #0066cc);
    font-weight: 600;
}

.inf-theme-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 12px;
    margin-bottom: 16px;
}

.inf-theme-card {
    position: relative;
    display: block;
    padding: 12px;
    border: 1px solid var(--ie-line);
    border-radius: 12px;
    background: var(--ie-surface);
    cursor: pointer;
}

.inf-theme-card.selected,
.inf-theme-card:hover {
    border-color: var(--ie-primary);
    background: var(--ie-primary-soft);
}

.inf-theme-card input {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    margin: 0;
    opacity: 0;
    cursor: pointer;
    pointer-events: auto;
}

.inf-theme-swatch {
    height: 28px;
    border-radius: 8px;
    margin-bottom: 8px;
    background: var(--ie-wash);
    border: 1px solid var(--ie-line);
}

.inf-theme-swatch.institutionnel,
.inf-theme-swatch.default {
    background: #0066cc;
}

.inf-theme-swatch.light {
    background: #f5f5f7;
}

.inf-theme-swatch.dark {
    background: #1d1d1f;
}

.inf-theme-swatch.brand {
    background: #a70000;
}

.inf-theme-swatch.clair {
    background: #ffffff;
}

.inf-theme-swatch.sombre {
    background: #0B0B0C;
}

.inf-theme-swatch.systeme {
    background: #86868b;
}

.inf-theme-swatch.macos {
    background: #0066cc;
}

.inf-theme-swatch.ocean {
    background: #0D6E8A;
}

.inf-theme-swatch.academique {
    background: #1B4F72;
}

body.ie-compact {
    --ie-control-h: 32px;
    --ie-radius: 8px;
}

/* ------------------------------------------------------------------ */
/* Shared admin extras (Community + aligned modules)                   */
/* ------------------------------------------------------------------ */

.inf-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
    margin-bottom: 20px;
}

.inf-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.inf-banner {
    display: block;
    width: 100%;
    max-height: 180px;
    object-fit: cover;
    border-radius: 12px;
    margin-bottom: 20px;
    border: 1px solid var(--ie-line, #d2d2d7);
}

.inf-logo {
    display: block;
    max-height: 64px;
    max-width: 160px;
    object-fit: contain;
}

.inf-logo--sm {
    max-height: 40px;
}

.inf-map {
    height: 320px;
    border-radius: 12px;
    margin-bottom: 20px;
    border: 1px solid var(--ie-line, #d2d2d7);
    background: var(--ie-wash, #f5f5f7);
}

.inf-badge {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 0 8px;
    border-radius: 980px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2;
    background: var(--ie-wash, #f5f5f7);
    color: var(--ie-ink, #1d1d1f);
    border: 1px solid var(--ie-line, #d2d2d7);
}

.inf-badge--success {
    background: var(--ie-success-soft, rgba(52, 199, 89, 0.14));
    color: #1f7a38;
    border-color: transparent;
}

.inf-badge--warning {
    background: var(--ie-warning-soft, rgba(255, 159, 10, 0.14));
    color: #9a5b00;
    border-color: transparent;
}

.inf-badge--danger {
    background: var(--ie-danger-soft, rgba(255, 59, 48, 0.12));
    color: #c41e16;
    border-color: transparent;
}

.inf-badge--muted {
    background: var(--ie-wash, #f5f5f7);
    color: var(--ie-muted, #6e6e73);
}

.inf-media-card {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.inf-media-card__meta {
    margin: 0 0 12px;
    color: var(--ie-muted, #6e6e73);
    font-size: 13px;
}

.inf-media-card__body {
    flex: 1 1 auto;
    margin-bottom: 12px;
}

.inf-steps {
    margin: 0 0 20px;
    padding-left: 20px;
    color: var(--ie-muted, #6e6e73);
    font-size: 13px;
}

.inf-steps li + li {
    margin-top: 6px;
}

.inf-timeline {
    list-style: none;
    margin: 0;
    padding: 0;
    border-left: 2px solid var(--ie-line, #d2d2d7);
}

.inf-timeline__item {
    position: relative;
    padding: 0 0 16px 16px;
}

.inf-timeline__item:last-child {
    padding-bottom: 0;
}

.inf-timeline__item::before {
    content: "";
    position: absolute;
    left: -5px;
    top: 6px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--ie-primary, #0066cc);
}

.inf-checkbox-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
}

.inf-checkbox-grid label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    font-size: 13px;
    color: var(--ie-ink, #1d1d1f);
}

.inf-preview {
    margin-top: 8px;
    font-size: 12px;
    color: var(--ie-muted, #6e6e73);
}

.inf-code {
    margin: 0;
    padding: 12px 16px;
    background: var(--ie-wash, #f5f5f7);
    border: 1px solid var(--ie-line, #d2d2d7);
    border-radius: 10px;
    font-size: 12px;
    overflow: auto;
}

.inf-alert {
    margin-bottom: 16px;
    padding: 12px 14px;
    border-radius: 10px;
    border: 1px solid var(--ie-line, #d2d2d7);
    background: var(--ie-wash, #f5f5f7);
    color: var(--ie-ink, #1d1d1f);
    font-size: 13px;
}

.inf-alert--info {
    background: var(--ie-primary-soft, rgba(0, 102, 204, 0.10));
    border-color: transparent;
}

.inf-alert--warning {
    background: var(--ie-warning-soft, rgba(255, 159, 10, 0.14));
    border-color: transparent;
}

.inf-danger-zone {
    border-color: var(--ie-danger-soft, rgba(255, 59, 48, 0.12));
}

.inf-member-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.inf-member-list li {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 10px 0;
    border-bottom: 1px solid var(--ie-line, #d2d2d7);
}

.inf-member-list li:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.inf-required {
    color: var(--ie-danger, #FF3B30);
}

/* ------------------------------------------------------------------ */
/* Sidebar — active / hover always project primary blue                */
/* ------------------------------------------------------------------ */

#sidebar.sidebar #sidebar_menu > li.mm-active > a,
#sidebar.sidebar #sidebar_menu > li.mm-active > a.active,
#sidebar.sidebar #sidebar_menu > li > a.active,
#sidebar.sidebar #sidebar_menu > li > a:hover,
.sidebar #sidebar_menu > li.mm-active > a,
.sidebar #sidebar_menu > li.mm-active > a.active,
.sidebar #sidebar_menu > li > a.active,
.sidebar #sidebar_menu > li > a:hover,
.sidebar .metismenu li.mm-active > a,
.sidebar .metismenu li a.active,
.mm-active > a,
#sidebar.sidebar.mini_sidebar #sidebar_menu > li.mm-active > a,
#sidebar.sidebar.mini_sidebar #sidebar_menu > li:hover > a,
.sidebar ul li ul li.mm-active > a,
.sidebar ul li ul li a.active,
.sidebar ul li ul li a:hover {
    background-image: none !important;
    background-color: #0055aa !important;
    background: #0055aa !important;
    color: #fff !important;
    box-shadow: none !important;
}

#sidebar.sidebar #sidebar_menu > li.mm-active > a .nav_icon_small,
#sidebar.sidebar #sidebar_menu > li.mm-active > a .nav_title,
#sidebar.sidebar #sidebar_menu > li > a:hover .nav_icon_small,
#sidebar.sidebar #sidebar_menu > li > a:hover .nav_title,
.sidebar #sidebar_menu > li.mm-active > a i,
.sidebar #sidebar_menu > li > a:hover i,
.sidebar .mm-active > a .nav_icon_small,
.sidebar .mm-active > a .nav_title {
    color: #fff !important;
}

/* ------------------------------------------------------------------ */
/* Dark / themed text zones (inputs, editors, form controls)           */
/* ------------------------------------------------------------------ */

input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="image"]):not([type="hidden"]),
textarea,
select,
[contenteditable="true"],
[contenteditable=""],
.primary_input_field,
.form-control,
.nice-select,
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple,
.select2-dropdown,
.select2-search--dropdown .select2-search__field,
.note-editor .note-editable,
.note-editor .note-editing-area,
.cke_editable,
.cke_wysiwyg_frame,
.ql-editor,
.ql-container,
.tox-edit-area,
.tox-edit-area__iframe,
.inf-field__input,
.primary_select {
    background-color: var(--input_bg, var(--ie-surface, #ffffff)) !important;
    color: var(--text_black, var(--ie-ink, #1d1d1f)) !important;
    border-color: var(--border_color, var(--ie-line, #d2d2d7)) !important;
    caret-color: var(--text_black, var(--ie-ink, #1d1d1f));
}

.nice-select .current,
.nice-select .list,
.nice-select .option,
.select2-container--default .select2-selection--single .select2-selection__rendered,
.select2-results__option {
    color: var(--text_black, var(--ie-ink, #1d1d1f)) !important;
    background-color: var(--input_bg, var(--ie-surface, #ffffff));
}

.nice-select .list {
    background: var(--input_bg, var(--ie-surface, #ffffff)) !important;
}

input::placeholder,
textarea::placeholder,
.form-control::placeholder,
.primary_input_field::placeholder,
.inf-field__input::placeholder {
    color: var(--text-color, var(--ie-muted, #6e6e73)) !important;
    opacity: 1;
}

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
    color: var(--text-color, var(--ie-muted, #6e6e73)) !important;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
select:-webkit-autofill {
    -webkit-text-fill-color: var(--text_black, var(--ie-ink, #1d1d1f)) !important;
    caret-color: var(--text_black, var(--ie-ink, #1d1d1f));
    box-shadow: 0 0 0 1000px var(--input_bg, var(--ie-surface, #ffffff)) inset !important;
    transition: background-color 9999s ease-out 0s;
}

.note-editor.note-frame,
.cke_chrome,
.ql-toolbar,
.tox-tinymce {
    background: var(--input_bg, var(--ie-surface, #ffffff)) !important;
    border-color: var(--border_color, var(--ie-line, #d2d2d7)) !important;
}

.primary_input_field:focus,
.form-control:focus,
.inf-field__input:focus,
textarea:focus,
select:focus,
[contenteditable="true"]:focus {
    border-color: var(--ie-primary, #0066cc) !important;
    box-shadow: 0 0 0 3px var(--ie-focus-ring, rgba(0, 102, 204, 0.22)) !important;
    outline: none;
}

/* ------------------------------------------------------------------ */
/* Community module — scoped via html.community-admin (breadcrumb-safe)  */
/* ------------------------------------------------------------------ */

html.community-admin {
    --ie-unselected: #f2f2f2;
}

html.community-admin .ie-kicker {
    margin: 0 0 8px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--ie-muted, #6e6e73);
}

html.community-admin .inf-platform-header__title,
html.community-admin .community-admin-header h1 {
    font-size: clamp(24px, 3vw, 32px);
    font-weight: 700;
    letter-spacing: -0.03em;
}

html.community-admin,
html.community-admin body,
html.community-admin #main-content,
html.community-admin .font-sans {
    font-family: var(--ie-font, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
}

html.community-admin .inf-tabs__item,
html.community-admin .inf-tabs a,
html.community-admin .inf-nav a,
html.community-admin .community-admin-tabs a {
    border: 0;
    border-radius: 999px;
    background: var(--ie-unselected, #f2f2f2);
    color: var(--ie-ink, #1d1d1f);
    box-shadow: none !important;
    background-image: none !important;
}

html.community-admin .inf-tabs__item.is-active,
html.community-admin .inf-nav a.is-active,
html.community-admin .community-admin-tabs a.is-active {
    background: var(--ie-primary, #0066cc) !important;
    color: #fff !important;
}

html.community-admin .btn,
html.community-admin .btn-primary,
html.community-admin .inf-btn,
html.community-admin .inf-btn--primary,
html.community-admin .inf-btn--secondary,
html.community-admin .inf-btn--ghost {
    border-radius: 12px !important;
    box-shadow: none !important;
    background-image: none !important;
}

html.community-admin .breadcrumb,
html.community-admin .breadcam_text {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    list-style: none;
    padding: 0;
    margin: 0 0 16px;
}

html.community-admin .breadcrumb a,
html.community-admin .breadcrumb-item a,
html.community-admin .breadcam_text a {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 12px;
    border-radius: 10px;
    background: var(--ie-unselected, #f2f2f2);
    color: var(--ie-ink, #1d1d1f) !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

html.community-admin .breadcrumb .active,
html.community-admin .breadcrumb-item.active,
html.community-admin .breadcam_text span {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 12px;
    border-radius: 10px;
    background: var(--ie-primary, #0066cc);
    color: #fff !important;
}

html.community-admin .inf-theme-card.selected {
    background: var(--ie-primary, #0066cc) !important;
    border-color: var(--ie-primary, #0066cc) !important;
    color: #fff;
}

html.community-admin .inf-theme-card.selected strong,
html.community-admin .inf-theme-card.selected .small,
html.community-admin .inf-theme-card.selected .text-muted {
    color: #fff !important;
}

html.community-admin .inf-checkbox-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 8px;
}

html.community-admin .inf-checkbox-grid label {
    padding: 8px 10px;
    background: var(--ie-unselected, #f2f2f2);
    border: 1px solid var(--ie-line, #d2d2d7);
    border-radius: 10px;
}

html.community-admin .community-card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 16px;
    margin-bottom: 16px;
}

html.community-admin .inf-field {
    margin-bottom: 15px;
}

html.community-admin .pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

html.community-admin .pagination .page-link,
html.community-admin .pagination a,
html.community-admin .pagination span {
    border-radius: 10px !important;
    border: 1px solid var(--ie-line, #d2d2d7) !important;
    background: var(--ie-unselected, #f2f2f2) !important;
    color: var(--ie-ink, #1d1d1f) !important;
    box-shadow: none !important;
    background-image: none !important;
}

html.community-admin .pagination .active .page-link,
html.community-admin .pagination .active span,
html.community-admin .pagination li.active a {
    background: var(--ie-primary, #0066cc) !important;
    border-color: var(--ie-primary, #0066cc) !important;
    color: #fff !important;
}

html.community-admin .inf-nav .inf-tabs__item.is-active .inf-badge {
    background: rgba(255, 255, 255, 0.22);
    color: #fff;
    border-color: transparent;
}

@media (max-width: 640px) {
    html.community-admin .inf-toolbar .inf-btn,
    html.community-admin .inf-media-card .inf-btn {
        width: 100%;
    }
}

/* ------------------------------------------------------------------ */
/* Breadcrumb — pill style (backEnd + SaaS admin)                      */
/* ------------------------------------------------------------------ */

.sms-breadcrumb.up_breadcrumb {
    background: transparent;
    padding: 0;
}

.sms-breadcrumb .row.justify-content-between {
    align-items: center;
    gap: 12px;
}

.sms-breadcrumb h1 {
    font-size: clamp(18px, 2.2vw, 22px);
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--ie-primary, #0066cc);
}

.sms-breadcrumb .bc-pages {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    justify-content: flex-end;
}

.sms-breadcrumb .bc-pages a,
.sms-breadcrumb .bc-pages .bc-pill {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 12px;
    border-radius: var(--ie-radius-pill, 980px);
    background: #f2f2f2;
    color: var(--ie-ink, #1d1d1f) !important;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none !important;
    margin: 0 !important;
    position: static;
    transition: color 0.15s ease, background-color 0.15s ease;
}

.sms-breadcrumb .bc-pages a::after,
.sms-breadcrumb .bc-pages a:after {
    display: none !important;
    content: none !important;
}

.sms-breadcrumb .bc-pages a:hover {
    color: var(--ie-primary, #0066cc) !important;
    background: #f2f2f2;
}

.sms-breadcrumb .bc-pages .bc-pill--active,
.sms-breadcrumb .bc-pages a.bc-pill--active,
.sms-breadcrumb .bc-pages a.active {
    background: var(--ie-primary, #0066cc) !important;
    border: none;
    color: #fff !important;
}

html.saas-admin .sms-breadcrumb h1 {
    color: var(--ie-primary, #0066cc);
}

html[dir="rtl"] .sms-breadcrumb .bc-pages {
    justify-content: flex-start;
}

html[dir="rtl"] .sms-breadcrumb .bc-pages a {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* ------------------------------------------------------------------ */
/* Admin chrome — solid #0066cc sidebar + topbar, larger logos         */
/* ------------------------------------------------------------------ */

#sidebar,
#sidebar.sidebar,
nav#sidebar.sidebar,
.sidebar {
    background: #0066cc !important;
    background-color: #0066cc !important;
    background-image: none !important;
    box-shadow: none !important;
}

#sidebar .sidebar-header,
#sidebar.sidebar .sidebar-header,
#sidebar .sidebar-header.update_sidebar,
.sidebar .sidebar-header {
    background: #0066cc !important;
    background-color: #0066cc !important;
    background-image: none !important;
    box-shadow: none !important;
    padding: 14px 16px !important;
}

#sidebar .sidebar-header a,
#sidebar .sidebar-header .logo,
.sidebar .logo {
    display: flex;
    align-items: center;
    max-width: 100%;
}

#sidebar .sidebar-header img,
#sidebar .sidebar-header .logo img,
#sidebar .update_sidebar img,
#sidebar.sidebar .logo img,
.sidebar .logo img,
.sidebar-header img {
    height: 64px !important;
    width: auto !important;
    max-width: 220px !important;
    max-height: 64px !important;
    object-fit: contain !important;
}

#sidebar.sidebar.mini_sidebar .sidebar-header {
    padding: 12px 8px !important;
}

#sidebar.sidebar.mini_sidebar .sidebar-header img,
#sidebar.sidebar.mini_sidebar .update_sidebar img {
    height: 42px !important;
    width: auto !important;
    max-width: 42px !important;
    max-height: 42px !important;
}

#sidebar ul li a,
#sidebar.sidebar #sidebar_menu > li > a,
.sidebar #sidebar_menu li a,
.sidebar #sidebar_menu li a.has-arrow:after,
#sidebar ul li a span,
.sidebar #sidebar_menu li a .nav_title,
.sidebar #sidebar_menu li a .nav_icon_small,
.sidebar #sidebar_menu li a .nav_icon_small span,
.sidebar #sidebar_menu li a i,
.sidebar .metismenu li a,
.menu_seperator,
#sidebar .menu_seperator,
#close_sidebar,
#close_sidebar i {
    color: #fff !important;
}

#sidebar ul li ul {
    border-color: rgba(255, 255, 255, 0.25) !important;
    background: #0066cc !important;
    background-image: none !important;
    box-shadow: none !important;
}

#sidebar.sidebar #sidebar_menu > li:not(.mm-active) > a:not(:hover):not(.active),
.sidebar #sidebar_menu > li:not(.mm-active) > a:not(:hover):not(.active) {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
}

#sidebar.sidebar #sidebar_menu > li.mm-active > a,
#sidebar.sidebar #sidebar_menu > li.mm-active > a.active,
#sidebar.sidebar #sidebar_menu > li > a.active,
#sidebar.sidebar #sidebar_menu > li > a:hover,
.sidebar #sidebar_menu > li.mm-active > a,
.sidebar #sidebar_menu > li.mm-active > a.active,
.sidebar #sidebar_menu > li > a.active,
.sidebar #sidebar_menu > li > a:hover,
.sidebar .metismenu li.mm-active > a,
.sidebar .metismenu li a.active,
#sidebar.sidebar.mini_sidebar #sidebar_menu > li.mm-active > a,
#sidebar.sidebar.mini_sidebar #sidebar_menu > li:hover > a,
.sidebar ul li ul li.mm-active > a,
.sidebar ul li ul li a.active,
.sidebar ul li ul li a:hover,
#sidebar ul li a.active,
#sidebar ul li a:hover,
#sidebar ul li.mm-active > a {
    background-image: none !important;
    background: #0055aa !important;
    background-color: #0055aa !important;
    box-shadow: none !important;
    color: #fff !important;
}

.header_iner,
.main-wrapper .header_iner,
#main-nav-for-chat .header_iner {
    background: #0066cc !important;
    background-color: #0066cc !important;
    background-image: none !important;
    box-shadow: none !important;
    min-height: 72px;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

.header_iner .small_logo_crm img,
.small_logo_crm img,
.header_iner .logo img {
    height: 56px !important;
    width: auto !important;
    max-width: 180px !important;
    max-height: 56px !important;
    object-fit: contain !important;
}

.header_iner .page_tittle h3,
.header_iner .collaspe_icon,
.header_iner .collaspe_icon i,
.header_iner .sidebar_icon,
.header_iner .sidebar_icon i,
.header_iner .header_notification_warp > li > a,
.header_iner .header_notification_warp > li > a i,
.header_iner .redirect_links a,
.header_iner button#mobileSelectorDropdown,
.header_iner button#mobileSelectorDropdown svg {
    color: #fff !important;
}

.header_iner .profile_info_iner,
.header_iner .profile_info_iner a,
.header_iner .profile_info_iner p,
.header_iner .profile_info_iner h5,
.header_iner .Menu_NOtification_Wrap,
.header_iner .Menu_NOtification_Wrap p,
.header_iner .Menu_NOtification_Wrap h4,
.header_iner .Menu_NOtification_Wrap h5,
.header_iner .dropdown-menu {
    color: #1d1d1f !important;
}

.header_iner .header_notification_warp > li > a > img,
.header_iner .redirect_links a > img {
    filter: brightness(0) invert(1) !important;
}

.header_iner .header_notification_warp > li > a:hover > img,
.header_iner .redirect_links a:hover > img {
    filter: brightness(0) invert(1) !important;
    opacity: 0.85;
}

.header_iner .header_right .header_notification_warp li > a > span.notification_count {
    background: #fff !important;
    background-image: none !important;
    color: #0066cc !important;
}

.header_iner .nice-select,
.header_iner .nice_Select,
.header_iner .nice-select.bgLess,
.header_iner .infix_session,
.header_iner .languageChange,
.header_iner .infix_theme_style {
    background: transparent !important;
    background-color: transparent !important;
    color: #fff !important;
    border-color: rgba(255, 255, 255, 0.45) !important;
}

.header_iner .nice-select .current,
.header_iner .nice-select:after {
    color: #fff !important;
    border-color: #fff !important;
}

.header_iner .nice-select .list,
.header_iner .nice-select .option,
.header_iner .nice-select .nice-select-search-box,
.header_iner .nice-select .nice-select-search {
    color: #1d1d1f !important;
    background: #fff !important;
    background-color: #fff !important;
}

.header_iner .serach_field-area .search_inner input,
.header_iner .search_inner input,
.header_iner .serach_field-area .search_inner .form-control,
.header_iner #search,
.header_iner #searchStudent {
    background: #fff !important;
    background-color: #fff !important;
    color: #1d1d1f !important;
    border: 1px solid #d2d2d7 !important;
}

.header_iner .serach_field-area .search_inner input::placeholder,
.header_iner .search_inner input::placeholder {
    color: #6e6e73 !important;
}

.header_iner .search_inner button i {
    color: #1d1d1f !important;
}

#main-content,
#main-content.mini_main_content {
    padding-top: 92px;
}

@media (max-width: 991px) {
    #main-content,
    #main-content.mini_main_content {
        padding-top: 80px;
    }
}

/* Admission / staff forms: keep fields visible after first paint */
#ie-page-body .admin-visitor-area input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="submit"]):not([type="button"]):not([type="reset"]),
#ie-page-body .admin-visitor-area textarea,
#ie-page-body .admin-visitor-area .primary_input_field,
#ie-page-body .admin-visitor-area .form-control:not(select) {
    color: #1d1d1f !important;
    background-color: #ffffff !important;
    border-color: #d2d2d7 !important;
    opacity: 1;
    visibility: visible;
    font-size: 14px;
}

#ie-page-body .admin-visitor-area .nice-select {
    opacity: 1;
    visibility: visible;
    min-height: 46px;
    color: #1d1d1f !important;
    background-color: #ffffff !important;
    border: 1px solid #d2d2d7 !important;
}

#ie-page-body .admin-visitor-area .nice-select .current,
#ie-page-body .admin-visitor-area .tab-pane.active,
#ie-page-body .admin-visitor-area .tab-pane.show.active {
    color: #1d1d1f !important;
    opacity: 1;
    visibility: visible;
}

li#infix_vue.infix-vue-root {
    display: contents;
    list-style: none;
}

/* --------------------------------------------------------------------------
   macOS / iOS-style switches (admin + Community + SaaS)
   Track capsule 44×24 · OFF #e5e5ea · ON #0066cc · white thumb
   No linear-gradient, no box-shadow. Keyboard focus: 2px #0066cc offset.
   -------------------------------------------------------------------------- */
:root {
    --ie-switch-off: #e5e5ea;
    --ie-switch-on: var(--ie-primary, #0066cc);
    --ie-switch-thumb: #ffffff;
    --ie-switch-border: #d2d2d7;
    --ie-switch-w: 44px;
    --ie-switch-h: 24px;
    --ie-switch-thumb-d: 20px;
    --ie-switch-travel: 18px;
}

.ie-switch-row {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    cursor: pointer;
    font-weight: 600;
    color: var(--ie-ink, #1d1d1f);
    line-height: 1.3;
}

.switch_toggle,
label.switch,
.edu_toggle_check,
.lms_checkbox_1,
.ie-switch-row .switch_toggle {
    position: relative;
    display: inline-block;
    width: var(--ie-switch-w) !important;
    height: var(--ie-switch-h) !important;
    min-width: var(--ie-switch-w);
    min-height: var(--ie-switch-h);
    margin: 0 !important;
    padding: 0 !important;
    flex: 0 0 var(--ie-switch-w);
    vertical-align: middle;
}

.switch_toggle::after,
label.switch::after,
.edu_toggle_check::after,
.lms_checkbox_1::after {
    content: none !important;
    display: none !important;
}

.switch_toggle input,
label.switch input,
.edu_toggle_check input,
.lms_checkbox_1 input,
.ie-switch-row .switch_toggle input {
    position: absolute !important;
    inset: 0 !important;
    z-index: 2;
    opacity: 0 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    cursor: pointer;
    outline: none !important;
    box-shadow: none !important;
}

.switch_toggle .slider,
.switch_toggle .slider.round,
label.switch .slider,
label.switch .slider.round,
.edu_toggle_check .slider,
.edu_toggle_check .slider.round,
.lms_checkbox_1 .slider-check,
.lms_checkbox_1 .slider-check.round,
.ie-switch-row .slider.round {
    position: absolute !important;
    inset: 0 !important;
    cursor: pointer;
    border-radius: 999px !important;
    background: var(--ie-switch-off) !important;
    background-image: none !important;
    border: 1px solid var(--ie-switch-border) !important;
    box-shadow: none !important;
    text-shadow: none !important;
    transition: background-color 0.2s ease, border-color 0.2s ease !important;
}

.switch_toggle .slider:before,
.switch_toggle .slider.round:before,
label.switch .slider:before,
.edu_toggle_check .slider:before,
.lms_checkbox_1 .slider-check:before,
.lms_checkbox_1 .slider-check.round:before,
.ie-switch-row .slider.round:before {
    position: absolute !important;
    content: "" !important;
    width: var(--ie-switch-thumb-d) !important;
    height: var(--ie-switch-thumb-d) !important;
    top: 1px !important;
    bottom: auto !important;
    left: 1px !important;
    right: auto !important;
    border-radius: 50% !important;
    background: var(--ie-switch-thumb) !important;
    background-image: none !important;
    border: 0 !important;
    box-shadow: none !important;
    transform: translateX(0) !important;
    transition: transform 0.2s ease !important;
}

.switch_toggle input:checked + .slider,
.switch_toggle input:checked + .slider.round,
label.switch input:checked + .slider,
.edu_toggle_check input:checked + .slider,
.lms_checkbox_1 input:checked + .slider-check,
input:checked + .slider.round {
    background: var(--ie-switch-on, #0066cc) !important;
    background-image: none !important;
    border-color: var(--ie-switch-on, #0066cc) !important;
    box-shadow: none !important;
}

.switch_toggle input:checked + .slider:before,
.switch_toggle input:checked + .slider.round:before,
label.switch input:checked + .slider:before,
.edu_toggle_check input:checked + .slider:before,
.lms_checkbox_1 input:checked + .slider-check:before,
input:checked + .slider.round:before {
    background: var(--ie-switch-thumb) !important;
    background-image: none !important;
    box-shadow: none !important;
    transform: translateX(var(--ie-switch-travel)) !important;
}

.switch_toggle:has(input:disabled),
label.switch:has(input:disabled),
.edu_toggle_check:has(input:disabled),
.lms_checkbox_1:has(input:disabled),
.ie-switch-row:has(input:disabled) {
    opacity: 0.45;
    cursor: not-allowed;
    pointer-events: none;
}

.switch_toggle input:focus-visible + .slider,
.switch_toggle input:focus-visible + .slider.round,
label.switch input:focus-visible + .slider,
.edu_toggle_check input:focus-visible + .slider,
.lms_checkbox_1 input:focus-visible + .slider-check,
input:focus-visible + .slider.round {
    outline: 2px solid var(--ie-switch-on, #0066cc) !important;
    outline-offset: 2px !important;
    box-shadow: none !important;
}

input[type="checkbox"].switch,
input[type="checkbox"].ie-switch,
.op-switchbtn input[type="checkbox"],
.check_box_item .single_check_box .switch {
    -webkit-appearance: none !important;
    appearance: none !important;
    position: relative !important;
    display: inline-block !important;
    width: var(--ie-switch-w) !important;
    height: var(--ie-switch-h) !important;
    min-width: var(--ie-switch-w);
    min-height: var(--ie-switch-h);
    margin: 0 !important;
    padding: 0 !important;
    vertical-align: middle;
    cursor: pointer;
    border-radius: 999px !important;
    background: var(--ie-switch-off) !important;
    background-image: none !important;
    border: 1px solid var(--ie-switch-border) !important;
    box-shadow: none !important;
    outline: none !important;
    flex: 0 0 var(--ie-switch-w);
}

input[type="checkbox"].switch::before,
input[type="checkbox"].switch::after,
input[type="checkbox"].ie-switch::before,
input[type="checkbox"].ie-switch::after,
.op-switchbtn input[type="checkbox"]::before,
.op-switchbtn input[type="checkbox"]::after,
.check_box_item .single_check_box .switch::before,
.check_box_item .single_check_box .switch::after {
    position: absolute !important;
    content: "" !important;
    width: var(--ie-switch-thumb-d) !important;
    height: var(--ie-switch-thumb-d) !important;
    top: 1px !important;
    left: 1px !important;
    right: auto !important;
    border-radius: 50% !important;
    background: var(--ie-switch-thumb) !important;
    background-image: none !important;
    border: 0 !important;
    box-shadow: none !important;
    transform: translateX(0) !important;
    transition: transform 0.2s ease !important;
}

input[type="checkbox"].switch:checked,
input[type="checkbox"].ie-switch:checked,
.op-switchbtn input[type="checkbox"]:checked,
.check_box_item .single_check_box .switch:checked {
    background: var(--ie-switch-on, #0066cc) !important;
    background-image: none !important;
    border-color: var(--ie-switch-on, #0066cc) !important;
}

input[type="checkbox"].switch:checked::before,
input[type="checkbox"].switch:checked::after,
input[type="checkbox"].ie-switch:checked::before,
input[type="checkbox"].ie-switch:checked::after,
.op-switchbtn input[type="checkbox"]:checked::before,
.op-switchbtn input[type="checkbox"]:checked::after,
.check_box_item .single_check_box .switch:checked::before,
.check_box_item .single_check_box .switch:checked::after {
    background: var(--ie-switch-thumb) !important;
    transform: translateX(var(--ie-switch-travel)) !important;
}

input[type="checkbox"].switch:disabled,
input[type="checkbox"].ie-switch:disabled,
.op-switchbtn input[type="checkbox"]:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

input[type="checkbox"].switch:focus-visible,
input[type="checkbox"].ie-switch:focus-visible,
.op-switchbtn input[type="checkbox"]:focus-visible {
    outline: 2px solid var(--ie-switch-on, #0066cc) !important;
    outline-offset: 2px !important;
    box-shadow: none !important;
}

.primary_checkbox.ie-switch {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    width: auto !important;
    height: auto !important;
    min-height: var(--ie-switch-h);
    flex: 0 0 auto !important;
    margin: 0 0 8px !important;
    line-height: 1.3 !important;
    cursor: pointer;
    font-weight: 600;
    color: var(--ie-ink, #1d1d1f);
    pointer-events: auto !important;
}

.primary_checkbox.ie-switch input {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    z-index: 2;
    opacity: 0 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    width: var(--ie-switch-w) !important;
    height: var(--ie-switch-h) !important;
    margin: 0 !important;
    cursor: pointer;
    outline: none !important;
    box-shadow: none !important;
}

.primary_checkbox.ie-switch .checkmark {
    position: relative !important;
    display: block !important;
    width: var(--ie-switch-w) !important;
    height: var(--ie-switch-h) !important;
    flex: 0 0 var(--ie-switch-w) !important;
    border-radius: 999px !important;
    background: var(--ie-switch-off) !important;
    background-image: none !important;
    border: 1px solid var(--ie-switch-border) !important;
    box-shadow: none !important;
    top: 0 !important;
    left: 0 !important;
    line-height: 0 !important;
    overflow: hidden;
    pointer-events: none;
}

.primary_checkbox.ie-switch .checkmark::before {
    content: none !important;
    display: none !important;
}

.primary_checkbox.ie-switch .checkmark::after {
    position: absolute !important;
    content: "" !important;
    width: var(--ie-switch-thumb-d) !important;
    height: var(--ie-switch-thumb-d) !important;
    top: 1px !important;
    left: 1px !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: var(--ie-switch-thumb) !important;
    background-image: none !important;
    box-shadow: none !important;
    transform: translateX(0) !important;
    transition: transform 0.2s ease !important;
}

.primary_checkbox.ie-switch input:checked ~ .checkmark {
    background: var(--ie-switch-on, #0066cc) !important;
    background-image: none !important;
    border-color: var(--ie-switch-on, #0066cc) !important;
    box-shadow: none !important;
}

.primary_checkbox.ie-switch input:checked ~ .checkmark::before {
    content: none !important;
    display: none !important;
}

.primary_checkbox.ie-switch input:checked ~ .checkmark::after {
    width: var(--ie-switch-thumb-d) !important;
    height: var(--ie-switch-thumb-d) !important;
    background: var(--ie-switch-thumb) !important;
    transform: translateX(var(--ie-switch-travel)) scale(1) !important;
    border: 0 !important;
}

.primary_checkbox.ie-switch:has(input:disabled) {
    opacity: 0.45;
    cursor: not-allowed;
    pointer-events: none;
}

.primary_checkbox.ie-switch input:focus-visible ~ .checkmark {
    outline: 2px solid var(--ie-switch-on, #0066cc) !important;
    outline-offset: 2px !important;
    box-shadow: none !important;
}

.custom-control.custom-switch {
    min-height: var(--ie-switch-h);
    padding-left: 54px;
}

.custom-switch .custom-control-label::before,
.form-switch .form-check-input {
    width: var(--ie-switch-w) !important;
    height: var(--ie-switch-h) !important;
    border-radius: 999px !important;
    background: var(--ie-switch-off) !important;
    background-image: none !important;
    border: 1px solid var(--ie-switch-border) !important;
    box-shadow: none !important;
}

.custom-switch .custom-control-label::before {
    top: 0 !important;
    left: -54px !important;
}

.custom-switch .custom-control-label::after {
    width: var(--ie-switch-thumb-d) !important;
    height: var(--ie-switch-thumb-d) !important;
    top: 2px !important;
    left: -52px !important;
    border-radius: 50% !important;
    background: var(--ie-switch-thumb) !important;
    background-image: none !important;
    box-shadow: none !important;
    transition: transform 0.2s ease !important;
}

.custom-switch .custom-control-input:checked ~ .custom-control-label::before,
.form-switch .form-check-input:checked {
    background: var(--ie-switch-on, #0066cc) !important;
    background-image: none !important;
    border-color: var(--ie-switch-on, #0066cc) !important;
    box-shadow: none !important;
}

.custom-switch .custom-control-input:checked ~ .custom-control-label::after {
    background: var(--ie-switch-thumb) !important;
    background-image: none !important;
    transform: translateX(var(--ie-switch-travel)) !important;
}

.custom-switch .custom-control-input:focus-visible ~ .custom-control-label::before,
.form-switch .form-check-input:focus-visible {
    outline: 2px solid var(--ie-switch-on, #0066cc) !important;
    outline-offset: 2px !important;
    box-shadow: none !important;
}

.custom-switch .custom-control-input:disabled ~ .custom-control-label,
.form-switch .form-check-input:disabled {
    opacity: 0.45;
}

html[dir="rtl"] .switch_toggle .slider:before,
html[dir="rtl"] label.switch .slider:before,
html[dir="rtl"] .edu_toggle_check .slider:before,
html[dir="rtl"] .lms_checkbox_1 .slider-check:before,
html[dir="rtl"] input:checked + .slider.round:before,
html.rtl .switch_toggle .slider:before {
    left: auto !important;
    right: 1px !important;
}

html[dir="rtl"] .switch_toggle input:checked + .slider:before,
html[dir="rtl"] label.switch input:checked + .slider:before,
html[dir="rtl"] .edu_toggle_check input:checked + .slider:before,
html[dir="rtl"] .lms_checkbox_1 input:checked + .slider-check:before,
html[dir="rtl"] input:checked + .slider.round:before,
html.rtl .switch_toggle input:checked + .slider:before,
html[dir="rtl"] input[type="checkbox"].switch:checked::before,
html[dir="rtl"] input[type="checkbox"].switch:checked::after,
html[dir="rtl"] input[type="checkbox"].ie-switch:checked::before,
html[dir="rtl"] input[type="checkbox"].ie-switch:checked::after,
html[dir="rtl"] .primary_checkbox.ie-switch input:checked ~ .checkmark::after {
    transform: translateX(calc(var(--ie-switch-travel) * -1)) !important;
}

html[dir="rtl"] input[type="checkbox"].switch::before,
html[dir="rtl"] input[type="checkbox"].switch::after,
html[dir="rtl"] input[type="checkbox"].ie-switch::before,
html[dir="rtl"] input[type="checkbox"].ie-switch::after,
html[dir="rtl"] .primary_checkbox.ie-switch .checkmark::after {
    left: auto !important;
    right: 1px !important;
}

html[dir="rtl"] .custom-control.custom-switch {
    padding-left: 0;
    padding-right: 54px;
}

@media (prefers-reduced-motion: reduce) {
    .switch_toggle .slider,
    .switch_toggle .slider:before,
    label.switch .slider,
    label.switch .slider:before,
    input[type="checkbox"].switch,
    input[type="checkbox"].switch::before,
    input[type="checkbox"].ie-switch::before,
    .primary_checkbox.ie-switch .checkmark::after {
        transition: none !important;
    }
}

/* --------------------------------------------------------------------------
   macOS form controls + search + tables + DataTables Buttons (copy_table)
   Last-word overrides. No gradient, no box-shadow. Brand action #0066cc.
   -------------------------------------------------------------------------- */
:root {
    --ie-field-radius: 8px;
    --ie-placeholder: #86868b;
    --ie-focus-ring: #0066cc33;
    --ie-row-line: #e5e5ea;
    --ie-row-hover: #f5f5f7;
    --ie-row-selected: #f2f2f2;
}

/* ===== Text input / textarea ============================================ */
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="image"]):not([type="hidden"]),
textarea,
.form-control:not(select),
.primary_input_field:not(select),
.inf-field__input,
.message_submit_form,
.form-field input,
.form-field textarea {
    min-height: 36px !important;
    padding: 8px 12px !important;
    border: 1px solid #d2d2d7 !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    background-image: none !important;
    color: #1d1d1f !important;
    font-family: var(--ie-font, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
    font-size: 14px;
    line-height: 1.4;
    box-shadow: none !important;
    text-shadow: none !important;
    appearance: none;
    -webkit-appearance: none;
}

textarea,
.form-control[rows],
textarea.primary_input_field,
textarea.inf-field__input {
    min-height: 88px !important;
    resize: vertical;
}

input::placeholder,
textarea::placeholder,
.form-control::placeholder,
.primary_input_field::placeholder,
.inf-field__input::placeholder,
.dataTables_filter input::placeholder,
.header_iner .search_inner input::placeholder {
    color: #86868b !important;
    opacity: 1;
}

input:not([type="checkbox"]):not([type="radio"]):focus,
textarea:focus,
.form-control:not(select):focus,
.primary_input_field:not(select):focus,
.inf-field__input:focus,
select:focus,
.primary_select:focus,
.nice-select:focus,
.nice-select.open,
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--single,
.bootstrap-select .dropdown-toggle:focus,
.dataTables_filter input:focus,
.dataTables_length select:focus {
    border-color: #0066cc !important;
    box-shadow: 0 0 0 3px #0066cc33 !important;
    outline: none !important;
}

input:disabled,
textarea:disabled,
select:disabled,
.form-control:disabled,
.primary_input_field:disabled,
.btn:disabled,
.primary-btn:disabled,
.dt-button.disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

/* ===== Native select / combobox / list button =========================== */
select,
select.form-control,
select.primary_input_field,
select.primary_select,
.primary_select,
.dataTables_length select,
.dataTables_wrapper .dataTables_length select,
.dt-length select,
.dt-container .dt-length select {
    min-height: 36px !important;
    padding: 8px 32px 8px 12px !important;
    border: 1px solid #d2d2d7 !important;
    border-radius: 8px !important;
    background-color: #ffffff !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='%2386868b' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' d='M3 4.5L6 7.5L9 4.5'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
    background-size: 12px !important;
    color: #1d1d1f !important;
    box-shadow: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
}

select::-ms-expand {
    display: none;
}

/* nice-select / current / list */
.nice-select,
.niceSelect,
.nice_Select:not(.bgLess):not(.header_iner .nice_Select),
.bootstrap-select > .dropdown-toggle,
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple,
.dt-button-collection .dt-button,
.list-button,
.btn-group.bulk-action .dropdown-toggle,
.tableCheck .dropdown-toggle,
.QA_section .dropdown .dropdown-toggle {
    min-height: 36px !important;
    padding: 8px 32px 8px 12px !important;
    border: 1px solid #d2d2d7 !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    background-image: none !important;
    color: #1d1d1f !important;
    box-shadow: none !important;
    text-shadow: none !important;
    line-height: 18px;
}

.nice-select .current,
.niceSelect .current {
    color: #1d1d1f !important;
    line-height: 18px;
}

.nice-select:after,
.niceSelect:after,
.bootstrap-select .dropdown-toggle::after,
.dropdown-toggle.list-button::after,
.QA_section .dropdown .dropdown-toggle::after {
    border: 0 !important;
    border-right: 1.5px solid #86868b !important;
    border-bottom: 1.5px solid #86868b !important;
    width: 7px !important;
    height: 7px !important;
    right: 14px !important;
    top: 50% !important;
    margin-top: -5px !important;
    transform: rotate(45deg) !important;
    background: none !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: #86868b transparent transparent transparent !important;
}

.nice-select .list,
.niceSelect .list,
.select2-dropdown,
.select2-container--default .select2-results,
.bootstrap-select .dropdown-menu,
.dt-button-collection,
div.dt-button-collection,
.dt-button-collection.dropdown-menu,
.dropdown-menu,
.menu_popUp_list_wrapper {
    background: #ffffff !important;
    background-image: none !important;
    border: 1px solid #d2d2d7 !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    overflow: hidden;
}

.nice-select .option,
.niceSelect .option,
.select2-results__option,
.bootstrap-select .dropdown-item,
.dt-button-collection .dt-button,
.dropdown-menu > li > a,
.dropdown-item {
    background: #ffffff !important;
    color: #1d1d1f !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.nice-select .option:hover,
.nice-select .option.focus,
.niceSelect .option:hover,
.select2-results__option--highlighted,
.select2-container--default .select2-results__option--highlighted[aria-selected],
.bootstrap-select .dropdown-item:hover,
.dropdown-menu > li > a:hover,
.dropdown-item:hover {
    background: #f5f5f7 !important;
    color: #1d1d1f !important;
}

.nice-select .option.selected,
.niceSelect .option.selected,
.select2-container--default .select2-results__option[aria-selected="true"],
.bootstrap-select .dropdown-item.active,
.bootstrap-select .dropdown-item.selected,
.dropdown-item.active,
.dropdown-menu > .active > a {
    background: #0066cc !important;
    color: #ffffff !important;
}

/* Header academic-year select stays inverted on #0066cc topbar */
.header_iner .nice-select,
.header_iner .nice_Select,
.header_iner .nice-select.bgLess,
.header_iner .infix_session,
.header_iner .languageChange {
    background: transparent !important;
    border-color: rgba(255, 255, 255, 0.45) !important;
    color: #fff !important;
    box-shadow: none !important;
}

.header_iner .nice-select .current,
.header_iner .nice-select:after {
    color: #fff !important;
    border-color: #fff !important;
}

.header_iner .nice-select .list,
.header_iner .nice-select .option {
    background: #fff !important;
    color: #1d1d1f !important;
}

/* ===== Buttons ========================================================== */
.btn.btn-primary,
.btn-primary,
.primary-btn,
.primary_btn,
.btn_1,
.ie-btn,
button.primary-btn,
a.primary-btn,
.custome-button,
.submit:not(input):not([type="text"]) {
    background: #0066cc !important;
    background-image: none !important;
    color: #ffffff !important;
    border: 1px solid #0066cc !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    text-shadow: none !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    min-height: 36px;
}

.btn.btn-primary:hover,
.primary-btn:hover,
.primary_btn:hover,
.btn_1:hover,
.ie-btn:hover {
    background: #0055aa !important;
    border-color: #0055aa !important;
    color: #fff !important;
    box-shadow: none !important;
}

.btn.btn-secondary,
.btn.btn-outline-primary,
.btn.btn-outline-secondary,
.btn.btn-light,
.btn.btn-default,
.ie-btn-secondary,
.btn_2,
.primary-btn.tr-bg,
.btn-ghost {
    background: #ffffff !important;
    background-image: none !important;
    color: #1d1d1f !important;
    border: 1px solid #d2d2d7 !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

.btn.btn-danger,
.btn-danger,
.primary-btn.fix-gr-bg.bg-danger,
.swal2-deny {
    background: #ff3b30 !important;
    background-image: none !important;
    color: #ffffff !important;
    border: 1px solid #ff3b30 !important;
    border-radius: 12px !important;
    box-shadow: none !important;
}

/* ===== Switches — fully clickable (Appearance pointer-events) ========== */
.switch_toggle,
label.switch,
.edu_toggle_check,
.lms_checkbox_1,
.primary_checkbox.ie-switch,
.ie-switch-row,
.custom-control.custom-switch,
.form-switch,
.op-switchbtn {
    pointer-events: auto !important;
}

.switch_toggle .slider,
.switch_toggle .slider.round,
label.switch .slider,
.edu_toggle_check .slider,
.lms_checkbox_1 .slider-check,
.primary_checkbox.ie-switch .checkmark,
.custom-switch .custom-control-label::before,
.custom-switch .custom-control-label::after {
    pointer-events: none !important;
}

.switch_toggle input,
label.switch input,
.edu_toggle_check input,
.lms_checkbox_1 input,
.primary_checkbox.ie-switch input,
.custom-switch .custom-control-input,
.form-switch .form-check-input,
input[type="checkbox"].switch,
input[type="checkbox"].ie-switch {
    pointer-events: auto !important;
    z-index: 3 !important;
}

/* Role permission checkboxes stay square */
.permission_list input[type="checkbox"],
.role_permission input[type="checkbox"],
.module_link input[type="checkbox"],
.primary_checkbox:not(.ie-switch) input[type="checkbox"],
.common-checkbox input[type="checkbox"],
input[type="checkbox"]:not(.switch):not(.ie-switch):not(.custom-control-input) {
    border-radius: 4px;
}

.primary_checkbox:not(.ie-switch) .checkmark {
    border-radius: 4px !important;
    width: 18px !important;
    height: 18px !important;
}

/* ===== Search zones ===================================================== */
.serach_field-area,
.header_iner .serach_field-area,
.search_inner,
.header_iner .search_inner,
.dataTables_filter,
.dt-search,
.dt-container .dt-search,
.up_admin_visitor .dataTables_filter,
.QA_section .dataTables_filter,
.white-box .dataTables_filter,
.inf-toolbar .inf-field,
.inf-filter-row,
.page-search,
.search_field {
    box-shadow: none !important;
}

.serach_field-area .search_inner,
.header_iner .search_inner,
.search_inner {
    position: relative;
}

.serach_field-area .search_inner input,
.header_iner .search_inner input,
.header_iner .serach_field-area .search_inner .form-control,
.header_iner #search,
.header_iner #searchStudent,
.dataTables_filter input,
.dataTables_wrapper .dataTables_filter input,
.dt-search input,
.dt-container .dt-search input,
input[type="search"],
.primary_input_field.input-left-icon,
.page-search input,
.inf-toolbar input[type="search"],
.inf-toolbar .inf-field__input[type="search"],
.inf-filter-row input[type="search"] {
    min-height: 36px !important;
    height: 36px;
    padding: 8px 12px 8px 36px !important;
    border: 1px solid #d2d2d7 !important;
    border-radius: 8px !important;
    background-color: #ffffff !important;
    color: #1d1d1f !important;
    box-shadow: none !important;
}

.dataTables_filter input,
.dataTables_wrapper .dataTables_filter input,
.dt-search input,
.dt-container .dt-search input,
input[type="search"],
.page-search input,
.inf-toolbar input[type="search"],
.inf-filter-row input[type="search"] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Ccircle cx='6' cy='6' r='4.25' fill='none' stroke='%2386868b' stroke-width='1.4'/%3E%3Cpath d='M9.2 9.2L12 12' fill='none' stroke='%2386868b' stroke-width='1.4' stroke-linecap='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: 12px 50% !important;
    background-size: 14px !important;
}

.header_iner .search_inner input,
.header_iner #search,
.header_iner #searchStudent,
.serach_field-area .search_inner input,
.primary_input_field.input-left-icon {
    background-image: none !important;
}

.serach_field-area .search_inner input:focus,
.header_iner .search_inner input:focus,
.dataTables_filter input:focus,
input[type="search"]:focus {
    border-color: #0066cc !important;
    box-shadow: 0 0 0 3px #0066cc33 !important;
    outline: none !important;
}

.serach_field-area .search_inner button,
.header_iner .search_inner button,
.search_inner button[type="submit"] {
    position: absolute;
    left: 0;
    top: 0;
    width: 36px;
    height: 36px;
    padding: 0 !important;
    margin: 0;
    border: 0 !important;
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    color: #86868b !important;
    z-index: 2;
}

.header_iner .search_inner button i,
.serach_field-area .search_inner button i {
    color: #86868b !important;
    font-size: 13px !important;
    padding: 0 !important;
}

.dataTables_filter label,
.dt-search label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #1d1d1f !important;
    font-weight: 600;
    font-size: 13px;
    margin: 0;
}

/* Header search stays a white field on the #0066cc topbar */
.header_iner .serach_field-area .search_inner input,
.header_iner .search_inner input {
    background-color: #ffffff !important;
    color: #1d1d1f !important;
}

#livesearch,
#liveStudentSearch {
    background: #ffffff !important;
    border: 1px solid #d2d2d7 !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    color: #1d1d1f;
}

/* ===== Tables =========================================================== */
.table,
table.table,
.QA_section .QA_table,
.QA_section .QA_table .table,
.school-table,
.school-table-style,
.ie-dense-table,
.inf-table,
table.dataTable,
.dataTables_wrapper table.dataTable,
.dt-container table.dataTable,
html.community-admin #main-content table,
html.saas-admin .table,
html.saas-admin .school-table-style {
    width: 100%;
    background: #ffffff !important;
    color: #1d1d1f !important;
    border: 1px solid #d2d2d7 !important;
    border-radius: 12px !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    box-shadow: none !important;
}

.QA_section,
.QA_section .QA_table,
.dataTables_wrapper,
.dt-container,
.table-responsive,
.ie-dense-table-wrap,
.inf-table-wrap {
    background: #ffffff;
    box-shadow: none !important;
}

.table thead th,
table.table > thead > tr > th,
.QA_section .QA_table thead th,
.QA_section .QA_table .table thead th,
.school-table thead th,
.school-table-style thead th,
.ie-dense-table thead th,
.inf-table thead th,
table.dataTable thead th,
.dataTables_wrapper table.dataTable thead th,
html.community-admin #main-content table thead th,
html.saas-admin .table th,
html.saas-admin .school-table-style th {
    background: #f5f5f7 !important;
    color: #1d1d1f !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: capitalize !important;
    border-bottom: 1px solid #e5e5ea !important;
    border-top: 0 !important;
    padding: 10px 12px !important;
    box-shadow: none !important;
}

.table tbody td,
.QA_section .QA_table tbody td,
.school-table tbody td,
.school-table-style tbody td,
.ie-dense-table tbody td,
.inf-table tbody td,
table.dataTable tbody td,
html.community-admin #main-content table td,
html.saas-admin .table td {
    background: #ffffff !important;
    color: #1d1d1f !important;
    border-bottom: 1px solid #e5e5ea !important;
    padding: 10px 12px !important;
    vertical-align: middle;
    box-shadow: none !important;
}

.table tbody tr:hover td,
.QA_section .QA_table tbody tr:hover td,
table.dataTable tbody tr:hover td,
.ie-dense-table tbody tr:hover td,
.inf-table tbody tr:hover td,
html.community-admin #main-content table tbody tr:hover td {
    background: #f5f5f7 !important;
}

.table tbody tr.selected td,
table.dataTable tbody tr.selected td,
table.dataTable tbody tr.active td,
.table tbody tr.active td {
    background: #f2f2f2 !important;
}

.table tbody tr:last-child td,
table.dataTable tbody tr:last-child td {
    border-bottom: 0 !important;
}

/* Pagination — pills */
.dataTables_wrapper .dataTables_paginate,
.dt-paging,
.pagination {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    box-shadow: none !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button,
.dt-paging .dt-paging-button,
.pagination .page-link,
.pagination a,
.pagination span {
    min-width: 32px;
    min-height: 32px;
    padding: 4px 12px !important;
    border-radius: 980px !important;
    border: 0 !important;
    background: #f2f2f2 !important;
    background-image: none !important;
    color: #1d1d1f !important;
    box-shadow: none !important;
    text-shadow: none !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover,
.dt-paging .dt-paging-button.current,
.pagination .active .page-link,
.pagination li.active a,
.pagination .page-item.active .page-link {
    background: #0066cc !important;
    background-image: none !important;
    color: #ffffff !important;
    border: 0 !important;
    box-shadow: none !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button:hover:not(.current):not(.disabled),
.pagination .page-link:hover {
    background: #e8e8ed !important;
    color: #1d1d1f !important;
}

.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter,
.dt-info,
.dt-length,
.dt-search {
    color: #1d1d1f !important;
    font-size: 13px;
}

/* ===== copy_table / DataTables Buttons toolbar ======================== */
div.dt-buttons,
.dataTables_wrapper .dt-buttons,
.dt-container .dt-buttons,
.QA_section .QA_table div.dt-buttons,
.dt-buttons.btn-group {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    background: transparent !important;
    background-image: none !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 0 12px;
}

.dt-button,
a.dt-button,
button.dt-button,
div.dt-buttons .dt-button,
.dt-buttons .btn,
.buttons-html5,
.buttons-print,
.buttons-collection,
.buttons-colvis {
    min-height: 32px !important;
    padding: 6px 12px !important;
    border-radius: 10px !important;
    border: 1px solid #d2d2d7 !important;
    background: #ffffff !important;
    background-image: none !important;
    color: #1d1d1f !important;
    box-shadow: none !important;
    text-shadow: none !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.2;
}

.dt-button:hover,
a.dt-button:hover,
button.dt-button:hover,
.buttons-html5:hover,
.buttons-print:hover,
.buttons-colvis:hover {
    background: #f5f5f7 !important;
    color: #1d1d1f !important;
    box-shadow: none !important;
}

.dt-button.buttons-copy,
a.dt-button.buttons-copy,
button.dt-button.buttons-copy {
    background: #0066cc !important;
    border-color: #0066cc !important;
    color: #ffffff !important;
}

.dt-button.buttons-copy:hover {
    background: #0055aa !important;
    border-color: #0055aa !important;
    color: #fff !important;
}

div.dt-button-collection,
.dt-button-collection,
ul.dt-button-collection,
.dt-button-collection.dropdown-menu {
    background: #ffffff !important;
    background-image: none !important;
    border: 1px solid #d2d2d7 !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    padding: 6px !important;
}

div.dt-button-collection .dt-button,
.dt-button-collection .dt-button {
    width: 100%;
    justify-content: flex-start;
    border: 0 !important;
    border-radius: 8px !important;
    background: transparent !important;
    color: #1d1d1f !important;
}

div.dt-button-collection .dt-button:hover,
.dt-button-collection .dt-button.active {
    background: #f5f5f7 !important;
}

div.dt-button-background {
    background: transparent !important;
}

/* Length / bulk list-button = combobox chrome */
.dataTables_length,
.dt-length,
.bulk-actions,
.table-toolbar,
.QA_section .dataTables_length {
    color: #1d1d1f;
}

.dataTables_length select,
.dt-length select {
    margin: 0 6px;
}

html.community-admin,
html.community-admin body,
html.saas-admin,
html.saas-admin body,
body.platform-page,
.font-nunito,
.font-sans {
    font-family: var(--ie-font, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
}
