*{
  margin:0;
  padding:0;
  box-sizing:border-box;
  font-family:Arial, Helvetica, sans-serif;
}

body{

  background:#eef3f8;

  color:#222;

  min-height:100vh;

  display:flex;

  flex-direction:column;
}

/* HEADER */

.header{

  width:100%;

  background:white;

  border-bottom:
  1px solid #dbe4ee;

  padding:24px 40px;

  position:sticky;

  top:0;

  z-index:100;
}

.header-content{

  max-width:1200px;

  margin:auto;

  display:flex;

  align-items:center;

  justify-content:space-between;

  gap:20px;
}
/*
.header h1{

  font-size:32px;

  color:#003b70;

  font-weight:800;
}

.header p{

  margin-top:8px;

  color:#5f6b7a;

  font-size:15px;
}
*/
.header-badge{

  background:#005eb5;

  color:white;

  padding:14px 22px;

  border-radius:14px;

  font-size:20px;

  font-weight:700;
}

/* FORM */

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

  padding:30px 20px;
}

.card{
  width:100%;
  max-width:500px;

  background:white;

  padding:35px;

  border-radius:24px;

  border:1px solid #dce5ef;

  box-shadow:0 10px 30px rgba(0,0,0,0.04);
}

.card h2{
  font-size:30px;
  color:#003b70;

  margin-bottom:30px;
}

.input-group{
  margin-bottom:22px;
}

.input-group label{
  display:block;

  margin-bottom:10px;

  color:#444;

  font-weight:600;
}

.input-group input{
  width:100%;

  padding:16px;

  border:1px solid #ccd7e3;

  border-radius:14px;

  background:#f9fbfd;

  outline:none;

  font-size:16px;
}

.input-group input:focus{
  border-color:#0077dd;
}

#getBtn{
  width:100%;

  padding:17px;

  border:none;

  border-radius:14px;

  background:#005eb5;

  color:white;

  font-size:17px;

  font-weight:700;

  cursor:pointer;
}

#getBtn:hover{
  background:#00498f;
}

/* LOADING */

.loading{
  position:fixed;
  inset:0;

  background:rgba(255,255,255,0.8);

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

  gap:20px;

  z-index:999;
}

.loader{
  width:70px;
  height:70px;

  border:6px solid #d7e8f7;
  border-top:6px solid #005eb5;

  border-radius:50%;

  animation:spin 1s linear infinite;
}

@keyframes spin{
  100%{
    transform:rotate(360deg);
  }
}

.loading p{
  color:#004b8d;
  font-weight:700;
}

.hidden{
  display:none !important;
}

/* RESULT */

.result-container{
  padding:20px 20px 60px;

  display:flex;
  justify-content:center;
}

.result-card{
  width:100%;
  max-width:850px;

  background:white;

  border-radius:24px;

  border:1px solid #dce5ef;

  overflow:hidden;
  padding-bottom:40px;
  box-shadow:0 10px 30px rgba(0,0,0,0.04);
}

/* BACK */

.back-btn{
  width:fit-content;

  margin:25px 25px 0;

  padding:12px 18px;

  border:none;

  border-radius:12px;

  background:#eef5ff;

  color:#005eb5;

  font-weight:700;

  cursor:pointer;
}

/* TOP */

.top{
  background:#f8fbff;

  padding:30px;
  
  border-bottom:1px solid #e2ebf4;

  display:flex;
  justify-content:space-between;
  gap:20px;
}

.small{
  color:#666;

  margin-bottom:8px;

  font-size:14px;
}

.top h2{
  font-size:30px;
  color:#003b70;
}

.top h3{
  font-size:28px;
  color:#003b70;
}

/* TABLE */

table{
  width:100%;
  border-collapse:collapse;
}

table thead{
  background:#005eb5;
  color:white;
}

table th{
  padding:18px;
  text-align:left;
}

table td{
  padding:18px;
  border-bottom:1px solid #edf2f7;
}

table tbody tr:hover{
  background:#f9fbfd;
}

/* CUT OFF */

.cutoff-box{
  padding:30px;

  display:grid;
  grid-template-columns:1fr 1fr;

  gap:20px;
}

.box{
  background:#f7faff;

  border:1px solid #dce8f4;

  border-radius:18px;

  padding:28px;
}

.box.active{
  background:#e8f5ff;
}

.box p{
  color:#666;
}

.box h2{
  margin-top:14px;

  font-size:38px;

  color:#003b70;
}
/* LOGO */

.logo{

  width:68px;

  height:68px;

  object-fit:cover;

  border-radius:50%;

  border:
  2px solid #dbe4ee;

  box-shadow:
  0 8px 20px
  rgba(0,0,0,0.06);

  flex-shrink:0;
}

/* LOGO IMAGE */

.logo img{

  width:100%;

  height:100%;

  object-fit:cover;

  border-radius:50%;
}
/* HEADER LEFT */
/* HEADER LEFT */

.header-left{

  display:flex;

  align-items:center;

  gap:16px;
}
.header-text{

  display:flex;

  flex-direction:column;

  justify-content:center;
}
/* HEADER TEXT */

.header-text{

  display:flex;

  flex-direction:column;

  justify-content:center;
}

.header-text h1{

  margin:0;

  font-size:32px;

  color:#003b70;

  font-weight:800;
}

.header-text p{

  margin-top:6px;

  color:#5f6b7a;

  font-size:15px;

  line-height:1.4;
}
/* MOBILE */

@media(max-width:700px){

  .top{
    flex-direction:column;
  }

  .cutoff-box{
    grid-template-columns:1fr;
  }

}

@media(max-width:768px ){

  
 .top h2
 {
  font-size: 26px;
 }
  .card{
    padding:25px;
  }
 .header-left{

   display:flex;

   align-items:center;

   gap:12px;
}

.logo{

   width:55px;

   height:55px;
}

.header-text h1{

   font-size:20px;

   line-height:1.3;
}

.header-text p{

   font-size:12px;

   margin-top:4px;
}
}
.medical-box{

  background:#fff4f4;

  border:1px solid #ffd1d1;
}
.download-section{

  padding:30px;
}

#downloadBtn{

  display:block;

  width:100%;

  padding:18px;

  background:#005eb5;

  color:#fff;

  border:none;

  border-radius:14px;

  font-size:17px;

  font-weight:700;

  cursor:pointer;

  appearance:none;

  -webkit-appearance:none;

  box-shadow:none;
}

#downloadBtn:hover{

  background:#00498f;
}
/* MOBILE RESPONSIVE FIX */

@media(max-width:768px){

  .header{

    padding:18px 16px;
  }

  .header-content{

    flex-direction:column;

    align-items:flex-start;

    gap:14px;
  }

  .header h1{

    font-size:24px;

    line-height:1.3;
  }

  .header p{

    font-size:13px;
  }

  .header-badge{

    font-size:16px;

    padding:10px 16px;
  }

  /* FORM CENTER */

 .container{

   min-height:auto;

   padding:60px 14px 24px;

   align-items:flex-start;
}

  .card{

    width:100%;

    max-width:100%;

    padding:24px 18px;

    border-radius:20px;
  }

  .card h2{

    font-size:24px;

    text-align:center;

    margin-bottom:24px;
  }

  .input-group{

    margin-bottom:18px;
  }

  .input-group label{

    font-size:14px;
  }

  .input-group input{

    padding:14px;

    font-size:15px;
  }

  #getBtn{

    padding:15px;

    font-size:16px;
  }

  /* RESULT */

  .result-container{

    padding:14px 10px 40px;
  }

  .result-card{

    border-radius:20px;

    overflow:hidden;
  }

  .top{

    flex-direction:column;

    align-items:flex-start;

    padding:22px 18px;

    gap:16px;
  }

  .top h2{

    font-size:24px;
  }

  .top h3{

    font-size:21px;
  }

  /* TABLE */


  

  /* CUTOFF */

  .cutoff-box{

    grid-template-columns:1fr;

    padding:18px;
  }

  .box{

    padding:20px;
  }

  .box h1{

    font-size:28px;
  }

  .box h2{

    font-size:24px;
  }

  /* BUTTONS */

  .back-btn{

    margin:18px 18px 0;

    padding:10px 16px;

    font-size:14px;
  }

  .download-section{

    padding:18px;
  }

  #downloadBtn{

    padding:15px;

    font-size:15px;
  }

}
/* MOBILE TABLE RESPONSIVE */

@media(max-width:768px){

  table{

    table-layout:fixed;
  }

  table th{

    padding:10px 4px;

    font-size:11px;

    text-align:center;

    word-break:break-word;
  }

  table td{

    padding:12px 4px;

    font-size:11px;

    text-align:center;

    word-break:break-word;

    line-height:1.4;
  }

}
/* FOOTER */

.footer{

    width:100%;

    background: linear-gradient(
        135deg,
        #0f172a,
        #1e293b
    );

    text-align:center;

    padding:18px 12px;

    border-top:3px solid #facc15;

    box-sizing:border-box;

    margin-top:18px;
}

.footer h2{

    color:white;

    font-size:20px;

    font-weight:800;

    margin:0;

    line-height:1.2;
}

.footer h3{

    color:#cbd5e1;

    font-size:12px;

    margin-top:3px;

    font-weight:600;
}

.footer-logos{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:12px;

    margin:12px 0 8px;

    flex-wrap:wrap;
}

.footer-logos img{

    width:42px;

    height:42px;

    object-fit:contain;

    background:white;

    padding:3px;

    border-radius:8px;
}

.admission-contact{

    color:#facc15;

    font-size:14px;

    font-weight:800;

    margin-top:4px;
}

.copyright{

    margin-top:8px;

    color:#94a3b8;

    font-size:10px;

    line-height:1.4;
}
/* MOBILE */

@media(max-width:768px){

.footer{

    padding:28px 14px;
}

.footer h2{

    font-size:22px;

    line-height:1.4;
}

.footer h3{

    font-size:15px;
}

.footer-logos{

    gap:14px;

    margin:20px 0;
}

.footer-logos img{

    width:65px;

    height:65px;

    padding:6px;

    border-radius:12px;
}

.admission-contact{

    font-size:17px;

    line-height:1.5;
}

.copyright{

    font-size:12px;
}

}
.pdf-mode .top{

   padding:16px;
}

.pdf-mode .top h2{

   font-size:22px;
}

.pdf-mode .top h3{

   font-size:20px;
}

.pdf-mode table th{

   padding:9px;

   font-size:13px;
}

.pdf-mode table td{

   padding:9px;

   font-size:12px;
}

.pdf-mode .cutoff-box{

   padding:16px;

   gap:10px;
}

.pdf-mode .box{

   padding:16px;
}

.pdf-mode .box h1{

   font-size:24px;
}

.pdf-mode .box h2{

   font-size:20px;
}

.pdf-mode .download-section{

   padding:14px;
}

.pdf-mode .footer{

   padding:8px 6px;
}

.pdf-mode .footer h2{

   font-size:16px;
}

.pdf-mode .footer h3{

   font-size:10px;
}

.pdf-mode .footer-logos img{

   width:30px;
   height:30px;
}

.pdf-mode .admission-contact{

   font-size:12px;
}

.pdf-mode .copyright{

   font-size:8px;

   margin-top:4px;
}
.pdf-mode{

   transform: scale(1.03);

   transform-origin: top center;

   width:100%;

   margin:0 auto;
   padding-top:100px;
}
/* LAST FOOTER */

body > .footer:last-of-type{

    width:100%;

   background:#cfdceb;

    border-top:1px solid rgba(255,255,255,0.08);

    padding:18px 20px;

    text-align:center;
}

/* DEVELOPER TEXT */

body > .footer:last-of-type .developer-footer{

    color:#334155;

    font-size:15px;

    line-height:1.9;

    font-weight:500;
}

/* HIGHLIGHT */

body > .footer:last-of-type .developer-footer span{

    color:#0f3d68;

    font-weight:700;
}

/* COPYRIGHT */

body > .footer:last-of-type .copyright{

    margin-top:10px;

     color:#475569;

    font-size:12px;

    letter-spacing:0.5px;
}

/* MOBILE */

@media(max-width:768px){

body > .footer:last-of-type{

    padding:20px 10px;
    margin-top:auto;
}

body > .footer:last-of-type .developer-footer{

    font-size:11px;

    line-height:1.8;
}

body > .footer:last-of-type .copyright{

    font-size:10px;
}

}