/* --- General & Login Styles --- */
body, html { margin: 0; padding: 0; height: 100%; font-family: 'Roboto', sans-serif; }
body { background-color: #f0f2f5; }
.login-container { display: flex; justify-content: center; align-items: center; height: 100%; width: 100%; background: rgba(0,0,0,0.5); background-image: url('YOUR_BACKGROUND_IMAGE_LINK.jpg'); background-position: center; background-size: cover; }
.login-form { background: #fff; padding: 2.5rem; border-radius: 10px; box-shadow: 0 10px 25px rgba(0,0,0,0.1); width: 100%; max-width: 400px; text-align: center; }
.login-form h2 { margin-top: 0; }
.input-group { margin-bottom: 1.5rem; text-align: left; }
.input-group label { display: block; margin-bottom: 0.5rem; }
.input-group input { width: 100%; padding: 0.75rem; border: 1px solid #ddd; border-radius: 5px; box-sizing: border-box; }
.login-button { width: 100%; padding: 0.75rem; border: none; border-radius: 5px; background-color: #007bff; color: white; font-size: 1rem; cursor: pointer; transition: background-color 0.3s ease; }
.login-button:hover { background-color: #0056b3; }
.error-message { background-color: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; padding: 0.75rem; border-radius: 5px; }

/* --- Dashboard Styles --- */

/* --- Form Styles --- */
.form-container { max-width: 900px; margin: 2rem auto; background: #fff; padding: 2.5rem; border-radius: 10px; box-shadow: 0 10px 25px rgba(0,0,0,0.1); }
.form-header { display: flex; justify-content: space-between; align-items: center; border-bottom: 2px solid #eee; padding-bottom: 1rem; margin-bottom: 2rem; }
.form-header h1 { margin: 0; font-size: 1.8rem; }
.back-button { padding: 10px 15px; background-color: #6c757d; color: white; text-decoration: none; border-radius: 5px; }
.result-form fieldset { border: 1px solid #ddd; border-radius: 8px; padding: 1.5rem; margin-bottom: 2rem; }
.result-form legend { padding: 0 0.5rem; font-weight: 700; color: #007bff; }
.form-row { display: flex; gap: 1.5rem; margin-bottom: 1rem; }
.form-group { flex: 1; }
.form-group label { display: block; margin-bottom: 0.5rem; }
.form-group input { width: 100%; padding: 0.75rem; border: 1px solid #ddd; border-radius: 5px; box-sizing: border-box; }
.subject-row { display: grid; grid-template-columns: 3fr 1fr 1fr; gap: 1rem; margin-bottom: 1rem; }
.subject-row input { padding: 0.75rem; border: 1px solid #ddd; border-radius: 5px; }
.submit-button { display: block; width: 100%; padding: 1rem; border: none; background-color: #28a745; color: white; font-size: 1.2rem; font-weight: 700; cursor: pointer; border-radius: 5px; }

/* --- Result & Certificate Page Styles --- */
@media print { .no-print { display: none; } }
.result-body { background-color: #ccc; }
.no-print { text-align: center; padding: 1rem; background-color: #333; }
.no-print button { padding: 10px 20px; font-size: 16px; cursor: pointer; margin: 0 10px; }
/* Marksheet Styles */
.marksheet-container { width: 800px; height: 1120px; margin: 2rem auto; background: #fff url('marksheet_bg.jpeg') no-repeat center center; background-size: cover; position: relative; color: #000; }
.marksheet-content { position: absolute; top: 250px; left: 50px; right: 50px; }
.student-details { font-size: 14px; font-weight: bold; line-height: 1.8; font-family: 'Tinos', serif; }
.student-details td:first-child { width: 150px; }
.student-details td:nth-child(2) { width: 10px; }
.marks-table { width: 100%; border-collapse: collapse; margin-top: 20px; font-size: 14px; font-weight: bold; font-family: 'Tinos', serif; }
.marks-table th, .marks-table td { border: 2px solid #000; padding: 8px; text-align: center; }
.marks-table th { background-color: #e0e0e0; }
.marks-table .subject-name { text-align: left; }
.result-summary { margin-top: 20px; font-weight: bold; font-size: 14px; font-family: 'Tinos', serif; }
.result-summary td { padding: 5px; }
.footer-section { position: absolute; bottom: 60px; left:50px; right:50px; display: flex; justify-content: space-between; font-weight: bold; font-size: 14px; font-family: 'Tinos', serif; }
/* Certificate Styles */
.certificate-container { width: 1120px; height: 800px; margin: 2rem auto; background: #fff url('certificate_bg.jpeg') no-repeat center center; background-size: cover; position: relative; color: #000; display: flex; justify-content: center; align-items: center; }
.certificate-content { text-align: center; padding: 50px; }
.enr-no { position: absolute; top: 150px; left: 80px; font-family: 'Tinos', serif; font-size: 16px; }
.main-text { font-family: 'Tinos', serif; font-size: 22px; line-height: 2.2; margin-top: 50px; }
.main-text .highlight-name { font-family: 'Great Vibes', cursive; font-size: 48px; font-weight: bold; }
.main-text .highlight-course { font-weight: bold; }
.main-text .highlight-bold { font-weight: bold; }
.main-text .wish { margin-top: 30px; }
.cert-footer { position: absolute; bottom: 100px; left: 80px; right: 80px; display: flex; justify-content: space-between; font-weight: bold; font-size: 16px; font-family: 'Tinos', serif; }
.cert-footer .signature { border-top: 2px solid #000; padding-top: 5px; }
/* --- Verification Page Styles --- */
.verification-form {
    max-width: 500px;
}

.form-divider {
    border: none;
    border-top: 1px solid #eee;
    margin: 2rem 0;
}

.verify-cert-btn {
    background-color: #17a2b8; /* Cyan color for certificate */
}

.verify-cert-btn:hover {
    background-color: #138496;
}