*{
  margin:0;
  padding:0;
  box-sizing:border-box;
  font-family:"Times New Roman", serif;
}

body{
  background:#e6e6e6;
  padding:15px;
}

.container{
  max-width:1300px;
  margin:auto;
  display:grid;
  grid-template-columns:380px 1fr;
  gap:20px;
  align-items:start;
}

/* FORM PANEL */

.form-box{
  background:#fff;
  padding:20px;
  border-radius:12px;
  box-shadow:0 0 12px rgba(0,0,0,0.1);
  height:fit-content;
}

.form-box h2{
  text-align:center;
  margin-bottom:20px;
  font-size:24px;
}

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

.input-group label{
  display:block;
  font-weight:bold;
  margin-bottom:5px;
  font-size:14px;
}

.input-group input,
.input-group textarea{
  width:100%;
  padding:10px;
  border:1px solid #ccc;
  border-radius:6px;
  font-size:15px;
}

.input-group textarea{
  resize:vertical;
  min-height:80px;
}

button{
  width:100%;
  padding:14px;
  margin-top:15px;
  border:none;
  background:#000;
  color:#fff;
  font-size:17px;
  border-radius:8px;
  cursor:pointer;
}

button:hover{
  background:#222;
}

/* PREVIEW */

#pdf-content{
  width:100%;
  display:flex;
  justify-content:center;
}

.cover-page{
  width:210mm;
  min-height:296.5mm;
  background:#fff;
  border:4px double #000;
  padding:22mm 18mm;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  box-shadow:0 0 20px rgba(0,0,0,0.15);

  overflow:hidden;
  page-break-inside:avoid;
  break-inside:avoid;
}

.logo-container{
  text-align:center;
  margin-bottom:15px;
}

#logoPreview{
  width:110px;
  height:110px;
  object-fit:contain;
}

.university{
  text-align:center;
  line-height:1.3;
  margin-bottom:25px;
}

.university h1{
  font-size:28px;
  text-transform:uppercase;
  margin-bottom:6px;
}

.university h2{
  font-size:22px;
  margin-bottom:6px;
}

.university p{
  font-size:16px;
}

.details{
  flex:1;
  margin-top:10px;
}

.row{
  display:flex;
  align-items:flex-start;
  margin-bottom:12px;
  font-size:17.5px;
  line-height:1.4;
}

.label{
  width:230px;
  font-weight:bold;
}

.colon{
  width:20px;
  font-weight:bold;
}

.value{
  flex:1;
  word-break:break-word;
}

.submitted{
  text-align:center;
  margin-top:15px;
  line-height:1.5;
}

.submitted h2{
  font-size:24px;
  text-decoration:underline;
  margin-bottom:8px;
}

.student-name{
  font-size:23px;
  font-weight:bold;
  text-transform:uppercase;
  margin-top:8px;
}

.signature-area{
  margin-top:30px;
  display:flex;
  justify-content:flex-end;
}

.signature-box{
  text-align:center;
  width:230px;
}

/* FOOTER */

.developer-footer{
  margin-top:30px;
  background:#fff;
  padding:25px;
  border-radius:12px;
  text-align:center;
  box-shadow:0 0 12px rgba(0,0,0,0.08);
}

.developer-footer h3{
  font-size:22px;
  margin-bottom:8px;
}

.developer-footer p{
  color:#555;
  margin-bottom:18px;
  font-size:15px;
}

.footer-links{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:12px;
}

.footer-links a{
  text-decoration:none;
  background:#000;
  color:#fff;
  padding:10px 16px;
  border-radius:8px;
  font-size:14px;
  transition:0.3s;
}

.footer-links a:hover{
  background:#222;
  transform:translateY(-2px);
}

/* MOBILE */

@media(max-width:1100px){

  .container{
    grid-template-columns:1fr;
  }

  #pdf-content{
    display:none !important;
  }
}

/* PRINT */

@page{
  size:A4;
  margin:0;
}

@media print{

  html,
  body{
    width:210mm;
    height:297mm;
    margin:0;
    padding:0;
    background:#fff;
    overflow:hidden;
  }

  body *{
    visibility:hidden;
  }

  #pdf-content,
  #pdf-content *{
    visibility:visible;
  }

  #pdf-content{
    position:absolute;
    left:0;
    top:0;
    width:210mm;
    height:297mm;
    display:flex !important;
    justify-content:center;
    align-items:flex-start;
  }

  .cover-page{
    width:210mm;
    min-height:296.5mm;
    margin:0;
    box-shadow:none;

    overflow:hidden;
    page-break-inside:avoid !important;
    break-inside:avoid !important;
  }

  .developer-footer{
    display:none !important;
  }
}