/* ===== Google Font Import - Poppins ===== */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap');

*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Poppins', sans-serif;
    transition: all 0.4s ease;;
}


/* ===== Colours ===== */
:root{
    
    --light: #f6f6f9;
    --primary: #1976D2;
    --light-primary: #CFE8FF;
    --grey: #eee;
    --dark-grey: #AAAAAA;
    --dark: #363949;
    --danger: #D32F2F;
    --light-danger: #FECDD3;
    --warning: #FBC02D;
    --light-warning: #FFF2C6;
    --success: #388E3C;
    --light-success: #BBF7D0;
    --body-color: #E4E9F7;
    --nav-color: #0950BF;
    --side-nav: #010718;
    --text-color: #FFF;
    --search-bar: #F2F2F2;
    --search-text: #010718;


}

.event-thumbnail img {
    width: 50px;  /* Taille de l’image */
    height: 50px;
    border-radius: 5px;
    margin-right: 10px;
    object-fit: cover; /* Pour éviter la déformation */
}

body{
  height: 100%;
  background-color: var(--body-color);
  margin: 0;
  padding: 0;

}
}


body.dark{

    --body-color: #18191A;

    --nav-color: #242526;

    --side-nav: #242526;

    --text-color: #CCC;

    --search-bar: #242526;

}

nav.dark{
    --nav-color: #242526;
    --text-color: #CCC;

}


nav{
    position: fixed;
    top: 0;
    left: 0;
    height: 70px;
    width: 100%;
    background-color: var(--nav-color);
    z-index: 100;
}

body.dark nav{
    border: 1px solid #393838;

}

nav .nav-bar{
    position: relative;
    height: 100%;
    max-width: 1000px;
    width: 100%;
    background-color: var(--nav-color);
    margin: 0 auto;
    padding: 0 30px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

nav .nav-bar .sidebarOpen{
    color: var(--text-color);
    font-size: 25px;
    padding: 5px;
    cursor: pointer;
    display: none;
}

nav .nav-bar .logo a{
    font-size: 25px;
    font-weight: 500;
    color: var(--text-color);
    text-decoration: none;
}

.menu .logo-toggle{
    display: none;
}

.nav-bar .nav-links{
    display: flex;
    align-items: center;
}

.nav-bar .nav-links li{
    margin: 0 5px;
    list-style: none;
}

.nav-links li a{
    position: relative;
    font-size: 17px;
    font-weight: 400;
    color: var(--text-color);
    text-decoration: none;
    padding: 10px;
}

.nav-links li a::before{
    content: '';
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    height: 6px;
    width: 6px;
    border-radius: 50%;
    background-color: var(--text-color);
    opacity: 0;
    transition: all 0.3s ease;
}



.nav-bar .darkLight-searchBox{
    display: flex;
    align-items: center;
}

.darkLight-searchBox .dark-light,
.darkLight-searchBox .searchToggle{
    height: 40px;
    width: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 5px;
}

.dark-light i,
.searchToggle i{
    position: absolute;
    color: var(--text-color);
    font-size: 22px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.dark-light i.sun{
    opacity: 0;
    pointer-events: none;
}

.dark-light.active i.sun{
    opacity: 1;
    pointer-events: auto;
}

.dark-light.active i.moon{
    opacity: 0;
    pointer-events: none;
}

.searchToggle i.cancel{
    opacity: 0;
    pointer-events: none;
}

.searchToggle.active i.cancel{
    opacity: 1;
    pointer-events: auto;
}

.searchToggle.active i.search{
    opacity: 0;
    pointer-events: none;
}

.searchBox{
    position: relative;
}

.searchBox .search-field{
    position: absolute;
    bottom: -85px;
    right: 5px;
    height: 50px;
    width: 300px;
    display: flex;
    align-items: center;
    background-color: var(--nav-color);
    padding: 3px;
    border-radius: 6px;
    box-shadow: 0 5px 5px rgba(0, 0, 0, 0.1);
    opacity: 0;
    pointer-events: none;
    transition: all 0.3s ease;
}

.searchToggle.active ~ .search-field{
    bottom: -74px;
    opacity: 1;
    pointer-events: auto;
}

.search-field::before{
    content: '';
    position: absolute;
    right: 14px;
    top: -4px;
    height: 12px;
    width: 12px;
    background-color: var(--nav-color);
    transform: rotate(-45deg);
    z-index: -1;
}

.search-field input{
    height: 100%;
    width: 100%;
    padding: 0 45px 0 15px;
    outline: none;
    border: none;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 400;
    color: var(--search-text);
    background-color: var(--search-bar);
}

body.dark .search-field input{
    color: var(--text-color);
}

.search-field i{
    position: absolute;
    color: var(--nav-color);
    right: 15px;
    font-size: 22px;
    cursor: pointer;
}

body.dark .search-field i{
    color: var(--text-color);
}










.bx{
    font-size: 1.7rem;
}

a{
    text-decoration: none;
}

li{
    list-style: none;
}

html{
    overflow-x: hidden;
}

body.dark{
    --light: #181a1e;
    --grey: #25252c;
    --dark: #fbfbfb
}

body{
    background: var(--grey);
    overflow-x: hidden;
}

.sidebar{
    position: fixed;
    top: 0;
    left: 0;
    background: var(--light);
    width: 230px;
    height: 100%;
    z-index: 2000;
    overflow-x: hidden;
    scrollbar-width: none;
    transition: all 0.3s ease;
}

.sidebar::-webkit-scrollbar{
    display: none;
}

.sidebar.close{
    width: 60px;
}

.sidebar .logo{
    font-size: 24px;
    font-weight: 700;
    height: 56px;
    display: flex;
    align-items: center;
    color: var(--primary);
    z-index: 500;
    padding-bottom: 20px;
    box-sizing: content-box;
}

.sidebar .logo .logo-name span{
    color: var(--dark);
}

.sidebar .logo .bx{
    min-width: 60px;
    display: flex;
    justify-content: center;
    font-size: 2.2rem;
}

.sidebar .side-menu{
    width: 100%;
    margin-top: 48px;
}

.sidebar .side-menu li{
    height: 48px;
    background: transparent;
    margin-left: 6px;
    border-radius: 48px 0 0 48px;
    padding: 4px;
}

.sidebar .side-menu li.active{
    background: var(--grey);
    position: relative;
}

.sidebar .side-menu li.active::before{
    content: "";
    position: absolute;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    top: -40px;
    right: 0;
    box-shadow: 20px 20px 0 var(--grey);
    z-index: -1;
}

.sidebar .side-menu li.active::after{
    content: "";
    position: absolute;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    bottom: -40px;
    right: 0;
    box-shadow: 20px -20px 0 var(--grey);
    z-index: -1;
}

.sidebar .side-menu li a{
    width: 100%;
    height: 100%;
    background: var(--light);
    display: flex;
    align-items: center;
    border-radius: 48px;
    font-size: 16px;
    color: var(--dark);
    white-space: nowrap;
    overflow-x: hidden;
    transition: all 0.3s ease;
}

.sidebar .side-menu li.active a{
    color: var(--success);
}

.sidebar.close .side-menu li a{
    width: calc(48px - (4px * 2));
    transition: all 0.3s ease;
}

.sidebar .side-menu li a .bx{
    min-width: calc(60px - ((4px + 6px) * 2));
    display: flex;
    font-size: 1.6rem;
    justify-content: center;
}

.sidebar .side-menu li a.logout{
    color: var(--danger);
}

.content{
    position: relative;
    align-content: center;
    width: calc(100% - 200px);
    margin-left: auto;
    margin-right: auto;

}

.sidebar.close~.content{
    width: calc(100% - 60px);
    left: 60px;
}




.content main .header{
    display: flex;
    align-items: center;
    justify-content: space-between;
    grid-gap: 16px;
    flex-wrap: wrap;
}

.content main .header .left h1{
    font-size: 36px;
    font-weight: 600;
    margin-bottom: 10px;
    margin-top:50px;
    color: var(--dark);
}

.content main .header .left .breadcrumb{
    display: flex;
    align-items: center;
    grid-gap: 16px;
}

.content main .header .left .breadcrumb li{
    color: var(--dark);
}

.content main .header .left .breadcrumb li a{
    color: var(--dark-grey);
    pointer-events: none;
}

.content main .header .left .breadcrumb li a.active{
    color: var(--primary);
    pointer-events: none;
}

.content main .header .report{
    height: 36px;
    padding: 0 16px;
    border-radius: 36px;
    background: var(--primary);
    color: var(--light);
    display: flex;
    align-items: center;
    justify-content: center;
    grid-gap: 10px;
    font-weight: 500;
}

.content main .insights{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    grid-gap: 24px;
    margin-top: 36px;
}

.content main .insights2{
    display: grid;
    grid-gap: 10px;
    margin-top: 36px;
}

.content main .insights li{
    padding: 24px;
    background: var(--light);
    border-radius: 20px;
    display: flex;
    align-items: center;
    grid-gap: 24px;
    cursor: pointer;
}

.content main .insights li .bx{
    width: 80px;
    height: 80px;
    border-radius: 10px;
    font-size: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.content main .insights li:nth-child(1) .bx{
    background: var(--light-primary);
    color: var(--primary);
}

.content main .insights li:nth-child(2) .bx{
    background: var(--light-warning);
    color: var(--warning);
}

.content main .insights li:nth-child(3) .bx{
    background: var(--light-success);
    color: var(--success);
}

.content main .insights li:nth-child(4) .bx{
    background: var(--light-danger);
    color: var(--danger);
}

.content main .insights li .info h3{
    font-size: 24px;
    font-weight: 600;
    color: var(--dark);
}

.content main .insights li .info p{
    color: var(--dark);
}

.content main .bottom-data{
    display: flex;
    flex-wrap: wrap;
    grid-gap: 24px;
    margin-top: 24px;
    width: 100%;
    color: var(--dark);
}

.content main .bottom-data>div{
    border-radius: 20px;
    background: var(--light);
    padding: 24px;
    overflow-x: auto;
}

.content main .bottom-data .header{
    display: flex;
    align-items: center;
    grid-gap: 16px;
    margin-bottom: 24px;
}

.content main .bottom-data .header h3{
    margin-right: auto;
    font-size: 24px;
    font-weight: 600;
}

.content main .bottom-data .header .bx{
    cursor: pointer;
}

.content main .bottom-data .orders{
    flex-grow: 1;
    flex-basis: 500px;
}

.content main .bottom-data .orders table{
    width: 100%;
    border-collapse: collapse;
}

.content main .bottom-data .orders table th{
    padding-bottom: 12px;
    font-size: 13px;
    text-align: left;
    border-bottom: 1px solid var(--grey);
}

.content main .bottom-data .orders table td{
    padding: 16px 0;
}

.content main .bottom-data .orders table tr td:first-child{
    display: flex;
    align-items: center;
    grid-gap: 12px;
    padding-left: 6px;
}

.content main .bottom-data .orders table td img{
    width: 36px;
    height: 36px;
    border-radius: 50%;
    object-fit: cover;
}

.content main .bottom-data .orders table tbody tr{
    cursor: pointer;
    transition: all 0.3s ease;
}

.content main .bottom-data .orders table tbody tr:hover{
    background: var(--grey);
}

.content main .bottom-data .orders table tr td .status{
    font-size: 10px;
    padding: 6px 16px;
    color: var(--light);
    border-radius: 20px;
    font-weight: 700;
}

.content main .bottom-data .orders table tr td .status.completed{
    background: var(--success);
}

.content main .bottom-data .orders table tr td .status.process{
    background: var(--primary);
}

.content main .bottom-data .orders table tr td .status.pending{
    background: var(--warning);
}

.content main .bottom-data .reminders{
    flex-grow: 1;
    flex-basis: 300px;
}

.content main .bottom-data .reminders .task-list{
    width: 100%;
}

.content main .bottom-data .reminders .task-list li{
    width: 100%;
    margin-bottom: 16px;
    background: var(--grey);
    padding: 14px 10px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.content main .bottom-data .reminders .task-list li .task-title{
    display: flex;
    align-items: center;
}

.content main .bottom-data .reminders .task-list li .task-title p{
    margin-left: 6px;
}

.content main .bottom-data .reminders .task-list li .bx{
  cursor: pointer;  
}

.content main .bottom-data .reminders .task-list li.completed{
    border-left: 10px solid var(--success);
}

.content main .bottom-data .reminders .task-list li.not-completed{
    border-left: 10px solid var(--danger);
}

.content main .bottom-data .reminders .task-list li:last-child{
   margin-bottom: 0;
}




.flex-wrapper {
  display: flex;
  flex-flow: row nowrap;
}

.single-chart {
  width: 33%;
  justify-content: space-around ;
}

.circular-chart {
  display: block;
  margin: 10px auto;
  max-width: 80%;
  max-height: 250px;
}

.circle-bg {
  fill: none;
  stroke: #eee;
  stroke-width: 3.8;
}

.circle {
  fill: none;
  stroke-width: 2.8;
  stroke-linecap: round;
  animation: progress 1s ease-out forwards;
}

@keyframes progress {
  0% {
    stroke-dasharray: 0 100;
  }
}

.circular-chart.orange .circle {
  stroke: #ff9f00;
}

.circular-chart.green .circle {
  stroke: #4CC790;
}

.circular-chart.blue .circle {
  stroke: #3c9ee5;
}

.percentage {
  fill: #666;
  font-family: sans-serif;
  font-size: 0.5em;
  text-anchor: middle;
}

.nvtable{
    margin-top: 1.3rem;
}

.nvtable h2{
    margin-bottom: 0.8rem;
}

.nvtable table{
    background-color: var(--color-white);
    width: 100%;
    padding: var(--card-padding);
    text-align: center;
    box-shadow: var(--box-shadow);
    border-radius: var(--card-border-radius);
    transition: all 0.3s ease;
}

.nvtable table:hover{
    box-shadow: none;
}

table tbody td{
    height: 2.8rem;
    border-bottom: 1px solid var(--color-light);
    color: var(--color-dark-variant);
}

table tbody tr:last-child td{
    border: none;
}

 .nvtable a{
    text-align: center;
    display: block;
    margin: 1rem auto;
    color: var(--color-primary);
}

.img-border-radius{
    display: flex;
    margin: auto;
    width: 200px;
    height: 200px;
  clip-path:ellipse(50% 50%);
}



.smallText{
    
    text-align: center;
    font-size: small;
    color: var(--dark);
}

.itemInsight{
    align-items: center;
}
.textTableauAnnale{
    align: auto;
    font-size: medium;
    font-family: Georgia;
}
.niveautable{
    font-size: 13px;
    padding: 6px 6px;
    color: var(--light);
    border-radius: 20px;
    font-weight: 700;
}

.barNavig{
    display:block; 
}
.barNavig a:hover {
  background: #5089f0;
}

.navElement > a {
  padding: 12px 25px;
}
.navElement:hover > ul {
  display: flex;
}

.row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -1.5rem;
  margin-left: -1.5rem;
}

.col-xl,
.col-xl-auto, .col-xl-12, .col-xl-11, .col-xl-10, .col-xl-9, .col-xl-8, .col-xl-7, .col-xl-6, .col-xl-5, .col-xl-4, .col-xl-3, .col-xl-2, .col-xl-1, .col-lg,
.col-lg-auto, .col-lg-12, .col-lg-11, .col-lg-10, .col-lg-9, .col-lg-8, .col-lg-7, .col-lg-6, .col-lg-5, .col-lg-4, .col-lg-3, .col-lg-2, .col-lg-1, .col-md,
.col-md-auto, .col-md-12, .col-md-11, .col-md-10, .col-md-9, .col-md-8, .col-md-7, .col-md-6, .col-md-5, .col-md-4, .col-md-3, .col-md-2, .col-md-1, .col-sm,
.col-sm-auto, .col-sm-12, .col-sm-11, .col-sm-10, .col-sm-9, .col-sm-8, .col-sm-7, .col-sm-6, .col-sm-5, .col-sm-4, .col-sm-3, .col-sm-2, .col-sm-1, .col,
.col-auto, .col-12, .col-11, .col-10, .col-9, .col-8, .col-7, .col-6, .col-5, .col-4, .col-3, .col-2, .col-1 {
  position: relative;
  width: 100%;
  padding-right: 1.5rem;
  padding-left: 1.5rem;
}

.ml-auto,
.mx-auto {
  margin-left: auto !important;
}

.mr-auto,
.mx-auto {
  margin-right: auto !important;
}

.lead {
  font-size: 1.25rem;
  font-weight: 300;
}

article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
  display: block;
}



.formIns{
    border-radius: 2%;
    padding: 10px;
 
    
}

.form-control{
  display: block;
  width: 100%;
  height: calc(1.5em + 1rem);
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  background-color: #fff;
 
  border: 0.125rem solid #ced4da;
  border-radius: 0.5rem;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}


.btn {
    display: inline-block;
    font-weight: 400;
    color: #212529;
    text-align: center;
    vertical-align: middle;
    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    background-color: transparent;
    border: 0.125rem solid transparent;
    padding: 0.375rem 0.75rem;
    font-size: 1rem;
    line-height: 1.5;
    margin-top: 10 px;
    border-radius: 0.5rem;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  }
  @media (prefers-reduced-motion: reduce) {
    .btn {
      transition: none;
    }
  }
  .btn:hover {
    color: #212529;
    text-decoration: none;
  }
  .btn:focus, .btn.focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(26, 188, 156, 0.25);
  }
  .btn.disabled, .btn:disabled {
    opacity: 0.65;
  }
  a.btn.disabled,
  fieldset:disabled a.btn {
    pointer-events: none;
  }

.btn-primary {
    color: #fff;
    background-color: #2546a1;
    border-color: #2546a1;
  }
  .btn-primary:hover {
    color: #fff;
    background-color: #2546a1;
    border-color: #2546a1;
  }
  .btn-primary:focus, .btn-primary.focus {
    color: #fff;
    background-color: #2546a1;
    border-color: #2546a1;
    box-shadow: 0 0 0 0.2rem rgba(60, 198, 171, 0.5);
  }
  .btn-primary.disabled, .btn-primary:disabled {
    color: #fff;
    background-color: #2546a1;
    border-color: #2546a1;
  }
  .btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, .show > .btn-primary.dropdown-toggle {
    color: #fff;
    background-color: #2546a1;
    border-color: #2546a1;
  }
  .btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus, .show > .btn-primary.dropdown-toggle:focus {
    box-shadow: 0 0 0 0.2rem rgba(60, 198, 171, 0.5);
  }
  
  .vertical-line{
    border-left: 2px solid #04070c;
    display: inline-block;
    height:  300px;
    margin: auto

  }


.boiteIns {
        display: grid;
        grid-template-rows: auto;
        grid-template-columns: auto auto auto;
        margin-top: 130px;
        grid-gap: 15px;
       
    }
.boiteInsMess {
    grid-column-start: 1; 
    grid-column-end: 2;
    grid-row-start: 1; 
    grid-row-end: 1;
}

.boiteInsLign {
    grid-column-start: 2; 
    grid-column-end: 3;
    grid-row-start: 1; 
    grid-row-end: 1;
    margin: auto;
}
.boiteInsForm {
    grid-column-start: 3; 
    grid-column-end: 4;
    grid-row-start: 1; 
    grid-row-end: 1;
    margin: auto;
}

    
    .elmentForm{
       padding: 10px 30px 0 0; 
    }



    @media screen and (max-width: 900px) {

  


        .content main .bottom-data .orders{
           width: 100%;
        }

        .content main .bottom-data{
            width: 100%;
        }
        .tabloPerso thead {
            display: none;
           
            }
    

    
            .tabloPerso tr{
    
            display: grid;
            grid-template-rows: auto auto auto auto;
            grid-template-columns:  auto;
            border-radius: 10px;
            margin-bottom: 20px;
            border: 2px solid #09bf7c;
            grid-template-areas: "etab" "matiere"
            "niveau" "lien";
            width:100%;
    
            }
    
            
    
            .tabloPerso tr::nth-child(-n + 1) {
            display: flex;
            margin: auto;
            text-align: center;
            grid-area: etab;
            width: 100%;
            }
    
    
    
            .tabloPerso tr::nth-child(-n + 2) {
                display: flex;
                margin: auto;
                grid-area: matiere;
                } 
    
            
    
            .tabloPerso tr::nth-child(-n + 3) {
    
                    display: flex;
                    margin: auto;
                    grid-area: niveau;
                    }       
    
    
        .content nav form .form-input input{
            display: none;
        }
    
        .content nav form .form-input button{
            width: auto;
            height: auto;
            background: transparent;
            color: var(--dark);
            border-radius: none;
        }
    
        .content nav form.show .form-input input{
            display: block;
            width: 100%;
        }
    
        .content nav form.show .form-input button{
            width: 36px;
            height: 100%;
            color: var(--light);
            background: var(--danger);
            border-radius: 0 36px 36px 0;
        }
    
        .content nav form.show~.notif, .content nav form.show~.profile{
            display: none;
        }
    
        .content main .insights {
            grid-template-columns: 1fr;
        }
    
        .content main .bottom-data .header{
            min-width: 340px;
        }
    
        .content main .bottom-data .orders table{
            min-width: 340px;
        }
    
        .content main .bottom-data .reminders .task-list{
            min-width: 340px;
        }
        
          .menuP {
        flex-direction: column;
      }
    
        .vertical-line{
            border-top: 2px solid #000606;
            
        }
    
        .boiteIns {
            display: grid;
            grid-template-columns: 100%;
            grid-template-rows: 300px 10px 400px;
            margin-top: 130px;
            grid-gap: 15px;
            grid-template-areas: "message" "barre" "formulaire";
        }
        .boiteInsMess {
           grid-area: message;
        
        }
    
        .boiteInsLign {
            grid-area: barre;
        }
        .boiteInsForm {
            grid-area: formulaire;  
        }
        
        .content{
            width: 100%;
            margin:auto
        
        }

        .content main .header{
            width: 100%;
            margin-top: 5px;
            margin-left: 10px;
            margin-right: 10px;
            margin-bottom: 50px;
        }
        
    }

@media (max-width: 790px) {

    nav .nav-bar .sidebarOpen{

        display: block;

    }



    .menu{

        position: fixed;

        height: 100%;

        width: 320px;

        left: -100%;

        top: 0;

        padding: 20px;

        background-color: var(--side-nav);

        z-index: 100;

        transition: all 0.4s ease;

    }



    nav.active .menu{

        left: -0%;

    }



    nav.active .nav-bar .navLogo a{

        opacity: 0;

        transition: all 0.3s ease;
    }

    .menu .logo-toggle{

        display: block;

        width: 100%;

        display: flex;

        align-items: center;

        justify-content: space-between;

    }
    .logo-toggle .siderbarClose{

        color: var(--text-color);

        font-size: 24px;

        cursor: pointer;

    }



    .nav-bar .nav-links{

        flex-direction: column;

        padding-top: 30px;

    }



    .nav-links li a{

        display: block;

        margin-top: 20px;

    }



   

}  