.menu-btn{background:none;border:none;cursor:pointer;font-size:24px;left:10px;top:10px;z-index:2000}.menu-btn,.sidebar{color:var(--text-color);position:fixed}.sidebar{background-color:var(--sidebar-bg);height:100%;left:0;padding-top:60px;top:0;transition:left .5s ease-out;width:250px;z-index:1500}.sidebar.open{left:0}.close-btn{background:none;border:none;color:var(--text-color);cursor:pointer;font-size:24px;position:absolute;right:10px;top:10px}.sidebar ul{list-style-type:none;padding:0}.sidebar ul li{padding:10px 20px}.sidebar ul li a{color:var(--text-color);text-decoration:none}.sidebar ul li a:hover{background-color:var(--hover-bg);display:block}.sidebar .logout-button{background-color:var(--logout-btn-bg);border:none;border-radius:5px;bottom:20px;color:var(--logout-btn-color);cursor:pointer;font-size:14px;font-weight:500;left:20px;padding:10px 15px;position:absolute;transition:background .3s ease}.sidebar .logout-button:hover{background-color:var(--logout-btn-hover)}@media (max-width:400px){.sidebar{width:200px}}.theme-switcher-button{background:#0000;border:none;color:var(--text-color);cursor:pointer;font-size:16px;margin-right:20px}.navbar{background-color:var(--nav-bg);color:var(--text-color);flex-wrap:wrap;justify-content:space-between;padding:10px 20px}.nav-left,.navbar{align-items:center;display:flex}.nav-left{gap:15px}.nav-right{gap:20px}.nav-right,.user-profile{align-items:center;display:flex}.user-profile{cursor:pointer;position:relative}.profile-icon{margin-right:8px}.user-name{font-size:16px}.dropdown{background:#fff;border:1px solid #ccc;border-radius:5px;box-shadow:0 2px 5px #0003;padding:10px;position:absolute;right:0;top:35px;z-index:100}.dropdown button{background:none;border:none;color:#000;cursor:pointer;font-size:14px;padding:5px 10px;width:100%}.dropdown button:hover{background-color:#c4c2c2;border-radius:5px;transition:.6s}body.dark-theme .dropdown{background:#2a2a2a;border:1px solid #555}body.dark-theme .dropdown button{color:#fff}body.dark-theme .dropdown button:hover{background-color:#444}@media (max-width:600px){.navbar{align-items:flex-start;flex-direction:column}.nav-right{align-self:flex-end;margin-top:10px}}.home-container{padding:20px;text-align:center}.image-container img{cursor:pointer;height:auto;margin-bottom:20px;max-width:20%}.auth-buttons{display:flex;gap:20px;justify-content:center}.btn{background-color:#007bff;border-radius:5px;color:#fff;font-size:16px;padding:10px 20px;text-decoration:none;transition:.3s}.btn:hover{background-color:#0056b3}.admin-login-container{background-color:var(--body-bg);border:1px solid #ddd;border-radius:5px;color:var(--text-color);margin:50px auto;padding:20px;width:300px}.admin-login-container h2{margin-bottom:20px;text-align:center}.admin-login-container form{display:flex;flex-direction:column}.admin-login-container input{background-color:var(--body-bg);border:1px solid #ccc;border-radius:4px;color:var(--text-color);margin-bottom:10px;padding:8px}.admin-login-container button{background-color:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:10px}.admin-login-container .message{color:red;margin-top:15px;text-align:center}.student-login-container{background-color:var(--body-bg);border:1px solid #ddd;border-radius:5px;color:var(--text-color);margin:50px auto;padding:20px;width:300px}.student-login-container h2{margin-bottom:20px;text-align:center}.student-login-container form{display:flex;flex-direction:column}.student-login-container input{background-color:var(--body-bg);border:1px solid #ccc;border-radius:4px;color:var(--text-color);margin-bottom:10px;padding:8px}.student-login-container button{background-color:#17a2b8;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:10px}.student-login-container .message{color:red;margin-top:15px;text-align:center}.register-container{background-color:var(--body-bg);border:1px solid #ddd;border-radius:5px;color:var(--text-color);margin:40px auto;padding:20px;width:350px}.register-container h2{margin-bottom:20px;text-align:center}.register-container form{display:flex;flex-direction:column}.register-container input{background-color:var(--body-bg);border:1px solid #ccc;border-radius:4px;color:var(--text-color);margin-bottom:10px;padding:8px}.register-container button{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:10px}.register-container .message{color:red;margin-top:15px;text-align:center}.user-type label{cursor:pointer}.forgot-password-container{background-color:var(--body-bg);border:1px solid #ddd;border-radius:10px;box-shadow:0 0 10px #0000001a;color:var(--text-color);margin:50px auto;padding:20px;text-align:center;width:300px}.forgot-password-container h2{margin-bottom:20px}.form-group{display:flex;flex-direction:column;gap:10px}.otp-group .otp-inputs{background-color:var(--body-bg);border:none;border-radius:5px;display:flex;gap:8px;justify-content:center;margin-bottom:10px;padding:10px}.otp-group .otp-inputs input{background-color:var(--body-bg);border:1px solid #ddd;border-radius:5px;color:var(--text-color);font-size:18px;height:20px;outline:none;text-align:center;width:20px}.timer{font-weight:700;margin-bottom:10px}input{background-color:var(--body-bg);border:1px solid #ccc;border-radius:5px;color:var(--text-color);padding:10px}button{background-color:#007bff;border:none;border-radius:5px;color:#fff;cursor:pointer;padding:10px 15px}button:disabled{background-color:#ccc;cursor:not-allowed}.message{color:red}.message,.success-message{font-weight:700;margin-top:10px}.success-message{color:green}@media (max-width:400px){.forgot-password-container{padding:15px;width:90%}.otp-group .otp-inputs input{font-size:16px;height:35px;width:35px}}.admin-dashboard{background-color:var(--body-bg);border:1px solid #ddd;border-radius:5px;color:var(--text-color);margin:40px auto;max-width:1000px;padding:20px;width:90%}.admin-dashboard h1{margin-bottom:20px;text-align:center}.admin-dashboard nav ul{display:flex;gap:20px;justify-content:center;list-style-type:none;padding:0}.admin-dashboard nav ul li a{color:var(--text-color);font-size:18px;text-decoration:none;transition:color .3s ease}.admin-dashboard nav ul li a:hover{color:#007bff}.student-dashboard{background-color:var(--body-bg);border:1px solid #ddd;border-radius:5px;color:var(--text-color);margin:40px auto;max-width:1000px;padding:20px;width:90%}.student-dashboard h1{margin-bottom:20px;text-align:center}.student-dashboard nav ul{display:flex;gap:20px;justify-content:center;list-style-type:none;padding:0}.student-dashboard nav ul li a{color:var(--text-color);font-size:18px;text-decoration:none;transition:color .3s ease}.student-dashboard nav ul li a:hover{color:#007bff}.attendance-table-container{background-color:var(--body-bg);border:1px solid #ddd;border-radius:5px;color:var(--text-color);margin:40px auto;max-width:1200px;padding:20px;width:95%}.attendance-table-container h2{margin-bottom:20px;text-align:center}.filter-section{margin-bottom:20px}.filter-section input{border:1px solid #ccc;border-radius:4px;padding:5px 10px}.table-responsive{overflow-x:auto;width:100%}.attendance-table-container table{border-collapse:collapse;width:100%}.attendance-table-container td,.attendance-table-container th{border:1px solid #ccc;padding:10px;text-align:center}.attendance-table-container th{background-color:var(--nav-bg);font-weight:700}.clear-btn{background-color:#d9534f;border:none;border-radius:4px;color:#fff;cursor:pointer;margin-left:10px;padding:8px 12px}.clear-btn:hover{background-color:#c9302c}.edit-btn,.save-btn{background:none;border:none;cursor:pointer;font-size:1.2rem;margin-left:8px}.edit-btn{color:#f39c12}.save-btn{color:#27ae60}.status-green{color:green;font-weight:700}.status-red{color:red;font-weight:700}.status-yellow{color:#daa520;font-weight:700}.sort-btn{background:#fdda0d;border:none;color:#000;cursor:pointer;font-size:18px;margin-left:10px}.export-btn-container{display:flex;justify-content:flex-end;margin-top:10px}.export-btn{align-items:center;background-color:#0af;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-weight:700;gap:5px;padding:8px 14px}.export-btn:hover{background-color:#008ecc}select{border:1px solid #ccc;border-radius:4px;padding:6px 10px}select,select option{background-color:var(--bg-color);color:var(--text-color)}body.light-theme{--bg-color:#fff;--text-color:#000}body.dark-theme{--bg-color:#1e1e1e;--text-color:#fff}@media (max-width:768px){.attendance-table-container{font-size:14px}}.attendance-visualization{background-color:var(--body-bg);border:1px solid #ddd;border-radius:5px;color:var(--text-color);margin:40px auto;max-width:1000px;padding:20px;text-align:center;width:95%}.attendance-visualization h2{margin-bottom:20px}.filter-section{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:15px}.filter-section input,.filter-section select{border:1px solid #ccc;border-radius:4px;padding:5px 10px}.chart-section{height:300px;margin-bottom:140px;position:relative;width:100%}.chart-section canvas{height:100%!important}.student-selector{margin-bottom:10px}.student-selector label{margin-right:10px}.clear-filter-btn{background-color:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:5px 10px}.clear-filter-btn:hover{background-color:#c82333}@media (max-width:768px){.attendance-visualization{font-size:14px}}body{font-family:sans-serif;margin:0;padding:0;transition:background-color .3s ease,color .3s ease}.light-theme{--body-bg:#fff;--text-color:#000;--nav-bg:#eee}.dark-theme{--body-bg:#1e1e1e;--text-color:#fff;--nav-bg:#333}body{background-color:var(--body-bg);color:var(--text-color)}.light-theme{--sidebar-bg:#f1f1f1;--text-color:#222;--hover-bg:#ddd;--logout-btn-bg:#fff;--logout-btn-color:#333;--logout-btn-hover:#ccc}.dark-theme{--sidebar-bg:#1f1f1f;--text-color:#f1f1f1;--hover-bg:#333;--logout-btn-bg:#333;--logout-btn-color:#f1f1f1;--logout-btn-hover:#555}
/*# sourceMappingURL=main.65e28175.css.map*/