:root {
    --app-bg: #f5f8ff;
    --app-surface: rgba(255, 255, 255, 0.94);
    --app-surface-strong: #ffffff;
    --app-border: rgba(15, 23, 42, 0.08);
    --app-text: #0f172a;
    --app-text-muted: #64748b;
    --app-primary: #1B9EDB;
    --app-secondary: #80DE00;
    --app-primary-strong: #1685B9;
    --app-primary-soft: #D9F2FC;
    --app-accent: #0ea5e9;
    --app-accent-soft: #e0f2fe;
    --app-success: #16a34a;
    --app-warning: #f59e0b;
    --app-danger: #ef4444;
    --app-shadow: 0 16px 40px rgba(27, 158, 219, 0.08);
    --app-shadow-soft: 0 8px 22px rgba(27, 158, 219, 0.06);
    --app-radius-card: 22px;
    --app-radius-control: 14px;
    --mdb-body-font-size: 14px !important;
    --mdb-body-color: var(--app-text) !important;
    --mdb-primary: var(--app-primary) !important;
    --mdb-primary-dark: var(--app-primary-strong) !important;
    --mdb-primary-light: var(--app-primary-soft) !important;
    --mdb-secondary: var(--app-secondary) !important;
    --mdb-dark: #0f172a !important;
    --mdb-light: #f8fafc !important;
    --mdb-success: var(--app-success) !important;
    --mdb-info: var(--app-accent) !important;
    --mdb-warning: var(--app-warning) !important;
    --mdb-danger: var(--app-danger) !important;
}

.cbg-pattern-2 {
    background-color: #1B9EDB;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 2000 1500'%3E%3Cdefs%3E%3CradialGradient id='a' gradientUnits='objectBoundingBox'%3E%3Cstop offset='0' stop-color='%231685B9'/%3E%3Cstop offset='1' stop-color='%231B9EDB'/%3E%3C/radialGradient%3E%3ClinearGradient id='b' gradientUnits='userSpaceOnUse' x1='0' y1='750' x2='1550' y2='750'%3E%3Cstop offset='0' stop-color='%231992ca'/%3E%3Cstop offset='1' stop-color='%231B9EDB'/%3E%3C/linearGradient%3E%3Cpath id='s' fill='url(%23b)' d='M1549.2 51.6c-5.4 99.1-20.2 197.6-44.2 293.6c-24.1 96-57.4 189.4-99.3 278.6c-41.9 89.2-92.4 174.1-150.3 253.3c-58 79.2-123.4 152.6-195.1 219c-71.7 66.4-149.6 125.8-232.2 177.2c-82.7 51.4-170.1 94.7-260.7 129.1c-90.6 34.4-184.4 60-279.5 76.3C192.6 1495 96.1 1502 0 1500c96.1-2.1 191.8-13.3 285.4-33.6c93.6-20.2 185-49.5 272.5-87.2c87.6-37.7 171.3-83.8 249.6-137.3c78.4-53.5 151.5-114.5 217.9-181.7c66.5-67.2 126.4-140.7 178.6-218.9c52.3-78.3 96.9-161.4 133-247.9c36.1-86.5 63.8-176.2 82.6-267.6c18.8-91.4 28.6-184.4 29.6-277.4c0.3-27.6 23.2-48.7 50.8-48.4s49.5 21.8 49.2 49.5c0 0.7 0 1.3-0.1 2L1549.2 51.6z'/%3E%3Cg id='g'%3E%3Cuse href='%23s' transform='scale(0.12) rotate(60)'/%3E%3Cuse href='%23s' transform='scale(0.2) rotate(10)'/%3E%3Cuse href='%23s' transform='scale(0.25) rotate(40)'/%3E%3Cuse href='%23s' transform='scale(0.3) rotate(-20)'/%3E%3Cuse href='%23s' transform='scale(0.4) rotate(-30)'/%3E%3Cuse href='%23s' transform='scale(0.5) rotate(20)'/%3E%3Cuse href='%23s' transform='scale(0.6) rotate(60)'/%3E%3Cuse href='%23s' transform='scale(0.7) rotate(10)'/%3E%3Cuse href='%23s' transform='scale(0.835) rotate(-40)'/%3E%3Cuse href='%23s' transform='scale(0.9) rotate(40)'/%3E%3Cuse href='%23s' transform='scale(1.05) rotate(25)'/%3E%3Cuse href='%23s' transform='scale(1.2) rotate(8)'/%3E%3Cuse href='%23s' transform='scale(1.333) rotate(-60)'/%3E%3Cuse href='%23s' transform='scale(1.45) rotate(-30)'/%3E%3Cuse href='%23s' transform='scale(1.6) rotate(10)'/%3E%3C/g%3E%3C/defs%3E%3Cg transform='rotate(0 0 0)'%3E%3Cg transform='rotate(0 0 0)'%3E%3Ccircle fill='url(%23a)' r='3000'/%3E%3Cg opacity='0.5'%3E%3Ccircle fill='url(%23a)' r='2000'/%3E%3Ccircle fill='url(%23a)' r='1800'/%3E%3Ccircle fill='url(%23a)' r='1700'/%3E%3Ccircle fill='url(%23a)' r='1651'/%3E%3Ccircle fill='url(%23a)' r='1450'/%3E%3Ccircle fill='url(%23a)' r='1250'/%3E%3Ccircle fill='url(%23a)' r='1175'/%3E%3Ccircle fill='url(%23a)' r='900'/%3E%3Ccircle fill='url(%23a)' r='750'/%3E%3Ccircle fill='url(%23a)' r='500'/%3E%3Ccircle fill='url(%23a)' r='380'/%3E%3Ccircle fill='url(%23a)' r='250'/%3E%3C/g%3E%3Cg transform='rotate(0 0 0)'%3E%3Cuse href='%23g' transform='rotate(10)'/%3E%3Cuse href='%23g' transform='rotate(120)'/%3E%3Cuse href='%23g' transform='rotate(240)'/%3E%3C/g%3E%3Ccircle fill-opacity='0.1' fill='url(%23a)' r='3000'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
    background-attachment: fixed;
    background-size: cover;
    background-position: center;
}

body {
    font-family: 'Plus Jakarta Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: 14px;
    color: var(--app-text);
    background:
        radial-gradient(circle at top left, rgba(27, 158, 219, 0.12), transparent 28%),
        radial-gradient(circle at top right, rgba(14, 165, 233, 0.10), transparent 24%),
        linear-gradient(180deg, #fbfdff 0%, var(--app-bg) 100%);
    background-attachment: fixed;
}

a {
    color: var(--app-primary);
}
a:hover {
    color: var(--app-primary-hover);
}

.text-muted,
small.text-muted,
.form-text,
.help-text {
    color: var(--app-text-muted) !important;
}

.btn-primary {
    --mdb-btn-bg: var(--app-primary);
    --mdb-btn-color: #fff;
    --mdb-btn-hover-bg: #1685B9;
    --mdb-btn-hover-color: #fff;
    --mdb-btn-focus-bg: #1685B9;
    --mdb-btn-focus-color: #fff;
    --mdb-btn-active-bg: var(--app-primary-strong);
    --mdb-btn-active-color: #fff;
    --mdb-btn-box-shadow: 0 10px 20px rgba(27, 158, 219, 0.18);
    --mdb-btn-box-shadow-state: 0 14px 24px rgba(27, 158, 219, 0.22);
}

.btn-outline-primary {
    --mdb-btn-color: var(--app-primary);
    --mdb-btn-border-color: rgba(27, 158, 219, 0.24);
    --mdb-btn-hover-bg: rgba(27, 158, 219, 0.12);
    --mdb-btn-hover-color: var(--app-primary);
    --mdb-btn-focus-bg: rgba(27, 158, 219, 0.12);
    --mdb-btn-focus-color: var(--app-primary);
    --mdb-btn-active-bg: rgba(27, 158, 219, 0.12);
    --mdb-btn-active-color: var(--app-primary);
    --mdb-btn-outline-border-color: var(--app-primary);
    --mdb-btn-outline-focus-border-color: var(--app-primary);
    --mdb-btn-outline-hover-border-color: var(--app-primary);
    border-color: var(--mdb-btn-outline-border-color);
}

.card,
.modal-content,
.dropdown-menu,
.toast,
.alert,
.table,
.form-control,
.form-select,
.input-group-text,
.breadcrumb {
    border-radius: var(--app-radius-card);
}

.settings-toast-container {
    position: fixed;
    top: 84px;
    right: 1rem;
    z-index: 1080;
    width: min(22rem, calc(100vw - 2rem));
    pointer-events: none;
}

.settings-toast {
    display: flex;
    gap: .75rem;
    align-items: flex-start;
    padding: .85rem 1rem;
    margin-bottom: .65rem;
    color: #fff;
    border-radius: .75rem;
    box-shadow: 0 .5rem 1.25rem rgba(15, 23, 42, .18);
    animation: settings-toast-in .2s ease-out;
    opacity: 1;
    transform: translateY(0);
    transition: opacity .18s ease, transform .18s ease;
}

.settings-toast.is-success { background: #198754; }
.settings-toast.is-error { background: #dc3545; }
.settings-toast.is-hiding { opacity: 0; transform: translateY(-.35rem); }
.settings-toast-title { font-weight: 700; }
.settings-toast-message { margin-top: .15rem; font-size: .9rem; line-height: 1.35; }

@keyframes settings-toast-in {
    from { opacity: 0; transform: translateY(-.5rem); }
    to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 575.98px) {
    .settings-toast-container { top: 72px; right: .75rem; left: .75rem; width: auto; }
}

.card {
    border: 1px solid var(--app-border);
    background: var(--app-surface);
    box-shadow: var(--app-shadow);
}

.card-body {
    padding: 1.25rem;
}

.navbar,
#main-navbar {
    background: rgba(255, 255, 255, 0.84) !important;
    backdrop-filter: blur(16px);
    box-shadow: 0 8px 24px rgba(27, 158, 219, 0.05) !important;
    border-bottom: 1px solid var(--app-border);
}

#main-navbar .btn,
#main-navbar .dropdown-toggle {
    box-shadow: none;
}

.mobile-bottom-nav {
    display: none;
}

.mobile-navbar-brand {
    display: none;
}

.user-menu-initials,
.mobile-language-menu,
.notification-badge {
    display: none;
}

.notification-toggle {
    position: relative;
    font-size: 14px;
}

.notification-badge {
    position: absolute;
    top: -0.15rem;
    right: -0.15rem;
    min-width: 1.1rem;
    height: 1.1rem;
    padding: 0 0.2rem;
    border-radius: 999px;
    background: var(--app-danger);
    color: #fff;
    font-size: 0.62rem;
    font-weight: 700;
    line-height: 1.1rem;
    text-align: center;
}

.notification-badge:not(.d-none) {
    display: block;
}

.notification-menu {
    width: min(23rem, calc(100vw - 2rem));
    padding: 0;
    overflow: hidden;
}

.notification-menu-header,
.notification-see-all {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem 1rem;
}

.notification-menu-header {
    border-bottom: 1px solid var(--app-border);
}

.notification-menu-header .btn {
    padding: 0;
    font-size: 0.72rem;
}

.notifications-list {
    max-height: 24rem;
    overflow-y: auto;
}

.notification-item {
    display: block;
    padding: 0.8rem 1rem;
    color: inherit;
    text-decoration: none;
    border-bottom: 1px solid var(--app-border);
    -webkit-tap-highlight-color: transparent;
}

.notification-item:focus-visible,
.notification-item.is-unread {
    background: var(--app-accent-soft);
}

@media (hover: hover) {
    .notification-item:hover {
        background: var(--app-accent-soft);
    }
}

.notification-item:active {
    background: var(--app-accent-soft);
}

.notification-item-title {
    display: block;
    font-weight: 700;
    line-height: 1.25;
}

.notification-item-message {
    display: block;
    margin-top: 0.25rem;
    color: var(--app-text-muted);
    font-size: 0.8rem;
    line-height: 1.35;
}

.notification-item-date,
.notification-empty {
    display: block;
    margin-top: 0.35rem;
    color: var(--app-text-muted);
    font-size: 0.7rem;
}

.notification-see-all {
    justify-content: center;
    border-top: 1px solid var(--app-border);
    color: var(--app-primary-strong);
    font-size: 0.8rem;
    text-decoration: none;
}

.sidenav {
    --mdb-sidenav-width: 270px;
    --mdb-sidenav-link-padding-x: 1rem;
    --mdb-sidenav-subheading-padding-x: 1rem;
    --mdb-sidenav-subheading-font-size: 0.85rem;
    --mdb-sidenav-color: #fff;
    background: #fff;
    border-right: 1px solid rgba(15, 23, 42, 0.10);
    box-shadow: 8px 0 30px rgba(15, 23, 42, 0.06);
}

.sidenav.bg-gradient-1,
#main-sidenav.bg-gradient-1 {
    background: #fff !important;
}

@media (max-width: 1399.98px) {
    #main-sidenav.sidenav--initializing {
        visibility: hidden;
        transition: none !important;
    }

    body:has(#main-sidenav.sidenav--initializing) .sidenav-backdrop {
        visibility: hidden;
        transition: none !important;
    }
}

.sidenav a,
.sidenav .sidenav-link,
.sidenav .sidenav-subheading {
    color: #1e293b !important;
}

.sidenav-link {
    border-radius: 14px;
    margin-bottom: 0.2rem;
    transition: background-color 0.18s ease, transform 0.18s ease, color 0.18s ease;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.sidenav-link:focus-visible,
.sidenav-link.active {
    background: rgba(27, 158, 219, 0.10);
    color: #1685B9 !important;
}

@media (hover: hover) {
    .sidenav-link:hover {
        background: rgba(27, 158, 219, 0.10);
        color: #1685B9 !important;
        transform: translateX(2px);
    }
}

@media (hover: none) {
    .sidenav-link:hover,
    .sidenav-link:focus {
        background-color: transparent !important;
        color: #1e293b !important;
        transform: none !important;
    }

    .sidenav-link.active,
    .sidenav-link.active:hover {
        background-color: rgba(27, 158, 219, 0.10) !important;
        color: #1685B9 !important;
    }
}

.sidenav-link:active {
    background: rgba(27, 158, 219, 0.15);
    color: #1685B9 !important;
}

.sidenav-link i {
    color: inherit !important;
}

.sidenav-subheading {
    color: rgba(100, 116, 139, 0.95) !important;
    letter-spacing: 0.12em;
    font-size: 0.68rem;
}

.sidenav .hr,
.sidenav hr {
    border-color: rgba(15, 23, 42, 0.10) !important;
}

.sidenav .bg-white {
    background: rgba(255, 255, 255, 0.7) !important;
    border-top: 1px solid rgba(15, 23, 42, 0.10);
}

.form-control,
.form-select,
.form-outline .form-control,
.form-outline .form-select,
.input-group-text {
    font-size: inherit;
    border-color: rgba(15, 23, 42, 0.10);
}

.form-control:focus,
.form-select:focus,
.form-outline .form-control:focus,
.form-outline .form-select:focus {
    border-color: rgba(27, 158, 219, 0.36);
    box-shadow: 0 0 0 0.25rem rgba(27, 158, 219, 0.10);
}

.form-check-input[type=checkbox]:checked {
    background-color: var(--app-primary) !important;
}
.form-switch .form-check-input:checked[type=checkbox]:after {
    background-color: var(--app-primary) !important;
}
.form-check-input[type=checkbox]:checked:focus {
    background-color: var(--app-primary-strong) !important;
}
.form-check-input:checked {
    border-color: var(--app-primary) !important;
}
.form-check-input[type=radio]:checked:after {
    border-color: var(--app-primary) !important;
    background-color: var(--app-primary) !important;
}

.table {
    overflow: hidden;
    background: rgba(255, 255, 255, 0.88);
    box-shadow: var(--app-shadow-soft);
}

.table thead th {
    background: rgba(15, 23, 42, 0.03);
    color: var(--app-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 0.72rem;
}

.table tbody tr:hover {
    background: rgba(27, 158, 219, 0.04);
}

.alert-primary {
    background: rgba(27, 158, 219, 0.10);
    color: var(--app-primary);
    border-color: rgba(27, 158, 219, 0.16);
}

.bg-primary {
    background-color: var(--app-primary) !important;
}

.text-primary {
    color: var(--app-primary) !important;
}

.bg-gray,
.bg-white {
    background-color: rgba(255, 255, 255, 0.92) !important;
}

#fullScreenLoader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(15, 23, 42, 0.64);
    z-index: 9999;
    display: flex;
    justify-content: center;
    align-items: center;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
    backdrop-filter: blur(10px);
}

#fullScreenLoader.show {
    visibility: visible;
    opacity: 1;
    pointer-events: all;
}

@media (min-width: 1400px) {
    body:not(.no-sidebar) main,
    body:not(.no-sidebar) header,
    body:not(.no-sidebar) #main-navbar {
        padding-left: 270px;
    }
}

@media (max-width: 991.98px) {
    .card {
        border-radius: 20px;
    }
}

@media (max-width: 767.98px) {
    #main-navbar .mobile-navbar-brand {
        position: absolute;
        top: 50%;
        left: 50vw;
        display: block;
        width: 7rem;
        transform: translate(-50%, -50%);
        line-height: 0;
    }

    #main-navbar .mobile-navbar-brand img {
        display: block;
        width: 100%;
        height: auto;
    }

    #main-navbar .navbar-language-dropdown {
        display: none;
    }

    #main-navbar .notification-toggle {
        width: 2.5rem;
        height: 2.5rem;
        padding: 0;
        border-radius: 50%;
    }

    #main-navbar .user-menu-toggle {
        position: relative;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 2.5rem;
        height: 2.5rem;
        padding: 0;
        border-radius: 50%;
        border: 0;
        font-size: 1rem;
        font-weight: 700;
        line-height: 1;
        overflow: hidden;
    }

    #main-navbar .user-menu-toggle::after {
        display: none;
    }

    #main-navbar .user-menu-icon,
    #main-navbar .user-menu-name {
        display: none;
    }

    #main-navbar .user-menu-initials,
    #main-navbar .mobile-language-menu {
        display: block;
    }

    #main-navbar .user-menu-initials {
        transform: none;
    }

    body {
        padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px));
    }

    .mobile-bottom-nav {
        position: fixed;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 1030;
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        align-items: center;
        padding: 0.45rem 0.25rem calc(0.45rem + env(safe-area-inset-bottom, 0px));
        background: rgba(255, 255, 255, .96);
        border-top: 1px solid var(--app-border);
        box-shadow: 0 -8px 24px rgba(15, 23, 42, .08);
        backdrop-filter: blur(16px);
        -webkit-backdrop-filter: blur(16px);
    }

    .mobile-bottom-nav__item {
        display: flex;
        min-width: 0;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        gap: .2rem;
        padding: .2rem .1rem;
        border: 0;
        background: transparent;
        color: var(--app-text-muted);
        font-size: .68rem;
        font-family: inherit;
        line-height: 1.1;
        cursor: pointer;
        text-align: center;
        text-decoration: none;
        transition: color .18s ease, transform .18s ease;
        -webkit-tap-highlight-color: transparent;
    }

    .mobile-bottom-nav__item i {
        font-size: 1.16rem;
    }

    .mobile-bottom-nav__item span {
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .mobile-bottom-nav__item:focus-visible,
    .mobile-bottom-nav__item.active {
        color: var(--app-primary-strong);
    }

    @media (hover: hover) {
        .mobile-bottom-nav__item:hover {
            color: var(--app-primary-strong);
            transform: translateY(-2px);
        }
    }

    .mobile-bottom-nav__item:active {
        color: var(--app-primary-strong);
    }
}


/* --- Legacy utility classes kept after deduplication --- */

.bg-pattern-1 {
    background-color: #F7F7F7;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400' viewBox='0 0 800 800'%3E%3Cg fill='none' stroke='%23E4E4E4' stroke-width='1'%3E%3Cpath d='M769 229L1037 260.9M927 880L731 737 520 660 309 538 40 599 295 764 126.5 879.5 40 599-197 493 102 382-31 229 126.5 79.5-69-63'/%3E%3Cpath d='M-31 229L237 261 390 382 603 493 308.5 537.5 101.5 381.5M370 905L295 764'/%3E%3Cpath d='M520 660L578 842 731 737 840 599 603 493 520 660 295 764 309 538 390 382 539 269 769 229 577.5 41.5 370 105 295 -36 126.5 79.5 237 261 102 382 40 599 -69 737 127 880'/%3E%3Cpath d='M520-140L578.5 42.5 731-63M603 493L539 269 237 261 370 105M902 382L539 269M390 382L102 382'/%3E%3Cpath d='M-222 42L126.5 79.5 370 105 539 269 577.5 41.5 927 80 769 229 902 382 603 493 731 737M295-36L577.5 41.5M578 842L295 764M40-201L127 80M102 382L-261 269'/%3E%3C/g%3E%3Cg fill='%23E0E0E0'%3E%3Ccircle cx='769' cy='229' r='5'/%3E%3Ccircle cx='539' cy='269' r='5'/%3E%3Ccircle cx='603' cy='493' r='5'/%3E%3Ccircle cx='731' cy='737' r='5'/%3E%3Ccircle cx='520' cy='660' r='5'/%3E%3Ccircle cx='309' cy='538' r='5'/%3E%3Ccircle cx='295' cy='764' r='5'/%3E%3Ccircle cx='40' cy='599' r='5'/%3E%3Ccircle cx='102' cy='382' r='5'/%3E%3Ccircle cx='127' cy='80' r='5'/%3E%3Ccircle cx='370' cy='105' r='5'/%3E%3Ccircle cx='578' cy='42' r='5'/%3E%3Ccircle cx='237' cy='261' r='5'/%3E%3Ccircle cx='390' cy='382' r='5'/%3E%3C/g%3E%3C/svg%3E");
    background-attachment: fixed;
    background-position: center;
}
.bg-pattern-2 {
    background-color: #02236a;
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20xmlns%3Asvgjs%3D%22http%3A%2F%2Fsvgjs.dev%2Fsvgjs%22%20width%3D%221920%22%20height%3D%221080%22%20preserveAspectRatio%3D%22none%22%20viewBox%3D%220%200%201920%201080%22%3E%3Cg%20mask%3D%22url(%26quot%3B%23SvgjsMask1110%26quot%3B)%22%20fill%3D%22none%22%3E%3Crect%20width%3D%221920%22%20height%3D%221080%22%20x%3D%220%22%20y%3D%220%22%20fill%3D%22%23fff%22%3E%3C%2Frect%3E%3Cpath%20d%3D%22M0%2C533.558C95.349%2C510.297%2C154.948%2C420.961%2C243.946%2C379.588C353.245%2C328.778%2C500.919%2C356.253%2C578.974%2C264.409C659.025%2C170.217%2C683.24%2C24.887%2C645.411%2C-92.796C608.502%2C-207.617%2C465.686%2C-243.934%2C386.363%2C-334.785C307.479%2C-425.134%2C299.046%2C-593.011%2C182.818%2C-622.62C65.589%2C-652.485%2C-23.039%2C-507.433%2C-137.487%2C-468.238C-244.515%2C-431.584%2C-384.105%2C-482.249%2C-463.212%2C-401.375C-542.096%2C-320.729%2C-531.489%2C-187.48%2C-522.073%2C-75.063C-513.969%2C21.689%2C-442.898%2C96.343%2C-413.765%2C188.96C-378.945%2C299.657%2C-423.829%2C446.478%2C-334.66%2C520.741C-247.105%2C593.66%2C-110.697%2C560.563%2C0%2C533.558%22%20fill%3D%22%231b9edb%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M1920%201796.926C2048.759%201765.8809999999999%202121.201%201637.245%202226.416%201556.7930000000001%202320.93%201484.524%202455.973%201455.554%202507.005%201348.076%202558.1710000000003%201240.316%202509.825%201115.708%202491.8450000000003%20997.781%202474.026%20880.906%202468.408%20760.081%202402.4030000000002%20661.996%202331.716%20556.953%202235.4%20452.034%202110.525%20431.131%201987.614%20410.557%201878.6779999999999%20502.26599999999996%201765.982%20555.464%201670.689%20600.447%201587.958%20656.613%201502.438%20718.181%201389.683%20799.357%201221.382%20840.3240000000001%201184.313%20974.224%201147.76%201106.263%201274.463%201224.269%201327.344%201350.657%201382.338%201482.097%201387.393%201645.9360000000001%201501.214%201731.643%201616.41%201818.385%201779.815%201830.725%201920%201796.926%22%20fill%3D%22%2302236a%22%3E%3C%2Fpath%3E%3C%2Fg%3E%3Cdefs%3E%3Cmask%20id%3D%22SvgjsMask1110%22%3E%3Crect%20width%3D%221920%22%20height%3D%221080%22%20fill%3D%22%23ffffff%22%3E%3C%2Frect%3E%3C%2Fmask%3E%3C%2Fdefs%3E%3C%2Fsvg%3E");
    background-attachment: fixed;
    background-position: center;
}

.bg-gradient-1 {
    background: #02236a;
    background: linear-gradient(180deg, #1b9edb 0%, #02236a 80%);
    background-attachment: fixed;
}


.form-check-input[type=checkbox] {
    margin-right: 3px;
}

.btn-loading {
    opacity: 0.7;
    cursor: not-allowed !important;
}
        
.btn-loading:hover {
    transform: none !important;
}
        
.fa-pulse {
    animation: fa-pulse 1s infinite linear;
}
        
@keyframes fa-pulse {
    0% { opacity: 1; }
    50% { opacity: 0.4; }
    100% { opacity: 1; }
}

.alert i {
    color: inherit !important;
}
        
.toast-container {
    z-index: 9999;
}
.is-invalid {
    animation: shake 0.5s ease-in-out;
}
        
@keyframes shake {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-5px); }
    75% { transform: translateX(5px); }
}
        
.modal-header.bg-danger {
    border-bottom: 1px solid rgba(255,255,255,0.2);
}   
.modal-footer {
    border-top: 1px solid #dee2e6;
}

.form-outline .form-control[readonly] {
    background-color: var(--mdb-body-bg) !important;
}
