@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:'Poppins',sans-serif;
}

body{
    min-height:100vh;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:20px;
    overflow:hidden;

    background:linear-gradient(
        135deg,
        #e9ddff 0%,
        #c8a9ff 50%,
        #8b5cf6 100%
    );

    position:relative;
}

/* Background decorative circles */

body::before{
    content:"";
    position:absolute;
    width:350px;
    height:350px;
    border-radius:50%;
    background:rgba(255,255,255,0.15);
    top:-120px;
    left:-120px;
}

body::after{
    content:"";
    position:absolute;
    width:400px;
    height:400px;
    border-radius:50%;
    background:rgba(255,255,255,0.08);
    bottom:-180px;
    right:-180px;
}

/* Main Card */

.card{
    width:100%;
    max-width:650px;

    background:white;

    padding:55px 50px;

    border-radius:35px;

    text-align:center;

    box-shadow:
    0 20px 50px rgba(90,24,154,0.15);

    position:relative;
    z-index:10;
}

/* Logo */

.logo{
    width:100px;
    height:100px;

    margin:0 auto 15px;

    border-radius:50%;

    background:#f4efff;

    display:flex;
    justify-content:center;
    align-items:center;

    font-size:42px;
}

/* Title */

h1{
    font-size:4rem;
    font-weight:800;
    color:#1f1147;

    margin-bottom:10px;
}

h1 span{
    color:#7c3aed;
}

/* Subtitle */

.subtitle{
    font-size:1.1rem;
    color:#6b7280;

    margin-bottom:25px;
}

/* Divider */

.divider{
    display:flex;
    justify-content:center;
    align-items:center;

    margin-bottom:35px;
}

.divider-dot{
    width:10px;
    height:10px;

    background:#7c3aed;
    border-radius:50%;
}

/* Links */

a{
    text-decoration:none;
}

/* Login Buttons */

.btn{
    width:100%;

    border:none;

    padding:18px;

    border-radius:16px;

    font-size:1.15rem;
    font-weight:600;

    cursor:pointer;

    transition:0.3s;

    margin-bottom:18px;
}

/* Purple Filled Buttons */

.btn-primary{
    color:white;

    background:linear-gradient(
        90deg,
        #6d28d9,
        #8b5cf6
    );

    box-shadow:
    0 10px 20px rgba(124,58,237,0.25);
}

.btn-primary:hover{
    transform:translateY(-3px);

    box-shadow:
    0 15px 30px rgba(124,58,237,0.35);
}

/* Register Buttons */

.btn-outline{
    background:white;

    color:#6d28d9;

    border:2px solid #d9c4ff;
}

.btn-outline:hover{
    background:#faf7ff;
}

/* OR Section */

.or{
    position:relative;

    margin:20px 0 25px;

    color:#7a7a7a;
    font-weight:600;
}

.or::before,
.or::after{
    content:"";

    position:absolute;
    top:50%;

    width:38%;
    height:1px;

    background:#e5e7eb;
}

.or::before{
    left:0;
}

.or::after{
    right:0;
}

/* Footer */

.footer{
    margin-top:35px;

    color:#6b7280;

    font-size:1rem;
}

.footer span{
    color:#7c3aed;
    font-weight:600;
}

/* Mobile */

@media(max-width:768px){

    .card{
        padding:40px 25px;
    }

    h1{
        font-size:2.8rem;
    }

    .logo{
        width:80px;
        height:80px;
        font-size:35px;
    }

    .btn{
        font-size:1rem;
        padding:15px;
    }
}


/* =========================
   STUDENTS PAGE
========================= */

h2{
    font-size: 2rem;
    font-weight: 700;
    color: #1f1147;
    margin-bottom: 25px;
}

/* Form */

form{
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-bottom: 30px;
}

input{
    width: 100%;
    padding: 16px;

    border: 2px solid #e4d7ff;
    border-radius: 14px;

    font-size: 1rem;

    outline: none;

    transition: 0.3s;
}

input:focus{
    border-color: #8b5cf6;

    box-shadow:
    0 0 0 4px rgba(139,92,246,0.15);
}

/* Horizontal Line */

hr{
    border: none;
    height: 1px;
    background: #ececec;
    margin: 30px 0;
}

/* Table */

table{
    width: 100%;
    border-collapse: collapse;
    overflow: hidden;

    border-radius: 18px;

    box-shadow:
    0 8px 25px rgba(0,0,0,0.06);
}

table th{
    background: linear-gradient(
        90deg,
        #6d28d9,
        #8b5cf6
    );

    color: white;

    padding: 16px;

    font-weight: 600;

    text-align: center;
}

table td{
    padding: 15px;

    text-align: center;

    border-bottom: 1px solid #eeeeee;
}

table tr:nth-child(even){
    background: #faf7ff;
}

table tr:hover{
    background: #f3edff;
    transition: 0.2s;
}

/* Delete Link */

table td a{
    text-decoration: none;

    color: #dc2626;

    font-weight: 600;

    transition: 0.3s;
}

table td a:hover{
    color: #991b1b;
}

/* Buttons */

button{
    width: 100%;
    border: none;

    padding: 16px;

    border-radius: 14px;

    background: linear-gradient(
        90deg,
        #6d28d9,
        #8b5cf6
    );

    color: white;

    font-size: 1rem;
    font-weight: 600;

    cursor: pointer;

    transition: 0.3s;

    box-shadow:
    0 10px 20px rgba(124,58,237,0.25);
}

button:hover{
    transform: translateY(-2px);

    box-shadow:
    0 15px 25px rgba(124,58,237,0.35);
}

/* Back Button */

a button{
    margin-top: 25px;
}

/* Responsive */

@media(max-width:768px){

    .card{
        padding: 30px 20px;
    }

    table{
        font-size: 0.85rem;
    }

    table th,
    table td{
        padding: 10px;
    }
}


@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:'Poppins',sans-serif;
}

body{
    min-height:100vh;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:20px;

    background:linear-gradient(
        135deg,
        #e9ddff 0%,
        #c8a9ff 50%,
        #8b5cf6 100%
    );
}

/* Card */

.card{
    width:100%;
    max-width:550px;

    background:white;

    padding:45px;

    border-radius:30px;

    box-shadow:
    0 20px 50px rgba(90,24,154,0.15);

    text-align:center;
}

/* Heading */

h2{
    font-size:2.2rem;
    color:#1f1147;
    font-weight:700;

    margin-bottom:30px;
}

/* Form */

form{
    display:flex;
    flex-direction:column;
    gap:15px;
}

/* Inputs */

input{
    width:100%;

    padding:15px 18px;

    border:2px solid #e4d7ff;

    border-radius:14px;

    font-size:1rem;

    outline:none;

    transition:0.3s;
}

input:focus{
    border-color:#8b5cf6;

    box-shadow:
    0 0 0 4px rgba(139,92,246,0.15);
}

/* Button */

button{
    margin-top:10px;

    padding:16px;

    border:none;

    border-radius:14px;

    background:linear-gradient(
        90deg,
        #6d28d9,
        #8b5cf6
    );

    color:white;

    font-size:1rem;
    font-weight:600;

    cursor:pointer;

    transition:0.3s;

    box-shadow:
    0 10px 20px rgba(124,58,237,0.25);
}

button:hover{
    transform:translateY(-3px);

    box-shadow:
    0 15px 30px rgba(124,58,237,0.35);
}

/* Login Link */

a{
    display:block;

    margin-top:20px;

    text-decoration:none;

    color:#7c3aed;

    font-weight:600;

    transition:0.3s;
}

a:hover{
    color:#5b21b6;
}

/* Mobile */

@media(max-width:600px){

    .card{
        padding:30px 25px;
    }

    h2{
        font-size:1.8rem;
    }
}


@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:'Poppins',sans-serif;
}

body{
    min-height:100vh;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:20px;

    background:linear-gradient(
        135deg,
        #e9ddff 0%,
        #c8a9ff 50%,
        #8b5cf6 100%
    );
}

/* Card */

.card{
    width:100%;
    max-width:500px;

    background:white;

    padding:45px;

    border-radius:30px;

    text-align:center;

    box-shadow:
    0 20px 50px rgba(90,24,154,0.15);
}

/* Heading */

h2{
    font-size:2.2rem;
    font-weight:700;

    color:#1f1147;

    margin-bottom:30px;
}

/* Form */

form{
    display:flex;
    flex-direction:column;
    gap:18px;
}

/* Input Fields */

input{
    width:100%;

    padding:15px 18px;

    border:2px solid #e4d7ff;

    border-radius:14px;

    font-size:1rem;

    outline:none;

    transition:0.3s;
}

input:focus{
    border-color:#8b5cf6;

    box-shadow:
    0 0 0 4px rgba(139,92,246,0.15);
}

/* Login Button */

button{
    margin-top:8px;

    padding:16px;

    border:none;

    border-radius:14px;

    background:linear-gradient(
        90deg,
        #6d28d9,
        #8b5cf6
    );

    color:white;

    font-size:1rem;
    font-weight:600;

    cursor:pointer;

    transition:0.3s;

    box-shadow:
    0 10px 20px rgba(124,58,237,0.25);
}

button:hover{
    transform:translateY(-3px);

    box-shadow:
    0 15px 30px rgba(124,58,237,0.35);
}

/* Register Link */

a{
    display:block;

    margin-top:22px;

    color:#7c3aed;

    text-decoration:none;

    font-weight:600;

    transition:0.3s;
}

a:hover{
    color:#5b21b6;
}

/* Mobile */

@media(max-width:600px){

    .card{
        padding:35px 25px;
    }

    h2{
        font-size:1.8rem;
    }
}


@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:'Poppins',sans-serif;
}

body{
    min-height:100vh;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:20px;

    background:linear-gradient(
        135deg,
        #e9ddff 0%,
        #c8a9ff 50%,
        #8b5cf6 100%
    );
}

/* Dashboard Card */

.card{
    width:100%;
    max-width:700px;

    background:white;

    padding:50px;

    border-radius:30px;

    text-align:center;

    box-shadow:
    0 20px 50px rgba(90,24,154,0.15);
}

/* Welcome Heading */

h1{
    color:#1f1147;

    font-size:2.5rem;
    font-weight:700;

    margin-bottom:15px;
}

/* Highlight Student Name */

h1::first-line{
    color:#1f1147;
}

/* Subtitle */

p{
    color:#6b7280;

    font-size:1.1rem;

    margin-bottom:35px;

    line-height:1.6;
}

/* Attendance Box */

.attendance-box{
    background:#faf7ff;

    border:2px solid #e4d7ff;

    border-radius:18px;

    padding:25px;

    margin-bottom:30px;
}

.attendance-box h3{
    color:#6d28d9;
    margin-bottom:10px;
}

.attendance-box p{
    margin:0;
}

/* Button */

button{
    width:100%;

    max-width:220px;

    padding:15px;

    border:none;

    border-radius:14px;

    background:linear-gradient(
        90deg,
        #6d28d9,
        #8b5cf6
    );

    color:white;

    font-size:1rem;
    font-weight:600;

    cursor:pointer;

    transition:0.3s;

    box-shadow:
    0 10px 20px rgba(124,58,237,0.25);
}

button:hover{
    transform:translateY(-3px);

    box-shadow:
    0 15px 30px rgba(124,58,237,0.35);
}

a{
    text-decoration:none;
}

/* Mobile */

@media(max-width:768px){

    .card{
        padding:35px 25px;
    }

    h1{
        font-size:2rem;
    }

    p{
        font-size:1rem;
    }

    button{
        width:100%;
    }
}


@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:'Poppins',sans-serif;
}

body{
    min-height:100vh;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:20px;

    background:linear-gradient(
        135deg,
        #e9ddff 0%,
        #c8a9ff 50%,
        #8b5cf6 100%
    );
}

/* Main Card */

.card{
    width:100%;
    max-width:550px;

    background:#ffffff;

    padding:45px;

    border-radius:30px;

    text-align:center;

    box-shadow:
    0 20px 50px rgba(90,24,154,0.15);
}

/* Heading */

h2{
    color:#1f1147;

    font-size:2.2rem;
    font-weight:700;

    margin-bottom:30px;
}

/* Form */

form{
    display:flex;
    flex-direction:column;
    gap:15px;
}

/* Input Fields */

input{
    width:100%;

    padding:15px 18px;

    border:2px solid #e4d7ff;

    border-radius:14px;

    font-size:1rem;

    outline:none;

    transition:0.3s ease;
}

input:focus{
    border-color:#8b5cf6;

    box-shadow:
    0 0 0 4px rgba(139,92,246,0.15);
}

/* Register Button */

button{
    margin-top:10px;

    padding:16px;

    border:none;

    border-radius:14px;

    background:linear-gradient(
        90deg,
        #6d28d9,
        #8b5cf6
    );

    color:white;

    font-size:1rem;
    font-weight:600;

    cursor:pointer;

    transition:0.3s ease;

    box-shadow:
    0 10px 20px rgba(124,58,237,0.25);
}

button:hover{
    transform:translateY(-3px);

    box-shadow:
    0 15px 30px rgba(124,58,237,0.35);
}

/* Login Link */

a{
    color:#7c3aed;

    text-decoration:none;

    font-weight:600;

    transition:0.3s;
}

a:hover{
    color:#5b21b6;
}

/* Mobile */

@media(max-width:600px){

    .card{
        padding:30px 25px;
    }

    h2{
        font-size:1.8rem;
    }
}


@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:'Poppins',sans-serif;
}

body{
    min-height:100vh;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:20px;

    background:linear-gradient(
        135deg,
        #e9ddff 0%,
        #c8a9ff 50%,
        #8b5cf6 100%
    );
}

/* Login Card */

.card{
    width:100%;
    max-width:500px;

    background:#ffffff;

    padding:45px;

    border-radius:30px;

    text-align:center;

    box-shadow:
    0 20px 50px rgba(90,24,154,0.15);
}

/* Heading */

h2{
    color:#1f1147;

    font-size:2.2rem;
    font-weight:700;

    margin-bottom:30px;
}

/* Form */

form{
    display:flex;
    flex-direction:column;
    gap:18px;
}

/* Input Fields */

input{
    width:100%;

    padding:15px 18px;

    border:2px solid #e4d7ff;

    border-radius:14px;

    font-size:1rem;

    outline:none;

    transition:0.3s;
}

input:focus{
    border-color:#8b5cf6;

    box-shadow:
    0 0 0 4px rgba(139,92,246,0.15);
}

/* Login Button */

button{
    margin-top:8px;

    padding:16px;

    border:none;

    border-radius:14px;

    background:linear-gradient(
        90deg,
        #6d28d9,
        #8b5cf6
    );

    color:white;

    font-size:1rem;
    font-weight:600;

    cursor:pointer;

    transition:0.3s;

    box-shadow:
    0 10px 20px rgba(124,58,237,0.25);
}

button:hover{
    transform:translateY(-3px);

    box-shadow:
    0 15px 30px rgba(124,58,237,0.35);
}

/* Register Link */

a{
    display:block;

    margin-top:22px;

    color:#7c3aed;

    text-decoration:none;

    font-weight:600;

    transition:0.3s;
}

a:hover{
    color:#5b21b6;
}

/* Mobile */

@media(max-width:600px){

    .card{
        padding:35px 25px;
    }

    h2{
        font-size:1.8rem;
    }
}


@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:'Poppins',sans-serif;
}

body{
    min-height:100vh;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:20px;

    background:linear-gradient(
        135deg,
        #e9ddff 0%,
        #c8a9ff 50%,
        #8b5cf6 100%
    );
}

.card{
    width:100%;
    max-width:700px;

    background:#ffffff;

    padding:50px;

    border-radius:30px;

    text-align:center;

    box-shadow:
    0 20px 50px rgba(90,24,154,0.15);
}

/* Welcome Heading */

h1{
    font-size:2.5rem;
    font-weight:700;

    color:#1f1147;

    margin-bottom:35px;
}

/* Links */

a{
    text-decoration:none;
}

/* Dashboard Buttons */

button{
    width:100%;

    padding:18px;

    margin-bottom:15px;

    border:none;

    border-radius:16px;

    background:linear-gradient(
        90deg,
        #6d28d9,
        #8b5cf6
    );

    color:white;

    font-size:1.05rem;
    font-weight:600;

    cursor:pointer;

    transition:0.3s;

    box-shadow:
    0 10px 20px rgba(124,58,237,0.20);
}

button:hover{
    transform:translateY(-3px);

    box-shadow:
    0 15px 30px rgba(124,58,237,0.35);
}

/* Logout Button */

a:last-child button{
    background:linear-gradient(
        90deg,
        #dc2626,
        #ef4444
    );

    margin-top:15px;
}

a:last-child button:hover{
    box-shadow:
    0 15px 30px rgba(220,38,38,0.30);
}

/* Mobile */

@media(max-width:768px){

    .card{
        padding:35px 25px;
    }

    h1{
        font-size:2rem;
    }

    button{
        padding:16px;
        font-size:1rem;
    }
}