
html,
body{
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    text-shadow: none !important;
}

.text-white {
    font-size: 0.8rem !important;
    line-height: 1.4;
}

p, ul,li,input,select, option{
    font-weight: 600 !important;
}

/* Espacement Bootstrap - margin-bottom 1rem */
#cm3-cards {
    margin-bottom: 1rem !important;
}

.row {
    margin-bottom: 1rem !important;
}


.card{
    margin-bottom: 0 !important;
}

.main-wrapper .login-logo{
    position: relative;
    width: 100%;
    height: auto;
    padding: 1rem;
}

.container__logo{
    position: relative;
    width: 130px;
    height: 130px;
    margin: 0 auto;
    border: 1px solid blue;
    overflow: hidden;

    border-radius: 16px;
    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%);
}

.container__logo a{
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}

.container__logo a img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}


.btn.btn-primary:hover,
.btn.btn-primary:focus,
.btn.btn-primary.focus,
.btn.btn-primary:active,
.btn.btn-primary.active{

    background-color: rgb(15 173 73) !important;
    border: 1px solid rgb(66 193 112) !important;
    box-shadow: 0 3px 10px rgb(165 247 196);
    color: #ffffff !important;
}

/* Auth OTP: "Recevoir le code" uses brand base color */
body.account-page #otp-receive-btn.btn.btn-secondary {
    background-color: #15803d !important;
    border-color: #15803d !important;
    color: #ffffff !important;
}
body.account-page #otp-receive-btn.btn.btn-secondary:hover,
body.account-page #otp-receive-btn.btn.btn-secondary:focus,
body.account-page #otp-receive-btn.btn.btn-secondary:active {
    background-color: rgb(15 173 73) !important;
    border-color: rgb(66 193 112) !important;
    color: #ffffff !important;
}

/* ==========================================================
   Inputs: brand focus border + soft shadow (global)
   ========================================================== */
:root {
    --pc-brand: #15803d;
    --pc-brand-ring: rgba(21, 128, 61, 0.18);
}

/* Standard form controls */
input.form-control:focus,
textarea.form-control:focus,
select.form-select:focus,
select.form-control:focus {
    border-color: var(--pc-brand) !important;
    box-shadow: 0 0 0 0.25rem var(--pc-brand-ring) !important;
}

/* Checkbox / radio */
.form-check-input:focus {
    border-color: var(--pc-brand) !important;
    box-shadow: 0 0 0 0.25rem var(--pc-brand-ring) !important;
}

/* Input group: make the whole group glow nicely */
.input-group:focus-within {
    border-radius: 0.375rem;
    box-shadow: 0 0 0 0.25rem var(--pc-brand-ring) !important;
}
.input-group:focus-within .form-control,
.input-group:focus-within .form-select,
.input-group:focus-within .input-group-text {
    border-color: var(--pc-brand) !important;
}
.input-group:focus-within .form-control:focus,
.input-group:focus-within .form-select:focus {
    box-shadow: none !important; /* avoid double ring */
}

/* ==========================================================
   Footer text: opacity sweep (left -> right, infinite)
   ========================================================== */
.footer-love-sweep {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.footer-love-sweep-text {
    display: inline-block;
    /* keep normal text color; animate opacity band via mask */
    opacity: 1;
}

.footer-love-sweep-text .pc-char {
    display: inline-block;
    opacity: 0.25;
    animation: pc-footer-char-opacity 1.8s ease-in-out infinite;
    animation-delay: calc(var(--i) * 45ms);
}

@keyframes pc-footer-char-opacity {
    0%, 100% { opacity: 0.25; }
    50% { opacity: 1; }
}

@supports ((-webkit-mask-image: linear-gradient(#000, #000)) or (mask-image: linear-gradient(#000, #000))) {
    .footer-love-sweep-text {
        -webkit-mask-image: linear-gradient(
            90deg,
            rgba(0, 0, 0, 0.15) 0%,
            rgba(0, 0, 0, 1) 45%,
            rgba(0, 0, 0, 0.15) 100%
        );
        mask-image: linear-gradient(
            90deg,
            rgba(0, 0, 0, 0.15) 0%,
            rgba(0, 0, 0, 1) 45%,
            rgba(0, 0, 0, 0.15) 100%
        );
        -webkit-mask-size: 240% 100%;
        mask-size: 240% 100%;
        -webkit-mask-position: 0% 50%;
        mask-position: 0% 50%;
        animation: footer-opacity-sweep 2.8s linear infinite;
    }

    @keyframes footer-opacity-sweep {
        0% { -webkit-mask-position: 0% 50%; mask-position: 0% 50%; }
        100% { -webkit-mask-position: 100% 50%; mask-position: 100% 50%; }
    }
}

/* Fallback: simple pulse */
@supports not ((-webkit-mask-image: linear-gradient(#000, #000)) or (mask-image: linear-gradient(#000, #000))) {
    .footer-love-sweep-text {
        animation: footer-opacity-pulse 2.2s ease-in-out infinite;
    }
    @keyframes footer-opacity-pulse {
        0%, 100% { opacity: 0.55; }
        50% { opacity: 1; }
    }
}

@media (prefers-reduced-motion: reduce) {
    .footer-love-sweep-text {
        animation: none !important;
        -webkit-mask-image: none !important;
        mask-image: none !important;
        opacity: 1 !important;
    }
    .footer-love-sweep-text .pc-char {
        animation: none !important;
        opacity: 1 !important;
    }
}

.hover-a:hover {
    color: #15803d !important;
}

.hover-a:after{
    background: #15803d !important;
}

.login-content form {
    border: 1px solid #ddd;
    border-radius: 8px;
}

div#global-loader {
    background-color: #ffffff !important;
}

div#global-loader .whirly-loader:not(:required) {
  box-shadow: 0 26px 0 6px #15803d, 0.90971px 26.05079px 0 5.93333px #15803d, 1.82297px 26.06967px 0 5.86667px #15803d, 2.73865px 26.05647px 0 5.8px #15803d, 3.65561px 26.01104px 0 5.73333px #15803d, 4.57274px 25.93327px 0 5.66667px #15803d, 5.48887px 25.8231px 0 5.6px #15803d, 6.40287px 25.68049px 0 5.53333px #15803d, 7.31358px 25.50548px 0 5.46667px #15803d, 8.21985px 25.2981px 0 5.4px #15803d, 9.12054px 25.05847px 0 5.33333px #15803d, 10.01448px 24.78672px 0 5.26667px #15803d, 10.90054px 24.48302px 0 5.2px #15803d, 11.77757px 24.1476px 0 5.13333px #15803d, 12.64443px 23.78072px 0 5.06667px #15803d, 13.5px 23.38269px 0 5px #15803d, 14.34315px 22.95384px 0 4.93333px #15803d, 15.17277px 22.49455px 0 4.86667px #15803d, 15.98776px 22.00526px 0 4.8px #15803d, 16.78704px 21.48643px 0 4.73333px #15803d, 17.56953px 20.93855px 0 4.66667px #15803d, 18.33418px 20.36217px 0 4.6px #15803d, 19.07995px 19.75787px 0 4.53333px #15803d, 19.80582px 19.12626px 0 4.46667px #15803d, 20.5108px 18.468px 0 4.4px #15803d, 21.1939px 17.78379px 0 4.33333px #15803d, 21.85416px 17.07434px 0 4.26667px #15803d, 22.49067px 16.34043px 0 4.2px #15803d, 23.10251px 15.58284px 0 4.13333px #15803d, 23.68881px 14.80241px 0 4.06667px #15803d, 24.24871px 14px 0 4px #15803d, 24.7814px 13.1765px 0 3.93333px #15803d, 25.28607px 12.33284px 0 3.86667px #15803d, 25.76198px 11.46997px 0 3.8px #15803d, 26.2084px 10.58888px 0 3.73333px #15803d, 26.62462px 9.69057px 0 3.66667px #15803d, 27.01001px 8.77608px 0 3.6px #15803d, 27.36392px 7.84648px 0 3.53333px #15803d, 27.68577px 6.90284px 0 3.46667px #15803d, 27.97502px 5.94627px 0 3.4px #15803d, 28.23116px 4.97791px 0 3.33333px #15803d, 28.4537px 3.99891px 0 3.26667px #15803d, 28.64223px 3.01042px 0 3.2px #15803d, 28.91571px 1.00976px 0 3.06667px #15803d, 29px 0 0 3px #15803d, 29.04896px -1.01441px 0 2.93333px #15803d, 29.06237px -2.03224px 0 2.86667px #15803d, 29.04004px -3.05223px 0 2.8px #15803d, 28.98185px -4.07313px 0 2.73333px #15803d, 28.88769px -5.09368px 0 2.66667px #15803d, 28.75754px -6.1126px 0 2.6px #15803d, 28.59138px -7.12863px 0 2.53333px #15803d, 28.38926px -8.14049px 0 2.46667px #15803d, 28.15127px -9.1469px 0 2.4px #15803d, 27.87755px -10.1466px 0 2.33333px #15803d, 27.56827px -11.1383px 0 2.26667px #15803d, 27.22365px -12.12075px 0 2.2px #15803d, 26.84398px -13.09268px 0 2.13333px #15803d, 26.42956px -14.05285px 0 2.06667px #15803d, 25.98076px -15px 0 2px #15803d, 25.49798px -15.93291px 0 1.93333px #15803d, 24.98167px -16.85035px 0 1.86667px #15803d, 24.43231px -17.75111px 0 1.8px #15803d, 23.85046px -18.63402px 0 1.73333px #15803d, 23.23668px -19.49789px 0 1.66667px #15803d, 22.5916px -20.34157px 0 1.6px #15803d, 21.91589px -21.16393px 0 1.53333px #15803d, 21.21024px -21.96384px 0 1.46667px #15803d, 20.4754px -22.74023px 0 1.4px #15803d, 19.71215px -23.49203px 0 1.33333px #15803d, 18.92133px -24.2182px 0 1.26667px #15803d, 18.10379px -24.91772px 0 1.2px #15803d, 17.26042px -25.58963px 0 1.13333px #15803d, 16.39217px -26.23295px 0 1.06667px #15803d, 15.5px -26.84679px 0 1px #15803d, 14.58492px -27.43024px 0 0.93333px #15803d, 13.64796px -27.98245px 0 0.86667px #15803d, 12.69018px -28.50262px 0 0.8px #15803d, 11.7127px -28.98995px 0 0.73333px #15803d, 10.71663px -29.4437px 0 0.66667px #15803d, 9.70313px -29.86317px 0 0.6px #15803d, 8.67339px -30.2477px 0 0.53333px #15803d, 7.6286px -30.59666px 0 0.46667px #15803d, 6.57001px -30.90946px 0 0.4px #15803d, 5.49886px -31.18558px 0 0.33333px #15803d, 4.41643px -31.42451px 0 0.26667px #15803d, 3.32401px -31.6258px 0 0.2px #15803d, 2.22291px -31.78904px 0 0.13333px #15803d, 1.11446px -31.91388px 0 0.06667px #15803d, 0 -32px 0 0 #15803d, -1.11911px -32.04713px 0 -0.06667px #15803d, -2.24151px -32.05506px 0 -0.13333px #15803d, -3.36582px -32.02361px 0 -0.2px #15803d, -4.49065px -31.95265px 0 -0.26667px #15803d, -5.61462px -31.84212px 0 -0.33333px #15803d, -6.73634px -31.69198px 0 -0.4px #15803d, -7.8544px -31.50227px 0 -0.46667px #15803d, -8.9674px -31.27305px 0 -0.53333px #15803d, -10.07395px -31.00444px 0 -0.6px #15803d, -11.17266px -30.69663px 0 -0.66667px #15803d, -12.26212px -30.34982px 0 -0.73333px #15803d, -13.34096px -29.96429px 0 -0.8px #15803d, -14.4078px -29.54036px 0 -0.86667px #15803d, -15.46126px -29.07841px 0 -0.93333px #15803d, -16.5px -28.57884px 0 -1px #15803d, -17.52266px -28.04212px 0 -1.06667px #15803d, -18.52792px -27.46878px 0 -1.13333px #15803d, -19.51447px -26.85936px 0 -1.2px #15803d, -20.48101px -26.21449px 0 -1.26667px #15803d, -21.42625px -25.53481px 0 -1.33333px #15803d, -22.34896px -24.82104px 0 -1.4px #15803d, -23.2479px -24.07391px 0 -1.46667px #15803d, -24.12186px -23.29421px 0 -1.53333px #15803d, -24.96967px -22.48279px 0 -1.6px #15803d, -25.79016px -21.64052px 0 -1.66667px #15803d, -26.58223px -20.76831px 0 -1.73333px #15803d, -27.34477px -19.86714px 0 -1.8px #15803d, -28.07674px -18.938px 0 -1.86667px #15803d, -28.7771px -17.98193px 0 -1.93333px #15803d, -29.44486px -17px 0 -2px #15803d, -30.07908px -15.99333px 0 -2.06667px #15803d, -30.67884px -14.96307px 0 -2.13333px #15803d, -31.24325px -13.91039px 0 -2.2px #15803d, -31.7715px -12.83652px 0 -2.26667px #15803d, -32.26278px -11.74269px 0 -2.33333px #15803d, -32.71634px -10.63018px 0 -2.4px #15803d, -33.13149px -9.5003px 0 -2.46667px #15803d, -33.50755px -8.35437px 0 -2.53333px #15803d, -33.84391px -7.19374px 0 -2.6px #15803d, -34.14px -6.0198px 0 -2.66667px #15803d, -34.39531px -4.83395px 0 -2.73333px #15803d, -34.60936px -3.63759px 0 -2.8px #15803d, -34.78173px -2.43218px 0 -2.86667px #15803d, -34.91205px -1.21916px 0 -2.93333px #15803d, -35px 0 0 -3px #15803d, -35.04531px 1.22381px 0 -3.06667px #15803d, -35.04775px 2.45078px 0 -3.13333px #15803d, -35.00717px 3.6794px 0 -3.2px #15803d, -34.92345px 4.90817px 0 -3.26667px #15803d, -34.62643px 7.36007px 0 -3.4px #15803d, -34.41316px 8.58016px 0 -3.46667px #15803d, -34.15683px 9.79431px 0 -3.53333px #15803d, -33.85761px 11.001px 0 -3.6px #15803d, -33.5157px 12.19872px 0 -3.66667px #15803d, -33.13137px 13.38594px 0 -3.73333px #15803d, -32.70493px 14.56117px 0 -3.8px #15803d, -32.23675px 15.72291px 0 -3.86667px #15803d, -31.72725px 16.86968px 0 -3.93333px #15803d, -31.17691px 18px 0 -4px #15803d, -30.58627px 19.11242px 0 -4.06667px #15803d, -29.95589px 20.2055px 0 -4.13333px #15803d, -29.28642px 21.27783px 0 -4.2px #15803d, -28.57852px 22.32799px 0 -4.26667px #15803d, -27.83295px 23.35462px 0 -4.33333px #15803d, -27.05047px 24.35635px 0 -4.4px #15803d, -26.23192px 25.33188px 0 -4.46667px #15803d, -25.37819px 26.27988px 0 -4.53333px #15803d, -24.49018px 27.1991px 0 -4.6px #15803d, -23.56888px 28.0883px 0 -4.66667px #15803d, -22.6153px 28.94626px 0 -4.73333px #15803d, -21.6305px 29.77183px 0 -4.8px #15803d, -20.61558px 30.56385px 0 -4.86667px #15803d, -19.57168px 31.32124px 0 -4.93333px #15803d, -18.5px 32.04294px 0 -5px #15803d, -17.40175px 32.72792px 0 -5.06667px #15803d, -16.27818px 33.37522px 0 -5.13333px #15803d, -15.1306px 33.98389px 0 -5.2px #15803d, -13.96034px 34.55305px 0 -5.26667px #15803d, -12.76875px 35.08186px 0 -5.33333px #15803d, -11.55724px 35.56951px 0 -5.4px #15803d, -10.32721px 36.01527px 0 -5.46667px #15803d, -9.08014px 36.41843px 0 -5.53333px #15803d, -7.81748px 36.77835px 0 -5.6px #15803d, -6.54075px 37.09443px 0 -5.66667px #15803d, -5.25147px 37.36612px 0 -5.73333px #15803d, -3.95118px 37.59293px 0 -5.8px #15803d, -2.64145px 37.77443px 0 -5.86667px #15803d, -1.32385px 37.91023px 0 -5.93333px #15803d;
}


.container_logo,
.logo_image{
    position: relative;
    height: 55px;
    width: 55px;
    overflow: hidden;
 /*   border: 1px solid red;*/
}

.logo_image{
    margin: 0 auto;
    overflow: hidden;
}

.logo-small img{
    height: 70%;
    width: 70%;
    object-fit: contain;
    overflow: hidden;
}

.sidebar .sidebar-menu > ul > li.submenu-open ul li a span,
.settings-sidebar .sidebar-menu > ul > li.submenu-open ul li a span {
    font-size: 15px;
}

.sidebar
.sidebar-logo #toggle_btn:hover {
    background: #3d5847 !important;
}

.sidebar .sidebar-menu .submenu-open
.submenu ul li a::after, .settings-sidebar
.sidebar-menu .submenu-open
.submenu ul li a::after {
    width: 0;
    height: 0;
}

/*
    Dashboard
*/

#cc1-cards .dash-count,
#cc2-cards .dash-count,
#cc3-cards .dash-count,
#cm1-cards .dash-count,
#cm2-cards .dash-count,
#cm3-cards .dash-count {
    border-radius: 15px !important;
}

.dash-count{
    border-radius: 15px !important;
}

#cc1-cards .dash-count:hover,
#cc2-cards .dash-count:hover,
#cc3-cards .dash-count:hover,
#cm1-cards .dash-count:hover,
#cm2-cards .dash-count:hover,
#cm3-cards .dash-count:hover{
    transition: transform 0.3s ease-in-out;
    transform: translateY(-2px);
}

@media (max-width: 576px) {
    .login-content .card-body {
        padding: 2rem 1.5rem;
    }
}

@media (min-width: 900px) and (max-width: 1499.98px) {
    .login-column {
        flex: 0 0 520px;
        max-width: 520px;
    }
}

@media (min-width: 1500px) {
    .login-column {
        flex: 0 0 33.3333%;
        max-width: 33.3333%;
    }
}

.mini-sidebar.expand-menu .sidebar .sidebar-menu .submenu-two ul {
    display: block !important;
}

.sidebar .sidebar-menu > ul > li.submenu-open ul,
.settings-sidebar .sidebar-menu > ul > li.submenu-open ul {
    border-bottom: 1px solid #b8babc;
    padding-bottom: 20px;
}

/* --- Professional Sidebar Design Enhancements --- */

/* 1. Smooth Transitions & Spacing */
.sidebar .sidebar-menu ul li a {
    transition: all 0.3s ease;
    border-radius: 8px; /* Modern pill shape */
    margin: 4px 10px; /* Breathing room */
    position: relative;
    overflow: hidden; /* For ripple effects if added later */
}

/* 2. Hover Effects */
.sidebar .sidebar-menu ul li a:hover {
    background-color: rgba(21, 128, 61, 0.08); /* Very subtle green tint */
    color: #15803d !important; /* Brand green */
    transform: translateX(5px); /* Dynamic movement */
    padding-left: 15px; /* Slight shift for text */
}

.sidebar .sidebar-menu ul li a:hover i {
    color: #15803d !important;
    transform: scale(1.1); /* Subtle icon pop */
    transition: transform 0.3s ease;
}

/* 3. Active State Refinement */
.sidebar .sidebar-menu ul li.active a,
.sidebar .sidebar-menu ul li.submenu-open > a {
    background: linear-gradient(90deg, rgba(21, 128, 61, 0.15) 0%, rgba(255, 255, 255, 0) 100%);
    color: #15803d !important;
    font-weight: 700;
    border-left: 4px solid #15803d;
    border-radius: 4px 8px 8px 4px; /* Flat left side for border */
}

.sidebar .sidebar-menu ul li.active a i,
.sidebar .sidebar-menu ul li.submenu-open > a i {
    color: #15803d !important;
}

/* 4. Submenu Styling */
.sidebar .sidebar-menu .submenu ul li a {
    font-size: 0.9rem;
    padding: 8px 10px 8px 45px; /* Deeper indentation */
    opacity: 0.85;
}

.sidebar .sidebar-menu .submenu ul li a:hover {
    opacity: 1;
    background-color: transparent; /* Keep submenu hover clean */
    color: #15803d !important;
    transform: translateX(3px); /* Smaller shift for sub-items */
}

/* 5. Scrollbar Styling (Webkit) */
.sidebar-menu::-webkit-scrollbar {
    width: 5px;
}

.sidebar-menu::-webkit-scrollbar-track {
    background: transparent;
}

.sidebar-menu::-webkit-scrollbar-thumb {
    background: #e5e7eb;
    border-radius: 10px;
}

.sidebar-menu::-webkit-scrollbar-thumb:hover {
    background: #d1d5db;
}

/* 6. Section Headers */
.sidebar .sidebar-menu .menu-title {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #9ca3af;
    margin-top: 15px;
}

.hover-a:after{
    background: #15803d !important;
}

.login-content form {
    border: 2px solid #ddd;
    border-radius: 8px;
}

div#global-loader {
    background-color: #ffffff !important;
}

div#global-loader .whirly-loader:not(:required) {
  box-shadow: 0 26px 0 6px #15803d, 0.90971px 26.05079px 0 5.93333px #15803d, 1.82297px 26.06967px 0 5.86667px #15803d, 2.73865px 26.05647px 0 5.8px #15803d, 3.65561px 26.01104px 0 5.73333px #15803d, 4.57274px 25.93327px 0 5.66667px #15803d, 5.48887px 25.8231px 0 5.6px #15803d, 6.40287px 25.68049px 0 5.53333px #15803d, 7.31358px 25.50548px 0 5.46667px #15803d, 8.21985px 25.2981px 0 5.4px #15803d, 9.12054px 25.05847px 0 5.33333px #15803d, 10.01448px 24.78672px 0 5.26667px #15803d, 10.90054px 24.48302px 0 5.2px #15803d, 11.77757px 24.1476px 0 5.13333px #15803d, 12.64443px 23.78072px 0 5.06667px #15803d, 13.5px 23.38269px 0 5px #15803d, 14.34315px 22.95384px 0 4.93333px #15803d, 15.17277px 22.49455px 0 4.86667px #15803d, 15.98776px 22.00526px 0 4.8px #15803d, 16.78704px 21.48643px 0 4.73333px #15803d, 17.56953px 20.93855px 0 4.66667px #15803d, 18.33418px 20.36217px 0 4.6px #15803d, 19.07995px 19.75787px 0 4.53333px #15803d, 19.80582px 19.12626px 0 4.46667px #15803d, 20.5108px 18.468px 0 4.4px #15803d, 21.1939px 17.78379px 0 4.33333px #15803d, 21.85416px 17.07434px 0 4.26667px #15803d, 22.49067px 16.34043px 0 4.2px #15803d, 23.10251px 15.58284px 0 4.13333px #15803d, 23.68881px 14.80241px 0 4.06667px #15803d, 24.24871px 14px 0 4px #15803d, 24.7814px 13.1765px 0 3.93333px #15803d, 25.28607px 12.33284px 0 3.86667px #15803d, 25.76198px 11.46997px 0 3.8px #15803d, 26.2084px 10.58888px 0 3.73333px #15803d, 26.62462px 9.69057px 0 3.66667px #15803d, 27.01001px 8.77608px 0 3.6px #15803d, 27.36392px 7.84648px 0 3.53333px #15803d, 27.68577px 6.90284px 0 3.46667px #15803d, 27.97502px 5.94627px 0 3.4px #15803d, 28.23116px 4.97791px 0 3.33333px #15803d, 28.4537px 3.99891px 0 3.26667px #15803d, 28.64223px 3.01042px 0 3.2px #15803d, 28.91571px 1.00976px 0 3.06667px #15803d, 29px 0 0 3px #15803d, 29.04896px -1.01441px 0 2.93333px #15803d, 29.06237px -2.03224px 0 2.86667px #15803d, 29.04004px -3.05223px 0 2.8px #15803d, 28.98185px -4.07313px 0 2.73333px #15803d, 28.88769px -5.09368px 0 2.66667px #15803d, 28.75754px -6.1126px 0 2.6px #15803d, 28.59138px -7.12863px 0 2.53333px #15803d, 28.38926px -8.14049px 0 2.46667px #15803d, 28.15127px -9.1469px 0 2.4px #15803d, 27.87755px -10.1466px 0 2.33333px #15803d, 27.56827px -11.1383px 0 2.26667px #15803d, 27.22365px -12.12075px 0 2.2px #15803d, 26.84398px -13.09268px 0 2.13333px #15803d, 26.42956px -14.05285px 0 2.06667px #15803d, 25.98076px -15px 0 2px #15803d, 25.49798px -15.93291px 0 1.93333px #15803d, 24.98167px -16.85035px 0 1.86667px #15803d, 24.43231px -17.75111px 0 1.8px #15803d, 23.85046px -18.63402px 0 1.73333px #15803d, 23.23668px -19.49789px 0 1.66667px #15803d, 22.5916px -20.34157px 0 1.6px #15803d, 21.91589px -21.16393px 0 1.53333px #15803d, 21.21024px -21.96384px 0 1.46667px #15803d, 20.4754px -22.74023px 0 1.4px #15803d, 19.71215px -23.49203px 0 1.33333px #15803d, 18.92133px -24.2182px 0 1.26667px #15803d, 18.10379px -24.91772px 0 1.2px #15803d, 17.26042px -25.58963px 0 1.13333px #15803d, 16.39217px -26.23295px 0 1.06667px #15803d, 15.5px -26.84679px 0 1px #15803d, 14.58492px -27.43024px 0 0.93333px #15803d, 13.64796px -27.98245px 0 0.86667px #15803d, 12.69018px -28.50262px 0 0.8px #15803d, 11.7127px -28.98995px 0 0.73333px #15803d, 10.71663px -29.4437px 0 0.66667px #15803d, 9.70313px -29.86317px 0 0.6px #15803d, 8.67339px -30.2477px 0 0.53333px #15803d, 7.62860px -30.59666px 0 0.46667px #15803d, 6.57001px -30.90946px 0 0.4px #15803d, 5.49886px -31.18558px 0 0.33333px #15803d, 4.41643px -31.42451px 0 0.26667px #15803d, 3.32401px -31.6258px 0 0.2px #15803d, 2.22291px -31.78904px 0 0.13333px #15803d, 1.11446px -31.91388px 0 0.06667px #15803d, 0 -32px 0 0 #15803d, -1.11911px -32.04713px 0 -0.06667px #15803d, -2.24151px -32.05506px 0 -0.13333px #15803d, -3.36582px -32.02361px 0 -0.2px #15803d, -4.49065px -31.95265px 0 -0.26667px #15803d, -5.61462px -31.84212px 0 -0.33333px #15803d, -6.73634px -31.69198px 0 -0.4px #15803d, -7.8544px -31.50227px 0 -0.46667px #15803d, -8.9674px -31.27305px 0 -0.53333px #15803d, -10.07395px -31.00444px 0 -0.6px #15803d, -11.17266px -30.69663px 0 -0.66667px #15803d, -12.26212px -30.34982px 0 -0.73333px #15803d, -13.34096px -29.96429px 0 -0.8px #15803d, -14.4078px -29.54036px 0 -0.86667px #15803d, -15.46126px -29.07841px 0 -0.93333px #15803d, -16.5px -28.57884px 0 -1px #15803d, -17.52266px -28.04212px 0 -1.06667px #15803d, -18.52792px -27.46878px 0 -1.13333px #15803d, -19.51447px -26.85936px 0 -1.2px #15803d, -20.48101px -26.21449px 0 -1.26667px #15803d, -21.42625px -25.53481px 0 -1.33333px #15803d, -22.34896px -24.82104px 0 -1.4px #15803d, -23.2479px -24.07391px 0 -1.46667px #15803d, -24.12186px -23.29421px 0 -1.53333px #15803d, -24.96967px -22.48279px 0 -1.6px #15803d, -25.79016px -21.64052px 0 -1.66667px #15803d, -26.58223px -20.76831px 0 -1.73333px #15803d, -27.34477px -19.86714px 0 -1.8px #15803d, -28.07674px -18.938px 0 -1.86667px #15803d, -28.7771px -17.98193px 0 -1.93333px #15803d, -29.44486px -17px 0 -2px #15803d, -30.07908px -15.99333px 0 -2.06667px #15803d, -30.67884px -14.96307px 0 -2.13333px #15803d, -31.24325px -13.91039px 0 -2.2px #15803d, -31.7715px -12.83652px 0 -2.26667px #15803d, -32.26278px -11.74269px 0 -2.33333px #15803d, -32.71634px -10.63018px 0 -2.4px #15803d, -33.13149px -9.5003px 0 -2.46667px #15803d, -33.50755px -8.35437px 0 -2.53333px #15803d, -33.84391px -7.19374px 0 -2.6px #15803d, -34.14px -6.0198px 0 -2.66667px #15803d, -34.39531px -4.83395px 0 -2.73333px #15803d, -34.60936px -3.63759px 0 -2.8px #15803d, -34.78173px -2.43218px 0 -2.86667px #15803d, -34.91205px -1.21916px 0 -2.93333px #15803d, -35px 0 0 -3px #15803d, -35.04531px 1.22381px 0 -3.06667px #15803d, -35.04775px 2.45078px 0 -3.13333px #15803d, -35.00717px 3.6794px 0 -3.2px #15803d, -34.92345px 4.90817px 0 -3.26667px #15803d, -34.62643px 7.36007px 0 -3.4px #15803d, -34.41316px 8.58016px 0 -3.46667px #15803d, -34.15683px 9.79431px 0 -3.53333px #15803d, -33.85761px 11.001px 0 -3.6px #15803d, -33.5157px 12.19872px 0 -3.66667px #15803d, -33.13137px 13.38594px 0 -3.73333px #15803d, -32.70493px 14.56117px 0 -3.8px #15803d, -32.23675px 15.72291px 0 -3.86667px #15803d, -31.72725px 16.86968px 0 -3.93333px #15803d, -31.17691px 18px 0 -4px #15803d, -30.58627px 19.11242px 0 -4.06667px #15803d, -29.95589px 20.2055px 0 -4.13333px #15803d, -29.28642px 21.27783px 0 -4.2px #15803d, -28.57852px 22.32799px 0 -4.26667px #15803d, -27.83295px 23.35462px 0 -4.33333px #15803d, -27.05047px 24.35635px 0 -4.4px #15803d, -26.23192px 25.33188px 0 -4.46667px #15803d, -25.37819px 26.27988px 0 -4.53333px #15803d, -24.49018px 27.1991px 0 -4.6px #15803d, -23.56888px 28.0883px 0 -4.66667px #15803d, -22.6153px 28.94626px 0 -4.73333px #15803d, -21.6305px 29.77183px 0 -4.8px #15803d, -20.61558px 30.56385px 0 -4.86667px #15803d, -19.57168px 31.32124px 0 -4.93333px #15803d, -18.5px 32.04294px 0 -5px #15803d, -17.40175px 32.72792px 0 -5.06667px #15803d, -16.27818px 33.37522px 0 -5.13333px #15803d, -15.1306px 33.98389px 0 -5.2px #15803d, -13.96034px 34.55305px 0 -5.26667px #15803d, -12.76875px 35.08186px 0 -5.33333px #15803d, -11.55724px 35.56951px 0 -5.4px #15803d, -10.32721px 36.01527px 0 -5.46667px #15803d, -9.08014px 36.41843px 0 -5.53333px #15803d, -7.81748px 36.77835px 0 -5.6px #15803d, -6.54075px 37.09443px 0 -5.66667px #15803d, -5.25147px 37.36612px 0 -5.73333px #15803d, -3.95118px 37.59293px 0 -5.8px #15803d, -2.64145px 37.77443px 0 -5.86667px #15803d, -1.32385px 37.91023px 0 -5.93333px #15803d;
}


.container_logo,
.logo_image{
    position: relative;
    height: 55px;
    width: 55px;
    overflow: hidden;
 /*   border: 1px solid red;*/
}

.logo_image{
    margin: 0 auto;
    overflow: hidden;
}

.logo-small img{
    height: 70%;
    width: 70%;
    object-fit: contain;
    overflow: hidden;
}

.sidebar .sidebar-menu > ul > li.submenu-open ul li a span,
.settings-sidebar .sidebar-menu > ul > li.submenu-open ul li a span {
    font-size: 15px;
}

.sidebar
.sidebar-logo #toggle_btn:hover {
    background: #3d5847 !important;
}

.sidebar .sidebar-menu .submenu-open
.submenu ul li a::after, .settings-sidebar
.sidebar-menu .submenu-open
.submenu ul li a::after {
    width: 0;
    height: 0;
}

/*
    Dashboard
*/

#cc1-cards .dash-count,
#cc2-cards .dash-count,
#cc3-cards .dash-count,
#cm1-cards .dash-count,
#cm2-cards .dash-count,
#cm3-cards .dash-count {
    border-radius: 15px !important;
}

.dash-count{
    border-radius: 15px !important;
}

#cc1-cards .dash-count:hover,
#cc2-cards .dash-count:hover,
#cc3-cards .dash-count:hover,
#cm1-cards .dash-count:hover,
#cm2-cards .dash-count:hover,
#cm3-cards .dash-count:hover{
    transition: transform 0.3s ease-in-out;
    transform: translateY(-2px);
}

@media (max-width: 576px) {
    .login-content .card-body {
        padding: 2rem 1.5rem;
    }
}

@media (min-width: 900px) and (max-width: 1499.98px) {
    .login-column {
        flex: 0 0 520px;
        max-width: 520px;
    }
}

@media (min-width: 1500px) {
    .login-column {
        flex: 0 0 33.3333%;
        max-width: 33.3333%;
    }
}

.mini-sidebar.expand-menu .sidebar .sidebar-menu .submenu-two ul {
    display: block !important;
}

.sidebar .sidebar-menu > ul > li.submenu-open ul,
.settings-sidebar .sidebar-menu > ul > li.submenu-open ul {
    border-bottom: 1px solid #b8babc;
    padding-bottom: 20px;
}

/* --- Professional Sidebar Design Enhancements --- */

/* 1. Smooth Transitions & Spacing */
.sidebar .sidebar-menu ul li a {
    transition: all 0.3s ease;
    border-radius: 8px; /* Modern pill shape */
    margin: 4px 10px; /* Breathing room */
    position: relative;
    overflow: hidden; /* For ripple effects if added later */
}

/* 2. Hover Effects */
.sidebar .sidebar-menu ul li a:hover {
    background-color: rgba(21, 128, 61, 0.08); /* Very subtle green tint */
    color: #15803d !important; /* Brand green */
    transform: translateX(5px); /* Dynamic movement */
    padding-left: 15px; /* Slight shift for text */
}

.sidebar .sidebar-menu ul li a:hover i {
    color: #15803d !important;
    transform: scale(1.1); /* Subtle icon pop */
    transition: transform 0.3s ease;
}

/* 3. Active State Refinement */
.sidebar .sidebar-menu ul li.active a,
.sidebar .sidebar-menu ul li.submenu-open > a {
    background: linear-gradient(90deg, rgba(21, 128, 61, 0.15) 0%, rgba(255, 255, 255, 0) 100%);
    color: #15803d !important;
    font-weight: 700;
    border-left: 4px solid #15803d;
    border-radius: 4px 8px 8px 4px; /* Flat left side for border */
}

.sidebar .sidebar-menu ul li.active a i,
.sidebar .sidebar-menu ul li.submenu-open > a i {
    color: #15803d !important;
}

/* 4. Submenu Styling */
.sidebar .sidebar-menu .submenu ul li a {
    font-size: 0.9rem;
    padding: 8px 10px 8px 45px; /* Deeper indentation */
    opacity: 0.85;
}

.sidebar .sidebar-menu .submenu ul li a:hover {
    opacity: 1;
    background-color: transparent; /* Keep submenu hover clean */
    color: #15803d !important;
    transform: translateX(3px); /* Smaller shift for sub-items */
}

/* 5. Scrollbar Styling (Webkit) */
.sidebar-menu::-webkit-scrollbar {
    width: 5px;
}

.sidebar-menu::-webkit-scrollbar-track {
    background: transparent;
}

.sidebar-menu::-webkit-scrollbar-thumb {
    background: #e5e7eb;
    border-radius: 10px;
}

.sidebar-menu::-webkit-scrollbar-thumb:hover {
    background: #d1d5db;
}

/* 6. Section Headers */
.sidebar .sidebar-menu .menu-title {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #9ca3af;
    margin-top: 15px;
    margin-bottom: 5px;
    padding-left: 20px;
    font-weight: 700;
}

/* --- Accordion Visual Enhancements --- */

/* Add Chevron Icon */
.sidebar .sidebar-menu .submenu > a::after,
.sidebar .sidebar-menu .submenu-two > a::after {
    content: '\f054'; /* Font Awesome Chevron Right */
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 12px;
    transition: transform 0.3s ease;
    color: #6b7280; /* Neutral gray */
}


.logo_image{
    margin: 0 auto;
    overflow: hidden;
}

.logo-small img{
    height: 70%;
    width: 70%;
    object-fit: contain;
    overflow: hidden;
}

.sidebar .sidebar-menu > ul > li.submenu-open ul li a span,
.settings-sidebar .sidebar-menu > ul > li.submenu-open ul li a span {
    font-size: 15px;
}

.sidebar 
.sidebar-logo #toggle_btn:hover {
    background: #3d5847 !important;
}

.sidebar .sidebar-menu .submenu-open 
.submenu ul li a::after, .settings-sidebar 
.sidebar-menu .submenu-open 
.submenu ul li a::after {
    width: 0;
    height: 0;
}

/*
    Dashboard
*/

#cc1-cards .dash-count,
#cc2-cards .dash-count,
#cc3-cards .dash-count,
#cm1-cards .dash-count,
#cm2-cards .dash-count,
#cm3-cards .dash-count {
    border-radius: 15px !important;
}

.dash-count{
    border-radius: 15px !important;
}

#cc1-cards .dash-count:hover,
#cc2-cards .dash-count:hover,
#cc3-cards .dash-count:hover,
#cm1-cards .dash-count:hover,
#cm2-cards .dash-count:hover,
#cm3-cards .dash-count:hover{
    transition: transform 0.3s ease-in-out;
    transform: translateY(-2px);
}

@media (max-width: 576px) {
    .login-content .card-body {
        padding: 2rem 1.5rem;
    }
}

@media (min-width: 900px) and (max-width: 1499.98px) {
    .login-column {
        flex: 0 0 520px;
        max-width: 520px;
    }
}

@media (min-width: 1500px) {
    .login-column {
        flex: 0 0 33.3333%;
        max-width: 33.3333%;
    }
}

.mini-sidebar.expand-menu .sidebar .sidebar-menu .submenu-two ul {
    display: block !important;
}

.sidebar .sidebar-menu > ul > li.submenu-open ul,
.settings-sidebar .sidebar-menu > ul > li.submenu-open ul {
    border-bottom: 1px solid #b8babc;
    padding-bottom: 20px;
}

/* --- Professional Sidebar Design Enhancements --- */

/* 1. Smooth Transitions & Spacing */
.sidebar .sidebar-menu ul li a {
    transition: all 0.3s ease;
    border-radius: 8px; /* Modern pill shape */
    margin: 4px 10px; /* Breathing room */
    position: relative;
    overflow: hidden; /* For ripple effects if added later */
}

/* 2. Hover Effects */
.sidebar .sidebar-menu ul li a:hover {
    background-color: rgba(21, 128, 61, 0.08); /* Very subtle green tint */
    color: #15803d !important; /* Brand green */
    transform: translateX(5px); /* Dynamic movement */
    padding-left: 15px; /* Slight shift for text */
}

.sidebar .sidebar-menu ul li a:hover i {
    color: #15803d !important;
    transform: scale(1.1); /* Subtle icon pop */
    transition: transform 0.3s ease;
}

/* 3. Active State Refinement */
.sidebar .sidebar-menu ul li.active a,
.sidebar .sidebar-menu ul li.submenu-open > a {
    background: linear-gradient(90deg, rgba(21, 128, 61, 0.15) 0%, rgba(255, 255, 255, 0) 100%);
    color: #15803d !important;
    font-weight: 700;
    border-left: 4px solid #15803d;
    border-radius: 4px 8px 8px 4px; /* Flat left side for border */
}

.sidebar .sidebar-menu ul li.active a i,
.sidebar .sidebar-menu ul li.submenu-open > a i {
    color: #15803d !important;
}

/* 4. Submenu Styling */
.sidebar .sidebar-menu .submenu ul li a {
    font-size: 0.9rem;
    padding: 8px 10px 8px 45px; /* Deeper indentation */
    opacity: 0.85;
}

.sidebar .sidebar-menu .submenu ul li a:hover {
    opacity: 1;
    background-color: transparent; /* Keep submenu hover clean */
    color: #15803d !important;
    transform: translateX(3px); /* Smaller shift for sub-items */
}

/* 5. Scrollbar Styling (Webkit) */
.sidebar-menu::-webkit-scrollbar {
    width: 5px;
}

.sidebar-menu::-webkit-scrollbar-track {
    background: transparent;
}

.sidebar-menu::-webkit-scrollbar-thumb {
    background: #e5e7eb;
    border-radius: 10px;
}

.sidebar-menu::-webkit-scrollbar-thumb:hover {
    background: #d1d5db;
}

/* 6. Section Headers */
.sidebar .sidebar-menu .menu-title {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #9ca3af;
    margin-top: 15px;
    margin-bottom: 5px;
    padding-left: 20px;
    font-weight: 700;
}

/* --- Accordion Visual Enhancements --- */

/* Add Chevron Icon */
.sidebar .sidebar-menu .submenu > a::after,
.sidebar .sidebar-menu .submenu-two > a::after {
    content: '\f054'; /* Font Awesome Chevron Right */
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 12px;
    transition: transform 0.3s ease;
    color: #6b7280; /* Neutral gray */
}

/* Rotate Icon when Open */
.sidebar .sidebar-menu .submenu > a.subdrop::after,
.sidebar .sidebar-menu .submenu-two > a.subdrop::after {
    transform: translateY(-50%) rotate(90deg);
    color: #15803d; /* Active color */
}

/* Hide default arrow if present to avoid duplication */
.sidebar .sidebar-menu .submenu > a .menu-arrow,
.sidebar .sidebar-menu .submenu-two > a .menu-arrow {
    display: none !important;
}

/* Set base color for all sidebar icons */
.sidebar i,
.sidebar .sidebar-menu i {
    color: #15803d !important;
}

/* Custom icon size for money bill wave in dashboard cards */
.dash-imgs .fa-money-bill-wave {
    font-size: 1.4rem !important;
}

/* --- Fix Select2 Design to match Bootstrap 5 --- */
.select2-container .select2-selection--single {
    height: 38px !important;
    border: 1px solid #ced4da !important;
    border-radius: 0.375rem !important;
    padding: 0.375rem 0.75rem;
    display: flex;
    align-items: center;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: normal !important;
    padding-left: 0 !important;
    color: #212529 !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 36px !important;
    top: 1px !important;
    right: 5px !important;
}

.select2-dropdown {
    border: 1px solid #ced4da !important;
    border-radius: 0.375rem !important;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
}

.select2-results__option {
    padding: 6px 12px !important;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: #15803d !important;
    color: white !important;
}

/* Fix Arrow Icon */
/* Fix Arrow Icon with FontAwesome */
.select2-container--default .select2-selection--single .select2-selection__arrow b {
    border: none !important; /* Remove CSS triangle */
    height: 100% !important;
    width: 100% !important;
    left: 0 !important;
    top: 0 !important;
    margin: 0 !important;
    position: relative !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    transform: none !important; /* Reset rotation */
}

.select2-container--default .select2-selection--single .select2-selection__arrow b::before {
    content: '\f107';
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 12px;
    color: #6c757d;
}

.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b::before {
    content: '\f106';
}

/* ==========================================================
   PONACASH - Infinite bubbles background (login pages only)
   - No HTML changes required (uses pseudo-elements)
   - Safe: pointer-events none, behind content
   ========================================================== */
body.account-page {
    position: relative;
    overflow: hidden;
}

body.account-page .main-wrapper {
    position: relative;
    z-index: 1;
    isolation: isolate; /* clean layering for waves */
}

/* ==========================================================
   Wave effect on main-wrapper (login pages only)
   Tailwind-ish: soft gradients, clean motion, responsive.
   ========================================================== */
body.account-page .main-wrapper .account-content {
    position: relative;
    z-index: 2; /* keep content above waves */
}

/* Congo-Brazzaville inspired palette */
:root {
    --pc-cg-green: 0, 149, 67;   /* approx flag green */
    --pc-cg-yellow: 251, 222, 74;/* approx flag yellow */
    --pc-cg-red: 220, 36, 31;    /* approx flag red */
    --pc-ink: 2, 6, 23;
}

body.account-page .main-wrapper::before,
body.account-page .main-wrapper::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    /* 높 enough to reach mid screen */
    height: clamp(320px, 56vh, 720px);
    pointer-events: none;
    z-index: 1;
    background-size: 220% 100%;
    will-change: transform, background-position;
    animation: pc-wave-move 14s ease-in-out infinite;
}

/* back wave (softer) */
body.account-page .main-wrapper::before {
    opacity: 0.55;
    filter: blur(0.4px);
    height: clamp(360px, 60vh, 780px);
    background-image: linear-gradient(
        90deg,
        rgba(var(--pc-cg-green), 0.18) 0%,
        rgba(var(--pc-cg-yellow), 0.14) 35%,
        rgba(var(--pc-cg-red), 0.12) 70%,
        rgba(var(--pc-ink), 0.06) 100%
    );
    clip-path: polygon(
        0% 58%,
        8% 52%,
        16% 56%,
        24% 48%,
        32% 54%,
        40% 46%,
        48% 53%,
        56% 45%,
        64% 52%,
        72% 48%,
        80% 54%,
        88% 50%,
        100% 56%,
        100% 100%,
        0% 100%
    );
    animation-duration: 18s;
    animation-delay: -6s;
}

/* front wave (a bit stronger) */
body.account-page .main-wrapper::after {
    opacity: 0.65;
    background-image: linear-gradient(
        90deg,
        rgba(var(--pc-cg-green), 0.22) 0%,
        rgba(var(--pc-cg-yellow), 0.18) 45%,
        rgba(var(--pc-cg-red), 0.14) 100%
    );
    clip-path: polygon(
        0% 66%,
        10% 58%,
        20% 64%,
        30% 55%,
        40% 62%,
        50% 54%,
        60% 61%,
        70% 56%,
        80% 63%,
        90% 59%,
        100% 64%,
        100% 100%,
        0% 100%
    );
}

/* third wave layer (middle), attached to account-content */
body.account-page .main-wrapper .account-content::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: clamp(300px, 52vh, 680px);
    pointer-events: none;
    z-index: 1;
    opacity: 0.55;
    background-size: 240% 100%;
    background-image: linear-gradient(
        90deg,
        rgba(var(--pc-cg-yellow), 0.12) 0%,
        rgba(var(--pc-cg-green), 0.16) 40%,
        rgba(var(--pc-cg-red), 0.12) 85%,
        rgba(var(--pc-ink), 0.05) 100%
    );
    clip-path: polygon(
        0% 72%,
        9% 66%,
        18% 70%,
        27% 62%,
        36% 68%,
        45% 61%,
        54% 67%,
        63% 62%,
        72% 69%,
        81% 64%,
        90% 70%,
        100% 66%,
        100% 100%,
        0% 100%
    );
    animation: pc-wave-move 16s ease-in-out infinite;
    animation-delay: -9s;
}

@keyframes pc-wave-move {
    0% {
        background-position: 0% 0%;
        transform: translate3d(0, 6px, 0);
    }
    50% {
        background-position: 100% 0%;
        transform: translate3d(0, 0, 0);
    }
    100% {
        background-position: 0% 0%;
        transform: translate3d(0, 6px, 0);
    }
}

@media (prefers-reduced-motion: reduce) {
    body.account-page .main-wrapper::before,
    body.account-page .main-wrapper::after {
        animation: none;
        transform: none;
        background-position: 0 0;
    }
    body.account-page .main-wrapper .account-content::before {
        animation: none;
        transform: none;
        background-position: 0 0;
    }
}

body.account-page::before,
body.account-page::after {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    background-repeat: no-repeat;
    will-change: transform;
    animation: pc-bubbles-rise 22s linear infinite, pc-bubbles-sway 7s ease-in-out infinite;
}

body.account-page::before {
    opacity: 0.55; /* make it clearly visible */
    background-image:
        /* Green bubbles */
        radial-gradient(circle at 8% 86%, rgba(21, 128, 61, 0.30) 0, rgba(21, 128, 61, 0.30) 22px, transparent 23px),
        radial-gradient(circle at 26% 92%, rgba(34, 197, 94, 0.26) 0, rgba(34, 197, 94, 0.26) 28px, transparent 29px),
        radial-gradient(circle at 42% 88%, rgba(21, 128, 61, 0.24) 0, rgba(21, 128, 61, 0.24) 32px, transparent 33px),
        radial-gradient(circle at 61% 80%, rgba(22, 163, 74, 0.26) 0, rgba(22, 163, 74, 0.26) 24px, transparent 25px),
        radial-gradient(circle at 79% 90%, rgba(21, 128, 61, 0.24) 0, rgba(21, 128, 61, 0.24) 36px, transparent 37px),
        radial-gradient(circle at 95% 92%, rgba(34, 197, 94, 0.20) 0, rgba(34, 197, 94, 0.20) 64px, transparent 65px),
        /* Red bubbles */
        radial-gradient(circle at 18% 64%, rgba(220, 38, 38, 0.18) 0, rgba(220, 38, 38, 0.18) 38px, transparent 39px),
        radial-gradient(circle at 52% 60%, rgba(239, 68, 68, 0.14) 0, rgba(239, 68, 68, 0.14) 44px, transparent 45px),
        radial-gradient(circle at 88% 74%, rgba(185, 28, 28, 0.14) 0, rgba(185, 28, 28, 0.14) 40px, transparent 41px),
        /* Black/ink bubbles */
        radial-gradient(circle at 33% 72%, rgba(2, 6, 23, 0.12) 0, rgba(2, 6, 23, 0.12) 52px, transparent 53px),
        radial-gradient(circle at 70% 66%, rgba(0, 0, 0, 0.10) 0, rgba(0, 0, 0, 0.10) 58px, transparent 59px);
}

body.account-page::after {
    opacity: 0.32;
    filter: blur(1px);
    animation-duration: 30s, 9s;
    animation-delay: -15s, -2s;
    background-image:
        radial-gradient(circle at 12% 96%, rgba(255, 255, 255, 0.30) 0, rgba(255, 255, 255, 0.30) 12px, transparent 13px),
        radial-gradient(circle at 31% 94%, rgba(255, 255, 255, 0.22) 0, rgba(255, 255, 255, 0.22) 14px, transparent 15px),
        radial-gradient(circle at 58% 90%, rgba(255, 255, 255, 0.20) 0, rgba(255, 255, 255, 0.20) 16px, transparent 17px),
        radial-gradient(circle at 76% 92%, rgba(255, 255, 255, 0.20) 0, rgba(255, 255, 255, 0.20) 18px, transparent 19px),
        /* Soft green/red/ink accents */
        radial-gradient(circle at 22% 78%, rgba(21, 128, 61, 0.16) 0, rgba(21, 128, 61, 0.16) 74px, transparent 75px),
        radial-gradient(circle at 46% 82%, rgba(220, 38, 38, 0.10) 0, rgba(220, 38, 38, 0.10) 82px, transparent 83px),
        radial-gradient(circle at 67% 76%, rgba(0, 0, 0, 0.08) 0, rgba(0, 0, 0, 0.08) 96px, transparent 97px),
        radial-gradient(circle at 90% 84%, rgba(34, 197, 94, 0.10) 0, rgba(34, 197, 94, 0.10) 70px, transparent 71px);
}

@keyframes pc-bubbles-rise {
    from { transform: translate3d(0, 18vh, 0); }
    to { transform: translate3d(0, -130vh, 0); }
}

@keyframes pc-bubbles-sway {
    0%, 100% { margin-left: 0; }
    50% { margin-left: 12px; }
}

@media (prefers-reduced-motion: reduce) {
    body.account-page::before,
    body.account-page::after {
        animation: none;
        transform: none;
    }
}

/* ==========================================================
   Login card (Connexion) - subtle animated gradient background
   Targets only the first login form (no id attribute).
   ========================================================== */
body.account-page .user-login form.w-100:not([id]) .card {
    background: linear-gradient(
        135deg,
        #ffffff 0%,
        #fcfcfd 35%,
        #f6f7f8 70%,
        #eef0f2 100%
    );
    background-size: 180% 180%;
    animation: pc-card-gradient 14s ease-in-out infinite;
}

@keyframes pc-card-gradient {
    0% { background-position: 0% 20%; }
    50% { background-position: 100% 80%; }
    100% { background-position: 0% 20%; }
}

@media (prefers-reduced-motion: reduce) {
    body.account-page .user-login form.w-100:not([id]) .card {
        animation: none;
        background-size: auto;
        background-position: 0 0;
    }
}

/* ==========================================================
   Dashboard/app: force brand focus styling everywhere
   (Some pages override focus styles in assets/css/style.css)
   ========================================================== */
.main-wrapper input.form-control:focus,
.main-wrapper textarea.form-control:focus,
.main-wrapper select.form-select:focus,
.main-wrapper select.form-control:focus {
    border-color: var(--pc-brand) !important;
    box-shadow: 0 0 0 0.25rem var(--pc-brand-ring) !important;
}

.main-wrapper .form-check-input:focus {
    border-color: var(--pc-brand) !important;
    box-shadow: 0 0 0 0.25rem var(--pc-brand-ring) !important;
}

.main-wrapper .input-group:focus-within {
    border-radius: 0.375rem;
    box-shadow: 0 0 0 0.25rem var(--pc-brand-ring) !important;
}
.main-wrapper .input-group:focus-within .form-control,
.main-wrapper .input-group:focus-within .form-select,
.main-wrapper .input-group:focus-within .input-group-text {
    border-color: var(--pc-brand) !important;
}
.main-wrapper .input-group:focus-within .form-control:focus,
.main-wrapper .input-group:focus-within .form-select:focus {
    box-shadow: none !important;
}

/* Select2 (used a lot in dashboards) */
.main-wrapper .select2-container--default.select2-container--focus .select2-selection--single,
.main-wrapper .select2-container--default.select2-container--open .select2-selection--single {
    border-color: var(--pc-brand) !important;
    box-shadow: 0 0 0 0.25rem var(--pc-brand-ring) !important;
}

.btn-max-content {
    width: max-content;
    max-width: max-content;
    flex: 0 0 auto;
}

/* Sidebar paramètres profil : contenu visible, scroll si nécessaire */
.settings-wrapper .settings-sidebar .settings-sidebar-inner,
.settings-wrapper .settings-sidebar #sidebar-menu5.sidebar-menu {
    height: auto;
    max-height: none;
    overflow-x: hidden;
    overflow-y: auto;
}

.settings-wrapper .settings-sidebar .slimScrollDiv,
.settings-wrapper .settings-sidebar .sidebar-inner.slimscroll {
    height: auto !important;
    max-height: none !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
}

/* Menu profil mobile : même apparence que le menu desktop */
@media (max-width: 992px) {
    .header .mobile-user-menu .dropdown-menu.menu-drop-user {
        min-width: 220px;
        padding: 8px;
        border-radius: 8px;
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
    }

    .header .mobile-user-menu .profileset {
        background-color: #15803d !important;
        border-radius: 10px 10px 0 0 !important;
        margin: -10px -10px 10px -10px !important;
        padding: 1rem !important;
    }

    .header .mobile-user-menu .dropdown-item {
        display: flex;
        align-items: center;
        padding: 8px 16px;
        font-weight: 500;
        color: #37404A;
        line-height: normal;
    }

    .header .mobile-user-menu .dropdown-item.logout {
        color: #FF0000;
    }

    /* Sidebar paramètres profil : visible et empilée au-dessus du contenu */
    .settings-wrapper {
        flex-direction: column !important;
    }

    .settings-wrapper .settings-sidebar {
        display: block !important;
        width: 100% !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
        margin-bottom: 1rem;
        position: relative !important;
        top: auto !important;
        left: auto !important;
        bottom: auto !important;
    }

    .settings-wrapper .settings-sidebar .slimScrollDiv,
    .settings-wrapper .settings-sidebar .sidebar-inner.slimscroll {
        width: 100% !important;
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
    }

    .settings-bottom-btn {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-end;
        gap: 0.75rem;
        margin-top: 1.25rem !important;
    }

    .settings-bottom-btn .btn {
        margin-right: 0 !important;
    }
}
