/* Global reset and base styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Arial', sans-serif;
}

/* Root variables for consistent theming */
:root {
    --primary-color: #2B547E; /* Deep blue for a professional, educational feel */
    --secondary-color: #4CAF50; /* Vibrant green for accents and success states */
    --background-color: #F5F7FA; /* Light gray background for clean look */
    --text-color: #333333; /* Dark gray for readable text */
    --accent-color: #FF9800; /* Warm orange for highlights and calls-to-action */
    --card-background: #FFFFFF; /* White for cards and main content areas */
    --border-color: #E0E0E0; /* Light gray for borders and dividers */
    --hover-color: #E3F2FD; /* Light blue for hover states */
    --error-color: #D32F2F; /* Red for error messages */
    --success-color: #388E3C; /* Green for success messages */
}

/* Global body styles */
body {
    background-color: var(--background-color);
    color: var(--text-color);
    line-height: 1.6;
    font-size: 16px;
}

/* Styles for index.php */
.indexPage {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    padding: 20px;
    background-color: var(--background-color);
}

.indexPage .container {
    background-color: var(--card-background);
    padding: 40px;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    width: 100%;
    max-width: 400px;
    text-align: center;
}

.indexPage h2 {
    color: var(--primary-color);
    margin-bottom: 30px;
    font-size: 32px;
    font-weight: 700;
}

.indexPage p {
    color: var(--error-color);
    margin-bottom: 20px;
    font-size: 18px;
}

.indexPage form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.indexPage input[type="text"],
.indexPage input[type="password"] {
    padding: 15px;
    border: 1px solid var(--border-color);
    border-radius: 10px;
    font-size: 18px;
    outline: none;
    background-color: #F5F7FA;
    transition: border-color 0.3s;
}

.indexPage input[type="text"]:focus,
.indexPage input[type="password"]:focus {
    border-color: var(--primary-color);
    background-color: var(--card-background);
}

.indexPage button {
    background-color: var(--primary-color);
    color: var(--card-background);
    padding: 15px;
    border: none;
    border-radius: 10px;
    font-size: 18px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.3s;
}

.indexPage button:hover {
    background-color: var(--accent-color);
}

/* Responsive design for tablet */
@media (max-width: 768px) {
    .indexPage {
        padding: 0;
        margin: 0;
        min-height: 100vh;
        display: block;
        background-color: var(--card-background);
    }

    .indexPage .container {
        width: 100%;
        height: 100vh;
        padding: 40px 20px;
        margin: 0;
        border-radius: 0;
        box-shadow: none;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        background-color: var(--card-background);
    }

    .indexPage h2 {
        font-size: 36px;
        font-weight: 700;
        margin-bottom: 40px;
    }

    .indexPage p {
        font-size: 20px;
        margin-bottom: 30px;
    }

    .indexPage input[type="text"],
    .indexPage input[type="password"],
    .indexPage button {
        font-size: 20px;
        padding: 20px;
        width: 100%;
        max-width: 600px;
        border-radius: 12px;
        background-color: #F5F7FA;
    }

    .indexPage input[type="text"]:focus,
    .indexPage input[type="password"]:focus {
        background-color: var(--card-background);
    }

    .indexPage button {
        background-color: var(--primary-color);
        font-weight: 600;
    }

    .indexPage button:hover {
        background-color: var(--accent-color);
    }

    .indexPage form {
        flex-grow: 1;
        width: 100%;
        max-width: 600px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 30px;
    }
}

/* Responsive design for mobile */
@media (max-width: 480px) {
    .indexPage {
        padding: 0;
        margin: 0;
        min-height: 100vh;
        display: block;
        background-color: var(--card-background);
    }

    .indexPage .container {
        width: 100%;
        height: 100vh;
        padding: 30px 15px;
        margin: 0;
        border-radius: 0;
        box-shadow: none;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        background-color: var(--card-background);
    }

    .indexPage h2 {
        font-size: 28px;
        font-weight: 700;
        margin-bottom: 30px;
    }

    .indexPage p {
        font-size: 16px;
        margin-bottom: 20px;
    }

    .indexPage input[type="text"],
    .indexPage input[type="password"],
    .indexPage button {
        font-size: 16px;
        padding: 15px;
        width: 100%;
        max-width: 400px;
        border-radius: 10px;
        background-color: #F5F7FA;
        line-height: 1.5;
    }

    .indexPage input[type="text"]:focus,
    .indexPage input[type="password"]:focus {
        background-color: var(--card-background);
    }

    .indexPage button {
        background-color: var(--primary-color);
        font-weight: 600;
    }

    .indexPage button:hover {
        background-color: var(--accent-color);
    }

    .indexPage form {
        flex-grow: 1;
        width: 100%;
        max-width: 400px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 20px;
    }
}

/* Styles for dashboard_teacher.php */
.dashboardTeacherPage {
    min-height: 100vh;
    padding: 20px;
    background-color: var(--background-color);
}

.dashboardTeacherPage .profile {
    display: flex;
    align-items: center;
    gap: 20px;
    background-color: var(--card-background);
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    margin-bottom: 20px;
}

.dashboardTeacherPage .profile img {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    object-fit: cover;
}

.dashboardTeacherPage .profile h2 {
    color: var(--primary-color);
    font-size: 24px;
    margin-bottom: 10px;
}

.dashboardTeacherPage .profile p {
    color: var(--text-color);
    font-size: 16px;
}

.dashboardTeacherPage form {
    display: flex;
    flex-direction: column;
    gap: 15px;
    background-color: var(--card-background);
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    margin-bottom: 20px;
}

.dashboardTeacherPage input[type="text"],
.dashboardTeacherPage input[type="file"],
.dashboardTeacherPage textarea {
    padding: 15px;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    font-size: 16px;
    outline: none;
    background-color: #F5F7FA;
    transition: border-color 0.3s;
}

.dashboardTeacherPage input[type="text"]:focus,
.dashboardTeacherPage input[type="file"]:focus,
.dashboardTeacherPage textarea:focus {
    border-color: var(--primary-color);
    background-color: var(--card-background);
}

.dashboardTeacherPage button {
    background-color: var(--primary-color);
    color: var(--card-background);
    padding: 15px;
    border: none;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.3s;
}

.dashboardTeacherPage button:hover {
    background-color: var(--accent-color);
}

.dashboardTeacherPage #posts {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.dashboardTeacherPage .post {
    background-color: var(--card-background);
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.dashboardTeacherPage .post p {
    color: var(--text-color);
    font-size: 16px;
    margin-bottom: 15px;
}

.dashboardTeacherPage .post button {
    margin-right: 10px;
    padding: 10px 20px;
    font-size: 14px;
}

.dashboardTeacherPage .post form {
    padding: 0;
    box-shadow: none;
    background-color: transparent;
}

/* Responsive design for tablet */
@media (max-width: 768px) {
    .dashboardTeacherPage {
        padding: 10px;
        margin: 0;
        min-height: 100vh;
        background-color: var(--card-background);
    }

    .dashboardTeacherPage .profile {
        flex-direction: column;
        align-items: center;
        text-align: center;
        padding: 20px;
        margin-bottom: 15px;
        width: 100%;
    }

    .dashboardTeacherPage .profile img {
        width: 100px;
        height: 100px;
    }

    .dashboardTeacherPage .profile h2 {
        font-size: 26px;
        margin-bottom: 15px;
    }

    .dashboardTeacherPage .profile p {
        font-size: 18px;
    }

    .dashboardTeacherPage form {
        padding: 20px;
        width: 100%;
        max-width: 600px;
        margin: 0 auto 15px;
    }

    .dashboardTeacherPage input[type="text"],
    .dashboardTeacherPage input[type="file"],
    .dashboardTeacherPage textarea {
        font-size: 18px;
        padding: 18px;
        border-radius: 10px;
        width: 100%;
    }

    .dashboardTeacherPage button {
        font-size: 18px;
        padding: 18px;
        border-radius: 10px;
    }

    .dashboardTeacherPage .post {
        padding: 15px;
        width: 100%;
        max-width: 600px;
        margin: 0 auto;
    }

    .dashboardTeacherPage .post p {
        font-size: 18px;
        margin-bottom: 20px;
    }

    .dashboardTeacherPage .post button {
        font-size: 16px;
        padding: 12px 20px;
    }

    .dashboardTeacherPage .post form {
        width: 100%;
    }
}

/* Responsive design for mobile */
@media (max-width: 480px) {
    .dashboardTeacherPage {
        padding: 5px;
        margin: 0;
        min-height: 100vh;
        background-color: var(--card-background);
    }

    .dashboardTeacherPage .profile {
        flex-direction: column;
        align-items: center;
        text-align: center;
        padding: 15px;
        margin-bottom: 10px;
        width: 100%;
    }

    .dashboardTeacherPage .profile img {
        width: 80px;
        height: 80px;
    }

    .dashboardTeacherPage .profile h2 {
        font-size: 22px;
        margin-bottom: 10px;
    }

    .dashboardTeacherPage .profile p {
        font-size: 16px;
    }

    .dashboardTeacherPage form {
        padding: 15px;
        width: 100%;
        max-width: 400px;
        margin: 0 auto 10px;
    }

    .dashboardTeacherPage input[type="text"],
    .dashboardTeacherPage input[type="file"],
    .dashboardTeacherPage textarea {
        font-size: 16px;
        padding: 15px;
        border-radius: 8px;
        width: 100%;
    }

    .dashboardTeacherPage button {
        font-size: 16px;
        padding: 15px;
        border-radius: 8px;
    }

    .dashboardTeacherPage .post {
        padding: 10px;
        width: 100%;
        max-width: 400px;
        margin: 0 auto;
    }

    .dashboardTeacherPage .post p {
        font-size: 16px;
        margin-bottom: 15px;
    }

    .dashboardTeacherPage .post button {
        font-size: 14px;
        padding: 10px 15px;
    }

    .dashboardTeacherPage .post form {
        width: 100%;
    }
}

/* Styles for navbar.php */
.headerPage {
    background-color: var(--primary-color);
    padding: 15px 20px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    position: sticky;
    top: 0;
    z-index: 1000;
}

.headerPage nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.headerPage .hamburger {
    display: none;
    font-size: 24px;
    color: var(--card-background);
    cursor: pointer;
}

.headerPage ul {
    display: flex;
    list-style: none;
    gap: 20px;
    margin: 0;
    padding: 0;
}

.headerPage ul li a {
    color: var(--card-background);
    text-decoration: none;
    font-size: 16px;
    font-weight: 500;
    padding: 10px 15px;
    border-radius: 5px;
    transition: background-color 0.3s;
}

.headerPage ul li a:hover {
    background-color: var(--accent-color);
}

.headerPage ul li a.logout {
    color: var(--error-color);
}

.headerPage ul li a.logout:hover {
    background-color: var(--hover-color);
}

/* Responsive design for tablet */
@media (max-width: 768px) {
    .headerPage {
        padding: 10px 15px;
    }

    .headerPage .hamburger {
        display: block;
    }

    .headerPage ul {
        display: none;
        flex-direction: column;
        position: absolute;
        top: 60px;
        left: 0;
        width: 100%;
        background-color: var(--primary-color);
        padding: 10px 0;
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    }

    .headerPage ul.active {
        display: flex;
    }

    .headerPage ul li {
        width: 100%;
        text-align: center;
    }

    .headerPage ul li a {
        font-size: 18px;
        padding: 15px;
        display: block;
        border-radius: 0;
    }
}

/* Responsive design for mobile */
@media (max-width: 480px) {
    .headerPage {
        padding: 8px 10px;
    }

    .headerPage .hamburger {
        font-size: 20px;
    }

    .headerPage ul {
        top: 50px;
        padding: 5px 0;
    }

    .headerPage ul li a {
        font-size: 16px;
        padding: 12px;
    }
}

/* Styles for dashboard_student.php */
.dashboardStudentPage {
    min-height: 100vh;
    padding: 20px;
    background-color: var(--background-color);
}

.dashboardStudentPage .profile {
    display: flex;
    align-items: center;
    gap: 20px;
    background-color: var(--card-background);
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    margin-bottom: 20px;
}

.dashboardStudentPage .profile img {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    object-fit: cover;
}

.dashboardStudentPage .profile h2 {
    color: var(--primary-color);
    font-size: 24px;
    margin-bottom: 10px;
}

.dashboardStudentPage .profile p {
    color: var(--text-color);
    font-size: 16px;
    margin: 5px 0;
}

.dashboardStudentPage form {
    display: flex;
    flex-direction: column;
    gap: 15px;
    background-color: var(--card-background);
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    margin-bottom: 20px;
}

.dashboardStudentPage input[type="file"] {
    padding: 15px;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    font-size: 16px;
    outline: none;
    background-color: #F5F7FA;
}

.dashboardStudentPage button {
    background-color: var(--primary-color);
    color: var(--card-background);
    padding: 15px;
    border: none;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.3s;
}

.dashboardStudentPage button:hover {
    background-color: var(--accent-color);
}

.dashboardStudentPage h3 {
    color: var(--primary-color);
    font-size: 22px;
    margin: 20px 0 10px;
}

.dashboardStudentPage img[alt="Medal"] {
    width: 80px;
    height: 80px;
    margin: 10px 0;
    border-radius: 5px;
}

.dashboardStudentPage .post {
    background-color: var(--card-background);
    padding: 15px;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    margin-bottom: 15px;
    font-size: 16px;
    color: var(--text-color);
}

.dashboardStudentPage table {
    width: 100%;
    border-collapse: collapse;
    background-color: var(--card-background);
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    margin-bottom: 20px;
}

.dashboardStudentPage table th,
.dashboardStudentPage table td {
    padding: 12px;
    text-align: left;
    border-bottom: 1px solid var(--border-color);
}

.dashboardStudentPage table th {
    background-color: var(--primary-color);
    color: var(--card-background);
    font-weight: 600;
}

.dashboardStudentPage table td {
    color: var(--text-color);
}

.dashboardStudentPage #teacherView {
    background-color: var(--card-background);
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    margin-top: 20px;
}

.dashboardStudentPage #teacherView h2 {
    color: var(--primary-color);
    font-size: 24px;
    margin-bottom: 10px;
}

.dashboardStudentPage #teacherView img {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    margin-bottom: 10px;
}

.dashboardStudentPage #teacherView p {
    color: var(--text-color);
    font-size: 16px;
}

/* Responsive design for tablet */
@media (max-width: 768px) {
    .dashboardStudentPage {
        padding: 10px;
        margin: 0;
        min-height: 100vh;
        background-color: var(--card-background);
    }

    .dashboardStudentPage .profile {
        flex-direction: column;
        align-items: center;
        text-align: center;
        padding: 20px;
        margin-bottom: 15px;
        width: 100%;
        max-width: 600px;
        margin-left: auto;
        margin-right: auto;
    }

    .dashboardStudentPage .profile img {
        width: 120px;
        height: 120px;
    }

    .dashboardStudentPage .profile h2 {
        font-size: 26px;
        margin-bottom: 15px;
    }

    .dashboardStudentPage .profile p {
        font-size: 18px;
    }

    .dashboardStudentPage form {
        padding: 20px;
        width: 100%;
        max-width: 600px;
        margin: 0 auto 15px;
    }

    .dashboardStudentPage input[type="file"] {
        font-size: 18px;
        padding: 18px;
        border-radius: 10px;
    }

    .dashboardStudentPage button {
        font-size: 18px;
        padding: 18px;
        border-radius: 10px;
    }

    .dashboardStudentPage h3 {
        font-size: 24px;
        margin: 15px 0 10px;
    }

    .dashboardStudentPage img[alt="Medal"] {
        width: 100px;
        height: 100px;
    }

    .dashboardStudentPage .post {
        padding: 15px;
        width: 100%;
        max-width: 600px;
        margin: 0 auto 15px;
        font-size: 18px;
    }

    .dashboardStudentPage table {
        width: 100%;
        max-width: 600px;
        margin: 0 auto 15px;
    }

    .dashboardStudentPage table th,
    .dashboardStudentPage table td {
        padding: 10px;
        font-size: 16px;
    }

    .dashboardStudentPage #teacherView {
        width: 100%;
        max-width: 600px;
        margin: 15px auto;
    }

    .dashboardStudentPage #teacherView h2 {
        font-size: 26px;
    }

    .dashboardStudentPage #teacherView img {
        width: 100px;
        height: 100px;
    }

    .dashboardStudentPage #teacherView p {
        font-size: 18px;
    }
}

/* Responsive design for mobile */
@media (max-width: 480px) {
    .dashboardStudentPage {
        padding: 5px;
        margin: 0;
        min-height: 100vh;
        background-color: var(--card-background);
    }

    .dashboardStudentPage .profile {
        flex-direction: column;
        align-items: center;
        text-align: center;
        padding: 15px;
        margin-bottom: 10px;
        width: 100%;
        max-width: 400px;
        margin-left: auto;
        margin-right: auto;
    }

    .dashboardStudentPage .profile img {
        width: 80px;
        height: 80px;
    }

    .dashboardStudentPage .profile h2 {
        font-size: 22px;
        margin-bottom: 10px;
    }

    .dashboardStudentPage .profile p {
        font-size: 16px;
    }

    .dashboardStudentPage form {
        padding: 15px;
        width: 100%;
        max-width: 400px;
        margin: 0 auto 10px;
    }

    .dashboardStudentPage input[type="file"] {
        font-size: 16px;
        padding: 15px;
        border-radius: 8px;
    }

    .dashboardStudentPage button {
        font-size: 16px;
        padding: 15px;
        border-radius: 8px;
    }

    .dashboardStudentPage h3 {
        font-size: 20px;
        margin: 10px 0 8px;
    }

    .dashboardStudentPage img[alt="Medal"] {
        width: 60px;
        height: 60px;
    }

    .dashboardStudentPage .post {
        padding: 10px;
        width: 100%;
        max-width: 400px;
        margin: 0 auto 10px;
        font-size: 16px;
    }

    .dashboardStudentPage table {
        width: 100%;
        max-width: 400px;
        margin: 0 auto 10px;
    }

    .dashboardStudentPage table th,
    .dashboardStudentPage table td {
        padding: 8px;
        font-size: 14px;
    }

    .dashboardStudentPage #teacherView {
        width: 100%;
        max-width: 400px;
        margin: 10px auto;
    }

    .dashboardStudentPage #teacherView h2 {
        font-size: 22px;
    }

    .dashboardStudentPage #teacherView img {
        width: 60px;
        height: 60px;
    }

    .dashboardStudentPage #teacherView p {
        font-size: 16px;
    }
}

/* Styles for add_student.php */
.addStudentPage {
    min-height: 100vh;
    padding: 20px;
    background-color: var(--background-color);
}

.addStudentPage form {
    display: flex;
    flex-direction: column;
    gap: 15px;
    background-color: var(--card-background);
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    margin-bottom: 20px;
}

.addStudentPage input[type="text"] {
    padding: 15px;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    font-size: 16px;
    outline: none;
    background-color: #F5F7FA;
    transition: border-color 0.3s;
}

.addStudentPage input[type="text"]:focus {
    border-color: var(--primary-color);
    background-color: var(--card-background);
}

.addStudentPage button {
    background-color: var(--primary-color);
    color: var(--card-background);
    padding: 15px;
    border: none;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.3s;
}

.addStudentPage button:hover {
    background-color: var(--accent-color);
}

.addStudentPage h3 {
    color: var(--primary-color);
    font-size: 22px;
    margin: 20px 0 10px;
}

.addStudentPage .search-container {
    margin: 20px 0;
}

.addStudentPage .search-container input {
    padding: 15px;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    font-size: 16px;
    outline: none;
    background-color: #F5F7FA;
    width: 100%;
    max-width: 400px;
    transition: border-color 0.3s;
}

.addStudentPage .search-container input:focus {
    border-color: var(--primary-color);
    background-color: var(--card-background);
}

.addStudentPage table {
    width: 100%;
    border-collapse: collapse;
    background-color: var(--card-background);
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    margin-bottom: 20px;
}

.addStudentPage table th,
.addStudentPage table td {
    padding: 12px;
    text-align: left;
    border-bottom: 1px solid var(--border-color);
}

.addStudentPage table th {
    background-color: var(--primary-color);
    color: var(--card-background);
    font-weight: 600;
}

.addStudentPage table td {
    color: var(--text-color);
}

.addStudentPage table td button {
    margin-right: 10px;
    padding: 10px 15px;
    font-size: 14px;
    border-radius: 5px;
}

.addStudentPage table tr[id^="edit-form-"] form {
    padding: 15px;
    background-color: var(--card-background);
    box-shadow: none;
}

/* Responsive design for tablet */
@media (max-width: 768px) {
    .addStudentPage {
        padding: 10px;
        margin: 0;
        min-height: 100vh;
        background-color: var(--card-background);
    }

    .addStudentPage form {
        padding: 20px;
        width: 100%;
        max-width: 600px;
        margin: 0 auto 15px;
    }

    .addStudentPage input[type="text"] {
        font-size: 18px;
        padding: 18px;
        border-radius: 10px;
    }

    .addStudentPage button {
        font-size: 18px;
        padding: 18px;
        border-radius: 10px;
    }

    .addStudentPage h3 {
        font-size: 24px;
        margin: 15px 0 10px;
    }

    .addStudentPage .search-container {
        margin: 15px 0;
    }

    .addStudentPage .search-container input {
        font-size: 18px;
        padding: 18px;
        border-radius: 10px;
        max-width: 500px;
    }

    .addStudentPage table {
        width: 100%;
        max-width: 600px;
        margin: 0 auto 15px;
    }

    .addStudentPage table th,
    .addStudentPage table td {
        padding: 10px;
        font-size: 16px;
    }

    .addStudentPage table td button {
        font-size: 16px;
        padding: 12px 20px;
    }

    .addStudentPage table tr[id^="edit-form-"] form {
        padding: 10px;
    }
}

/* Responsive design for mobile */
@media (max-width: 480px) {
    .addStudentPage {
        padding: 5px;
        margin: 0;
        min-height: 100vh;
        background-color: var(--card-background);
    }

    .addStudentPage form {
        padding: 15px;
        width: 100%;
        max-width: 400px;
        margin: 0 auto 10px;
    }

    .addStudentPage input[type="text"] {
        font-size: 16px;
        padding: 15px;
        border-radius: 8px;
    }

    .addStudentPage button {
        font-size: 16px;
        padding: 15px;
        border-radius: 8px;
    }

    .addStudentPage h3 {
        font-size: 20px;
        margin: 10px 0 8px;
    }

    .addStudentPage .search-container {
        margin: 10px 0;
    }

    .addStudentPage .search-container input {
        font-size: 16px;
        padding: 15px;
        border-radius: 8px;
        max-width: 350px;
    }

    .addStudentPage table {
        width: 100%;
        max-width: 400px;
        margin: 0 auto 10px;
    }

    .addStudentPage table th,
    .addStudentPage table td {
        padding: 8px;
        font-size: 14px;
    }

    .addStudentPage table td button {
        font-size: 14px;
        padding: 10px 15px;
    }

    .addStudentPage table tr[id^="edit-form-"] form {
        padding: 8px;
    }
}

/* Styles for attendance.php */
.attendancePage {
    min-height: 100vh;
    padding: 20px;
    background-color: var(--background-color);
}

.attendancePage .container {
    background-color: var(--card-background);
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
}

.attendancePage h2 {
    color: var(--primary-color);
    font-size: 28px;
    margin-bottom: 20px;
    text-align: center;
}

.attendancePage h3 {
    color: var(--primary-color);
    font-size: 22px;
    margin: 20px 0 10px;
}

.attendancePage h4 {
    color: var(--primary-color);
    font-size: 20px;
    margin: 15px 0 10px;
}

.attendancePage form {
    display: flex;
    gap: 15px;
    align-items: center;
    margin-bottom: 20px;
}

.attendancePage label {
    color: var(--text-color);
    font-size: 16px;
    font-weight: 500;
}

.attendancePage select {
    padding: 10px;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    font-size: 16px;
    outline: none;
    background-color: #F5F7FA;
    width: 100%;
    max-width: 300px;
    transition: border-color 0.3s;
}

.attendancePage select:focus {
    border-color: var(--primary-color);
    background-color: var(--card-background);
}

.attendancePage button {
    background-color: var(--primary-color);
    color: var(--card-background);
    padding: 10px 20px;
    border: none;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.3s;
}

.attendancePage button:hover {
    background-color: var(--accent-color);
}

.attendancePage .search-container {
    margin: 20px 0;
}

.attendancePage .search-container input {
    padding: 15px;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    font-size: 16px;
    outline: none;
    background-color: #F5F7FA;
    width: 100%;
    max-width: 400px;
    transition: border-color 0.3s;
}

.attendancePage .search-container input:focus {
    border-color: var(--primary-color);
    background-color: var(--card-background);
}

.attendancePage table {
    width: 100%;
    border-collapse: collapse;
    background-color: var(--card-background);
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    margin-bottom: 20px;
}

.attendancePage table th,
.attendancePage table td {
    padding: 12px;
    text-align: left;
    border-bottom: 1px solid var(--border-color);
}

.attendancePage table th {
    background-color: var(--primary-color);
    color: var(--card-background);
    font-weight: 600;
}

.attendancePage table td {
    color: var(--text-color);
}

.attendancePage p {
    color: var(--text-color);
    font-size: 16px;
    text-align: center;
    margin: 20px 0;
}

/* Responsive design for tablet */
@media (max-width: 768px) {
    .attendancePage {
        padding: 10px;
        margin: 0;
        min-height: 100vh;
        background-color: var(--card-background);
    }

    .attendancePage .container {
        padding: 15px;
        width: 100%;
        max-width: 600px;
        margin: 0 auto;
        box-shadow: none;
        border-radius: 0;
    }

    .attendancePage h2 {
        font-size: 24px;
        margin-bottom: 15px;
    }

    .attendancePage h3 {
        font-size: 20px;
        margin: 15px 0 8px;
    }

    .attendancePage h4 {
        font-size: 18px;
        margin: 10px 0 8px;
    }

    .attendancePage form {
        flex-direction: column;
        gap: 10px;
        align-items: stretch;
    }

    .attendancePage select {
        font-size: 18px;
        padding: 15px;
        border-radius: 10px;
        max-width: 100%;
    }

    .attendancePage button {
        font-size: 18px;
        padding: 15px;
        border-radius: 10px;
    }

    .attendancePage .search-container {
        margin: 15px 0;
    }

    .attendancePage .search-container input {
        font-size: 18px;
        padding: 15px;
        border-radius: 10px;
        max-width: 100%;
    }

    .attendancePage table {
        width: 100%;
        max-width: 600px;
        margin: 0 auto 15px;
    }

    .attendancePage table th,
    .attendancePage table td {
        padding: 10px;
        font-size: 16px;
    }

    .attendancePage p {
        font-size: 18px;
    }
}

/* Responsive design for mobile */
@media (max-width: 480px) {
    .attendancePage {
        padding: 5px;
        margin: 0;
        min-height: 100vh;
        background-color: var(--card-background);
    }

    .attendancePage .container {
        padding: 10px;
        width: 100%;
        max-width: 400px;
        margin: 0 auto;
        box-shadow: none;
        border-radius: 0;
    }

    .attendancePage h2 {
        font-size: 20px;
        margin-bottom: 10px;
    }

    .attendancePage h3 {
        font-size: 18px;
        margin: 10px 0 6px;
    }

    .attendancePage h4 {
        font-size: 16px;
        margin: 8px 0 6px;
    }

    .attendancePage form {
        flex-direction: column;
        gap: 8px;
    }

    .attendancePage select {
        font-size: 16px;
        padding: 12px;
        border-radius: 8px;
        max-width: 100%;
    }

    .attendancePage button {
        font-size: 16px;
        padding: 12px;
        border-radius: 8px;
    }

    .attendancePage .search-container {
        margin: 10px 0;
    }

    .attendancePage .search-container input {
        font-size: 16px;
        padding: 12px;
        border-radius: 8px;
        max-width: 100%;
    }

    .attendancePage table {
        width: 100%;
        max-width: 400px;
        margin: 0 auto 10px;
    }

    .attendancePage table th,
    .attendancePage table td {
        padding: 8px;
        font-size: 14px;
    }

    .attendancePage p {
        font-size: 16px;
    }
}

/* Styles for create_quiz.php */
.createQuizPage {
    min-height: 100vh;
    padding: 20px;
    background-color: var(--background-color);
}

.createQuizPage form {
    display: flex;
    flex-direction: column;
    gap: 15px;
    background-color: var(--card-background);
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    margin-bottom: 20px;
}

.createQuizPage input[type="text"],
.createQuizPage input[type="number"] {
    padding: 15px;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    font-size: 16px;
    outline: none;
    background-color: #F5F7FA;
    transition: border-color 0.3s;
}

.createQuizPage input[type="text"]:focus,
.createQuizPage input[type="number"]:focus {
    border-color: var(--primary-color);
    background-color: var(--card-background);
}

.createQuizPage button {
    background-color: var(--primary-color);
    color: var(--card-background);
    padding: 15px;
    border: none;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.3s;
}

.createQuizPage button:hover {
    background-color: var(--accent-color);
}

.createQuizPage table {
    width: 100%;
    border-collapse: collapse;
    background-color: var(--card-background);
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    margin-bottom: 20px;
}

.createQuizPage table th,
.createQuizPage table td {
    padding: 12px;
    text-align: left;
    border-bottom: 1px solid var(--border-color);
}

.createQuizPage table th {
    background-color: var(--primary-color);
    color: var(--card-background);
    font-weight: 600;
}

.createQuizPage table td {
    color: var(--text-color);
}

.createQuizPage table td button,
.createQuizPage table td a button {
    margin-right: 10px;
    padding: 10px 15px;
    font-size: 14px;
    border-radius: 5px;
}

.createQuizPage table tr[id^="edit-quiz-form-"] form {
    padding: 15px;
    background-color: var(--card-background);
    box-shadow: none;
}

/* Responsive design for tablet */
@media (max-width: 768px) {
    .createQuizPage {
        padding: 10px;
        margin: 0;
        min-height: 100vh;
        background-color: var(--card-background);
    }

    .createQuizPage form {
        padding: 20px;
        width: 100%;
        max-width: 600px;
        margin: 0 auto 15px;
    }

    .createQuizPage input[type="text"],
    .createQuizPage input[type="number"] {
        font-size: 18px;
        padding: 18px;
        border-radius: 10px;
    }

    .createQuizPage button {
        font-size: 18px;
        padding: 18px;
        border-radius: 10px;
    }

    .createQuizPage table {
        width: 100%;
        max-width: 600px;
        margin: 0 auto 15px;
    }

    .createQuizPage table th,
    .createQuizPage table td {
        padding: 10px;
        font-size: 16px;
    }

    .createQuizPage table td button,
    .createQuizPage table td a button {
        font-size: 16px;
        padding: 12px 20px;
    }

    .createQuizPage table tr[id^="edit-quiz-form-"] form {
        padding: 10px;
    }
}

/* Responsive design for mobile */
@media (max-width: 480px) {
    .createQuizPage {
        padding: 5px;
        margin: 0;
        min-height: 100vh;
        background-color: var(--card-background);
    }

    .createQuizPage form {
        padding: 15px;
        width: 100%;
        max-width: 400px;
        margin: 0 auto 10px;
    }

    .createQuizPage input[type="text"],
    .createQuizPage input[type="number"] {
        font-size: 16px;
        padding: 15px;
        border-radius: 8px;
    }

    .createQuizPage button {
        font-size: 16px;
        padding: 15px;
        border-radius: 8px;
    }

    .createQuizPage table {
        width: 100%;
        max-width: 400px;
        margin: 0 auto 10px;
    }

    .createQuizPage table th,
    .createQuizPage table td {
        padding: 8px;
        font-size: 14px;
    }

    .createQuizPage table td button,
    .createQuizPage table td a button {
        font-size: 14px;
        padding: 10px 15px;
        margin-right: 5px;
    }

    .createQuizPage table tr[id^="edit-quiz-form-"] form {
        padding: 8px;
    }
}

/* Styles for manage_retake_requests.php */
.manageRetakeRequestsPage {
    min-height: 100vh;
    padding: 20px;
    background-color: var(--background-color);
}

.manageRetakeRequestsPage h2 {
    color: var(--primary-color);
    font-size: 28px;
    margin-bottom: 20px;
    text-align: center;
}

.manageRetakeRequestsPage table {
    width: 100%;
    border-collapse: collapse;
    background-color: var(--card-background);
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    margin-bottom: 20px;
}

.manageRetakeRequestsPage table th,
.manageRetakeRequestsPage table td {
    padding: 12px;
    text-align: left;
    border-bottom: 1px solid var(--border-color);
}

.manageRetakeRequestsPage table th {
    background-color: var(--primary-color);
    color: var(--card-background);
    font-weight: 600;
}

.manageRetakeRequestsPage table td {
    color: var(--text-color);
}

.manageRetakeRequestsPage table td form {
    display: flex;
    gap: 10px;
}

.manageRetakeRequestsPage table td button {
    background-color: var(--primary-color);
    color: var(--card-background);
    padding: 10px 15px;
    border: none;
    border-radius: 5px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.3s;
}

.manageRetakeRequestsPage table td button[name="reject_request"] {
    background-color: var(--error-color);
}

.manageRetakeRequestsPage table td button:hover {
    background-color: var(--accent-color);
}

.manageRetakeRequestsPage table td button[name="reject_request"]:hover {
    background-color: #B71C1C;
}

.manageRetakeRequestsPage > button {
    display: block;
    margin: 20px auto;
    background-color: var(--primary-color);
    color: var(--card-background);
    padding: 15px 30px;
    border: none;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.3s;
}

.manageRetakeRequestsPage > button:hover {
    background-color: var(--accent-color);
}

/* Responsive design for tablet */
@media (max-width: 768px) {
    .manageRetakeRequestsPage {
        padding: 10px;
        margin: 0;
        min-height: 100vh;
        background-color: var(--card-background);
    }

    .manageRetakeRequestsPage h2 {
        font-size: 24px;
        margin-bottom: 15px;
    }

    .manageRetakeRequestsPage table {
        width: 100%;
        max-width: 600px;
        margin: 0 auto 15px;
    }

    .manageRetakeRequestsPage table th,
    .manageRetakeRequestsPage table td {
        padding: 10px;
        font-size: 16px;
    }

    .manageRetakeRequestsPage table td button {
        font-size: 16px;
        padding: 12px 20px;
    }

    .manageRetakeRequestsPage > button {
        font-size: 18px;
        padding: 15px 25px;
        border-radius: 10px;
    }
}

/* Responsive design for mobile */
@media (max-width: 480px) {
    .manageRetakeRequestsPage {
        padding: 5px;
        margin: 0;
        min-height: 100vh;
        background-color: var(--card-background);
    }

    .manageRetakeRequestsPage h2 {
        font-size: 20px;
        margin-bottom: 10px;
    }

    .manageRetakeRequestsPage table {
        width: 100%;
        max-width: 400px;
        margin: 0 auto 10px;
    }

    .manageRetakeRequestsPage table th,
    .manageRetakeRequestsPage table td {
        padding: 8px;
        font-size: 14px;
    }

    .manageRetakeRequestsPage table td button {
        font-size: 14px;
        padding: 10px 15px;
    }

    .manageRetakeRequestsPage table td form {
        flex-direction: column;
        gap: 8px;
    }

    .manageRetakeRequestsPage > button {
        font-size: 16px;
        padding: 12px 20px;
        border-radius: 8px;
    }
}

/* Styles for profile_pics.php */
.profilePicsPage {
    min-height: 100vh;
    padding: 20px;
    background-color: var(--background-color);
}

.profilePicsPage h2 {
    color: var(--primary-color);
    font-size: 28px;
    margin-bottom: 20px;
    text-align: center;
}

.profilePicsPage table {
    width: 100%;
    border-collapse: collapse;
    background-color: var(--card-background);
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    margin-bottom: 20px;
}

.profilePicsPage table th,
.profilePicsPage table td {
    padding: 12px;
    text-align: left;
    border-bottom: 1px solid var(--border-color);
}

.profilePicsPage table th {
    background-color: var(--primary-color);
    color: var(--card-background);
    font-weight: 600;
}

.profilePicsPage table td {
    color: var(--text-color);
}

.profilePicsPage table td img {
    width: 100px;
    height: 100px;
    border-radius: 10px;
    object-fit: cover;
    transition: transform 0.3s;
}

.profilePicsPage table td img:hover {
    transform: scale(1.05);
}

/* Responsive design for tablet */
@media (max-width: 768px) {
    .profilePicsPage {
        padding: 10px;
        margin: 0;
        min-height: 100vh;
        background-color: var(--card-background);
    }

    .profilePicsPage h2 {
        font-size: 24px;
        margin-bottom: 15px;
    }

    .profilePicsPage table {
        width: 100%;
        max-width: 600px;
        margin: 0 auto 15px;
    }

    .profilePicsPage table th,
    .profilePicsPage table td {
        padding: 10px;
        font-size: 16px;
    }

    .profilePicsPage table td img {
        width: 80px;
        height: 80px;
        border-radius: 8px;
    }
}

/* Responsive design for mobile */
@media (max-width: 480px) {
    .profilePicsPage {
        padding: 5px;
        margin: 0;
        min-height: 100vh;
        background-color: var(--card-background);
    }

    .profilePicsPage h2 {
        font-size: 20px;
        margin-bottom: 10px;
    }

    .profilePicsPage table {
        width: 100%;
        max-width: 400px;
        margin: 0 auto 10px;
    }

    .profilePicsPage table th,
    .profilePicsPage table td {
        padding: 8px;
        font-size: 14px;
    }

    .profilePicsPage table td img {
        width: 60px;
        height: 60px;
        border-radius: 6px;
    }
}

/* Styles for send_medals.php */
.sendMedalsPage {
    min-height: 100vh;
    padding: 20px;
    background-color: var(--background-color);
}

.sendMedalsPage form {
    display: flex;
    flex-direction: column;
    gap: 15px;
    background-color: var(--card-background);
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    margin-bottom: 20px;
}

.sendMedalsPage select,
.sendMedalsPage input[type="file"],
.sendMedalsPage textarea {
    padding: 15px;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    font-size: 16px;
    outline: none;
    background-color: #F5F7FA;
    transition: border-color 0.3s;
}

.sendMedalsPage select:focus,
.sendMedalsPage input[type="file"]:focus,
.sendMedalsPage textarea:focus {
    border-color: var(--primary-color);
    background-color: var(--card-background);
}

.sendMedalsPage textarea {
    resize: vertical;
    min-height: 100px;
}

.sendMedalsPage button {
    background-color: var(--primary-color);
    color: var(--card-background);
    padding: 15px;
    border: none;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.3s;
}

.sendMedalsPage button:hover {
    background-color: var(--accent-color);
}

.sendMedalsPage table {
    width: 100%;
    border-collapse: collapse;
    background-color: var(--card-background);
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    margin-bottom: 20px;
}

.sendMedalsPage table th,
.sendMedalsPage table td {
    padding: 12px;
    text-align: left;
    border-bottom: 1px solid var(--border-color);
}

.sendMedalsPage table th {
    background-color: var(--primary-color);
    color: var(--card-background);
    font-weight: 600;
}

.sendMedalsPage table td {
    color: var(--text-color);
}

.sendMedalsPage table td button {
    background-color: var(--secondary-color);
    color: var(--card-background);
    padding: 10px 15px;
    border: none;
    border-radius: 5px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.3s;
    text-decoration: none;
    display: inline-block;
}

.sendMedalsPage table td button:hover {
    background-color: var(--success-color);
}

/* Responsive design for tablet */
@media (max-width: 768px) {
    .sendMedalsPage {
        padding: 10px;
        margin: 0;
        min-height: 100vh;
        background-color: var(--card-background);
    }

    .sendMedalsPage form {
        padding: 20px;
        width: 100%;
        max-width: 600px;
        margin: 0 auto 15px;
    }

    .sendMedalsPage select,
    .sendMedalsPage input[type="file"],
    .sendMedalsPage textarea {
        font-size: 18px;
        padding: 18px;
        border-radius: 10px;
    }

    .sendMedalsPage textarea {
        min-height: 120px;
    }

    .sendMedalsPage button {
        font-size: 18px;
        padding: 18px;
        border-radius: 10px;
    }

    .sendMedalsPage table {
        width: 100%;
        max-width: 600px;
        margin: 0 auto 15px;
    }

    .sendMedalsPage table th,
    .sendMedalsPage table td {
        padding: 10px;
        font-size: 16px;
    }

    .sendMedalsPage table td button {
        font-size: 16px;
        padding: 12px 20px;
    }
}

/* Responsive design for mobile */
@media (max-width: 480px) {
    .sendMedalsPage {
        padding: 5px;
        margin: 0;
        min-height: 100vh;
        background-color: var(--card-background);
    }

    .sendMedalsPage form {
        padding: 15px;
        width: 100%;
        max-width: 400px;
        margin: 0 auto 10px;
    }

    .sendMedalsPage select,
    .sendMedalsPage input[type="file"],
    .sendMedalsPage textarea {
        font-size: 16px;
        padding: 15px;
        border-radius: 8px;
    }

    .sendMedalsPage textarea {
        min-height: 100px;
    }

    .sendMedalsPage button {
        font-size: 16px;
        padding: 15px;
        border-radius: 8px;
    }

    .sendMedalsPage table {
        width: 100%;
        max-width: 400px;
        margin: 0 auto 10px;
    }

    .sendMedalsPage table th,
    .sendMedalsPage table td {
        padding: 8px;
        font-size: 14px;
    }

    .sendMedalsPage table td button {
        font-size: 14px;
        padding: 10px 15px;
    }
}

/* Styles for show_videos.php */
.showVideosPage {
    min-height: 100vh;
    padding: 20px;
    background-color: var(--background-color);
}

.showVideosPage h2 {
    color: var(--primary-color);
    font-size: 28px;
    margin-bottom: 20px;
    text-align: center;
}

.showVideosPage .video-container {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.showVideosPage .video-card {
    background-color: var(--card-background);
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    cursor: pointer;
    transition: transform 0.3s, box-shadow 0.3s;
}

.showVideosPage .video-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
}

.showVideosPage .video-card h3 {
    color: var(--primary-color);
    font-size: 20px;
    margin: 0;
}

.showVideosPage table {
    width: 100%;
    border-collapse: collapse;
    background-color: var(--card-background);
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    margin-bottom: 15px;
}

.showVideosPage table th,
.showVideosPage table td {
    padding: 12px;
    text-align: left;
    border-bottom: 1px solid var(--border-color);
}

.showVideosPage table th {
    background-color: var(--primary-color);
    color: var(--card-background);
    font-weight: 600;
}

.showVideosPage table td {
    color: var(--text-color);
}

.showVideosPage table td button {
    background-color: var(--secondary-color);
    color: var(--card-background);
    padding: 10px 15px;
    border: none;
    border-radius: 5px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.3s;
}

.showVideosPage table td button:hover {
    background-color: var(--success-color);
}

/* Responsive design for tablet */
@media (max-width: 768px) {
    .showVideosPage {
        padding: 10px;
        margin: 0;
        min-height: 100vh;
        background-color: var(--card-background);
    }

    .showVideosPage h2 {
        font-size: 24px;
        margin-bottom: 15px;
    }

    .showVideosPage .video-container {
        gap: 10px;
    }

    .showVideosPage .video-card {
        padding: 15px;
    }

    .showVideosPage .video-card h3 {
        font-size: 18px;
    }

    .showVideosPage table {
        width: 100%;
        max-width: 600px;
        margin: 0 auto 10px;
    }

    .showVideosPage table th,
    .showVideosPage table td {
        padding: 10px;
        font-size: 16px;
    }

    .showVideosPage table td button {
        font-size: 16px;
        padding: 12px 20px;
    }
}

/* Responsive design for mobile */
@media (max-width: 480px) {
    .showVideosPage {
        padding: 5px;
        margin: 0;
        min-height: 100vh;
        background-color: var(--card-background);
    }

    .showVideosPage h2 {
        font-size: 20px;
        margin-bottom: 10px;
    }

    .showVideosPage .video-container {
        gap: 8px;
    }

    .showVideosPage .video-card {
        padding: 10px;
    }

    .showVideosPage .video-card h3 {
        font-size: 16px;
    }

    .showVideosPage table {
        width: 100%;
        max-width: 400px;
        margin: 0 auto 8px;
    }

    .showVideosPage table th,
    .showVideosPage table td {
        padding: 8px;
        font-size: 14px;
    }

    .showVideosPage table td button {
        font-size: 14px;
        padding: 10px 15px;
    }
}

/* Styles for take_attendance.php */
.takeAttendancePage {
    min-height: 100vh;
    padding: 20px;
    background-color: var(--background-color);
}

.takeAttendancePage .container {
    background-color: var(--card-background);
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
}

.takeAttendancePage h2 {
    color: var(--primary-color);
    font-size: 28px;
    margin-bottom: 20px;
    text-align: center;
}

.takeAttendancePage p {
    color: var(--error-color);
    font-size: 16px;
    text-align: center;
    margin-bottom: 20px;
}

.takeAttendancePage form {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-bottom: 20px;
}

.takeAttendancePage label {
    color: var(--text-color);
    font-size: 16px;
    font-weight: 500;
}

.takeAttendancePage input[type="date"],
.takeAttendancePage select {
    padding: 10px;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    font-size: 16px;
    outline: none;
    background-color: #F5F7FA;
    width: 100%;
    max-width: 300px;
    transition: border-color 0.3s;
}

.takeAttendancePage input[type="date"]:focus,
.takeAttendancePage select:focus {
    border-color: var(--primary-color);
    background-color: var(--card-background);
}

.takeAttendancePage button {
    background-color: var(--primary-color);
    color: var(--card-background);
    padding: 10px 20px;
    border: none;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.3s;
}

.takeAttendancePage button:hover {
    background-color: var(--accent-color);
}

.takeAttendancePage table {
    width: 100%;
    border-collapse: collapse;
    background-color: var(--card-background);
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    margin-bottom: 20px;
}

.takeAttendancePage table th,
.takeAttendancePage table td {
    padding: 12px;
    text-align: left;
    border-bottom: 1px solid var(--border-color);
}

.takeAttendancePage table th {
    background-color: var(--primary-color);
    color: var(--card-background);
    font-weight: 600;
}

.takeAttendancePage table td {
    color: var(--text-color);
}

.takeAttendancePage table td input[type="checkbox"] {
    width: 20px;
    height: 20px;
    cursor: pointer;
}

.takeAttendancePage table td select,
.takeAttendancePage table td input[type="number"] {
    padding: 8px;
    border: 1px solid var(--border-color);
    border-radius: 5px;
    font-size: 14px;
    background-color: #F5F7FA;
    width: 100%;
    max-width: 200px;
    transition: border-color 0.3s;
}

.takeAttendancePage table td input[type="number"][readonly] {
    background-color: #E0E0E0;
}

.takeAttendancePage table td select:focus,
.takeAttendancePage table td input[type="number"]:focus {
    border-color: var(--primary-color);
    background-color: var(--card-background);
}

/* Responsive design for tablet */
@media (max-width: 768px) {
    .takeAttendancePage {
        padding: 10px;
        margin: 0;
        min-height: 100vh;
        background-color: var(--card-background);
    }

    .takeAttendancePage .container {
        padding: 15px;
        width: 100%;
        max-width: 600px;
        margin: 0 auto;
        box-shadow: none;
        border-radius: 0;
    }

    .takeAttendancePage h2 {
        font-size: 24px;
        margin-bottom: 15px;
    }

    .takeAttendancePage p {
        font-size: 18px;
    }

    .takeAttendancePage form {
        gap: 10px;
    }

    .takeAttendancePage input[type="date"],
    .takeAttendancePage select {
        font-size: 18px;
        padding: 15px;
        border-radius: 10px;
        max-width: 100%;
    }

    .takeAttendancePage button {
        font-size: 18px;
        padding: 15px;
        border-radius: 10px;
    }

    .takeAttendancePage table {
        width: 100%;
        max-width: 600px;
        margin: 0 auto 15px;
    }

    .takeAttendancePage table th,
    .takeAttendancePage table td {
        padding: 10px;
        font-size: 16px;
    }

    .takeAttendancePage table td input[type="checkbox"] {
        width: 18px;
        height: 18px;
    }

    .takeAttendancePage table td select,
    .takeAttendancePage table td input[type="number"] {
        font-size: 16px;
        padding: 10px;
        border-radius: 6px;
        max-width: 100%;
    }
}

/* Responsive design for mobile */
@media (max-width: 480px) {
    .takeAttendancePage {
        padding: 5px;
        margin: 0;
        min-height: 100vh;
        background-color: var(--card-background);
    }

    .takeAttendancePage .container {
        padding: 10px;
        width: 100%;
        max-width: 400px;
        margin: 0 auto;
        box-shadow: none;
        border-radius: 0;
    }

    .takeAttendancePage h2 {
        font-size: 20px;
        margin-bottom: 10px;
    }

    .takeAttendancePage p {
        font-size: 16px;
    }

    .takeAttendancePage form {
        gap: 8px;
    }

    .takeAttendancePage input[type="date"],
    .takeAttendancePage select {
        font-size: 16px;
        padding: 12px;
        border-radius: 8px;
        max-width: 100%;
    }

    .takeAttendancePage button {
        font-size: 16px;
        padding: 12px;
        border-radius: 8px;
    }

    .takeAttendancePage table {
        width: 100%;
        max-width: 400px;
        margin: 0 auto 10px;
    }

    .takeAttendancePage table th,
    .takeAttendancePage table td {
        padding: 8px;
        font-size: 14px;
    }

    .takeAttendancePage table td input[type="checkbox"] {
        width: 16px;
        height: 16px;
    }

    .takeAttendancePage table td select,
    .takeAttendancePage table td input[type="number"] {
        font-size: 14px;
        padding: 8px;
        border-radius: 5px;
        max-width: 100%;
    }
}

/* Styles for take_quiz.php */
.takeQuizPageStudent {
    min-height: 100vh;
    padding: 20px;
    background-color: var(--background-color);
}

.takeQuizPageStudent .container {
    background-color: var(--card-background);
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
}

.takeQuizPageStudent h2 {
    color: var(--primary-color);
    font-size: 28px;
    margin-bottom: 20px;
    text-align: center;
}

.takeQuizPageStudent h3 {
    color: var(--primary-color);
    font-size: 24px;
    margin-bottom: 15px;
    text-align: center;
}

.takeQuizPageStudent p {
    color: var(--text-color);
    font-size: 16px;
    margin-bottom: 15px;
    text-align: center;
}

.takeQuizPageStudent table {
    width: 100%;
    border-collapse: collapse;
    background-color: var(--card-background);
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    margin-bottom: 20px;
}

.takeQuizPageStudent table th,
.takeQuizPageStudent table td {
    padding: 12px;
    text-align: left;
    border-bottom: 1px solid var(--border-color);
}

.takeQuizPageStudent table th {
    background-color: var(--primary-color);
    color: var(--card-background);
    font-weight: 600;
}

.takeQuizPageStudent table td {
    color: var(--text-color);
}

.takeQuizPageStudent table td button {
    background-color: var(--secondary-color);
    color: var(--card-background);
    padding: 10px 15px;
    border: none;
    border-radius: 5px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.3s;
}

.takeQuizPageStudent table td button:hover {
    background-color: var(--success-color);
}

.takeQuizPageStudent #timer {
    color: var(--primary-color);
    font-size: 18px;
    font-weight: 600;
    text-align: center;
    margin-bottom: 20px;
}

.takeQuizPageStudent .question {
    background-color: var(--card-background);
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    margin-bottom: 20px;
}

.takeQuizPageStudent .question img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    margin: 10px 0;
}

.takeQuizPageStudent .question label {
    display: block;
    margin: 10px 0;
    color: var(--text-color);
    font-size: 16px;
}

.takeQuizPageStudent .question input[type="radio"] {
    margin-right: 10px;
    width: 20px;
    height: 20px;
    vertical-align: middle;
}

.takeQuizPageStudent .navigation {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    margin-top: 20px;
}

.takeQuizPageStudent .navigation button {
    background-color: var(--primary-color);
    color: var(--card-background);
    padding: 10px 20px;
    border: none;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.3s;
}

.takeQuizPageStudent .navigation button:hover {
    background-color: var(--accent-color);
}

.takeQuizPageStudent > button,
.takeQuizPageStudent a button {
    display: block;
    margin: 20px auto;
    background-color: var(--primary-color);
    color: var(--card-background);
    padding: 15px 30px;
    border: none;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.3s;
    text-decoration: none;
}

.takeQuizPageStudent > button:hover,
.takeQuizPageStudent a button:hover {
    background-color: var(--accent-color);
}

/* Responsive design for tablet */
@media (max-width: 768px) {
    .takeQuizPageStudent {
        padding: 10px;
        margin: 0;
        min-height: 100vh;
        background-color: var(--card-background);
    }

    .takeQuizPageStudent .container {
        padding: 15px;
        width: 100%;
        max-width: 600px;
        margin: 0 auto;
        box-shadow: none;
        border-radius: 0;
    }

    .takeQuizPageStudent h2 {
        font-size: 24px;
        margin-bottom: 15px;
    }

    .takeQuizPageStudent h3 {
        font-size: 20px;
        margin-bottom: 10px;
    }

    .takeQuizPageStudent p {
        font-size: 18px;
    }

    .takeQuizPageStudent table {
        width: 100%;
        max-width: 600px;
        margin: 0 auto 15px;
    }

    .takeQuizPageStudent table th,
    .takeQuizPageStudent table td {
        padding: 10px;
        font-size: 16px;
    }

    .takeQuizPageStudent table td button {
        font-size: 16px;
        padding: 12px 20px;
    }

    .takeQuizPageStudent #timer {
        font-size: 16px;
        margin-bottom: 15px;
    }

    .takeQuizPageStudent .question {
        padding: 15px;
    }

    .takeQuizPageStudent .question label {
        font-size: 18px;
    }

    .takeQuizPageStudent .question input[type="radio"] {
        width: 18px;
        height: 18px;
    }

    .takeQuizPageStudent .navigation {
        flex-direction: column;
        gap: 8px;
    }

    .takeQuizPageStudent .navigation button {
        font-size: 18px;
        padding: 15px;
        border-radius: 10px;
    }

    .takeQuizPageStudent > button,
    .takeQuizPageStudent a button {
        font-size: 18px;
        padding: 15px 25px;
        border-radius: 10px;
    }
}

/* Responsive design for mobile */
@media (max-width: 480px) {
    .takeQuizPageStudent {
        padding: 5px;
        margin: 0;
        min-height: 100vh;
        background-color: var(--card-background);
    }

    .takeQuizPageStudent .container {
        padding: 10px;
        width: 100%;
        max-width: 400px;
        margin: 0 auto;
        box-shadow: none;
        border-radius: 0;
    }

    .takeQuizPageStudent h2 {
        font-size: 20px;
        margin-bottom: 10px;
    }

    .takeQuizPageStudent h3 {
        font-size: 18px;
        margin-bottom: 8px;
    }

    .takeQuizPageStudent p {
        font-size: 16px;
    }

    .takeQuizPageStudent table {
        width: 100%;
        max-width: 400px;
        margin: 0 auto 10px;
    }

    .takeQuizPageStudent table th,
    .takeQuizPageStudent table td {
        padding: 8px;
        font-size: 14px;
    }

    .takeQuizPageStudent table td button {
        font-size: 14px;
        padding: 10px 15px;
    }

    .takeQuizPageStudent #timer {
        font-size: 14px;
        margin-bottom: 10px;
    }

    .takeQuizPageStudent .question {
        padding: 10px;
    }

    .takeQuizPageStudent .question img {
        border-radius: 6px;
    }

    .takeQuizPageStudent .question label {
        font-size: 16px;
    }

    .takeQuizPageStudent .question input[type="radio"] {
        width: 16px;
        height: 16px;
    }

    .takeQuizPageStudent .navigation {
        flex-direction: column;
        gap: 6px;
    }

    .takeQuizPageStudent .navigation button {
        font-size: 16px;
        padding: 12px;
        border-radius: 8px;
    }

    .takeQuizPageStudent > button,
    .takeQuizPageStudent a button {
        font-size: 16px;
        padding: 12px 20px;
        border-radius: 8px;
    }
}

/* Styles for upload_video.php */
.uploadVideoPage {
    min-height: 100vh;
    padding: 20px;
    background-color: var(--background-color);
}

.uploadVideoPage p {
    font-size: 16px;
    text-align: center;
    margin-bottom: 20px;
}

.uploadVideoPage p[style*="color: red"] {
    color: var(--error-color);
}

.uploadVideoPage p[style*="color: green"] {
    color: var(--success-color);
}

.uploadVideoPage form {
    display: flex;
    flex-direction: column;
    gap: 15px;
    background-color: var(--card-background);
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    margin-bottom: 20px;
}

.uploadVideoPage input[type="text"],
.uploadVideoPage select,
.uploadVideoPage input[type="file"] {
    padding: 15px;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    font-size: 16px;
    outline: none;
    background-color: #F5F7FA;
    transition: border-color 0.3s;
}

.uploadVideoPage input[type="text"]:focus,
.uploadVideoPage select:focus,
.uploadVideoPage input[type="file"]:focus {
    border-color: var(--primary-color);
    background-color: var(--card-background);
}

.uploadVideoPage button {
    background-color: var(--primary-color);
    color: var(--card-background);
    padding: 15px;
    border: none;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.3s;
}

.uploadVideoPage button:hover {
    background-color: var(--accent-color);
}

.uploadVideoPage table {
    width: 100%;
    border-collapse: collapse;
    background-color: var(--card-background);
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    margin-bottom: 20px;
}

.uploadVideoPage table th,
.uploadVideoPage table td {
    padding: 12px;
    text-align: left;
    border-bottom: 1px solid var(--border-color);
}

.uploadVideoPage table th {
    background-color: var(--primary-color);
    color: var(--card-background);
    font-weight: 600;
}

.uploadVideoPage table td {
    color: var(--text-color);
}

.uploadVideoPage table td a {
    color: var(--secondary-color);
    text-decoration: none;
    transition: color 0.3s;
}

.uploadVideoPage table td a:hover {
    color: var(--accent-color);
}

.uploadVideoPage table td button {
    background-color: var(--secondary-color);
    color: var(--card-background);
    padding: 10px 15px;
    border: none;
    border-radius: 5px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.3s;
    margin-right: 10px;
}

.uploadVideoPage table td button[type="submit"] {
    background-color: var(--error-color);
}

.uploadVideoPage table td button:hover {
    background-color: var(--success-color);
}

.uploadVideoPage table td button[type="submit"]:hover {
    background-color: #B71C1C;
}

.uploadVideoPage table tr[id^="edit-form-"] form {
    padding: 15px;
    background-color: var(--card-background);
    box-shadow: none;
}

/* Responsive design for tablet */
@media (max-width: 768px) {
    .uploadVideoPage {
        padding: 10px;
        margin: 0;
        min-height: 100vh;
        background-color: var(--card-background);
    }

    .uploadVideoPage p {
        font-size: 18px;
    }

    .uploadVideoPage form {
        padding: 20px;
        width: 100%;
        max-width: 600px;
        margin: 0 auto 15px;
    }

    .uploadVideoPage input[type="text"],
    .uploadVideoPage select,
    .uploadVideoPage input[type="file"] {
        font-size: 18px;
        padding: 18px;
        border-radius: 10px;
    }

    .uploadVideoPage button {
        font-size: 18px;
        padding: 18px;
        border-radius: 10px;
    }

    .uploadVideoPage table {
        width: 100%;
        max-width: 600px;
        margin: 0 auto 15px;
    }

    .uploadVideoPage table th,
    .uploadVideoPage table td {
        padding: 10px;
        font-size: 16px;
    }

    .uploadVideoPage table td button {
        font-size: 16px;
        padding: 12px 20px;
    }

    .uploadVideoPage table tr[id^="edit-form-"] form {
        padding: 10px;
    }
}

/* Responsive design for mobile */
@media (max-width: 480px) {
    .uploadVideoPage {
        padding: 5px;
        margin: 0;
        min-height: 100vh;
        background-color: var(--card-background);
    }

    .uploadVideoPage p {
        font-size: 16px;
    }

    .uploadVideoPage form {
        padding: 15px;
        width: 100%;
        max-width: 400px;
        margin: 0 auto 10px;
    }

    .uploadVideoPage input[type="text"],
    .uploadVideoPage select,
    .uploadVideoPage input[type="file"] {
        font-size: 16px;
        padding: 15px;
        border-radius: 8px;
    }

    .uploadVideoPage button {
        font-size: 16px;
        padding: 15px;
        border-radius: 8px;
    }

    .uploadVideoPage table {
        width: 100%;
        max-width: 400px;
        margin: 0 auto 10px;
    }

    .uploadVideoPage table th,
    .uploadVideoPage table td {
        padding: 8px;
        font-size: 14px;
    }

    .uploadVideoPage table td button {
        font-size: 14px;
        padding: 10px 15px;
        margin-right: 5px;
    }

    .uploadVideoPage table tr[id^="edit-form-"] form {
        padding: 8px;
    }
}

/* Styles for view_grades.php */
.viewGradesPage {
    min-height: 100vh;
    padding: 20px;
    background-color: var(--background-color);
}

.viewGradesPage h2 {
    color: var(--primary-color);
    font-size: 28px;
    margin-bottom: 20px;
    text-align: center;
}

.viewGradesPage a button {
    display: block;
    margin: 20px auto;
    background-color: var(--primary-color);
    color: var(--card-background);
    padding: 15px 30px;
    border: none;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.3s;
    text-decoration: none;
}

.viewGradesPage a button:hover {
    background-color: var(--accent-color);
}

.viewGradesPage table {
    width: 100%;
    border-collapse: collapse;
    background-color: var(--card-background);
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    margin-bottom: 20px;
}

.viewGradesPage table th,
.viewGradesPage table td {
    padding: 12px;
    text-align: left;
    border-bottom: 1px solid var(--border-color);
}

.viewGradesPage table th {
    background-color: var(--primary-color);
    color: var(--card-background);
    font-weight: 600;
}

.viewGradesPage table td {
    color: var(--text-color);
}

/* Responsive design for tablet */
@media (max-width: 768px) {
    .viewGradesPage {
        padding: 10px;
        margin: 0;
        min-height: 100vh;
        background-color: var(--card-background);
    }

    .viewGradesPage h2 {
        font-size: 24px;
        margin-bottom: 15px;
    }

    .viewGradesPage a button {
        font-size: 18px;
        padding: 15px 25px;
        border-radius: 10px;
    }

    .viewGradesPage table {
        width: 100%;
        max-width: 600px;
        margin: 0 auto 15px;
    }

    .viewGradesPage table th,
    .viewGradesPage table td {
        padding: 10px;
        font-size: 16px;
    }
}

/* Responsive design for mobile */
@media (max-width: 480px) {
    .viewGradesPage {
        padding: 5px;
        margin: 0;
        min-height: 100vh;
        background-color: var(--card-background);
    }

    .viewGradesPage h2 {
        font-size: 20px;
        margin-bottom: 10px;
    }

    .viewGradesPage a button {
        font-size: 16px;
        padding: 12px 20px;
        border-radius: 8px;
    }

    .viewGradesPage table {
        width: 100%;
        max-width: 400px;
        margin: 0 auto 10px;
    }

    .viewGradesPage table th,
    .viewGradesPage table td {
        padding: 8px;
        font-size: 14px;
    }
}

/* Styles for view_questions.php */
.viewQuestionsPage {
    min-height: 100vh;
    padding: 20px;
    background-color: var(--background-color);
}

.viewQuestionsPage h2 {
    color: var(--primary-color);
    font-size: 28px;
    margin-bottom: 20px;
    text-align: center;
}

.viewQuestionsPage a button {
    display: block;
    margin: 20px auto;
    background-color: var(--primary-color);
    color: var(--card-background);
    padding: 15px 30px;
    border: none;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.3s;
    text-decoration: none;
}

.viewQuestionsPage a button:hover {
    background-color: var(--accent-color);
}

.viewQuestionsPage form {
    display: flex;
    flex-direction: column;
    gap: 15px;
    background-color: var(--card-background);
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    margin-bottom: 20px;
}

.viewQuestionsPage input[type="file"],
.viewQuestionsPage select {
    padding: 15px;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    font-size: 16px;
    outline: none;
    background-color: #F5F7FA;
    transition: border-color 0.3s;
}

.viewQuestionsPage input[type="file"]:focus,
.viewQuestionsPage select:focus {
    border-color: var(--primary-color);
    background-color: var(--card-background);
}

.viewQuestionsPage button {
    background-color: var(--primary-color);
    color: var(--card-background);
    padding: 15px;
    border: none;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.3s;
}

.viewQuestionsPage button:hover {
    background-color: var(--accent-color);
}

.viewQuestionsPage table {
    width: 100%;
    border-collapse: collapse;
    background-color: var(--card-background);
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    margin-bottom: 20px;
}

.viewQuestionsPage table th,
.viewQuestionsPage table td {
    padding: 12px;
    text-align: left;
    border-bottom: 1px solid var(--border-color);
}

.viewQuestionsPage table th {
    background-color: var(--primary-color);
    color: var(--card-background);
    font-weight: 600;
}

.viewQuestionsPage table td {
    color: var(--text-color);
}

.viewQuestionsPage table td img {
    width: 100px;
    height: 100px;
    border-radius: 8px;
    object-fit: cover;
    transition: transform 0.3s;
}

.viewQuestionsPage table td img:hover {
    transform: scale(1.05);
}

.viewQuestionsPage table td button {
    background-color: var(--secondary-color);
    color: var(--card-background);
    padding: 10px 15px;
    border: none;
    border-radius: 5px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.3s;
    margin-right: 10px;
}

.viewQuestionsPage table td button:nth-child(2) {
    background-color: var(--error-color);
}

.viewQuestionsPage table td button:hover {
    background-color: var(--success-color);
}

.viewQuestionsPage table td button:nth-child(2):hover {
    background-color: #B71C1C;
}

.viewQuestionsPage table tr[id^="edit-question-form-"] form {
    padding: 15px;
    background-color: var(--card-background);
    box-shadow: none;
}

/* Responsive design for tablet */
@media (max-width: 768px) {
    .viewQuestionsPage {
        padding: 10px;
        margin: 0;
        min-height: 100vh;
        background-color: var(--card-background);
    }

    .viewQuestionsPage h2 {
        font-size: 24px;
        margin-bottom: 15px;
    }

    .viewQuestionsPage a button {
        font-size: 18px;
        padding: 15px 25px;
        border-radius: 10px;
    }

    .viewQuestionsPage form {
        padding: 20px;
        width: 100%;
        max-width: 600px;
        margin: 0 auto 15px;
    }

    .viewQuestionsPage input[type="file"],
    .viewQuestionsPage select {
        font-size: 18px;
        padding: 18px;
        border-radius: 10px;
    }

    .viewQuestionsPage button {
        font-size: 18px;
        padding: 18px;
        border-radius: 10px;
    }

    .viewQuestionsPage table {
        width: 100%;
        max-width: 600px;
        margin: 0 auto 15px;
    }

    .viewQuestionsPage table th,
    .viewQuestionsPage table td {
        padding: 10px;
        font-size: 16px;
    }

    .viewQuestionsPage table td img {
        width: 80px;
        height: 80px;
        border-radius: 6px;
    }

    .viewQuestionsPage table td button {
        font-size: 16px;
        padding: 12px 20px;
    }

    .viewQuestionsPage table tr[id^="edit-question-form-"] form {
        padding: 10px;
    }
}

/* Responsive design for mobile */
@media (max-width: 480px) {
    .viewQuestionsPage {
        padding: 5px;
        margin: 0;
        min-height: 100vh;
        background-color: var(--card-background);
    }

    .viewQuestionsPage h2 {
        font-size: 20px;
        margin-bottom: 10px;
    }

    .viewQuestionsPage a button {
        font-size: 16px;
        padding: 12px 20px;
        border-radius: 8px;
    }

    .viewQuestionsPage form {
        padding: 15px;
        width: 100%;
        max-width: 400px;
        margin: 0 auto 10px;
    }

    .viewQuestionsPage input[type="file"],
    .viewQuestionsPage select {
        font-size: 16px;
        padding: 15px;
        border-radius: 8px;
    }

    .viewQuestionsPage button {
        font-size: 16px;
        padding: 15px;
        border-radius: 8px;
    }

    .viewQuestionsPage table {
        width: 100%;
        max-width: 400px;
        margin: 0 auto 10px;
    }

    .viewQuestionsPage table th,
    .viewQuestionsPage table td {
        padding: 8px;
        font-size: 14px;
    }

    .viewQuestionsPage table td img {
        width: 60px;
        height: 60px;
        border-radius: 5px;
    }

    .viewQuestionsPage table td button {
        font-size: 14px;
        padding: 10px 15px;
        margin-right: 5px;
    }

    .viewQuestionsPage table tr[id^="edit-question-form-"] form {
        padding: 8px;
    }
}

/* Styles for view_student_medals.php */
.viewStudentMedalsPage {
    min-height: 100vh;
    padding: 20px;
    background-color: var(--background-color);
}

.viewStudentMedalsPage h2 {
    color: var(--primary-color);
    font-size: 28px;
    margin-bottom: 20px;
    text-align: center;
}

.viewStudentMedalsPage a button {
    display: block;
    margin: 20px auto;
    background-color: var(--primary-color);
    color: var(--card-background);
    padding: 15px 30px;
    border: none;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.3s;
    text-decoration: none;
}

.viewStudentMedalsPage a button:hover {
    background-color: var(--accent-color);
}

.viewStudentMedalsPage table {
    width: 100%;
    border-collapse: collapse;
    background-color: var(--card-background);
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    margin-bottom: 20px;
}

.viewStudentMedalsPage table th,
.viewStudentMedalsPage table td {
    padding: 12px;
    text-align: left;
    border-bottom: 1px solid var(--border-color);
}

.viewStudentMedalsPage table th {
    background-color: var(--primary-color);
    color: var(--card-background);
    font-weight: 600;
}

.viewStudentMedalsPage table td {
    color: var(--text-color);
}

.viewStudentMedalsPage table td img {
    width: 100px;
    height: 100px;
    border-radius: 8px;
    object-fit: cover;
    transition: transform 0.3s;
}

.viewStudentMedalsPage table td img:hover {
    transform: scale(1.05);
}

.viewStudentMedalsPage table td button {
    background-color: var(--secondary-color);
    color: var(--card-background);
    padding: 10px 15px;
    border: none;
    border-radius: 5px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.3s;
    margin-right: 10px;
}

.viewStudentMedalsPage table td button:nth-child(2) {
    background-color: var(--error-color);
}

.viewStudentMedalsPage table td button:hover {
    background-color: var(--success-color);
}

.viewStudentMedalsPage table td button:nth-child(2):hover {
    background-color: #B71C1C;
}

.viewStudentMedalsPage table tr[id^="edit-form-"] form {
    padding: 15px;
    background-color: var(--card-background);
    box-shadow: none;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.viewStudentMedalsPage table tr[id^="edit-form-"] input[type="file"],
.viewStudentMedalsPage table tr[id^="edit-form-"] textarea {
    padding: 10px;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    font-size: 14px;
    outline: none;
    background-color: #F5F7FA;
    transition: border-color 0.3s;
}

.viewStudentMedalsPage table tr[id^="edit-form-"] textarea {
    resize: vertical;
    min-height: 100px;
}

.viewStudentMedalsPage table tr[id^="edit-form-"] input[type="file"]:focus,
.viewStudentMedalsPage table tr[id^="edit-form-"] textarea:focus {
    border-color: var(--primary-color);
    background-color: var(--card-background);
}

.viewStudentMedalsPage table tr[id^="edit-form-"] button {
    background-color: var(--primary-color);
    padding: 10px 15px;
}

.viewStudentMedalsPage table tr[id^="edit-form-"] button[type="button"] {
    background-color: #6c757d;
}

.viewStudentMedalsPage table tr[id^="edit-form-"] button:hover {
    background-color: var(--accent-color);
}

.viewStudentMedalsPage table tr[id^="edit-form-"] button[type="button"]:hover {
    background-color: #5a6268;
}

/* Responsive design for tablet */
@media (max-width: 768px) {
    .viewStudentMedalsPage {
        padding: 10px;
        margin: 0;
        min-height: 100vh;
        background-color: var(--card-background);
    }

    .viewStudentMedalsPage h2 {
        font-size: 24px;
        margin-bottom: 15px;
    }

    .viewStudentMedalsPage a button {
        font-size: 18px;
        padding: 15px 25px;
        border-radius: 10px;
    }

    .viewStudentMedalsPage table {
        width: 100%;
        max-width: 600px;
        margin: 0 auto 15px;
    }

    .viewStudentMedalsPage table th,
    .viewStudentMedalsPage table td {
        padding: 10px;
        font-size: 16px;
    }

    .viewStudentMedalsPage table td img {
        width: 80px;
        height: 80px;
        border-radius: 6px;
    }

    .viewStudentMedalsPage table td button {
        font-size: 16px;
        padding: 12px 20px;
    }

    .viewStudentMedalsPage table tr[id^="edit-form-"] form {
        padding: 10px;
    }

    .viewStudentMedalsPage table tr[id^="edit-form-"] input[type="file"],
    .viewStudentMedalsPage table tr[id^="edit-form-"] textarea {
        font-size: 16px;
        padding: 12px;
        border-radius: 6px;
    }
}

/* Responsive design for mobile */
@media (max-width: 480px) {
    .viewStudentMedalsPage {
        padding: 5px;
        margin: 0;
        min-height: 100vh;
        background-color: var(--card-background);
    }

    .viewStudentMedalsPage h2 {
        font-size: 20px;
        margin-bottom: 10px;
    }

    .viewStudentMedalsPage a button {
        font-size: 16px;
        padding: 12px 20px;
        border-radius: 8px;
    }

    .viewStudentMedalsPage table {
        width: 100%;
        max-width: 400px;
        margin: 0 auto 10px;
    }

    .viewStudentMedalsPage table th,
    .viewStudentMedalsPage table td {
        padding: 8px;
        font-size: 14px;
    }

    .viewStudentMedalsPage table td img {
        width: 60px;
        height: 60px;
        border-radius: 5px;
    }

    .viewStudentMedalsPage table td button {
        font-size: 14px;
        padding: 10px 15px;
        margin-right: 5px;
    }

    .viewStudentMedalsPage table tr[id^="edit-form-"] form {
        padding: 8px;
    }

    .viewStudentMedalsPage table tr[id^="edit-form-"] input[type="file"],
    .viewStudentMedalsPage table tr[id^="edit-form-"] textarea {
        font-size: 14px;
        padding: 10px;
        border-radius: 5px;
    }
}
/* Styles for view_video.php */
.viewVideosPage {
    min-height: 100vh;
    padding: 20px;
    background-color: var(--background-color);
}

.viewVideosPage .container {
    background-color: var(--card-background);
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
}

.viewVideosPage h2 {
    color: var(--primary-color);
    font-size: 28px;
    margin-bottom: 15px;
    text-align: center;
}

.viewVideosPage p {
    color: var(--text-color);
    font-size: 16px;
    margin-bottom: 15px;
    text-align: center;
}

.viewVideosPage p[style*="color: red"] {
    color: var(--error-color);
}

.viewVideosPage a button {
    display: block;
    margin: 20px auto;
    background-color: var(--primary-color);
    color: var(--card-background);
    padding: 15px 30px;
    border: none;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.3s;
    text-decoration: none;
}

.viewVideosPage a button:hover {
    background-color: var(--accent-color);
}

.viewVideosPage .video-player {
    margin-top: 20px;
}

.viewVideosPage .video-player video {
    width: 100%;
    max-width: 100%;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

/* Responsive design for tablet */
@media (max-width: 768px) {
    .viewVideosPage {
        padding: 10px;
        margin: 0;
        min-height: 100vh;
        background-color: var(--card-background);
    }

    .viewVideosPage .container {
        padding: 15px;
        width: 100%;
        max-width: 600px;
        margin: 0 auto;
        box-shadow: none;
        border-radius: 0;
    }

    .viewVideosPage h2 {
        font-size: 24px;
        margin-bottom: 10px;
    }

    .viewVideosPage p {
        font-size: 18px;
    }

    .viewVideosPage a button {
        font-size: 18px;
        padding: 15px 25px;
        border-radius: 10px;
    }

    .viewVideosPage .video-player video {
        border-radius: 8px;
    }
}

/* Responsive design for mobile */
@media (max-width: 480px) {
    .viewVideosPage {
        padding: 5px;
        margin: 0;
        min-height: 100vh;
        background-color: var(--card-background);
    }

    .viewVideosPage .container {
        padding: 10px;
        width: 100%;
        max-width: 400px;
        margin: 0 auto;
        box-shadow: none;
        border-radius: 0;
    }

    .viewVideosPage h2 {
        font-size: 20px;
        margin-bottom: 8px;
    }

    .viewVideosPage p {
        font-size: 16px;
    }

    .viewVideosPage a button {
        font-size: 16px;
        padding: 12px 20px;
        border-radius: 8px;
    }

    .viewVideosPage .video-player video {
        border-radius: 6px;
    }
}