
  
:root{
    --color-primary:#338af3;
    --color-danger:#ff7782;
    --color-success:#41f1b6;
    --color-warning:#ffcc00;
    --color-white:#fff;
    --color-info-dark:#7d8da1;
    --color-info-light:#dce1eb;
    --color-dark:#363949;
    --color-light:rgba(132,139,200,0.18);
    --color-primary-variant:#0b04ac;
    --color-dark-variant:#677483;
    --color-background:#DDE8F0;

    --card-border-radius:2rem;
    --border-radius-1:0.4rem;
    --border-radius-2:0.8rem;
    --borde-radius-3:1.2rem;

    --card-padding:1.8rem;
    --padding-1:1.2rem;

    --box-shadow:0 2rem 3rem var(--color-light);
}
/*============ DARK THEME VARIABLES ===============*/
.dark-theme-variables{
    --color-background:#181a1e;
    --color-white:#202528;
    --color-dark:#edeffd;
    --color-dark-variant:#a3bdcc;
    --color-light:rgba(0,0,0,0.4);
    --box-shadow:0 2rem 3rem var(--color-light);
}

* {
    font-family: 'Source Sans Pro', sans-serif;
    margin: 0;
    padding: 0;
    border: 0;
    appearance: none;
    text-decoration: none;
    box-sizing: border-box;
    list-style: none;
}
textarea:focus, input:focus{
    outline: none;
}

aside a{
    text-decoration: none;
}
html{
    font-size: 14px;
}
body{
    box-sizing: border-box;
    width: 100vw;
    height: 100vh;
    font-size: 0.88rem;
    background: var(--color-background);
    /* user-select: none; */
    overflow-x: hidden;
    color: var(--color-dark);
    
    
}


a{
    color: var(--color-dark);
}
img{
    display: block;
    width: 100%;
}
h1{
    font-weight: 800;
    font-size: 1.8rem;
}
h2{
    font-size: 1.4rem;
}
h3{
    font-size: 0.87rem;
}
h4{
    font-size: 0.8rem;
}
h5{
    font-size: 0.77rem;
}
small{
    font-size: 0.75rem;
}
.profile-photo{
    width: 2.8rem;
    height: 2.8rem;
    border-radius: 50%;
    overflow: hidden;
    border: 3px solid var(--color-white);

}

.profile-icon{
    width: 2.3rem;
    height: 2.3rem;
    border-radius: var(--border-radius-1);
    overflow: hidden;
    background: var(--color-white); 
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--color-primary);
    margin-right: 1rem;

}
.text-muted{
    color: var(--color-info-light);
}
p{
    color: var(--color-dark-variant);
}
b{
    color: var(--color-dark);
}
.primary{
    color: var(--color-primary);
}
.danger{
    color: var(--color-danger);
}
.success{
    color: var(--color-success);
}
.warning{
    color: var(--color-warning);
}
.app{
    background: var(--color-white);
    width: 94vw;
    height: 90vh;
    border-radius: var(--border-radius-2);
    margin: auto;
    margin-top: 5vh;
    box-shadow: var(--box-shadow);
    overflow: hidden;
    box-sizing: border-box;
    position: relative;
}
.corner-img{
    position: absolute;
    bottom: 0;
    left: 0;
    width: 17rem;
}
.logo-marie{
    height: 10rem;
    width: 10rem;
    border-radius: 100%;
    margin: 2rem 0;
    border:0.5rem solid #e9cf44;
    box-shadow: 0 0 4px  black
}
.my-form .titre1{
    color: var(--color-dark);
}
.my-form .titre2{
    color: var(--color-dark);
    margin-bottom: 1rem;
}
.logo{
    display: flex;
    height: 50px;
    align-items: center;
}
.logo img{
    height: 100%;
    width: auto;
}
.login{
    display: grid;
    grid-template-columns: 2fr 1fr;
    height: 100%;
}
.login-brand{
    background-color: var(--color-primary);
    /* background-image: url(../img/flag.jpg); */
    background-size: cover;
    color: var(--color-white);
    height: 100%;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    
}
.overlay-brand{
    width: 100%;
    height: 100%;
    padding: var(--card-padding);
    background: rgba(51,153,255,0.9);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

}
.login-brand p{
    color: var(--color-background);
    padding-top: 0.5rem;
}
.login-brand a{
    display: block;
    color: var(--color-background);
    padding: var(--padding-1);
    border: 0.5px solid var(--color-white);
    border-radius: var(--card-border-radius);
    margin-top: 1rem;
}
.login-form{
    padding: var(--card-padding);
}

.my-form{
    height: 100%;
    text-align: center;
    display: flex;
    flex-direction: column;
    
    align-items: center;
    padding: var(--card-padding); 
}
.my-form h2{
    color: var(--color-primary);
    
}
.group-input-icon{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    background: var(--color-background);
    height: 40px;
    width: 60%;
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
    padding-left: 1rem;
}
.group-input-icon-2{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    background: var(--color-background);
    height: 40px;
    width: 80%;
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
    padding-left: 1rem;
}
.group-input-icon .zdt{
    background: transparent;
    height: 100%;
    padding-left: 0.5rem;
    
}
.group-input-icon-2 .zdt{
    background: transparent;
    height: 100%;
    padding-left: 0.5rem;
    
}
.my-form p{
    margin-bottom: 0.5rem;
    
}
.my-form img{
   
    height: 7rem;
    width: auto;
}
.btn-rounded{
    display: block;
    color: var(--color-background);
    padding: var(--padding-1) var(--card-padding);
   background: var(--color-primary);
    border-radius: var(--card-border-radius);
    margin-top: 1rem;
    
}
.btn-rounded-1{
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--color-background);
    padding: 0.8rem var(--card-padding);
   background: var(--color-primary);
    border-radius: var(--border-radius-1);
 
    
}
.btn-rounded-1 span{
    margin-left: 0.2rem;
}

/* Boite de dialogue */

.box-overlay{
    width: 100vw;
    height: 100vh;
    position: fixed;
    background: rgba(0,51,102,0.4);
    top:0;
    z-index: 999;
}
.dialog-small{
    position: fixed;
    top: 17%;
    left: 32%;
    width: 36%;
    background: var(--color-white);
    border-radius: var(--border-radius-1);
    overflow: hidden;
    box-shadow: var(--box-shadow);
    z-index: 998;
}
.dialog-medium{
    position: fixed;
    top: 17%;
    left: 25%;
    width: 50%;
    background: var(--color-white);
    border-radius: var(--border-radius-1);
    overflow: hidden;
    box-shadow: var(--box-shadow);
    position: relative;
    display: grid;
    grid-template-columns: 5rem 1fr;
    box-shadow: var(--box-shadow);
}

.dialog-rapport{
    position: fixed;
    top: 17%;
    left: 20%;
    width: 60%;
    background: var(--color-white);
    border-radius: var(--border-radius-1);
    overflow: hidden;
    box-shadow: var(--box-shadow);
    position: relative;
   
    box-shadow: var(--box-shadow);
   
}

.dialog-validation{
    position: fixed;
    top: 25%;
    left: 35%;
    width: 30%;
    background: var(--color-white);
    border-radius: var(--border-radius-1);
    overflow: hidden;
    box-shadow: var(--box-shadow);
    z-index: 998;
}
.dialog-medium .fermer,.dialog-rapport .fermer{
   
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;

}
.dialog-menu{
    background: var(--color-background);
    height: 100%;
   display: flex;
   flex-direction: column;

}
.dialog-menu a{
    display: flex;
    justify-content: center;
    align-items: center;
    padding: var(--padding-1);
}
.dialog-menu .active-info-menu{
    background: var(--color-primary);
    color: var(--color-white);
    border-radius: 0;
}
.infos-compte{
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 1rem;
}

.group-input-transparent{
    display: flex;
    flex-direction: column;
    padding: 0.5rem;
}
.group-input-transparent input{
    border-bottom: 1px solid var(--color-dark);
    padding: 0.5rem 0;
}
.form-numero,.form-numero-favori,.form-achat,
.form-depot,.form-user,.form-owner,.form-modele,.form-voiture,.details-client{
    display: none;
}
.dialogue-title{
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 30px;
    background: var(--color-primary);
    color: var(--color-background);
    padding: 0.3rem;
    
}
.dialogue-title img{
    width: auto;
    height: 100%;
}
.dialogue-title a{
    color: var(--color-background);
}
.dialog-body{
    padding: var(--card-padding);
    display: flex;
    flex-direction: column;
    align-items: center;
}
.row-form{
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.alert-danger{
    display: flex;
    justify-content: center;
    align-items: center;
    border: 0.02rem solid #a44738;
    padding: 0.6rem;
    background: #f2dedf;
    color: #a44738;
    border-radius: 4px;
    margin-top: 2rem;
}
.alert-danger p{
    color: #a44738;
}
.alert-success{
    display: flex;
    justify-content: center;
    align-items: center;
    border: 0.02rem solid #295532;
    padding: 0.6rem;
    background: #def0d8;
    color:#295532;
    border-radius: 4px;
    margin-top: 2rem;
}
.alert-success p{
    color:#295532;
}

.alert-danger span,.alert-success span{
    margin-right: 0.6rem;
}
.numero-favoris{
    display: flex;
   
}
.numero-favoris a{
    display: flex;
    justify-content: space-between;
    align-items: center;
    /* border: 0.5px solid var(--color-primary); */
    border-radius: var(--card-border-radius);
    margin: 0.3rem;
    padding: 0.5rem;
    background: var(--color-background);
}
.numero-favoris a span{
    margin-right: 0.3rem;
}
.numero-favoris .active-rbtn{
    background: var(--color-primary);
    color: var(--color-white);
}
.btn-icon{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.btn-icon span{
    margin-right: 0.2rem;
}

/* Menu principal */
.menu{
    width: 100%;
    padding: 1rem;
   
}
.menu-logo{
    display: flex;
    height: 40px;
    justify-content: flex-start;
    align-items: center;
    padding: 0.3rem;
    margin-top: 1rem;
    width: 100%;
}
.menu-logo img{
    width: auto;
    height: 100%;
}
.menu-logo h2{
    color: var(--color-primary);
    margin-left: 0.5rem;
}
.menu-logo span{
    display: none;
}
.menu-list{
    display: flex;
    flex-direction: column;
    padding-top: var(--card-padding);
    width: 100%;
}
.menu-list a{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-bottom: 2rem;
    padding-left: 1rem;
    transition: all 300ms ease;
   
}
.menu-list a:hover{
    transform: scale(1.1);
    color: var(--color-primary);
}
.menu-list a h3{
    font-weight: normal;
    margin-left: 0.3rem;
}
.active{
    
    color: var(--color-primary);
    background: var(--color-background);
    border-radius: var(--border-radius-1);
    padding: var(--padding-1);
}
.menu-list .active h3{
    font-weight: bold;
}
/* Fenetre principale */

.main-container{
    display: grid;
    grid-template-columns: 20% 1fr;
    gap: 0;
    padding: 0.2rem;
    height: 100%;
}
.app-body{
    background: var(--color-background);
    border-radius: 0 var(--border-radius-2) var(--border-radius-2)  0 ;
    height: 100%;
    padding: 1.5rem;
}
.top-bar{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.profil{
    display: flex;
    align-items: center;
}
.corps{
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
    padding-top: 2.5em;
}
.activites,.right{
    background: var(--color-white);
    padding: var(--card-padding);
    border-radius: var(--borde-radius-3);
    box-shadow: var(--box-shadow);
}
.balance{
    text-align: center;
}
.balance h1{
    margin-bottom: 0.5rem;
    color: var(--color-primary);
}
.right h3{
    text-align: center;
    margin-bottom: 1rem;
}


.transaction-icon{
    width: 2.3rem;
    height: 2.3rem;
    border-radius: var(--border-radius-1);
    overflow: hidden;
    background: var(--color-background); 
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--color-primary);
    margin-right: 1rem;

}
.transaction{
    display: flex;
    justify-content: space-between;
    align-items: center;
    
}
.operation{
    display: flex;
    justify-content: flex-start;
    align-items: center; 
    margin-top: 1.8rem;
}
.montant-depot{
    color: var(--color-primary);
}
.montant-depot .entree{
    color: var(--color-primary);

}
.montant-depot .sortie{
    color: #677483;
   
}
.social-networks{
    display: flex;
    justify-content: center;
    align-items: center;
}

.social-icon{
    width: 3.8rem;
    height: 3.8rem;
    border-radius: 50%;
    overflow: hidden;
    border: 1px solid var(--color-primary);
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0.5rem;
    padding: 0.3rem;
}
.social-icon img{
    width: 100%;
    height: auto;
}
.new-categorie,.new-marque{
   
    width: 100%;
    display: flex;
    justify-content: center;
}
.mt-2{
    top: 5%;
}
.cadre-image{
    display: flex;
    width: 7rem;
    height: 7rem;
    border-radius: 100%;

 margin: 1rem 0;
 position: relative;
 box-sizing: border-box;
 padding: 0.3rem;
 box-shadow: 0 0 2px var(--color-background);

}
.cadre-image img{
    height: 100%;
    border-radius: 100%;
}

.block-upload{
    width: 100%;
    display: flex;
    justify-content: center;
}

.cadre-image-carre{
    display: flex;
    justify-content: center;
    
   width: 80%;
   margin: auto;

 margin: 1rem 0;
 position: relative;
 box-sizing: border-box;
 padding: 0.3rem;
 box-shadow: 0 0 2px var(--color-background);

}
.cadre-image-carre img{
    height: 100%;
   
}
.edit-icon{
    display: flex;
    justify-content: center;
    align-items:center;
    background: var(--color-background);
    height: 2rem;
    width: 2rem;
    border-radius: 100%;
    position: absolute;
    top: 1rem;
    right: 1rem;
    cursor: pointer;

}
.edit-icon-1{
    display: flex;
    justify-content: center;
    align-items:center;
    background: var(--color-primary);
    height: 1.5rem;
    width: 1.5rem;
    border-radius: 100%;
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    cursor: pointer;
    color: var(--color-white);

}
.list-users{
    background: var(--color-white);
    padding: 1rem var(--card-padding);
    border-radius: var(--border-radius-1);
    box-shadow: var(--box-shadow);
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.zone-recherche{
    width: 70%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.zone-recherche .group-input-icon-2{
    width: 70%;
    border-radius: var(--border-radius-1);
}
.zone-recherche .group-input-icon-2 .zdt{
    width: 100%;
}
.users-list-items{
    display: grid;
    grid-template-columns: repeat(7,1fr);
    gap: 1rem;
}
.owners-list-items{
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 1rem; 
}
.car-list-items{
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 1rem; 
}
.modeles-list-items{
    display: grid;
    grid-template-columns: repeat(5,1fr);
    gap: 1rem; 
}
.user-card{
    background: var(--color-white);
    padding:0.3rem;
    border-radius: var(--border-radius-1);
    text-align: center;
    position: relative;
    z-index: 1;
}
.user-card img{
    margin-bottom: 0.3rem;
}
.icon-status{
    width: 0.7rem;
    margin-right: 0.3rem;
}
.status{
    display: flex;
    justify-content: center;
    align-items: center;
}
.owner-card{
    background: var(--color-white);
    padding:1rem;
    border-radius: var(--border-radius-1);
    text-align: center;
    position: relative;
    z-index: 1; 
    text-align: left;
}
.card-entete{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-bottom: 0.3rem;

}
.block-date{
    display: flex;
    justify-content: space-between;
    align-items: center; 
    text-align: left;
    margin-top: 0.5rem;
}
.block-date h3{
    color: var(--color-primary);
    margin-bottom: 0.3rem;
    font-weight: normal;
}
.block-btn{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.5rem 0;
    color: var(--color-primary);
}
.block-btn a{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    color: var(--color-primary);
}
.block-btn a h3{
    margin-right: 0.3rem;
}
.block-btn span{
    display: flex;
    justify-content: center;
    align-items: center;
    height: 2rem;
    width: 2rem;
    border-radius: 100%;
    background: var(--color-background);
}
.modele-card{
background: var(--color-white);
padding:1rem;
border-radius: var(--border-radius-1);
text-align: center;
position: relative;
z-index: 1; 

}
.btn-sm-primay{
    background: var(--color-primary);
    color: var(--color-background);
    text-align: center;
    padding: 0.4em 0.2rem ;
    border-radius: 0.2rem;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 1rem;
}
.entete-modele{
    display: flex;
    justify-content: center;
    margin-bottom: 0.3rem;
}

.car-card{
    background: var(--color-white);
    padding:0.5rem;
    border-radius: var(--border-radius-2);
    text-align: center;
    position: relative;
    z-index: 1;
}
.car-card img{
    margin-bottom: 0.3rem;
    border-radius: var(--border-radius-2);
}
.dashboard-body{
    display: grid;
    grid-template-columns: 5fr 2fr;
    gap: 2rem;
}
.liste-rapports{
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 2rem;
    padding: 2rem 0;
}
.report-item{
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.report-item img{
    width: 2.5rem;
}
.report-item p{
    padding: 0.5rem;
}
.set-photo{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    
}
.set-photo a, .settings-form a{
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--color-background);
    background: var(--color-primary);
    border-radius: var(--border-radius-1);
    padding: 0.3rem 1rem;
    margin-bottom: 0.5rem;
}
.set-photo a svg, .settings-form a svg{
    margin-right: 0.3rem;
}
.edit-icon-2{
    display: flex;
    justify-content: center;
    align-items:center;
    background: var(--color-background);
    height: 2rem;
    width: 2rem;
    border-radius: 100%;
    position: absolute;
    bottom: -3px;
    left: 1rem;
    cursor: pointer;

}
.block-setting{
    display: grid;
    grid-template-columns: 2fr 6fr;
    gap: 1rem;
    padding: 1rem 0;
   
}
.menu-setting{
    border-right: 1px solid var(--color-background);
}
.menu-setting a{
    display: flex;
    align-items: center;
    padding: 0.5rem 2rem;
}
.menu-setting a h3{
    margin-left: 0.4rem;
    font-weight: normal;
    color: var(--color-info-dark);
}
.menu-setting .active-menu h3{
    font-weight: bold;
    color: var(--color-dark);
}
.settings-form{
    padding: 0.5rem 1.5rem;
}

.settings-form a{
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--color-background);
    background: var(--color-primary);
    border-radius: var(--border-radius-1);
    padding: 0.3rem 1rem;
    margin-bottom: 0.5rem;
    width: 30%;
}
.edit-password{
    display: none;
}
.hidden-block{
    display: flex;
    justify-content: center;
   
    position: fixed;
    top: 27%;
    left: 32%;
    width: 36%;
   
    z-index: 999;
}
.check-icon{
    display: flex;
    justify-content: center;
    position: absolute;
    width: 10%;
    top: -2rem;
    z-index: 999;
    color: #71c341;

  
    
}
.check-icon svg path{
    background: var(--color-white);
   
}
.dialog-validation h2{
    margin: 1rem 0;

}
.btn-valider{
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: var(--border-radius-1);
    padding: 0.7rem var(--padding-1);
    background: #71c341;
    color: var(--color-white);
    margin-top: 1rem;
    width: 40%;

}
.form-validation{
    display: none;
}
.dialog-rapport h3{
    display: flex;
    justify-content: flex-start;
    align-items: center;

    padding: 0.8rem;
    border-bottom: 1px solid var(--color-background);
}
.dialog-rapport h3 span{
    margin-right: 0.3rem;
}
.dialog-rapport h3 span svg{
    color: var(--color-primary);
}
.zdr{
    display: flex;
    justify-content: space-between;
    width: 100%;
    background: var(--color-background);
    padding: 0.8rem;
    border: 1px solid var(--color-dark);
    border-radius: var(--border-radius-1);
}

.date-input{
    height: 2.2rem;
    margin: 0 0.5rem;
    padding: 0 0.7rem;
    border-radius: 0.2rem;
}
.dates{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.search-btn{
    height: 2.2rem;
    margin: 0 0.5rem;
    padding: 0 0.7rem;
    border-radius: 0.2rem;
    background: var(--color-primary);
    color: var(--color-white); 
    display: flex;
    justify-content: center;
    align-items: center; 
}
.search-btn span{
    margin-left: 0.3rem;
}
.mot-cle{
    background: var(--color-white);
    padding: 0.2rem 0.5rem;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    margin-left: 2rem;
    border-radius: 0.2rem;

}
.mot-cle svg{
    margin-right: 0.3rem;
}
.search{
    width: 100%;
}
.modal-rapport{
    display: none;
}
.liste-factures{
    width: 100%;
}
.liste-factures .facture{
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid var(--color-background);
    padding:  0.3rem 0;
}
.liste-factures .facture a{
    
        height: 2.2rem;
        margin: 0 0.5rem;
        padding: 0 0.7rem;
        border-radius: 0.2rem;
        background: var(--color-primary);
        color: var(--color-white); 
        display: flex;
        justify-content: center;
        align-items: center; 
    
}
.form-paiement{
    display: none;
}

