/**
 *
 * You can write your CSS code here, DO NOT touch the default JavaScript file
 * because it will make it harder for you to update.
 *
 */


:root {

    --gray-sidebar: #EDF3F7;
    --mid-gray: #FBFCFF;
    --gray: #F5F8F9;

}


@media print {
    * {
        -webkit-print-color-adjust: exact !important; /* Chrome, Safari */
        print-color-adjust: exact !important; /* Firefox */
        color-adjust: exact !important;
    }
}


/* Shared admin data-table and table-filters components. */
/* List cards use the entire content area; editor width limits never apply here. */
html[data-admin-theme] .admin-data-table,
html[data-admin-theme] .admin-table-page__section:has(> .admin-data-table) {
    width: 100%;
    max-width: none;
    min-width: 0;
    align-self: stretch;
}
html[data-admin-theme] .admin-data-table :is(.admin-data-table__toolbar, .admin-data-table__footer, .admin-data-table__scroll) { min-width: 0; }
html[data-admin-theme] .admin-data-table .admin-data-table__toolbar { min-height: 0; }
html[data-admin-theme] .admin-data-table .custom-table { width: 100%; }
html[data-admin-theme] .admin-data-table .custom-table :is(th, td) { vertical-align: middle; line-height: 1.5; }
html[data-admin-theme] .admin-data-table.card .custom-table :is(th, td).text-right { text-align: right !important; }
html[data-admin-theme] .admin-data-table.card .custom-table :is(th, td).text-center { text-align: center !important; }
html[data-admin-theme] .admin-data-table.card .custom-table :is(th, td).text-left { text-align: left !important; }
html[data-admin-theme] .admin-data-table .custom-table :is(th, td) > :last-child { margin-bottom: 0; }
html[data-admin-theme] .admin-data-table__footer { flex-wrap: wrap; }
html[data-admin-theme] .admin-data-table__page-size { max-width: 100%; flex-wrap: wrap; }
html[data-admin-theme] .admin-data-table :is(.badge, .admin-status) { max-width: 100%; white-space: normal; line-height: 1.5; }
/* Legacy embedded records retain their markup and share the component's cell treatment. */
html[data-admin-theme] .main-content .table-responsive { width: 100%; min-width: 0; }
html[data-admin-theme] .main-content .table:not(.custom-table),
html[data-admin-theme] .main-content .custom-table { width: 100%; color: var(--dark); }
html[data-admin-theme] .main-content .table-responsive > .table:not(.admin-data-table .table) :is(th, td) {
    padding: 10px 12px;
    border-color: var(--gray-300);
    vertical-align: middle;
    line-height: 1.5;
    font-size: 14px;
}
html[data-admin-theme] .main-content .table-responsive > .table:not(.admin-data-table .table) th { background: var(--gray-200); color: var(--admin-muted); }
html[data-admin-theme] .main-content .table-responsive > .table:not(.admin-data-table .table) td { background: var(--white); color: var(--dark); }

.admin-detail.card {
    padding: 24px;
    display: grid;
    gap: 24px;
    overflow-wrap: anywhere;
}
.admin-detail__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px 24px;
    margin: 0;
}
.admin-detail__grid dt { margin-bottom: 6px; color: var(--gray-500); font-size: 12px; }
.admin-detail__grid dd { margin: 0; color: var(--dark); }
.admin-detail__wide { grid-column: 1 / -1; }
.admin-detail__section { border-top: 1px solid var(--gray-300); padding-top: 20px; }
.admin-detail__versions { margin: 0; padding: 0; list-style: none; }
.admin-detail__versions li { display: flex; flex-wrap: wrap; gap: 8px 16px; padding-block: 8px; }
.admin-detail__versions li > span { color: var(--gray-500); }
/* Detail views reuse the existing definition-grid pattern and fill their available panel. */
html[data-admin-theme] .admin-detail.card:not(.admin-form-layout) {
    width: 100%;
    max-width: none;
    min-width: 0;
    padding: var(--admin-form-padding, 22px);
    gap: var(--admin-form-gap, 20px);
    border: 1px solid var(--gray-300);
    border-radius: 14px;
    background: var(--white);
    box-shadow: none;
    color: var(--dark);
    font-size: 14px;
    line-height: 1.6;
}
html[data-admin-theme] .admin-detail__grid { gap: var(--admin-form-gap, 20px); min-width: 0; }
html[data-admin-theme] .admin-detail__grid > div { min-width: 0; }
html[data-admin-theme] .admin-detail__grid dt { font-size: 13px; font-weight: 500; line-height: 1.5; color: var(--admin-muted); }
html[data-admin-theme] .admin-detail__grid dd { font-size: 14px; line-height: 1.6; overflow-wrap: anywhere; }
html[data-admin-theme] .admin-detail :is(h2, h3, p, pre, dl, ul) { min-width: 0; }
html[data-admin-theme] .admin-detail > :is(h2, h3, p, pre, dl, ul),
html[data-admin-theme] .admin-detail > header > :last-child { margin-block: 0 !important; }
html[data-admin-theme] .admin-detail > h2,
html[data-admin-theme] .admin-detail > header h2 { font-size: 20px; line-height: 1.4; }
html[data-admin-theme] .admin-detail :is(.admin-detail__section, .billing-detail__section, .enrollment-detail-section) > :is(h2, h3) { font-size: 17px; line-height: 1.4; margin: 0 0 16px !important; }
html[data-admin-theme] .admin-detail__section { min-width: 0; margin: 0; padding-top: var(--admin-form-gap, 20px); }
html[data-admin-theme] .admin-detail__versions li { align-items: baseline; padding-block: 12px; border-bottom: 1px solid var(--gray-300); }
html[data-admin-theme] .admin-detail__versions li:last-child { border-bottom: 0; padding-bottom: 0; }
html[data-admin-theme] .admin-detail pre { max-width: 100%; margin: 0; padding: 16px; border: 1px solid var(--gray-300); border-radius: 10px; background: var(--gray-100); color: var(--dark); white-space: pre-wrap; overflow-wrap: anywhere; }
html[data-admin-theme] .admin-detail > [data-admin-drawer-actions] { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
html[data-admin-theme] .admin-detail :is(.enrollment-summary, .curriculum-chapter-meta) { min-width: 0; }
html[data-admin-theme] .admin-detail :is(.enrollment-summary, .curriculum-chapter-meta) dt { color: var(--admin-muted); font-size: 13px; line-height: 1.5; }
html[data-admin-theme] .admin-detail :is(.enrollment-summary, .curriculum-chapter-meta) dd { margin: 0; font-size: 14px; line-height: 1.6; overflow-wrap: anywhere; }
html[data-admin-theme] :is(.admin-drawer-page, .admin-task-drawer__local) .admin-detail.card:not(.admin-form-layout) { padding: 0; border: 0; background: transparent; box-shadow: none; }
@media (max-width: 575.98px) {
    html[data-admin-theme] .admin-detail__grid { grid-template-columns: minmax(0, 1fr); }
    html[data-admin-theme] .billing-detail__records li { flex-wrap: wrap; }
    html[data-admin-theme] .billing-detail__event > div { flex-wrap: wrap; }
}
.billing-detail.card { gap: 24px; }
.billing-detail__overview { padding: 20px; border: 1px solid var(--gray-300); border-radius: 12px; background: var(--gray-100, #f5f8f9); }
.billing-detail__heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.billing-detail__heading h2 { margin: 0; font-size: 18px; line-height: 1.5; min-width: 0; }
.billing-detail__status { display: inline-flex; flex: 0 0 auto; align-items: center; padding: 4px 10px; border-radius: 6px; background: var(--gray-200, #edf2ef); color: var(--dark); font-size: 12px; line-height: 1.5; }
.billing-detail__totals { display: grid; grid-template-columns: 1.25fr 1fr 1fr; align-items: end; gap: 16px; margin: 20px 0; }
.billing-detail dt { color: var(--gray-500); font-size: 12px; font-weight: 500; margin-bottom: 6px; }
.billing-detail dd { margin: 0; font-size: 14px; line-height: 1.6; }
.billing-detail dd.billing-detail__amount { font-size: 28px; font-weight: 700; line-height: 1.2; font-variant-numeric: tabular-nums; }
.billing-detail__amount span { font-size: 14px; font-weight: 500; }
.billing-detail__download { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; }
.billing-detail__section h3 { font-size: 15px; font-weight: 600; margin: 0 0 16px; }
.billing-detail__section .admin-detail__grid { gap: 16px 24px; }
.billing-detail__group { border: 1px solid var(--gray-300); border-radius: 10px; overflow: hidden; }
.billing-detail__group + .billing-detail__group { margin-top: 10px; }
.billing-detail__group summary { display: flex; align-items: center; cursor: pointer; padding: 12px 16px; min-height: 44px; font-size: 14px; font-weight: 500; list-style: none; }
.billing-detail__group summary::-webkit-details-marker { display: none; }
.billing-detail__group summary::after { content: ''; width: 7px; height: 7px; margin-inline-start: auto; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); flex-shrink: 0; }
.billing-detail__group[open] > summary::after { transform: rotate(225deg); }
.billing-detail__group summary:focus-visible { outline: 2px solid var(--primary); outline-offset: -3px; }
.billing-detail__count { margin-inline-start: 8px; color: var(--gray-500); font-size: 12px; }
.billing-detail__records { margin: 0; padding: 0 16px; list-style: none; }
.billing-detail__records li { display: flex; align-items: center; justify-content: space-between; gap: 12px; border-top: 1px solid var(--gray-300); padding: 12px 0; font-size: 13px; }
.billing-detail__records a { min-width: 0; padding-block: 4px; }
.billing-detail__records li.billing-detail__event { display: grid; gap: 6px; }
.billing-detail__event > div { display: flex; justify-content: space-between; gap: 12px; }
.billing-detail__event time { color: var(--gray-500); font-size: 12px; }
@media (max-width: 575.98px) {
    .billing-detail__overview { padding: 16px; }
    .billing-detail__heading { flex-wrap: wrap; }
    .billing-detail__totals { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .billing-detail__totals > div:first-child { grid-column: 1 / -1; }
    .billing-detail__download { width: 100%; }
}
@media (max-width: 575.98px) {
    .admin-detail.card { padding: 16px; }
    .admin-detail__grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
}

/* The admin theme keeps html's scrollbar visible; Bootstrap must not reserve it twice. */
body.modal-open {
    padding-right: 0 !important;
}

:is(.admin-table-filters, .admin-management-modal).modal {
    padding-inline: 0 !important;
}

.admin-table-page {
    height: calc(100dvh - 88px);
    min-height: 630px;
    display: flex;
    flex-direction: column;
}

.admin-table-page__body {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.admin-table-page__section,
.admin-data-table {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

/* Match parsed table markup immediately, before table scripts initialize. */
:is(.admin-table-layout, body:has([data-table-fill-viewport])) .main-wrapper .main-content {
    padding-inline-end: 12px;
    padding-inline-start: 262px;
    padding-bottom: 12px;
    margin-top: 12px;
}

body:is(.admin-table-layout, :has([data-table-fill-viewport])).sidebar-mini .main-content {
    padding-inline-start: 77px;
}

.admin-data-table.card {
    margin-bottom: 0;
    border: 1px solid var(--gray-300);
    border-radius: 12px;
    overflow: hidden;
    background: var(--white);
}

.admin-data-table .admin-data-table__toolbar {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    padding: 12px 16px;
    gap: 16px;
    flex-wrap: wrap;
    justify-content: space-between;
    border-bottom: 1px solid var(--gray-300);
}

.admin-data-table__search {
    position: relative;
    flex: 1;
    max-width: 280px;
    min-width: 220px;
}

.admin-data-table__metrics {
    display: flex;
    flex: 1;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 16px;
    min-width: 0;
}

.admin-data-table__search-controls {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    flex: 1;
    min-width: 0;
}

.admin-data-table__search-controls > .admin-dropdown {
    width: 140px;
    flex-shrink: 0;
    margin-bottom: 0;
}

.admin-data-table__search-controls > .admin-dropdown > .sr-only { margin: 0; }

.admin-data-table__search-controls > .btn {
    height: 36px !important;
    min-height: 36px !important;
    border-radius: 8px;
    padding: 0 12px;
}

.admin-data-table__tools {
    flex-shrink: 0;
    padding: 12px 16px;
    border-bottom: 1px solid var(--gray-300);
}

/* The theme's default outline color is important; states need matching priority. */
.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active {
    color: var(--primary-btn-color, var(--white)) !important;
    background-color: var(--primary) !important;
    border-color: var(--primary) !important;
}

.admin-data-table__metrics > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    min-width: 0;
    padding-inline-start: 12px;
    border-inline-start: 1px solid var(--gray-300);
}

.admin-data-table__metrics dt {
    color: var(--gray-500);
    font-size: 12px;
    font-weight: 400;
    line-height: 20px;
}

.admin-data-table__metrics dd {
    flex-shrink: 0;
    margin: 0;
    color: var(--black);
    font-size: 14px;
    font-weight: 600;
    line-height: 20px;
    font-variant-numeric: tabular-nums;
}

.admin-data-table__search .form-control {
    height: 36px !important;
    border-radius: 8px;
    padding-inline: 40px 12px;
    background: var(--white);
    color: var(--black);
}

.admin-data-table__search > button {
    position: absolute;
    inset-inline-start: 4px;
    top: 50%;
    transform: translateY(-50%);
    width: 32px;
    height: 32px;
    color: var(--gray-500);
    display: flex;
    align-items: center;
    justify-content: center;
}

.admin-data-table__actions {
    margin-inline-start: auto;
    flex-wrap: wrap;
    flex-shrink: 0;
    max-width: 100%;
}

.admin-data-table__actions .btn,
.admin-data-table__tools .btn,
:is(.admin-table-filters, .admin-management-modal) .modal-footer .btn {
    height: 36px !important;
    min-height: 36px !important;
    padding: 0 12px;
    border-radius: 8px;
    font-size: 14px;
}

.admin-data-table__actions .btn-primary,
:is(.admin-table-filters, .admin-management-modal) .btn-primary {
    background: var(--success);
    border-color: var(--success);
    color: var(--white);
}

.admin-data-table__filter-count {
    min-width: 20px;
    padding: 2px 5px;
    border-radius: 4px;
    background: var(--gray-200);
    color: var(--black);
    font-size: 12px;
}

.admin-data-table .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;
}

.admin-data-table__scroll {
    flex: 1;
    min-height: 0;
    overflow: auto;
}

.admin-data-table .custom-table {
    min-width: var(--table-min-width, 100%);
    border-collapse: separate;
    border-spacing: 0;
}

.admin-data-table .custom-table thead th {
    position: sticky;
    top: 0;
    z-index: 2;
    background: var(--gray-200) !important;
    color: var(--gray-500);
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.5;
    border-bottom: 1px solid var(--gray-300);
    border-radius: 0 !important;
    height: 44px !important;
    padding: 10px 12px !important;
    white-space: nowrap;
}

.admin-data-table .custom-table tbody tr td {
    padding: 5px 12px !important;
    height: var(--table-row-height, 44px) !important;
    background: var(--white) !important;
    font-size: 14px;
    font-weight: 400;
    color: var(--black) !important;
    border-bottom: 1px solid var(--gray-300);
    font-variant-numeric: tabular-nums;
}

.admin-data-table .custom-table tbody tr {
    background: var(--white) !important;
}

.admin-data-table .table-actions > button {
    width: 32px;
    height: 32px !important;
    min-height: 32px !important;
}

/* Keep row actions compact without changing their links, forms, or accessible names. */
:is(a, button):has(> .admin-action-icon) {
    --admin-action-color: var(--primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px !important;
    min-width: 44px;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 8px;
    color: var(--primary) !important;
    background: transparent !important;
    box-shadow: none !important;
    vertical-align: middle;
}

/* Override the theme's filled outline-button states without losing keyboard focus. */
:is(a, button):has(> .admin-action-icon):is(:hover, :focus, :active, .active) {
    color: var(--admin-action-color) !important;
    background: transparent !important;
    box-shadow: none !important;
}

:is(a, button):has(> .admin-action-icon):hover {
    background: var(--gray-100, #f4f6f8) !important;
}

:is(a, button):has(> .admin-action-icon):focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
}

:is(.btn-danger, .btn-outline-danger, .text-danger):has(> .admin-action-icon) {
    --admin-action-color: var(--danger, #dc3545);
    color: var(--danger, #dc3545) !important;
}

:is(a, button):has(> .admin-action-icon):is(:disabled, [aria-disabled="true"]) {
    opacity: .4;
    cursor: not-allowed;
}

.admin-action-icon {
    color: var(--admin-action-color);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.admin-data-table .custom-table .text-left {
    text-align: left !important;
}

.admin-data-table .custom-table .admin-data-table__selection,
.admin-data-table .custom-table .admin-data-table__serial {
    width: 1%;
    white-space: nowrap;
    text-align: center !important;
}

.admin-data-table .custom-table:has(.admin-data-table__serial) thead th:nth-child(3),
.admin-data-table .custom-table:has(.admin-data-table__serial) tbody tr td:nth-child(3) {
    text-align: left !important;
}

.admin-data-table__selection input[type="checkbox"] {
    width: 16px;
    height: 16px;
    margin: 0;
    vertical-align: middle;
    accent-color: var(--primary);
    cursor: pointer;
}

.admin-data-table__selection input:focus-visible {
    outline: 2px solid var(--success);
    outline-offset: 2px;
}

.admin-data-table .custom-table.admin-data-table__table--empty {
    height: 100%;
}

.admin-data-table .custom-table.admin-data-table__table--empty thead {
    height: 44px;
}

.admin-data-table:not([data-table-fill-viewport]) .custom-table.admin-data-table__table--empty tbody {
    height: 240px;
}

.admin-data-table .custom-table tbody tr td.admin-data-table__empty {
    height: auto !important;
    text-align: center !important;
    vertical-align: middle !important;
    border-bottom: 0;
}

.admin-data-table .admin-data-table__footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 16px;
    min-height: 48px;
    flex-shrink: 0;
    border-top: 1px solid var(--gray-300);
}

.admin-data-table__empty-content {
    position: sticky;
    left: 12px;
    width: min(100%, calc(var(--table-empty-width, 100%) - 24px));
    padding-block: 24px;
    white-space: normal;
}

.admin-data-table__footer .pagination {
    margin: 0;
}

.admin-data-table__bulk {flex: 0 0 100%; min-width: 0; text-align: center;}
.admin-data-table__bulk:has(> form[hidden]), .admin-data-table__bulk:empty {display: none;}
.admin-data-table .admin-data-table__bulk form {margin: 0; padding: 0; border: 0; background: transparent; border-radius: 0;}
.admin-data-table__bulk form, .admin-data-table__bulk .curriculum-actions {justify-content: center;}


.admin-data-table__page-size {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-inline-start: auto;
}

.admin-data-table__page-size .form-control {
    width: 76px;
    height: 32px !important;
    padding: 0 8px;
    background: var(--white);
    color: var(--black);
}

:is(.admin-table-filters, .admin-management-modal) .modal-content {
    background: var(--white);
    color: var(--black);
    border: 1px solid var(--gray-300);
    border-radius: 12px;
}

:is(.admin-table-filters, .admin-management-modal) .modal-dialog {
    width: calc(100% - 32px);
    max-width: 640px;
    margin: 16px auto;
    min-height: calc(100% - 32px);
}

:is(.admin-table-filters, .admin-management-modal) .modal-header,
:is(.admin-table-filters, .admin-management-modal) .modal-footer {
    border-color: var(--gray-300);
    padding: 16px 20px;
}

:is(.admin-table-filters, .admin-management-modal) .modal-footer {
    gap: 8px;
}

:is(.admin-table-filters, .admin-management-modal) .modal-footer > .btn {
    margin: 0;
}

:is(.admin-table-filters, .admin-management-modal) .modal-body {
    max-height: 65dvh;
    overflow-y: auto;
    padding: 20px 20px 4px;
}

:is(.admin-table-filters, .admin-management-modal) .row {
    margin-inline: -8px;
}

:is(.admin-table-filters, .admin-management-modal) .row > [class*="col-"] {
    padding-inline: 8px;
}

:is(.admin-table-filters, .admin-management-modal) .form-group {
    margin-bottom: 16px;
}

:is(.admin-table-filters, .admin-management-modal) .form-group > label {
    margin-bottom: 6px;
}

:is(.admin-table-filters, .admin-management-modal) .form-control,
:is(.admin-table-filters, .admin-management-modal) .select2-selection {
    min-height: 36px;
    height: 36px !important;
    border-radius: 8px;
    background: var(--white);
    color: var(--black);
}

:is(.admin-table-filters, .admin-management-modal) .form-control {
    height: 36px;
    padding: 0 12px;
}

:is(.admin-table-filters, .admin-management-modal) .select2-container {
    width: 100% !important;
}

/* Keep closed controls below the open menu, including stacked drawer fields. */
.admin-dropdown > .select2-container { z-index: auto !important; }
.admin-dropdown > .select2-container--open { z-index: 10600 !important; }
.admin-dropdown > .select2-container:not(.select2) {
    height: auto !important;
    padding: 0 !important;
    margin: 0;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.admin-dropdown .select2-container .select2-selection {
    border: 1px solid var(--gray-300) !important;
    border-radius: 8px;
    background: var(--white);
    color: var(--black);
    min-height: 36px !important;
}

.admin-dropdown .select2-container .select2-selection--single {
    height: 36px !important;
    padding: 0 !important;
    position: relative;
    display: flex;
    align-items: center;
}

.admin-dropdown .select2-container--default .select2-selection--single .select2-selection__rendered {
    flex: 1;
    min-width: 0;
    margin-inline-end: 40px;
    padding-inline: 12px 0;
    line-height: normal !important;
    color: var(--black);
    font-size: 14px;
}

.admin-dropdown .select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 0 !important;
    right: 12px !important;
    inset-inline-end: 12px !important;
    inset-inline-start: auto !important;
    width: 18px;
    height: 100% !important;
    transform: none !important;
}

.admin-dropdown--fit-content,
.admin-dropdown--fit-content > .select2 {
    width: max-content !important;
    max-width: 100%;
}

.admin-dropdown--fit-content .select2-selection--single .select2-selection__rendered {
    flex: 0 1 auto;
    width: max-content;
    height: auto !important;
    white-space: normal;
    overflow-wrap: anywhere;
    overflow: visible;
}

.admin-dropdown .select2-container--default .select2-selection--single .select2-selection__arrow b {
    /* Select2's open-state triangle must not override the chevron. */
    border: 0 !important;
    width: 7px;
    height: 7px;
    margin: 0;
    border-inline-end: 1.5px solid var(--gray-500) !important;
    border-bottom: 1.5px solid var(--gray-500) !important;
    transform: translate(-50%, -65%) rotate(45deg);
}

.admin-dropdown .select2-container--open .select2-selection--single .select2-selection__arrow b {
    transform: translate(-50%, -35%) rotate(225deg);
}

.admin-dropdown .select2-container .select2-selection--multiple {
    height: auto !important;
    padding: 0 !important;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.admin-dropdown .select2-container--default .select2-selection--multiple .select2-selection__rendered {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
    padding: 4px 8px !important;
    min-height: 34px;
    height: auto !important;
}

.admin-dropdown .select2-container--default .select2-selection--multiple .select2-selection__rendered:empty {
    display: none;
}

.admin-dropdown .select2-container--default .select2-selection--multiple .select2-selection__choice {
    margin: 0;
    padding: 2px 6px;
    background: var(--gray-200) !important;
    color: var(--black) !important;
    border: 0;
    font-size: 12px;
    line-height: 20px;
}

.admin-dropdown .select2-container--default .select2-selection--multiple .select2-selection__choice .select2-selection__choice__remove {
    color: var(--gray-500) !important;
    border: 0 !important;
    background: transparent !important;
    margin-inline-end: 4px;
}

.admin-dropdown .select2-selection__choice__remove span {
    color: inherit !important;
}

.admin-dropdown .select2-search--inline {
    flex: 1;
    min-width: 100px;
    padding: 4px 8px;
}

.admin-dropdown .select2-search--inline .select2-search__field {
    width: 100% !important;
    height: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--black);
    font-size: 14px;
}

.admin-dropdown-menu.select2-dropdown {
    box-sizing: border-box;
    padding: 0 !important;
    border: 1px solid var(--gray-300);
    border-radius: 8px;
    background: var(--white);
    color: var(--black);
    box-shadow: 0 8px 24px rgba(16, 26, 21, .12);
    overflow: hidden;
}

.admin-dropdown-menu .select2-results__options {
    max-height: 240px !important;
}

.select2-container .select2-dropdown .select2-results__options {
    display: block;
    margin: 0;
    padding: 0;
    gap: 0;
    list-style: none;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.select2-dropdown .select2-results__options::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
}

.admin-dropdown-menu .select2-results__option {
    padding: 8px 12px;
    font-size: 14px;
    line-height: 20px;
}

.select2-container--default .admin-dropdown-menu .select2-results__option[aria-selected="true"],
.select2-container--default .admin-dropdown-menu .select2-results__option--selected {
    background: var(--gray-200);
    color: var(--black);
}

.select2-container--default .admin-dropdown-menu .select2-results__option--highlighted[aria-selected] {
    background: var(--success);
    color: var(--white);
}

.admin-date-input__control {
    position: relative;
}

.admin-date-input .admin-date-input__field {
    padding-inline: 12px 44px;
    cursor: pointer;
    background: var(--white);
}

.admin-date-input__control > button {
    position: absolute;
    top: 1px;
    inset-inline-end: 6px;
    width: 32px;
    height: calc(100% - 2px);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--gray-500);
}

.admin-date-calendar.daterangepicker {
    width: 300px;
    max-width: calc(100vw - 24px);
    padding: 8px;
    z-index: 10600;
    margin-top: 4px;
    border: 1px solid var(--gray-300);
    border-radius: 8px;
    background: var(--white);
    color: var(--black);
    font-family: inherit;
    box-shadow: 0 8px 24px rgba(16, 26, 21, .12);
}

.admin-date-calendar.daterangepicker .calendar-table {
    background: var(--white);
    border-color: var(--white);
}

.admin-date-calendar.daterangepicker .calendar-table td,
.admin-date-calendar.daterangepicker .calendar-table th {
    height: 32px;
    min-width: 32px;
    font-size: 13px;
}

.admin-date-calendar.daterangepicker.single .drp-calendar { width: 100%; max-width: none; padding: 0; }
.admin-date-calendar.daterangepicker:not(.single) { width: auto; }

.admin-date-calendar.daterangepicker td.active,
.admin-date-calendar.daterangepicker td.active:hover {
    background: var(--success);
    color: var(--white);
}

.admin-date-calendar.daterangepicker td.off {
    background: var(--white);
    color: var(--gray-500);
}

.admin-date-calendar.daterangepicker td.available:hover,
.admin-date-calendar.daterangepicker th.available:hover {
    background: var(--gray-200);
    color: var(--black);
}

.admin-date-calendar .drp-buttons {
    border-color: var(--gray-300);
    padding: 8px;
}

.admin-date-calendar .drp-buttons .btn {
    height: 32px !important;
    min-height: 32px !important;
    padding: 0 8px;
}

.admin-date-calendar .applyBtn {
    background: var(--success);
    color: var(--white);
    border-color: var(--success);
}

.admin-date-calendar .calendar-time {
    padding: 12px 8px;
    border-top: 1px solid var(--gray-200);
}

.admin-date-calendar.daterangepicker .calendar-time select {
    min-width: 72px;
    height: 40px;
    padding: 0 12px;
    border: 1px solid var(--gray-300);
    border-radius: 8px;
    background: var(--white);
    color: var(--black);
    font: inherit;
    font-size: 14px;
}

.admin-date-calendar--time .calendar-table,
.admin-date-calendar .drp-selected {
    display: none;
}

.admin-date-calendar--time .calendar-time { border-top: 0; }
.admin-time-dropdown { display: inline-block; width: 80px; vertical-align: middle; text-align: left; }
.admin-time-dropdown-menu .select2-results__options {
    max-height: 180px !important;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--gray-400) transparent;
}
.admin-time-dropdown-menu .select2-results__option { height: 36px; padding: 8px 12px; line-height: 20px; box-sizing: border-box; }
.admin-dropdown--editable { position: relative; }
.admin-dropdown.admin-dropdown--editable > .select2-container { z-index: auto !important; }
.admin-dropdown--editable .select2-selection__rendered { visibility: hidden; }
.admin-dropdown__edit {
    position: absolute; z-index: 1; top: 1px; left: 1px; width: calc(100% - 32px); height: 34px;
    padding: 0 4px 0 12px; border: 0; border-radius: 7px 0 0 7px;
    background: var(--white); color: var(--black); font: inherit; font-size: 14px;
}
.admin-dropdown__edit::placeholder { color: var(--black); opacity: 1; }
.admin-dropdown__edit[aria-invalid="true"] { color: var(--danger); }
.admin-time-dropdown-menu .select2-results__options::-webkit-scrollbar { display: block; width: 4px; }
.admin-time-dropdown-menu .select2-results__options::-webkit-scrollbar-thumb { background: var(--gray-400); border-radius: 4px; }
.admin-time-dropdown-menu .select2-results__options::-webkit-scrollbar-track { background: transparent; }
.admin-time-dropdown-menu .select2-results__options::-webkit-scrollbar-button { display: none; }
.admin-date-calendar .calendar-time select:focus-visible { outline: 2px solid var(--primary); }

.admin-dropdown__edit:focus-visible,
.admin-date-input input:focus-visible,
.admin-date-input button:focus-visible,
.admin-date-calendar [tabindex]:focus-visible,
.admin-date-calendar button:focus-visible {
    outline: 2px solid var(--success) !important;
    outline-offset: -2px;
}
.admin-dropdown .select2-selection:focus { outline: none !important; }
.admin-dropdown .select2-selection:focus-visible {
    border-color: var(--success) !important;
    box-shadow: 0 0 0 2px rgba(0, 123, 85, .15);
}

:is(.admin-table-filters, .admin-management-modal) .modal-footer .admin-table-reset {
    margin-inline-end: auto;
    color: var(--gray-500);
}

.admin-data-table button:focus-visible,
.admin-data-table a:focus-visible,
.admin-data-table select:focus-visible,
.admin-data-table__scroll:focus-visible,
:is(.admin-table-filters, .admin-management-modal) button:focus-visible,
:is(.admin-table-filters, .admin-management-modal) a:focus-visible {
    outline: 2px solid var(--success) !important;
    outline-offset: -2px;
}

@media (max-width: 1024px) {
    :is(.admin-table-layout, body:has([data-table-fill-viewport])) .main-wrapper .main-content,
    body:is(.admin-table-layout, :has([data-table-fill-viewport])).sidebar-mini .main-content {
        padding-inline-start: 12px;
    }
}

@media (max-width: 767.98px) {
    .admin-table-page {
        height: auto;
        min-height: 420px;
    }

    .admin-data-table.card[data-table-fill-viewport] {
        min-height: 480px;
    }

    .admin-data-table__search {
        min-width: 0;
        max-width: none;
        flex-basis: 100%;
    }

    .admin-data-table__metrics {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        flex-basis: 100%;
    }

    .admin-data-table__scroll {
        max-height: 65dvh;
    }

    :is(.admin-table-filters, .admin-management-modal) .modal-header,
    :is(.admin-table-filters, .admin-management-modal) .modal-body,
    :is(.admin-table-filters, .admin-management-modal) .modal-footer {
        padding-inline: 16px;
    }

    :is(.admin-table-filters, .admin-management-modal) .modal-footer .btn {
        padding-inline: 8px;
    }

    .admin-data-table__search .form-control,
    :is(.admin-table-filters, .admin-management-modal) .form-control {
        font-size: 16px;
    }
}

/*# sourceMappingURL=custom.css.map */
.cursor-pointer {
    cursor: pointer;
}

.pagination {
    justify-content: center;
    align-content: center;
}

.user-inline-avatar .avatar {
    width: 40px;
    max-width: 40px;
    min-width: 40px;
    height: 40px;
    border-radius: 50%;
}

.user-inline-avatar .user-name {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.19;
    color: #818894;
}

.dropdown {
    position: relative;
}

.table-actions.dropdown .dropdown-toggle::after {
    display: none;
}

.table-actions.dropdown .dropdown-menu {
    min-width: 115px !important;
    border-radius: 8px !important;
    padding: 15px;
}

.table-actions.dropdown .dropdown-menu:after {
    display: none;
}

.table-actions.dropdown .dropdown-menu button, .table-actions.dropdown .dropdown-menu a {
    color: #818894;
}

.table-actions.dropdown .dropdown-menu button:hover, .table-actions.dropdown .dropdown-menu a:hover {
    color: #43d477;
}

.dropdown-menu a, .dropdown-menu button {
    font-size: 13px;
}


.table-actions.dropdown .dropdown-menu.menu-lg {
    min-width: 192px !important;
}

.table-actions.dropdown.table-actions-lg .dropdown-menu {
    min-width: 150px !important;
}

.dropdown.show > .dropdown-menu {
    animation-name: slidenavAnimation;
    animation-duration: .2s;
    animation-iteration-count: 1;
    animation-timing-function: ease;
    animation-fill-mode: forwards;

    -webkit-animation-name: slidenavAnimation;
    -webkit-animation-duration: .2s;
    -webkit-animation-iteration-count: 1;
    -webkit-animation-timing-function: ease;
    -webkit-animation-fill-mode: forwards;

    -moz-animation-name: slidenavAnimation;
    -moz-animation-duration: .2s;
    -moz-animation-iteration-count: 1;
    -moz-animation-timing-function: ease;
    -moz-animation-fill-mode: forwards;
}

@keyframes slidenavAnimation {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@-webkit-keyframes slidenavAnimation {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

.btn-transparent {
    background-color: transparent;
    padding: 0;
    border: 0 transparent;
    box-shadow: none;
}

.btn-transparent:hover {
    background-color: transparent;
}

.table th, .table td {
    vertical-align: middle;
}


.select2-container {
    width: 100% !important;
}

.select2-container .select2-selection--single {
    height: 42px !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 42px !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 28px !important;
    right: 10px !important;
}

.select2-container--default .select2-selection--single .select2-selection__clear {
    height: 42px !important;
    margin-right: 30px !important;
}


.webinar-category-filters {
    padding: 16px;
    border-radius: 10px;
    box-shadow: none;
    background-color: var(--white);
    border: 1px solid var(--gray-300);
}

.webinar-form .table-responsive {
    overflow: visible;
}

@media (max-width: 991px) {
    .webinar-form .table-responsive {
        overflow: auto;
    }

    .w-xs-to-lg-100 {
        width: 100%;
    }
}

.webinar-form .table {
    border-radius: 10px;
    background-color: var(--white);
    border: 1px solid var(--gray-300);
}

.webinar-form .table th {
    border-top: 0;
    font-size: 16px;
    font-weight: 500;
    color: #818894;
}

.webinar-form .table .btn-gray200 {
    font-size: 14px;
}

@-webkit-keyframes sc-pending {
    to {
        background-position: 16px 0;
    }
}

@keyframes sc-pending {
    to {
        background-position: 16px 0;
    }
}

.loadingbar {
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAAMElEQVQoU2P434CADGgALIZfGkkBdmm4AlzSUAW4pcEK8EljyqJJYygYqdLoCjBlAalbv4Hzd/xyAAAAAElFTkSuQmCC) !important;
    background-repeat: repeat !important;
    -webkit-animation: sc-pending 0.5s linear infinite;
    animation: sc-pending 0.5s linear infinite;
    opacity: 0.75;
}

.loadingbar.gray {
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAAMElEQVQoU2P434CADGgALIZfGkkBdmm4AlzSUAW4pcEK8EljyqJJYygYqdLoCjBlAalbv4Hzd/xyAAAAAElFTkSuQmCC) !important;
    background-repeat: repeat !important;
    -webkit-animation: sc-pending 0.5s linear infinite;
    animation: sc-pending 0.5s linear infinite;
    background-color: #818894;
    opacity: 0.75;
}

.loadingbar.gray:hover {
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAAMElEQVQoU2P434CADGgALIZfGkkBdmm4AlzSUAW4pcEK8EljyqJJYygYqdLoCjBlAalbv4Hzd/xyAAAAAElFTkSuQmCC) !important;
    background-repeat: repeat !important;
    -webkit-animation: sc-pending 0.5s linear infinite;
    animation: sc-pending 0.5s linear infinite;
    background-color: #818894;
    opacity: 0.95;
}

.loadingbar.primary, .loadingbar.primary:hover {
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAAMElEQVQoU2P434CADGgALIZfGkkBdmm4AlzSUAW4pcEK8EljyqJJYygYqdLoCjBlAalbv4Hzd/xyAAAAAElFTkSuQmCC) !important;
    background-repeat: repeat !important;
    -webkit-animation: sc-pending .5s linear infinite;
    animation: sc-pending .5s linear infinite;
    background-color: var(--primary)
}

.table-actions.dropdown .dropdown-toggle::after {
    display: none;
}


.table-actions.dropdown .dropdown-menu:after {
    display: none;
}

.table-actions.dropdown .dropdown-menu button,
.table-actions.dropdown .dropdown-menu a {
    color: #818894;
}

.table-actions.dropdown .dropdown-menu button:hover,
.table-actions.dropdown .dropdown-menu a:hover {
    color: #43d477;
}

.table-actions.dropdown .dropdown-menu.menu-lg {
    min-width: 192px !important;
}

.table-actions.dropdown.table-actions-lg .dropdown-menu {
    min-width: 150px !important;
}

.quiz-question-card {
    border-radius: 16px;
    background-color: var(--white);
    padding: 20px 25px
}

.quiz-question-card .question-title {
    font-weight: 500;
    color: var(--dark)
}

.quiz-question-card .question-infos {
    color: var(--admin-muted, var(--gray-500))
}

.add-answer-container {
    height: 300px;
    overflow-y: auto;
    overflow-x: visible;
    width: 100%;
    padding-right: 10px
}

.add-answer-container .row {
    margin: 0
}

.add-answer-card {
    border-radius: 10px;
    border: 1px solid #ececec;
    padding: 8px 12px;
    position: relative
}

.add-answer-card .answer-remove {
    width: 40px;
    height: 40px;
    padding: 0;
    position: absolute;
    right: 55px;
    top: 0;
    transform: translateY(-50%)
}


.font-36 {
    font-size: 36px;
}

@media (max-width: 767px) {
    .font-36 {
        font-size: 24px
    }
}

.font-30 {
    font-size: 30px;
}

@media (max-width: 767px) {
    .font-30 {
        font-size: 24px;
    }
}


.section-title {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--dark)
}

.section-title.after-line {
    display: flex;
    flex: 1;
    align-items: center
}

.section-title.after-line:after {
    content: "";
    flex: 1 0 20px;
    height: 2px;
    background-color: var(--gray-300);
    margin-left: 10px
}

table tr th, table tr td {
    text-align: center !important;
}

table tr th:first-child, table tr td:first-child {
    text-align: left !important;
}

.table tbody + tbody {
    border: none;
}

.sidebar-close {
    position: fixed;
    top: 24px;
    right: 24px;
    color: #ffffff;
    font-size: 25px;
    display: none;
    background-color: transparent;
    border: none;
    z-index: 892;
}

.sidebar-show .sidebar-close {
    display: flex;
}

.pb-30 {
    padding-bottom: 30px;
}

.region-map {
    height: 600px;
    border-radius: 15px;
    z-index: 10;
    position: relative;
}

.region-map .marker {
    position: absolute;
    margin: auto;
    top: calc(50% - 70px);
    left: 0;
    right: 0;
    z-index: 500;
    transition: all 200ms cubic-bezier(0.47, 0, 0.75, 0.72);
}

.region-map .marker.dragging {
    transform: scale(0.8) translateY(12px);
}

@media (min-width: 767px) and (max-width: 991px) {
    .region-map {
        height: 500px;
    }
}

@media (max-width: 767px) {
    .region-map {
        height: 360px;
    }
}

.product-images-input-group input {
    border-radius: 0 !important;
}

.product-images-input-group .add-btn,
.product-images-input-group .remove-btn {
    height: 40px;
    max-height: 40px;
    border-radius: 0 5px 5px 0;
}

.accordion-row .collapse-chevron-icon {
    transition: 0.3s;
}

.accordion-row .collapse-chevron-icon.feather-chevron-up {
    transform: rotateZ(180deg);
}

.accordion-row .collapse-chevron-icon.chevron-get-up {
    transform: rotateZ(180deg);
}

.accordion-row .panel-collapse {
    border-top: 1px solid #ececec;
    margin-top: 15px;
    padding-top: 15px;
}

.bootstrap-tagsinput {
    height: 116px !important;
    display: flex !important;
    align-items: flex-start;
    box-shadow: none !important;
    border: 1px solid #ececec !important;
    padding: 0.5rem 1rem !important;
    font-size: 0.75rem;
    font-weight: normal;
    color: var(--dark) !important;
    background-color: var(--white);
    background-clip: padding-box;
    border-radius: 0.5rem;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.bootstrap-tagsinput input {
    width: 100% !important;
    max-width: 100% !important;
    height: 40px !important;
}

.bootstrap-tagsinput .tag:first-child {
    margin-left: 0 !important;
}

.bootstrap-tagsinput .tag {
    margin-top: 2px;
}

.disabled-content-badge {
    padding: 4px 8px;
    border-radius: 13px;
    background-color: rgba(246, 60, 60, 0.3);
    font-size: 12px;
    color: #f63c3c;
}

.add-course-content-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background-color: #c6f2d6;
    border-radius: 50%;
    border: none !important
}

.add-course-content-btn svg {
    color: var(--primary)
}

.chapter-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    width: 40px;
    max-width: 40px;
    min-height: 40px;
    height: 40px;
    max-height: 40px;
    background-color: var(--primary);
    border-radius: 50%
}

.chapter-icon svg {
    color: #fff
}

.chapter-icon.chapter-content-icon {
    background-color: var(--gray-200)
}

.chapter-icon.chapter-content-icon svg {
    color: #818894
}

.assignment-attachments-remove-btn {
    position: absolute;
    right: 10px;
    top: 5px;
    padding-right: 8px !important;
    padding-left: 8px !important;
    height: 26px !important;
}


.topics-post-card .user-avatar {
    width: 72px;
    min-width: 72px;
    height: 72px;
}

.topics-post-card .user-avatar.green-ring {
    width: 92px;
    min-width: 92px;
    height: 92px;
    border: solid 5px var(--primary);
}

.topics-post-card .user-avatar.green-ring img {
    border: solid 5px #FFFFFF;
}

.topics-post-card .topic-post-description,
.topics-post-card .topic-post-description * {
    color: #818894;
    font-size: 14px;
}

.topics-post-card .pinned-icon {
    position: absolute;
    top: 15px;
    right: 15px;
    width: 24px;
    height: 24px;
    background-color: transparent;
    border: 0;
    border-radius: 50%;
    padding: 0;
}

.topics-post-card .pinned-icon img {
    width: 100%;
    max-width: 100%;
    height: 100%;
}

.topic-post-like-btn {
    padding: 5px 15px 5px 5px;
    border-radius: 22px;
    border: solid 1px #f1f1f1;
    background-color: #f7fafd;
    height: 43px;
}

.topic-post-like-btn .badge-icon {
    position: relative;
    width: 33px;
    min-width: 33px;
    height: 33px;
    margin-right: 5px;
    background-color: var(--white);
    border-radius: 50%;
    border: 0;
    padding: 0;
}

.topic-posts-reply-card .js-close-reply-post {
    position: absolute;
    top: 15px;
    right: 15px;
}

.img-cover {
    width: 100%;
    height: 100%;
    overflow: hidden;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: 50% 50%;
    object-position: 50% 50%;
}

.bg-info-light {
    background-color: var(--gray-100);
}

.webinar-extra-description-company-logos {
    max-width: 105px;
    max-height: 60px;
}

/*.webinars-lists-dropdown {
    left: auto !important;
    right: 0;
    transform: translate3d(-167px, 14px, 0px) !important;
}*/

.webinars-lists-dropdown .fa {
    width: 18px;
    min-width: 18px;
}

/*.rtl .webinars-lists-dropdown {
    left: 0 !important;
    right: auto !important;
}*/

.rtl .custom-file-label::after {
    right: auto !important;
    left: 0;
    border-radius: 0.25rem 0 0 0.25rem !important;
}

.panel-shadow {
    box-shadow: 0 12px 23px 0 rgba(62, 73, 84, .04)
}

.panel-section-card {
    border-radius: 10px;
    box-shadow: 0px 12px 23px 0px rgb(62 73 84 / 4%);
    background-color: var(--white);
}

.activities-container {
    border-radius: 5px;
    box-shadow: 0 12px 23px 0 rgba(62, 73, 84, .04);
    background-color: var(--white)
}

@media (max-width: 767px) {
    .activities-container img {
        width: 32px;
        height: 32px
    }
}

.dashboard-stats {
    background-color: var(--white);
}

.dashboard-stats, .dashboard-stats:hover {
    transition: all .5s ease
}

.dashboard-stats:hover {
    background-color: unset !important;
    box-shadow: 0 8px 23px 0 rgba(62, 73, 84, .15)
}

.dashboard-stats .stat-icon {
    width: 64px;
    min-width: 64px;
    height: 64px;
    border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: center
}

.dashboard-stats .stat-icon img {
    width: 32px;
    height: 32px
}

.dashboard-stats .stat-icon.requests {
    background-image: linear-gradient(135deg, #11c99c, #00e31d);
    box-shadow: 0 3px 10px 0 rgba(91, 255, 113, .4)
}

.dashboard-stats .stat-icon.monthly-sales {
    background-image: linear-gradient(135deg, #f761a1 10%, #8c1bab);
    box-shadow: 0 3px 10px 0 rgba(236, 108, 224, .4)
}

.dashboard-stats .stat-icon.support-messages {
    background-image: linear-gradient(135deg, #ff0844, #ffb199);
    box-shadow: 0 3px 10px 0 rgba(255, 85, 85, .26)
}

.dashboard-stats .stat-icon.comments {
    background-image: linear-gradient(135deg, #3c8ce7 10%, #00eaff);
    box-shadow: 0 3px 10px 0 rgba(68, 198, 206, .4)
}

.dashboard-stats .stat-icon.stat-icon-chapters {
    background-image: linear-gradient(180deg, #11c99c, #00e31d)
}

.dashboard-stats .stat-icon.stat-icon-sessions {
    background-image: linear-gradient(180deg, #ffb199, #ff0844)
}

.dashboard-stats .stat-icon.stat-icon-pending-quizzes {
    background-image: linear-gradient(180deg, #f761a1, #8c1bab)
}

.dashboard-stats .stat-icon.stat-icon-pending-assignments {
    background-image: linear-gradient(180deg, #3c8ce7, #00eaff)
}


.course-statistic-cards-shadow {
    box-shadow: 0 3px 15px 0 rgba(0, 0, 0, .04)
}

.course-statistic-cards-shadow .statistic-pie-charts {
    height: 197px
}

.course-statistic-cards-shadow .cart-label-color {
    width: 15px;
    min-width: 15px;
    height: 15px
}

.stars-card i {
    margin-right: 3px;
    color: #818894
}

.stars-card i.active {
    color: #ffc600;
    fill: #ffc600
}

.select2-container {
    z-index: 600 !important;
}

.modal .select2-container {
    z-index: 10550 !important;
}


.m-10 {
    margin: 10px !important
}

.mt-10, .my-10 {
    margin-top: 10px !important
}

.mr-10, .mx-10 {
    margin-right: 10px !important
}

.mb-10, .my-10 {
    margin-bottom: 10px !important
}

.ml-10, .mx-10 {
    margin-left: 10px !important
}

.m-15 {
    margin: 15px !important
}

.mt-15, .my-15 {
    margin-top: 15px !important
}

.mr-15, .mx-15 {
    margin-right: 15px !important
}

.mb-15, .my-15 {
    margin-bottom: 15px !important
}

.ml-15, .mx-15 {
    margin-left: 15px !important
}

.m-20 {
    margin: 20px !important
}

.mt-20, .my-20 {
    margin-top: 20px !important
}

.mr-20, .mx-20 {
    margin-right: 20px !important
}

.mb-20, .my-20 {
    margin-bottom: 20px !important
}

.ml-20, .mx-20 {
    margin-left: 20px !important
}

.m-25 {
    margin: 25px !important
}

.mt-25, .my-25 {
    margin-top: 25px !important
}

.mr-25, .mx-25 {
    margin-right: 25px !important
}

.mb-25, .my-25 {
    margin-bottom: 25px !important
}

.ml-25, .mx-25 {
    margin-left: 25px !important
}

.m-30 {
    margin: 30px !important
}

.mt-30, .my-30 {
    margin-top: 30px !important
}

.mr-30, .mx-30 {
    margin-right: 30px !important
}

.mb-30, .my-30 {
    margin-bottom: 30px !important
}

.ml-30, .mx-30 {
    margin-left: 30px !important
}

.m-35 {
    margin: 35px !important
}

.mt-35, .my-35 {
    margin-top: 35px !important
}

.mr-35, .mx-35 {
    margin-right: 35px !important
}

.mb-35, .my-35 {
    margin-bottom: 35px !important
}

.ml-35, .mx-35 {
    margin-left: 35px !important
}

.m-40 {
    margin: 40px !important
}

.mt-40, .my-40 {
    margin-top: 40px !important
}

.mr-40, .mx-40 {
    margin-right: 40px !important
}

.mb-40, .my-40 {
    margin-bottom: 40px !important
}

.ml-40, .mx-40 {
    margin-left: 40px !important
}

.m-45 {
    margin: 45px !important
}

.mt-45, .my-45 {
    margin-top: 45px !important
}

.mr-45, .mx-45 {
    margin-right: 45px !important
}

.mb-45, .my-45 {
    margin-bottom: 45px !important
}

.ml-45, .mx-45 {
    margin-left: 45px !important
}

.m-50 {
    margin: 50px !important
}

.mt-50, .my-50 {
    margin-top: 50px !important
}

.mr-50, .mx-50 {
    margin-right: 50px !important
}

.mb-50, .my-50 {
    margin-bottom: 50px !important
}

.ml-50, .mx-50 {
    margin-left: 50px !important
}


.p-10 {
    padding: 10px !important
}

.pt-10, .py-10 {
    padding-top: 10px !important
}

.pr-10, .px-10 {
    padding-right: 10px !important
}

.pb-10, .py-10 {
    padding-bottom: 10px !important
}

.pl-10, .px-10 {
    padding-left: 10px !important
}

.p-15 {
    padding: 15px !important
}

.pt-15, .py-15 {
    padding-top: 15px !important
}

.pr-15, .px-15 {
    padding-right: 15px !important
}

.pb-15, .py-15 {
    padding-bottom: 15px !important
}

.pl-15, .px-15 {
    padding-left: 15px !important
}

.p-20 {
    padding: 20px !important
}

.pt-20, .py-20 {
    padding-top: 20px !important
}

.pr-20, .px-20 {
    padding-right: 20px !important
}

.pb-20, .py-20 {
    padding-bottom: 20px !important
}

.pl-20, .px-20 {
    padding-left: 20px !important
}

.p-25 {
    padding: 25px !important
}

.pt-25, .py-25 {
    padding-top: 25px !important
}

.pr-25, .px-25 {
    padding-right: 25px !important
}

.pb-25, .py-25 {
    padding-bottom: 25px !important
}

.pl-25, .px-25 {
    padding-left: 25px !important
}

.p-30 {
    padding: 30px !important
}

.pt-30, .py-30 {
    padding-top: 30px !important
}

.pr-30, .px-30 {
    padding-right: 30px !important
}

.pb-30, .py-30 {
    padding-bottom: 30px !important
}

.pl-30, .px-30 {
    padding-left: 30px !important
}

.p-35 {
    padding: 35px !important
}

.pt-35, .py-35 {
    padding-top: 35px !important
}

.pr-35, .px-35 {
    padding-right: 35px !important
}

.pb-35, .py-35 {
    padding-bottom: 35px !important
}

.pl-35, .px-35 {
    padding-left: 35px !important
}

.p-40 {
    padding: 40px !important
}

.pt-40, .py-40 {
    padding-top: 40px !important
}

.pr-40, .px-40 {
    padding-right: 40px !important
}

.pb-40, .py-40 {
    padding-bottom: 40px !important
}

.pl-40, .px-40 {
    padding-left: 40px !important
}

.p-45 {
    padding: 45px !important
}

.pt-45, .py-45 {
    padding-top: 45px !important
}

.pr-45, .px-45 {
    padding-right: 45px !important
}

.pb-45, .py-45 {
    padding-bottom: 45px !important
}

.pl-45, .px-45 {
    padding-left: 45px !important
}

.p-50 {
    padding: 50px !important
}

.pt-50, .py-50 {
    padding-top: 50px !important
}

.pr-50, .px-50 {
    padding-right: 50px !important
}

.pb-50, .py-50 {
    padding-bottom: 50px !important
}

.pl-50, .px-50 {
    padding-left: 50px !important
}

ul {
    -webkit-margin-before: 0;
    margin-block-start: 0;
    -webkit-margin-after: 0;
    margin-block-end: 0;
    -webkit-margin-start: 0;
    margin-inline-start: 0;
    -webkit-margin-end: 0;
    margin-inline-end: 0;
    -webkit-padding-start: 0;
    padding-inline-start: 0
}

li {
    list-style: none
}

.accordion-row .collapse-chevron-icon {
    transition: .3s
}

.accordion-row .collapse-chevron-icon.chevron-get-up, .accordion-row .collapse-chevron-icon.feather-chevron-up {
    transform: rotate(180deg)
}

.accordion-row .panel-collapse {
    border-top: 1px solid #ececec;
    margin-top: 15px;
    padding-top: 15px
}

.chat-box .chat-content .chat-item > img {
    height: 50px;
}

.chat-box .chat-content .chat-item .chat-details .chat-text {
    text-align: left;
    white-space: pre-wrap;
}

.rtl .chat-box .chat-content .chat-item .chat-details .chat-text {
    text-align: right;
}

.colorpicker {
    z-index: 10550 !important;
}

.table-responsive-2 .dropdown.show > .dropdown-menu {
    right: 0 !important;
    left: auto !important;
}

.custom-inv-fck {
    position: absolute;
    bottom: -26px
}

.white-space-pre-wrap {
    white-space: pre-wrap;
}

.close-body-scroll {
    overflow: hidden;
    touch-action: none;
}

.d-flex-center {
    display: flex;
    align-items: center;
    justify-content: center;
}

.show-ai-content-drawer-btn {
    padding: 5px 15px 5px 5px;
    border-radius: 25px;
    background-color: var(--gray-100);
    cursor: pointer;
}

.size-32 {
    width: 32px;
    min-width: 32px;
    height: 32px;
}

.size-64 {
    width: 64px;
    min-width: 64px;
    height: 64px;
}

@media (max-width: 767px) {
    .show-ai-content-drawer-btn {
        padding: 5px;
    }
}

.ai-content-generator-drawer {
    position: fixed;
    height: 100vh;
    width: 46.3vw;
    top: 0;
    bottom: 0;
    right: -110%;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    transition: all 0.4s cubic-bezier(0.43, 0.83, 0.54, 1.02), opacity 0.4s linear;
    z-index: 1506;
}

.ai-content-generator-drawer-header {
    height: 68px;
    border-bottom: 1px solid #f1f1f1;
}

.ai-content-generator-drawer-mask {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.25);
    z-index: 1505;
}

.ai-content-generator-drawer.show {
    right: 0;
}

.ai-content-generator-drawer.show ~ .ai-content-generator-drawer-mask {
    display: block;
}

.rtl .ai-content-generator-drawer {
    right: auto;
    left: -110%;
}

.rtl .ai-content-generator-drawer.show {
    right: auto;
    left: 0;
}

.ai-content-generator-drawer .drawer-content {
    height: calc(100vh - 68px);
    overflow-y: auto;
}

@media (max-width: 991px) {
    .ai-content-generator-drawer {
        width: 100vw;
    }
}

.image-generated-card {
    width: 256px;
    height: 256px;
    border-radius: 10px;
    margin: 15px 15px 0 0;
}

.mt-15 {
    margin-top: 15px;
}

.mt-56 {
    margin-top: 56px;
}

.mb-15 {
    margin-bottom: 15px;
}

.mt-20 {
    margin-top: 20px;
}

.pt-15 {
    padding-top: 15px;
}

.p-15 {
    padding: 15px;
}

.rounded-sm {
    border-radius: 10px;
}


.custom-dropdown .custom-dropdown-toggle .custom-dropdown-toggle-flag {
    width: 15px;
    min-width: 15px;
    height: 15px;
}

.custom-dropdown:not(:hover) > .custom-dropdown-body {
    visibility: hidden;
    opacity: 0;
    transform: translateY(15px);
}

.custom-dropdown .custom-dropdown-body {
    position: absolute;
    top: 40px;
    left: 0;
    width: -moz-max-content;
    width: max-content;
    min-width: 220px;
    background: var(--white);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    border-radius: 10px;
    transition: all 0.3s ease;
    z-index: 580;
}

.rtl .custom-dropdown .custom-dropdown-body {
    left: auto;
    right: 0;
}

.custom-dropdown .custom-dropdown-body__item {
    color: var(--dark);
    border-left: 2px solid transparent;
}

.custom-dropdown .custom-dropdown-body__item > div {
    transition: all 0.3s ease;
}

.custom-dropdown .custom-dropdown-body__item.active {
    border-left: 2px solid var(--primary);
    color: var(--primary);
}

.custom-dropdown .custom-dropdown-body__item.active * {
    color: var(--primary);
}

.rtl .custom-dropdown .custom-dropdown-body__item {
    border-left: none;
    border-right: 2px solid transparent;
}

.rtl .custom-dropdown .custom-dropdown-body__item.active {
    border-left: none;
    border-right: 2px solid var(--primary);
}

.custom-dropdown .custom-dropdown-body__item:hover {
    background-color: var(--gray-100);
}

.custom-dropdown .custom-dropdown-body__item:hover > div {
    transform: translateX(8px);
}

.custom-dropdown .custom-dropdown-body__flag {
    width: 24px;
    min-width: 24px;
    height: 24px;
}

.admin-navbar-currency .custom-dropdown-toggle, .admin-navbar-locale button.dropdown-toggle {
    padding: 5px 15px 5px 10px;
    border-radius: 25px;
    background-color: var(--gray-100);
    cursor: pointer;
    height: 40px;
}

.admin-navbar-locale .dropdown-menu {
    border-radius: 10px !important;
}

.admin-navbar-locale .dropdown-menu li {
    padding: 0 15px;
    cursor: pointer;
}

.admin-navbar-locale .dropdown-menu li:hover {
    background-color: #ececec;
}

.admin-navbar-locale button.dropdown-toggle, .admin-navbar-locale button.dropdown-toggle * {
    font-size: 14px !important;
    color: #6c757d !important;
}

.payment-channel-credentials-card {
    padding: 16px;
    border-radius: 10px;
}

.payment-channel-credentials-card h5 {
    font-size: 16px;
    font-weight: bold;
    color: #000000;
}

.note-editable ul {
    list-style: disc !important;
    list-style-position: inside !important;
}

.note-editable ol {
    list-style: decimal !important;
    list-style-position: inside !important;
}

.note-editable ul li {
    list-style: inherit !important;
}

.note-editable ol li {
    list-style: inherit !important;
}

.white-space-nowrap {
    white-space: nowrap;
}

.swal2-popup #swal2-content {
    text-align: left !important;
}

.rtl .swal2-popup #swal2-content {
    text-align: right !important;
}

.text-decoration-line-through {
    text-decoration: line-through;
}


.file-folder-tree, .file-folder-tree ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.file-folder-tree ul {
    margin-left: 20px;
}

.file-folder-tree .folder-name {
    margin-top: 8px !important;
    margin-bottom: 8px !important;
}

.file-folder-tree li, .file-folder-tree .folder-name {
    margin: 0;
    padding: 0 5px;
    line-height: 20px;
    color: #369;
    font-weight: bold;
    position: relative;
}

.file-folder-tree li::before, .file-folder-tree li::after {
    content: '';
    position: absolute;
    left: -20px;
}

.file-folder-tree li::before {
    border-left: 1px solid #ccc;
    bottom: 50px;
    height: 100%;
    top: 0;
    width: 1px;
}

.file-folder-tree li::after {
    border-top: 1px solid #ccc;
    height: 20px;
    top: 10px;
    width: 25px;
}

.file-folder-tree li:last-child::before {
    height: 10px;
}

.file-folder-tree li:last-child::after {
    display: none;
}

.file-folder-tree input {
    margin-right: 5px;
}

table tbody tr:first-child th:first-child {
    border-top-left-radius: 12px;
    border-bottom-left-radius: 12px;
}

table tbody tr:first-child th:last-child {
    border-top-right-radius: 12px;
    border-bottom-right-radius: 12px;
}

.progress {
    height: 0.5rem !important;
}


.pb-3, .py-3 {
    padding-bottom: 3px !important;
}


.pt-3, .py-3 {
    padding-top: 3px !important;
}

.br-0 {
    border-radius: 0px !important;
}


.select2-container .select2-selection .select2-selection__arrow {
    top: 50%;
    transform: translateY(10%);
}


.badge-status-card {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    padding: 4px 8px 4px 8px;
    border-radius: 8px;
}


.btn.rounded-24 {
    border-radius: 24px !important;
}

.btn.rounded-16 {
    border-radius: 16px !important;
}

.bg-gray-border-60:before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: 0.6;
    z-index: 1;
    background-color: var(--gray-border) !important;
    border-radius: inherit;

}


.bg-gray-sidebar {
    background-color: var(--gray-sidebar) !important;
}


.bg-hover-gray-sidebar:hover {
    background-color: var(--gray-sidebar) !important;
}


.bg-gray-sidebar-10 {
    position: relative;
}

.bg-gray-sidebar-10 * {
    position: relative;
    z-index: 2;

}

.bg-gray-sidebar-10:before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: 0.1;
    z-index: 1;
    background-color: var(--gray-sidebar) !important;
    border-radius: inherit;

}


.bg-gray-sidebar-20 {
    position: relative;

}

.bg-gray-sidebar-20 * {
    position: relative;
    z-index: 2;

}

.bg-gray-sidebar-20:before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: 0.2;
    z-index: 1;
    background-color: var(--gray-sidebar) !important;
    border-radius: inherit;

}


.bg-gray-sidebar-30 {
    position: relative;
}

.bg-gray-sidebar-30 * {
    position: relative;
    z-index: 2;

}

.bg-gray-sidebar-30:before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: 0.3;
    z-index: 1;
    background-color: var(--gray-sidebar) !important;
    border-radius: inherit;

}


.bg-gray-sidebar-40 {
    position: relative;

}

.bg-gray-sidebar-40 * {
    position: relative;
    z-index: 2;

}

.bg-gray-sidebar-40:before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: 0.4;
    z-index: 1;
    background-color: var(--gray-sidebar) !important;
    border-radius: inherit;

}


.bg-gray-sidebar-50 {
    position: relative;
}

.bg-gray-sidebar-50 * {
    position: relative;
    z-index: 2;
}

.bg-gray-sidebar-50:before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: 0.5;
    z-index: 1;
    background-color: var(--gray-sidebar) !important;
    border-radius: inherit;

}

.bg-gray-sidebar-60 {
    position: relative;
}

.bg-gray-sidebar-60 * {
    position: relative;
    z-index: 2;

}

.bg-gray-sidebar-60:before {

    content: "";
    position: absolute;
    inset: 0;
    opacity: 0.6;
    z-index: 1;
    background-color: var(--gray-sidebar) !important;
    border-radius: inherit;

}

.bg-mid-gray {
    background-color: var(--mid-gray) !important;
}


.bg-hover-mid-gray:hover {
    background-color: var(--mid-gray) !important;
}

.bg-mid-gray-10 {
    position: relative;
}

.bg-mid-gray-10 * {

    position: relative;
    z-index: 2;

}

.bg-mid-gray-10:before {

    content: "";
    position: absolute;
    inset: 0;
    opacity: 0.1;
    z-index: 1;
    background-color: var(--mid-gray) !important;
    border-radius: inherit;
}

.bg-mid-gray-20 {
    position: relative;
}

.bg-mid-gray-20 * {
    position: relative;
    z-index: 2;
}

.bg-mid-gray-20:before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: 0.2;
    z-index: 1;
    background-color: var(--mid-gray) !important;
    border-radius: inherit;
}

.bg-mid-gray-30 {
    position: relative;
}

.bg-mid-gray-30 * {
    position: relative;
    z-index: 2;
}

.bg-mid-gray-30:before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: 0.3;
    z-index: 1;
    background-color: var(--mid-gray) !important;
    border-radius: inherit;
}


.bg-mid-gray-40 {
    position: relative;
}

.bg-mid-gray-40 * {
    position: relative;
    z-index: 2;
}

.bg-mid-gray-40:before {

    content: "";
    position: absolute;
    inset: 0;
    opacity: 0.4;
    z-index: 1;
    background-color: var(--mid-gray) !important;
    border-radius: inherit;

}

.bg-mid-gray-50 {
    position: relative;

}

.bg-mid-gray-50 * {
    position: relative;
    z-index: 2;
}

.bg-mid-gray-50:before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: 0.5;
    z-index: 1;
    background-color: var(--mid-gray) !important;
    border-radius: inherit;
}


.bg-mid-gray-60 {
    position: relative;
}

.bg-mid-gray-60 * {
    position: relative;
    z-index: 2;
}

.bg-mid-gray-60:before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: 0.6;
    z-index: 1;
    background-color: var(--mid-gray) !important;
    border-radius: inherit;
}

.border-right-gray-bg {
    border-right: 1px solid var(--gray);
}

.rtl .border-right-gray-bg {
    border-right: none !important;
    border-left: 1px solid var(--gray);
}

.border-color-gray-bg {
    border-color: var(--gray);
}


.border-left-gray-bg {
    border-left: 1px solid var(--gray);
}

.rtl .border-left-gray-bg {
    border-left: none !important;
    border-right: 1px solid var(--gray);

}

.border-color-gray-bg {
    border-color: var(--gray);
}

.border-bottom-gray-bg {
    border-bottom: 1px solid var(--gray);
}

.border-color-gray-bg {
    border-color: var(--gray);
}


.border-top-gray-bg {
    border-top: 1px solid var(--gray);
}

.border-color-gray-bg {
    border-color: var(--gray);
}

.border-gray-bg {
    border: 1px solid var(--gray);
}

.border-color-gray-bg {
    border-color: var(--gray);
}

.modal.show .modal-content {
    box-shadow: none !important;
    border-radius: 16px;
}

.btn-danger, .btn-danger.disabled {
    box-shadow: none;
    border-color: #fff;
}

.btn-secondary, .btn-secondary.disabled {
    box-shadow: none;
    border-color: #fff;
    background-color: #888;
}


.no-result .no-result-logo {
    position: relative;
    width: 400px;
    height: 300px;
}

.no-result .no-result-logo.logo-sm {
    width: 200px;
    height: 150px;
}

@media (max-width: 767px) {
    .no-result .no-result-logo {
        width: 200px;
        height: 150px;
    }

    .no-result .no-result-logo.logo-sm {
        width: 100px;
        height: 75px;
    }
}

.no-result.mt-0 {
    margin-top: 0 !important;
}

.avatar {
    background: none !important;

}

.border-0 {
    border: 0px !important;
}

.nav-pills .nav-item .nav-link.active {
    box-shadow: none;
}

.opacity-09 {
    opacity: 0.9;
}


.custom-control {
    position: relative;
    display: block;
    min-height: 1.3rem;
    padding-left: 34px;
}
.custom-control__label {
    position: relative;
    height: 26px;
    display: flex;
    align-items: center;
    padding-left: 8px;
    margin-bottom: 0;
    cursor: pointer;
}
.custom-control input[type=checkbox], .custom-control input[type=radio] {
    position: absolute;
    left: 0;
    z-index: -1;
    width: 26px;
    height: 26px;
    opacity: 0;
    box-sizing: border-box;
    padding: 0;
}
.custom-control input[type=checkbox]:checked ~ .custom-control__label:before, .custom-control input[type=checkbox]:not(:disabled):active ~ .custom-control__label:before {
    color: var(--primary-btn-color);
    background-color: var(--primary);
    border-color: var(--primary);
    box-shadow: none;
}
.custom-control input[type=checkbox]:checked ~ .custom-control__label::after, .custom-control input[type=checkbox]:not(:disabled):active ~ .custom-control__label::after {
    background-image: url('data:image/svg+xml,%3csvg width="11" height="8" viewBox="0 0 11 8" fill="none" xmlns="http://www.w3.org/2000/svg"%3e%3cpath d="M1 3.98476L3.85575 7L10 1" stroke="white" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/%3e %3c/svg%3e');
}
.custom-control input[type=radio]:checked ~ .custom-control__label::after, .custom-control input[type=radio]:not(:disabled):active ~ .custom-control__label::after {
    background-color: var(--primary);
}
.rtl .custom-control {
    padding-right: 34px;
    padding-left: 0;
}
.rtl .custom-control__label {
    padding-left: 0;
    padding-right: 8px;
}

.custom-checkbox .custom-control__label:before, .custom-checkbox .custom-control__label:after, .custom-radio .custom-control__label:before, .custom-radio .custom-control__label:after {
    content: "";
    position: absolute;
    top: -0.1rem;
    display: block;
    width: 26px;
    height: 26px;
    box-shadow: none;
    border-radius: 8px;
}
.custom-checkbox .custom-control__label:before, .custom-radio .custom-control__label:before {
    left: -32px;
    background-color: var(--white);
    border: 1px solid var(--gray-300);
    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.custom-checkbox .custom-control__label:after, .custom-radio .custom-control__label:after {
    left: -31px;
    background: no-repeat 50%/50% 50%;
}
.rtl .custom-checkbox .custom-control__label:before, .rtl .custom-radio .custom-control__label:before {
    left: auto;
    right: -30px;
}
.rtl .custom-checkbox .custom-control__label:after, .rtl .custom-radio .custom-control__label:after {
    left: auto;
    right: -29px;
}
.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control__label::before, .custom-radio .custom-control-input:disabled:checked ~ .custom-control__label::before {
    background-color: var(--gray-300) !important;
    border-color: var(--gray-300) !important;
}

.custom-radio .custom-control__label:before, .custom-radio .custom-control__label:after {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    top: 50%;
    transform: translateY(-50%);
}
.custom-radio .custom-control__label:before {
    left: -32px;
}
.custom-radio .custom-control__label:after {
    left: -27px;
    width: 11px;
    height: 11px;
}
.rtl .custom-radio .custom-control__label:before {
    left: auto;
    right: -30px;
}
.rtl .custom-radio .custom-control__label:after {
    left: auto;
    right: -29px;
}

.custom-file {
    position: relative;
}
.custom-file .custom-file-input {
    opacity: 0;
    visibility: hidden;
    position: absolute;
}
.custom-file .custom-file-label {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 50%;
    right: 6px;
    z-index: 1;
    height: 36px;
    padding: 8px 8px;
    color: var(--gray-500);
    background-color: var(--gray-300);
    border-radius: 8px;
    cursor: pointer;
    transform: translateY(-50%);
}
.rtl .custom-file .custom-file-label {
    right: auto;
    left: 6px;
}
.custom-file__clear {
    position: absolute;
    top: 12px;
    right: 54px;
    display: flex;
    color: var(--danger);
    cursor: pointer;
}

.custom-input-file input {
    opacity: 0;
    visibility: hidden;
    position: absolute;
}

.custom-input-button input {
    visibility: hidden;
    display: none;
}
.custom-input-button input:checked + label {
    border: solid 1px var(--primary) !important;
}
.custom-input-button label {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px 16px;
    background-color: var(--white);
    border: solid 1px var(--gray-200);
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.3s ease;
}
.custom-input-button label:hover {
    background-color: var(--gray-100) !important;
}
.custom-input-button-with-active-bg input:checked + label {
    background-color: var(--primary) !important;
    color: var(--white) !important;
}
.custom-input-button.with-active-text input:checked + label, .custom-input-button.with-active-text input:checked + label * {
    color: var(--primary) !important;
}
.custom-input-button-none-border-and-active-bg input:checked + label {
    background-color: var(--primary) !important;
    color: var(--white) !important;
}
.custom-input-button-none-border-and-active-bg label {
    border: none;
}

/* Shared admin header: navigation, page context, and account controls. */
/* Settings workspace: section navigation beside the existing editor. */
.main-wrapper .main-content.admin-settings-page {
    margin-top: 20px;
    padding-inline-start: 274px;
    padding-inline-end: 24px;
    padding-bottom: 24px;
}

body.sidebar-mini .main-wrapper .main-content.admin-settings-page {
    padding-inline-start: 89px;
}

.admin-settings-layout {
    display: grid;
    grid-template-columns: 208px minmax(0, 1fr);
    align-items: start;
    gap: 20px;
}

.admin-settings-nav {
    position: sticky;
    top: 84px;
    padding: 8px 0;
}

.admin-settings-nav__title {
    padding: 8px 14px 16px;
    font-size: 13px;
    color: var(--gray-500);
}

.admin-settings-nav__link {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 44px;
    padding: 10px 12px;
    border-inline-start: 3px solid transparent;
    border-radius: 8px;
    color: var(--dark);
    font-size: 14px;
    overflow-wrap: anywhere;
}

.admin-settings-nav__link .icons {
    flex-shrink: 0;
    color: var(--gray-500);
}

.admin-settings-nav__link:hover,
.admin-settings-nav__link.active {
    background: var(--white);
    color: var(--primary);
    text-decoration: none;
}

.admin-settings-nav__link.active {
    border-inline-start-color: var(--primary);
    font-weight: 600;
}

.admin-settings-nav__link.active .icons {
    color: var(--primary);
}

.admin-settings-nav__link:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
}

.admin-settings-content {
    min-width: 0;
    padding: 24px;
    background: var(--white);
    border: 1px solid var(--gray-200);
    border-radius: 12px;
}

.admin-settings-content .section-body > .row > .col-12 > .card {
    box-shadow: none;
    margin-bottom: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.admin-settings-content .section-body > .row > .col-12 > .card > .card-body {
    padding: 0 !important;
}

.admin-settings-content #basic > .row > .col-md-6 {
    flex-basis: 100%;
    max-width: 100%;
}

.admin-settings-content .section-body > .row > .col-12 > .card > .card-body > .nav {
    gap: 4px;
    padding-bottom: 16px;
    margin-bottom: 20px;
    border-bottom: 1px solid var(--gray-200);
}

.admin-settings-content .form-group {
    margin-bottom: 20px;
}

.admin-settings-content .form-group > label {
    margin-bottom: 8px;
    font-size: 13px;
    color: var(--dark);
}

.admin-settings-content .select2-container .select2-selection--single {
    box-sizing: border-box;
    height: 48px !important;
    padding: 0;
}

.admin-settings-content .select2-container--default .select2-selection--single .select2-selection__rendered {
    padding-inline: 12px 36px;
    line-height: 46px !important;
}

.admin-settings-content .select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 0 !important;
    right: 12px !important;
    height: 46px;
    transform: none;
}

.admin-settings-form,
.admin-settings-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px 24px;
}

.admin-settings-form .form-group {
    margin: 0;
    min-width: 0;
}

.admin-settings-form__wide {
    grid-column: 1 / -1;
}

.admin-settings-form fieldset {
    min-width: 0;
    padding: 20px 0 0;
    border-top: 1px solid var(--gray-200);
}

.admin-settings-form legend {
    grid-column: 1 / -1;
    margin: 0 0 16px;
    font-size: 14px;
    font-weight: 600;
    color: var(--dark);
}

.admin-settings-branding {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.admin-settings-options legend {
    margin: 0;
}

.admin-settings-actions {
    display: flex;
    justify-content: flex-end;
    padding-top: 20px;
    border-top: 1px solid var(--gray-200);
}

@media (max-width: 1199.98px) {
    .admin-settings-layout {
        grid-template-columns: 184px minmax(0, 1fr);
        gap: 16px;
    }

    .admin-settings-content {
        padding: 20px;
    }

    .admin-settings-branding {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 1024px) {
    .main-wrapper .main-content.admin-settings-page,
    body.sidebar-mini .main-wrapper .main-content.admin-settings-page {
        padding-inline: 16px;
    }
}

@media (max-width: 767.98px) {
    .admin-settings-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .admin-settings-nav {
        position: static;
        padding: 0;
    }

    .admin-settings-content {
        padding: 16px;
    }

    .admin-settings-form,
    .admin-settings-options {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Branding and Settings stay outside the scrolling navigation. */
/* Render-ready pages avoid aborted transitions when table scrollbars change the viewport. */
@view-transition {
    navigation: none;
}

.main-sidebar { view-transition-name: admin-sidebar; }
.admin-header { view-transition-name: admin-header; }

.main-wrapper .main-sidebar,
.main-wrapper .admin-header,
.main-wrapper .main-content {
    transition: none !important;
}

::view-transition-group(admin-sidebar),
::view-transition-group(admin-header),
::view-transition-old(admin-sidebar),
::view-transition-new(admin-sidebar),
::view-transition-old(admin-header),
::view-transition-new(admin-header) {
    animation: none;
}

::view-transition-old(admin-sidebar),
::view-transition-old(admin-header) { display: none; }

@media (prefers-reduced-motion: reduce) {
    ::view-transition-group(*),
    ::view-transition-old(*),
    ::view-transition-new(*) { animation: none !important; }
}

body:not(.sidebar-mini) .main-sidebar .sidebar-menu li.is-open > .dropdown-menu {
    display: block;
}

.main-sidebar .sidebar-menu li:not(.is-open) > a.has-dropdown:after {
    transform: translate(0, -50%);
}

.main-sidebar .sidebar-menu li.is-open > a.has-dropdown:after {
    transform: translate(0, -50%) rotate(90deg);
}

.main-wrapper .main-sidebar,
body.sidebar-mini .main-wrapper .main-sidebar {
    position: fixed;
    height: 100vh;
    height: 100dvh;
    overflow: hidden !important;
    z-index: 800;
}

.main-sidebar #sidebar-wrapper {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.main-sidebar .sidebar-brand {
    flex-shrink: 0;
}

.main-sidebar .sidebar-menu-scroll {
    flex: 1;
    min-height: 0;
    width: 100% !important;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.main-sidebar .sidebar-menu-footer {
    flex-shrink: 0;
    margin: 0;
    border-top: 1px solid var(--gray-200);
    background: var(--white);
}

/* Compact navigation keeps full-size targets without a wide native scroll rail. */
body.sidebar-mini .main-sidebar .sidebar-menu-scroll {
    overflow-x: hidden;
    scrollbar-width: thin;
    scrollbar-color: var(--gray-400) transparent;
}
body.sidebar-mini .main-sidebar .sidebar-menu-scroll::-webkit-scrollbar { width: 4px; }
body.sidebar-mini .main-sidebar .sidebar-menu-scroll::-webkit-scrollbar-thumb { background: var(--gray-400); border-radius: 4px; }
body.sidebar-mini .main-sidebar .sidebar-menu { width: 65px; }
body.sidebar-mini .main-sidebar .sidebar-menu > li { padding: 3px 10px; }
body.sidebar-mini .main-sidebar .sidebar-menu > li.menu-header { height: 1px; padding: 0; margin: 6px 20px; background: var(--gray-200); }
body.sidebar-mini .main-sidebar .sidebar-menu > li > a { height: 44px; width: 45px; gap: 0; border-radius: 10px; }
body.sidebar-mini .main-sidebar .sidebar-menu > li > a > .icons { flex-shrink: 0; width: 22px; height: 22px; margin: 0; }
body.sidebar-mini .main-sidebar .sidebar-menu > li.active > a { background: var(--gray-200); color: var(--primary); box-shadow: none; }
body.sidebar-mini .main-sidebar .sidebar-menu > li > a:hover,
body.sidebar-mini .main-sidebar .sidebar-menu > li > a:focus-visible { background: var(--gray-200); color: var(--primary); }
body.sidebar-mini .main-sidebar .sidebar-menu > li > a:focus-visible { outline: 2px solid var(--admin-focus, var(--primary)); outline-offset: -2px; }
body.sidebar-mini .main-sidebar .sidebar-menu > li > a .icons path { fill: currentColor; }
body.sidebar-mini .main-sidebar .sidebar-menu > li > .dropdown-menu { border: 1px solid var(--gray-300); border-radius: 10px; box-shadow: 0 8px 28px #163b2520; }
body.sidebar-mini .main-sidebar .sidebar-menu-footer { padding: 5px 0; }

/* Collapsed-menu flyouts escape the middle scroll area. */
body.sidebar-mini .main-wrapper .main-sidebar .sidebar-menu-scroll li > .dropdown-menu {
    position: fixed;
    max-height: calc(100dvh - 16px);
    overflow-y: auto;
}

body.sidebar-mini .main-sidebar .sidebar-menu-scroll li:focus-within > .dropdown-menu {
    display: block !important;
}

.main-wrapper .admin-header {
    position: sticky;
    inset: auto !important;
    top: 0 !important;
    margin-inline-start: 250px;
    width: calc(100% - 250px);
    height: auto;
    min-height: 64px;
    padding: 8px 28px;
    align-items: center;
    gap: 24px;
    z-index: 700;
}

body.sidebar-mini .admin-header {
    margin-inline-start: 65px;
    width: calc(100% - 65px);
}

.admin-header ~ .main-content {
    margin-top: 24px;
}

.admin-header__heading {
    flex: 1;
    min-width: 0;
    gap: 16px;
}

.admin-header__menu,
.admin-header__user-toggle {
    border: 0;
    padding: 0;
    background: transparent;
    color: var(--white);
}

.admin-header__menu {
    width: 44px;
    height: 44px;
    flex-shrink: 0;
    border-radius: 8px;
    cursor: pointer;
}

.admin-header__menu:hover,
.admin-header__user-toggle:hover {
    background: rgba(255, 255, 255, 0.12);
}

.admin-header button:focus-visible {
    outline: 2px solid var(--white);
    outline-offset: 4px;
}

.admin-header__page {
    min-width: 0;
    overflow-wrap: anywhere;
}

/* Promoted headings never paint as a second card; keep page-specific actions. */
.main-wrapper:has(> .admin-header) .main-content .section > .section-header > :is(h1, .section-header-breadcrumb) {
    display: none !important;
}
.main-wrapper:has(> .admin-header) .main-content .section > .section-header:has(> h1):not(:has(> :not(h1, .section-header-breadcrumb))) {
    display: none !important;
}

.admin-header__page h1 {
    margin: 0;
    font-size: 20px;
    line-height: 1.3;
    font-weight: 700;
    color: var(--white);
}

.admin-header__page .section-header-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    margin-top: 2px;
    font-size: 12px;
}

.admin-header__page .breadcrumb-item,
.admin-header__page .breadcrumb-item a,
.admin-header__page .breadcrumb-item::before {
    color: var(--white);
}

.admin-header__page .breadcrumb-item a:hover {
    text-decoration: underline;
}

.admin-header__actions {
    flex-shrink: 0;
    gap: 16px;
}

.admin-header__user-toggle {
    border-radius: 10px;
    text-align: start;
    min-height: 44px;
}

.admin-header__user-details {
    min-width: 0;
    max-width: 160px;
}

.admin-header .navbar-auth-user__avatar.is-panel-nav {
    width: 36px;
    min-width: 36px;
    height: 36px;
}

.admin-header .navbar-auth-user__info {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    line-height: 1.5;
}

.admin-header .navbar-auth-user:focus-within > .navbar-auth-user__dropdown {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
}

.admin-header .navbar-auth-user__dropdown {
    max-width: calc(100vw - 32px);
    overflow-wrap: anywhere;
}

.admin-header .navbar-auth-user__dropdown > div > div:last-child {
    min-width: 0;
}

.admin-header .language-select .language-dropdown {
    right: 0 !important;
    max-width: calc(100vw - 32px);
    overflow-wrap: anywhere;
}
.admin-header .js-language-select.is-open > .language-dropdown {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto;
    transform: none !important;
}
.admin-header .js-language-select:not(.is-open) > .language-dropdown { display: none !important; }
.admin-header .js-language-select .js-language-dropdown-item {
    display: block;
    width: 100%;
    border: 0;
    background: transparent;
    text-align: start;
    font: inherit;
}

@media (max-width: 1024px) {
    .main-wrapper .admin-header,
    body.sidebar-mini .admin-header {
        margin-inline-start: 0;
        width: 100%;
    }
}

@media (max-width: 767.98px) {
    .main-wrapper .admin-header {
        flex-wrap: wrap;
        padding: 8px 16px;
        gap: 8px;
    }

    .admin-header__heading {
        flex-basis: 100%;
        gap: 12px;
    }

    .admin-header__page h1 {
        font-size: 20px;
    }

    .admin-header__actions {
        width: 100%;
        gap: 12px;
    }

    .admin-header__user-details {
        max-width: 120px;
    }

    .admin-header .language-select {
        position: static !important;
    }

    .admin-header .language-select .language-dropdown {
        top: 100%;
        right: 16px !important;
        left: auto !important;
    }
}
