* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;

}


html, body {
    /* Prevent scrolling */
    font-family: Arial, sans-serif;
    background-color: #ffffff;

}


/* Page layout */
body {
    display: flex;
    flex-direction: column;
    height: 100%;
    text-align: center;
}
/* Centered container */
#dashboard-container {
    text-align: center;
    padding: 20px;
    background: white;
    border-radius: 10px;
}

/* Target form elements to ensure consistent width */
form {
    display: inline-block;
    text-align: left;
}

form input,
form .loginButton {
    display: block;
    box-sizing: border-box;  
}

form input {
    margin: 5px 0;
    padding: 5px;
}

#qr-reader {
    margin: 20px auto;
    display: inline-block;
}

header {
    background-color: #514eb5;
    color: white;
    padding: 1em 0;
    text-align: center;
    font-weight: bold;
}
header h1{
        font-weight: bold;
        font-size: 30px;

}
#fromDate{
    width: 300px;
    text-align: center;
    border-radius: 5px;
}
#toDate{
    width: 300px;
    text-align: center;
    border-radius: 5px;  
}

a {
    color: #514eb5;
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

button {
    background-color: #514eb5;
    color: white;
    border: none;
    padding: 10px 10px;
    cursor: pointer;
    margin-top: 10px;
}

button:hover {
    background-color: #514eb5;
}

#reader {
    margin: auto;
    display: block;
    border-radius: 10px;
}

#qrResult {
    margin-top: 10px;
    text-align: center;
    font-size: 1.2em;
    font-weight: bold;
}
                                      /* Footer css */

.footer {
  font-size: 14px;
  background-color:#514eb5 ;
  color: white;
    /* position: absolute; */
  /* bottom: 0; */
  width: 100%;
  padding: px 0;
 
}

.footer .copyright {
  padding: 9px 0;
  font-size: 16px;
}

.footer .copyright p {
  margin-bottom: 0;
}

.footer .credits {
  margin-top: 5px;
  font-size: 15px;
      font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
      filter: brightness(0) invert(1);

}
#dashboard-container{
    margin-top: 0px !important;
    padding-top: 0px !important;
}
@media screen and (max-width: 768px) {
#login-img{
    width: 500px !important;
    margin-top: 0px !important;
    padding-top: 0px !important;
} 
.link-box{
  font-size: 14px !important;
}  


}
@media screen and (max-width: 768px) {
  .lead{
    padding-inline: 80px !important;
  }
}
#username {
    width: 320px;
    border-radius: 5px;
}
#password{
        width: 320px;
            border-radius: 5px;

}
.report{
    background-color: #514eb5;
    color: white;
    padding-inline: 125px;
    padding-block: 9px;
    border-radius: 5px;

}
.lead{
 background-color: #514eb5;
    color: white;
    padding-inline: 90px;
    padding-block: 11px;
    border-radius: 5px;   
}
#startTime{
border-radius: 5px;
}
#endTime{
border-radius: 5px;

}
#remark{
border-radius: 5px;

}
.loginButton{
    width: 320px;
     border-radius: 5px;
     font-weight: bold;
}
/* qr code scanning  */
#qr-reader {
  position: relative;
  border: 3px solid rgba(255, 255, 255, 0.8);
  border-radius: 10px;
  box-shadow: 0 0 10px #514eb5;
  overflow: hidden;
}

/* Animated scanning line */
#qr-reader::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 3px;
  width: 100%;
  background: #514eb5;
  animation: scan-line 2s linear infinite;
}

/* Animation for scanning line */
@keyframes scan-line {
  0% {
    top: 0%;
  }
  50% {
    top: 100%;
  }
  100% {
    top: 0%;
  }
}

#logout-btn{
  width: 300px;
            border-radius: 5px;
font-weight: bold;
}
#submitBtn{
  width: 300px;
            border-radius: 5px;
font-weight: bold;
}

#rescan-btn{
  width: 300px;
            border-radius: 5px;
            font-weight: bold;


}
                            /* all buttons */


/* Two-column layout using grid */
.links {
   display: grid;
  grid-template-columns: repeat(2, auto);
  gap: 30px 30px;
  justify-content: center;
  margin-top: 20px;
}

.link-box {
  background-color: #514eb5;
  color: white;
  width: 150px;
  height: 150px;
  border-radius: 15px;
  text-decoration: none;
  font-size: 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 10px rgba(0,0,0,0.2);
  transition: transform 0.2s ease;
  cursor: pointer;
}

.link-box:hover {
  transform: scale(1.05);
}

.link-box img {
  width: 50px;
  height: 50px;
  margin-bottom: 10px;
  filter: brightness(0) invert(1);
}

.link-box span {
  font-weight: bold;
}

a {
  text-decoration: none !important;
}

/* mobile view bottom nav */
  .mobile-bottom-nav {
  display: none;
}

@media screen and (max-width: 768px) {
  .mobile-bottom-nav {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: #514eb5;
    border-top: 1px solid #ddd;
    display: flex;
    justify-content: space-around;
    padding: 15px 0;
    z-index: 999;
  }

  .mobile-bottom-nav .nav-icon {
    flex: 1;
    text-align: center;
    text-decoration: none;
    color: #ffffff;
    font-size: 11px;
  }

  .mobile-bottom-nav .nav-icon img {
    width: 30px;
    height: 30px;
    margin-bottom: 3px;
     filter: brightness(0) invert(1) !important;
  }
      /* ✅ Active button zoom effect */
    .mobile-bottom-nav .nav-icon.active {
      transform: scale(1.3);
    }

    .mobile-bottom-nav .nav-icon.active img {
      transform: scale(1.1);
    }
}

#calendar::-webkit-calendar-picker-indicator {
    filter: invert(1) !important;  /* Inverts color to white */
    cursor: pointer;
}



