*{padding:0;margin:0}body{margin:0;padding:0;font-family:Open Sans,sans-serif}#root{padding:0;margin:0}.login-page{height:100vh;background-color:#295574;display:flex;flex-direction:column}.login-header{color:#fff;padding:20px;outline:none}.login-header h1 .head-text{color:#fff;text-decoration:none;outline:none}.login-form-container{background-color:#fff;width:80%;max-width:500px;padding:40px 30px;border-radius:10px;margin:2rem auto;display:flex;flex-direction:column;align-items:center}.login-welcome{text-align:center;margin-bottom:1.5rem}.login-welcome h1{color:#295574;font-size:1.8rem;margin-bottom:.5rem}.login-welcome h2{color:#c58a09;font-size:1.1rem;font-weight:500}.form-inputs{display:flex;flex-direction:column;gap:1rem;width:100%}.label-form{display:flex;flex-direction:column}.label-form label{margin-bottom:.3rem;color:#333}.label-form .login-input{padding:.7rem 1rem;border:1px solid #ccc;border-radius:5px;font-size:1rem;transition:all .3s ease}.label-form .login-input:focus{border:1px solid #295574;outline:none}.login-button{background-color:#295574;color:#fff;font-weight:600;padding:12px 0;border:none;border-radius:5px;cursor:pointer}@media (max-width: 600px){.login-form-container{height:25rem}}.header{top:0;position:sticky;height:150px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;column-gap:2rem;padding:0 2rem;font-size:1.25rem;background:linear-gradient(135deg,#295574,#3a6b8a,#4b7fa0);box-shadow:0 4px 20px #2955744d,0 2px 8px #29557433;color:#fff;overflow:hidden;z-index:10}.header:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.1) 0%,rgba(255,255,255,.05) 50%,transparent 100%);pointer-events:none}.header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%)}.header-left{display:flex;align-items:center;gap:1rem;position:relative;z-index:1}.navbar-toggle{background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:.5rem;border-radius:4px;transition:background-color .2s ease;display:none}.navbar-toggle:hover{background:#ffffff1a}@media (max-width: 768px){.navbar-toggle{display:block}.header{padding:0 1rem;column-gap:1rem}.logo{font-size:1.5rem;padding:.5rem 1rem}.center{font-size:1.2rem}.header-right{gap:1rem}}@media (max-width: 477px){.header{grid-template-columns:auto 1fr auto}.center{display:none}.header-right{justify-self:center;gap:.5rem}.user-menu{padding:.5rem}.notification{display:none}}.logo{padding:1rem 2rem;text-decoration:none;color:#fff;text-align:center;justify-self:center;font-size:2rem;font-weight:700;letter-spacing:1px;position:relative;z-index:1;transition:all .3s ease;text-shadow:0 2px 4px rgba(0,0,0,.2)}.logo:hover{transform:scale(1.05);text-shadow:0 4px 8px rgba(0,0,0,.3);color:#f0f8ff}.center{place-self:center;font-size:1.5rem}.header-right{display:flex;align-items:center;gap:1.5rem;position:relative;z-index:1}.header-right .bx{font-size:1.8rem;cursor:pointer;transition:all .3s ease;padding:.5rem;border-radius:50%;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.header-right .bx:hover{background:#fff3;transform:scale(1.1);box-shadow:0 4px 12px #0003}.user-menu{position:relative;font-size:1rem;display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-radius:25px}.user-menu span{font-weight:500;white-space:nowrap}.user-icon-btn{background:none;border:none;cursor:pointer;font-size:2.5rem;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center}.user-icon-btn:hover{background:#fff3;transform:scale(1.1)}.user-dropdown{position:absolute;top:90%;left:0;background:#fff;border:none;border-radius:12px;min-width:140px;display:none;box-shadow:0 10px 30px #0003,0 4px 8px #0000001a;overflow:hidden;z-index:1000}.user-dropdown:before{content:"";position:absolute;top:-8px;left:20px;width:0;height:0;border-left:8x solid transparent;border-right:8px solid transparent;border-bottom:8px solid white}.user-menu:focus-within .user-dropdown{display:block}.logout-btn{width:100%;padding:1rem;background:none;border:none;cursor:pointer;color:#e74c3c;font-weight:500;transition:all .3s ease;text-align:left}.navbar{width:200px;padding:2rem 1rem;background:linear-gradient(135deg,#295574,#3a6b8a,#4b7fa0);border-radius:10px;box-shadow:0 10px 30px #29557433,0 4px 8px #2955741a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);top:150px;position:fixed;left:0;height:calc(100vh - 150px);z-index:100;transition:transform .3s ease;overflow:hidden;overflow-y:auto}.navbar:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#ffffff1a,#ffffff0d,#ffffff05);pointer-events:none}.navbar-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:99;display:none}@media (min-width: 769px){.navbar{transform:translate(0)}.navbar-overlay{display:none!important}}@media (max-width: 768px){.navbar{transform:translate(-100%);top:150px;width:250px;box-shadow:2px 0 10px #0000001a}.navbar.navbar-open{transform:translate(0)}.navbar-overlay{display:block}}.nav-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem;font-size:1.3rem;font-weight:500;position:relative;z-index:1}.nav-list li{position:relative}.nav-list a{display:block;text-decoration:none;color:#ffffffe6;padding:1rem 1.5rem;border-radius:12px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;border:1px solid transparent}.nav-list a:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s ease}.nav-list a:hover{color:#fff;background:#ffffff1a;border-color:#fff3;transform:translate(8px);box-shadow:0 4px 12px #0000001a}.app-shell{min-height:100vh;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.app-body{display:flex;min-height:calc(100vh - 150px);gap:2rem;padding:1rem;background:transparent}.main-content{flex:1;padding:2rem;background:#fffffff2;border-radius:20px;box-shadow:0 10px 30px #2955741a,0 4px 8px #2955740d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);text-align:center;transition:all .3s ease;position:relative;overflow:hidden}.main-content:before{content:"";position:absolute;top:0;left:0;right:0;background:linear-gradient(90deg,#295574,#3a6b8a,#4b7fa0);border-radius:20px 20px 0 0}.main-content:hover{transform:translateY(-2px);box-shadow:0 15px 40px #29557426,0 8px 16px #29557414}@media (min-width: 769px){.main-content{margin-left:200px}.navbar-toggle{display:none}}@media (max-width: 768px){.main-content{margin-left:0;padding:1rem}.main-content.navbar-open{margin-left:0}.app-body{flex-direction:column}}.home-container{padding:2rem;background-color:#f5f7fa;min-height:100vh;display:flex;justify-content:center}.courses-wrap{width:100%;max-width:1200px;margin:0 auto;padding:0 1rem}.section-title{margin-top:2rem;text-align:center;color:#295474;font-size:2rem;margin-bottom:2rem;font-weight:700}.courses-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.course-card{background-color:#fff;border-radius:12px;box-shadow:0 4px 8px #0000001a;padding:1.5rem;width:100%;cursor:pointer;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;height:250px}.student-course-home{padding:1.5rem;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.course-title{font-size:1.75rem;font-weight:700;margin-bottom:1rem;color:#295474}.course-description{margin-bottom:1rem;color:#555}.session-info{margin-top:1rem;padding:1rem;background-color:#e6ffed;border-radius:.5rem}.check-location-btn{margin-top:1rem;padding:1rem 2rem;background-color:#295474;color:#fff;font-size:1.1rem;font-weight:600;border:none;border-radius:10px;cursor:pointer;transition:background-color .25s ease,transform .2s ease}.check-location-btn:hover{background-color:#1f4059;transform:translateY(-2px)}.check-location-btn:active{transform:translateY(0)}.location-message{margin-top:.8rem;font-weight:500}.no-session{margin-top:1rem;color:red;font-weight:600}.preparation-container{padding:20px;max-width:1200px;margin:0 auto}.preparation-header{display:flex;flex-direction:column;color:#295474}.preparation-header h1{padding-bottom:50px}.accordion{cursor:pointer;background-color:#295474;color:#fff;padding:10px;border:none;border-radius:5px;text-align:left;margin-bottom:10px;width:fit-content}.panel{padding:0 18px;background-color:#fff;max-height:0;overflow:hidden}.panel.active{max-height:fit-content;border:2px solid #ddd}.panel-content{padding:20px 0}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:5px;font-weight:700;color:#333}.form-group input,.form-group textarea{padding:10px;width:100%;border:1px solid #ddd;border-radius:3px;font-size:14px;box-sizing:border-box}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#295474;box-shadow:0 0 5px #2954744d}.form-actions{display:flex;gap:10px;margin-top:15px}.form-button1{background-color:#295474;color:#fff;border:none;padding:5px;border-radius:5px;cursor:pointer;font-size:14px}.form-button2{background-color:#d9534f;color:#fff;border:none;padding:5px;border-radius:5px;cursor:pointer;font-size:14px}.weeks-list{display:flex;flex-direction:column;gap:20px}.week-card{padding-bottom:50px;border-bottom:1px solid #000000}.week-header{justify-items:left}.week-header h2{color:#295474;font-size:1.5rem}.week-header p{font-size:1.2rem}.week-content{margin-bottom:15px}.resources-section{margin-top:20px}.resources-header{display:flex;justify-content:space-between;align-items:center}.resources-list{display:flex;flex-direction:column;gap:5px}.resource-item{display:flex;justify-content:space-between;align-items:center;padding:15px;box-shadow:0 5px 10px #0000001a}.resource-info{justify-items:left}.resource-info p{margin:8px}.resource-info a{text-decoration:none;font-size:14px}.resource-info a:hover{text-decoration:underline}.resource-actions{display:flex;gap:8px}.resource-form{border:1px solid #295474}.resource-form h4{color:#295474}.attendance-container{padding:20px;max-width:1200px;margin:0 auto}.attendance-header{color:#295574}.mark-attendance-container{display:grid;grid-template-columns:1fr auto;align-items:center;margin-bottom:20px;gap:10px}.mark-attendance-container .attendance-button{background-color:#295574;color:#fff;border:none;padding:10px 20px;border-radius:4px;cursor:pointer;font-size:1rem}.attendance-stats{padding:40px 0;gap:20px;text-align:left}.attendance-stats p{font-size:1.2rem;margin:10px 0}.attendance-button:disabled{background-color:#b9bbbd;cursor:not-allowed}.attendance-history h3{margin-bottom:15px;font-size:1.1rem}.chart-container{background:#fff;padding:20px;border-radius:8px;border:1px solid #e9ecef;margin-bottom:20px;position:relative;z-index:0}.custom-tooltip{background:#fff;border:1px solid black;padding:16px;width:fit-content;text-align:left}.absent-students-section{border:1px solid #e9ecef;border-radius:8px;width:fit-content;justify-self:center;padding:20px}.absent-students-list{list-style:none;padding-left:20px;justify-items:left}.absent-student-email{margin:5px 0}.absent-student-email a{text-decoration:none;color:#000}.absent-student-email a:hover{text-decoration:underline}.student-name{color:#295574;cursor:pointer;margin:0 8px}.student-name:hover{text-decoration:underline}.email-link{margin-left:8px;color:#666;text-decoration:none;font-size:.9em}.email-link:hover{color:#295574}.student-chart-section{padding:20px;margin-top:20px}.student-chart-section h4{margin-bottom:15px;font-size:1.1rem}.error-message{color:#dc3545;background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;padding:12px;margin:20px 0;text-align:center}.quizzes{max-width:800px;margin:2rem auto;font-family:Arial,sans-serif;color:#333}.quizzes h2{text-align:center;color:#295474}.quizzes h3{color:#295474;margin:.5rem 0}.quiz-card{border:1px solid #ccc;border-radius:8px;padding:1rem 1.2rem;margin-bottom:1.5rem;background:#fafafa;box-shadow:0 2px 4px #0000000d}.quiz-header{cursor:pointer;padding-bottom:.6rem;border-bottom:1px solid #ddd;display:flex;flex-direction:column;gap:.2rem}.quiz-settings{margin-top:.5rem;font-size:.9rem}.quiz-settings span{display:inline-block;margin-right:1rem;background:#eef4f7;padding:.2rem .5rem;border-radius:4px;color:#295474;font-weight:500}.quiz-body{padding-top:1rem}.quiz-question{margin-top:1rem;padding:.8rem;border-left:3px solid #295474;background:#f9f9f9;border-radius:4px}.quiz-question strong{display:block;margin-bottom:.5rem;font-weight:600}.answer-list{list-style:none;padding-left:0;margin:.3rem 0 0}.answer-list li{margin-bottom:.5rem}.answer-list label{display:flex;align-items:center;gap:.6rem;cursor:pointer}.answer-list input[type=radio]{transform:scale(1.1);accent-color:#295474}.answer-correct{color:green;font-weight:500}.answer-wrong{color:red;font-weight:500}.btn{margin-top:.8rem;padding:.5rem 1rem;border:none;border-radius:4px;background:#295474;color:#fff;font-size:.9rem;cursor:pointer;transition:background .2s}.grade-summary{margin-top:1rem;border-top:1px solid #ddd;padding-top:.8rem}.grade-summary h4{margin:0 0 .5rem;color:#295474}.error-msg{color:red;margin-top:1rem;font-weight:500}.leaderboard-container{margin-top:30px;padding:12px;border:1px solid #ddd;border-radius:8px;background-color:#fafafa;font-family:Arial,sans-serif}.leaderboard-container h3{margin-bottom:12px;color:#333}.leaderboard-container ol{padding-left:20px}.leaderboard-container li{margin-bottom:6px;padding:6px 8px;border-radius:4px;background-color:#fff;border:1px solid #eee;display:flex;justify-content:space-between;font-size:14px}.leaderboard-container li:nth-child(odd){background-color:#f5f5f5}.student-container{padding:2rem;min-height:100vh;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;color:#333;display:flex;flex-direction:column;gap:1.5rem}.student-container h2{font-size:2rem;font-weight:700;color:#295474;margin-bottom:.5rem;text-align:center}.student-container h3{font-size:1.4rem;font-weight:600;color:#295474;margin-bottom:.75rem}.request-type{margin-top:1rem;display:flex;gap:1.5rem;flex-wrap:wrap}.request-type label{flex:1;min-width:140px;padding:1rem;border:2px solid transparent;border-radius:12px;text-align:center;font-size:1.05rem;font-weight:600;cursor:pointer;transition:all .3s ease;position:relative}.request-type input{display:none}.request-type label:first-of-type{background:#f0fdf4;color:#16a34a;border:2px solid #dcfce7}.request-type label:first-of-type:hover{background:#dcfce7;transform:translateY(-2px);box-shadow:0 4px 12px #16a34a26}.request-type label:last-of-type{background:#fef7f0;color:#ea580c;border:2px solid #fed7aa}.request-type label:last-of-type:hover{background:#fed7aa;transform:translateY(-2px);box-shadow:0 4px 12px #ea580c26}.request-type input:checked+span{background:#295474!important;color:#fff!important;box-shadow:0 4px 15px #2954744d}.request-type input[type=radio]:checked+span{transform:scale(1.02);font-weight:700}.request-type span{display:block;border-radius:10px;padding:.5rem;transition:all .3s ease}.student-container textarea{width:100%;margin-top:.5rem;padding:.6rem;font-size:.95rem;border:1.5px solid #ccc;border-radius:10px;resize:vertical;min-height:70px;max-height:120px;transition:border-color .25s ease}.student-container textarea:focus{border-color:#295474;outline:none;box-shadow:0 0 4px #2954744d}.submit-container{margin-top:1.5rem}.submit-btn{padding:1rem 2rem;background-color:#295474;color:#fff;border:none;border-radius:12px;cursor:pointer;font-size:1.1rem;font-weight:600;transition:background-color .25s ease,transform .2s ease}.submit-btn:hover:not(:disabled){background-color:#1f4059;transform:translateY(-2px)}.submit-btn:disabled{background-color:#9eb5c7;cursor:not-allowed}.success-message{margin-top:1rem;padding:.75rem 1rem;border-radius:8px;font-weight:500;font-size:.95rem;background-color:#e6f4ea;color:#256029;border:1px solid #c6e7c8}.error-message{margin-top:.5rem;font-size:.9rem;color:#b71c1c}.latest-request{margin-top:2rem;background:#fff;border-radius:14px;box-shadow:0 4px 8px #0000001a;padding:1.5rem}.latest-request p{margin:.4rem 0;font-size:1rem;color:#444}.home-container{padding:2rem;background-color:#f5f7fa;min-height:100vh}.section-title{text-align:center;color:#295474;font-size:2rem;margin-bottom:2rem;font-weight:700}.courses-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;justify-items:center}@media (max-width: 1024px){.courses-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.courses-grid{grid-template-columns:1fr}}.course-card{background-color:#fff;border-radius:12px;box-shadow:0 4px 8px #0000001a;padding:1.5rem;width:100%;cursor:pointer;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;height:100px}.course-card:hover{transform:translateY(-5px);box-shadow:0 8px 16px #00000026}.course-info h3{color:#295474;font-size:1.25rem;margin-bottom:.5rem}.course-info p{color:#555;font-size:1rem;line-height:1.4;flex-grow:1}.course-container{padding:2rem;min-height:100vh;color:#333;display:flex;flex-direction:column;gap:1.5rem}.course-container h2{font-size:2rem;font-weight:700;color:#295474;margin-bottom:.5rem}.course-container p{font-size:1rem;line-height:1.5;color:#555}.duration-wrapper{margin-top:1.5rem;display:flex;align-items:center;gap:1rem}.duration-wrapper label{font-weight:600;color:#295474;font-size:1rem}.duration-wrapper input{width:100px;padding:.5rem;font-size:1rem;border:1.5px solid #ccc;border-radius:8px;outline:none;transition:border .2s ease}.duration-wrapper input:focus{border-color:#295474;box-shadow:0 0 4px #2954744d}.primary-btn{margin:1rem auto 0;padding:.75rem 1.5rem;background-color:#295474;color:#fff;font-size:1rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:background-color .25s ease,transform .2s ease;width:100%;max-width:400px;display:block}.primary-btn:hover{background-color:#1f4059;transform:translateY(-2px)}.primary-btn:active{transform:translateY(0)}.session-details{margin-top:2rem;background:#e6ffed;border-radius:12px;padding:1.5rem}.session-details p{margin:.5rem 0;font-size:1rem;color:#444}.quizzes{max-width:1000px;margin:2rem auto;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;color:#333;padding:0 1rem}.quizzes h2{text-align:center;color:#295474;margin-bottom:2rem;font-size:2rem;font-weight:700;padding-bottom:.5rem}.quizzes h3{color:#295474;margin-top:1.5rem;margin-bottom:1rem;font-size:1.4rem;font-weight:700}.quizzes h4{color:#3a6a94;margin-top:1.2rem;margin-bottom:.8rem;font-size:1.1rem;font-weight:700}.create-quiz{border:1px solid #a0c6e8;border-radius:8px;padding:1.5rem;margin-bottom:2rem;background:#f9f9f9;box-shadow:0 2px 6px #2954741a}.create-quiz>div{margin-bottom:1rem}.create-quiz label{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-weight:500}.quiz-card{border:1px solid #a0c6e8;border-radius:8px;padding:1rem;margin-bottom:1.5rem;background:#fafafa;box-shadow:0 1px 3px #2954741a}.quiz-header{cursor:pointer;padding-bottom:.5rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.quiz-header h3{margin:0;color:#295474;font-size:1.3rem;flex:1;font-weight:700}.quiz-header p{margin:0;background:#e8f0f5;padding:.3rem .8rem;border-radius:4px;font-size:.9rem}.quiz-expanded{margin-top:1rem;padding:1rem}.quiz-expanded label{display:block;margin-bottom:.8rem;font-weight:500}.quiz-expanded input[type=text]{margin-left:.5rem;padding:.6rem;border:1px solid #a0c6e8;border-radius:4px;width:100%;box-sizing:border-box;font-size:1rem;margin-top:.4rem}.quiz-expanded input[type=number],.quiz-expanded select{margin-left:.5rem;padding:.4rem;border:1px solid #a0c6e8;border-radius:4px}.question,.question-update{margin:1.2rem 0;padding:1rem;background:#fff}.question-update input[type=text]{padding:.6rem;border:1px solid #a0c6e8;border-radius:4px;width:100%;box-sizing:border-box;font-size:1rem;margin-bottom:.8rem}.answer,.answer-update{display:flex;align-items:center;gap:.8rem;margin:.8rem 0;padding:.5rem;background:#f8fafb;border-radius:4px}.answer input[type=text],.answer-update input[type=text]{flex:1}.quiz-input,.quiz-select{margin:.4rem 0;padding:.6rem;border:1px solid #a0c6e8;border-radius:4px;width:100%;box-sizing:border-box;font-size:1rem}.quiz-input:focus,.quiz-select:focus{outline:none;border-color:#295474;box-shadow:0 0 0 2px #29547433}.btn{margin-top:.6rem;margin-right:.5rem;padding:.6rem 1.2rem;border:none;border-radius:4px;background:#295474;color:#fff;cursor:pointer;font-size:.9rem;transition:background-color .2s;font-weight:600}.btn:hover{background:#2980b9}.btn:disabled{background:#95a5a6;cursor:not-allowed}.note{font-size:.8rem;color:#666;margin-top:.4rem;font-style:italic}.message{margin-top:.6rem;font-size:.9rem;color:#295474;padding:.5rem;border-radius:4px;background:#e8f0f5;font-weight:500}.quiz-performance-section{margin-top:3rem;padding:1.5rem;border:1px solid #a0c6e8;border-radius:8px;background:#f9f9f9}.underperforming-section,.student-performance-section{margin-top:2rem;padding:1rem;background:#fff}.student-table{width:100%;border-collapse:collapse;margin-top:1rem}.student-table th,.student-table td{padding:.8rem;text-align:left}.student-table th{background:#f5f5f5;font-weight:700}.student-name-link{background:none;border:none;color:#295474;text-decoration:underline;cursor:pointer;padding:0;font:inherit;font-weight:500}.student-name-link:hover{color:#2980b9}.email-link{color:#295474;text-decoration:none;font-weight:500}.email-link:hover{text-decoration:underline}.custom-tooltip{background:#fff;border:1px solid #a0c6e8;border-radius:4px;padding:.8rem;box-shadow:0 2px 4px #0000001a}.custom-tooltip h4{margin:0 0 .5rem;color:#2c3e50;font-weight:700}.custom-tooltip p{margin:.3rem 0;font-size:.9rem}@media (max-width: 768px){.quiz-header,.answer,.answer-update{flex-direction:column;align-items:flex-start;gap:.5rem}.student-table{font-size:.9rem}.student-table th,.student-table td{padding:.5rem}}input[type=checkbox]{width:auto;margin-right:.5rem}.recharts-wrapper{margin:0 auto}.lecturer-container{padding:20px}.lecturer-container h2{margin-bottom:12px;color:#295474}.lecturer-container ul{list-style:none;padding-left:0;margin:0}.lecturer-container li{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 14px;border-bottom:1px solid #eee;font-size:15px}.lecturer-container li:last-child{border-bottom:none}.request-info{flex:1;min-width:0}.request-header{display:flex;align-items:center;gap:8px;white-space:normal}.request-header strong{font-weight:600;color:#222;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:40%}.request-text{color:#222;font-weight:500;overflow-wrap:anywhere}.request-desc{font-size:13px;color:#555;margin-top:6px;padding-left:12px;border-left:2px solid #eee;margin-bottom:2px}.request-actions{display:flex;gap:8px;align-items:flex-start}.approve-btn,.decline-btn,.dismiss-btn{padding:8px 14px;border:none;border-radius:6px;font-weight:600;cursor:pointer;font-size:14px;transition:background-color .25s ease,transform .15s ease;white-space:nowrap}.approve-btn{background-color:#4caf50;color:#fff}.approve-btn:hover{background-color:#3d8b40;transform:translateY(-1px)}.decline-btn{background-color:#ff4d4f;color:#fff}.decline-btn:hover{background-color:#d9363e;transform:translateY(-1px)}.dismiss-btn{background-color:#999;color:#fff}.dismiss-btn:hover{background-color:#777;transform:translateY(-1px)}.leaderboard-card{margin-top:24px;background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:12px;box-shadow:0 6px 20px #00000014;padding:20px}.leaderboard-card h2{text-align:center;font-size:22px;font-weight:700;color:#295474;margin-bottom:16px}.leaderboard-card ul{list-style:none;padding-left:0;margin:0}.leaderboard-card li{display:flex;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #eee;font-size:15px}.leaderboard-card li:nth-child(odd){background-color:#f9f9f9}.leaderboard-card li:last-child{border-bottom:none}.rank-badge{background:#295474;color:#fff;font-weight:600;padding:4px 10px;border-radius:20px;margin-right:10px;font-size:13px}.floating-notification{position:fixed;right:20px;bottom:20px;width:320px;background:#fff;border:1px solid rgba(0,0,0,.12);box-shadow:0 6px 20px #0000001f;padding:12px;border-radius:8px;z-index:9999}.floating-notification-header{display:flex;justify-content:space-between;align-items:center;font-weight:700;margin-bottom:8px}.floating-notification-header span{background:#ff4d4f;color:#fff;padding:2px 8px;border-radius:12px;font-size:12px}.floating-notification-body div{margin-bottom:4px}.floating-notification-actions{display:flex;justify-content:flex-end;margin-top:12px}.students-without-points-section{margin-top:24px;text-align:center}.students-without-points-card h2{text-align:center;font-size:20px;font-weight:700;color:#295474;margin-bottom:16px}.toggle-btn{padding:10px 18px;background-color:#295474;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:15px;font-weight:600;transition:background-color .25s ease,transform .2s ease}.toggle-btn:hover{background-color:#1f4059;transform:translateY(-2px)}.toggle-btn:active{transform:translateY(0)}.students-without-points-card{margin-top:16px;padding:16px;border:1px solid rgba(0,0,0,.12);border-radius:12px;background:#fafafa;text-align:left;box-shadow:0 6px 20px #00000014}.students-without-points-card ul{list-style:none;padding-left:0;margin:0}.students-without-points-card li{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #eee}.students-without-points-card li:last-child{border-bottom:none}.student-name{font-weight:500;color:#222}.student-email{color:#555;font-size:13px}.request-info{flex:1;margin-right:12px}.request-info strong{font-weight:600;color:#222}.request-desc{font-size:16px;color:#444;margin-top:6px;line-height:1.4;font-style:italic}
