:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#213547;background-color:#bfbaba;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;margin:0;padding:0}ul{list-style:none}a{font-weight:500;text-decoration:none}body{background-color:#f4f6f8;color:#333}.container{width:1200px;margin:0 auto}.error-message{color:red;font-size:13px;margin-bottom:8px;padding:0 6px}.grade-page{min-height:600px;margin-top:3rem;margin-bottom:1rem;background-color:#fff;padding:20px;border-radius:10px;box-shadow:0 2px 8px #0000001a}.grade-page>h1{text-align:center;color:#1e2a78;margin-bottom:20px}table{width:100%;border-collapse:collapse;margin-bottom:20px}thead{background-color:#2e3b8c;color:#fff}th,td{border:1px solid #ddd;padding:10px}th{text-align:center}td{text-align:left}.button-soft{position:relative;overflow:hidden;cursor:pointer;transition:transform .1s ease,box-shadow .2s ease}.button-soft:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:#fff3;opacity:0;transition:opacity .2s ease}.button-soft:active{transform:scale(.97);box-shadow:0 2px 8px #0003 inset}.button-soft:active:after{opacity:1}.loading-overlay-layout{position:fixed;top:0;right:0;bottom:0;left:0;background:#fbfbfbed;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:9999}.spinner-container{display:flex;flex-direction:column;align-items:center;gap:14px}.spinner-glow{width:55px;height:55px;border:6px solid rgba(180,190,255,.2);border-top:6px solid #3b5bdb;border-radius:50%;animation:spin 1s linear infinite;box-shadow:0 0 10px #3b5bdb4d}.loading-text{font-size:16px;color:#2c3e50;font-weight:500;font-family:Segoe UI,sans-serif;text-shadow:0 1px 2px rgba(255,255,255,.6)}.loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;z-index:1001;display:flex;justify-content:center;align-items:center}.spinner{border:6px solid #f3f3f3;border-top:6px solid #1e3a8a;border-radius:50%;width:60px;height:60px;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}table>tbody>tr>td:first-child{text-align:center}@media (max-width: 1200px){.container{width:100%}.subject-detail-title .search-subject,.attendance-search-student{width:100%!important}.class-search-student{width:40%!important}.class-search{width:40%!important;margin:0 8px}.class-add-student{width:50%!important}.sidebar-student{width:100%!important}.layout-student{flex-direction:column;padding:10px}}@media (max-width: 767px){.mobile-toggle{display:block!important}.navbar .logo{font-size:16px}.navbar{padding:0 6px!important}.sidebar{transform:translate(-100%)}.sidebar.active{transform:translate(0)}.main-content{margin-left:0!important}.dashboard-grid{grid-template-columns:1fr!important}.stats-grid{grid-template-columns:1fr}.submenu li>a{font-size:13px}.subsubmenu li>a{font-size:13px}.buttons{display:flex;flex-direction:column}.buttons a{margin-bottom:4px;font-size:13px;text-align:center}.document-subject>h1{font-size:25px}.document-subject>h2{font-size:20px}.main-student{padding:20px;margin-top:20px}.nav-links-student{flex-direction:column;align-items:flex-start;gap:10px;margin-top:10px}.dropdown-content-student{right:auto;left:0}.subject-card,.class-card{width:100%!important}.subject-detail-buttons{display:flex;flex-wrap:wrap;gap:10px}.subject-detail-btn{width:100%}.course-section-popup-left,.course-section-popup-right{width:100%!important;border-right:none!important;border-bottom:1px solid #ccc!important}.course-section-popup-left{padding:20px!important}.course-section-popup-avatar{width:80px!important;height:80px!important;font-size:24px!important}.course-section-popup-student-name{font-size:18px!important}.course-section-popup-student-id{font-size:14px!important}.course-section-popup-close-btn{top:10px!important;right:12px!important;font-size:20px!important}.class-search-student{width:100%!important}.class-search{width:100%!important;margin:6px 0!important}.class-add-student{width:100%!important}.form-modal-box{width:90%!important}}@media (max-width: 576px){.navbar{padding:5px 20px!important}.nav-links{padding-bottom:6px!important}.logo{width:80%!important}.nav-right,.nav-user,.user-dropdown{width:100%!important}.main-content{margin-top:40px!important}.sidebar{margin-top:30px!important}.reposive-select-mb{width:100%!important;margin:4px 0!important}.teacher-modal-box{height:80%!important}.student-info-avatar{display:none!important}.student-info-card-container{padding:0!important}.student-info-button{font-size:12px!important}.main-student{padding:8px 12px!important}.dropdown-login-menu{left:0!important}}header{background-color:#1e3a8a;padding:1rem 2rem;color:#fff;position:sticky;top:0;z-index:1000}.navbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap}.navbar a{color:#fff}.navbar h1{font-size:1.5rem;margin:0;color:#fff}.nav-links{list-style:none;display:flex;gap:1.5rem;flex-wrap:wrap}.nav-links li a{color:#fff;text-decoration:none;font-weight:500;transition:color .3s ease}.nav-links li a:hover{color:#cbd5e1}.nav-links li{position:relative}.nav-links a{color:#fff;text-decoration:none;font-weight:700}.submenu{display:none;position:absolute;background-color:#3d4a99;z-index:1000;padding:.5rem .5rem 1rem}.submenu li{padding:10px;white-space:nowrap;border-bottom:1px solid white}.nav-links li:hover>.submenu{display:block;top:100%;left:0}.dropdown-login{position:relative;display:inline-block}.dropdown-login-menu{display:none;position:absolute;top:100%;right:-30px;background:#fff;box-shadow:0 2px 8px #00000026;padding:8px 0;border-radius:8px;transition:opacity .3s ease,transform .3s ease;opacity:0;transform:translateY(10px);z-index:10;min-width:150px}.dropdown-login:hover .dropdown-login-menu{display:block;opacity:1;transform:translateY(0)}.dropdown-login-menu a{display:block;padding:8px 16px;color:#333!important;text-decoration:none;transition:background .2s}.dropdown-login-menu a:hover{background:#f0f0f0}footer{text-align:center;padding:1.5rem;background-color:#1e3a8a;color:#fff}footer>p{font-size:13px;font-weight:400}.login-section{flex:1;display:flex;align-items:center;justify-content:center;padding:5rem 2rem 3rem;min-height:calc(100vh - 140px);margin:auto 0}.login-card{background-color:#fff;padding:2rem;border-radius:12px;box-shadow:0 4px 16px #0000001a;width:100%;max-width:400px}.login-card h2{text-align:center;margin-bottom:1.5rem;color:#1e3a8a}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600}.form-group input,.form-group select{width:100%;padding:.75rem;border:1px solid #ccc;border-radius:8px;font-size:1rem;background-color:#fff;color:#000;outline:none}.form-group>p{color:red;font-size:13px}.form-group select{background-color:#fff}.login-btn{width:100%;padding:.75rem;background-color:#1e3a8a;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;margin-top:1rem;transition:background-color .3s ease}.login-btn:hover{background-color:#374dbb}.hero{padding:4rem 2rem 2rem;text-align:center;background:linear-gradient(to right,#3b82f6,#1e40af);color:#fff}.hero h2{font-size:2.5rem;margin-bottom:1rem}.hero p{font-size:1.2rem;max-width:600px;margin:0 auto}.teacher-list{padding:2rem;min-height:350px}.teacher-list h3{margin-bottom:1rem;color:#1e3a8a}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.card{background-color:#fff;border-radius:8px;padding:1rem;box-shadow:0 2px 8px #0000001a;transition:transform .2s ease}.card:hover{transform:translateY(-5px)}.card h4{margin-bottom:.5rem;color:#1e40af}.teacher-card .teacher-email{font-size:14px;color:#1e40af;margin:2px 0 6px}.teacher-card .teacher-subject-title{font-size:14px;font-weight:500;color:#1e40af;margin-bottom:4px}.teacher-card .teacher-subject-list{list-style-type:disc;padding-left:20px;margin:0;font-size:13px;color:#374151}.teacher-card .teacher-subject-list li{margin-bottom:2px}.teacher-card .teacher-subject-more{text-align:center;color:#6b7280;font-style:italic;list-style:none;font-size:11px}.teacher-card .teacher-subject-none{font-size:12px;color:#6b7280;text-align:center;font-style:italic}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:#f5f7fa;overflow-x:hidden}.navbar{background:linear-gradient(135deg,#3b4d99,#2d3a7a);color:#fff;padding:0 30px;min-height:70px;display:flex;align-items:center;justify-content:space-between;position:fixed;top:0;left:0;right:0;z-index:1000;box-shadow:0 2px 10px #0000001a}.logo{font-size:1.3rem;font-weight:700;text-transform:uppercase;letter-spacing:1px}.nav-right{display:flex;align-items:center;gap:20px}.nav-user{display:flex;align-items:center;gap:10px;cursor:pointer;padding:8px 15px;border-radius:25px;transition:background .3s ease}.nav-user:hover{background:#ffffff1a}.user-avatar{width:35px;height:35px;border-radius:50%;background:linear-gradient(45deg,#ff6b6b,#4ecdc4);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem}.user-dropdown{position:absolute;top:100%;right:0;background:#fff;border-radius:12px;box-shadow:0 10px 30px #00000026;min-width:220px;z-index:1100;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .3s ease;border:1px solid #e9ecef}.user-dropdown.active{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-header{padding:20px;border-bottom:1px solid #f0f0f0;text-align:center}.dropdown-avatar{width:50px;height:50px;border-radius:50%;background:linear-gradient(45deg,#ff6b6b,#4ecdc4);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.2rem;color:#fff;margin:0 auto 10px}.dropdown-name{font-weight:600;color:#333;margin-bottom:5px}.dropdown-email{font-size:.85rem;color:#666}.dropdown-menu{padding:10px 0}.dropdown-menu .dropdown-item{display:flex!important;align-items:center!important;padding:12px 20px!important;color:#555!important;text-decoration:none!important;transition:all .3s ease!important;cursor:pointer!important}.dropdown-item:hover{background:#f8f9ff;color:#3b4d99}.dropdown-item-icon{width:18px;margin-right:12px;font-size:1rem}.dropdown-divider{height:1px;background:#f0f0f0;margin:8px 0}.nav-user{position:relative}.sidebar-overlay{display:none;position:fixed;top:70px;left:0;right:0;bottom:0;background:#00000080;z-index:20}.sidebar-overlay.active{display:block}.mobile-toggle{display:none;background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer}.notification-bell{margin-top:5%;position:relative;display:inline-block;cursor:pointer;padding:8px}.sidebar{position:fixed;left:0;top:70px;width:280px;height:calc(100vh - 70px);background:#fff;box-shadow:2px 0 10px #0000001a;overflow-y:auto;z-index:100;transition:transform .3s ease}.sidebar-header{padding:25px 20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;text-align:center}.sidebar-title{font-size:1.1rem;font-weight:600;margin-bottom:8px}.sidebar-subtitle{font-size:.9rem;opacity:.9}.sidebar-menu{padding:20px 0}.menu-item-wrapper{position:relative}.menu-item-wrapper:hover .menu-item{background:#f0f4ff!important;color:#3b4d99!important}.menu-item{display:flex;align-items:center;padding:12px 25px;color:#555;text-decoration:none;transition:all .3s ease;border-left:4px solid transparent;position:relative}.menu-item:hover{background:#f8f9ff;color:#3b4d99;border-left-color:#3b4d99}.menu-item.active{background:#f0f4ff;color:#3b4d99;border-left-color:#3b4d99;font-weight:600}.menu-icon{width:20px;margin-right:15px;font-size:1.2rem}.dropdown-arrow{margin-left:auto;font-size:.8rem;transition:transform .3s ease;color:#999}.menu-item-wrapper:hover .dropdown-arrow{transform:rotate(180deg);color:#3b4d99}.sidebar-dropdown-menu{width:100%;background:linear-gradient(135deg,#f8f9ff,#e8f0ff);border-radius:8px;padding:0;max-height:0;overflow:hidden;transition:all .3s ease;margin-top:0;border:none;border-left:3px solid #3b4d99;margin-left:10px;margin-right:10px}.menu-item-wrapper:hover .sidebar-dropdown-menu{max-height:300px;padding:8px 0;box-shadow:0 2px 10px #3b4d991a}.dropdown-item{display:flex;align-items:center;padding:10px 20px 10px 30px;color:#555;text-decoration:none;transition:all .2s ease;font-size:.9rem;position:relative}.dropdown-item:before{content:"→";position:absolute;left:15px;color:#3b4d99;font-size:.8rem;opacity:0;transition:all .2s ease}.dropdown-item:hover{background:#3b4d991a;color:#3b4d99;padding-left:35px;font-weight:500}.dropdown-item:hover:before{opacity:1}.dropdown-icon{width:16px;margin-right:12px;font-size:1rem}@media (max-width: 768px){.sidebar-dropdown-menu{position:static;background:#f0f4ff;border-radius:0;box-shadow:inset 0 2px 4px #0000001a;border-left:4px solid #3b4d99;border:none;margin-top:0;transform:none;opacity:0;visibility:hidden;max-height:0;overflow:hidden;transition:all .3s ease}.menu-item-wrapper:hover .sidebar-dropdown-menu{opacity:1;visibility:visible;max-height:200px}.dropdown-item{padding:8px 25px 8px 40px;font-size:.85rem}.dropdown-item:hover{padding-left:45px}}.box-container{border-radius:10px;min-height:600px;padding:10px 30px;box-shadow:5px 5px 5px 5px #d1c5c5}.list-course-section{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;flex-wrap:wrap}.class-scroll{max-height:800px;overflow:auto}.select-filter{background-color:#fff;color:#1e3a8a;padding:8px 30px 8px 4px;font-size:16px;font-weight:500;border:1px solid #ccc;border-radius:5px;margin:0 4px;outline:none}.select-filter>option:first-child{text-align:center}.class-container .class-card{width:calc(50% - 20px);background:#fff;border-radius:12px;padding:20px;box-shadow:0 5px 12px #0000000d;transition:.3s}.class-container .class-card:hover{transform:translateY(-4px)}.class-container .class-card h3{color:#1e3a8a}.class-container .class-card .class-card-subject{font-weight:600}.class-container .class-card p{color:#333;font-size:14px}.class-container .class-card button{margin-top:10px;padding:8px 12px;background-color:#4f46e5;color:#fff;font-size:14px;border-radius:6px;text-decoration:none;border:none;cursor:pointer}.class-students-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap}.class-students-header .students-top{display:flex;align-items:center}.students-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;align-items:center;width:100%}.students-bottom .students-bottom-left{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.class-students-header .students-top>span>svg{font-size:30px;color:#1e3a8a;transition:all .3s ease;margin-right:6px}.class-students-header .students-top>span>svg:hover{font-size:34px;border-bottom-style:1px solid #1e3a8a}.class-search-student{margin:4px 0;position:relative}.class-search-student>input{background-color:#fff;color:#1e3a8a;padding:10px 30px 10px 10px;font-size:16px;font-weight:500;width:100%;border:1px solid #ccc;border-radius:5px;outline:none}.class-search-student>input:focus{border:2px solid #2684ff}.class-search-student>svg{position:absolute;border-left:1px solid #ddd;right:5px;top:10px;padding-left:2px;color:#333;font-size:20px}.class-search{width:250px;min-width:250px!important}.class-add-student{width:300px}.class-student-main{overflow:auto;max-height:900px;margin-top:10px}.class-student-main::-webkit-scrollbar{width:4px}.class-student-main::-webkit-scrollbar-thumb{background-color:#1e3a8a;border-radius:4px;border:1px solid grey}.class-student-main>table{min-width:800px}.class-student-main>table>tbody>tr{transition:background-color .3s linear}.class-student-main>table>tbody>tr:hover{background-color:#d9dff1;cursor:pointer}.class-student-main>table>tbody>tr>td:last-child{text-align:center;width:50px}.class-student-main>table>tbody>tr>td:last-child div{background-color:red;color:#fff;border-radius:5px;display:flex;align-items:center;justify-content:center;padding:8px 4px}.class-student-main>table>tbody>tr>td:last-child div:hover{cursor:pointer}.class-student-main>table>tbody>tr>td:last-child button{background-color:red;color:#fff;font-size:14px;border:none;margin-left:10px}.course-section-popup-btn{margin:40px auto;display:block;padding:12px 24px;background-color:#1976d2;color:#fff;border:none;border-radius:6px;font-size:16px;cursor:pointer}.course-section-popup-overlay{display:flex;position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;justify-content:center;align-items:center;z-index:1000}.course-section-popup-content-container{background-color:#fff;width:1100px;max-width:95%;max-height:90vh;border-radius:12px;box-shadow:0 10px 25px #0003;animation:fadeIn .3s ease;position:relative;padding:10px 20px;overflow:auto}.course-section-popup-content-container::-webkit-scrollbar{width:4px}.course-section-popup-content-container::-webkit-scrollbar-thumb{background-color:#1e3a8a;border-radius:4px;border:1px solid grey}.course-section-popup-content{display:flex;min-width:1000px}.course-section-summary{margin-top:12px;min-width:1000px}.course-section-summary-table>tbody>tr{transition:all .3s linear}.course-section-summary-table>tbody>tr:hover{background-color:#d9dff1;cursor:pointer}.course-section-summary-table>tbody>tr>td{text-align:center}.course-section-summary-table>tbody>tr>td:nth-child(2),.course-section-summary-table>tbody>tr>td:nth-child(3){text-align:left}.poor-evaluation{background-color:#ffc!important}@keyframes fadeIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.course-section-popup-close-btn{position:absolute;top:12px;right:16px;font-size:22px;color:#888;cursor:pointer}.course-section-popup-close-btn:hover{color:#000}.course-section-popup-left{background-color:#e3f2fd;width:40%;padding:30px;display:flex;flex-direction:column;justify-content:center;align-items:center;border-right:1px solid #ccc}.course-section-popup-avatar{width:120px;height:120px;border-radius:50%;background-color:#64b5f6;color:#fff;font-size:36px;font-weight:700;display:flex;align-items:center;justify-content:center;text-transform:uppercase;box-shadow:0 2px 6px #0003}.course-section-popup-student-name{font-size:20px;font-weight:700;color:#0d47a1;margin-bottom:8px;text-align:center}.course-section-popup-student-id{font-size:16px;color:#333;background:#bbdefb;padding:6px 12px;border-radius:8px}.course-section-popup-right{width:60%;padding:30px 35px}.course-section-popup-info-title{font-size:20px;font-weight:700;margin-bottom:16px;color:#1e3a8a}.course-section-popup-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px}.course-section-popup-info-item{margin-bottom:8px}.course-section-popup-info-item .label{font-weight:600;color:#555;font-size:14px}.course-section-popup-info-item .value{color:#222;font-size:15px;margin-top:4px}.schedule-container{font-family:Arial,sans-serif;max-width:1200px;margin:0 auto;padding:20px;background-color:#f5f7fa}.schedule-header{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:15px;padding:20px;margin-bottom:20px;box-shadow:0 4px 15px #667eea4d}.header-content{display:flex;justify-content:flex-end;align-items:center;gap:20px}.header-title{color:#fff;margin:0;font-size:24px;font-weight:700}.navigation-controls{display:flex;align-items:center;gap:15px}.nav-button{background:#fff3;border:none;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;transition:all .3s ease;cursor:pointer}.nav-button:hover{background:#ffffff4d;transform:scale(1.05)}.week-range{color:#fff;font-size:16px;font-weight:500;min-width:100px;text-align:center}.schedule-table-container{background-color:#fff;border-radius:15px;overflow:auto;box-shadow:0 4px 15px #667eea1a}.schedule-table{width:100%;border-collapse:collapse;table-layout:fixed}.table-header{background-color:#f8f9fa}.session-header{padding:15px;text-align:center;font-weight:700;border-right:1px solid #dee2e6;border-bottom:2px solid #dee2e6;background-color:#e8eaf6;color:#3f51b5;width:150px;min-width:150px}.day-header{color:#3f51b5;padding:15px 10px;text-align:center;font-weight:700;border-bottom:2px solid #dee2e6;background-color:#f3f4f6;width:calc((100% - 150px) / 7);min-width:120px}.day-header:not(:last-child){border-right:1px solid #dee2e6}.day-date{font-size:12px;color:#666;font-weight:400;margin-top:5px}.session-type-cell{padding:20px 15px;text-align:center;font-weight:500;border-right:1px solid #dee2e6;border-bottom:1px solid #dee2e6;background-color:#e8eaf6;vertical-align:middle;white-space:nowrap;color:#3f51b5;width:150px;min-width:150px}.schedule-cell{padding:15px 8px;border-bottom:1px solid #dee2e6;vertical-align:top;width:calc((100% - 150px) / 7);min-width:120px}.schedule-cell:not(:last-child){border-right:1px solid #dee2e6}.lesson-card{color:#fff;padding:8px;border-radius:8px;font-size:12px;line-height:1.3;box-shadow:0 2px 8px #3f51b533;margin-bottom:8px;transform:scale(1);transition:transform .2s ease}.lesson-card:hover{transform:scale(1.02)}.lesson-title{font-weight:700;margin-bottom:3px}.lesson-location{font-size:11px;opacity:.9}.lesson-time{font-size:11px;opacity:.8}.empty-cell{font-size:12px;color:#999}@media (max-width: 768px){.schedule-container{padding:15px}.schedule-header{padding:15px;margin-bottom:15px}.header-content{flex-direction:column;gap:15px;align-items:center}.header-title{font-size:20px;text-align:center}.navigation-controls{gap:10px}.week-range{font-size:14px;min-width:80px}.nav-button{width:35px;height:35px}.session-header,.session-type-cell{width:100px;min-width:100px;padding:10px 8px;font-size:14px}.day-header{width:calc((100% - 100px) / 7);min-width:80px;padding:10px 5px;font-size:13px}.day-date{font-size:11px}.schedule-cell{width:calc((100% - 100px) / 7);min-width:80px;padding:10px 5px}.lesson-card{font-size:11px;padding:6px;margin-bottom:6px}.lesson-title{font-size:11px}.lesson-location,.lesson-time{font-size:10px}}@media (max-width: 480px){.schedule-container{padding:10px}.schedule-header{padding:12px;margin-bottom:12px}.header-title{font-size:18px}.week-range{font-size:13px;min-width:70px}.nav-button{width:30px;height:30px}.schedule-table-container{overflow-x:auto}.schedule-table{min-width:600px}.session-header,.session-type-cell{width:80px;min-width:80px;padding:8px 5px;font-size:12px}.day-header{width:calc((600px - 80px) / 7);min-width:70px;padding:8px 3px;font-size:12px}.day-date{font-size:10px}.schedule-cell{width:calc((600px - 80px) / 7);min-width:70px;padding:8px 3px}.lesson-card{font-size:10px;padding:5px;margin-bottom:5px}.lesson-title{font-size:10px;margin-bottom:2px}.lesson-location,.lesson-time{font-size:9px}.empty-cell{font-size:11px}}.main-content{margin-left:280px;margin-top:20px;padding:30px;min-height:calc(100vh - 50px)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:25px}.stat-card{background:#fff;border-radius:15px;padding:25px;box-shadow:0 5px 20px #00000014;transition:transform .3s ease,box-shadow .3s ease;border:1px solid #f0f0f0}.stat-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px #0000001f}.stat-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.stat-icon{width:50px;height:50px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:#fff}.stat-icon.students{background:linear-gradient(45deg,#4ecdc4,#44a08d)}.stat-icon.classes{background:linear-gradient(45deg,#667eea,#764ba2)}.stat-icon.assignments{background:linear-gradient(45deg,#ff6b6b,#ee5a24)}.stat-icon.average{background:linear-gradient(45deg,#fdcb6e,#e17055)}.stat-number{font-size:2.2rem;font-weight:700;color:#333;margin-bottom:5px}.stat-label{color:#666;font-size:.9rem}.stat-trend{font-size:.8rem;color:#28a745;display:flex;align-items:center;gap:5px}.dashboard-grid{display:grid;grid-template-columns:2fr 1fr;gap:30px;margin:30px 0}.dashboard-card{background:#fff;border-radius:15px;padding:25px;box-shadow:0 5px 20px #00000014;border:1px solid #f0f0f0}.card-title{font-size:1.3rem;font-weight:600;color:#333;margin-bottom:20px;display:flex;align-items:center;gap:10px}.recent-activities{list-style:none}.activity-item{padding:15px;border-left:3px solid #e9ecef;margin-bottom:15px;background:#f8f9fa;border-radius:0 10px 10px 0;transition:all .3s ease}.activity-item:hover{border-left-color:#3b4d99;background:#f0f4ff}.activity-time{font-size:.8rem;color:#666;margin-bottom:5px}.activity-desc{color:#333;font-weight:500}.upcoming-classes{list-style:none}.class-item{display:flex;justify-content:space-between;align-items:center;padding:15px;background:#f8f9ff;border-radius:10px;margin-bottom:12px;border-left:4px solid #667eea}.class-info h4{color:#333;font-size:1rem;margin-bottom:5px}.class-time{color:#666;font-size:.85rem}.class-status{padding:5px 12px;border-radius:20px;font-size:.8rem;font-weight:500}.status-upcoming{background:#e3f2fd;color:#1976d2}.status-in-progress{background:#e8f5e8;color:#2e7d32}.subject>h2{margin:5px 0}.grid{display:flex;width:100%;gap:20px;justify-content:space-between;flex-wrap:wrap}.subject-card{width:calc(50% - 20px);background:#fff;border-radius:12px;padding:20px;box-shadow:0 5px 12px #0000000d;transition:.3s}.subject-card:hover{transform:translateY(-4px)}.subject-title{font-size:18px;font-weight:600;margin-bottom:10px}.doc-list{margin-top:10px}.doc-item{font-size:14px;margin-bottom:6px;color:#555}.btn-add{display:inline-block;margin-top:10px;padding:6px 12px;background-color:#4f46e5;color:#fff;font-size:13px;border-radius:6px;text-decoration:none}.subject-detail-container{background:#f9fafb;padding:2rem;border-radius:1rem;max-width:1000px;margin:2rem auto;box-shadow:0 4px 12px #0000001a}.subject-detail-title{font-size:2rem;font-weight:700;color:#1e3a8a;margin-bottom:1.5rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap}.subject-detail-title .search-subject{width:30%;position:relative}.subject-detail-title .search-subject>input{background-color:#fff;color:#000;padding:8px 10px;border:1px solid #ddd;width:100%;font-size:16px;color:#1e3a8a;outline:none;border-radius:5px}.suggestion-box{position:absolute;background-color:#fff;border:1px solid #ddd;width:100%;margin-top:4px;border-radius:6px;box-shadow:0 4px 12px #0000001a;max-height:210px;overflow:hidden;overflow-y:auto}.suggestion-box::-webkit-scrollbar{width:4px}.suggestion-box::-webkit-scrollbar-thumb{background-color:#1e3a8a;border-radius:4px}.suggestion-box::-webkit-scrollbar-track{background-color:#fff}.suggestion-link{display:block;padding:10px 14px;font-size:14px;color:#1e3a8a;text-decoration:none;transition:background .2s ease}.suggestion-link:hover{background-color:#eef2ff}.subject-detail-chapter{margin-bottom:1.5rem}.subject-detail-chapter-title{font-size:1.125rem;font-weight:600;color:#1e3a8a;margin-bottom:.75rem;display:flex;align-items:center;justify-content:space-between}.subject-detail-chapter-title>svg{font-size:26px;padding:2px;cursor:pointer;transition:all .3s linear;margin-right:4px}.subject-detail-chapter-title>svg:hover{font-size:30px;color:#059669}.subject-detail-lecture-list{display:flex;flex-direction:column;gap:.5rem}.subject-detail-lecture-item{background:#fff;border-radius:.375rem;box-shadow:0 1px 3px #0000000d;transition:background .2s ease;display:flex;align-items:center}.subject-detail-lecture-item>a{color:#1e3a8a;display:block;width:100%;padding:.75rem 1rem}.subject-detail-lecture-item-icons{display:flex;color:#1e3a8a}.subject-detail-lecture-item-icons>svg{font-size:24px;margin-right:10px;cursor:pointer;transition:all .3s linear}.subject-detail-lecture-item-icons>svg:first-child:hover{color:#2e26ce;font-size:30px}.subject-detail-lecture-item-icons>svg:last-child:hover{color:red;font-size:30px}.subject-detail-lecture-item:hover{background:#eef2ff}.subject-detail-buttons{text-align:right;margin-bottom:16px}.subject-detail-buttons .subject-detail-btn{color:#fff;background-color:#1e3a8a;padding:10px 30px;margin-top:6px}.subject-popup-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.subject-popup{background:#fff;padding:24px 28px;border-radius:10px;margin:0 16px;width:100%;max-width:700px;box-shadow:0 10px 30px #0003;animation:fadeIn .3s ease-in-out}.subject-popup>label{font-size:14px;margin-top:14px;display:block}.subject-popup h3{font-size:20px;color:#1e3a8a}.subject-detail-input,.subject-detail-select{width:100%;padding:10px 12px;margin-top:4px;border:1px solid #ccc;border-radius:6px;font-size:14px;background-color:#fff;color:#000;outline:none}.subject-detail-btn{padding:8px 30px;border:none;border-radius:6px;cursor:pointer;background-color:#e5e7eb;color:#1f2937;transition:background .2s ease;margin-right:8px;margin-top:16px}.subject-detail-btn:hover{background-color:#2e26ce}.subject-detail-btn-popup{color:#000;background-color:#fff;padding:10px 15px;border:1px solid rgb(223,220,220);border-radius:5px;transition:all .3s linear;margin-top:16px;cursor:pointer}.btn-delete{margin-right:8px;padding:10px 30px;background-color:red;color:#fff}.subject-detail-btn-popup:hover{background-color:red;color:#fff}.subject-detail-btn.primary{background-color:#4f46e5;color:#fff}.subject-detail-btn.primary:hover{background-color:#4338ca}.subject-detail-btn.green{background-color:#10b981;color:#fff}.subject-detail-btn.green:hover{background-color:#059669}.popup-actions{display:flex;justify-content:flex-end}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.cpw-container{background:#fff;padding:35px;border-radius:16px;box-shadow:0 10px 30px #0003;max-width:800px;margin:0 auto}.cpw-container h2{text-align:center;margin-bottom:25px;color:#333;font-weight:600}.cpw-form-group{margin-top:10px;position:relative}.cpw-form-group label{display:block;margin-bottom:6px;font-weight:500;color:#333}.cpw-form-group input{width:100%;padding:12px;border:1.5px solid #ccc;border-radius:10px;transition:.3s;background-color:#fff;color:#000}.cpw-form-group input:focus{border-color:#4a89dc;outline:none;box-shadow:0 0 5px #4a89dc4d}.cpw-submit-btn{width:100%;background:linear-gradient(135deg,#4a89dc,#357bd8);color:#fff;border:none;padding:12px;border-radius:10px;font-size:16px;font-weight:700;cursor:pointer;transition:.3s;margin-top:18px}.cpw-submit-btn:hover{opacity:.9}.cpw-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:none;justify-content:center;align-items:center;z-index:1000}.cpw-overlay.show{display:flex}.cpw-popup{background:#fff;padding:30px 35px;border-radius:16px;box-shadow:0 10px 25px #0000004d;text-align:center;animation:popupFade .4s ease;max-width:400px;width:90%}@keyframes popupFade{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.cpw-popup h3{color:#28a745;font-size:22px;margin-bottom:10px}.cpw-popup p{font-size:15px;color:#555;margin-bottom:20px}.cpw-ok-btn{background:#28a745;color:#fff;padding:10px 30px;border:none;border-radius:5px;font-size:15px;font-weight:500;cursor:pointer;transition:background .3s ease}.cpw-ok-btn:hover{background:#218838}.cpw-toggle-btn{position:absolute;right:6px;top:67%;transform:translateY(-50%);background:none;border:none;color:#333;cursor:pointer;font-size:18px;font-weight:700;padding:2px 4px}.attendance-students{border-radius:10px;min-height:600px;padding:10px 30px;box-shadow:5px 5px 5px 5px #d1c5c5}.attendance-table>tbody>tr>td{text-align:center;min-width:150px}.attendance-table>tbody>tr:hover{background-color:#eef2ff}.attendance-table>tbody>tr>td:first-child{min-width:50px}.attendance-table-wrapper{overflow:auto;max-height:900px;margin-top:10px}.attendance-table{min-width:1100px}.attendance-students-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap}.attendance-table-wrapper::-webkit-scrollbar{width:4px}.attendance-table-wrapper::-webkit-scrollbar-thumb{background-color:#1e3a8a;border-radius:4px;border:1px solid grey}.btn-attendance{color:#fff;background-color:#1e3a8a;font-size:14px;padding:10px 20px;border-radius:5px;border:none;margin-top:8px;transition:all .3s linear}.btn-attendance-right{margin-left:16px}.btn-attendance:hover{cursor:pointer;background-color:#2e26ce}.attendance-search-student{margin:4px 0;position:relative;width:30%}.attendance-search-student>input{background-color:#fff;color:#1e3a8a;padding:10px 30px 10px 10px;font-size:16px;font-weight:500;width:100%;border:1px solid #ccc;border-radius:5px;outline:none}.attendance-search-student>input:focus{border:2px solid #2684ff}.attendance-search-student>svg{position:absolute;border-left:1px solid #ddd;right:5px;top:10px;padding-left:2px;color:#333;font-size:20px}.attendance-form-wrapper{margin-top:12px;color:#333;cursor:pointer}.attendance-form-wrapper h1{color:#1e3a8a}.attendance-form-wrapper-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap}.attendance-form-wrapper-left{display:flex;align-items:center}.attendance-form-wrapper-left>h2{color:#1e3a8a}.attendance-form-wrapper-left>span{display:flex}.attendance-form-wrapper-left>span>svg{font-size:30px;color:#1e3a8a;transition:all .3s ease;margin-right:8px}.attendance-form-wrapper-left>span>svg:hover{font-size:34px;border-bottom-style:1px solid #1e3a8a}.attendance-form-wrapper-right>select{background-color:#fff;color:#333;padding:10px;outline:none;border:1px solid #ccc;border-radius:5px;width:200px;margin:4px 0}.attendance-form-wrapper-right>select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f64d}.attendance-form-wrapper-right>select>option{font-size:15px}.attendance-form-wrapper-right>select>option:first-child{text-align:center}.attendance-form-wrapper table{width:100%;border-collapse:collapse;background-color:#fff;border-radius:8px;overflow:hidden;box-shadow:0 4px 12px #0000001a}.attendance-form-wrapper thead{background-color:#1e3a8a;color:#fff}.attendance-form-wrapper tbody tr:hover{background-color:#eef2ff}#attendance-form{overflow:auto;max-height:900px}#attendance-form>table>tbody>tr>td{min-width:150px}#attendance-form::-webkit-scrollbar{width:4px}#attendance-form::-webkit-scrollbar-thumb{background-color:#1e3a8a;border-radius:4px;border:1px solid grey}.attendance-form-wrapper th,.attendance-form-wrapper td{border:1px solid #ddd;padding:.75rem 1rem;text-align:center;vertical-align:middle}.attendance-form-wrapper th:first-child,.attendance-form-wrapper td:first-child{text-align:left}.attendance-form-wrapper input[type=radio]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:20px;height:20px;border:2px solid #999;border-radius:4px;cursor:pointer;position:relative;background-color:#fff;transition:border-color .3s ease}.attendance-form-wrapper input[type=radio]:checked{border-color:#1e3a8a;background-color:#fff}.attendance-form-wrapper input[type=radio]:checked:after{content:"";position:absolute;top:0;left:4px;width:8px;height:11px;border:solid #1e3a8a;border-width:0 3px 3px 0;transform:rotate(45deg);pointer-events:none}.attendance-form-wrapper textarea{width:100%;height:50px;resize:vertical;padding:.5rem;border:1px solid #ccc;border-radius:6px;font-family:inherit;font-size:.9rem;color:#000;outline:none;background-color:#fff}.attendance-form-wrapper button{margin:1rem 0;padding:.75rem 1.5rem;background-color:#1e3a8a;border:none;color:#fff;font-weight:600;border-radius:6px;cursor:pointer;transition:background-color .3s ease}.attendance-form-wrapper button:hover{background-color:#3b55c1}.error-row{background-color:#ffe5e5;border:1px solid #ff4d4f}.error-row td{border-color:#e48c8d!important}.popup-export-import{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#0006;display:flex;justify-content:center;align-items:center;z-index:200}.popup-export-import>div{position:relative;background-color:#fff;width:500px;padding:30px 40px;border-radius:12px;box-shadow:0 8px 20px #0003;z-index:10000;min-width:300px;max-width:90%;text-align:center}.popup-export-import>div>h2{color:#1e3a8a}.popup-export-import>div>p{font-size:14px;color:#000;font-weight:600;margin:8px 0}.btn-attendance-cancel{color:#000;background-color:#fff;border-radius:5px;margin-left:50px;font-size:14px;padding:10px 30px;border:1px solid #999;transition:all .3s linear;cursor:pointer}.btn-attendance-cancel:hover{background-color:#999;color:#fff}.popup-export-import select{background-color:#fff;color:#000;padding:10px;margin:10px 0;border-radius:5px;width:100%;border:1px solid #ccc;outline:none}.popup-export-import select:focus{border:2px solid #2684ff}.popup-export-import input[type=file]{display:block;width:100%;font-size:14px;border:1px solid #ccc;padding:10px;border-radius:5px}.select-all-btn{position:relative;background:#1e3a8a;color:#fff;padding:8px 12px;border-radius:8px;cursor:pointer;border:none;font-size:14px}.select-all-btn:hover{background:#1d4ed8}.select-all-dropdown{text-align:left;position:absolute;top:100%;right:0;background:#fff;box-shadow:0 4px 12px #00000026;border-radius:8px;min-width:160px;padding:4px 0;opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .3s ease,transform .3s ease;z-index:10;color:#333}.select-all-btn:hover .select-all-dropdown{opacity:1;transform:translateY(0);pointer-events:auto}.select-all-dropdown li{padding:8px 12px;cursor:pointer;transition:background .2s}.select-all-dropdown li:hover{background:#f3f4f6}.gm-page-header{margin-bottom:30px}.gm-page-title{font-size:2rem;font-weight:700;color:#333;margin-bottom:8px}.gm-page-subtitle{color:#666;font-size:1rem}.gm-class-selection{background:#fff;border-radius:15px;padding:30px;box-shadow:0 5px 20px #00000014;border:1px solid #f0f0f0;margin-bottom:30px;text-align:center}.gm-selection-icon{font-size:4rem;margin-bottom:20px;color:#667eea}.gm-selection-title{font-size:1.5rem;font-weight:600;margin-bottom:10px}.gm-selection-subtitle{color:#666;margin-bottom:25px}.gm-class-select{position:relative;display:inline-block;min-width:300px}.gm-select-dropdown{width:100%;padding:15px 20px;border:2px solid #e9ecef;border-radius:12px;font-size:1rem;background:#fff;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:linear-gradient(to right,#eef2ff,#ced7f4);background-position:right 12px center;background-repeat:no-repeat;background-size:16px;transition:all .3s ease}.gm-select-dropdown:focus{outline:none;border-color:#d5d7df;box-shadow:0 0 0 3px #ebebef1a}.gm-select-dropdown:hover{border-color:#eaeaed}.gm-grade-header{background:#fff;border-radius:15px 15px 0 0;padding:25px 30px;border:1px solid #e9ecef;border-bottom:none;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}.gm-selected-class-info{display:flex;align-items:center;gap:15px}.gm-class-badge{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:8px 16px;border-radius:20px;font-weight:600;font-size:.9rem}.gm-class-details h3{color:#333;margin-bottom:5px}.gm-class-details p{color:#666;font-size:.9rem}.gm-grade-actions{display:flex;gap:10px;flex-wrap:wrap}.gm-grade-controls{background:#f8f9ff;padding:20px 30px;border:1px solid #e9ecef;border-top:none;border-bottom:none;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:15px}.gm-control-group{display:flex;align-items:center;gap:10px}.gm-control-label{font-weight:600;color:#333;font-size:.9rem}.gm-btn{padding:0 10px;border:none;border-radius:8px;cursor:pointer;font-weight:500;transition:all .3s ease;text-decoration:none;display:inline-flex;align-items:center;gap:8px;font-size:.9rem}.gm-btn-primary{background:linear-gradient(135deg,#3b4d99,#2d3a7a);color:#fff}.gm-btn-primary:hover{background:linear-gradient(135deg,#2d3a7a,#1e2a5a);transform:translateY(-2px);box-shadow:0 5px 15px #3b4d994d}.gm-btn-secondary{background:linear-gradient(135deg,#3b4d99,#2d3a7a);color:#f8f7f7;border-color:#fff}.gm-btn-secondary:hover{background:linear-gradient(135deg,#687ddc,#2f3d82)}.gm-table-container{background:#fff;border-radius:0 0 15px 15px;overflow:hidden;box-shadow:0 5px 20px #00000014;border:1px solid #e9ecef;border-top:none;overflow-x:auto}.gm-grade-table{width:100%;border-collapse:collapse}.gm-table-header{background:linear-gradient(135deg,#35468e,#2d3a7a);color:#fff;border-color:#363e67;padding:12px 8px;text-align:center;font-weight:600;border-bottom:2px solid #dee2e6;border-right:1px solid #dee2e6;position:sticky;top:0;z-index:10;font-size:.85rem;white-space:nowrap}.gm-table-cell{padding:10px 8px;border-bottom:1px solid #f0f0f0;border-right:1px solid #f0f0f0;vertical-align:middle}.gm-cell-center{text-align:center}.gm-grade-table tr:hover{background:wheat}.gm-student-info{display:flex;align-items:center;gap:10px;text-align:left}.gm-student-details{flex:1}.gm-student-name{color:#333;margin-bottom:2px;font-size:.9rem}.gm-student-id{color:#666;font-size:.75rem}.gm-editable-cell{min-height:24px;padding:4px 8px;cursor:pointer;border-radius:4px;transition:background-color .2s ease;min-width:50px;display:flex;align-items:center;justify-content:center}.gm-editable-cell:hover{background-color:#f0f8ff;border:1px dashed #3b4d99}.gm-edit-input{width:100%;max-width:80px;padding:4px 6px;border:2px solid #3b4d99;border-radius:4px;text-align:center;font-size:.85rem;background:#fff;color:#333}.gm-edit-input:focus{outline:none;box-shadow:0 0 0 2px #3b4d9933}.gm-summary-cell{font-weight:600;color:#333;background-color:#f8f9fa}.gm-loading{text-align:center;padding:40px;color:#666}.gm-loading-spinner{display:inline-block;width:30px;height:30px;border:3px solid #f3f3f3;border-top:3px solid #3b4d99;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:10px}.gm-select-dropdown>option{background:#fff;color:#111827}.gm-select-dropdown>option:hover{background:#f0dcdc}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@media (max-width: 768px){.gm-main-content{padding:15px}.gm-page-title{font-size:1.5rem}.gm-class-selection{padding:20px}.gm-selection-icon{font-size:3rem}.gm-class-select{min-width:250px}.gm-grade-header{padding:20px;flex-direction:column;align-items:flex-start}.gm-grade-controls{padding:15px 20px;flex-direction:column;align-items:flex-start;gap:10px}.gm-control-group{width:100%;justify-content:space-between}.gm-grade-actions{width:100%;justify-content:flex-end}.gm-table-container{overflow-x:auto}.gm-grade-table{min-width:800px}.gm-table-header{padding:8px 6px;font-size:.75rem;width:2rem}.gm-table-cell{padding:8px 6px}.gm-student-info{min-width:150px}.gm-student-avatar{width:30px;height:30px;font-size:.7rem}.gm-student-name{font-size:.85rem}.gm-student-id{font-size:.7rem}.gm-edit-input{max-width:60px;font-size:.8rem}.gm-api-status{position:fixed;top:10px;left:10px;right:10px;text-align:center}}@media (max-width: 480px){.gm-main-content{padding:10px}.gm-class-selection{padding:15px}.gm-selection-title{font-size:1.2rem}.gm-class-select{min-width:200px}.gm-select-dropdown{padding:12px 15px;font-size:.9rem}.gm-grade-header{padding:15px}.gm-class-badge{padding:6px 12px;font-size:.8rem}.gm-btn{padding:8px 15px;font-size:.8rem}.gm-grade-table{min-width:600px}}@media (prefers-color-scheme: dark){.gm-class-selection,.gm-grade-header,.gm-table-container{background:#fff;border-color:#fff}.gm-page-title{color:#e0e0e0}.gm-page-subtitle{color:#b0b0b0}.gm-selection-subtitle{color:#000}.gm-select-dropdown{color:#000;background:linear-gradient(to right,#eef2ff,#ced7f4)}.gm-select-dropdown:focus{border-color:#667eea}.gm-select-dropdown>option{background:#fff;color:#111827}.gm-select-dropdown>option:hover{background:#f0dcdc}.gm-table-header{background:linear-gradient(135deg,#35468e,#2d3a7a);color:#fff;border-color:#363e67}.gm-table-cell{border-color:#ddd;width:max-content}.gm-table-cell h4{border-color:#fff;width:max-content}.gm-grade-table tr:hover{background:wheat}.gm-student-name,.gm-student-id{color:#000}.gm-editable-cell:hover{background-color:#fff;border-color:#667eea}.gm-edit-input{background:#fff;border-color:#667eea;color:#000}.gm-summary-cell{background-color:#fff;color:#000}.gm-grade-controls{background:#fff;border-color:#fff}.gm-control-label{color:#000}.gm-btn-secondary{background:linear-gradient(135deg,#3b4d99,#2d3a7a);color:#f8f7f7;border-color:#fff}.gm-btn-secondary:hover{background:linear-gradient(135deg,#687ddc,#2f3d82)}}@media print{.gm-main-content{background:#fff!important;color:#000!important}.gm-class-selection,.gm-grade-controls,.gm-grade-actions{display:none!important}.gm-grade-header{background:#fff!important;border:1px solid white!important}.gm-table-container{box-shadow:none!important;border:1px solid white!important}.gm-grade-table{border-collapse:collapse!important}.gm-table-header,.gm-table-cell{border:1px solid white!important;background:#fff!important;color:#fff!important}.gm-student-avatar{background:#f0f0f0!important;color:#fff!important}.gm-api-status{display:none!important}}.gm-table-container::-webkit-scrollbar{height:8px}.gm-table-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.gm-table-container::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.gm-table-container::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.gm-select-dropdown:focus,.gm-btn:focus,.gm-edit-input:focus{outline:2px solid #667eea;outline-offset:2px}.gm-loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#fffc;display:flex;align-items:center;justify-content:center;z-index:100}.gm-loading-content{text-align:center;padding:20px;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026}.page-header{margin-bottom:30px}.page-title{font-size:2rem;font-weight:700;color:#333;margin-bottom:8px}.page-subtitle{color:#666;font-size:1rem}.css-1nmdiq5-menu{z-index:1000!important}.css-1cfo1cf{min-width:300px!important}.css-hlgwow{width:300px!important}.css-o9ehiq-loadingIndicator{width:30px!important}.search-container{position:relative;display:inline-block}.search-container input{padding:10px 32px 10px 12px;border-radius:6px;border:1px solid #ccc;width:100%;background:#fff;border-color:#e3dede;color:#000}.search-container .icon{position:absolute;right:10px;top:35%;transform:translateY(-50%);pointer-events:none;color:#888}.gm-btn:disabled{background:#e0e0e0;color:#999;cursor:not-allowed}.unlock-container{position:relative;display:inline-block}.unlock-btn{padding:8px 16px;background-color:#2f49d1;color:#fff;border:none;border-radius:6px;cursor:pointer}.unlock-dropdown{position:absolute;top:110%;left:0;background:#fff;border:1px solid #ccc;padding:12px;border-radius:6px;box-shadow:0 2px 6px #0003;z-index:1000;min-width:180px}.unlock-dropdown label{display:block;margin-bottom:8px;font-size:14px}.submit-btn{margin-top:10px;width:100%;padding:6px;background-color:#2f49d1;color:#fff;border:none;border-radius:4px;cursor:pointer}.btn-guide{padding:6px 12px;background-color:#3b82f6;color:#fff;border:none;border-radius:4px;font-size:14px;cursor:pointer;transition:background-color .2s}.btn-guide:hover{background-color:#2563eb}.modal{position:fixed;z-index:999;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:#0006}.modal-content{background-color:#fff;margin:10% auto;padding:20px;border-radius:6px;width:90%;max-width:500px;font-family:Arial,sans-serif;position:relative;box-shadow:0 8px 16px #0003}.modal-content h4{margin-bottom:4px;color:#111827}.modal-content p{font-size:14px;color:#374151;line-height:1.5}.close{color:#aaa;position:absolute;top:10px;right:14px;font-size:24px;font-weight:700;cursor:pointer}.modal{position:fixed;top:0;left:0;z-index:999;width:100%;height:100%;background-color:#0006}.modal-content{background-color:#fff;margin:8% auto;padding:20px;border-radius:6px;width:90%;max-width:500px;position:relative;box-shadow:0 6px 12px #0003}.modal-content h3{margin-top:0;color:#1d4ed8}.checkbox-group{margin-top:16px;display:flex;flex-direction:column;gap:8px}.checkbox-item{font-size:14px;color:#374151}input[type=checkbox]{margin-right:6px}.close{position:absolute;right:16px;top:12px;font-size:22px;font-weight:700;color:#aaa;cursor:pointer}.close:hover{color:#000}.action-row{margin-top:20px;text-align:right}.export-btn{padding:6px 12px;background-color:#10b981;color:#fff;border:none;border-radius:4px;cursor:pointer}.export-btn:hover{background-color:#059669}:root{--toastify-color-light: #fff;--toastify-color-dark: #121212;--toastify-color-info: #3498db;--toastify-color-success: #07bc0c;--toastify-color-warning: #f1c40f;--toastify-color-error: hsl(6, 78%, 57%);--toastify-color-transparent: rgba(255, 255, 255, .7);--toastify-icon-color-info: var(--toastify-color-info);--toastify-icon-color-success: var(--toastify-color-success);--toastify-icon-color-warning: var(--toastify-color-warning);--toastify-icon-color-error: var(--toastify-color-error);--toastify-container-width: fit-content;--toastify-toast-width: 320px;--toastify-toast-offset: 16px;--toastify-toast-top: max(var(--toastify-toast-offset), env(safe-area-inset-top));--toastify-toast-right: max(var(--toastify-toast-offset), env(safe-area-inset-right));--toastify-toast-left: max(var(--toastify-toast-offset), env(safe-area-inset-left));--toastify-toast-bottom: max(var(--toastify-toast-offset), env(safe-area-inset-bottom));--toastify-toast-background: #fff;--toastify-toast-padding: 14px;--toastify-toast-min-height: 64px;--toastify-toast-max-height: 800px;--toastify-toast-bd-radius: 6px;--toastify-toast-shadow: 0px 4px 12px rgba(0, 0, 0, .1);--toastify-font-family: sans-serif;--toastify-z-index: 9999;--toastify-text-color-light: #757575;--toastify-text-color-dark: #fff;--toastify-text-color-info: #fff;--toastify-text-color-success: #fff;--toastify-text-color-warning: #fff;--toastify-text-color-error: #fff;--toastify-spinner-color: #616161;--toastify-spinner-color-empty-area: #e0e0e0;--toastify-color-progress-light: linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55);--toastify-color-progress-dark: #bb86fc;--toastify-color-progress-info: var(--toastify-color-info);--toastify-color-progress-success: var(--toastify-color-success);--toastify-color-progress-warning: var(--toastify-color-warning);--toastify-color-progress-error: var(--toastify-color-error);--toastify-color-progress-bgo: .2}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translate3d(0,0,var(--toastify-z-index));position:fixed;width:var(--toastify-container-width);box-sizing:border-box;color:#fff;display:flex;flex-direction:column}.Toastify__toast-container--top-left{top:var(--toastify-toast-top);left:var(--toastify-toast-left)}.Toastify__toast-container--top-center{top:var(--toastify-toast-top);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--top-right{top:var(--toastify-toast-top);right:var(--toastify-toast-right);align-items:end}.Toastify__toast-container--bottom-left{bottom:var(--toastify-toast-bottom);left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{bottom:var(--toastify-toast-bottom);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--bottom-right{bottom:var(--toastify-toast-bottom);right:var(--toastify-toast-right);align-items:end}.Toastify__toast{--y: 0;position:relative;touch-action:none;width:var(--toastify-toast-width);min-height:var(--toastify-toast-min-height);box-sizing:border-box;margin-bottom:1rem;padding:var(--toastify-toast-padding);border-radius:var(--toastify-toast-bd-radius);box-shadow:var(--toastify-toast-shadow);max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);z-index:0;display:flex;flex:1 auto;align-items:center;word-break:break-word}@media only screen and (max-width: 480px){.Toastify__toast-container{width:100vw;left:env(safe-area-inset-left);margin:0}.Toastify__toast-container--top-left,.Toastify__toast-container--top-center,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translate(0)}.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translate(0)}.Toastify__toast-container--rtl{right:env(safe-area-inset-right);left:initial}.Toastify__toast{--toastify-toast-width: 100%;margin-bottom:0;border-radius:0}}.Toastify__toast-container[data-stacked=true]{width:var(--toastify-toast-width)}.Toastify__toast--stacked{position:absolute;width:100%;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s}.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body,.Toastify__toast--stacked[data-collapsed] .Toastify__close-button{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{content:"";position:absolute;left:0;right:0;height:calc(var(--g) * 1px);bottom:100%}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{content:"";position:absolute;left:0;right:0;bottom:0;height:100%;transform:scaleY(3);z-index:-1}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-icon{margin-inline-end:10px;width:22px;flex-shrink:0;display:flex}.Toastify--animate{animation-fill-mode:both;animation-duration:.5s}.Toastify--animate-icon{animation-fill-mode:both;animation-duration:.3s}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--light,.Toastify__toast-theme--colored.Toastify__toast--default{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;position:absolute;top:6px;right:6px;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;z-index:1}.Toastify__toast--rtl .Toastify__close-button{left:6px;right:unset}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:100%;z-index:1;opacity:.7;transform-origin:left}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:initial;transform-origin:right;border-bottom-left-radius:initial}.Toastify__progress-bar--wrp{position:absolute;overflow:hidden;bottom:0;left:0;width:100%;height:5px;border-bottom-left-radius:var(--toastify-toast-bd-radius);border-bottom-right-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{opacity:var(--toastify-color-progress-bgo);width:100%;height:100%}.Toastify__spinner{width:20px;height:20px;box-sizing:border-box;border:2px solid;border-radius:100%;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);animation:Toastify__spin .65s linear infinite}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--top-left,.Toastify__bounce-enter--bottom-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--top-right,.Toastify__bounce-enter--bottom-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--top-left,.Toastify__bounce-exit--bottom-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--top-right,.Toastify__bounce-exit--bottom-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0) scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0) perspective(400px)}30%{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(-20deg);opacity:1}to{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(110%,var(--y),0)}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(-110%,var(--y),0)}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.Toastify__slide-enter--top-left,.Toastify__slide-enter--bottom-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--top-right,.Toastify__slide-enter--bottom-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--top-left,.Toastify__slide-exit--bottom-left{animation-name:Toastify__slideOutLeft;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-right,.Toastify__slide-exit--bottom-right{animation-name:Toastify__slideOutRight;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown;animation-timing-function:ease-in;animation-duration:.3s}@keyframes Toastify__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.custom-modal{position:fixed;top:0;left:0;width:100%;height:100%;display:none;overflow:auto;background-color:#00000080;z-index:1050}.custom-modal-show{display:block}.custom-modal-dialog{position:relative;margin:1.75rem auto;max-width:800px}.custom-modal-content{background-color:#fff;border-radius:.3rem;box-shadow:0 .125rem .25rem #00000013;padding:1rem}.custom-modal-header,.custom-modal-footer{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dee2e6;padding-bottom:.5rem}.custom-modal-footer button{margin-left:auto}.custom-modal-title{margin:0;font-size:1.25rem}.custom-btn-close{background:none;border:none;font-size:1.25rem;line-height:1;cursor:pointer}.custom-modal-body{padding:1rem 0}.custom-table{width:100%;border-collapse:collapse;margin-top:1rem}.custom-table th,.custom-table td{border:1px solid #dee2e6;padding:.75rem;vertical-align:middle;color:#000}.custom-table thead{background-color:#f8f9fa}.text-center{text-align:center}.custom-btn{display:inline-block;font-weight:400;color:#fff;text-align:center;vertical-align:middle;-webkit-user-select:none;user-select:none;background-color:#6c757d;border:none;padding:.375rem .75rem;font-size:.875rem;border-radius:.25rem;cursor:pointer}.custom-btn-sm{padding:.25rem .5rem;font-size:.75rem;padding:10px 15px}.custom-btn-success{background-color:#198754}.custom-btn-danger{background-color:#dc3545}.custom-btn-secondary{background-color:#6c757d}.custom-btn:hover{opacity:.9}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;z-index:1000}.modal-container{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;z-index:1001}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 0;border-bottom:1px solid #e5e7eb;margin-bottom:24px}.modal-title{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:600;color:#374151}.title-icon{color:#3b82f6}.close-btn{background:none;border:none;padding:8px;border-radius:6px;cursor:pointer;color:#6b7280;transition:all .2s}.close-btn:hover{background-color:#f3f4f6;color:#374151}.modal-body{padding:0 24px}.upload-section{margin-bottom:24px}.upload-zone{border:2px dashed #d1d5db;border-radius:12px;padding:48px 24px;text-align:center;background-color:#f9fafb;transition:all .2s;cursor:pointer}.upload-zone:hover,.upload-zone.dragging{border-color:#3b82f6;background-color:#eff6ff}.upload-icon{width:48px;height:48px;color:#9ca3af;margin:0 auto 16px}.upload-zone.dragging .upload-icon{color:#3b82f6}.upload-text{margin-bottom:16px}.primary-text{font-size:18px;font-weight:500;color:#374151;margin:0 0 8px}.secondary-text{font-size:14px;color:#6b7280;margin:0 0 16px}.browse-btn{background-color:#3b82f6;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.browse-btn:hover{background-color:#2563eb;transform:translateY(-1px)}.file-info{font-size:12px;color:#9ca3af;margin:0}.file-input{display:none}.selected-file{display:flex;align-items:center;gap:12px;padding:16px;background-color:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;margin-bottom:24px}.file-icon{color:#0284c7;flex-shrink:0}.file-details{flex:1}.file-name{font-weight:500;color:#0f172a;margin:0 0 4px}.file-size{font-size:12px;color:#64748b;margin:0}.remove-file-btn{background:none;border:none;padding:4px;border-radius:4px;cursor:pointer;color:#6b7280;flex-shrink:0;transition:all .2s}.remove-file-btn:hover{background-color:#fee2e2;color:#dc2626}.template-info{background-color:#fffbeb;border:1px solid #fed7aa;border-radius:8px;padding:16px;margin-bottom:24px}.template-info h4{color:#92400e;margin:0 0 12px;font-size:14px;font-weight:600}.template-info ul{margin:0;padding-left:20px;color:#a16207}.template-info li{font-size:13px;margin-bottom:6px}.template-info li:last-child{margin-bottom:0}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:24px;border-top:1px solid #e5e7eb}.cancel-btn{background:#fff;color:#374151;border:1px solid #d1d5db;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.cancel-btn:hover{background-color:#f9fafb;border-color:#9ca3af}.upload-submit-btn{background-color:#3b82f6;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.upload-submit-btn:hover:not(:disabled){background-color:#2563eb;transform:translateY(-1px)}.upload-submit-btn:disabled{background-color:#9ca3af;cursor:not-allowed;transform:none}@media (max-width: 640px){.modal-container{width:95%;margin:20px}.modal-header,.modal-body,.modal-footer{padding-left:16px;padding-right:16px}.upload-zone{padding:32px 16px}.modal-footer{flex-direction:column}.cancel-btn,.upload-submit-btn{width:100%}}.notification-unread-color{background:#e0f2fe}.react-tabs{-webkit-tap-highlight-color:transparent}.react-tabs__tab-list{border-bottom:1px solid #aaa;margin:0 0 10px;padding:0}.react-tabs__tab{display:inline-block;border:1px solid transparent;border-bottom:none;bottom:-1px;position:relative;list-style:none;padding:6px 12px;cursor:pointer}.react-tabs__tab--selected{background:#fff;border-color:#aaa;color:#000;border-radius:5px 5px 0 0}.react-tabs__tab--disabled{color:GrayText;cursor:default}.react-tabs__tab:focus{outline:none}.react-tabs__tab:focus:after{content:"";position:absolute;height:5px;left:-4px;right:-4px;bottom:-5px;background:#fff}.react-tabs__tab-panel{display:none}.react-tabs__tab-panel--selected{display:block}.box-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;margin-bottom:10px}.teacher_header_btn{display:flex;flex-wrap:wrap;gap:0 4px}.teacher-manager-list{overflow:auto;max-height:1000px;margin-top:10px}.teacher-manager-list::-webkit-scrollbar{width:4px}.teacher-manager-list::-webkit-scrollbar-thumb{background-color:#1e3a8a;border-radius:4px;border:1px solid grey}.teacher-table{min-width:900px;text-align:center}.teacher-table>tbody>tr>td{padding:10px}.teacher-table>thead>tr>th:nth-child(1){width:40px;min-width:40px}.teacher-table>thead>tr>th:nth-child(4){width:60px;min-width:60px}.teacher-table>thead>tr>th:nth-child(6){width:160px;min-width:160px}.teacher-table>thead>tr>th:nth-child(5),.teacher-table>thead>tr>th:nth-child(7){width:115px;min-width:115px}.teacher-table>thead>tr>th:nth-child(8){width:120px;min-width:120px}.teacher-table>thead>tr>th:nth-child(9){width:140px;min-width:140px}.teacher-table>tbody>tr>td:nth-child(5),.teacher-table>tbody>tr>td:nth-child(4),.teacher-table>tbody>tr>td:nth-child(6),.teacher-table>tbody>tr>td:nth-child(7),.teacher-table>tbody>tr>td:nth-child(8),.teacher-table>tbody>tr>td:nth-child(9){text-align:center}.teacher-table>thead>tr>th:nth-child(2),.teacher-table>thead>tr>th:nth-child(3){width:200px;min-width:200px}.btn-admin{background-color:#28a745;color:#fff;padding:10px 20px;cursor:pointer;border:none;border-radius:12px;text-align:center;transition:all .3s linear}.btn-admin:hover{filter:brightness(1.1);transform:scale(1.03)}.edit-btn-admin{margin-left:10px;background-color:#1e3a8a}.teacher-table>tbody>tr{transition:background-color .3s linear}.teacher-table>tbody>tr:hover{background-color:#d9dff1;cursor:pointer}.status-badge{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:700;color:#fff;display:inline-block;transition:all .3s linear}.status-active{background-color:#28a745}.status-inactive{background-color:#6c757d}.role-badge{padding:6px 12px;font-size:13px;font-weight:600;border-radius:20px;color:#fff;display:inline-block;transition:all .3s linear;text-transform:uppercase}.faculty_admin{background-color:#d9534f}.subject_teacher{background-color:#5bc0de}.homeroom_teacher{background-color:#f0ad4e}.department_admin{background-color:#6f42c1}.status-badge:hover,.role-badge:hover{filter:brightness(1.1);transform:scale(1.03)}.pagination-container-admin{display:flex;justify-content:center;margin-bottom:4px}.form-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0006;display:flex;justify-content:center;align-items:center;z-index:1000}.form-modal-box{background:#fff;padding:24px;border-radius:8px;overflow:auto;max-height:90vh;width:40%;box-shadow:0 4px 12px #00000026;animation:fadeIn .2s ease-in-out}.form-modal-box h3{margin-top:0;margin-bottom:10px;color:#1e3a8a}.form-modal-box label{display:block;margin-bottom:12px;font-size:14px}.form-modal-box input,.form-modal-box select{width:100%;padding:10px 8px;margin-top:4px;border-radius:4px;border:1px solid #ccc;font-size:14px;outline:none}.form-modal-box input:focus{border:2px solid #2684ff}.form-modal-box select:focus{border:2px solid #2684ff}.form-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.btn-save{background-color:#1e3a8a;color:#fff;border:none;padding:12px 40px;border-radius:4px;cursor:pointer}.btn-cancel{background-color:#e0e0e0;color:#333;border:none;padding:12px 14px;border-radius:4px;cursor:pointer}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.form-flex{display:flex;justify-content:space-between;gap:10px}.form-flex>label{width:calc(50% - 10px)}.teacher-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.teacher-modal-content{background:#fff;border-radius:8px;width:90%;max-height:90vh;overflow:auto;max-width:600px;padding:20px;position:relative;animation:fadeIn .3s ease}.teacher-modal-content h2{color:#1e3a8a}.close-btn{position:absolute;right:12px;top:8px;font-size:24px;cursor:pointer;padding:4px 8px}.drop-zone{border:2px dashed #4a90e2;border-radius:8px;padding:50px 0;text-align:center;cursor:pointer;margin:15px 0}.drop-zone:hover{background-color:#f0f9ff}.drop-zone button{background:#1e3a8a;color:#fff;border:none;padding:8px 12px;border-radius:4px;cursor:pointer}.drop-zone button:hover{background:#3a78c2}.note{font-size:12px;color:#666}.template-note{background:#fff7e0;border-left:4px solid #f0c000;padding:10px;font-size:13px;margin-top:15px}.template-note strong{color:#92400e;font-size:16px}.template-note ul{padding-left:16px;margin:6px 0 0;font-size:14px;color:#a16207}.button-group{display:flex;justify-content:flex-end;gap:10px;margin-top:15px}.button-group button{padding:10px 16px;border:none;border-radius:4px;cursor:pointer}.button-group button:first-child{background:#ccc}.button-group button:last-child{background:#4a90e2;padding:10px 20px;color:#fff}.button-group button:last-child:disabled{background-color:#9ca3af;cursor:not-allowed;transform:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.teacher-modal-export{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:1000;display:flex;justify-content:center;align-items:center;padding:1rem;overflow:auto}.teacher-modal-content-export{background:#fff;border-radius:.75rem;max-width:480px;width:100%;padding:1.5rem;position:relative;animation:fadeInUp .3s ease;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #0000001a}.teacher-modal-content-export h2{font-size:1.25rem;font-weight:600;margin-bottom:1rem;text-align:center;color:#1e3a8a}.teacher-modal-content-export label{font-size:.95rem;color:#333;margin-top:.5rem;display:block}.teacher-modal-content-export select{width:100%;padding:.5rem .75rem;margin-top:.25rem;margin-bottom:1rem;border-radius:.5rem;border:1px solid #ddd;font-size:.95rem;transition:border .2s}.teacher-modal-content-export select:focus{outline:none;border-color:#007bff}.button-group{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.subject-tooltip-container{position:relative;cursor:pointer}.subject-count{background-color:#1e3a8a;color:#fff;padding:4px 20px;border-radius:20px;cursor:pointer;font-weight:700;display:inline-block}.subject-tooltip{display:none;position:absolute;top:100%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:10px;border-radius:6px;white-space:nowrap;z-index:100;box-shadow:0 0 10px #0000004d;font-size:14px}.subject-tooltip-container:hover .subject-tooltip{display:block}.page-disabled:disabled{cursor:not-allowed}.course-section-list{overflow:auto;max-height:1000px;margin-top:10px}.course-section-list::-webkit-scrollbar{width:4px}.course-section-list::-webkit-scrollbar-thumb{background-color:#1e3a8a;border-radius:4px;border:1px solid grey}.course-section-table{min-width:900px;text-align:center}.course-section-table>tbody>tr{transition:all .3s linear}.course-section-table>tbody>tr:hover{background-color:#d9dff1;cursor:pointer}.course-section-table>thead>tr>th:nth-child(1){min-width:40px}.course-section-table>thead>tr>th:nth-child(7){min-width:100px}.course-section-table>thead>tr>th:nth-child(2){min-width:150px}.course-section-table>thead>tr>th:nth-child(3),.course-section-table>thead>tr>th:nth-child(8){min-width:200px}.course-section-table>thead>tr>th:nth-child(9),.course-section-table>thead>tr>th:nth-child(10){min-width:130px}.course-section-table>thead>tr>th:nth-child(4),.course-section-table>thead>tr>th:nth-child(5),.course-section-table>thead>tr>th:nth-child(11){min-width:120px}.course-section-table>tbody>tr>td:nth-child(11),.course-section-table>tbody>tr>td:nth-child(4),.course-section-table>tbody>tr>td:nth-child(5),.course-section-table>tbody>tr>td:nth-child(6),.course-section-table>tbody>tr>td:nth-child(7),.course-section-table>tbody>tr>td:nth-child(9),.course-section-table>tbody>tr>td:nth-child(10){text-align:center}.course-section-table>tbody>tr>td{padding:10px}.course-section-table>tbody>tr>td>small{color:#999;font-weight:600;font-style:italic}.course-section-in_progress{background-color:#16a34a}.course-section-in_register{background-color:#2563eb}.course-section-completed{background-color:#6b7280}.status-dropdown-wrapper{position:relative;display:inline-block}.status-dropdown{position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%);background:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 2px 8px #00000026;z-index:1000;min-width:150px;padding:4px 0}.status-dropdown-item{padding:8px 12px;cursor:pointer;font-size:13px}.status-dropdown-item:hover{background:#f0f0f0}.btn-primary-student{margin:0 auto;background-color:#4a5ba6;color:#fff;border:none;padding:8px 16px;font-size:14px;font-weight:500;border-radius:4px;cursor:pointer;transition:all .2s ease;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.btn-primary-student:hover{background-color:#3d4a91;box-shadow:0 2px 4px #4a5ba64d}.btn-primary-student:active{background-color:#323f7a;transform:translateY(1px)}.btn-secondary{background-color:#f8f9fa;color:#495057;border:1px solid #dee2e6;padding:8px 16px;font-size:14px;font-weight:500;border-radius:4px;cursor:pointer;transition:all .2s ease;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.btn-secondary:hover{background-color:#e9ecef;border-color:#adb5bd}.btn-secondary:active{background-color:#dee2e6;transform:translateY(1px)}.btn-success{background-color:#28a745;color:#fff;border:none;padding:8px 16px;font-size:14px;font-weight:500;border-radius:4px;cursor:pointer;transition:all .2s ease;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.btn-success:hover{background-color:#218838;box-shadow:0 2px 4px #28a7454d}.btn-success:active{background-color:#1e7e34;transform:translateY(1px)}.btn-danger{background-color:#dc3545;color:#fff;border:none;padding:8px 16px;font-size:14px;font-weight:500;border-radius:4px;cursor:pointer;transition:all .2s ease;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.btn-danger:hover{background-color:#c82333;box-shadow:0 2px 4px #dc35454d}.btn-danger:active{background-color:#bd2130;transform:translateY(1px)}.btn-sm{padding:6px 12px;font-size:12px}.btn-lg{padding:12px 24px;font-size:16px}.btn-outline-primary{background-color:transparent;color:#4a5ba6;border:1px solid #4a5ba6;padding:8px 16px;font-size:14px;font-weight:500;border-radius:4px;cursor:pointer;transition:all .2s ease;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.btn-outline-primary:hover{background-color:#4a5ba6;color:#fff}.btn:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.demo-container{padding:20px;background-color:#f8f9fa;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.demo-section{margin-bottom:30px;background:#fff;padding:20px;border-radius:8px;box-shadow:0 1px 3px #0000001a}.demo-section h3{margin-top:0;color:#495057;border-bottom:2px solid #4a5ba6;padding-bottom:10px}.button-group{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:15px}.pagination-container{background:#4a5ba6;padding:12px 20px;border-radius:0 0 8px 8px;display:flex;justify-content:space-between;align-items:center;margin-top:20px}.pagination-info{color:#fff;font-size:14px;font-weight:500}.pagination-controls{display:flex;align-items:center;gap:8px}.pagination-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-width:36px;height:32px}.pagination-btn:hover:not(:disabled){background:#fff3;border-color:#ffffff4d}.pagination-btn:active:not(:disabled){background:#ffffff26;transform:translateY(1px)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-btn.active{background:#fff;color:#4a5ba6;border-color:#fff;font-weight:600}.pagination-btn.active:hover{background:#f8f9fa}.pagination-btn.arrow{padding:6px 8px}.page-input-container{display:flex;align-items:center;gap:8px;margin-left:16px}.page-input{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:6px 8px;border-radius:4px;width:60px;text-align:center;font-size:13px}.page-input:focus{outline:none;background:#ffffff26;border-color:#fff6}.page-input::placeholder{color:#fff9}.go-btn{background:#ffffffe6;color:#4a5ba6;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s ease}.go-btn:hover{background:#fff}.header-container{background:#fff;padding:16px 20px;border-bottom:1px solid #e9ecef;border-radius:8px 8px 0 0;box-shadow:0 1px 3px #0000001a}.header-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.left-actions,.right-actions{display:flex;gap:12px;align-items:center}.btn-import{display:inline-flex;align-items:center;gap:8px;background-color:#28a745;color:#fff;border:none;padding:8px 16px;font-size:14px;font-weight:500;border-radius:4px;cursor:pointer;transition:all .2s ease;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.btn-import:hover{background-color:#218838;box-shadow:0 2px 4px #28a7454d}.btn-import:active{background-color:#1e7e34;transform:translateY(1px)}.btn-export{display:inline-flex;align-items:center;gap:8px;background-color:#007bff;color:#fff;border:none;padding:8px 16px;font-size:14px;font-weight:500;border-radius:4px;cursor:pointer;transition:all .2s ease;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.btn-export:hover{background-color:#0056b3;box-shadow:0 2px 4px #007bff4d}.btn-export:active{background-color:#004085;transform:translateY(1px)}.search-container{position:relative}.search-input{background:#fff;border:1px solid #dee2e6;border-radius:4px;padding:8px 12px 8px 36px;font-size:14px;width:280px;transition:all .2s ease;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.search-input:focus{outline:none;border-color:#4a5ba6;box-shadow:0 0 0 2px #4a5ba633}.search-input::placeholder{color:#6c757d}.search-icon{position:absolute;top:50%;transform:translateY(-50%);color:#6c757d;width:16px;height:16px}.status-select-container{position:relative}.status-select{background:#fff;border:1px solid #dee2e6;border-radius:4px;padding:8px 32px 8px 12px;font-size:14px;color:#495057;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;min-width:160px;transition:all .2s ease;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.status-select:focus{outline:none;border-color:#4a5ba6;box-shadow:0 0 0 2px #4a5ba633}.select-arrow{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#6c757d;width:16px;height:16px;pointer-events:none}.icon{width:16px;height:16px;fill:currentColor}@media (max-width: 768px){.header-actions{flex-direction:column;align-items:stretch;gap:12px}.left-actions,.right-actions{justify-content:center}.search-input{width:100%;max-width:280px}.status-select{width:100%;max-width:160px}}@media (max-width: 768px){.pagination-container{flex-direction:column;gap:12px;text-align:center}.pagination-controls{justify-content:center}.page-input-container{margin-left:0}}.student-badge{display:inline-block;padding:4px 10px;border-radius:20px;font-weight:600;font-size:.85rem;text-align:center;color:#fff;min-width:100px;white-space:nowrap}.badge-active{background-color:#28a745}.badge-graduated{background-color:#007bff}.badge-suspended{background-color:#ffc107;color:#000}.badge-dropped_out{background-color:#dc3545}.badge-pending{background-color:#6c757d}.badge-deferment{background-color:#17a2b8}.student-modal__overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0006;display:flex;justify-content:center;align-items:center;z-index:1000}.student-modal__container{background:#fff;padding:20px;width:600px;max-width:95%;border-radius:8px;box-shadow:0 4px 20px #0000004d}.student-modal__title{font-size:20px;margin-bottom:15px}.student-modal__form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.student-modal__form-group{display:flex;flex-direction:column}.student-modal__form-group label{font-weight:600;margin-bottom:5px}.student-modal__form-group input,.student-modal__form-group select{padding:6px 10px;border:1px solid #ccc;border-radius:4px}.student-modal__error{font-size:12px;color:#dc3545;margin-top:3px}.student-modal__actions{grid-column:span 2;display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.student-modal__btn{padding:8px 16px;font-weight:600;border:none;border-radius:4px;cursor:pointer}.student-modal__btn.cancel{background:#ccc;color:#333}.student-modal__btn.submit{background:#28a745;color:#fff}.import-modal__overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0006;display:flex;justify-content:center;align-items:center;z-index:1000}.import-modal__container{background:#fff;border-radius:12px;padding:24px;width:500px;max-width:95%;box-shadow:0 4px 12px #0003;max-height:90vh;overflow-y:auto}.import-modal__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.import-modal__close{font-size:22px;background:transparent;border:none;cursor:pointer}.import-modal__dropzone{border:2px dashed #ccc;border-radius:10px;padding:40px 20px;text-align:center;margin-bottom:20px;background:#fafafa;transition:background .2s ease}.import-modal__dropzone:hover{background:#f0f0f0}.import-modal__choose{background-color:#2e79ff;color:#fff;border:none;padding:8px 16px;border-radius:5px;cursor:pointer}.import-modal__note{font-size:13px;color:#888;margin-top:10px}.import-modal__template-warning{background-color:#fffbe6;border:1px solid #ffe58f;padding:14px;font-size:14px;border-radius:8px;color:#664d03}.import-modal__template-warning ul{padding-left:20px;margin-top:8px}.import-modal__template-warning li{margin-bottom:5px}.import-modal__actions{display:flex;gap:10px;justify-content:center;margin-top:15px}.import-modal__btn{padding:8px 16px;border:none;border-radius:6px;cursor:pointer;font-weight:500;font-size:14px}.import-modal__btn.submit{background-color:#2e79ff;color:#fff}.import-modal__btn.cancel{background-color:#f0f0f0;color:#333}.export-button{padding:10px 18px;background-color:#007bff;color:#fff;font-weight:700;border:none;border-radius:6px;cursor:pointer;transition:background .3s ease}.export-button:hover{background-color:#0056b3}.modal__overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#0006;display:flex;align-items:center;justify-content:center;z-index:999}.modal__container{background:#fff;padding:24px;border-radius:12px;width:400px;box-shadow:0 6px 20px #00000026;animation:fadeIn .3s ease-out}.modal__title{font-size:18px;margin-bottom:16px;color:#333}.modal__field{margin-bottom:20px}.modal__label{display:block;margin-bottom:6px;font-weight:500;color:#555}.modal__select{width:100%;padding:10px;border-radius:6px;border:1px solid #ccc;font-size:14px;transition:border .3s}.modal__select:focus{outline:none;border-color:#007bff}.modal__actions{display:flex;justify-content:flex-end;gap:10px}.modal__button{padding:8px 16px;font-size:14px;border-radius:6px;border:none;cursor:pointer}.modal__button--export{background-color:#28a745;color:#fff}.modal__button--export:hover{background-color:#218838}.modal__button--cancel{background-color:#dc3545;color:#fff}.modal__button--cancel:hover{background-color:#c82333}@keyframes fadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.gm-table-container>table>tbody>tr>td{padding:6px 8px}.gm-table-container>table>thead>tr>th:nth-child(1){width:40px;min-width:40px}.gm-table-container>table>thead>tr>th:nth-child(2),.gm-table-container>table>thead>tr>th:nth-child(5),.gm-table-container>table>thead>tr>th:nth-child(8),.gm-table-container>table>thead>tr>th:nth-child(7){width:120px;min-width:120px}.gm-table-container>table>thead>tr>th:nth-child(4){width:180px;min-width:180px}.gm-table-container>table>thead>tr>th:nth-child(9){width:200px;min-width:200px}.gm-table-container>table>tbody>tr>td:nth-child(1),.gm-table-container>table>tbody>tr>td:nth-child(6),.gm-table-container>table>tbody>tr>td:nth-child(5),.gm-table-container>table>tbody>tr>td:nth-child(7),.gm-table-container>table>tbody>tr>td:nth-child(8),.gm-table-container>table>tbody>tr>td:nth-child(9),.gm-table-container>table>tbody>tr>td:nth-child(10),.gm-table-container>table>tbody>tr>td:nth-child(11),.gm-table-container>table>tbody>tr>td:nth-child(12){text-align:center}.schedule-container{background-color:#f8fafc;font-family:system-ui,-apple-system,sans-serif}.schedule-wrapper{max-width:1400px;margin:0 auto}.schedule-header{background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:24px;margin-bottom:24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap}.schedule-title{font-size:28px;font-weight:700;color:#1e293b;margin:0 0 8px}.schedule-subtitle{color:#64748b;margin:0}.add-button{background-color:#3b82f6;color:#fff;border:none;border-radius:8px;padding:12px 24px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s}.add-button:hover{background-color:#2563eb}.filters-container,.form-container,.table-container,.stat-card{background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:24px;margin-bottom:24px}.filters-grid,.form-grid,.stats-grid{display:grid;gap:16px}.filters-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.form-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px}.input-group{display:flex;flex-direction:column}.input-label{font-size:14px;font-weight:500;color:#374151;margin-bottom:4px}.input-field,.select-field,.search-input{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;background-color:#fff;box-sizing:border-box}.input-field:focus,.select-field:focus,.search-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-title{font-size:20px;font-weight:600;color:#1f2937;margin:0 0 20px}.form-buttons{display:flex;gap:12px;margin-top:24px}.submit-button{background-color:#3b82f6;color:#fff;border:none;border-radius:6px;padding:8px 24px;cursor:pointer;font-size:14px;font-weight:500}.submit-button:hover{background-color:#2563eb}.cancel-button{background-color:#6b7280;color:#fff;border:none;border-radius:6px;padding:8px 24px;cursor:pointer;font-size:14px;font-weight:500}.cancel-button:hover{background-color:#4b5563}.table-wrapper{overflow-x:auto}.schedule-table{width:100%;min-width:900px;border-collapse:collapse;will-change:transform}.table-head{background-color:#f8fafc}.table-header,.table-cell{padding:12px;font-size:14px;border-bottom:1px solid #e5e7eb;color:#000}.table-header:last-child{min-width:120px;width:120px}.table-header:nth-child(1),.table-header:nth-child(2),.table-header:nth-child(8){min-width:150px;width:150px}.table-header:nth-child(5){min-width:110px;width:110px}.table-header:nth-child(3){min-width:90px;width:90px}.table-header:nth-child(4),.table-header:nth-child(6),.table-header:nth-child(7){min-width:70px;width:70px}.table-header:nth-child(9){min-width:100px;width:100px}.table-cell{color:#1f2937;text-align:center}.table-row:hover{background-color:#f9fafb}.badge-period{background-color:#3b82f6;color:#fff;padding:2px 8px;border-radius:12px;font-size:12px;font-weight:500}.badge-session{color:#fff;padding:2px 8px;border-radius:12px;font-size:12px;font-weight:500}.session-morning{background-color:#10b981}.session-afternoon{background-color:#f59e0b}.badge-day{color:#fff;padding:2px 8px;border-radius:12px;font-size:12px;font-weight:500}.badge-sunday{background-color:#f87171}.badge-monday{background-color:#60a5fa}.badge-tuesday{background-color:#a78bfa}.badge-wednesday{background-color:#fbbf24}.badge-thursday{background-color:#34d399}.badge-friday{background-color:#f472b6}.badge-saturday{background-color:#8b5cf6}.badge-class{background-color:#8b5cf6;color:#fff;padding:2px 8px;border-radius:12px;font-size:12px;font-weight:500}.action-buttons{display:flex;gap:8px}.schedule-edit-button,.schedule-delete-button{background:#4a5ba6;border:none;cursor:pointer;font-size:18px;padding:8px;color:#fff;border-radius:8px;margin:0 4px;transition:background-color .2s ease,transform .1s ease;width:36px;height:36px}.schedule-edit-button:hover{background-color:#2563eb;transform:scale(1.05)}.schedule-delete-button:hover{background-color:#dc2626;transform:scale(1.05)}.empty-state{text-align:center;padding:48px 24px}.empty-icon{font-size:48px;margin-bottom:16px}.empty-title{font-size:18px;font-weight:600;color:#1f2937;margin-bottom:8px}.empty-text{color:#6b7280;font-size:14px}.stat-card{display:flex;align-items:center;gap:16px}.stat-icon{font-size:32px}.stat-label{font-size:14px;color:#6b7280;margin:0 0 4px}.stat-value{font-size:24px;font-weight:700;color:#1f2937;margin:0}.student-pagination-container{display:flex;align-items:center;background:#fff;justify-content:center;margin:0}.student-pagination{display:flex;align-items:center;gap:2px;background:#fff;padding:8px;border-radius:8px;box-shadow:0 2px 8px #0000001a;border:1px solid #e9ecef;width:fit-content}.student-pagination-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid #dee2e6;background:#fff;color:#495057;text-decoration:none;border-radius:4px;font-size:14px;font-weight:500;transition:all .2s ease;cursor:pointer;margin:0}.student-pagination-btn:hover{background-color:#f8f9fa;border-color:#adb5bd;color:#212529}.student-pagination-btn.active{background-color:#007bff;border-color:#007bff;color:#fff}.student-pagination-btn.active:hover{background-color:#0056b3;border-color:#0056b3}.student-pagination-btn.disabled{background-color:#f8f9fa;border-color:#e9ecef;color:#adb5bd;cursor:not-allowed}.student-pagination-btn.disabled:hover{background-color:#f8f9fa;border-color:#e9ecef;color:#adb5bd}.student-pagination-prev,.student-pagination-next{padding:0 12px;width:auto;min-width:36px}@media (max-width: 768px){.pagination{gap:4px;padding:8px}.pagination-btn{width:32px;height:32px;font-size:13px}.pagination-prev,.pagination-next{padding:0 8px;min-width:32px}}.schedule-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.schedule-modal{background-color:#fff;padding:32px;border-radius:12px;width:800px;max-width:95%;box-shadow:0 8px 24px #0003}.schedule-modal h2{font-size:20px;font-weight:600;margin-bottom:24px;color:#111827}.schedule-form{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.schedule-form-group{display:flex;flex-direction:column}.schedule-form-group label{margin-bottom:6px;font-size:14px;font-weight:500;color:#374151}.schedule-form-group input,.schedule-form-group select{padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;outline:none;transition:border-color .2s ease-in-out}.schedule-form-group input:focus,.schedule-form-group select:focus{border-color:#4f46e5;box-shadow:0 0 0 1px #4f46e5}.schedule-form-actions{grid-column:span 2;display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.schedule-btn{padding:10px 18px;font-size:14px;font-weight:500;color:#fff;background-color:#4f46e5;border:none;border-radius:6px;cursor:pointer;transition:background-color .2s}.schedule-btn:hover{background-color:#4338ca}.schedule-btn-cancel{background-color:#6b7280}.schedule-btn-cancel:hover{background-color:#4b5563}.schedule-error{color:red}.class-official-table>thead>tr>th:nth-child(7){min-width:100px}.class-official-table>thead>tr>th:nth-child(2){min-width:150px}.class-official-table>thead>tr>th:nth-child(3){min-width:200px}.class-official-table>thead>tr>th:nth-child(4),.class-official-table>thead>tr>th:nth-child(5),.class-official-table>thead>tr>th:nth-child(6){min-width:120px}.class-official-table>thead>tr>th:nth-child(7){min-width:130px}.class-official-table>thead>tr>th:last-child{min-width:100px}.class-official-table>tbody>tr>td:nth-child(4),.class-official-table>tbody>tr>td:nth-child(5),.class-official-table>tbody>tr>td:nth-child(6),.class-official-table>tbody>tr>td:nth-child(7),.class-official-table>tbody>tr>td:nth-child(8){text-align:center}.class-official-table>tbody>tr:hover{background-color:#d9dff1;cursor:pointer}.popup-add-student-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:9999;font-family:sans-serif}.popup-add-student-dialog{background:#fff;border-radius:8px;padding:16px;width:90%;max-width:800px;max-height:80%;display:flex;flex-direction:column;box-shadow:0 2px 10px #00000026}.popup-add-student-dialog header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.popup-add-student-dialog header h2{font-size:1rem;margin:0}.popup-add-student-close-btn{background:none;border:none;font-size:1.2rem;cursor:pointer}.popup-add-student-search-input{width:100%;padding:8px;margin-bottom:8px;border:1px solid #d1d5db;border-radius:4px;font-size:.9rem}.popup-add-student-list{overflow-y:auto;flex:1;border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb;margin-bottom:8px;-webkit-user-select:none;user-select:none;padding:14px 24px}.popup-add-student-item{display:flex;justify-content:space-between;align-items:center;padding:10px 4px;-webkit-user-select:none;user-select:none;border-bottom:1px solid #d2d4d8}.popup-add-student-item:last-child{border-bottom:none}.popup-add-student-item>input{font-size:16px}.popup-add-student-info{font-size:15px;font-weight:500}.popup-add-student-info small{display:block;color:#6b7280;font-size:.7rem}.popup-add-student-actions{display:flex;justify-content:flex-end;gap:8px}.popup-add-student-btn{padding:10px 12px;border:none;border-radius:4px;cursor:pointer;font-size:.85rem}.popup-add-student-btn-close{background:#e5e7eb}.popup-add-student-btn-confirm{background:#3b82f6;color:#fff}.popup-add-student-btn-confirm:disabled{background:#93c5fd;cursor:not-allowed}.popup-add-student-item.selecto-selected{background-color:#dbeafe!important}.document-subject{margin-top:3rem;margin-bottom:1.5rem;min-height:600px;border-radius:8px;padding:1.5rem;box-shadow:0 4px 10px #0000001a}.document-subject>h1{color:#1a237e;margin:.5rem 0}.document-subject>h2{color:#1a237e;margin:.5rem 0}.lecture{padding:1rem;border-bottom:1px solid #e0e0e0}.lecture-title{font-weight:700;font-size:1.1rem;color:#0d47a1}.sidebar-student{width:240px;background:#fff;padding:20px;border-radius:15px;box-shadow:0 4px 10px #0000000d;display:flex;flex-direction:column;gap:15px}.sidebar-student a{color:#1e3a8a;text-decoration:none;padding:12px 16px;background-color:#e8ecf7;border-radius:10px;font-weight:700;transition:all .3s}.sidebar-student a:hover{background-color:#d0d9f5}.header-student{background:#1e3a8a;color:#fff;padding:15px 20px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap}.header-student>h1{margin:0;font-size:20px;font-weight:700}.header-student>h1>a{color:#fff}.nav-links-student{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.nav-links-student a{color:#fff;text-decoration:none;font-weight:700;transition:opacity .3s}.nav-links-student a:hover{opacity:.8}.user-menu-student{position:relative}.user-btn-student{background:#1e40af;border:none;color:#fff;font-weight:700;padding:8px 12px;border-radius:6px;cursor:pointer;transition:background .3s}.user-btn-student:hover{background:#1d4ed8}.dropdown-content-student{display:none;position:absolute;right:0;top:100%;background-color:#fff;color:#000;min-width:180px;border-radius:8px;overflow:hidden;box-shadow:0 8px 16px #0003;z-index:100}.dropdown-content-student a{padding:12px 16px;display:block;text-decoration:none;color:#1e3a8a;transition:background .3s}.dropdown-content-student a:hover{background-color:#f0f0f0}.user-menu-student:hover .dropdown-content-student{display:block}.layout-student{display:flex;min-height:calc(100vh - 60px);padding:20px;gap:20px}.main-student{flex:1;padding:20px 30px;background:#fff;border-radius:15px;box-shadow:0 4px 10px #0000000d}.notification-bell-student{position:relative;display:inline-block;cursor:pointer;padding:8px}.bell-icon{width:24px;height:24px;fill:#fff;transition:all .3s ease}.notification-bell:hover .bell-icon{fill:#e0e7ff;animation:bellShake .6s ease-in-out}.notification-badge{position:absolute;top:2px;right:2px;background:#ef4444;color:#fff;border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;font-family:Arial,sans-serif;border:2px solid white;box-shadow:0 2px 4px #0003}@keyframes bellShake{0%,to{transform:rotate(0)}10%,30%,50%,70%,90%{transform:rotate(-8deg)}20%,40%,60%,80%{transform:rotate(8deg)}}@media (max-width: 768px){.notification-bell-student{width:32px;height:32px;margin:0!important}.notification-bell-student i{font-size:16px}}.discipline-card-container{background:#fff;border-radius:12px;padding:20px;box-shadow:0 4px 12px #0000000d;max-width:900px;margin:0 auto}.discipline-student-info{display:flex;align-items:center;margin-bottom:20px;gap:15px}.discipline-avatar{background-color:#3b82f6;color:#fff;font-size:28px;width:70px;height:70px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700}.discipline-student-name{margin:0;font-size:22px;font-weight:600;color:#1e293b}.discipline-student-field{font-size:15px;color:#334155;margin-top:4px}.discipline-table-wrapper{overflow-x:auto}.discipline-table{width:100%;border-collapse:collapse;font-size:15px}.discipline-table th,.discipline-table td{padding:12px;text-align:center;border-bottom:1px solid #e2e8f0}.discipline-table th{background-color:#1e3a8a;color:#fff;font-weight:600;white-space:nowrap}.discipline-table tr:hover{background-color:#f8fafc}.notification-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;border:1px solid #e5e5e5;overflow:hidden}.header{padding:24px;border-bottom:1px solid #e5e5e5;display:flex;justify-content:space-between;align-items:center}.header-left{display:flex;align-items:center;gap:12px}.header-title{font-size:24px;font-weight:700;color:#3b4d99}.header-icon{width:24px;height:24px;color:#3b4d99}.btn-primary{background:#3b4d99;color:#fff;border:none;padding:12px 16px;border-radius:6px;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:14px;transition:background-color .2s}.btn-primary:hover{background:#b91c1c}.filters{padding:16px 24px;background:#f9fafb;border-bottom:1px solid #e5e5e5}.filters-row{display:flex;gap:16px;flex-wrap:wrap}.search-container{flex:1;position:relative;min-width:250px}.search-input{width:300px!important;padding:8px 12px 8px 40px;border:1px solid #d1d5db;border-radius:6px;font-size:14px}.search-input:focus{outline:none;border-color:#3b4d99;box-shadow:0 0 0 3px #3b4d991a}.search-icon{position:relative;right:25px;top:30%;transform:translateY(-50%);color:#555;cursor:pointer}.filter-select{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;background:#fff;color:#000}.filter-select:focus{outline:none;border-color:#3b4d99;box-shadow:0 0 0 3px #3b4d991a}.notification-item{padding:20px 24px;border-bottom:1px solid #e5e5e5;transition:background-color .2s}.notification-item:last-child{border-bottom:none}.notification-content{display:flex;justify-content:space-between;align-items:flex-start}.notification-main{flex:1;min-width:0}.notification-header{display:flex;align-items:center;gap:12px;margin-bottom:8px;flex-wrap:wrap}.notification-title{font-size:18px;font-weight:600;color:#111827;margin:0}.badge{padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500}.badge-published{background:#dcfce7;color:#166534}.badge-draft{background:#fef3c7;color:#92400e}.badge-archived{background:#f3f4f6;color:#374151}.badge-info{background:#dbeafe;color:#1e40af}.badge-warning{background:#fed7aa;color:#c2410c}.badge-success{background:#dcfce7;color:#166534}.badge-error{background:#fecaca;color:#dc2626}.notification-description{color:#6b7280;margin-bottom:12px;line-height:1.5}.notification-meta{display:flex;align-items:center;gap:24px;font-size:14px;color:#6b7280;flex-wrap:wrap}.meta-item{display:flex;align-items:center;gap:4px}.meta-icon{width:16px;height:16px}.priority-high{color:#dc2626;font-weight:500}.priority-medium{color:#d97706;font-weight:500}.priority-low{color:#059669;font-weight:500}.notification-actions{display:flex;align-items:center;gap:8px;margin-left:16px}.action-btn{padding:8px;border:none;border-radius:6px;cursor:pointer;background:transparent;color:#9ca3af;transition:all .2s}.action-btn:hover{background:#f3f4f6}.action-btn.view:hover{color:#2563eb;background:#dbeafe}.action-btn.edit:hover{color:#059669;background:#d1fae5}.action-btn.delete:hover{color:#3b4d99;background:#fecaca}.action-icon{width:16px;height:16px}.pagination{padding:16px 24px;background:#f9fafb;border-top:1px solid #e5e5e5;display:flex;justify-content:space-between;align-items:center}.pagination-info{font-size:14px;color:#374151}.pagination-info strong{font-weight:500}.pagination-controls{display:flex;align-items:center;gap:4px}.page-btn{padding:8px 12px;border:1px solid #d1d5db;background:#fff;color:#6b7280;font-size:14px;cursor:pointer;transition:all .2s}.page-btn:first-child{border-radius:6px 0 0 6px}.page-btn:last-child{border-radius:0 6px 6px 0}.page-btn.active{background:#3b4d99;color:#fff;border-color:#3b4d99}.page-btn:hover:not(.active){background:#f9fafb}@media (max-width: 768px){.header{flex-direction:column;gap:16px;align-items:stretch}.filters-row{flex-direction:column}.search-container{min-width:auto}.search-input{width:95%!important}.notification-content{flex-direction:column;gap:16px}.notification-actions{margin-left:0;justify-content:flex-end}.notification-meta{flex-direction:column;align-items:flex-start;gap:8px}.pagination{flex-direction:column;gap:16px;text-align:center}.search-icon{position:relative;right:30px;top:10px;transform:translateY(-50%)}}@media (max-width: 480px){.search-icon{right:25px;transform:translateY(-50%)}.notification-item{padding:16px}.notification-title{font-size:16px}.notification-description{font-size:14px}}.react-tabs__tab-list{display:flex;gap:2px;border-bottom:2px solid #dee2e6;margin-bottom:1rem;padding:0}.react-tabs__tab{background:#f8f9fa;padding:10px 20px;cursor:pointer;font-weight:500;border:1px solid #dee2e6;border-bottom:none;border-radius:6px 6px 0 0;transition:all .2s ease;color:#495057}.react-tabs__tab:hover{background-color:#e9ecef;color:#5a4bb0}.react-tabs__tab:focus{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff!important}.react-tabs__tab--selected{font-weight:700;color:#fff!important;z-index:1;box-shadow:0 2px 4px #0000001a}.react-tabs__tab--selected:before{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:0;background:linear-gradient(135deg,#667eea,#764ba2);z-index:-1;border-radius:8px 8px 0 0}.tab-selected{background:linear-gradient(to right,#667eea,#764ba2);color:#fff!important}.notification-no-item{display:flex;justify-content:center;align-items:center;height:100px;padding-top:10px;text-align:center}*{box-sizing:border-box}.create-notification-student{left:50%!important;transform:translate(-50%,10%)!important}.notification-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:50;overflow-y:auto}.notification-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;transition:opacity .2s ease}.notification-modal-container{left:40%;top:7%;position:relative;display:inline-block;width:100%;max-width:600px;margin:32px auto;padding:24px;background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;transform:translateY(0);transition:all .3s ease}.notification-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.notification-modal-title{display:flex;align-items:center;font-size:24px;font-weight:700;color:#1f2937;margin:0}.notification-modal-icon{width:32px;height:32px;background-color:#3b82f6;border-radius:8px;display:flex;align-items:center;justify-content:center;margin-right:12px;color:#fff}.notification-modal-icon svg{width:16px;height:16px}.notification-modal-close-btn{padding:8px;color:#9ca3af;background:transparent;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease}.notification-modal-close-btn:hover{color:#4b5563;background-color:#f3f4f6}.notification-modal-close-btn svg{width:20px;height:20px}.notification-modal-body{display:flex;flex-direction:column;gap:24px}.notification-form-group{display:flex;flex-direction:column}.notification-form-label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:8px}.notification-target-options{display:flex;gap:16px}.notification-radio-option{display:flex;align-items:center;gap:12px;cursor:pointer}.notification-radio-input{width:16px;height:16px;accent-color:#3b82f6;cursor:pointer;background-color:#fff}.notification-radio-content{display:flex;align-items:center;gap:8px}.notification-radio-icon{width:16px;height:16px;color:#6b7280}.notification-radio-text{font-size:14px;font-weight:500;color:#374151}.notification-dropdown-container{position:relative}.notification-dropdown-trigger{width:100%;padding:12px 16px;border:1px solid #d1d5db;border-radius:8px;background:#fff;text-align:left;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:all .2s ease;font-size:14px}.notification-dropdown-trigger:hover{border-color:#3b82f6}.notification-dropdown-trigger:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.notification-dropdown-text{flex:1;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;color:#374151}.notification-dropdown-icon{width:16px;height:16px;color:#6b7280;transition:transform .2s ease;margin-left:8px;flex-shrink:0}.notification-dropdown-icon--rotated{transform:rotate(180deg)}.notification-dropdown-menu{position:absolute;z-index:50;width:100%;margin-top:4px;background:#fff;border:1px solid #d1d5db;border-radius:8px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;max-height:240px;overflow-y:auto}.notification-student-option{display:flex;align-items:center;padding:12px 16px;cursor:pointer;transition:background-color .2s ease}.notification-student-option:hover{background-color:#f9fafb}input[type=checkbox]{accent-color:#667eea!important;background-color:#fff!important;border:1px solid white!important}.notification-student-checkbox{margin-right:12px;width:16px;height:16px;accent-color:#3b82f6;cursor:pointer;background-color:#fff}.notification-student-info{flex:1}.notification-student-name{font-weight:500;color:#111827;font-size:14px}.notification-student-code{font-size:12px;color:#6b7280;margin-top:2px}.notification-class-option{width:100%;padding:12px 16px;text-align:left;background:transparent;border:none;cursor:pointer;transition:background-color .2s ease}.notification-class-option:hover,.notification-class-option:focus{background-color:#f9fafb;outline:none}.notification-class-name{font-weight:500;color:#111827;font-size:14px}.notification-class-code{font-size:12px;color:#6b7280;margin-top:2px}.notification-text-input{width:100%;padding:12px 16px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;transition:all .2s ease;background-color:#fff;color:#000}.notification-text-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.notification-textarea-input{width:100%;padding:12px 16px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;resize:none;font-family:inherit;transition:all .2s ease;background-color:#fff;color:#000}.notification-textarea-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.notification-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding-top:24px;border-top:1px solid #e5e7eb;margin-top:24px}.notification-cancel-btn{padding:8px 16px;font-size:14px;font-weight:500;color:#374151;background:#fff;border:1px solid #d1d5db;border-radius:8px;cursor:pointer;transition:all .2s ease}.notification-cancel-btn:hover{background-color:#f9fafb}.notification-cancel-btn:focus{outline:none;box-shadow:0 0 0 3px #3b82f61a}.notification-submit-btn{padding:8px 24px;font-size:14px;font-weight:500;color:#fff;background-color:#3b82f6;border:1px solid transparent;border-radius:8px;cursor:pointer;transition:all .2s ease}.notification-submit-btn:hover{background-color:#2563eb}.notification-submit-btn:focus{outline:none;box-shadow:0 0 0 3px #3b82f64d}.notification-demo-container{min-height:100vh;background-color:#f8fafc;display:flex;align-items:center;justify-content:center;padding:16px}.notification-demo-content{background:#fff;border-radius:12px;box-shadow:0 10px 25px #0000001a;padding:32px;max-width:400px;width:100%;text-align:center}.notification-demo-title{font-size:24px;font-weight:700;color:#1f2937;margin-bottom:24px}.notification-demo-btn{width:100%;padding:12px 24px;background-color:#3b82f6;color:#fff;font-weight:600;font-size:16px;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px}.notification-demo-btn:hover{background-color:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.notification-demo-btn:active{transform:translateY(0)}.notification-demo-btn svg{width:20px;height:20px}@media (max-width: 640px){.notification-modal-container{margin:16px;padding:20px}.notification-modal-title{font-size:20px}.notification-target-options{flex-direction:column;gap:12px}.notification-modal-footer{flex-direction:column-reverse}.notification-cancel-btn,.notification-submit-btn{width:100%;padding:12px 16px}}.notification-radio-option-margin{margin-top:10px}.notification-error-message{color:red}@media (max-width: 640px){.notification-modal-container{position:fixed;top:0;left:0;right:0;bottom:0;margin:0;padding:16px;border-radius:0;max-width:100%;height:100%;overflow-y:auto}.notification-modal-body{gap:16px}.notification-target-options{flex-direction:column;gap:12px}.notification-text-input,.notification-textarea-input{font-size:16px;padding:14px 16px}.notification-form-label{font-size:15px}.notification-submit-btn,.notification-cancel-btn{font-size:16px;padding:14px;width:100%}.notification-modal-footer{flex-direction:column-reverse;gap:8px;margin-top:16px;padding-top:16px}.notification-radio-option{gap:8px}.notification-radio-text{font-size:15px}.notification-dropdown-trigger{font-size:15px;padding:12px 14px}.notification-class-option,.notification-student-option{padding:10px 14px}.notification-class-name,.notification-student-name{font-size:15px}.notification-class-code,.notification-student-code{font-size:12px}}.card-profile{background-color:#fff;border-radius:16px;box-shadow:0 8px 20px #00000014;padding:40px 35px;width:100%}.profile{display:flex;align-items:center;margin-bottom:30px}.avatar-text{background-color:#0050b3;color:#fff;width:80px;height:80px;border-radius:50%;font-size:26px;font-weight:700;display:flex;align-items:center;justify-content:center;margin-right:20px;box-shadow:0 4px 10px #0050b34d}.info h2{margin:0;font-size:28px;color:#333}.info>h2>input{padding:16px;background-color:#fff;color:#333;outline:none;border:1px solid #cccccc;border-radius:5px;font-size:16px;width:100%;font-weight:600}.info p{margin:4px 0;color:#666}.details-profile{display:grid;grid-template-columns:1fr 1fr;gap:20px}.detail-profile-item{background-color:#e6f0ff;padding:15px 18px;border-radius:10px;box-shadow:0 2px 6px #00000014}.detail-profile-item label{display:block;font-size:13px;color:#777;margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.detail-profile-item input,.detail-profile-item select{width:100%;padding:10px;border:1px solid #cccccc;border-radius:6px;font-size:14px;background-color:#fff;color:#333;box-sizing:border-box}.detail-profile-item p{color:red;font-size:13px}.detail-profile-item input:focus,.detail-profile-item select:focus{outline:none;border-color:#0050b3;box-shadow:0 0 0 2px #0050b333}.edit-button{text-align:right;margin-top:30px}.edit-button button{background-color:#0050b3;color:#fff;padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .3s ease}.edit-button button:hover{background-color:#003d80}@media (max-width: 600px){.details-profile{grid-template-columns:1fr}.avatar-text{width:65px;height:65px;font-size:22px}.info h2{font-size:22px}}.student-info-card-container{display:flex;align-items:center;background:#fff;border-radius:12px;padding:24px 32px;margin:12px auto;box-shadow:0 4px 12px #0000000f;gap:24px;flex-wrap:wrap;max-width:1200px}.student-info-avatar{display:block;width:120px;height:120px;border-radius:50%;background-color:#2563eb;color:#fff;display:flex;align-items:center;justify-content:center;font-size:40px;font-weight:700;flex-shrink:0;-webkit-user-select:none;user-select:none}.student-info-content{display:flex;flex-wrap:wrap;gap:12px;flex:1}.student-info-button{display:flex;align-items:center;gap:8px;background-color:#f1f5f9;border-radius:8px;padding:10px 14px;font-size:15px;font-weight:500;color:#1f2937;transition:background .2s,box-shadow .2s;flex:1 1 calc(50% - 12px);min-width:220px}.student-info-button:hover{background-color:#e2e8f0;box-shadow:0 2px 6px #00000014;cursor:default}.student-info-name{font-size:22px;font-weight:700;margin:0;color:#1f2937;width:100%;display:flex;align-items:center;gap:8px}.my-student-summary-container{width:100%;overflow:auto}.my-student-summary{min-width:1000px}.notfound-container{height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#f5f7fb;color:#2c3e50;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;text-align:center;padding:0 20px}.notfound-title{font-size:6rem;font-weight:700;margin:0;color:#1e3a8a}.notfound-subtitle{font-size:1.8rem;margin-top:10px;font-weight:600}.notfound-description{margin-top:10px;font-size:1rem;color:#666;max-width:500px}.notfound-home-link{margin-top:30px;padding:12px 24px;font-size:1rem;color:#fff;background-color:#1e3a8a;border:none;border-radius:8px;text-decoration:none;transition:background-color .3s ease}.notfound-home-link:hover{background-color:#2980b9}.notfound-icon{font-size:4rem;margin-bottom:10px;color:#95a5a6}.teacher-page{min-height:600px}.teacher-page h2{padding:.5rem 0;color:#1e3a8a}.notification{padding:2.5rem 2rem 0}.notification-list{display:flex;flex-direction:column;gap:1rem;margin:0 auto}.notification-card{background-color:#fff;padding:1rem 1.5rem;border-radius:10px;box-shadow:0 4px 10px #00000014;transition:transform .2s}.notification-card:hover{transform:translateY(-2px)}.notification-title{font-weight:600;font-size:1.1rem;color:#1e3a8a;margin-bottom:.5rem}.notification-meta{font-size:.85rem;color:#666;margin-bottom:.5rem}.notification-content{font-size:1rem;line-height:1.5}.class-list{padding:2rem}.document-subject-list{padding:0 2rem 2rem}.post-pagination{display:flex;justify-content:center;align-items:center;margin:2rem 0;gap:.75rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.post-pagination button{padding:.75rem 1.25rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #667eea4d;min-width:80px}.post-pagination button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66;background:linear-gradient(135deg,#764ba2,#667eea)}.post-pagination button:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 4px #667eea4d}.post-pagination button:disabled{background:#e2e8f0;color:#a0aec0;cursor:not-allowed;transform:none;box-shadow:none}.post-pagination .page-info{padding:.5rem 1rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;font-size:.9rem;color:#4a5568;font-weight:500}.attendance-page h1{text-align:center;color:#1e2a78;margin-bottom:20px}.attendance-page table{width:100%;border-collapse:collapse;font-size:15px}.attendance-page thead{background-color:#1e2a78;color:#fff}.attendance-page th,.attendance-page td{border:1px solid #ccc;text-align:center;padding:8px}.attendance-page .present{color:green;font-weight:700}.attendance-page .late{color:orange;font-weight:700}.attendance-page .absent{color:red;font-weight:700}.attendance-page .excused{color:#07c;font-weight:700}@media screen and (max-width: 768px){.attendance-page table,.attendance-page thead,.attendance-page tbody,.attendance-page th,.attendance-page td,.attendance-page tr{display:block}.attendance-page thead{display:none}.attendance-page tr{margin-bottom:20px;border:1px solid #ccc;padding:10px;border-radius:6px}.attendance-page td{position:relative;text-align:right;padding-left:50%}.attendance-page td:before{content:attr(data-label);position:absolute;left:10px;font-weight:700;color:#333;text-align:left}}.container-home-page-course-section{margin-bottom:1rem;min-height:500px;padding:10px 20px;border-radius:10px}.table-wrapper{overflow-x:auto;width:100%}.table-wrapper .student-grade{border-collapse:collapse;will-change:transform}.student-grade>thead>tr>th{min-width:120px}.student-grade>thead>tr>th:nth-child(1){min-width:120px}.student-grade>thead>tr>th:nth-child(2){min-width:180px}.student-grade>tbody>tr>td{text-align:center}.student-grade>tbody>tr>td:nth-child(2){text-align:left}.class-page{margin-top:3rem;min-height:550px}.class-header{display:flex;justify-content:space-between;align-items:center;background:#fff;padding:1rem 2rem;box-shadow:0 2px 4px #0000001a}.class-name{font-size:1.3rem;font-weight:700;color:#1a237e}.buttons a{background-color:#1976d2;border:none;color:#fff;padding:.5rem 1rem;margin-left:.5rem;border-radius:4px;cursor:pointer}.buttons a:hover{background-color:#0d47a1}.sa-form-container{background:#fff;padding:16px;margin-top:60px}.sa-title{text-align:center;font-weight:700;color:#1e3a8a;margin-bottom:16px}.sa-tabs{display:flex;gap:8px;margin-bottom:16px;border-bottom:2px solid #e5e7eb}.sa-tab{padding:8px 16px;border:none;border-bottom:3px solid transparent;background:none;color:#4b5563;font-weight:500;cursor:pointer;transition:all .2s ease}.sa-tab.active{border-bottom:3px solid #6366f1;color:#1e3a8a;font-weight:600}.sa-tab:hover{background-color:#f9fafb}.sa-content{margin-top:16px}.sa-content h2{text-align:center;color:#0d47a1}
