@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;700&display=swap');

@page {
    margin: 2cm;
    size: A4;
}

body {
    background-color: #ffffff;
    box-sizing: border-box;
    font-family: 'Roboto', sans-serif; 
}

.container_marksheet_template1 {
    width: 100%;
    height: auto;
    background: #fff;
    border: 2px solid #003366; 
    page-break-after: always;
}

.content_container_template1 {
    padding: 20px 2%;
}

/* --- Header Styles --- */
.header_template1 {
    display: flex;
    align-items: center;
    justify-content: center;
    padding-bottom: 10px;
    border-bottom: 2px solid #3498db; 
    margin-bottom: 10px;
}

.logo_div_img_template1 img {
    width: 70px;
    height: auto;
    margin-right: 20px;
}

.header_institution {
    text-align: center;
}

.heading_template1 {
    font-size: 18pt;
    font-weight: 700;
    color: #003366; 
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.heading_code_info_template1,
.heading_address_template1,
.contact_template1 {
    font-size: 9pt;
    font-weight: 600;
    color: #7f8c8d;
}

/* --- Report Title --- */
.header_info_container {
    text-align: center;
    margin-bottom: 30px;
}

.heading_report_template1 {
    font-size: 14pt;
    font-weight: 700;
    color: #a62a2a; 
    margin-bottom: 3px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.year_template1 {
    font-size: 10pt;
    font-weight: 600;
    color: #7f8c8d;
}

/* --- Student Info --- */
.student-info-container {
    width: 100%;
    margin-bottom: 10px;
}

.student_info_table_template1 {
    width: 100%;
    border-collapse: collapse;
    padding: 2px 5px;
}

.student_info_table_template1 td {
    padding: 2px 5px;
    font-size: 9pt;
    border-bottom: 1px dashed #ddd;
}

.student_info_table_template1 td.info-label {
    font-weight: 600;
    color: #003366;
    width: 25%; 
    text-align: left;
    padding-right: 5px;
}

.student_info_table_template1 td.info-colon {
    width: 1%;
    padding: 0;
    text-align: center;
}

.student_info_table_template1 td.info-value {
    width: 29%;
    padding-left: 5px;
}

/* --- Assessment Table --- */
.evaluation-container {
    width: 100%;
    margin-top: 10px;
    flex-grow: 1; /* Allows this section to fill remaining space */
}

.evaluation_table {
    width: 100%;
    border-collapse: collapse;
    background: #f8f9fa;
    font-size: 10pt;
}

.evaluation_table .report-title {
    background-color: #003366; 
    color: white;
    font-size: 10pt;
    font-weight: 700;
    text-transform: uppercase;
    text-align: center;
    padding: 2px;
}

.evaluation_table thead tr th {
    background-color: #003366;
    color: white;
    padding: 5px;
    text-align: center;
    font-weight: 600;
    text-transform: uppercase;
}

.evaluation_table tbody tr th {
    padding: 5px;
    text-align: left;
    font-weight: 600;
    /* border: 1px solid #ddd; */
}

.evaluation_table td {
    padding: 5px 5px;
    border: 1px solid #ddd;
    text-align: left;
    color: #333;
}

.subject-header {
    background-color: #3498db !important;
    color: white !important;
    text-transform: uppercase;
    text-align: left !important;
    font-size: 10pt;
}

/* --- Remarks --- */
.remarks-container {
    width: 100%;
    margin-top: 10px;
}

.remarks-box {
    border: 1px solid #ddd;
    padding: 10px;
    min-height: 50px;
    font-size: 9pt;
    background: #f8f9fa;
}

/* --- Signatures --- */
.signature-container {
    display: flex;
    justify-content: space-around;
    margin-top: 50px;
}

.signature-box {
    text-align: center;
    width: 30%;
}

.signature-title {
    font-weight: 600;
    color: #003366;
    font-size: 10pt;
    margin-bottom: 5px;
}

.signature-line {
    border-top: 1px solid #003366;
    width: 100%;
    margin: 5px auto;
}

/* --- Footer --- */
.date-container {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-top: 20px;
}

.date_footer {
    font-size: 10pt;
    font-weight: 600;
    color: #003366;
}

.disclaimer {
    text-align: center;
    font-size: 9pt;
    color: #e74c3c;
    margin-top: 20px;
    font-style: italic;
}

.submit {
    text-align: center;
    margin-top: 20px;
}

#submit_marksheet {
    background-color: #3498db;
    color: white;
    font-size: 10pt;
    font-weight: bold;
    text-transform: uppercase;
    padding: 10px 20px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    transition: background-color 0.3s ease, transform 0.2s ease, box-shadow 0.3s ease;
}

#submit_marksheet:hover {
    background-color: #2980b9;
    box-shadow: 0 6px 8px rgba(0, 0, 0, 0.15);
    transform: translateY(-2px);
}

#submit_marksheet:active {
    background-color: #2c3e50;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    transform: translateY(1px);
}

/* --- Print Media Query --- */
@media print {
    body {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    @page {
        margin: 0.25cm;   /* tighter margin */
        size: A4;
    }
    .container_marksheet_template1{
        margin-top:10px;
    }
    /* --- Header Styles --- */
    .header_template1 {
        display: flex;
        align-items: center;
        justify-content: center;
        padding-bottom: 3px;   /* tighter */
        margin-bottom: 3px;    /* tighter */
    }

    .logo_div_img_template1 img {
        width: 45px;   
        margin-right: 8px;
    }

    .heading_template1 {
        font-size: 12pt;  
    }

    .heading_code_info_template1,
    .heading_address_template1,
    .contact_template1 {
        font-size: 7.5pt; 
    }

    /* --- Report Title --- */
    .header_info_container {
        margin-bottom: 6px; 
    }

    .heading_report_template1 {
        font-size: 10pt; 
        margin-bottom: 1px;
    }

    .year_template1 {
        font-size: 7.5pt; 
    }

    /* --- Container --- */
    .content_container_template1 {
        padding: 6px 1%; 
    }

    /* --- Student Info --- */
    .student_info_table_template1 td {
        padding: 0.5px 2px;
        font-size: 7.5pt;   
    }

    /* --- Assessment Table --- */
    .evaluation_table {
        font-size: 7.5pt; /* was 8.5–10pt */
    }

    .evaluation_table .report-title {
        font-size: 8pt; /* was 9pt */
        padding: 1px;
    }

    .subject-header {
        font-size: 8pt; /* was 9pt */
    }

    .evaluation_table td, 
    .evaluation_table th {
        padding: 2px;  /* was 3–5px */
    }

    /* --- Remarks --- */
    .remarks-box {
        padding: 4px;   /* was 6–10px */
        font-size: 7.5pt; /* was 8–9pt */
    }

    /* --- Signatures --- */
    .signature-container {
        margin-top: 10px; /* was 20–50px */
    }

    .signature-title {
        font-size: 7.5pt; /* was 8–10pt */
    }

    .signature-line {
        margin: 2px auto; /* was 5px */
    }

    /* --- Footer --- */
    .date_footer {
        font-size: 7.5pt; /* was 9–10pt */
    }

    .disclaimer {
        font-size: 7pt;  /* was 8–9pt */
        margin-top: 6px; /* was 10–20px */
    }
}
