@import url('https://fonts.googleapis.com/css2?family=Chakra+Petch:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Roboto:ital,wght@0,100..900;1,100..900&family=Teko:wght@300..700&display=swap');
:root{
    --mfont: "Poppins", sans-serif;
    --sfont: "Roboto", sans-serif;
    --bfont: "Chakra Petch", sans-serif;
    --bbfont: "Teko", sans-serif;
}   
*{
    margin: 0px;
    padding: 0px;
    box-sizing: border-box;
    font-family: Arial, Helvetica, sans-serif;
}
body{
    background-color: whitesmoke;
}
nav{
    padding: 8px;
    background-color: maroon;
    color: floralwhite;
    display: flex;
    align-items: center;
    gap: 10px;
    justify-content: space-between;
    position: fixed;
    top: 0px;
    width: 100vw;
    z-index: 90;
}
nav h1{    
    font-family: var(--bbfont);
}
nav h3 a{
    color: white;
    text-decoration: none;
    font-size: 1.25rem;
    font-family: var(--mfont);
}
nav div{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-right: 20px;
}
nav div img{
    width: 25px;
    height: 25px;
}

.centerbox{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 20px;
    box-shadow: 0 0 5px grey;
    border-radius: 20px;
    text-align: center;
    background-color: floralwhite;
    
}
.centerbox h2{
    font-size: 2rem;
    font-weight: bold;
}
.centerbox input{
    width: 300px;
    padding: 10px;
    margin: 10px;
    border-radius: 5px;
    border: none;
    outline: none;
    box-shadow: inset 0 0 5px lightgrey;
}
.centerbox input.short{
    width: 120px;
}
.centerbox button{
    width: 150px;
    padding: 10px;
    margin: 10px;
    background-color: maroon;
    color: floralwhite;
    font-weight: bold;
    border: none;
    border-radius: 10px;
    font-size: 1rem;
}
.centerbox button:hover{
    background-color: floralwhite;
    color: maroon;
    box-shadow: 0 0 5px grey;
}
.centerbox a img{
    width: 15px;
    height: 15px;
}
.errspan{
    font-size: 0.8rem;
    color: red;
    display: block;
}

.dashboard{
   height: 94vh;
   position: relative;
   /* display: grid;
   grid-template-columns: 70px 94%; */
   padding-top: 70px;
}
.closedsidepanel{
    display: block;
    position: absolute;
    top: 15px;
    left: 0px;
    box-shadow: 0 0 5px grey;
    background-color: floralwhite;
    border-bottom-right-radius: 50%;
    border-top-right-radius: 50%;
    padding: 10px;
    z-index: 45;
}
.closedsidepanel button{
    background-color: transparent;
    border: none;
    border-radius: 50%;
}
.closedsidepanel button img{
    width: 25px;
    height: 25px;
}
.closedsidepanel:hover{
    opacity: 1;
}


.sidepanel{   
    box-shadow: 0 0 5px grey;
    background-color: floralwhite;
    border-radius: 10px;
    z-index: 46;
    height: 90vh;
    margin: 10px;
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 10px;
    justify-content: space-between;
    width: 50px;
    position: fixed;
}
.sidepanel div{
    display: flex;
    align-items: center;
    flex-direction: column;
    margin-top: 5px;
}
.sidepanel a{
    text-decoration: none;
    color: maroon;
    display: block;
    padding: 10px;
    font-family: var(--bfont);
    position: relative;
    border-radius: 10px;
}
.sidepanel a p{
    font-family: var(--bfont);
    position: absolute;
    left: 100%;
    top: 50%;    
    transform: translateY(-50%);
    background-color: floralwhite;
    padding: 10px;
    border-radius: 20px;
    border-top-left-radius: 0px;
    border-bottom-left-radius: 0px;
    width: 200px;
    font-weight: bold;
    box-shadow: 4px 0 5px grey;
    display: none;
}

.sidepanel a:hover p{
    font-weight: bold;
    display: block;
}
.sidepanel a:hover{
    box-shadow: inset 0 0 5px grey;
    background-color: white;
}
.sidepanel a img{
    width: 25px;
    height: 25px;
}
.sidepanel .subtabholder{
    display: none;
    position: relative;
    width: 100%;
}
.sidepanel .subtabholder div{
    position: absolute;
    top: -20px;
    left: 105%;
    background-color: floralwhite;
    box-shadow: 0 0 5px grey;
    border-radius: 10px;
    width: 55px;
    padding: 5px 0px;
}
.sidepanel .subtabholder:hover{
    display: block;
}
.sidepanel .maintab:hover + .subtabholder{
    display: block;
}
.sidepanel .maintab.selected{
    box-shadow: inset 0 0 5px grey;
    background-color: white;
}
.sidepanel .subtabholder a{
    width: max-content;
}
.sidepanel .subtabholder a.selected{
    box-shadow: inset 0 0 5px grey;
    background-color: white;
}
.mainpanel{
    padding: 10px;
    position: relative;
    width: 99vw;
    padding-left: 70px;
}


.dashboard.fixed{
    display: grid;
    grid-template-columns: 4% 94%;
    gap: 10px;
}
.closedsidepanel.fixed{
    display: none;
}
.sidepanel.fixed{
    display: block;
    position: relative;
    top: 0px;
    left: 0px;
    border-radius: 0px;
    border-bottom-right-radius: 10px;
}
.floatmsgbox{
    position: absolute;
    top: 25px;
    right: 25px;
    min-width: 250px;
    /* animation: disappear 20s linear forwards; */
    z-index: 8;
}
.floatmsgbox p{
    padding: 10px;
    box-shadow: 0 0 5px grey;
    border-radius: 10px;
    background-color: yellow;
}
@keyframes disappear {
    0%{
        opacity: 1;
    }
    95%{
        opacity: 1;
    }
    100%{
        opacity: 0;
    }
}



.narrow{
    margin: 0px auto;
    padding: 20px;
    max-width: 800px;
}
.normal{
    margin: 0px auto;
    padding: 20px;
    max-width: 1200px;
}
.flexdiv{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 5px;
}
.flexdiv h3{
    font-family: var(--bbfont);
    font-size: 1.25rem;
}
.flexdiv div{
    display: flex;
    align-items: center;
    gap: 10px;
}
.flexdiv div button{
    background-color: maroon;
    padding: 5px;
    border: none;
    border-radius: 5px;
    display: flex;
    gap: 10px;
    align-items: center;
    color: white;
    font-weight: bold;
    font-family: var(--mfont);
}
.flexdiv div button img{
    width: 18px;
    height: 18px;
}
.flexdiv div hr{
    height: 25px;
}
.flexdiv div a{
    text-decoration: none;
    background-color: maroon;
    padding: 5px;
    border: none;
    border-radius: 5px;
    display: flex;
    gap: 10px;
    align-items: center;
    color: white;
    flex-direction: row;
    font-weight: bold;
    font-family: var(--mfont);
    font-size: 0.8rem;
}
.flexdiv div a img{
    width: 20px;
    height: 20px;
}
.flexdiv div input{
    padding: 7px;
    border-radius: 15px;
    box-shadow: inset 0 0 5px grey;
    border: none;
    outline: none;
    margin-right: 10px;
}
.flexdiv div button p{
    font-family: var(--mfont);
    font-size: 0.8rem;
}
.flexdiv .courselist{
    display: flex;
    gap: 10px;
    align-items: center;
}
.flexdiv .courselist a{
    display: block;
    padding: 8px;
    border-radius: 10px;
    border: 1px solid maroon;
    background-color: transparent;
    color: maroon;
    font-weight: 500;
}
.flexdiv .courselist .selected{
    background-color: maroon;
    color: white;
    font-size: 1rem;
    font-weight: bold;
}

.course{
    position: relative;
    padding-top: 10px;
}
.course button{
    background-color: maroon;
    padding: 5px;
    border: none;
    border-radius: 5px;
    display: flex;
    gap: 10px;
    align-items: center;
    color: white;
    font-weight: bold;
    font-family: var(--mfont);
}
.course .datatable{
    width: 80%;
}
.tr{
    top: 0px;
    bottom: auto;
    right: 0px;
    z-index: 5;
}

.hiddenelement{
    display: none;
}
.formpage{
    z-index: 50;
    position: fixed;
    top: 0px;
    left: 0px;
    width: 100%;;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
}
.formpage .float{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.formpage .float.wide{
    width: 85%;
}
.formpage .overlay{
    z-index: 52;
}
.formpage .formelement{
    box-shadow: 0 0 5px lightgrey;  
    text-align: center;  
    padding: 20px;    
    background-color: white;
    max-height: 90%;
    overflow: auto;
}
.formelement{
    padding: 10px;    
    border-radius: 10px;
    box-shadow: 0 0 5px black;
    overflow: hidden;
    background-color: white;
    height: auto;
}
.formelement td, th{
    padding: 10px; 
    padding-top: 0px;
    position: relative;
}
.formelement td:first-child{
    text-align: right;
}
.formelement label{
    color: grey;
}
.formelement label p{
    font-weight: 500;
    font-size: 0.8rem;
}
.formelement input{
    padding: 10px;    
    border-radius: 5px;
    border: none;
    width: 350px;
    box-shadow: inset 0 0 5px grey;
}
.formelement input[type=file]
{
    border: none;
    box-shadow: none;
    opacity: 1 !important;
}
.formelement input[type=checkbox]
{
    width: 25px;
    height: 25px;    
    border-radius: 5px;
    opacity: 1 !important;
}
.formelement input[type=radio]
{
    width: 20px;
    height: 20px;
    border: none;
    box-shadow: none;
    opacity: 1 !important;
}
.formelement .checkdiv{
    display: flex;
    gap: 10px;
    align-items: center;
}
.formelement .checkdiv input[type=checkbox]
{
    width: 25px;
    height: 25px;    
    border-radius: 5px;
    opacity: 1 !important;
    box-shadow: none;
}
.formelement input:focus{
    outline: none;
    box-shadow: inset 0 0 2px ;
}
.formelement input:read-only{
    opacity: 0.3;
}
.formelement select{
    padding: 8px;
    border-radius: 5px;
    border: none;
    width: 350px;
    box-shadow: inset 0 0 5px grey;
}
.formelement textarea{
    width: 350px;
    height: 150px;
    border: none;
    border-radius: 10px;
    box-shadow: inset 0 0 5px grey;
    padding: 5px;
}
.formelement button{
    padding: 5px;
    margin: 5px;
    border-radius: 5px;
    border: none;
    background-color: maroon;
    color: white;
    font-weight: bold;
    font-size: 1rem;
    outline: none;
}
.formelement button.main{
    background-color: maroon;
}
.formelement button.sub{
    background-color: grey;
}
.formelement button:hover{
    box-shadow: 0 0 5px black;
}
.formelement button.sub:hover{
    background-color: maroon;
}
.formelement a{
    padding: 5px;
    margin: 5px;
    border-radius: 5px;
    border: none;
    background-color: maroon;
    color: white;
    font-weight: bold;
    text-decoration: none;
    font-size: 1rem;
}
.formelement .tip{
    font-size: 0.7rem;
}
.formelement .tip a{
    background-color: transparent;
    color: dodgerblue;
    font-size: 0.7rem;
    font-weight: 400;
    margin: 0px;
    padding: 0px;
}
.formelement .tip a:hover{
    text-decoration: underline;
}
.formelement img{
    width: 200px;
}
.formelement td img{
    width: 150px;
}
.formelement .radio{
    display: flex;
    align-items: center;
}
.formelement .errspan{
    font-size: 0.8rem;
    color: red;
    display: block;
    text-align: left;
}
.formelement .triplegrid{
    margin: 0px auto;
    display: grid;
    grid-template-columns: 30% 30% 30%;
    gap: 10px;
}
.formelement .doublegrid{
    margin: 0px auto;
    display: grid;
    grid-template-columns: 48% 48%;
    gap: 10px;
}
.formelement .imgflex{
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center;
}
.formelement .imgflex img{
    width: 60px;
}
.formelement ol{
    text-align: left;
    margin-left: 20px;
}
.formelement ol li{
    padding: 10px;
}


.contenttable{
    width: 100%;
    border-collapse: collapse;
}
.contenttable th{
    text-align: center;
    background-color: lightgrey;
}
.contenttable td input{
    width: 100px;
}

.branchholder{
    margin: 5px auto;
    padding: 10px;
    max-width: 65%;
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    justify-content: space-evenly;
    height: 90vh;
    overflow: auto;
    position: relative;
    align-content: center;
}
.branchholder a{
    text-decoration: none;
    color: maroon;
    display: block;
}
.branchholder .indibra{
    text-align: center;
    box-shadow: 0 0 5px grey;
    border-radius: 10px;
    width: 150px;
    overflow: hidden;
}
.branchholder .indibra div{
    padding: 10px;
    box-shadow: 0 0 5px grey;
}
.branchholder .indibra img{
    width: 125px;
}
.branchholder .indibra:hover{
    box-shadow: 0 0 10px grey;
}

.absbtn{
    text-decoration: none;
    display: block;
    background-color: maroon;
    position: absolute;
    border-radius: 50%;
    box-shadow: 0 0 5px grey;
}
.br{
    bottom: 10px;
    right: 10px;
}
.absbtn img{
    width: 25px;
    margin: 10px;
}


.opendcholder{
    padding: 5px;
    box-shadow: inset 0 0 5px black;
    border-radius: 5px;
    margin: 3px;
    width: 90%;
}
.opendcholder a{
    display: inline-block;
    background-color: dodgerblue;
    color: white;
    text-decoration: none;
    padding: 5px;
    margin: 3px;
    font-weight: bold;
    border-radius: 5px;
    box-shadow: 0 0 3px black;
}
.opendcholder button{
    display: inline-block;
    background-color: maroon;
    color: white;
    text-decoration: none;
    padding: 5px;
    margin: 3px;
    font-weight: bold;
    font-size: 1rem;
    border-radius: 5px;
    border: none;
    box-shadow: 0 0 3px black;
}


.datatable{
    border-radius: 5px;
    overflow: auto;
    width: 100%;
    position: relative;    
    z-index: 1;
    margin: auto;
    background-color: white;
}
.datatable table{
    width: 100%;
    border-collapse: collapse;
}
.datatable tbody tr:nth-child(even){
    background-color: white;
}
.datatable tbody tr:nth-child(odd){
    background-color: rgb(235, 235, 235);
}
.datatable tbody tr:hover{
    background-color: lightgrey;
}
.datatable td, th{
    padding: 5px 10px;
    font-size: 1rem;
    border: none;
}
.datatable th:first-child{
    position: sticky;
    left: 0;
    z-index: 2;
}
.datatable thead th{
    background-color: maroon;
    color: white;
    text-align: left;
    position: sticky;
    top: 0;   
    z-index: 4;
    border: none;
    padding: 8px;
    font-family: var(--bbfont);
    font-weight: 500;
    font-size: 1.1rem;
}
.datatable thead th:first-child{    
    z-index: 5;
}
.datatable tbody th{ 
    border: none; 
    padding: 5px;
    text-align: left;
}
/* .datatable tbody td:last-child{
    position: sticky;
    right: 0;
} */
 .datatable td{
    font-family: var(--sfont);
    font-size: 0.9rem;
 }
 .datatable td .logo{
    width: 50px;
    height: 50px;
 }
.datatable td a{
    text-decoration: none;  
    background-color: maroon;
    color: white;
    padding: 3px; 
    display: inline-block;
    border-radius: 5px;
    border: none;
    position: relative;
    font-size: 0.9rem;
}
.datatable td button{    
    background-color: maroon;
    color: white;
    padding: 3px; 
    border: none;
    border-radius: 5px;
    position: relative;
    font-size: 0.9rem;
}
.datatable td a span{
    background-color: rgb(229, 229, 229);
    color: black;
    padding: 2px;
    position: absolute;
    bottom: 30px;
    left: -50%;
    border-radius: 5px;
    z-index: 2;
    visibility: hidden;
    font-size: 0.8rem;
    width: max-content;
}
.datatable td button span{
    background-color: rgb(229, 229, 229);
    color: black;
    padding: 2px;
    position: absolute;
    bottom: 30px;
    left: -50%;
    border-radius: 5px;
    z-index: 2;
    visibility: hidden;
    font-size: 0.8rem;
    width: max-content;
}
.datatable td button:hover{
    box-shadow: 0 0 5px grey;
    /* transform: translate(0px, -5px); */
}
.datatable td a:hover{
    box-shadow: 0 0 5px grey;
    /* transform: translate(0px, -5px); */
}
.datatable td a:hover span{
    visibility: visible;
}
.datatable td button:hover span{
    visibility: visible;
}
.datatable td img{
    width: 15px;
}
.datatable td .ssimg{
    width: 350px;
}
.datatable .acttd{
    text-align: right;
    padding-right: 20px;
    position: relative;
}
.datatable td .silentlink{
    background-color: transparent;
    color: black;
    font-weight: 500;
}
.datatable td .silentlink h3{
    font-weight: 500;
}
.datatable td .silentlink:hover{
    box-shadow: none;
}
.datatable .inner{
    box-shadow: 0 0 5px grey;
}

.indicourse{
    margin-bottom: 10px;
}
.indicourse .flexdiv{
    background-color: coral;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
}
.semsection{
    padding: 10px;
    display: grid;
    grid-template-columns: 32% 32% 32% ;
    gap: 10px;
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
    box-shadow: inset 0 0 5px grey;
}
.semsection .indisem{
    padding: 10px;
    border: 0.5px solid grey;
    border-radius: 10px;
    box-shadow: 0 0 5px grey;
}
.semsection .indisem .flexdiv{
    background-color: transparent;
    position: relative;
    padding: 0px;
    background-color: white;
}
.indisem .flexdiv button{
    background-color: transparent;
    border: none;
    padding: 0px;
}
.indisem .flexdiv button img{
    width: 15px;
    height: 15px;
}
.indisem .flexdiv button:hover{
    background-color: lightgrey;
    border-radius: 15px;
}
.indisem .flexdiv .flexabs{
    position: absolute;
    top: 100%;
    right: 0px;
    display: flex;
    flex-direction: column;
    background-color: white;
    box-shadow: 0 0 5px grey;
    padding: 3px;
    border-radius: 5px;
    z-index: 3;
}
.indisem .flexdiv .flexabs button{
    padding: 3px;
    color: black;
    border-radius: 0px;
    width: 100%;
    border-radius: 3px;
}
.subjholder{
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.subjholder .indisubject{
    padding-left: 10px;
    position: relative;
}
.indisubject h3{
    font-size: 1rem;
}
.subjholder button{
    display: flex;
    gap: 10px;
    width: max-content;
}
.subjholder button img{
    width: 15px;
    height: 15px;
}
.indisubject .topichold{
    display: block;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 2px;
}
.indisubject .flexdiv{
    padding: 0px;
    padding-top: 5px;
}
.indisubject .flexdiv div{
    gap: 3px;
}
.indisubject .absbtnhold button{
    padding: 3px;
}
.indisubject .absbtnhold{
    position: absolute;
    top: 2px;
    right: 2px;
    display: none;
    gap: 5px;
    align-items: center;
}
.indisubject .absbtnhold button{
    background-color: maroon;
    color: white;
    border-radius: 5px;
    border: none;
    font-weight: bold;
}
.indisubject .absbtnhold button img{
    width: 15px;
    height: 15px;
}
.indisubject:hover .absbtnhold{
    display: flex;
}
.topichold button{
    display: flex;
    gap: 10px;
    width: max-content;
}
.topichold button img{
    width: 15px;
    height: 15px;
}

.topicform table{
    width: 100%;
    border-collapse: collapse;
}
.topicform th{
    background-color: maroon;
    color: white;
    padding: 5px;
    border: none;
}


.batchcourseholder .semsection{
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    box-shadow: none;
}
.batchcourseholder .indsem{
    padding: 5px;
    box-shadow: 0 0 5px lightgrey;
    border-radius: 10px;
    min-height: 150px;
    width: 400px;
    min-height: 250px;
    background-color: white;
}
.batchcourseholder .indsem .indisubject h4{
    font-size: 0.95rem;
}
.batchcourseholder .indsem .indisubject .topichold p{
    font-size: 0.9rem;    
    font-style: italic;
}
.indsem .flexdiv button img{
    width: 15px;
    height: 15px;
}
.subjholder .flexdiv button img{
    width: 12px;
    height: 12px;
}




.chartholder{
    display: flex;
    gap: 10px;
    padding: 10px;  
    justify-content: space-between;  
}
.stuattchart{
    width: 48%;
    padding: 10px;
    border: 0.5px solid black;
    border-radius: 20px;
    min-height: 250px;
    text-align: center;
}
.chartholder a{
    display: block;
    width: 48%;
}
.chartholder a .stuattchart{
    width: 100%;
}


.planprochart{
    border: 0.5px solid grey;
    border-radius: 20px;
    min-height: 200px;
    width: 100%;
    padding: 10px;
    text-align: center;
}
.planprochart .chartholder{    
    display: flex;
    gap: 15px;
    overflow: auto;
    scrollbar-width: thin;
}

.indiprog{
    margin: 10px;
    margin-bottom: 20px;
    text-align: left;
}
.progbar{
    width: 100%;
    height: 20px;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: inset 0 0 5px grey;
    position: relative;
    background-color: white;
}
.progbar .prog{
    height: 22px;
    position: absolute;
    top: 0px;
    left: 0px;
}
.progbar .prog p{
    text-indent: 10px;
    align-content: center;
    padding: 2px;
    background-color: rgba(0, 0, 0, 0.5);
    color: white;
    display: none;
}
.progbar .prog:hover p{
    display: inline-block;
}

.splitprogbar{
    width: 100%;
    height: auto;
    position: relative;
    background-color: floralwhite;
    display: flex;
    box-shadow: inset 0 0 5px grey;
    border-radius: 10px;
}
.splitprogbar .prog{
    border-radius: 10px;
    height: 35px;
    overflow: hidden;
    box-shadow: 0 0 5px grey;
}
.splitprogbar .prog p{
    text-indent: 10px;
    align-content: center;
    height: 100%;
    padding: 5px;
    color: white;
    display: inline-block;
    font-weight: bold;
}









.filtersection{
    margin: 10px 0px;
}

.flexform{
    display: flex;
    justify-content: flex-start;
    align-items: end;
    gap: 10px;
    flex-wrap: wrap;
}
.flexform form{
    display: flex;
    justify-content: space-between;
    width: 100%;
    align-items: end;
}
.flexform form .expbtn{
    padding: 5px 15px;
    background-color: rgb(242, 242, 242);
    border-radius: 5px;
    border: none;    
    color: black;
    font-weight: bold;
    max-height: 40px;
    height: 60%;
    display: flex;
    gap: 10px;
    align-items: center;
}
.flexform form .expbtn:hover{
    background-color: lightgrey;
    border: none;
}
.expbtn img{
    width: 15px;
}
.flexform input{
    width: 100%;
    padding: 10px;
    border-radius: 15px;
    box-shadow: inset 0 0 5px lightgrey;
    border: none;
    outline: none;
    margin-right: 10px;
}
.flexform select{
    width: 100%;
    padding: 10px;
    border-radius: 15px;
    box-shadow: inset 0 0 5px lightgrey;
    border: none;
    outline: none;
    margin-right: 10px;
}
.flexform select option:first{
    color: grey;
}
.flexform button{
    padding: 5px;
    margin: 5px;
    border-radius: 5px;
    border: none;
}
.flexform button img{
    width: 20px;
}
form .flexform{
    align-items: end;
}
.inpdiv{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0px;
    position: relative;
}
.inpdiv input{
    width: 230px;
    border-radius: 8px;
}
.inpdiv input[type='checkbox']
{
    width: 25px;
    height: 25px;
}
.inpdiv select{
    width: 230px;
    border-radius: 8px;
}
.inpdiv label{
    margin-left: 5px;
}
.dateinpdiv{
    display: flex;
}
.dateinpdiv .inpdiv input{
    width: 150px;
}
.search-container {
    position: relative;
    display: inline-block;
}
.inpdiv .search-container input {
    padding: 10px;   
    outline: none;
}
.inpdiv .search-container select {
    padding: 10px;
    outline: none;
}
.inpdiv .search-container-right input {
    padding: 10px;
    padding-right: 40px; /* Space for the icon */    
    outline: none;
}
.inpdiv .searchresult .checkboxhold{
    display: flex;
    gap: 5px;
    align-items: center;
}
.inpdiv .searchresult input[type='checkbox'] {
    padding: 10px;
    margin: 3px;
    width: 20px;
    height: 20px;
    padding-right: 40px; /* Space for the icon */    
    outline: none;
}
.search-container .search-icon {
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
}
.search-container-right button{
    background-color: transparent;
    margin: 0px;
    padding: 0px;
}
.search-container-right .search-icon {
    position: absolute;
    right: 20px;
    top: 45%;
    transform: translateY(0%);
    width: 20px;
    height: 20px;
}
.search-container input:focus .search-icon{
    display: none;
}
.search-container select:focus .search-icon{
    display: none;
}
.searchresult{
    position: absolute;
    top: 100%;
    left: 0px;
    width: 250px;
    border-radius: 5px;
    background-color: rgba(250, 250, 250);
    color: black;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-shadow: 0 0 5px grey;
    z-index: 8;
}
.searchresult button{
    background-color: maroon;
    border: none;
    font-weight: bold;
    padding: 10px;
    text-align: left;
    
}
.searchresult button:hover{
    background-color: lightgrey;
    color: black;
}
.flexdiv .filtersection{
    margin: 5px 0px;
}


.monthrep{
    text-align: center;
    width: 100%;
}
.monthrep table{
    width: 100%;
    border-collapse: collapse;
}
.monthrep tr:hover{
    background-color: darkgrey;
}
.monthrep th{
    border: 0.5px solid grey;
    padding: 5px;
    min-width: auto;
}
.monthrep td{
    border: 0.5px solid grey;
    padding: 5px;
}
.monthrep th:first-child{
    text-align: left;
}
.monthrep .blink{
    animation: blink 2s infinite linear;
}
@keyframes blink {
    0%{
        background-color: yellow;
    }
    50%{
        background-color: yellowgreen;
    }
    100%{
        background-color: yellow;
    }
}


.monthbudget{
    display: grid;
    grid-template-columns: 24% 24% 24% 24%;
    gap: 25px;
    justify-content: space-around;
}
.budgettile{
    padding: 10px;
    box-shadow: 0 0 5px grey;
    border-radius: 10px;
    background-image: linear-gradient(180deg, white, rgb(255, 208, 208));

}
.budgettile table{
    width: 100%;
    border-collapse: collapse;
}
.budgettile td{
    padding: 5px;
}
.budgettile td:last-of-type{
    text-align: right;
    font-weight: bold;
}
.budgettile .indiprog{
    display: block;
}

.tileholder{
    display: grid;
    grid-template-columns: 24% 24% 24% 24%;
    gap: 25px;
    justify-content: space-around;
}
.tile{
    padding: 5px;
    box-shadow: 0 0 5px grey;
    border-radius: 10px;
    /* background-image: linear-gradient(135deg, white, rgb(226, 208, 255)); */
    background-color: floralwhite;
    overflow: hidden;    
    animation: pushup 1s linear forwards;
    transform: translateY(20px);
    opacity: 0.5;
}
@keyframes pushup {
    0%{
        transform: translateY(20px);
        opacity: 0.5;
    }
    100%{
        transform: translateY(0px);
        opacity: 1;
    }
}
.splittile{
    display: flex;
    grid-template-columns: 50% 50%;
    gap: 5px;
    justify-content: space-evenly;
    padding: 0px;
    box-shadow: none;
    background-color: transparent;
    overflow: visible;
}
.splittile .subtile{
    box-shadow: 0 0 5px grey;
    border-radius: 10px;
    /* background-image: linear-gradient(135deg, white, rgb(226, 208, 255)); */
    background-color: floralwhite;
    width: 95%;
    display: block;
    padding: 10px;
    margin-bottom: 0px;
    align-content: center;
    position: relative;
}
.splittile .subtile .warn{
    position: absolute;
    top: -5px;
    right: -5px;
    z-index: 32;
    width: 30px;
    height: 30px;
    background-color: white;
    box-shadow: 0 0 5px grey;
    border-radius: 50%;
    padding: 5px;
    animation: ring 2s ease-in-out infinite;
}
.splittile .subtile span{
    position: absolute;
    bottom: -28px;
    left: 0px;
    background-color: white;
    color: black;
    border-radius: 5px;
    box-shadow: 0 0 5px grey;
    display: none;
    width: 100%;
    padding: 3px;
    font-size: 0.75rem;
    text-align: center;
}

.splittile .subtile div{
    margin-bottom: 0px;
}


.tile div{
    display: flex;
    gap: 20px;
    align-items: center;
    margin-bottom: 20px;    
}
.tile a{
    text-decoration: none;
    color: black;
    padding: 5px;
    display: block;
}
.tile a:hover{
    color: white;
}
.tile div img{
    width: 40px;
    height: 40px;
}
.tile h2{
    font-size: 2.5rem;
    margin-left: 20px;    
}
.tile h3{
    font-family: var(--bbfont);
    font-size: 1.5rem;
    font-weight: 500;
}
.tile:hover{
    background-color: maroon;
    /* background-image: linear-gradient(135deg, rgba(128, 0, 0, 0.5), white); */
    color: white;
    scale: 1.02;
}
.tile p,span{
    font-family: var(--mfont);
}
.tile:hover img{
    background-color: white;
    border-radius: 10px;
    padding: 5px;
    box-shadow: inset 0 0 5px grey;
}
.tile:hover .warn{
    background-color: transparent;
    padding: 0px;
    box-shadow: none;
     width: 30px;
    height: 30px;
    background-color: white;
    box-shadow: inset 0 0 5px grey;
    border-radius: 50%;
    padding: 5px;
    animation: ring 2s linear infinite;    
}
@keyframes ring {
    0%{
        rotate: 0deg;
    }
    30%{
        rotate: 20deg;
    }
    40%{
        rotate: -20deg;
    }
    50%{
        rotate: 20deg;
    }
    60%{
        rotate: -20deg;
    }
    100%{
        rotate: 0deg;
    }
}
.subtile:hover span{
    display: inline-block;
}
.mastertileholder{
    display: grid;
    grid-template-columns: 31% 31% 31%;
    gap: 25px;
    justify-content: space-around;
    margin-bottom: 20px;
}
.mastertileholder .tile h2{
    font-size: 3rem;
}

.splittile:hover{
    background-color: transparent;
    color: black;
}
.subtile:hover{
    background-color: maroon;
    color: white;
}

.tile .chart{
    display: flex;
    gap: 10px;
    align-items: self-start;
}
.attend{
    display: grid;
    grid-template-columns: 25% 70%;
    gap: 10px;
}
.attend .tile:hover{
    background-color: white;
    background-image: linear-gradient(135deg, whitesmoke, white);
    color: black;
}
.overallscrolltile{
    display: grid;
    grid-template-columns: 19% 80%;
    gap: 10px;
    align-items: center;
    padding: 10px;
    border-radius: 10px;
    background-color: floralwhite;
    box-shadow: 0 0 5px grey;
    margin: 15px;
    margin-bottom: 20px;
}

.overallscrolltile .tileholder{
    border-radius: 10px;
    box-shadow: inset 0 0 5px grey;
    width: 100%;
    background-color: whitesmoke;
}
.overallscrolltile .tile:first-child:hover{
    background-color: transparent;
    color: black;
}
.overallscrolltile .tile{
    margin: 8px;    
    padding: 10px;
}
.overallscrolltile .tileholder .tile:first-child:hover{
    background-color: maroon;
    color: white;
}
.accounttileholder{
    display: flex;
    gap: 20px;
    align-items: center;
    justify-content: space-evenly;
    padding: 15px;
}
.accounttileholder .tile{
    box-shadow: 0 0 5px grey;
    width: 100%;
    padding: 10px;
}
.accounttileholder .tile .budgettile{
    box-shadow: none;
    background-image: none;
    display: block;
    padding: 0px;
}
.accounttileholder .tile div{
    margin-bottom: 5px;
}

.dashtray{
    display: flex;
    gap: 25px;
    padding: 10px;
    box-shadow: 0 0 5px grey;
    border-radius: 20px;
    overflow: auto;
    scrollbar-width: thin;
    
}
.studentdash{
    width: 500px;
}
.dashtray .stuattchart{
    width: 500px;
}





.schedule{
    display: grid;
    grid-template-columns: 49% 49%;
    gap: 10px;    
    flex-wrap: wrap;
}
.formelement .short input{
    width: 150px;
}
.schedule .indisch{
    box-shadow: 0 0 5px grey;
    border-radius: 10px;
    padding: 8px;
}
.schedule td:first-child{
    text-align: center;
}
.schedule .indisch td, th{
    min-width: 0px;
    border: none;
    padding: 5px;
}
.schedule input[type='checkbox']{
    width: 15px;
    height: 15px;
}
.schedule input[type='date']{
    width: 150px;
    padding: 5px;
}
.schedule .flexinp{
    display: flex;
    align-items: center;
    gap: 10px;
}
.schedule .theory{
    box-shadow: 0 0 5px grey;
    border-radius: 5px;
    padding: 5px;
}
.schedule .practical{
    box-shadow: 0 0 5px grey;
    border-radius: 5px;
    padding: 5px;
}
.schedule .regular{
    border: 0.5px solid grey;
    border-radius: 5px;
    margin: 5px;
    padding: 5px;
}
.schedule .regular table{
    width: 100%;
    border-collapse: collapse;
}
.schedule table td{
    border: 0.5px solid grey;
    padding: 5px;
    padding-top: 5px;
}
.schedule .arrear{
    border: 0.5px solid grey;
    border-radius: 5px;
    margin: 5px;
    padding: 5px;
}
.schedule .arrear table{
    width: 100%;
    border-collapse: collapse;
}
.schedule .schaddbtn{
    text-align: center;
}
.schedule .schaddbtn td{
    border: none;
}
.schedule .schaddbtn button{
    padding: 5px;
    border-radius: 5px;
    border: none;
    background-color: maroon;
    color: white;
    font-weight: bold;
}


.schview{
    display: flex;
    flex-direction: column;
}
.schview .indischview{
    margin: 10px;
}
.schview .indischview table{
    width: 100%;
    border-collapse: collapse;
}
.schview td,th{
    border: 0.5px solid grey;
    padding: 10px;
}




.splittable{
    display: grid;
    grid-template-columns: 50% 50%;
    align-items: center;
}
.splitsec{
    padding: 5px;
    height: 50vh;
}
.switchholder{
    text-align: left;
}
.filtswitch{
    display: flex;
    gap: 10px;
    align-items: center;
    margin-bottom: 3px;
}



.vertitoptd{
    vertical-align: top;
}


.profilepage{
    padding: 8px;
    border-radius: 10px;
    box-shadow: 0 0 5px grey;
}
.profilepage td{
    padding: 10px;
    
}
.profilepage td:first-of-type{
    font-weight: bold;
}
.basicdetail{
    display: flex;
    align-items: flex-start;
    gap: 25px;
    flex-wrap: wrap;
    margin-bottom: 10px;
}
.basicdetail img{
    width: 250px;
}
.basicdetail div{
    text-align: left;
    height: stretch;
}
.basicdetail table{
    width: auto;
}



.addresstable tr:first-of-type{
    font-weight: bold;
}
.addresstable tr:last-of-type td{
    font-weight: 500;
}
.profilepage .attendance{
    padding: 10px;
    overflow: auto;
}










.inditt{
    margin-bottom: 20px;
}
.inditt table{
    border-collapse: collapse;
    width: 100%;
    box-shadow: 0 0 5px grey;
}
.inditt td{
    min-width: 150px;
    width: max-content;
    padding: 5px;
    border: 0.5px solid black;
    position: relative;
}
.inditt th{
    background-color: maroon;
    color: white;
}
.inditt td{
    background-color: white;
}
.inditt td button{
    padding: 3px;
    margin: 3px;
    border-radius: 5px;
    border: none;
    box-shadow: 0 0 5px black;
    background-color: maroon;
}
.inditt td button img{
    width: 15px;
}
.inditt td .ttform{
    display: none;
    width: 100%;
    text-align: right;
    position: absolute;
    top: 2px;
    right: 2px;
}
.inditt td:hover .ttform{
    display: block;
}



.studentattview{
    display: grid;
    grid-template-columns: 35% 63%;   
    gap: 20px; 
    padding: 10px;
}
.studentattview .daily{
    padding: 10px;
    border-radius: 10px;
    height: max-content;
    font-family: var(--sfont);
    background-color: white;
    box-shadow: 0 0 5px grey;
}
.studentattview .datatable{
    min-height: 350px;
}
.attdata{
    margin-top: 5px;
    font-family: var(--sfont);
}
.attdata table{
    width: 100%;
}
.attdata table td{
    padding: 10px;
    font-family: var(--sfont);
}
.attdata table td:last-of-type{
    text-align: right;
    font-weight: bold;
}
.studentattview .daily .flexdiv h3{
    font-size: 1rem;
}


.attendtable{
    width: 100%;
    overflow: auto;
}
.attendtable table{
    border-collapse: collapse;
    width: 100%;
    border: 0.5px solid grey;
}
.attendtable th{
    border: 0.5px solid lightgrey;
    vertical-align: top;
    font-family: var(--bfont);
}
.attendtable td{
    border-bottom: 0.5px solid lightgrey;
}
.attendtable table .tabletd{
    padding: 0px;
}
.attendtable table .tabletd table{
    height: 100%;
}
.attendtable table .tabletd table td{
    padding: 0px;
    padding-top: 5px;
    text-align: center;
    border: 0.5px solid lightgrey;
}
.attendtable table .tabletd table th{
    padding: 8px;
}
.attendtable table .tabletd table tr:last-of-type td{
    padding: 0px;
}
.attendtable table .tabletd table td p{
    font-weight: bold;
    padding: 5px;
    color: white;
}
.attendtable .attval{
    text-align: center;
    vertical-align: middle;
    font-weight: bold;
}



.theohold{
    border-radius: 10px;
    border: 0.5px solid lightgrey;
    margin-bottom: 25px;
    overflow: hidden;
}
.theoheader{
    background-color: lightgrey;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
}
.depthold{
    padding: 5px;
}



.holiday{
    align-content: center;
    gap: 10px;
    height: 200px;
    display: grid;
    grid-template-columns: 49% 49%;
    justify-content: space-evenly;
}





.indiprog{
    display: grid;
    grid-template-columns: 24% 24% 24% 24%;
    gap: 10px;
}
.indicouprog{
    padding: 5px;
    margin: 5px;
    box-shadow: 0 0 5px grey;
    border-radius: 10px;
    width: 100%;
}
.couprogbar{
    width: 100%;
    height: 15px;
    box-shadow: inset 0 0 5px grey;
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 10px;
}
.couprogbar.flex{
    display: flex;
    align-items: center;
}
.couprogbar div{
    padding: 5px;
    height: 20px;
}
.indisubprog .couprogbar{
    margin-bottom: 3px;
    height: 10px;
}
.indisubprog .flexdiv{
    margin: 3px;
}
.indisubprog .flexdiv p{
    font-size: 1rem;
    font-family: var(--bfont);
}




.pagenums{
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: center;
    margin-top: 20px;
}
.pagenums a{
    text-decoration: none;
    background-color: white;
    color: grey;
    font-weight: bold;
    padding: 10px;
    border-radius: 5px;
}
.pagenums .active{
    background-color: lightgrey;
    color: black;
    padding: 10px;
}
.pagenums button{
    text-decoration: none;
    background-color: white;
    border: none;
    color: grey;
    font-weight: bold;
    padding: 10px;
    border-radius: 5px;
}
.pagenums button.active{
    background-color: lightgrey;
    color: black;
    padding: 10px;
}







.donut-chart {
    width: 150px;
    height: 150px;
    border-radius: 50%;
    background-image: conic-gradient(
    maroon 0% 60%,   /* Green slice: 40% */
    whitesmoke 60% 100% /* Blue slice: 30% */
    );
    position: relative;
    margin: 20px auto;
    box-shadow: inset 0 0 5px grey;
}

/* Inner circle to make it hollow */
.donut-chart::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 70%;
    height: 70%;
    background: white; /* same as page background */
    border-radius: 50%;
    box-shadow: 0 0 5px black;
}
.donut-chart h3{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-weight: bold;
    font-size: 2.5rem;
    color: maroon;
    z-index: 5;
}
.donut-chart h3 span{
    font-size: 1.2rem;
}
.tile .legend {
    display: flex; 
    gap: 0px;   
    align-items: flex-start;
    flex-wrap: wrap;
    width: 120px;
    justify-content: space-evenly;
    flex-direction: column;
}
.tile .legend div {
    display: flex;
    align-items: center;
    margin: 5px;
    gap: 0px;
    font-family: var(--mfont);
}
.legend span {
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-right: 10px;
    box-shadow:0 0 5px grey;
    border-radius: 10px;
}

.branchchart{
    display: flex;
    height: 100%;
    margin-bottom: 0px;
    align-items: end;
    justify-content: space-evenly;
}
.branchchart .indiatt{
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    height: 100%;
    width: 100%;
    gap: 5px;
    margin-bottom: 0px;
}
.branchchart .indiatt hr{
    width: 100%;
}
.branchchart .indiatt .att{
    height: 100%;
    margin-bottom: 0px;
}
.branchchart .indiatt .att div{
    height: 100%;
    display: flex;
    flex-direction: column-reverse;
    justify-content: flex-start;
    margin-bottom: 0px;
    border-radius: 10px;
}
.branchchart .indiatt .att div .attbar{
    width: 35px;
    min-height: 2px;
    box-shadow: 0 0 5px grey;
}


.examview{
    display: grid;
    grid-template-columns: 35% 63%;
    gap: 20px;
    margin-bottom: 20px;
    padding: 10px;
}
























.billpage{
    margin: 10px auto;
    max-width: 1000px;
}
.billview{
    border: 0.5px solid black;
    text-align: center;
    position: relative;
}
.billview .billinfo{
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: .5px solid black;
    text-align: left;
}
.billinfo .detail{
    border-left: 0.5px solid black;
    height: stretch;
}
.billinfo table td{
    width: max-content;
    border: none;
    padding: 3px;
}
.billinfo table th{
    width: max-content;
    border: none;
    padding: 3px;
}
.billview .ourdetail{
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 5px;
}
.ourdetail div{
    text-align: left;
}
.ourdetail div h3{
    font-size: 1.4rem;
}
.ourdetail div p{
    font-size: 0.9rem;
}
.ourdetail img{
    width: 60px;
}

.billdetail{
    display: grid;
    grid-template-columns: 50% 50%;
    border-bottom: .5px solid black;
    text-align: left;
    padding: 3px;
}
.billdetail div{
    border: 0.5px solid black;
}
.billdetail .supdetail{
    border-right: none;
}
.billdetail td{
    padding: 2px;
}
.billdetail td:first-child{
    vertical-align: top;
}


.studdetail{
    display: grid;
    grid-template-columns: 50% 50%;    
    border-top: 0.5px solid black;
}
.studdetail table{
    border-collapse: collapse;
    width: max-content;
}
.studdetail td{
    border: none;
    width: max-content;
    padding: 2px;
    text-align: left;
}


.billcontent{
    padding: 3px;
}
.billcontent table{
    width: 100%;
    border-collapse: collapse;
}
.billcontent th{
    text-align: center;
    border: 0.5px solid black;
    padding: 5px;
}
.billcontent td{
    text-align: left;
    border: 0.5px solid black;
    padding: 5px;
    vertical-align: top;
}


.dccontent{
    margin: 3px;
    /* border: 0.5px solid black; */
}
.dccontent table{
    width: 100%;
    border-collapse: collapse;
}
.dccontent th{
    border: 0.5px solid black;
    min-width: auto;
}
.dccontent td{
    padding: 5px;
    border: 0.5px solid black;
    border-bottom: none;
    border-top: none;
    min-width: auto;
}
.dccontent .lasttd{
    text-align: right;
}


.inword{
    text-align: left;
    padding: 3px;
    border-bottom: 0.5px solid black;
}
.inword p{
    font-size: 0.9rem;
}
.billsign{
    display: flex;
    align-items: end;
    justify-content: space-between;
    margin-top: 50px;
    padding: 10px;
}
.billsign h3{
    font-size: .8rem;
}
.cancelstamp{
    position: absolute;
    right: 50%;
    bottom: 20px;
}
.cancelstamp img{
    width: 150px;
    height: 150px;
}
.printbtn button{
    padding: 5px;
    margin: 5px;
    border-radius: 5px;
    background-color: var(--prim);
    color: var(--sec);
    font-weight: bold;
    text-align: center;
    border: none;
}