:root {
  --color-primary:  #012096;
  --color-training: #46D4F2;
  --color-proposal: #53B54E;
  --color-grey: #F7F7F7;
  --color-grey2: #C5C5C5;
}


*{
    margin: 0;
    padding: 0;

    font-family: "DM Sans", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
}

p{
    margin: 0;
}

body{
    padding: 0 !important;
}

/* GENERAL */
.text_blue{
    color: var(--color-training);
}
.descargable{
    width: 100%;
    border: solid 2px var(--color-training);
    height: 50px;
    max-width: 800px;
    position: relative;
    border-radius: 10px;
    overflow: hidden;

    cursor: pointer;

    color: var(--color-training);

    display: flex;
    align-items: center;
    padding-left: 1.3rem;

}

.descargable div{
    position: absolute;
    background-color: var(--color-training);
    width: 3rem;
    height: 54px;
    right: -2px;
    top: -2px;

    display: flex;
    align-items: center;
    justify-content: center;
    color: white;

}

h5{
    color: var(--color-primary);
}
.dropdown-status{
    height: 100%;
    width: 12rem;
    border: none;
    font-weight: 600;

}

.dropdown-status option{
    font-weight: 600;
}

.material-symbols-outlined.filled {
  font-variation-settings:
    'FILL' 1,   /* 1 = relleno */
    'wght' 600,
    'GRAD' 0,
    'opsz' 48;
}

.main-content{
    border: solid 2px var(--color-training);
    border-radius: 20px;
    max-width: 1000px;
    /* revisar lo del ancho */

    padding: 1.875rem;
}


.main-content-green{
    border: solid 2px var(--color-proposal);

}

.content-subtitle{
    color: var(--color-training);
    font-weight: 600;
}

.content-subtitle-green{
    color: var(--color-proposal);
    font-weight: 600;
}

select{
    height: 2rem;
    width: 100%;
    border-radius: 100px;
    padding-left: 0.6rem;
    padding-right: 2rem;
    background-color: white;
    border: 1px solid #C5C5C5;


}

input{
    height: 2rem;
    width: 100%;
    border-radius: 100px;
    border: 1px solid #C5C5C5;
    padding-left: 0.6rem;
}

a{
    color: black;
    text-decoration: none;
    padding: 0 !important;
}
a:hover{
    color: var(--color-training);
    text-decoration: underline;
}

h4{
    color: var(--color-primary);
    margin-top: 1.5rem;
    margin-bottom: 1rem;

    font-weight: 600;
}



.column-1 {
    flex: 1 1  6.33rem;
    min-width:  6.33rem;

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;

}

.column-2 {
    flex: 1 1  11.66rem;
    min-width: 11.66rem;

    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    flex-shrink: 0;

}

.column-2-below {
    /* flex: 1 1  11.66rem; */
    min-width: 11.66rem;

    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    flex-shrink: 0;

}

.column-3 {
    flex: 1 1  19rem ;
    min-width: 19rem !important;


    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;


}

.column-4 {
    flex: 1 1  26.33rem ;
    min-width: 26.33rem;


    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.column-5 {
    flex: 1 1  33.67vw ;
    min-width: 33.67vw;

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.column-6 {
    flex: 1 1  44vw ;
    min-width: 44vw;
    word-wrap: break-word;
}

.column-7 {
    width: 48.33vw;
    word-wrap: break-word;
}

.column-8 {
    width: 55.64vw;
    word-wrap: break-word;
}

.column-9 {
    width: 62.97vw;
    word-wrap: break-word;
}

.column-10 {
    width: 70.33vw;
    word-wrap: break-word;
}

.column-11 {
    width: 77.63vw;
    word-wrap: break-word;
}

.column-12 {
    width: 84.96vw;
    word-wrap: break-word;
}






/* LOGIN */



.login-container{

    border-radius: 20px;
    border: 1px solid var(--color-primary);

    background: rgba(255, 255, 255, 0.596);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);

    width: 35vw;

    display: flex;
    flex-direction: column;

    align-items: center;
    padding-left: 2.875rem !important;
    padding-right: 2.875rem !important;
    padding-bottom: 4.875rem !important;

}

.login-logo{
    width: 60%;
}
.login-form{
    padding-top: 1.5rem;
    width: 100%;
}
.login-form input{
    height: 3.2rem;
    border-radius: 100px;
    padding-left: 1rem;
    width: 100%;
}
.login-form label{
    margin-left: 1rem;
    margin-bottom: 0.5rem;
}

.forget-text{
    text-align: end;
    font-size: 0.9rem;
    padding-right: 1rem

}

.recover{
    color: var(--color-primary);
    font-weight: 500;
}

.recover:hover{
    color: var(--color-primary);
}

/* SELECT PLATFORM */

.select-platform-container{
    display: flex;
    justify-content: center;

    gap: 2rem;
}
.platform{
    background: rgba(255, 255, 255, 0.596);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);

    width: 33.75rem;

    border: solid 1px var(--color-training);
    color: var(--color-training);

    padding: 3rem;
    padding-top: 4.3rem;

    border-radius: 30px;

    display: flex;
    flex-direction: column;
    align-items: center;


}

.platform h1{

    font-weight: 400;
    text-align: center;
    height: 140px;

}

.platfrom-2{
    color: var(--color-proposal);
    border-color: var(--color-proposal);
}

.button-access-platform{
    color: white;
    background-color: var(--color-proposal);
    width: fit-content;
    padding: 0.8rem 1.3rem 0.8rem 1.5rem ;

    display: flex;
    gap: 0.6rem;

    border-radius: 100px;
    margin-top: 3rem;
}

.button-access-platform2{
    background-color: var(--color-training);

}



/* PROFILE */
.profile-title{
    color: var(--color-primary);
}

.pfp-profile{
    border-radius: 400px;
    aspect-ratio: 1;

    width: 240px;
}

.cont-profile-texts{
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding-left: 2rem;
}
.cont-profile-inputs{
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.cont-profile-inputs input{
    height: 3rem;
    padding-left: 1rem;
}
.cont-profile-inputs label{
    margin-left: 1rem;
    font-weight: 400;
    margin-bottom: 0.5rem;
}
.cont-profile-texts .profile-label-show{
    color: var(--color-training);
    font-weight: 500;
    margin-bottom: 0.7rem;
}

.cont-profile-texts2 .profile-label-show2{
    color: var(--color-proposal);
    font-weight: 500;
    margin-bottom: 0.7rem;
}
/* DESPLEGABLES */

.dropdown-father{
    border: #46D4F2 2px solid;
    width: 80%;
    border-radius: 25px;
    margin-bottom: 2rem;
}

.dropdown-father2{
    border: #53B54E 2px solid;
    width: 80%;
    border-radius: 25px;
    margin-bottom: 2rem;
}

.dropdown-item2{
    border-bottom: var(--color-proposal) solid 2px;
    padding: 1.125rem  1.563rem 1.125rem 1.563rem ;

    color: var(--color-primary);

}

.dropdown-item3{
    padding: 1.125rem  1.563rem 1.125rem 1.563rem ;

    color: var(--color-primary);

}


.dropdown-father .dropdown-item:last-child{
    border: none;
}
.dropdown-item{
    border-bottom: var(--color-training) solid 2px;
    padding: 1.125rem  1.563rem 1.125rem 1.563rem ;

    color: var(--color-primary);

}


.dropdown-item-title{
    display: flex;
    flex-direction: row;
    position: relative;

    cursor: pointer;
}

.dropdown-item-content{
    width: 100%;

    max-width: 100%;
    box-sizing: border-box;
    white-space: normal;
    word-wrap: break-word;
    overflow-wrap: break-word;

    max-height: 0;
    overflow: hidden;
    transition: all 0.3s ease, padding 0.3s ease;
    padding: 0 10px;

    display: flex;
    flex-direction: column;
    gap: 2rem;

    color: black;
    padding: 0;
    margin: 0;

}

.dropdown-item-content.open {

    max-height: 1000px;
    margin-top: 1rem;


}
.dropdown-file{
    width: 100%;
    background-color: var(--color-grey);
    padding: 1.2rem;
    position: relative;
    cursor: pointer
}

.dropdown-file span{
    color: var(--color-training);
}

/* HEADER */

header{
  height:9rem;
  padding: 3.125rem 0 0 3.125rem;
}

.header-title{
    color: var(--color-training);
    /* font-size: 44px; */
    font-size: clamp(2rem, 5vw, 2.75rem);

    font-weight: 400;

    line-height: 0.8;
/* TODO: REVISAR EL ESPACIADO  */
}


.header-title-green{
    color: var(--color-proposal);

}
.header-subtitle{
    color: var(--color-primary);
    /* font-size: 38px; */

    font-size: clamp(1.75rem, 5vw, 2.375rem);

    font-weight: 600;

    line-height: 0.8;

    margin-top: 0.7rem;

}

.main-button-proposal{
    color: var(--color-proposal);
    border: var(--color-proposal) solid 2px;

    border-radius: 100px;
    height: 40px;
    width: 106px;

    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;

    gap: 0.2rem;

    cursor: pointer;
}



.main-button{
    color: var(--color-training);
    border: var(--color-training) solid 2px;

    border-radius: 100px;
    height: 40px;
    width: 106px;

    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;

    gap: 0.2rem;

    cursor: pointer;
}
.main-button2{
    color: white;
    border: var(--color-proposal) solid 2px;
    background-color: var(--color-proposal);
}

.secondary-button{
    border-radius: 100px;
    height: 32px;
    width: fit-content;
    padding-left: 25px;
    padding-right: 25px;
    border: none;
    background-color: var(--color-training);
    color: white;
    font-weight: 600;
}

.confirm-button{
    background-color: var(--color-training);

    color: white;
    font-weight: 600;
    border: none;

    padding: 1rem 1.3rem 1rem 1.3rem;
    border-radius: 100px;
}

.confirm-button2{
    background-color: var(--color-training);

    color: white;
    font-weight: 600;
    border: none;

    border-radius: 100px;
}




.disabled-btn {
    opacity: 0.5;
    cursor: not-allowed !important;
    pointer-events: none;
    filter: grayscale(80%);
}



button.button-green,
button.button-red {
    margin: 0 0.55rem;
    border-radius: 6px;
    padding: 0.35rem 0.8rem;
    font-size: 0.85rem;
    line-height: 1;
    cursor: pointer;
    color: white;
    border: none;
}


button.button-green {
    background-color: var(--color-proposal);

}

button.button-red {
    background-color: red;
            margin: 0 -0.5rem;

}

.button-green:disabled,
.button-red:disabled {
  background-color: #ccc !important; /* gris suave */
  color: #666 !important;            /* texto gris oscuro */
  cursor: not-allowed;
  opacity: 0.8;
}




.backk{
  color: var(--color-primary);

    transition: transform 0.3s ease-in-out;
}

.backk:hover{
  color: var(--color-proposal);

    transition: transform 0.3s ease-in-out;
}


.confirm-secondary-button{
    background-color: var(--color-primary);

    color: white;
    font-weight: 600;
    border: none;

    padding: 1rem 3.75rem 1rem 3.75rem ;
    border-radius: 100px;
    width: 18rem;

}

.confirm-secondary-button2{
    background-color: var(--color-proposal);

    color: white;
    font-weight: 600;
    border: none;

    padding: 1rem 3.75rem 1rem 3.75rem ;
    border-radius: 100px;
    width: 18rem;

}

.action-button{
    border: solid 1px var(--color-primary);

    border-bottom: solid 2px var(--color-primary);


    border-radius: 100px;
    color: var(--color-primary) !important;

    line-height: 1rem;


    height: 2rem;
    width: 6.375rem;
    font-weight: 500;





}


.text{
    display: flex;
    flex-direction: column;
    gap: 2rem;
    padding-top: 2rem;

    color: var(--color-primary);
}

/* SIDENAV */

.sidenav{
    height: 100%;
    width: 21rem;
    min-width: 21rem;
    padding: 1.125rem 3.125rem 0 3.125rem;

    color: var(--color-primary);

        transition: transform 0.3s ease-in-out;
}

.sidenav-group{
    width: 100%;

    display: flex;
    flex-direction: column;

    border-bottom: 1px var(--color-primary) solid;
    padding-bottom: 0.5rem;
    padding-top: 0.5rem;
    gap: 0.2rem;
}

.sidenav-title{
    font-weight: 600;
}


.sidenav-subtitle{
    margin-left: 1.25rem;
}

.sidenav .sidenav-group:last-child {
    border-bottom: none;
}

/* WORKING GROUPS */
.traines-working-group{

}


/* MAIN CONTENT */

.content-father{

    height: calc(100dvh - 9rem);
    width: 100%;

    display: flex;
    flex-direction: row;
}
.content{
    height: 100%;
    width: calc(100vw - 19.875rem);
    padding: 0 3.125rem 0 1.125rem;

    /* overflow-x: scroll   ; */
    overflow-x: hidden;

    display: flex;
    flex-direction: column;
}


.route{
    display: flex;
    flex-direction: row;
    align-items: center;

    gap: 30px;
}

.route p{
    /* font-size: 40px; */
    font-size: clamp(1.5rem, 5vw, 2.375rem);

    color: var(--color-primary);
}



.info{
    color: var(--color-primary);
    max-width: 1100px;

    text-align: justify;
    padding-right: 2rem;

}



/* TABLE  */

.table{
    border-radius: 25px;


    max-width: 1200px;



}
.table .table-row:last-child {
    border-bottom-left-radius: 25px;
    border-bottom-right-radius: 25px;
}


.table-header{
    background-color: var(--color-training);

    border-top-left-radius: 25px;
    border-top-right-radius: 25px;

    height: 3.75rem;
    margin: 0;

    display: flex;

    padding-left: calc(2rem + 2px);


}

.green-header{
    background-color: var(--color-proposal);

    border: solid 2px var(--color-proposal);
}

.table-header div{
    margin: 0;
    display: flex;
    align-items: center;

    color: var(--color-primary);
    font-weight: 600;
}


.green-header div{
    color: white;

}

.table-row{
    border: var(--color-training) 2px solid;
    border-top: none;
    height: 3.75rem;
    margin: 0;
    padding-left: 2rem;

    display: flex;

}


.table-row-green{
    border: var(--color-proposal) 2px solid;
    border-top: none;
}

.table-row div{
    margin: 0;
    align-items: center;
    padding-right: 5px;



}
.cell{
    display: block;
    line-height: 3.75rem;


}

.search-result{
    display: flex;
    align-items: center;

    padding-top: 1rem;
    padding-bottom: 1rem;
    padding-left: 1rem;
    position: relative;

    border-bottom: 1px var(--color-grey2) solid;
}
.button-add{
    position: absolute;
    right: 0.5rem;
    gap: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;

}

.search-trainees{
    max-width: 500px;
    margin-top: 1rem;
    margin-left: 1rem;
    display: flex;
    align-items: center;

    border: solid 1px var(--color-grey2);
    border-radius: 100px;
    padding-left: 1rem;
    padding-right: 1rem;

}



.search-trainees input{
    height: 2.5rem;
    border: none;
    border-radius: 0px;
}


.search-users{
    display: flex;
    align-items: center;

    width: 80%;
    
    border: solid 1px var(--color-grey2);
    border-radius: 100px;
    padding-left: 1rem;
    padding-right: 1rem;

}

.search-users input{
    height: 2.5rem;
    border: none;
    border-radius: 0px;
}

.user-search-result{

    height: 4rem;
    display: flex;
    align-items: center;
    gap: 0.8rem;

    position: relative;
}

.role-info-search{
    position: absolute;
    right: 1rem;

    padding: 0.2rem;
    padding-right: 0.4rem;
    padding-left: 0.4rem;

    border-radius: 5px;

    font-weight: 600;

}


.search:focus {
  outline: none;

}
.cell-button{
    display: flex;
    align-items: center;
    font-weight: 500;

    cursor: pointer;
}

.cell-button:hover{
    color: rgb(212, 42, 42);
}
.cell-button:hover span{
    color: rgb(212, 42, 42);
}
.table-actions{


    color: var(--color-training);
    font-weight: 500;

    cursor: pointer;

    position: relative;

    overflow: visible;

    display: flex;
    align-items: center;
}

.actions{
    position: absolute;
    top: 45px;
    right: 32px;

    width: 162px;
    height: 137px;

    z-index: 1000;
    background-color: #fcf8e3 !important;
    /* background-color: red !important; */
    border-radius: 10px;
    border-top-right-radius: 2px;

    box-shadow: 0px 0px 3px 2px rgba(0, 0, 0, 0.2) !important;

    flex-direction: column;

    padding: 1rem !important;

    display: none !important;

}

.actions.show{
    display: flex !important;
}

.actions div{
    display: flex;
    flex-direction: row;
    gap: 0.6rem;
    width: 100%;
    padding: 0;
    flex: 1;

    font-weight: 600;

    cursor: pointer;
}

.table-actions-green{
    justify-content: end;
    padding-right: 1.5rem !important;


    color: var(--color-proposal);
    font-weight: 500;

    cursor: pointer;
}


.table-container{
    overflow-x: scroll;

    padding-right: 3.125rem;

    width: calc(100vw - 19.875rem);

    flex: 1;
}

.table-title{
    color: var(--color-primary);
}

.table-container-multiple{

    padding-right: 3.125rem;

    width: calc(100vw - 19.875rem);


}

.green-status{
    margin: 0;
    font-size: 0.9rem;
    color: var(--color-proposal) !important;
    border: solid 1px var(--color-proposal) ;
    background-color: #F0FFEF !important;
    line-height: 0.8;
    border-radius: 100px;
    white-space: nowrap;

}

.red-status{
    margin: 0;
    color: #C92828 !important;
    border: solid 1px #C92828 ;
    background-color: #FFE6E6 !important;
    line-height: 0.8;
    border-radius: 100px;
    white-space: nowrap;

}

.grey-status{
    margin: 0;
    color: #696969 !important;
    border: solid 1px #696969 ;
    background-color: #F7F7F7 !important;
    line-height: 0.8;
    border-radius: 100px;

    white-space: nowrap;

}

/* CALENDAR */

.calendar{
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
    width: 100%;
    max-width: 1100px;
    flex: 1;

    border: solid 2px var(--color-training);
    border-radius: 20px;

    padding: 0 1.25rem 1.25rem 1.25rem;

    display: flex;
    flex-direction: column;

    position: relative ;

}

.cont-buttons-calendar{
    position: absolute;
    left: 1.25rem ;
    top: 1.25rem;
}
.cont-buttons-calendar span{
    cursor: pointer;

    font-size: 2rem;
}


    .calendar-text{
        z-index: 100;
    }

.month-title{
    color: var(--color-primary);
    font-size: 1.75rem;
    font-weight: 500;
}

.day-title-container{
    text-align: center;
    height: 2rem;
    border: solid red 1px;
}

.day-title{
    font-size: 1.2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-training);
    flex: 1 1 0 !important;

}

.day-complete{
    display: inline;
}

.day-short{
    display: none;
    font-size: clamp(0.5rem, 10vw, 1.3rem) !important;
}
.calendar-day {
    border: 1px solid var(--color-grey2);
    box-sizing: border-box;

    position: relative;
    overflow: visible;
}

.day-number{
    position: absolute;
    top: 5%;
    right: 6%;
}

.calendar-module{
    background-color: var(--color-primary);
    position: absolute;
    top: 40%;
    height: 45%;


    padding: 6px;
    color: white;

    display: flex;
    flex-direction: column;

    white-space: nowrap;
    overflow: visible;

}

.calendar-module-l{
    width: 90%;
    right: 0;

    border-radius: 4px 0 0 4px;
}


.calendar-module-c{
    width: calc(100% + 4px);
    right: -2px;
    z-index: 5;
}

.calendar-module-r{
    width: 90%;
    left: 0;

    border-radius: 0 4px 4px 0 ;

}
.cont-days {
    border: 1px solid var(--color-grey2);
    margin-top: 1rem;
}

.cont-days .d-flex > div {
  flex: 1 1 0 !important;
  min-width: 0;
}
.cont-days > div {
  flex: 1 1 0 !important;
  min-height: 0;
}

/* CHAT */

.chat-father{
    width:100%;
    height: 100%;
}

.chat{
    border: solid 2px var(--color-training);
    border-radius: 25px;
    width: 100%;

    max-width: 70rem;

    display: flex;
    flex-direction: row;

    overflow: hidden;
}
.chat-users{
    height: 100%;
    width: 15.25rem;
    border-right: solid 2px var(--color-training);

    display: flex;
    flex-direction: column;

    padding-top: 0.6rem;

    padding-left: 1rem;
}

.chat-user-menu{
    display: flex;
    flex-direction: row;
    align-items: center;
    height: 65px;
    gap: 1rem;

}

.user-selected{
    background: linear-gradient(to left, #46d5f238 0%, #ffffff00 90%);
}

.messages-container{
    height:80vh;
    width: calc(100% - 15.25rem);
    display: flex;
    flex-direction: column;
    flex: 1;

    position: relative;

    padding-bottom: 5rem;

    ;
}


.message-selected-user{
    min-height: 4rem;

    border-bottom: solid var(--color-training) 2px ;

    display: flex ;
    flex-direction: row;
    align-items: center ;
    padding-left: 1rem;
    gap: 1rem;
    width: 100%;
    position: absolute;

    background-color: white;

}

.message-container-messages{
    height: 100%; 
    overflow-y: scroll; 
    padding-top: 5rem; 

    display: flex;
    flex-direction: column;
    gap: 1rem;

    padding-left: 1rem;
    padding-right: 1rem;
    

}
.message-name{
    font-weight: 600;
    color: var(--color-primary);
}
.container-message-input{
    height: 5rem;
    padding: 0.9rem;

    position: absolute;
    bottom: 0;
    width: 100%;
}
.container-message-input input{
    height: 100%;
    width: 100%;
}
.container-inbound-message{
    display: flex;
    align-items: end;
    justify-content: end;
}
.inbound-message{
    background-color: var(--color-primary);
    color: white;
    padding: 12px 21px 12px 21px;
    width: fit-content;
    border-radius: 100px 100px 15px 100px ;

    max-width: 50%;
    overflow-wrap: break-word; /* rompe palabras largas si es necesario */
    word-wrap: break-word;  /* compatibilidad con navegadores antiguos */


}

.outbound-message{
    background-color: rgba(201, 201, 201, 0.2);
    padding: 12px 21px 12px 21px;
    width: fit-content;
    border-radius: 20px 20px 20px 3px ;

    max-width: 70%;
    overflow-wrap: break-word; /* rompe palabras largas si es necesario */
    word-wrap: break-word;  /* compatibilidad con navegadores antiguos */

}


.group{
    height: 100%;
    width: 14rem;

    border-right: 2px solid var(--color-training);

    display: flex;
    align-items: center;

    gap: 1rem;
}

.pfp-group {
  height: 52px;
  width: 52px;

    flex-shrink: 0;

  display: grid;
  grid-template-columns: repeat(2, 1fr); /* 2 columnas iguales */
  grid-template-rows: repeat(2, 1fr);    /* 2 filas iguales */
  gap: 2px; /* el espacio entre los circulitos */
}
.pfp-group > div {
  border-radius: 50%;
  overflow: hidden;

  color: var(--color-training);
}
.pfp-group img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* FILE PICKER */

.file-piker{
    border: solid var(--color-grey2) 1px;
    border-radius: 20px;

    padding: 12px;

}

/* CALLS */

.yes{
    border: solid var(--color-proposal) 1px;
    border-radius: 10px;
    background-color: #EDFFEC !important;
    color: var(--color-proposal) !important;
    font-weight: 600;

    height: 44px;
    width: 44px;

}

.no{
    border: solid #C5C5C5 1px;
    border-radius: 10px;
    background-color: #F7F7F7 !important;
    color: #C5C5C5 !important;
    font-weight: 600;

    height: 44px;
    width: 44px;
    text-align: center;

}


.view-call{
    color: var(--color-proposal);
    font-weight: 500;
    padding-right: 0.7rem;

    /* PROVISIONAL  */
}


/* PROJECTS */

.project-element{
    color: var(--color-primary);
    font-weight: 600;

    display: flex;
    align-items: center;
}
.project-element span{
    color: var(--color-primary);
}



/* CHECK BOX SWITCH */


.switch {
  position: relative;
  display: inline-block;
  width: 50px;
  height: 28px;
}

.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.slider {
  position: absolute;
  cursor: pointer;
  top: 0; left: 0;
  right: 0; bottom: 0;
  transition: .3s;
  border-radius: 34px;
  border: 2px var(--color-primary) solid;
}

.slider:before {
  position: absolute;
  content: "";
  height: 16px;
  width: 16px;
  left: 4px;
  bottom: 4px;
  background-color: var(--color-primary);
  transition: .3s;
  border-radius: 50%;
}

input:checked + .slider {
    background-color: var(--color-primary);
}

input:checked + .slider:before {
  transform: translateX(22px);
  background-color: white;

}


/*  CHEKBOX  */

.checkbox input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  width: 0;
  height: 0;
}


.checkbox {
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  font-size: 16px;
  gap: 8px;
  max-width: 300px;


}

.checkmark {
  width: 20px;
  height: 20px;
  border: 2px solid #000000;
  border-radius: 4px;
  margin-right: 8px;
  display: inline-block;
  position: relative;
  transition: all 0.2s ease;
    flex-shrink: 0;

}

.checkbox input:checked + .checkmark {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
}

.checkbox input:checked + .checkmark::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 0px;
  width: 6px;
  height: 12px;
  border: solid white;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.label-text {
  white-space: nowrap;
  min-width: fit-content;

}

/* MODULE DETAIL */

.deliverable-title{
    color: var(--color-training);
}





/* FORMS */

.form-element{
    padding-left: 5%;
    margin-bottom: 2rem;

}

.form-row {
  display: flex;
  align-items: center;

  margin-bottom: 1rem;
}
.form-row label {
  flex: 0 0 170px;
  padding-right: 1rem;
}


#editor-container {

    margin: auto;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
}
.cont-editor{
    width: 100%;
}

.ql-editor{
    min-height: 250px;

}
.ql-toolbar{
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;

    background-color: #C5C5C5;
}

.textarea{
    width: 100%;
    border: 1px solid #C5C5C5;
    border-radius: 20px;

    min-height: 200px;

    padding: 0.7rem;
}

.select-element{
    background-color: #F7F7F7;
    width: fit-content;

    border-radius: 100px;
    padding: 6px 14px 6px 14px;

    display: flex;
    gap: 0.7rem;
}



@media (max-width: 1100px) {
    .form-row {
        flex-direction: column;
        align-items: start;

    }

    .form-row label {
        flex: 0 0 5px;

    }

    .chat-users{
        width: 5.5rem;
    }

    .chat-user-menu p{
        display: none;
    }

    .messages-container{
        width: calc(100% - 5.5rem);

    }


}

.hamburger{
    display: none;

    position: fixed;
    top: 0 !important;
    left: 0 !important;
    z-index:1100;

    border: none;
    padding: 1rem;
    background-color: rgba(255, 255, 255, 0) !important;
}



@media (max-width: 768px) {
    .sidenav{
        /* display: none; */
        position: fixed;

        top: 0;
        left: 0;
        background: white;
        height: 100%;
        transform: translateX(-100%);
        z-index: 9000;
    }

    .sidenav.open {
        transform: translateX(0);
    }

    .content{
        width: 100%;
        padding-left: 3.125rem;
        padding: 0;
    }


    .table-container{
        width: 100%;
        padding-left: 3.125rem;
    }

    .route p{
        margin-left: 3.125rem;
        margin-top: 1rem;
    }

    .table{
        padding-top: 0;
    }

    .cont-profile-inputs{
        width: 100% !important;
    }

    .calendar{
        width: 100%;
        margin-left: 0;
        margin-bottom: 0;
        padding-left: 0;
        padding-right: 0;
        padding-bottom: 0;

        padding: 1vw;
        overflow: hidden;

        border: none;
    }

    .main-content{
        margin-left: 3.125rem;
        margin-right: 3.125rem;

    }

    .about, .dropdown-father,
    .evaluations-title, .info{
        margin-left: 3.125rem;

    }


    .hamburger{
        display: block;
    }

    .chat-father{
        width: 100%;
        padding-right: 2vw;
        padding-left: 2vw;

    }

}

@media (max-width: 1200px) {
    .day-complete{
        display: none;
    }

    .day-short{
        display: inline;
    }

}

.overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.5);
    z-index: 999;
}
.overlay.show {
    display: block;
}



/* evaluations */

 /* === VARIABLES DE COLOR === */
    :root {
      --color-principal: ; /* azul Bootstrap */
    }

    /* --- estructura general --- */
    body {
      background-color: #ffffff;
      padding: 2rem;
    }

    .question {
      margin-bottom: 2rem;
    }

    .question h5 {
      margin-bottom: 1rem;
    }

    /* --- radio button y texto --- */
    .custom-radio {
      position: relative;
      display: flex;
      align-items: center;
      margin-bottom: 0.5rem;
      cursor: pointer;
    }

    .custom-radio input[type="radio"] {
      appearance: none;
      -webkit-appearance: none;
      -moz-appearance: none;
      width: 18px;
      height: 18px;
      border: 2px solid #bbb;
      border-radius: 50%;
      margin-right: 10px;
      transition: all 0.2s ease;
      cursor: pointer;
      position: relative;
    }
    
    /* circulito relleno cuando se selecciona */
    .custom-radio input[type="radio"]:checked {
      border-color: var(--color-training);
      box-shadow: inset 0 0 0 2px white;
      background-color: var(--color-training);
    }

    /* texto del label */
    .custom-radio label {
      margin: 0;
      color: #333;
      transition: color 0.2s ease;
      cursor: pointer;
    }

    /* cambia color del texto cuando está seleccionado */
    .custom-radio input[type="radio"]:checked + label {
      color: var(--color-training);
      font-weight: 700;
    }

    /* hover: cambio sutil del color del círculo */
    .custom-radio:hover input[type="radio"] {
      border-color: var(--color-training);
    }

















    /* PRUEBAS CHAT  */





    .cont-chat-padre-prueba{

        border: solid 2px var(--color-training);

        display: flex;

    }

    .cont-users-chat-prueba{
        background-color: rgb(247, 171, 171);
        height: 100%;
        overflow-y: scroll;
        flex: 1;

    }

    .cont-right-messages-prueba{
        background-color: rgb(218, 247, 171);
        height: 50vh;

        overflow-y: scroll;
        flex: 1;
        
    }