/* 
   Refined Custom CSS for Profile App
   Base: Dreamspos-206
   Inspiration: Nexlink
*/

/* --- Typography & Global --- */
body {
    background-color: #f7f9fc;
    color: #333;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    color: #1a202c;
}

/* --- Authentication Pages --- */
.login-wrapper {
    background: #fff;
    min-height: 100vh;
}

.login-content {
    padding: 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.login-userset {
    width: 400px;
    min-width: 250px;
    margin: 150px 0 auto !important;
}

.login-userheading h3 {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 5px;
}

.login-userheading h4 {
    font-size: 14px;
    color: #718096;
    font-weight: 400;
}

.form-login label {
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 8px;
    color: #4a5568;
}

.form-control {
    height: 44px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 10px 15px;
    font-size: 14px;
}

.form-control:focus {
    border-color: #667eea;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}

.btn-login {
    height: 44px;
    background: #667eea;
    border-color: #667eea;
    font-weight: 600;
    font-size: 14px;
    border-radius: 8px;
    transition: all 0.3s;
}

.btn-login:hover {
    background: #5a67d8;
    border-color: #5a67d8;
    transform: translateY(-1px);
}

.form-sociallink ul li a {
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #e2e8f0;
    border-radius: 50%;
    transition: all 0.3s;
}

.form-sociallink ul li a:hover {
    background: #f7f9fc;
    border-color: #cbd5e0;
}

.form-sociallink ul li a img {
    width: 20px;
    height: 20px;
    object-fit: contain;
}

/* --- Profile Section (Nexlink style on Dreamspos base) --- */
.page-wrapper {
    background-color: #f7f9fc;
}

.profile-set {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    margin-bottom: 25px;
}

.profile-set .profile-head {
    height: 240px;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%),
        url('../img/authentication/signup-3d.png') center/cover no-repeat;
    background-blend-mode: overlay;
    border-radius: 12px 12px 0 0;
}

.profile-set .profile-top {
    padding: 0 30px 25px;
    position: relative;
    border-bottom: 1px solid #edf2f7;
}

.profile-set .profile-top .profile-content {
    margin-top: -60px;
    /* More overlap */
}

.profile-set .profile-top .profile-contentimg {
    width: 140px;
    height: 140px;
    border: 5px solid #fff;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    border-radius: 16px;
    /* Squircle style */
}

.profile-set .profile-top .profile-contentimg img {
    border-radius: 12px;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.profile-set .profile-top .profile-contentname {
    padding-left: 25px;
    padding-top: 70px;
    /* Align with overlap */
}

.profile-set .profile-top .profile-contentname h2 {
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 4px;
}

.profile-set .profile-top .profile-contentname h4 {
    font-size: 15px;
    color: #718096;
}

/* --- Cards and Info --- */
.card {
    border: none;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    margin-bottom: 20px;
}

.card-body {
    padding: 24px;
}

.info-item {
    display: flex;
    align-items: center;
    margin-bottom: 16px;
}

.info-icon {
    width: 36px;
    height: 36px;
    background: #f1f5f9;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 12px;
}

.info-icon img {
    width: 18px;
    height: 18px;
}

.info-label {
    display: block;
    font-size: 12px;
    color: #718096;
    font-weight: 500;
}

.info-value {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: #2d3748;
}

/* --- Tabs --- */
.nav-tabs {
    border-bottom: 1px solid #edf2f7;
}

.nav-tabs .nav-link {
    border: none;
    color: #718096;
    padding: 12px 20px;
    font-weight: 600;
    font-size: 14px;
    position: relative;
    transition: all 0.2s;
}

.nav-tabs .nav-link::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100%;
    height: 2px;
    background: transparent;
    transition: all 0.2s;
}

.nav-tabs .nav-link.active {
    color: #667eea;
}

.nav-tabs .nav-link.active::after {
    background: transparent;
}

/* Remove focus/active underline on tabs */
.nav-tabs .nav-link:focus,
.nav-tabs .nav-link:active {
    outline: none;
    box-shadow: none;
    border-bottom: none;
}

.nav-tabs-solid .nav-link,
.nav-tabs-solid .nav-link:focus,
.nav-tabs-solid .nav-link:active,
.nav-tabs-solid .nav-link.active {
    border-bottom: none !important;
    outline: none !important;
    box-shadow: none !important;
}

.tab-content {
    padding-top: 20px;
}

/* --- Dashboard & Header --- */
.header {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start;
    gap: 8px;
    padding-left: 0;
    padding-right: 20px;
    position: relative !important;
    flex-wrap: nowrap;
}

/* Sélecteur de profil + menu user : groupés côte à côte à droite */
.header .header-profile-switcher {
    margin-left: auto !important;
    margin-right: 8px;
    flex-shrink: 0;
    align-self: center;
    position: relative;
    z-index: 10;
}

/* Dropdown du sélecteur de profil : au-dessus du header, sous les modals */
.header .header-profile-switcher .dropdown-menu {
    z-index: 1050;
}

.header .user-menu {
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    height: 100%;
    position: relative !important;
    right: auto !important;
    top: auto;
    z-index: 1001;
    flex-shrink: 0;
}

/* Hide the default mobile menu (triple dots) */
.mobile-user-menu {
    display: none !important;
}

/* Ensure the user menu is NOT hidden on small screens by the framework */
@media (max-width: 991.98px) {
    .header .user-menu {
        display: flex !important;
    }

    .header .header-left .logo,
    .header .header-left .logo-small {
        display: none !important;
    }

    .header .header-left.active .logo-small {
        display: block !important;
    }

    .header .user-menu .dropdown-menu {
        position: absolute !important;
        right: 0 !important;
        left: auto !important;
        width: 280px !important;
        margin-top: 10px !important;
    }
}

.header .user-menu .userset {
    display: flex;
    align-items: center;
    padding: 0 5px;
}

.header .user-menu .user-img {
    position: relative;
    display: inline-block;
}

.header .user-menu .user-img img {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    border: 2px solid #fff;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.menu-drop-user {
    border: none;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    border-radius: 12px;
    min-width: 240px;
    padding: 0;
    margin-top: 10px !important;
}

.profileset {
    display: flex;
    align-items: center;
}

.profileset .user-img img {
    width: 45px;
    height: 45px;
    border-radius: 10px;
    margin-right: 12px;
}

.profilesets h6 {
    font-size: 15px;
    font-weight: 700;
    margin-bottom: 2px;
}

.profilesets h5 {
    font-size: 12px;
    color: #718096;
    font-weight: 400;
}

.dropdown-item {
    padding: 10px 20px;
    font-size: 14px;
    color: #4a5568;
    font-weight: 500;
    transition: all 0.2s;
}

.dropdown-item:hover {
    background-color: #f7f9fc;
    color: #667eea;
}

.dropdown-item i {
    width: 16px;
    font-size: 16px;
}

/* --- Sidebar Refinement --- */
.sidebar {
    background: #fff;
    border-right: 1px solid #edf2f7;
}

.sidebar-menu li a {
    color: #4a5568;
    font-weight: 500;
    padding: 8px 15px;
    border-radius: 8px;
    margin: 4px 15px;
    display: flex;
    align-items: center;
    transition: all 0.2s;
    white-space: nowrap;
}

.sidebar-menu li a:hover {
    background: rgba(102, 126, 234, 0.05);
    color: #667eea;
}

.sidebar-menu li.active a {
    background: rgba(102, 126, 234, 0.1);
    color: #667eea;
    font-weight: 600;
}

.sidebar-menu li a i,
.sidebar-menu li a img {
    margin-right: 0;
}

.icon-box {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    display: grid !important;
    place-items: center !important;
    margin-right: 12px;
    transition: all 0.3s;
    flex-shrink: 0;
}

.icon-box i,
.icon-box svg,
.icon-box .feather {
    width: 18px !important;
    height: 18px !important;
    stroke-width: 2.5px;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
    position: static !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
}

.bg-primary-light {
    background: rgba(102, 126, 234, 0.15);
    color: #667eea;
}

.bg-success-light {
    background: rgba(40, 199, 111, 0.15);
    color: #28c76f;
}

.bg-warning-light {
    background: rgba(255, 159, 67, 0.15);
    color: #ff9f43;
}

.bg-danger-light {
    background: rgba(234, 84, 85, 0.15);
    color: #ea5455;
}

.bg-info-light {
    background: rgba(0, 207, 221, 0.15);
    color: #00cfdd;
}

.bg-secondary-light {
    background: rgba(115, 103, 240, 0.15);
    color: #7367f0;
}

.sidebar-menu li a:hover .icon-box {
    transform: scale(1.1);
}

/* --- Mini Sidebar Support --- */
@media (min-width: 991.98px) {
    body.mini-sidebar .sidebar {
        width: 80px !important;
    }

    body.mini-sidebar .sidebar-menu li a {
        padding: 8px 0 !important;
        margin: 4px 14px !important;
        justify-content: center;
    }

    body.mini-sidebar .sidebar-menu li a span,
    body.mini-sidebar .sidebar-menu .menu-title,
    body.mini-sidebar .sidebar-menu .menu-arrow {
        display: none !important;
    }

    body.mini-sidebar .icon-box {
        margin-right: 0 !important;
    }

    /* Expand on Hover */
    body.mini-sidebar.expand-menu .sidebar {
        width: 260px !important;
    }

    body.mini-sidebar.expand-menu .sidebar-menu li a {
        padding: 8px 15px !important;
        margin: 4px 15px !important;
        justify-content: flex-start;
    }

    body.mini-sidebar.expand-menu .sidebar-menu li a span {
        display: inline-block !important;
    }

    body.mini-sidebar.expand-menu .icon-box {
        margin-right: 12px !important;
    }
}

.sidebar-menu .menu-title {
    padding: 15px 25px 5px;
    color: #a0aec0;
    text-transform: uppercase;
    font-size: 11px;
    letter-spacing: 1px;
    font-weight: 700;
}

/* --- Dash Widgets --- */
.dash-widget {
    background: #fff;
    padding: 20px;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    display: flex;
    align-items: flex-start;
    margin-bottom: 30px;
    transition: transform 0.3s;
}

.dash-widget:hover {
    transform: translateY(-5px);
}

.dash-widgetimg {
    width: 50px;
    height: 50px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 15px;
}

.dash-widgetimg span {
    background: rgba(102, 126, 234, 0.1);
    width: 100%;
    height: 100%;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.dash-widgetimg img {
    width: 24px;
}

.dash-widgetcontent h5 {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 5px;
}

.dash-widgetcontent h6 {
    font-size: 13px;
    color: #718096;
    font-weight: 500;
}

.dash1 .dash-widgetimg span {
    background: rgba(255, 159, 67, 0.1);
}

.dash2 .dash-widgetimg span {
    background: rgba(40, 199, 111, 0.1);
}

.dash3 .dash-widgetimg span {
    background: rgba(234, 84, 85, 0.1);
}

/* --- Status Badges Visibility Fix --- */
.badges {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 6px 14px !important;
    border-radius: 8px !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    min-width: 95px !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    border-width: 1px !important;
    border-style: solid !important;
}

.bg-lightgreen {
    background-color: #ecfdf5 !important;
    color: #059669 !important;
    border-color: #d1fae5 !important;
}

.bg-lightred {
    background-color: #fef2f2 !important;
    color: #dc2626 !important;
    border-color: #fee2e2 !important;
}

.bg-lightyellow {
    background-color: #fffbeb !important;
    color: #d97706 !important;
    border-color: #fef3c7 !important;
}

.bg-lightwarning {
    background-color: #fffbeb !important;
    color: #d97706 !important;
    border-color: #fef3c7 !important;
}

.bg-lightgrey {
    background-color: #f8fafc !important;
    color: #475569 !important;
    border-color: #e2e8f0 !important;
}

/* --- DataTables & Pagination Icons Replacement --- */
.dataTables_wrapper .dataTables_paginate {
    padding-top: 25px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button {
    margin: 0 !important;
    border-radius: 12px !important;
    border: 1px solid #e2e8f0 !important;
    background: #ffffff !important;
    color: #4a5568 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 44px !important;
    height: 44px !important;
    padding: 0 !important;
    position: relative !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button:hover:not(.current):not(.active):not(.disabled) {
    background: #f8fafc !important;
    border-color: #667eea !important;
    color: #667eea !important;
    transform: translateY(-2px);
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.active {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
    color: #ffffff !important;
    border: none !important;
    box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4) !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.disabled {
    background: #f8fafc !important;
    color: #cbd5e0 !important;
    border-color: #f1f5f9 !important;
    cursor: not-allowed !important;
    opacity: 0.6;
}

/* Hide text and show icons for Previous/Next */
.dataTables_wrapper .dataTables_paginate .paginate_button.previous,
.dataTables_wrapper .dataTables_paginate .paginate_button.previous .page-link,
.dataTables_wrapper .dataTables_paginate .paginate_button.next,
.dataTables_wrapper .dataTables_paginate .paginate_button.next .page-link {
    font-size: 0 !important;
    color: transparent !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.previous::before {
    content: '\f104' !important;
    font-family: 'Font Awesome 5 Free' !important;
    font-weight: 900 !important;
    font-size: 18px !important;
    color: #4a5568 !important;
    position: absolute !important;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.dataTables_wrapper .dataTables_paginate .paginate_button.next::before {
    content: '\f105' !important;
    font-family: 'Font Awesome 5 Free' !important;
    font-weight: 900 !important;
    font-size: 18px !important;
    color: #4a5568 !important;
    position: absolute !important;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.dataTables_wrapper .dataTables_paginate .paginate_button.disabled::before {
    color: #cbd5e0 !important;
}

/* ============================================
   FUTURISTIC THEME ENHANCEMENT (NexLink Style)
   ============================================ */

/* --- Enhanced Cards with Futuristic Border-Radius & Shadows --- */
.card {
    border-radius: 16px;
    box-shadow: 0 4px 25px rgba(0, 0, 0, 0.04);
    border: 1px solid rgba(0, 0, 0, 0.04);
    transition: all 0.3s ease;
}

.card:hover {
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
}

.card-header {
    border-radius: 16px 16px 0 0 !important;
    background: rgba(248, 249, 250, 0.5);
    border-bottom: 1px solid rgba(0, 0, 0, 0.04);
}

/* --- Futuristic Pill-Shaped Badges --- */
.badges {
    border-radius: 50px !important;
    padding: 6px 16px !important;
    font-weight: 600 !important;
    font-size: 11px !important;
    letter-spacing: 0.3px !important;
    border: none !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.bg-lightgreen {
    background: rgba(40, 199, 111, 0.12) !important;
    color: #1e9d50 !important;
}

.bg-lightyellow {
    background: rgba(255, 159, 67, 0.12) !important;
    color: #e68a2e !important;
}

.bg-lightwarning {
    background: rgba(255, 159, 67, 0.12) !important;
    color: #e68a2e !important;
}

.bg-lightred {
    background: rgba(234, 84, 85, 0.12) !important;
    color: #d63031 !important;
}

.bg-lightgrey {
    background: rgba(108, 117, 125, 0.12) !important;
    color: #5a6268 !important;
}

/* Additional badge variants */
.badge.bg-light {
    background: rgba(108, 117, 125, 0.08) !important;
    color: #5a6268 !important;
    border: 1px solid rgba(108, 117, 125, 0.15) !important;
}

/* --- Buttons with Shadow & Hover Effects --- */
.btn-primary,
.btn-added {
    border-radius: 10px;
    box-shadow: 0 4px 12px rgba(255, 159, 67, 0.25);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    font-weight: 600;
}

.btn-primary:hover,
.btn-added:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(255, 159, 67, 0.35);
}

.btn-primary:active,
.btn-added:active {
    transform: translateY(0);
}

.btn-success {
    border-radius: 10px;
    box-shadow: 0 4px 12px rgba(40, 199, 111, 0.25);
}

.btn-success:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(40, 199, 111, 0.35);
}

.btn-danger {
    border-radius: 10px;
    box-shadow: 0 4px 12px rgba(234, 84, 85, 0.25);
}

.btn-danger:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(234, 84, 85, 0.35);
}

.btn-outline-primary,
.btn-outline-success,
.btn-outline-danger,
.btn-outline-secondary {
    border-radius: 10px;
    transition: all 0.3s ease;
}

.btn-outline-primary:hover,
.btn-outline-success:hover,
.btn-outline-danger:hover,
.btn-outline-secondary:hover {
    transform: translateY(-2px);
}

/* --- Minimalist Tables --- */
.table {
    border-collapse: separate;
    border-spacing: 0;
}

.table thead th {
    background: rgba(248, 249, 250, 0.7);
    border-bottom: 1px solid rgba(0, 0, 0, 0.05) !important;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 11px;
    letter-spacing: 0.5px;
    color: #64748b;
    padding: 14px 15px;
}

.table tbody td {
    border-bottom: 1px solid rgba(0, 0, 0, 0.03) !important;
    vertical-align: middle;
    padding: 16px 15px;
    transition: background 0.2s ease;
}

.table tbody tr {
    transition: all 0.2s ease;
}

.table tbody tr:hover {
    background: rgba(102, 126, 234, 0.03);
}

.table tbody tr:hover td {
    background: transparent;
}

/* --- Futuristic Dropdowns --- */
.dropdown-menu {
    border-radius: 14px !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.12) !important;
    border: 1px solid rgba(0, 0, 0, 0.05) !important;
    padding: 8px !important;
    animation: dropdownFadeIn 0.2s ease;
}

@keyframes dropdownFadeIn {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.dropdown-item {
    border-radius: 8px;
    margin: 2px 0;
    transition: all 0.2s ease;
}

.dropdown-item:hover {
    background: rgba(102, 126, 234, 0.08);
}

.dropdown-divider {
    margin: 8px 0;
    border-color: rgba(0, 0, 0, 0.05);
}

/* --- Glassmorphism Modals --- */
.modal-content {
    border-radius: 20px !important;
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.15) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    overflow: hidden;
}

.modal-header {
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
    padding: 20px 24px;
}

.modal-footer {
    border-top: 1px solid rgba(0, 0, 0, 0.05);
    padding: 16px 24px;
}

.modal-body {
    padding: 24px;
}

.modal.fade .modal-dialog {
    transform: scale(0.95) translateY(-20px);
    transition: transform 0.3s ease;
}

.modal.show .modal-dialog {
    transform: scale(1) translateY(0);
}

/* --- Enhanced Icon-Box --- */
.icon-box {
    border-radius: 12px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.icon-box:hover {
    transform: scale(1.08);
}

/* --- Futuristic Dash Widgets --- */
.dash-widget {
    border-radius: 16px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.dash-widget:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
}

.dash-widgetimg {
    border-radius: 14px;
}

.dash-widgetimg span {
    border-radius: 14px;
}

/* --- Enhanced Form Controls --- */
.form-control,
.form-select {
    border-radius: 10px;
    border: 1px solid #e2e8f0;
    transition: all 0.3s ease;
}

.form-control:focus,
.form-select:focus {
    border-color: #667eea;
    box-shadow: 0 0 0 4px rgba(102, 126, 234, 0.1);
}

/* --- Nav Tabs Futuristic Style --- */
.nav-tabs-solid.nav-tabs-rounded .nav-link {
    border-radius: 10px;
    transition: all 0.3s ease;
}

.nav-tabs-solid.nav-tabs-rounded .nav-link.active {
    box-shadow: 0 4px 12px rgba(255, 159, 67, 0.3);
}

/* --- Page Header Enhancement --- */
.page-header {
    margin-bottom: 25px;
}

.page-title h4 {
    font-size: 22px;
    font-weight: 700;
}

.page-title h6 {
    color: #94a3b8;
    font-size: 13px;
}

/* --- Alerts Enhancement --- */
.alert {
    border-radius: 12px;
    border: none;
}

.alert-info {
    background: rgba(23, 162, 184, 0.1);
    color: #0c7a8a;
}

.alert-success {
    background: rgba(40, 199, 111, 0.1);
    color: #1a8c4a;
}

.alert-warning {
    background: rgba(255, 159, 67, 0.1);
    color: #cc6d1d;
}

.alert-danger {
    background: rgba(234, 84, 85, 0.1);
    color: #c52d2e;
}

/* --- Scrollbar Futuristic Style --- */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.02);
    border-radius: 10px;
}

::-webkit-scrollbar-thumb {
    background: rgba(102, 126, 234, 0.3);
    border-radius: 10px;
}

::-webkit-scrollbar-thumb:hover {
    background: rgba(102, 126, 234, 0.5);
}

/* --- Smooth Transitions for Interactive Elements --- */
a,
button,
.btn,
.card,
.form-control,
.form-select,
.nav-link,
.dropdown-item {
    transition: all 0.2s ease;
}

/* --- Avatar Enhancements --- */
.product-img img,
.user-img img {
    border-radius: 12px;
    transition: transform 0.3s ease;
}

.product-img:hover img {
    transform: scale(1.05);
}

/* --- Breadcrumb Enhancement --- */
.breadcrumb {
    background: transparent;
    padding: 0;
}

.breadcrumb-item a {
    color: #667eea;
}

.breadcrumb-item.active {
    color: #94a3b8;
}

/* --- Action Icons Enhancement --- */
td .me-3 img,
.action-icons img {
    opacity: 0.6;
    transition: all 0.2s ease;
}

td .me-3:hover img,
.action-icons:hover img {
    opacity: 1;
    transform: scale(1.15);
}

/* --- Search Input Enhancement --- */
.search-input input {
    border-radius: 10px !important;
}

.btn-searchset {
    border-radius: 10px !important;
}

/* --- Checkbox and Radio Enhancement --- */
.form-check-input {
    border-radius: 6px;
    width: 18px;
    height: 18px;
}

.form-check-input:checked {
    background-color: #667eea;
    border-color: #667eea;
}

.form-check-input:focus {
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.15);
}

/* ** ** ** ** ** MENARDO CODE ** ** ** ** ** */

#sidebar-menu {
    padding-inline: 0
}

.header {
    position: fixed !important;
}

.dropdown .btn.btn-outline-primary {
    border-color: #e2e8f0 !important;
}

.header-left.active svg {
    stroke: #28c76f !important;
}

.dropdown .dropdown-toggle:after {
    color: #28c76f;
}

.dropdown:hover .dropdown-toggle:after {
    color: #FFF;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary.focus,
.btn-outline-primary:active,
.btn-outline-primary.active {
    background-color: #28c76f !important;
    border: 1px solid #28c76f !important;
    box-shadow: 0 3px 10px rgb(40 199 111 / 25%);
    color: #ffffff !important;
}

.btn-outline-primary:hover .small,
.btn-outline-primary:hover .small .btn-outline-primary:focus .small,
.btn-outline-primary.focus .small,
.btn-outline-primary:active .small,
.btn-outline-primary.active .small {
    color: #FFF !important;
}

.btn-outline-primary:hover .text-dark,
.btn-outline-primary:hover .text-dark .btn-outline-primary:focus .text-dark,
.btn-outline-primary.focus .text-dark,
.btn-outline-primary:active .text-dark,
.btn-outline-primary.active .text-dark {
    color: #FFF !important;
}

.btn-outline-primary:hover svg,
.btn-outline-primary:hover svg .btn-outline-primary:focus svg,
.btn-outline-primary.focus svg,
.btn-outline-primary:active svg,
.btn-outline-primary.active svg {
    stroke: #FFF !important;
}

/* LOGIN */

.login-userset {
    margin: 0 0 auto !important;
}

.container__logo {
    position: relative;
    width: 80px;
    height: 80px;
    padding: 5px;
    margin: auto;
    border: 1px solid blue;
    overflow: hidden;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.35);
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.25);
    background: linear-gradient(135deg, #22c55e 0%, #15803d 100%);
    margin-top: 2rem;
}

.container__logo a {
    position: relative;
    display: block;
    height: 100%;
    width: 100%;
}

.container__logo img {
    height: 100%;
    width: 100%;
    object-fit: cover;
}

.login-wrapper .login-content .form-login .btn-login {
    background: linear-gradient(135deg, #22c55e 0%, #15803d 100%);
    border: 1px solid #48db7f !important;
    color: #ffffff;
    box-shadow: 0 4px 20px rgba(254, 159, 67, 0.15);
}

.login-wrapper .login-content .form-login .btn-login:hover {
    box-shadow: 0 50px #105e2d inset !important;
    color: #ffffff;
    border: 1px solid rgb(66 193 112) !important;
    box-shadow: 0 3px 10px rgb(165 247 196);
}

.login-wrapper .login-content .form-login .forgot-link {
    color: #20b958 !important;
    font-size: 15px;
    font-weight: 500;
}

.checkboxs input:checked~.checkmarks {
    background-color: #15803d;
    border-color: #15803d;
}

.login-wrapper .login-content .signinform h4 a {
    color: #20b958 !important;
    font-weight: 500;
}

.hover-a:after {
    background-color: #15803d;
}

input#login_phone,
input#password {
    color: #000;
    font-size: .95rem;
    font-weight: 500;
}

.login-wrapper .login-content .form-login input:focus {
    border: 2px solid #168841;
}

.form-control:focus,
.form-select:focus {
    box-shadow: 0 0 0 3px rgb(233 249 240);
}

/* **** **** DASHBOARD **** **** */

.dash-widgetimg img {
    width: 22px !important;
    height: 22px !important;
}

.header .header-left {
    border-right: 1px solid #dbe0e6;
    border-right: 1px solid transparent;
    border-bottom: 1px solid transparent;
}

.row>div:nth-child(1) .dash-widget {
    background: rgb(249 110 111 / 8%);
}

.row>div:nth-child(2) .dash-widget {
    background: rgba(40, 199, 111, 0.12);
}

.row>div:nth-child(3) .dash-widget {
    background: rgba(0, 207, 232, 0.12);
}

.row>div:nth-child(4) .dash-widget {
    background: rgba(234, 84, 85, 0.12);
}

.row>div:nth-child(5) .dash-widget {
    background: rgba(234, 84, 85, 0.12);
}

.row>div:nth-child(6) .dash-widget {
    background: rgba(40, 199, 111, 0.12);
}

.row>div:nth-child(7) .dash-widget {
    background: rgba(0, 207, 232, 0.12);
}

.row>div:nth-child(8) .dash-widget {
    background: rgba(234, 84, 85, 0.12);
}

.card-title {
    padding-block: 1rem;
}

.header-left {
    position: relative;
    right: 27px;
}

@media (max-width: 995px) {
    .header .header-left {
        border-right: 1px solid transparent;
    }
}

@media (max-width: 995px) {
    .header .header-left {
        position: relative;
        right: 40px;
        width: 100%;
    }
}

@media (max-width: 991.98px) {
    .header .header-left.active .logo-small {
        display: none !important;
    }
}

/* *** *** SIDEBAR *** *** */

#sidebar-menu ul li svg {
    color: #28c76f !important;
}

.sidebar .sidebar-menu>ul>li>a:hover,
.sidebars .sidebar-menu>ul>li>a:hover {
    background: rgb(247 248 254);
    color: #28c76f;
    border-radius: 5px;
}

.sidebar .sidebar-menu>ul>li>a:hover span,
.sidebars .sidebar-menu>ul>li>a:hover span {
    color: #48d086;
}

.icon-box {
    width: 36px;
    height: 36px;
}

.header-left .logo {
    position: relative;
    display: inline-block;
    height: 50px;
    width: 50px;
}

.header-left.active .logo {
    margin-left: 30px;
}

.header-left .logo-small {
    margin-left: 44px;
}

.header .header-left .logo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* *** *** portefeuille moyens-paiement *** *** */

.mb-4 h5 svg {
    color: #0d6efd !important;
}

/* *** *** *** *** contestations *** *** *** * */

.btn.btn-added {
    background: #28c76f !important;
    box-shadow: 0 4px 12px rgb(40 199 111 / 48%);
}

.btn.btn-secondary {
    background-color: #88dab6 !important;
    border: 1px solid #28c76f !important;
    color: #ffffff;
    box-shadow: 0 4px 20px rgb(136 218 182);
}

.btn.btn-secondary:hover {
    background: transparent !important;
    color: #28c76f !important;
    border: 1px solid #28c76f !important;
}

.form-control:focus,
.form-select:focus {
    box-shadow: 0 0 0 3px rgb(74 225 140);
}

.form-group label {
    margin-bottom: .5rem;
}

.alert.alert-info {
    border-radius: 0;
}

.row .col-lg-12 .btn.btn-cancel,
.row .col-lg-12 .btn.btn-submit {
    margin-top: 1rem;
    box-shadow: 0 4px 20px rgb(136 218 182);
}

.row .col-lg-12 .btn.btn-cancel {
    background: #f00606;
}

.row .col-lg-12 .btn.btn-cancel:hover,
.row .col-lg-12 .btn.btn-submit:hover {
    transform: translateY(-3px);
}

.toast-container {
    position: fixed;
    top: 20px;
    right: 20px;
    /* z-index: 9999; */
    /* background: #ff5c5c;*/
    color: #FFff;
}

.alert.alert-danger.alert-dismissible {
    background: #ff5c5c;
    color: #FFF;
}

.table svg {
    stroke: #28c76f;
}

.bg-lightgrey {
    background: rgb(191 239 247) !important;
    color: #000000 !important;
}

/* *** *** *** *** contestations details *** *** *** * */

.text-primary {
    color: #28c76f !important;
}

.timeline-card {
    border-left: 2px solid #e2e8f0;
    padding-left: 30px;
    position: relative;
    margin-left: 10px;
}

.timeline-item {
    position: relative;
    margin-bottom: 30px;
}

.timeline-item::before {
    content: '';
    position: absolute;
    left: -37px;
    top: 5px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #cbd5e0;
    border: 2px solid #fff;
    box-shadow: 0 0 0 3px rgba(203, 213, 224, 0.2);
}

.timeline-item.active::before {
    background: #667eea;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.2);
}

.chat-bubble {
    background: #f8fafc;
    border-radius: 12px;
    padding: 15px;
    margin-bottom: 15px;
    border: 1px solid #edf2f7;
}

.chat-bubble.admin {
    background: rgba(102, 126, 234, 0.05);
    border-color: rgba(102, 126, 234, 0.1);
}


.btn.btn-primary {
    background: #28c76f !important;
    /*box-shadow: 0 4px 12px rgb(40 199 111 / 48%);*/
    border: 1px solid #28c76f !important;
}

.btn.btn-primary:hover {
    background: #269859 !important;
    box-shadow: 0 4px 12px rgb(40 199 111 / 48%);
    border: 1px solid #28c76f !important;
    transform: translateY(-2px);
    /*opacity: .7;*/
}

.btn-outline-secondary {
    border: 1px solid #28c76f !important;
    color: #28c76f !important;
}

/*-------------------------------- CSS BTN CONFIGURATION ---------*/
.btn-red {
    border: 1px solid #dd1f19 !important;
    color: #dd1f19 !important;
}

.btn-red:hover {
    background: #dd1f19 !important;
    border: 1px solid #dd1f19 !important;
}

.btn-yellow1 {
    border: 1px solid #f3d846 !important;
    color: #f3d846 !important;
}

.btn-yellow1:hover {
    background: #f3d846 !important;
    border: 1px solid #f3d846 !important;
}

.btn-green {
    border: 1px solid #28c76f !important;
    color: #28c76f !important;
}

.btn-green:hover {
    background: #239e59 !important;
    border: 1px solid #28c76f !important;
}

.btn-red:hover,
.btn-yellow1:hover,
.btn-green:hover {
    color: #fff !important;
    transform: translateY(-2px);
}

.btn-red,
.btn-yellow1,
.btn-green {
    border-radius: 10px;
    transition: all 0.3s ease;
}

/*------------------------------- CSS BTN CONFIGURATION ---------*/

.timeline-item.active::before {
    background: #28c76f;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.2);
}

.retour_parent a {
    /*position: absolute;
    right: 0;*/
    color: #FFF !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.active {
    background: transparent !important;
    color: transparent !important;
    border: none !important;
    box-shadow: 0 0 0 transparent !important;
}

/* Elite Payment Cards - Design managed in portefeuille.css */

/* Elite Payment Cards - Design managed in portefeuille.css */

/* Global Loader - Couleur personnalisée #28c76f */
div#global-loader .whirly-loader:not(:required) {
    box-shadow: 0 26px 0 6px #28c76f, 0.90971px 26.05079px 0 5.93333px #28c76f, 1.82297px 26.06967px 0 5.86667px #28c76f, 2.73865px 26.05647px 0 5.8px #28c76f, 3.65561px 26.01104px 0 5.73333px #28c76f, 4.57274px 25.93327px 0 5.66667px #28c76f, 5.48887px 25.8231px 0 5.6px #28c76f, 6.40287px 25.68049px 0 5.53333px #28c76f, 7.31358px 25.50548px 0 5.46667px #28c76f, 8.21985px 25.2981px 0 5.4px #28c76f, 9.12054px 25.05847px 0 5.33333px #28c76f, 10.01448px 24.78672px 0 5.26667px #28c76f, 10.90054px 24.48302px 0 5.2px #28c76f, 11.77757px 24.1476px 0 5.13333px #28c76f, 12.64443px 23.78072px 0 5.06667px #28c76f, 13.5px 23.38269px 0 5px #28c76f, 14.34315px 22.95384px 0 4.93333px #28c76f, 15.17277px 22.49455px 0 4.86667px #28c76f, 15.98776px 22.00526px 0 4.8px #28c76f, 16.78704px 21.48643px 0 4.73333px #28c76f, 17.56953px 20.93855px 0 4.66667px #28c76f, 18.33418px 20.36217px 0 4.6px #28c76f, 19.07995px 19.75787px 0 4.53333px #28c76f, 19.80582px 19.12626px 0 4.46667px #28c76f, 20.5108px 18.468px 0 4.4px #28c76f, 21.1939px 17.78379px 0 4.33333px #28c76f, 21.85416px 17.07434px 0 4.26667px #28c76f, 22.49067px 16.34043px 0 4.2px #28c76f, 23.10251px 15.58284px 0 4.13333px #28c76f, 23.68881px 14.80241px 0 4.06667px #28c76f, 24.24871px 14px 0 4px #28c76f, 24.7814px 13.1765px 0 3.93333px #28c76f, 25.28607px 12.33284px 0 3.86667px #28c76f, 25.76198px 11.46997px 0 3.8px #28c76f, 26.2084px 10.58888px 0 3.73333px #28c76f, 26.62462px 9.69057px 0 3.66667px #28c76f, 27.01001px 8.77608px 0 3.6px #28c76f, 27.36392px 7.84648px 0 3.53333px #28c76f, 27.68577px 6.90284px 0 3.46667px #28c76f, 27.97502px 5.94627px 0 3.4px #28c76f, 28.23116px 4.97791px 0 3.33333px #28c76f, 28.4537px 3.99891px 0 3.26667px #28c76f, 28.64223px 3.01042px 0 3.2px #28c76f, 28.79635px 2.01364px 0 3.13333px #28c76f, 28.91571px 1.00976px 0 3.06667px #28c76f, 29px 0 0 3px #28c76f, 29.04896px -1.01441px 0 2.93333px #28c76f, 29.06237px -2.03224px 0 2.86667px #28c76f, 29.04004px -3.05223px 0 2.8px #28c76f, 28.98185px -4.07313px 0 2.73333px #28c76f, 28.88769px -5.09368px 0 2.66667px #28c76f, 28.75754px -6.1126px 0 2.6px #28c76f, 28.59138px -7.12863px 0 2.53333px #28c76f, 28.38926px -8.14049px 0 2.46667px #28c76f, 28.15127px -9.1469px 0 2.4px #28c76f, 27.87755px -10.1466px 0 2.33333px #28c76f, 27.56827px -11.1383px 0 2.26667px #28c76f, 27.22365px -12.12075px 0 2.2px #28c76f, 26.84398px -13.09268px 0 2.13333px #28c76f, 26.42956px -14.05285px 0 2.06667px #28c76f, 25.98076px -15px 0 2px #28c76f, 25.49798px -15.93291px 0 1.93333px #28c76f, 24.98167px -16.85035px 0 1.86667px #28c76f, 24.43231px -17.75111px 0 1.8px #28c76f, 23.85046px -18.63402px 0 1.73333px #28c76f, 23.23668px -19.49789px 0 1.66667px #28c76f, 22.5916px -20.34157px 0 1.6px #28c76f, 21.91589px -21.16393px 0 1.53333px #28c76f, 21.21024px -21.96384px 0 1.46667px #28c76f, 20.4754px -22.74023px 0 1.4px #28c76f, 19.71215px -23.49203px 0 1.33333px #28c76f, 18.92133px -24.2182px 0 1.26667px #28c76f, 18.10379px -24.91772px 0 1.2px #28c76f, 17.26042px -25.58963px 0 1.13333px #28c76f, 16.39217px -26.23295px 0 1.06667px #28c76f, 15.5px -26.84679px 0 1px #28c76f, 14.58492px -27.43024px 0 0.93333px #28c76f, 13.64796px -27.98245px 0 0.86667px #28c76f, 12.69018px -28.50262px 0 0.8px #28c76f, 11.7127px -28.98995px 0 0.73333px #28c76f, 10.71663px -29.4437px 0 0.66667px #28c76f, 9.70313px -29.86317px 0 0.6px #28c76f, 8.67339px -30.2477px 0 0.53333px #28c76f, 7.6286px -30.59666px 0 0.46667px #28c76f, 6.57001px -30.90946px 0 0.4px #28c76f, 5.49886px -31.18558px 0 0.33333px #28c76f, 4.41643px -31.42451px 0 0.26667px #28c76f, 3.32401px -31.6258px 0 0.2px #28c76f, 2.22291px -31.78904px 0 0.13333px #28c76f, 1.11446px -31.91388px 0 0.06667px #28c76f, 0 -32px 0 0 #28c76f, -1.11911px -32.04713px 0 -0.06667px #28c76f, -2.24151px -32.05506px 0 -0.13333px #28c76f, -3.36582px -32.02361px 0 -0.2px #28c76f, -4.49065px -31.95265px 0 -0.26667px #28c76f, -5.61462px -31.84212px 0 -0.33333px #28c76f, -6.73634px -31.69198px 0 -0.4px #28c76f, -7.8544px -31.50227px 0 -0.46667px #28c76f, -8.9674px -31.27305px 0 -0.53333px #28c76f, -10.07395px -31.00444px 0 -0.6px #28c76f, -11.17266px -30.69663px 0 -0.66667px #28c76f, -12.26212px -30.34982px 0 -0.73333px #28c76f, -13.34096px -29.96429px 0 -0.8px #28c76f, -14.4078px -29.54036px 0 -0.86667px #28c76f, -15.46126px -29.07841px 0 -0.93333px #28c76f, -16.5px -28.57884px 0 -1px #28c76f, -17.52266px -28.04212px 0 -1.06667px #28c76f, -18.52792px -27.46878px 0 -1.13333px #28c76f, -19.51447px -26.85936px 0 -1.2px #28c76f, -20.48101px -26.21449px 0 -1.26667px #28c76f, -21.42625px -25.53481px 0 -1.33333px #28c76f, -22.34896px -24.82104px 0 -1.4px #28c76f, -23.2479px -24.07391px 0 -1.46667px #28c76f, -24.12186px -23.29421px 0 -1.53333px #28c76f, -24.96967px -22.48279px 0 -1.6px #28c76f, -25.79016px -21.64052px 0 -1.66667px #28c76f, -26.58223px -20.76831px 0 -1.73333px #28c76f, -27.34477px -19.86714px 0 -1.8px #28c76f, -28.07674px -18.938px 0 -1.86667px #28c76f, -28.7771px -17.98193px 0 -1.93333px #28c76f, -29.44486px -17px 0 -2px #28c76f, -30.07908px -15.99333px 0 -2.06667px #28c76f, -30.67884px -14.96307px 0 -2.13333px #28c76f, -31.24325px -13.91039px 0 -2.2px #28c76f, -31.7715px -12.83652px 0 -2.26667px #28c76f, -32.26278px -11.74269px 0 -2.33333px #28c76f, -32.71634px -10.63018px 0 -2.4px #28c76f, -33.13149px -9.5003px 0 -2.46667px #28c76f, -33.50755px -8.35437px 0 -2.53333px #28c76f, -33.84391px -7.19374px 0 -2.6px #28c76f, -34.14px -6.0198px 0 -2.66667px #28c76f, -34.39531px -4.83395px 0 -2.73333px #28c76f, -34.60936px -3.63759px 0 -2.8px #28c76f, -34.78173px -2.43218px 0 -2.86667px #28c76f, -34.91205px -1.21916px 0 -2.93333px #28c76f, -35px 0 0 -3px #28c76f, -35.04531px 1.22381px 0 -3.06667px #28c76f, -35.04775px 2.45078px 0 -3.13333px #28c76f, -35.00717px 3.6794px 0 -3.2px #28c76f, -34.92345px 4.90817px 0 -3.26667px #28c76f, -34.79654px 6.13557px 0 -3.33333px #28c76f, -34.62643px 7.36007px 0 -3.4px #28c76f, -34.41316px 8.58016px 0 -3.46667px #28c76f, -34.15683px 9.79431px 0 -3.53333px #28c76f, -33.85761px 11.001px 0 -3.6px #28c76f, -33.5157px 12.19872px 0 -3.66667px #28c76f, -33.13137px 13.38594px 0 -3.73333px #28c76f, -32.70493px 14.56117px 0 -3.8px #28c76f, -32.23675px 15.72291px 0 -3.86667px #28c76f, -31.72725px 16.86968px 0 -3.93333px #28c76f, -31.17691px 18px 0 -4px #28c76f, -30.58627px 19.11242px 0 -4.06667px #28c76f, -29.95589px 20.2055px 0 -4.13333px #28c76f, -29.28642px 21.27783px 0 -4.2px #28c76f, -28.57852px 22.32799px 0 -4.26667px #28c76f, -27.83295px 23.35462px 0 -4.33333px #28c76f, -27.05047px 24.35635px 0 -4.4px #28c76f, -26.23192px 25.33188px 0 -4.46667px #28c76f, -25.37819px 26.27988px 0 -4.53333px #28c76f, -24.49018px 27.1991px 0 -4.6px #28c76f, -23.56888px 28.0883px 0 -4.66667px #28c76f, -22.6153px 28.94626px 0 -4.73333px #28c76f, -21.6305px 29.77183px 0 -4.8px #28c76f, -20.61558px 30.56385px 0 -4.86667px #28c76f, -19.57168px 31.32124px 0 -4.93333px #28c76f, -18.5px 32.04294px 0 -5px #28c76f, -17.40175px 32.72792px 0 -5.06667px #28c76f, -16.27818px 33.37522px 0 -5.13333px #28c76f, -15.1306px 33.98389px 0 -5.2px #28c76f, -13.96034px 34.55305px 0 -5.26667px #28c76f, -12.76875px 35.08186px 0 -5.33333px #28c76f, -11.55724px 35.56951px 0 -5.4px #28c76f, -10.32721px 36.01527px 0 -5.46667px #28c76f, -9.08014px 36.41843px 0 -5.53333px #28c76f, -7.81748px 36.77835px 0 -5.6px #28c76f, -6.54075px 37.09443px 0 -5.66667px #28c76f, -5.25147px 37.36612px 0 -5.73333px #28c76f, -3.95118px 37.59293px 0 -5.8px #28c76f, -2.64145px 37.77443px 0 -5.86667px #28c76f, -1.32385px 37.91023px 0 -5.93333px #28c76f;
}

/* --- Custom DataTables Buttons (Green Theme) --- */
button.dt-button.buttons-collection {
    background: #28c76f !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 8px 16px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    box-shadow: 0 4px 12px rgb(40 199 111 / 48%) !important;
    transition: all 0.3s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    outline: none !important;
}

button.dt-button.buttons-collection:hover,
button.dt-button.buttons-collection:focus {
    background: #24b364 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 15px rgb(40 199 111 / 60%) !important;
}

button.dt-button.buttons-collection:active {
    transform: translateY(0) !important;
    box-shadow: 0 2px 5px rgb(40 199 111 / 48%) !important;
}

button.dt-button.buttons-collection span {
    color: #fff !important;
    font-family: inherit !important;
}

button.dt-button.buttons-collection .dt-button-down-arrow {
    color: #fff !important;
    padding-left: 5px !important;
    font-size: 10px !important;
    opacity: 0.8 !important;
}

/* --- Sidebar Toggle Icon Customization --- */
.header-left #toggle_btn {
    background: #28c76f !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

#toggle_btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
}

/* Supprimer toute interférence des styles du thème (pseudo-éléments) */
#toggle_btn::before,
#toggle_btn::after,
.header-left.active #toggle_btn::before,
.header-left.active #toggle_btn::after {
    display: none !important;
    content: none !important;
    visibility: hidden !important;
}

/* Gestion du basculement des icônes Font Awesome */
#toggle_icon_open {
    display: inline-block !important;
}

#toggle_icon_closed {
    display: none !important;
}

body.mini-sidebar #toggle_icon_open {
    display: none !important;
}

body.mini-sidebar #toggle_icon_closed {
    display: inline-block !important;
}

/* Style minimal pour les icônes */
#toggle_btn i {
    color: #ffffff !important;
    font-size: 14px !important;
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900 !important;
}


/* ============================================
   LANDING PAGE STYLES
   ============================================ */

/* --- Landing Page Wrapper --- */
.landing-page-wrapper {
    width: 100%;
    overflow-x: hidden;
}

/* --- Hero Section --- */
.lp-hero-section {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    padding: 80px 0;
    position: relative;
}

.lp-hero-content {
    position: relative;
    z-index: 2;
}

.lp-badge {
    display: inline-block;
    background: rgba(255, 255, 255, 0.2);
    color: #fff;
    padding: 8px 20px;
    border-radius: 50px;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 20px;
    backdrop-filter: blur(10px);
}

.lp-hero-title {
    font-size: 3rem;
    font-weight: 800;
    color: #fff;
    line-height: 1.2;
    margin-bottom: 20px;
}

.lp-text-gradient {
    background: linear-gradient(to right, #ffd89b, #19547b);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.lp-hero-subtitle {
    font-size: 1.125rem;
    color: rgba(255, 255, 255, 0.95);
    line-height: 1.7;
    margin-bottom: 30px;
}

.lp-hero-actions {
    margin-bottom: 20px;
}

.lp-hero-actions .btn {
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.lp-trust-badge {
    color: #fff;
    font-size: 14px;
    font-weight: 500;
}

.lp-hero-mockup {
    position: relative;
    z-index: 2;
}

.lp-mockup-card {
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(20px);
    border-radius: 20px;
    padding: 60px 40px;
    text-align: center;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.lp-mockup-card i {
    font-size: 100px;
    color: rgba(255, 255, 255, 0.9);
    margin-bottom: 20px;
}

.lp-mockup-text h5 {
    color: #fff;
    font-weight: 700;
    margin-bottom: 8px;
}

.lp-mockup-text p {
    color: rgba(255, 255, 255, 0.9);
    margin: 0;
}

/* --- Features Section --- */
.lp-features-section {
    padding: 80px 0;
    background-color: #fff;
}

.lp-section-badge {
    display: inline-block;
    background: rgba(102, 126, 234, 0.1);
    color: #667eea;
    padding: 6px 18px;
    border-radius: 50px;
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 16px;
}

.lp-section-title {
    font-size: 2.25rem;
    font-weight: 700;
    color: #1a202c;
    margin-bottom: 12px;
}

.lp-section-subtitle {
    font-size: 1.0625rem;
    color: #718096;
    max-width: 600px;
    margin: 0 auto;
}

.lp-feature-card {
    background: #fff;
    border-radius: 16px;
    padding: 32px 20px;
    text-align: center;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    height: 100%;
    border: 1px solid #f0f0f0;
}

.lp-feature-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 12px 30px rgba(102, 126, 234, 0.15);
    border-color: #667eea;
}

.lp-feature-icon {
    width: 70px;
    height: 70px;
    margin: 0 auto 20px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.lp-feature-icon i {
    font-size: 32px;
}

.bg-primary-light {
    background-color: rgba(102, 126, 234, 0.1);
}

.bg-primary-light i {
    color: #667eea;
}

.bg-success-light {
    background-color: rgba(40, 167, 69, 0.1);
}

.bg-success-light i {
    color: #28a745;
}

.bg-warning-light {
    background-color: rgba(255, 193, 7, 0.1);
}

.bg-warning-light i {
    color: #ffc107;
}

.bg-danger-light {
    background-color: rgba(220, 53, 69, 0.1);
}

.bg-danger-light i {
    color: #dc3545;
}

.lp-feature-title {
    font-size: 1.125rem;
    font-weight: 700;
    color: #1a202c;
    margin-bottom: 12px;
}

.lp-feature-text {
    font-size: 0.9375rem;
    color: #718096;
    line-height: 1.6;
    margin: 0;
}

/* --- Stats Section --- */
.lp-stats-section {
    padding: 80px 0;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

.lp-stat-card {
    text-align: center;
    padding: 30px 16px;
}

.lp-stat-icon {
    width: 70px;
    height: 70px;
    margin: 0 auto 20px;
    background: rgba(255, 255, 255, 0.15);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.lp-stat-icon i {
    font-size: 32px;
    color: #fff;
}

.lp-stat-number {
    font-size: 2.75rem;
    font-weight: 800;
    color: #fff;
    margin-bottom: 8px;
}

.lp-stat-label {
    font-size: 1rem;
    color: rgba(255, 255, 255, 0.95);
    margin: 0;
    font-weight: 500;
}

/* --- CTA Section --- */
.lp-cta-section {
    padding: 80px 0;
    background: linear-gradient(135deg, #1a202c 0%, #2d3748 100%);
    text-align: center;
}

.lp-cta-content {
    max-width: 700px;
    margin: 0 auto;
}

.lp-cta-title {
    font-size: 2.25rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: 20px;
}

.lp-cta-subtitle {
    font-size: 1.0625rem;
    color: rgba(255, 255, 255, 0.9);
    margin-bottom: 30px;
}

.lp-cta-actions .btn {
    padding: 14px 32px;
    font-size: 1.0625rem;
}

.btn-outline-light {
    border-width: 2px;
}

.btn-outline-light:hover {
    background-color: #fff;
    color: #1a202c;
}

/* --- Footer --- */
.lp-footer {
    background-color: #1a202c;
    color: #a0aec0;
    padding: 50px 0 20px;
}

.lp-footer-title {
    font-size: 1rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: 16px;
}

.lp-footer-text {
    font-size: 0.9375rem;
    line-height: 1.6;
    color: #a0aec0;
}

.lp-footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
}

.lp-footer-links li {
    margin-bottom: 10px;
}

.lp-footer-links a {
    color: #a0aec0;
    text-decoration: none;
    font-size: 0.9375rem;
    transition: color 0.3s ease;
}

.lp-footer-links a:hover {
    color: #667eea;
}

.lp-footer-social {
    display: flex;
    gap: 12px;
}

.lp-social-link {
    width: 40px;
    height: 40px;
    background: rgba(102, 126, 234, 0.1);
    color: #667eea;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: all 0.3s ease;
}

.lp-social-link:hover {
    background: #667eea;
    color: #fff;
    transform: translateY(-3px);
}

.lp-footer-divider {
    border-color: rgba(255, 255, 255, 0.1);
    margin: 30px 0 20px;
}

.lp-footer-copy {
    margin: 0;
    font-size: 0.875rem;
    color: #718096;
}

/* --- Animations --- */
.fade-in-up {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

.fade-in-up.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* --- Responsive --- */
@media (max-width: 991px) {
    .lp-hero-title {
        font-size: 2.25rem;
    }

    .lp-section-title {
        font-size: 1.875rem;
    }

    .lp-mockup-card {
        padding: 50px 30px;
    }

    .lp-mockup-card i {
        font-size: 80px;
    }

    .lp-stat-number {
        font-size: 2.25rem;
    }

    .lp-cta-title {
        font-size: 1.875rem;
    }
}

@media (max-width: 767px) {
    .lp-hero-section {
        padding: 60px 0;
    }

    .lp-hero-title {
        font-size: 1.875rem;
    }

    .lp-hero-subtitle {
        font-size: 1rem;
    }

    .lp-hero-actions .btn {
        display: block;
        width: 100%;
        margin-bottom: 10px !important;
        margin-right: 0 !important;
    }

    .lp-section-title {
        font-size: 1.625rem;
    }

    .lp-mockup-card {
        padding: 40px 20px;
        margin-top: 30px;
    }

    .lp-mockup-card i {
        font-size: 60px;
    }

    .lp-features-section {
        padding: 60px 0;
    }

    .lp-stats-section {
        padding: 60px 0;
    }

    .lp-stat-number {
        font-size: 1.875rem;
    }

    .lp-cta-section {
        padding: 60px 0;
    }

    .lp-cta-title {
        font-size: 1.625rem;
    }

    .lp-cta-actions .btn {
        display: block;
        width: 100%;
        margin-bottom: 10px !important;
        margin-right: 0 !important;
    }
}

@media (max-width: 575px) {
    .lp-stat-card {
        padding: 20px 10px;
    }

    .lp-stat-number {
        font-size: 1.625rem;
    }

    .lp-stat-label {
        font-size: 0.875rem;
    }
}

/* --- Rotate icon when sidebar is collapsed (using the body class) */
.mini-sidebar #toggle_btn svg {
    transform: rotate(180deg);
}



/* --- Page Load Animations --- */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translate3d(0, 20px, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

.animate-fade-up {
    animation: fadeInUp 0.6s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
    opacity: 0;
    /* Hidden initially */
}

/* Staggered Delays */
.delay-100 {
    animation-delay: 0.1s;
}

.delay-200 {
    animation-delay: 0.2s;
}

.delay-300 {
    animation-delay: 0.3s;
}

.delay-400 {
    animation-delay: 0.4s;
}

.delay-500 {
    animation-delay: 0.5s;
}

/* --- Premium Finishing & Polishing --- */

/* 1. Custom Scrollbar (WebKit) */
::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 10px;
}

::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 10px;
    transition: background 0.3s;
}

::-webkit-scrollbar-thumb:hover {
    background: #28c76f;
}

/* 2. Soft Card Aesthetics */
.card {
    border: 1px solid rgba(0, 0, 0, 0.05) !important;
    box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.05) !important;
    border-radius: 12px !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.card:hover {
    box-shadow: 0 8px 30px 0 rgba(0, 0, 0, 0.08) !important;
}

/* 3. Theme Syntax & Focus States (Green Sync) */
.form-control:focus {
    border-color: #28c76f !important;
    box-shadow: 0 0 0 0.25rem rgba(40, 199, 111, 0.15) !important;
}

.btn-primary,
.btn-login {
    background-color: #28c76f !important;
    border-color: #28c76f !important;
}

.btn-primary:hover,
.btn-login:hover {
    background-color: #22a95e !important;
    border-color: #22a95e !important;
    transform: translateY(-1px);
}

/* 4. Sidebar Micro-interactions */
.sidebar-menu ul li a {
    transition: all 0.2s ease-in-out !important;
}

.sidebar-menu ul li a:hover {
    padding-left: 20px !important;
    color: #28c76f !important;
}

.sidebar-menu ul li.active>a {
    background-color: rgba(40, 199, 111, 0.1) !important;
    color: #28c76f !important;
    border-left: 3px solid #28c76f !important;
}

/* 5. Global Icon Coloring (#28c76f) */
.sidebar-menu i,
.sidebar-menu [data-feather],
.sidebar-menu .feather,
.user-menu i,
.user-menu [data-feather],
.user-menu .feather,
.menu-drop-user i,
.menu-drop-user [data-feather],
.menu-drop-user .feather,
.icon-color,
.icon-box i,
.icon-box [data-feather],
.icon-box .feather {
    color: #28c76f !important;
    stroke: #28c76f !important;
}

/* Specific overrides for Feather SVGs */
svg.feather,
[data-feather] svg,
.feather {
    /*stroke: #28c76f !important;*/
    stroke: #216f44 !important;
    fill: none !important;
}

/* Force override for Bootstrap text classes on icons */
i[class*="text-"],
svg[class*="text-"],
.feather[class*="text-"] {
    color: #28c76f !important;
    stroke: #28c76f !important;
}
