﻿:root {
    --bs-sidebar-menu-item-hover-color: #3700B3 !important;
    --bs-sidebar-menu-item-active-color: #3700B3 !important;
    --bs-menu-item-active-color: #3700B3 !important;
    --bs-link-hover-color: #3700B3 !important;
    --bs-sidebar-menu-item-hover-color: #3700B3 !important;
    --bs-primary: #3700B3 !important;
    --dx-color-primary: #3700B3 !important;
}

a {
    color: #3700B3;
}

    a:hover {
        color: rgb(55 0 179 / 92%);
    }

.form-check-input:checked {
    background-color: #3700B3;
    border-color: #3700B3;
}

.form-check-input:focus {
    border-color: rgb(55 0 179 / 92%);
    outline: 0;
    box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.30), 0px 1px 3px 1px rgba(0, 0, 0, 0.15) !important;
}

.form-control:focus {
    border-color: rgb(55 0 179 / 92%) !important;
    outline: 0 !important;
    box-shadow: 0 0 0 0.2rem rgba(55, 0, 179, 0.25) !important;
}

/* Override Bootstrap's form control focus styles */
.form-control:focus,
.form-select:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
input[type="password"]:focus,
input[type="date"]:focus,
input[type="time"]:focus,
input[type="search"]:focus,
textarea:focus,
select:focus {
    border-color: #3700B3 !important;
    outline: none !important;
    box-shadow: 0 0 0 0.2rem rgba(55, 0, 179, 0.25) !important;
}

/* Remove any red focus colors */
input:focus,
select:focus,
textarea:focus {
    border-color: #3700B3 !important;
}

/* Choices.js dropdown focus */
.choices.is-focused .choices__inner,
.choices__inner:focus {
    border-color: #3700B3 !important;
    box-shadow: 0 0 0 0.2rem rgba(55, 0, 179, 0.25) !important;
}

.choices__list--dropdown .choices__item--selectable.is-highlighted {
    background-color: #3700B3 !important;
}

.alert-primary {
    color: #2D0072;
    background-color: #E8D4FF;
    border-color: #D4B5FF;
}

    .alert-primary hr {
        border-top-color: #C19FFF;
    }

    .alert-primary .alert-link {
        color: #1A0044;
    }

.badge-primary {
    color: #fff;
    background-color: #3700B3;
}

    .badge-primary[href]:hover, .badge-primary[href]:focus {
        color: #fff;
        background-color: #2B009B;
    }

.bg-primary {
    background-color: #3700B321 !important;
}

a.bg-primary:hover, a.bg-primary:focus,
button.bg-primary:hover,
button.bg-primary:focus {
    background-color: #2B009B !important;
}

.border-primary {
    border-color: #3700B3 !important;
}

.btn-primary {
    color: #fff;
    background-color: #3700B3;
    border-color: #3700B3;
    -webkit-box-shadow: unset;
    box-shadow: unset;
}

    .btn-primary:hover {
        color: #fff;
        background-color: rgb(55 0 179 / 92%);
        box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.30), 0px 1px 3px 1px rgba(0, 0, 0, 0.15) !important;
    }

    .btn-primary:focus, .btn-primary.focus {
        background-color: rgb(55 0 179 / 88%);
        -webkit-box-shadow: unset;
        box-shadow: unset;
    }

    .btn-primary.disabled, .btn-primary:disabled {
        background: rgb(29 27 32 / 12%);
        border: unset;
        color: #191C21 !important;
    }

    .btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, .show > .btn-primary.dropdown-toggle {
        color: #fff;
        background-color: rgb(55 0 179 / 88%);
        border-color: #3700B3;
    }

        .btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus, .show > .btn-primary.dropdown-toggle:focus {
            background-color: rgb(55 0 179 / 88%);
            border-color: #3700B3;
            -webkit-box-shadow: unset;
            box-shadow: unset;
        }

.btn-outline-primary {
    color: #3700B3;
    background-color: transparent;
    border-color: #3700B3;
}

    .btn-outline-primary:hover {
        color: #fff;
        background-color: #3700B3;
        border-color: #3700B3;
    }

    .btn-outline-primary:focus, .btn-outline-primary.focus {
        box-shadow: 0 0 0 0.2rem rgba(55, 0, 179, 0.5);
    }

    .btn-outline-primary.disabled, .btn-outline-primary:disabled {
        color: #3700B3;
        background-color: transparent;
    }

    .btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active, .show > .btn-outline-primary.dropdown-toggle {
        color: #fff;
        background-color: #3700B3;
        border-color: #3700B3;
    }

        .btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-primary.dropdown-toggle:focus {
            box-shadow: 0 0 0 0.2rem rgba(55, 0, 179, 0.5);
        }

.list-group-item-primary {
    color: #2D0072;
    background-color: #E8D4FF;
}

    .list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {
        color: #2D0072;
        background-color: #D4B5FF;
    }

    .list-group-item-primary.list-group-item-action.active {
        color: #fff;
        background-color: #2D0072;
        border-color: #2D0072;
    }

.table-primary,
.table-primary > th,
.table-primary > td {
    background-color: #E8D4FF;
}

.table-hover .table-primary:hover {
    background-color: #D4B5FF;
}

    .table-hover .table-primary:hover > td,
    .table-hover .table-primary:hover > th {
        background-color: #D4B5FF;
    }

.text-primary {
    color: #3700B3 !important;
}

a.text-primary:hover, a.text-primary:focus {
    color: #2B009B !important;
}




.lds-spinner,
.lds-spinner div,
.lds-spinner div:after {
    box-sizing: border-box;
}

.lds-spinner {
    color: currentColor;
    display: inline-block;
    position: relative;
    width: 80px;
    height: 80px;
    z-index: 1099;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

    .lds-spinner div {
        transform-origin: 40px 40px;
        animation: lds-spinner 1.2s linear infinite;
    }

        .lds-spinner div:after {
            content: " ";
            display: block;
            position: absolute;
            top: 3.2px;
            left: 36.8px;
            width: 6.4px;
            height: 17.6px;
            border-radius: 20%;
            background: currentColor;
        }

        .lds-spinner div:nth-child(1) {
            transform: rotate(0deg);
            animation-delay: -1.1s;
        }

        .lds-spinner div:nth-child(2) {
            transform: rotate(30deg);
            animation-delay: -1s;
        }

        .lds-spinner div:nth-child(3) {
            transform: rotate(60deg);
            animation-delay: -0.9s;
        }

        .lds-spinner div:nth-child(4) {
            transform: rotate(90deg);
            animation-delay: -0.8s;
        }

        .lds-spinner div:nth-child(5) {
            transform: rotate(120deg);
            animation-delay: -0.7s;
        }

        .lds-spinner div:nth-child(6) {
            transform: rotate(150deg);
            animation-delay: -0.6s;
        }

        .lds-spinner div:nth-child(7) {
            transform: rotate(180deg);
            animation-delay: -0.5s;
        }

        .lds-spinner div:nth-child(8) {
            transform: rotate(210deg);
            animation-delay: -0.4s;
        }

        .lds-spinner div:nth-child(9) {
            transform: rotate(240deg);
            animation-delay: -0.3s;
        }

        .lds-spinner div:nth-child(10) {
            transform: rotate(270deg);
            animation-delay: -0.2s;
        }

        .lds-spinner div:nth-child(11) {
            transform: rotate(300deg);
            animation-delay: -0.1s;
        }

        .lds-spinner div:nth-child(12) {
            transform: rotate(330deg);
            animation-delay: 0s;
        }

@keyframes lds-spinner {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}



:root[dir="ltr"] {
    --bs-font-sans-serif: Roboto,RobotoFallback,"Noto Kufi Arabic",Helvetica,Arial,sans-serif;
}

:root[dir="rtl"] {
    --bs-font-sans-serif: Roboto,RobotoFallback,"Noto Kufi Arabic",Helvetica,Arial,sans-serif;
}

.hidden {
    display: none !important;
}

[dir="rtl"] .input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3), .input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control, .input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select, .input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating) {
    border-top-right-radius: var(--bs-border-radius);
    border-bottom-right-radius: var(--bs-border-radius);
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

[dir="rtl"] .input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-top-left-radius: var(--bs-border-radius);
    border-bottom-left-radius: var(--bs-border-radius);
}

.form-group label.error {
    display: none !important;
}

[dir="rtl"] #logout-btn {
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    transform: rotate(180deg);
}

[dir="rtl"] .breadcrumb-item + .breadcrumb-item::before {
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    transform: rotate(180deg);
    padding-right: var(--bs-breadcrumb-item-padding-x);
    padding-left: unset;
}


#success-alert {
    display: none;
}

#error-alert {
    display: none;
}

#warning-alert {
    display: none;
}

label.error {
    color: #D32F2F;
}

label.warning {
    color: #F57C00;
}

.alert-container {
    position: fixed;
    top: 5px;
    z-index: 1999;
    right: 5px;
    width: 300px;
}


.alert-success {
    min-height: 60px;
    color: #2E7D32;
    background-color: #C8E6C9;
    border-color: #A5D6A7;
}

.alert-danger {
    min-height: 60px;
    color: #C62828;
    background-color: #FFCDD2;
    border-color: #EF9A9A;
}

.alert-warning {
    min-height: 60px;
    color: #F57C00;
    background-color: #FFE0B2;
    border-color: #FFCC80;
}

.font-bold {
    font-weight: bold;
}

/*[dir="rtl"] .dx-loadindicator-icon {
    direction: rtl !important;
}
*/

.popup-buttons {
    margin: auto;
    bottom: 0;
    width: 100%;
    margin-top: 22px;
    text-align: center;
    display: flex;
    justify-content: space-evenly;
    align-items: flex-end;
    position: fixed;
    bottom: 22px;
}

    .popup-buttons div.dx-button {
        min-width: 100px;
    }

.custom-popup-buttons {
    margin: auto;
    bottom: 0;
    width: 100%;
    margin-top: 22px;
    text-align: center;
    display: flex;
    justify-content: space-evenly;
    align-items: flex-end;
    bottom: 22px;
}

    .custom-popup-buttons div.dx-button {
        min-width: 100px;
    }

.dashboard-box {
    flex: 0 0 calc(20%);
}

@media screen and (max-width: 768px) {
    .dashboard-box {
        flex: 0 0 calc(50%) !important;
    }
}


.dashboard-single-card {
    cursor: pointer;
    border-radius: var(--bs-card-border-radius);
}

    .dashboard-single-card:hover {
        background-color: var(--bs-sidebar-bg);
    }


.latest-order-table {
    width: 100%;
    border-collapse: collapse;
}

    .latest-order-table thead th, td {
        padding: 10px;
        text-align: start;
    }

/* Table container to enable scroll */
.latest-orders-table-container {
    max-height: 300px; /* Adjust height as needed */
    overflow-y: auto;
}

/* Fixed header */
.latest-order-table thead th {
    position: sticky;
    top: 0;
    background: #f1f1f1; /* Adjust background color */
    z-index: 1; /* Ensure the header is above the body */
}

.latest-order-table tbody tr {
    border-bottom: 1px solid #ddd;
}

    .latest-order-table tbody tr:nth-child(odd) {
        background-color: var(--bs-sidebar-bg);
    }

    .latest-order-table tbody tr:nth-child(even) {
        background-color: #ffffff; /* White */
    }

#details-order-number {
    margin-right: 8px;
    margin-left: 8px;
}

#download-pdf-div {
    position: relative;
    top: -8px;
    margin-left: 10px;
    margin-right: 10px;
}

#history-btn-div {
    position: relative;
    top: -8px;
}

    #history-btn-div i {
        font-size: 28px;
        cursor: pointer;
    }

#download-pdf-img {
    width: 32px;
    cursor: pointer;
}


#vertical-menu-btn {
    margin: auto;
}

#client-options-icon {
    font-size: 24px;
    margin-top: -2px;
}

[dir="rtl"] .dx-datagrid-sticky-column-right.dx-group-cell {
    left: unset !important;
}

body {
    height: 100%;
}

#layout-wrapper {
    height: 100%;
}

.main-content {
    height: 100%;
}

.page-content {
    height: 100%;
}

.pac-container {
    z-index: 9999 !important;
}

#add-contact-div {
    display: inline-flex;
    width: 100%;
    justify-content: space-between;
}

    #add-contact-div h5 {
        margin: auto 0;
    }

.cursor-p {
    cursor: pointer !important;
}


.attribute-file-main-div {
    text-align: center;
    border: 1px dashed #c5c5cb;
    border-radius: var(--bs-border-radius);
    min-height: 78px;
}

.attribute-upload-file-progress-bar {
    direction: ltr;
    height: 12px;
}


.btn-min-width-100 {
    min-width: 100px;
}

.dropdown-menu .divider {
    overflow: hidden;
    border-bottom: 1px solid var(--bs-border-color);
    line-height: 20px;
}


/*.dx-scrollable-content {
    padding-bottom: 24px;
}*/

.datagrid-master-details-div {
    border: 1px solid #3700B3;
    padding: 12px !important;
    border-radius: 2px;
}

.product-rounder-image {
    border: 1px solid #e9e9ef;
    max-height: 100px;
}

tr.dx-row.dx-data-row.dx-column-lines td {
    vertical-align: middle;
}

.product-uom-title-hint {
    font-size: 12px;
    color: #C62828;
}

[dir="rtl"] .property-text-input-en {
    margin-left: 12px;
}

[dir="rtl"] .property-text-input-ar {
    margin-right: 12px;
}

[dir="ltr"] .property-text-input-en {
    margin-right: 12px;
}

[dir="ltr"] .property-text-input-ar {
    margin-left: 12px;
}

.main-product-image-icon {
    position: absolute;
    color: #2E7D32;
    font-size: 18px;
    bottom: 0px;
}

.delete-product-image-icon {
    position: absolute;
    color: #C62828;
    font-size: 18px;
    top: -10px;
    left: 0;
    cursor: pointer;
}

.hover-image-card:hover {
    box-shadow: 0px 0px 0px 2px #e9e9ef;
}

.image-remove-icon-i {
    color: #C62828;
    font-size: 20px;
}

#images-preview-div {
    overflow: auto;
}

.image-card-div {
    justify-content: space-between;
    height: 100%;
}

    .image-card-div a {
        max-height: 300px;
    }

.image-progress-div {
    height: 32px;
}

.maxh-100 {
    max-height: 100%;
}

.refresh-data-btn {
    margin-right: 12px;
    margin-left: 12px;
}

.small-icon-div {
    height: fit-content;
}

[dir="rtl"] #mobile-alert-div div {
    padding-left: 8px;
    min-height: 30px;
    font-size: 12px;
}

[dir="ltr"] #mobile-alert-div div {
    padding-right: 8px;
    min-height: 30px;
    font-size: 12px;
}

.product-details-img {
    max-height: 60px;
    max-width: 100px;
}

.order-details-action-buttons {
    min-width: 100px;
    text-align: center !important;
}

.order-details-action-hsitory-div {
    overflow-y: auto;
    max-height: 300px;
}

.order-details-remove-row-border {
    border: none !important;
}

    .order-details-remove-row-border td {
        border: none !important;
    }

.order-details-attribute-row td {
    padding-top: 1px !important;
    padding-right: 0.75rem;
    padding-left: 0.75rem;
}

.order-attributes-accordion-button {
    background: unset !important;
}

    .order-attributes-accordion-button:focus {
        box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color) !important;
    }

.no-border {
    border: unset !important;
}

.margin-auto {
    margin: auto !important;
}

.user-list-image {
    width: 60px;
    height: 60px;
    cursor: pointer;
    border: 1px solid #e9e9ef;
}

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

[dir="rtl"] .apexcharts-tooltip {
    direction: rtl !important;
}

    [dir="rtl"] .apexcharts-tooltip .apexcharts-tooltip-series-group {
        direction: rtl !important;
        justify-content: flex-start;
    }

        [dir="rtl"] .apexcharts-tooltip .apexcharts-tooltip-series-group .apexcharts-tooltip-marker {
            margin-left: 10px;
            margin-right: unset;
        }


.min-height-300 {
    min-height: 407px;
}


.text-success {
    color: #1B5E20 !important;
}

.text-warning {
    color: #F57C00 !important;
}

.text-danger {
    color: #C62828 !important;
}

.btn-success {
    --bs-btn-bg: #2E7D32;
    --bs-btn-border-color: #2E7D32;
    --bs-btn-hover-bg: #1B5E20;
    --bs-btn-hover-border-color: #1B5E20;
}

.dashboard-no-data-found {
    text-align: center;
    margin: auto;
    height: 100%;
    position: relative;
    top: 80px;
    color: #333;
    opacity: .7;
}

.form-select:focus {
    border-color: rgb(55 0 179 / 92%);
    box-shadow: unset;
}


.report-filter-btn-div {
    padding-top: 12px;
}

.active-device {
    background: #2E7D32;
    color: #fff;
}

    .active-device:hover {
        box-shadow: 0px 0px 0px 2px #e9e9ef;
    }

.nearly-expire-device {
    background: #FF9800;
    color: #fff;
}

    .nearly-expire-device:hover {
        box-shadow: 0px 0px 0px 2px #e9e9ef;
    }

.expired-device {
    background: #C62828;
    color: #fff;
}

    .expired-device:hover {
        box-shadow: 0px 0px 0px 2px #e9e9ef;
    }

.blocked-device {
    background: #B71C1C;
    color: #fff;
}

    .blocked-device:hover {
        box-shadow: 0px 0px 0px 2px #e9e9ef;
    }


.all-device {
    background: #3700B3;
}

    .all-device:hover {
        box-shadow: 0px 0px 0px 2px #e9e9ef;
    }


.pending-device {
    background: #757575;
    color: #fff;
}

    .pending-device:hover {
        box-shadow: 0px 0px 0px 2px #e9e9ef;
    }


[dir="rtl"] .dx-list-search.dx-searchbox .dx-placeholder::before {
    padding-top: 3px !important;
}

[dir="rtl"] .dx-searchbox.dx-editor-filled .dx-placeholder::before {
    padding-top: 3px !important;
}

.form-buttons {
    min-height: 38px !important;
    min-width: 100px !important;
}

    .form-buttons .dx-button-content .dx-button-text {
        text-transform: none;
    }

.dx-popup-content .dx-scrollable .dx-scrollable-wrapper .dx-scrollable-container .dx-scrollable-content {
    width: 100%;
}


.client-list-score {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
}

    .client-list-score .score-badge {
        min-width: 45px;
        height: 22px;
    }

    .client-list-score .badge-score-title {
        min-width: 80px;
        height: 22px;
    }

.client-list-score-title-span {
    position: relative;
    top: 2px;
    font-weight: 600;
}

[dir="ltr"] .client-list-score .score-badge {
    margin-right: 5px;
}

[dir="rtl"] .client-list-score .score-badge {
    margin-left: 5px;
}

/* Additional Button Styles */
.btn-danger {
    --bs-btn-bg: #C62828;
    --bs-btn-border-color: #C62828;
    --bs-btn-hover-bg: #B71C1C;
    --bs-btn-hover-border-color: #B71C1C;
    --bs-btn-active-bg: #B71C1C;
    --bs-btn-active-border-color: #B71C1C;
    color: #fff;
}

.btn-warning {
    --bs-btn-bg: #F57C00;
    --bs-btn-border-color: #F57C00;
    --bs-btn-hover-bg: #E65100;
    --bs-btn-hover-border-color: #E65100;
    --bs-btn-active-bg: #E65100;
    --bs-btn-active-border-color: #E65100;
    color: #fff;
}

.btn-info {
    --bs-btn-bg: #0288D1;
    --bs-btn-border-color: #0288D1;
    --bs-btn-hover-bg: #0277BD;
    --bs-btn-hover-border-color: #0277BD;
    --bs-btn-active-bg: #0277BD;
    --bs-btn-active-border-color: #0277BD;
    color: #fff;
}

/* Button Outline Variants */
.btn-outline-danger {
    color: #C62828;
    border-color: #C62828;
}
.btn-outline-danger:hover {
    background-color: #C62828;
    border-color: #C62828;
    color: #fff;
}

.btn-outline-warning {
    color: #F57C00;
    border-color: #F57C00;
}
.btn-outline-warning:hover {
    background-color: #F57C00;
    border-color: #F57C00;
    color: #fff;
}

.btn-outline-info {
    color: #0288D1;
    border-color: #0288D1;
}
.btn-outline-info:hover {
    background-color: #0288D1;
    border-color: #0288D1;
    color: #fff;
}

/* Text color utilities */
.text-info {
    color: #0288D1 !important;
}

/* Badge variants */
.badge-danger, .bg-danger {
    background-color: #C62828 !important;
    color: #fff;
}

.badge-warning, .bg-warning {
    background-color: #F57C00 !important;
    color: #fff;
}

.badge-info, .bg-info {
    background-color: #0288D1 !important;
    color: #fff;
}

.badge-success, .bg-success {
    background-color: #2E7D32 !important;
    color: #fff;
}

/* Link color override */
.link-primary {
    color: #3700B3 !important;
}
.link-primary:hover {
    color: #2B009B !important;
}

/* Icon colors */
.text-primary i {
    color: #3700B3 !important;
}

.text-danger i {
    color: #C62828 !important;
}

.text-success i {
    color: #2E7D32 !important;
}

.text-warning i {
    color: #F57C00 !important;
}

.text-info i {
    color: #0288D1 !important;
}

/* DevExtreme Component Overrides */
.dx-button-mode-contained.dx-button-default {
    background-color: #3700B3 !important;
    color: #fff !important;
}

.dx-button-mode-contained.dx-button-default:hover {
    background-color: #2B009B !important;
}

.dx-button-mode-contained.dx-button-default.dx-state-hover {
    background-color: #2B009B !important;
}

.dx-button-mode-contained.dx-button-default.dx-state-active {
    background-color: #2B009B !important;
}

.dx-button-mode-outlined.dx-button-default {
    border-color: #3700B3 !important;
    color: #3700B3 !important;
}

.dx-button-mode-outlined.dx-button-default:hover {
    background-color: #3700B3 !important;
    color: #fff !important;
}

.dx-button-mode-text.dx-button-default {
    color: #3700B3 !important;
}

/* DevExtreme Form Elements */
.dx-textbox.dx-state-hover .dx-texteditor-input,
.dx-textbox.dx-state-hover .dx-texteditor-container {
    border-color: #3700B3 !important;
}

.dx-textbox.dx-state-focused .dx-texteditor-input,
.dx-textbox.dx-state-focused .dx-texteditor-container {
    border-color: #3700B3 !important;
}

.dx-checkbox-checked .dx-checkbox-icon {
    background-color: #3700B3 !important;
    border-color: #3700B3 !important;
}

.dx-radiobutton-checked .dx-radiobutton-icon-dot {
    background-color: #3700B3 !important;
}

.dx-radiobutton-checked .dx-radiobutton-icon {
    border-color: #3700B3 !important;
}

/* DevExtreme Links */
.dx-link {
    color: #3700B3 !important;
}

.dx-link:hover {
    color: #2B009B !important;
}

/* DevExtreme Selection */
.dx-selection {
    background-color: rgba(55, 0, 179, 0.1) !important;
}

/* DevExtreme Success/Error States */
.dx-button-mode-contained.dx-button-success {
    background-color: #2E7D32 !important;
}

.dx-button-mode-contained.dx-button-danger {
    background-color: #C62828 !important;
}

.dx-button-mode-contained.dx-button-warning {
    background-color: #F57C00 !important;
}

/* Override any remaining primary references */
[class*="primary"] {
    --primary-color: #3700B3;
}

/* Material Design Icons color overrides */
.mdi-calendar-clock,
.mdi-map-marker {
    color: #3700B3 !important;
}

/* Event page specific overrides */
.event-detail .mdi {
    color: #3700B3 !important;
}

/* Success/Error/Warning icons */
.mdi-check-circle.success-icon {
    color: #2E7D32 !important;
}

.mdi-close-circle.error-icon {
    color: #C62828 !important;
}

/* Attendance button icons */
.attendance-btn .mdi {
    color: currentColor;
}

/* Override any blue icons */
i[class*="mdi"] {
    color: inherit;
}

/* Specific overrides for common blue icons */
.text-primary .mdi,
.btn-primary .mdi,
.bg-primary .mdi {
    color: #fff !important;
}

/* Bootstrap validation state overrides */
.was-validated .form-control:valid:focus,
.form-control.is-valid:focus,
.was-validated .form-select:valid:focus,
.form-select.is-valid:focus {
    border-color: #2E7D32 !important;
    box-shadow: 0 0 0 0.2rem rgba(46, 125, 50, 0.25) !important;
}

.was-validated .form-control:invalid:focus,
.form-control.is-invalid:focus,
.was-validated .form-select:invalid:focus,
.form-select.is-invalid:focus {
    border-color: #C62828 !important;
    box-shadow: 0 0 0 0.2rem rgba(198, 40, 40, 0.25) !important;
}

/* Override any Bootstrap red focus for required fields */
.form-control:required:focus,
.form-select:required:focus {
    border-color: #3700B3 !important;
    box-shadow: 0 0 0 0.2rem rgba(55, 0, 179, 0.25) !important;
}

/* Override Bootstrap's default focus transition */
.form-control,
.form-select {
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

/* Make sure OTP input also uses purple focus */
.otp-input:focus {
    border-color: #3700B3 !important;
    box-shadow: 0 0 0 0.2rem rgba(55, 0, 179, 0.25) !important;
}

/* Country select dropdown focus */
#countrySelect:focus,
.country-select:focus {
    border-color: #3700B3 !important;
    box-shadow: 0 0 0 0.2rem rgba(55, 0, 179, 0.25) !important;
}
