.desktop-settings{display:flex;align-items:center;gap:12px}.desktop-lang-selector{position:relative;z-index:10000}.lang-dropdown-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#ffcc001a;border:2px solid rgba(255,204,0,.3);border-radius:12px;color:#fc0;cursor:pointer;transition:all .3s ease;font-size:14px;font-weight:500;min-width:140px}.lang-dropdown-btn:hover{background:#fc03;border-color:#fc0;box-shadow:0 4px 12px #ffcc004d}.lang-dropdown-btn .flag{font-size:20px}.lang-dropdown-btn .lang-label{font-weight:600}.lang-dropdown-btn i{margin-left:auto;font-size:12px;transition:transform .3s ease}.lang-dropdown-btn i.rotate{transform:rotate(180deg)}.lang-dropdown{min-width:200px;background:#1e1e1efa;backdrop-filter:blur(20px);border:2px solid rgba(255,204,0,.3);border-radius:12px;overflow:hidden;box-shadow:0 8px 24px #0006;animation:slideDown .3s ease}.lang-option{display:flex;align-items:center;gap:12px;padding:12px 16px;background:transparent;border:none;border-bottom:1px solid rgba(255,204,0,.1);color:#fff;cursor:pointer;transition:all .2s ease;width:100%;text-align:left;font-size:14px}.lang-option:last-child{border-bottom:none}.lang-option:hover{background:#ffcc001a}.lang-option.active{background:#ffcc0026;color:#fc0}.lang-option .flag{font-size:18px}.lang-option .lang-name{flex:1;font-weight:500}.lang-option i.fa-check{color:#fc0;font-size:14px}.desktop-theme-toggle{display:flex;align-items:center;justify-content:center;width:45px;height:45px;background:#ffcc001a;border:2px solid rgba(255,204,0,.3);border-radius:12px;color:#fc0;cursor:pointer;transition:all .3s ease;font-size:18px}.desktop-theme-toggle:hover{background:#fc03;border-color:#fc0;transform:translateY(-2px);box-shadow:0 5px 15px #ffcc004d}.desktop-theme-toggle:active{transform:scale(.95)}.desktop-theme-toggle i{transition:transform .3s ease}.desktop-theme-toggle:hover i{transform:rotate(20deg) scale(1.1)}body.light-theme .lang-dropdown-btn,body.light-theme .desktop-theme-toggle{background:#fff;border-color:#ffcc004d;color:#ff9500}body.light-theme .lang-dropdown-btn:hover,body.light-theme .desktop-theme-toggle:hover{background:#fffbf0;border-color:#fc0;box-shadow:0 4px 15px #fc03}body.light-theme .lang-dropdown{background:#fffffffa;border-color:#ffcc004d;box-shadow:0 8px 24px #00000026}body.light-theme .lang-option{color:#2d3748;border-bottom-color:#ffcc001a}body.light-theme .lang-option:hover{background:#ffcc001a}body.light-theme .lang-option.active{background:#fc03;color:#ff9500}body.light-theme .lang-option i.fa-check{color:#ff9500}.settings-btn{display:flex;align-items:center;justify-content:center;width:45px;height:45px;background:#ffcc001a;border:2px solid rgba(255,204,0,.3);border-radius:12px;color:#fc0;cursor:pointer;transition:all .3s ease;font-size:18px;position:relative;z-index:1}.settings-btn:hover{background:#fc03;border-color:#fc0;transform:translateY(-2px);box-shadow:0 5px 15px #ffcc004d}.settings-btn:active{transform:scale(.95)}.settings-btn i{transition:transform .3s ease}.settings-btn:hover i{transform:rotate(90deg)}.settings-backdrop{position:fixed;inset:0;background:#0009;backdrop-filter:blur(4px);z-index:9998;animation:fadeIn .3s ease}.settings-drawer{position:fixed;top:0;right:-100%;bottom:0;width:380px;max-width:90vw;background:#1e1e1efa;backdrop-filter:blur(20px);box-shadow:-10px 0 40px #00000080;z-index:9999;transition:right .4s cubic-bezier(.4,0,.2,1),visibility 0s .4s;display:flex;flex-direction:column;overflow:hidden;visibility:hidden;pointer-events:none;touch-action:none;user-select:none}.settings-drawer.open{right:0;visibility:visible;pointer-events:auto;touch-action:auto;user-select:auto;transition:right .4s cubic-bezier(.4,0,.2,1),visibility 0s 0s}.settings-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:28px 24px 20px;border-bottom:2px solid rgba(255,204,0,.2);flex-shrink:0;background:#0003}.settings-drawer-header h2{display:flex;align-items:center;gap:12px;color:#fc0;font-size:24px;margin:0;font-weight:600}.settings-drawer-header h2 i{font-size:26px}.close-btn{width:40px;height:40px;border-radius:50%;background:#ffcc001a;border:2px solid rgba(255,204,0,.3);color:#fc0;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;transition:all .3s ease}.close-btn:hover{background:#fc03;border-color:#fc0;transform:rotate(90deg)}.close-btn:active{transform:scale(.9)}.settings-drawer-content{padding:28px 24px;overflow-y:auto;flex:1;scrollbar-width:thin;scrollbar-color:rgba(255,204,0,.3) transparent}.settings-drawer-content::-webkit-scrollbar{width:6px}.settings-drawer-content::-webkit-scrollbar-track{background:transparent}.settings-drawer-content::-webkit-scrollbar-thumb{background:#ffcc004d;border-radius:3px}.settings-drawer-content::-webkit-scrollbar-thumb:hover{background:#ffcc0080}.settings-section{margin-bottom:32px}.settings-section:last-child{margin-bottom:0}.settings-section-header{display:flex;align-items:center;gap:10px;color:#fc0;font-weight:600;font-size:16px;margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid rgba(255,204,0,.2)}.settings-section-header i{font-size:20px}.theme-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.theme-option{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px 16px;background:#ffffff0d;border:2px solid rgba(255,204,0,.2);border-radius:16px;color:#fff;cursor:pointer;transition:all .3s ease;font-size:14px;font-weight:500;position:relative}.theme-option:active{transform:scale(.95)}.theme-option i:first-child{font-size:32px;color:#fc0}.theme-option.active{background:#ffcc0026;border-color:#fc0;box-shadow:0 4px 12px #ffcc004d}.theme-option .fa-check-circle{position:absolute;top:8px;right:8px;color:#fc0;font-size:18px}.language-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.lang-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px 16px;background:#ffffff0d;border:2px solid rgba(255,204,0,.2);border-radius:16px;color:#fff;cursor:pointer;transition:all .3s ease;position:relative;min-height:100px}.lang-card:active{transform:scale(.95)}.lang-card .flag{font-size:36px}.lang-card .lang-name{font-size:14px;font-weight:500;text-align:center}.lang-card.active{background:#ffcc0026;border-color:#fc0;box-shadow:0 4px 12px #ffcc004d}.lang-card .check-icon{position:absolute;top:8px;right:8px;color:#fc0;font-size:18px}body.light-theme .settings-btn{background:#fff;border-color:#ffcc004d;color:#ff9500}body.light-theme .settings-btn:hover{background:#fffbf0;border-color:#fc0;box-shadow:0 4px 15px #fc03}body.light-theme .settings-backdrop{background:#0006}body.light-theme .settings-drawer{background:#fffffffa;backdrop-filter:blur(20px);box-shadow:-10px 0 40px #00000026}body.light-theme .settings-drawer-header{border-bottom-color:#ff99004d;background:#ffcc000d}body.light-theme .settings-drawer-header h2{color:#ff9500}body.light-theme .settings-drawer-content::-webkit-scrollbar-thumb{background:#ff99004d}body.light-theme .settings-drawer-content::-webkit-scrollbar-thumb:hover{background:#ff990080}body.light-theme .close-btn{background:#ffcc001a;border-color:#ffcc004d;color:#ff9500}body.light-theme .close-btn:hover{background:#fc03;border-color:#fc0}body.light-theme .settings-section-header{color:#ff9500;border-bottom-color:#ff99004d}body.light-theme .theme-option{background:#ffcc000d;border-color:#fc03;color:#2d3748}body.light-theme .theme-option i:first-child{color:#ff9500}body.light-theme .theme-option.active{background:#fc03;border-color:#fc0;box-shadow:0 4px 12px #ff99004d}body.light-theme .theme-option .fa-check-circle{color:#ff9500}body.light-theme .lang-card{background:#ffcc000d;border-color:#fc03;color:#2d3748}body.light-theme .lang-card.active{background:#fc03;border-color:#fc0;box-shadow:0 4px 12px #ff99004d}body.light-theme .lang-card .check-icon{color:#ff9500}@media (max-width: 768px){.settings-btn{width:40px;height:40px;font-size:16px}.settings-drawer{width:100%;max-width:100vw}.settings-drawer-header{padding:24px 20px 16px}.settings-drawer-header h2{font-size:20px}.settings-drawer-content{padding:24px 20px}.theme-options,.language-grid{gap:10px}.theme-option,.lang-card{padding:16px 12px;min-height:90px}.theme-option i:first-child,.lang-card .flag{font-size:28px}}@media (min-width: 769px){.settings-drawer{width:420px}}html[dir=rtl] .settings-drawer{right:auto;left:-100%;box-shadow:10px 0 40px #00000080;transition:left .4s cubic-bezier(.4,0,.2,1),visibility 0s .4s;visibility:hidden;pointer-events:none}html[dir=rtl] .settings-drawer.open{left:0;right:auto;visibility:visible;pointer-events:auto;touch-action:auto;user-select:auto;transition:left .4s cubic-bezier(.4,0,.2,1),visibility 0s 0s}html[dir=rtl] body.light-theme .settings-drawer{box-shadow:10px 0 40px #00000026}.header{background:#ffffff0d;backdrop-filter:blur(10px);border-radius:20px;padding:30px;margin-bottom:30px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}.logo{display:flex;align-items:center;gap:15px}.logo i{font-size:40px;color:#fc0}.logo h1{font-size:28px;background:linear-gradient(135deg,#fc0,#ff9500);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.user-info{display:flex;align-items:center;gap:20px}.user-avatar{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,#fc0,#ff9500);display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;color:#1a1a2e}.user-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.user-details h3{font-size:18px;margin-bottom:5px;color:#fff}.user-details p{font-size:14px;color:#aaa}.logout-btn{background:linear-gradient(135deg,#ff4757,#ff6348);border:none;padding:12px 25px;border-radius:10px;color:#fff;cursor:pointer;font-size:16px;transition:transform .3s;display:flex;align-items:center;gap:8px}.logout-btn:hover{transform:translateY(-2px)}body.light-theme .header{background:#fffffff2;backdrop-filter:blur(20px);box-shadow:0 5px 20px #0000001a}body.light-theme .logo h1{background:linear-gradient(135deg,#ff9500,#fc0);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}body.light-theme .logo i{color:#ff9500}body.light-theme .user-details h3{color:#2d3748}body.light-theme .user-details p{color:#666}@media (max-width: 768px){.header{flex-direction:column;text-align:center;padding:20px 15px}.logo{flex-direction:column;gap:10px}.logo i{font-size:35px}.logo h1{font-size:22px}.user-info{flex-direction:column;width:100%}.logout-btn{width:100%;justify-content:center}}.loading{text-align:center;padding:40px;color:#fc0}.loading i{font-size:40px;animation:spin 1s linear infinite}.loading p{margin-top:15px;font-size:16px;color:#aaa}.exam-tabs-container{margin:20px 0;width:100%}.exam-tabs{display:flex;gap:10px;background:#ffffff0d;backdrop-filter:blur(10px);padding:15px;border-radius:15px;border:1px solid rgba(255,204,0,.2);flex-wrap:wrap}.exam-tab{flex:1;min-width:120px;padding:15px 20px;background:#ffffff0d;border:2px solid rgba(255,204,0,.3);border-radius:12px;color:#fff;font-size:16px;font-weight:500;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:8px}.exam-tab i{font-size:18px;color:#fc0}.exam-tab:hover{background:#ffcc001a;border-color:#ffcc0080;transform:translateY(-2px);box-shadow:0 5px 15px #fc03}.exam-tab.active{background:linear-gradient(135deg,#fc0,#ff9500);border-color:#fc0;color:#1a1a2e;font-weight:600;box-shadow:0 5px 20px #fc06}.exam-tab.active i{color:#1a1a2e}@media (max-width: 768px){.exam-tabs{gap:8px;padding:10px}.exam-tab{min-width:80px;padding:12px 15px;font-size:14px}.exam-tab i{font-size:16px}}@media (max-width: 480px){.exam-tabs{flex-direction:column}.exam-tab{width:100%;min-width:unset}}.form-group label{display:block;margin-bottom:8px;color:#fc0;font-weight:500}.form-group input{width:100%;padding:15px;border:2px solid rgba(255,204,0,.3);border-radius:10px;background:#ffffff0d;color:#fff;font-size:16px;transition:all .3s}.form-group input:focus{outline:none;border-color:#fc0;background:#ffffff1a}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:30px}.stat-card{background:#ffffff0d;backdrop-filter:blur(10px);border-radius:20px;padding:25px;display:flex;align-items:center;gap:20px;transition:transform .3s}.stat-card:hover{transform:translateY(-5px)}.stat-icon{width:60px;height:60px;border-radius:15px;display:flex;align-items:center;justify-content:center;font-size:28px}.stat-icon.total{background:linear-gradient(135deg,#667eea,#764ba2)}.stat-icon.average{background:linear-gradient(135deg,#fc0,#ff9500)}.stat-content h3{font-size:14px;color:#aaa;margin-bottom:5px}.stat-content p{font-size:28px;font-weight:700;color:#fff}@media (max-width: 768px){.stats-grid{grid-template-columns:1fr;gap:15px;margin-bottom:20px}.stat-card{padding:20px}.stat-icon{width:50px;height:50px;font-size:24px}.stat-content p{font-size:24px}}.payment-status-badge{display:flex;align-items:center;gap:12px;padding:12px 20px;border-radius:12px;backdrop-filter:blur(10px);border:2px solid;transition:all .3s ease;margin-bottom:20px;position:relative;z-index:1}.payment-status-badge.paid{background:#22c55e1a;border-color:#22c55e80}.payment-status-badge.overdue{background:#ef44441a;border-color:#ef444480;animation:pulse-overdue 2s ease-in-out infinite}.payment-status-badge.pending{background:#fbbf241a;border-color:#fbbf2480}@keyframes pulse-overdue{0%,to{box-shadow:0 0 #ef4444b3}50%{box-shadow:0 0 0 10px #ef444400}}.payment-icon{font-size:32px;display:flex;align-items:center;justify-content:center}.payment-status-badge.paid .payment-icon{color:#22c55e}.payment-status-badge.overdue .payment-icon{color:#ef4444}.payment-status-badge.pending .payment-icon{color:#fbbf24}.payment-info{display:flex;flex-direction:column;gap:4px;flex:1}.payment-label{font-size:18px;font-weight:600;color:#fff}.payment-date,.payment-amount{font-size:14px;color:#aaa}.payment-status-badge.paid .payment-label{color:#22c55e}.payment-status-badge.overdue .payment-label{color:#ef4444}.payment-status-badge.pending .payment-label{color:#fbbf24}@media (max-width: 768px){.payment-status-badge{padding:10px 15px;gap:10px}.payment-icon{font-size:24px}.payment-label{font-size:16px}.payment-date,.payment-amount{font-size:12px}}.filters{background:#ffffff0d;backdrop-filter:blur(10px);border-radius:20px;padding:25px;margin-bottom:30px}.filters h3{margin-bottom:20px;color:#fc0}.filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px}.filter-group{display:flex;flex-direction:column;gap:8px}.filter-group label{color:#aaa;font-size:14px}.filter-group select{padding:12px;border:2px solid rgba(255,204,0,.3);border-radius:10px;background:#1e1e32e6;color:#fff;font-size:14px;cursor:pointer;transition:all .3s ease}.filter-group select:disabled{opacity:.5;cursor:not-allowed;border-color:#ffcc001a}.filter-group select:focus{outline:none;border-color:#fc0;background:#28283cf2}.filter-group select option{background:#1e1e32;color:#fff;padding:10px}@media (max-width: 768px){.filters{padding:20px 15px;margin-bottom:20px}.filters h3{font-size:16px;margin-bottom:15px}.filter-grid{grid-template-columns:1fr;gap:12px}.filter-group select{padding:10px}}.grades-table-container{overflow-x:auto}.grades-table{width:100%;border-collapse:collapse}.grades-table thead{background:#ffcc001a}.grades-table th{padding:15px;text-align:left;color:#fc0;font-weight:600;border-bottom:2px solid rgba(255,204,0,.3)}.grades-table td{padding:15px;border-bottom:1px solid rgba(255,255,255,.1);color:#fff}.grades-table tbody tr{transition:background .3s}.grades-table tbody tr:hover{background:#ffffff0d}.grade-badge{display:inline-block;padding:6px 12px;border-radius:8px;font-weight:700;font-size:14px}.grade-badge.excellent{background:linear-gradient(135deg,#00d2ff,#3a7bd5)}.grade-badge.good{background:linear-gradient(135deg,#11998e,#38ef7d)}.grade-badge.average{background:linear-gradient(135deg,#fc0,#ff9500)}.grade-badge.poor{background:linear-gradient(135deg,#ff4757,#ff6348)}.exam-type-badge{display:inline-block;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600;background:#ffffff1a}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:10px;font-weight:600;font-size:14px}.status-badge.approved{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.status-badge.mid{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.status-badge.failed{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.grade-group{margin-bottom:40px}.group-title{color:#fc0;margin-bottom:20px;font-size:20px;display:flex;align-items:center;gap:10px}.group-title i{font-size:24px}@media (max-width: 768px){.grades-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;font-size:13px}.grades-table thead{display:none}.grades-table tbody{display:block}.grades-table tr{display:block;margin-bottom:20px;background:#ffffff0d;border-radius:12px;padding:15px;border:1px solid rgba(255,204,0,.2)}.grades-table td{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.05);text-align:right}.grades-table td:last-child{border-bottom:none}.grades-table td:before{content:attr(data-label);font-weight:600;color:#fc0;text-align:left;flex:1}.grade-badge{padding:5px 10px;font-size:12px}.exam-type-badge{padding:3px 8px;font-size:11px}}.messages-panel{position:fixed;top:0;right:-450px;width:450px;height:100vh;background:linear-gradient(135deg,#1a1a2e,#16213e);box-shadow:-5px 0 25px #00000080;z-index:10000;transition:right .4s cubic-bezier(.25,.46,.45,.94);display:flex;flex-direction:column}.messages-panel.active{right:0}.messages-header{padding:25px;background:#ffffff0d;backdrop-filter:blur(10px);border-bottom:2px solid rgba(255,204,0,.2);display:flex;justify-content:space-between;align-items:center}.messages-header h3{color:#08c;font-size:22px;display:flex;align-items:center;gap:10px}.close-messages{background:#ff475733;border:none;width:40px;height:40px;border-radius:50%;color:#ff4757;font-size:20px;cursor:pointer;transition:all .3s}.close-messages:hover{background:#ff475766;transform:rotate(90deg)}.clear-messages-btn{background:linear-gradient(135deg,#ff4757,#ff6348);border:none;padding:8px 16px;border-radius:20px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s;display:flex;align-items:center;gap:6px}.clear-messages-btn:hover{transform:translateY(-2px);box-shadow:0 5px 15px #ff47574d}.messages-content{flex:1;overflow-y:auto;padding:20px}.message-item{background:#ffffff0d;backdrop-filter:blur(10px);border-radius:15px;padding:20px;margin-bottom:15px;border-left:4px solid #FFCC00;transition:all .3s;animation:message-slide-in .5s ease-out;position:relative}@keyframes message-slide-in{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}.message-item:hover{transform:translate(-5px);box-shadow:0 8px 20px #fc03}.message-item:hover .delete-message-btn{opacity:1}.message-item.unread{border-left-color:#ff4757;background:#ff47571a}.message-header-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.message-type{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase}.message-type.payment{background:linear-gradient(135deg,#ff4757,#ff6348)}.message-type.reminder{background:linear-gradient(135deg,#f59e0b,#d97706)}.message-type.info{background:linear-gradient(135deg,#667eea,#764ba2)}.message-date{color:#aaa;font-size:13px}.message-text{color:#fff;line-height:1.8;margin-top:10px;white-space:pre-wrap;word-wrap:break-word;font-size:14px}.delete-message-btn{position:absolute;top:15px;right:15px;background:#ff475733;border:none;width:32px;height:32px;border-radius:50%;color:#ff4757;font-size:14px;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center;opacity:0}.delete-message-btn:hover{background:#ff4757;color:#fff;transform:scale(1.1) rotate(10deg)}.no-messages{text-align:center;padding:60px 20px;color:#aaa}.no-messages i{font-size:80px;margin-bottom:20px;color:#ffcc004d}.no-messages h3{font-size:24px;color:#fff;margin-bottom:10px}@media (max-width: 768px){.messages-panel{width:100%;right:-100%}.messages-panel.active{right:0}}.student-portal{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:linear-gradient(135deg,#1a1a2e,#16213e);min-height:100vh;color:#fff}.test-tabs-container{background:#ffffff08;backdrop-filter:blur(10px);border-radius:15px;padding:20px;margin-bottom:25px}.test-tabs{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.test-tab{flex:1;min-width:120px;padding:12px 20px;background:#1a1a2e99;backdrop-filter:blur(10px);border:2px solid rgba(255,204,0,.2);border-radius:10px;cursor:pointer;transition:all .3s;font-size:14px;font-weight:600;color:#aaa;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 2px 10px #0003}.test-tab:hover{background:#1a1a2ecc;border-color:#ffcc0080;color:#fff;transform:translateY(-2px);box-shadow:0 4px 15px #fc03}.test-tab.active{background:linear-gradient(135deg,#fc03,#ff950033);border-color:#fc0;color:#fc0;box-shadow:0 4px 20px #ffcc004d;transform:scale(1.05)}.test-tab.exam-tab{border-color:#ff95004d}.test-tab.exam-tab:hover{border-color:#ff950099}.test-tab.exam-tab.active{background:linear-gradient(135deg,#ff95004d,#ffcc004d);border-color:#ff9500;color:#ff9500;box-shadow:0 4px 20px #ff950066}.test-tab i{font-size:16px}@media (max-width: 768px){.test-tabs{flex-direction:column}.test-tab{min-width:100%}}.container{max-width:1400px;margin:0 auto;padding:20px}.messages-btn{background:linear-gradient(135deg,#08c,#229ed9);border:none;padding:12px 25px;border-radius:10px;color:#fff;cursor:pointer;font-size:16px;transition:all .3s;position:relative;display:flex;align-items:center;gap:8px;margin-right:10px;box-shadow:0 4px 15px #0088cc4d}.messages-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0088cc80}.message-badge{position:absolute;top:5px;right:5px;background:#ff4757;border-radius:50%;width:12px;height:12px;border:2px solid white;animation:badge-pulse 2s ease-in-out infinite}@keyframes badge-pulse{0%,to{transform:scale(1);box-shadow:0 0 #ff4757b3}50%{transform:scale(1.1);box-shadow:0 0 0 8px #ff475700}}.grades-section{background:#ffffff0d;backdrop-filter:blur(10px);border-radius:20px;padding:30px;margin-top:30px}.grades-section h2{margin-bottom:25px;color:#fc0;display:flex;align-items:center;gap:10px}.no-grades{text-align:center;padding:60px 20px;color:#aaa}.no-grades i{font-size:80px;margin-bottom:20px;color:#ffcc004d}.no-grades h3{font-size:24px;margin-bottom:10px;color:#fff}@media (max-width: 768px){.container{padding:10px}.grades-section{padding:20px 15px}.grades-section h2{font-size:18px}.no-grades i{font-size:60px}.no-grades h3{font-size:20px}}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:20px;background:linear-gradient(135deg,#1a1a2e,#16213e)}.login-box{background:#ffffff0d;backdrop-filter:blur(10px);border-radius:20px;padding:40px;width:100%;max-width:450px;box-shadow:0 8px 32px #0000004d}.login-box h2{text-align:center;margin-bottom:10px;font-size:32px;background:linear-gradient(135deg,#fc0,#ff9500);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.login-box p{text-align:center;color:#aaa;margin-bottom:30px}.form-group{margin-bottom:25px}.form-group label{display:block;margin-bottom:8px;color:#fc0;font-weight:600}.form-group input{width:100%;padding:12px 15px;border:2px solid rgba(255,204,0,.3);border-radius:8px;background:#ffffff0d;color:#fff;font-size:15px;transition:all .3s}.form-group input:focus{outline:none;border-color:#fc0;box-shadow:0 0 0 3px #ffcc001a}.login-btn{width:100%;padding:15px;background:linear-gradient(135deg,#fc0,#ff9500);border:none;border-radius:10px;color:#1a1a2e;font-size:18px;font-weight:700;cursor:pointer;transition:transform .3s;display:flex;align-items:center;justify-content:center;gap:10px}.login-btn:hover:not(:disabled){transform:translateY(-2px)}.login-btn:disabled{opacity:.7;cursor:not-allowed}.error-message{background:#ff475733;border:1px solid #ff4757;color:#ff4757;padding:12px;border-radius:10px;margin-bottom:20px;text-align:center}@media (max-width: 768px){.login-box{padding:30px 20px}.login-box h2{font-size:26px}}.formation-selector{margin-bottom:30px}.formation-selector h3{color:#fc0;margin-bottom:20px;display:flex;align-items:center;gap:10px;font-size:18px}.auto-assigned-badge{background:#fc03;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;color:#fc0}.formation-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px}.formation-btn{padding:15px 20px;background:#ffffff0d;border:2px solid rgba(255,204,0,.3);border-radius:12px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;transition:all .3s;display:flex;align-items:center;justify-content:center;gap:10px}.formation-btn:hover:not(:disabled){border-color:#fc0;background:#ffcc001a;transform:translateY(-2px);box-shadow:0 5px 15px #ffcc004d}.formation-btn.active{border-color:#fc0;background:linear-gradient(135deg,#fc03,#ff950033);box-shadow:0 5px 20px #fc06;transform:scale(1.05)}.formation-btn:disabled{opacity:.7;cursor:not-allowed}@media (max-width: 768px){.formation-grid{grid-template-columns:1fr}.formation-btn{padding:12px 15px}}.group-selector{margin-bottom:30px}.group-selector h3{color:#fc0;margin-bottom:20px;display:flex;align-items:center;gap:10px;font-size:18px}.group-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:15px}.group-btn{padding:20px;background:#ffffff0d;border:2px solid rgba(255,204,0,.3);border-radius:12px;color:#fff;cursor:pointer;transition:all .3s;text-align:left}.group-btn:hover{border-color:#fc0;background:#ffcc001a;transform:translateY(-2px);box-shadow:0 5px 15px #ffcc004d}.group-btn.active{border-color:#fc0;background:linear-gradient(135deg,#fc03,#ff950033);box-shadow:0 5px 20px #fc06}.group-name{font-size:18px;font-weight:600;margin-bottom:10px;color:#fff}.group-info{display:flex;flex-direction:column;gap:5px;font-size:14px;color:#aaa}.group-info span{display:flex;align-items:center;gap:8px}.group-info i{color:#fc0;width:16px}.no-groups{grid-column:1 / -1;text-align:center;padding:40px 20px;color:#aaa}.no-groups i{font-size:48px;margin-bottom:15px;color:#ffcc004d}@media (max-width: 768px){.group-grid{grid-template-columns:1fr}}.level-progress-tracker{margin-top:20px;padding:20px;background:#1a1a2e66;backdrop-filter:blur(20px);border-radius:20px;border:1px solid rgba(255,204,0,.15);box-shadow:0 8px 32px #0000004d}.progress-header{margin-bottom:25px}.progress-header-content{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.progress-info{display:flex;flex-direction:column;gap:5px}.progress-level{font-size:28px;font-weight:700;background:linear-gradient(135deg,#fc0,#ff9500);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:1px}.progress-label{font-size:13px;color:#fff9;text-transform:uppercase;letter-spacing:1.5px;font-weight:600}.progress-stats{display:flex;align-items:baseline;gap:10px}.progress-count{font-size:24px;font-weight:700;color:#fc0}.progress-percentage{font-size:16px;color:#ffcc00b3;font-weight:600}.progress-bar-container{position:relative;height:8px;background:#ffffff0d;border-radius:10px;overflow:hidden;box-shadow:inset 0 2px 8px #0000004d}.progress-bar-fill{position:relative;height:100%;background:linear-gradient(90deg,#fc0,#ff9500);border-radius:10px;transition:width .8s cubic-bezier(.4,0,.2,1);box-shadow:0 0 20px #ffcc0080}.progress-bar-glow{position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.progress-capsules{display:flex;flex-direction:column;gap:12px}.progress-capsule{position:relative;background:#ffffff08;backdrop-filter:blur(10px);border-radius:16px;padding:18px 20px;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);border:1px solid rgba(255,255,255,.08);overflow:hidden;min-height:80px}.progress-capsule:hover{transform:translateY(-2px);border-color:#ffcc004d;box-shadow:0 8px 30px #ffcc0026}.progress-capsule.expanded{padding-bottom:24px}.progress-capsule.pending{border-color:#ffffff14}.progress-capsule.in-progress{border-color:#ffcc004d;background:#ffcc000d}.progress-capsule.completed{border-color:#10b98166;background:#10b98114}.progress-capsule.final-exam{border:2px solid rgba(255,204,0,.4);background:linear-gradient(135deg,#ffcc0014,#ff950014)}.capsule-glow{position:absolute;inset:0;background:radial-gradient(circle at 50% 0%,rgba(255,204,0,.15),transparent 70%);opacity:0;transition:opacity .4s;pointer-events:none}.progress-capsule:hover .capsule-glow{opacity:1}.progress-capsule.completed .capsule-glow{background:radial-gradient(circle at 50% 0%,rgba(16,185,129,.2),transparent 70%)}.capsule-fill{position:absolute;top:0;left:0;bottom:0;background:linear-gradient(90deg,#ffcc001a,#ff95001a);transition:width .6s cubic-bezier(.4,0,.2,1);pointer-events:none;border-radius:16px 0 0 16px}.progress-capsule.completed .capsule-fill{background:linear-gradient(90deg,#10b98126,#38ef7d26)}.capsule-content{position:relative;z-index:1}.capsule-header{display:flex;align-items:center;gap:15px}.capsule-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#ffffff0d;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);transition:all .3s}.capsule-icon i{font-size:20px;color:#fff6;transition:all .3s}.progress-capsule.in-progress .capsule-icon{background:#ffcc0026;border-color:#ffcc004d}.progress-capsule.in-progress .capsule-icon i{color:#fc0;animation:pulse 2s infinite}.progress-capsule.completed .capsule-icon{background:#10b98133;border-color:#10b98166}.progress-capsule.completed .capsule-icon i{color:#10b981}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}.capsule-info{flex:1;display:flex;flex-direction:column;gap:4px}.capsule-info h4{font-size:16px;font-weight:600;color:#fff;margin:0}.capsule-status{font-size:13px;color:#ffffff80;font-weight:500}.progress-capsule.in-progress .capsule-status{color:#fc0}.progress-capsule.completed .capsule-status{color:#10b981}.capsule-progress-indicator{position:relative;width:40px;height:40px}.progress-circle{transition:stroke-dasharray .6s cubic-bezier(.4,0,.2,1)}.progress-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:11px;font-weight:700;color:#fc0}.capsule-details{margin-top:20px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);animation:slideDown .4s cubic-bezier(.4,0,.2,1)}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.detail-item{display:flex;flex-direction:column;gap:6px;padding:12px 14px;background:#ffffff08;border-radius:10px;border:1px solid rgba(255,255,255,.08);transition:all .3s}.detail-item:hover{background:#ffffff0d;border-color:#fc03}.detail-item.uploaded{border-color:#10b9814d;background:#10b9810d}.detail-item.missing{opacity:.5}.detail-item i{font-size:16px;color:#fc0;margin-bottom:4px}.detail-item.uploaded i{color:#10b981}.detail-label{font-size:13px;font-weight:600;color:#fff}.detail-score{font-size:18px;font-weight:700;color:#fc0}.detail-item.uploaded .detail-score{color:#10b981}.detail-date{font-size:11px;color:#ffffff80}.detail-missing{font-size:12px;color:#fff6;font-style:italic}@media (max-width: 768px){.level-progress-tracker{padding:15px}.progress-level{font-size:24px}.progress-count{font-size:20px}.progress-capsule{padding:15px}.capsule-header{gap:12px}.capsule-icon{width:40px;height:40px}.capsule-icon i{font-size:18px}.capsule-info h4{font-size:15px}.details-grid{grid-template-columns:1fr;gap:10px}.detail-item{padding:10px 12px}}.progress-capsule{animation:fadeInUp .5s cubic-bezier(.4,0,.2,1) backwards}.progress-capsule:nth-child(1){animation-delay:.1s}.progress-capsule:nth-child(2){animation-delay:.15s}.progress-capsule:nth-child(3){animation-delay:.2s}.progress-capsule:nth-child(4){animation-delay:.25s}.progress-capsule:nth-child(5){animation-delay:.3s}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}*{transition-timing-function:cubic-bezier(.4,0,.2,1)}.students-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(450px,1fr));gap:30px;margin-top:30px}.student-card{background:#1a1a2e99;backdrop-filter:blur(10px);border-radius:16px;padding:30px;box-shadow:0 4px 15px #0000004d;transition:all .3s;border:2px solid rgba(255,204,0,.2)}.student-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #ffcc004d;border-color:#fc0}.student-header{display:flex;align-items:center;gap:15px;margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid rgba(255,204,0,.2)}.student-avatar{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#fc0,#ff9500);display:flex;align-items:center;justify-content:center;color:#1a1a2e;font-size:24px;font-weight:700;box-shadow:0 4px 10px #ffcc004d;flex-shrink:0}.student-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.student-info h3{font-size:18px;color:#fff;margin-bottom:5px}.student-info p{color:#999;font-size:14px}.modules-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.module-box{background:#ffffff0d;padding:25px 20px;border-radius:12px;cursor:pointer;transition:all .3s;text-align:center;border:2px solid rgba(255,204,0,.3);position:relative;overflow:hidden;min-height:140px;display:flex;flex-direction:column;justify-content:center}.module-box:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,204,0,.1),transparent);transition:left .5s}.module-box:hover:before{left:100%}.module-box:hover{transform:scale(1.05);border-color:#fc0;box-shadow:0 4px 15px #fc03}.module-box.completed{background:linear-gradient(135deg,#28a74533,#38ef7d1a);border-color:#28a745}.module-box.completed:hover{border-color:#218838;box-shadow:0 4px 15px #28a7454d}.module-icon{font-size:32px;margin-bottom:12px;color:#fc0}.module-box.completed .module-icon{color:#28a745}.module-name{font-weight:700;font-size:16px;color:#fff;margin-bottom:10px}.module-grade{font-size:20px;font-weight:700;color:#28a745}.module-grade span{font-size:14px;color:#666}.module-empty{color:#999;font-size:13px}.student-actions{display:flex;flex-direction:column;gap:15px;margin-top:20px}.btn-enter-grades{background:linear-gradient(135deg,#fc0,#ff9500);color:#1a1a2e;border:none;padding:15px 25px;border-radius:12px;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 4px 15px #ffcc004d}.btn-enter-grades:hover{transform:translateY(-2px);box-shadow:0 6px 20px #fc06}.btn-enter-grades:active{transform:translateY(0)}.btn-enter-grades i{font-size:18px}.grade-summary{text-align:center;padding:12px;background:#ffffff0d;border-radius:8px;border:1px solid rgba(255,204,0,.2)}.grades-count{color:#28a745;font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px}.grades-count i{font-size:16px}.no-grades{color:#999;font-size:14px;display:flex;align-items:center;justify-content:center;gap:8px}.no-grades i{font-size:16px}.loading-students{text-align:center;padding:40px;color:#fc0;font-size:16px}@media (max-width: 768px){.students-grid{grid-template-columns:1fr;gap:15px}.student-card{padding:20px 15px}.student-header{flex-direction:column;text-align:center}.student-avatar{width:55px;height:55px;font-size:22px}.modules-grid{grid-template-columns:1fr;gap:12px}.module-box{padding:20px 15px;min-height:120px}.module-icon{font-size:28px}.module-name{font-size:15px}.module-grade{font-size:18px}}.modal-overlay{display:flex;position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;z-index:1000;align-items:center;justify-content:center;animation:fadeIn .3s;padding:20px}.modal-content{background:#1a1a2e;border-radius:20px;padding:30px;width:95%;max-height:90vh;overflow-y:auto;animation:slideUp .3s;position:relative}.modal-small{max-width:400px}.modal-medium{max-width:600px}.modal-large{max-width:1150px}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.modal-header h2{color:#fc0;font-size:1.5rem}.modal-close{background:#ff475733;border:none;width:40px;height:40px;border-radius:50%;color:#ff4757;font-size:20px;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:#ff475766;transform:rotate(90deg)}.modal-body{color:#fff}@media (max-width: 768px){.modal-content{padding:25px 20px;max-width:95%;max-height:85vh}.modal-header h2{font-size:1.2rem}.modal-close{width:35px;height:35px;font-size:18px}}.grade-modal-content{color:#fff}.existing-grades{margin-bottom:30px;padding-bottom:30px;border-bottom:2px solid rgba(255,204,0,.2)}.existing-grades h3{color:#fc0;margin-bottom:15px;font-size:18px}.grades-list{display:flex;flex-direction:column;gap:10px}.grade-item{background:#ffffff0d;padding:15px;border-radius:10px;display:flex;justify-content:space-between;align-items:center;border:1px solid rgba(255,204,0,.2)}.grade-item-info{display:flex;flex-direction:column;gap:5px}.grade-item-info strong{color:#fc0;font-size:16px}.grade-item-info span{color:#aaa;font-size:14px}.grade-item-actions{display:flex;gap:10px}.btn-edit-small,.btn-delete-small{padding:8px 12px;border:none;border-radius:8px;cursor:pointer;font-size:14px;transition:all .3s}.btn-edit-small{background:linear-gradient(135deg,#fc0,#ff9500);color:#1a1a2e}.btn-edit-small:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ffcc004d}.btn-delete-small{background:linear-gradient(135deg,#ff4757,#ff6348);color:#fff}.btn-delete-small:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ff47574d}.grade-form-section{position:relative}.grade-form-section h3{color:#fc0;margin-bottom:20px;font-size:18px}.btn-cancel-edit{position:absolute;top:0;right:0;background:#ff475733;border:1px solid #ff4757;color:#ff4757;padding:8px 16px;border-radius:8px;cursor:pointer;font-size:14px;transition:all .3s}.btn-cancel-edit:hover{background:#ff475766}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-bottom:20px}.form-group label{color:#fc0;font-weight:600;font-size:14px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px 15px;border:2px solid rgba(255,204,0,.3);border-radius:8px;background:#ffffff0d;color:#fff;font-size:15px;transition:all .3s;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#fc0;box-shadow:0 0 0 3px #ffcc001a}.form-group textarea{resize:vertical}.form-group select option{background:#1a1a2e;color:#fff}.form-actions{display:flex;gap:15px;justify-content:flex-end;margin-top:25px;padding-top:20px;border-top:1px solid rgba(255,204,0,.2)}.btn-primary,.btn-secondary{padding:12px 24px;border:none;border-radius:10px;cursor:pointer;font-size:16px;font-weight:600;transition:all .3s;display:flex;align-items:center;gap:8px}.btn-primary{background:linear-gradient(135deg,#fc0,#ff9500);color:#1a1a2e}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #ffcc004d}.btn-primary:disabled{opacity:.7;cursor:not-allowed}.btn-secondary{background:#ffffff0d;color:#fff;border:2px solid rgba(255,204,0,.3)}.btn-secondary:hover{border-color:#fc0;background:#ffcc001a}.error-message{background:#ff475733;border:1px solid #ff4757;color:#ff4757;padding:12px;border-radius:10px;margin-bottom:20px}@media (max-width: 768px){.form-row{grid-template-columns:1fr}.grade-item{flex-direction:column;align-items:flex-start;gap:15px}.grade-item-actions{width:100%;justify-content:flex-end}.btn-cancel-edit{position:static;width:100%;margin-bottom:15px}.form-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%;justify-content:center}}.language-grade-modal{display:flex;flex-direction:column;gap:24px;max-height:80vh;overflow-y:auto;padding:4px}.level-selector h3{margin:0 0 16px;color:#1f2937;font-size:1.1rem}.level-tabs{display:flex;gap:12px;flex-wrap:wrap}.level-tab{flex:1;min-width:80px;padding:12px 24px;background:#ffffff0d;border:2px solid rgba(255,204,0,.2);border-radius:12px;font-size:1.1rem;font-weight:600;color:#a0a0a0;cursor:pointer;transition:all .3s ease}.level-tab:hover{background:#ffcc001a;border-color:#fc06;transform:translateY(-2px);box-shadow:0 4px 12px #fc03}.level-tab.active{background:linear-gradient(135deg,#fc0,#ff9500);border-color:#fc0;color:#1a1a2e;box-shadow:0 4px 16px #fc06}.level-progress{background:#ffffff0d;border:2px solid rgba(255,204,0,.2);border-radius:16px;padding:20px}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.progress-header h4{margin:0;color:#fc0;font-size:1rem}.progress-count{font-weight:600;color:#ff9500;font-size:.95rem}.progress-bar{height:12px;background:#ffffff1a;border-radius:6px;overflow:hidden;margin-bottom:12px}.progress-fill{height:100%;background:linear-gradient(90deg,#fc0,#ff9500);transition:width .5s ease;border-radius:6px}.progress-details{display:flex;justify-content:space-between;font-size:.9rem;color:#a0a0a0}.existing-grades{background:#ffffff0d;border:2px solid rgba(255,204,0,.2);border-radius:16px;padding:20px}.existing-grades h3{margin:0 0 16px;color:#fc0;font-size:1.1rem}.grades-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.grade-card{background:#ffffff08;border:2px solid rgba(255,204,0,.15);border-radius:12px;padding:16px;transition:all .3s ease}.grade-card:hover{border-color:#fc06;box-shadow:0 4px 12px #ffcc0026;transform:translateY(-2px);background:#ffcc000d}.grade-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.grade-test-info{display:flex;flex-direction:column;gap:4px}.grade-test-info strong{color:#fc0;font-size:.95rem}.grade-exam-type{color:#a0a0a0;font-size:.85rem}.grade-actions{display:flex;gap:8px}.btn-edit-icon,.btn-delete-icon{width:32px;height:32px;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.btn-edit-icon{background:#3b82f633;color:#60a5fa}.btn-edit-icon:hover{background:#3b82f666;color:#93c5fd}.btn-delete-icon{background:#ef444433;color:#f87171}.btn-delete-icon:hover{background:#ef444466;color:#fca5a5}.grade-card-body{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-top:1px solid rgba(255,204,0,.2);border-bottom:1px solid rgba(255,204,0,.2)}.grade-score{display:flex;flex-direction:column;gap:4px}.score-value{font-size:1.5rem;font-weight:700;color:#fc0}.score-percentage{font-size:.85rem;color:#a0a0a0}.grade-status{display:flex;align-items:center;gap:6px;font-weight:600;font-size:.9rem}.status-icon{font-size:1.2rem}.grade-comment{margin-top:12px;padding:10px;background:#ffffff0d;border:1px solid rgba(255,204,0,.2);border-radius:8px;font-size:.85rem;color:#a0a0a0;font-style:italic}.form-section{background:#ffffff0d;border:2px solid rgba(255,204,0,.2);border-radius:16px;padding:24px}.form-section h3{margin:0 0 20px;color:#fc0;font-size:1.2rem}.btn-cancel-edit{margin-bottom:16px;padding:8px 16px;background:#fee2e2;color:#dc2626;border:1px solid #fca5a5;border-radius:8px;cursor:pointer;font-size:.9rem;transition:all .2s ease}.btn-cancel-edit:hover{background:#fca5a5}.error-message{padding:12px;background:#fee2e2;color:#dc2626;border:1px solid #fca5a5;border-radius:8px;margin-bottom:16px;font-size:.9rem}.form-section{margin-bottom:24px}.section-label{display:block;margin-bottom:12px;color:#374151;font-weight:600;font-size:.95rem}.test-type-selector{display:grid;grid-template-columns:1fr 1fr;gap:12px}.test-type-btn{padding:16px;background:#ffffff0d;border:2px solid rgba(255,204,0,.2);border-radius:12px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:8px;font-size:1rem;font-weight:500;color:#a0a0a0}.test-type-btn:hover{border-color:#fc06;background:#ffcc001a}.test-type-btn.active{background:linear-gradient(135deg,#fc0,#ff9500);border-color:#fc0;color:#1a1a2e;box-shadow:0 4px 12px #ffcc004d}.test-type-btn i{font-size:1.2rem}.test-number-selector{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.test-number-btn{padding:12px;background:#ffffff0d;border:2px solid rgba(255,204,0,.2);border-radius:10px;cursor:pointer;transition:all .3s ease;font-weight:600;color:#a0a0a0}.test-number-btn:hover{border-color:#fc06;background:#ffcc001a}.test-number-btn.active{background:linear-gradient(135deg,#10b981,#059669);border-color:#10b981;color:#fff;box-shadow:0 4px 12px #10b9814d}.exam-type-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.exam-type-card{padding:16px;background:#ffffff0d;border:2px solid rgba(255,204,0,.2);border-radius:12px;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.exam-type-card:hover{border-color:#fc06;background:#ffcc001a;transform:translateY(-2px)}.exam-type-card.active{background:linear-gradient(135deg,#fc0,#ff9500);border-color:#fc0;color:#1a1a2e;box-shadow:0 4px 12px #ffcc004d}.exam-icon{font-size:2rem;color:#fc0}.exam-label{font-weight:500;font-size:.9rem;color:#a0a0a0}.exam-type-card.active .exam-label,.exam-type-card.active .exam-icon{color:#1a1a2e}.exam-type-card.has-grade{background:#10b98126;border-color:#10b98166}.exam-type-card.has-grade:hover{background:#10b98140;border-color:#10b98199}.exam-type-card.has-grade.active{background:linear-gradient(135deg,#fc0,#ff9500);border-color:#fc0}.grade-indicator{position:absolute;top:8px;right:8px;color:#10b981;font-size:1.2rem}.exam-type-card.active .grade-indicator{color:#1a1a2e}.exam-type-card{position:relative}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:16px}.form-group label{color:#fc0;font-weight:500;font-size:.9rem}.form-group input,.form-group textarea,.form-group select{padding:10px 12px;background:#ffffff0d;border:2px solid rgba(255,204,0,.2);border-radius:8px;font-size:.95rem;color:#fff;transition:all .2s ease}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#fc0;background:#ffcc001a;box-shadow:0 0 0 3px #ffcc001a}.form-group textarea{resize:vertical;font-family:inherit}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:24px;border-top:2px solid rgba(255,204,0,.2)}.btn-secondary,.btn-primary{padding:12px 24px;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px}.btn-secondary{background:#ffffff0d;border:2px solid rgba(255,204,0,.2);color:#a0a0a0}.btn-secondary:hover{background:#ffffff1a;border-color:#fc06}.btn-primary{background:linear-gradient(135deg,#fc0,#ff9500);color:#1a1a2e;box-shadow:0 4px 12px #ffcc004d;font-weight:700}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px #fc06}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}@media (max-width: 768px){.level-tabs{grid-template-columns:repeat(2,1fr)}.grades-grid,.exam-type-grid,.test-type-selector,.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.btn-secondary,.btn-primary{width:100%;justify-content:center}}.batch-language-grade-modal{max-width:1100px;width:100%;overflow-x:visible}.student-info-header{background:linear-gradient(135deg,#ffcc001a,#ff95001a);padding:15px 18px;border-radius:12px;margin-bottom:20px;border:2px solid rgba(255,204,0,.3)}.student-info-header h3{color:#fc0;font-size:20px;margin-bottom:5px}.student-info-header p{color:#999;font-size:14px}.level-display{background:linear-gradient(135deg,#ffcc0026,#ff950026);padding:12px 18px;border-radius:10px;margin-bottom:20px;border:2px solid rgba(255,204,0,.4);display:flex;align-items:center;gap:12px;font-size:16px}.level-display i{color:#fc0;font-size:20px}.level-display .level-label{color:#999;font-weight:600}.level-display .level-value{color:#fc0;font-weight:700;font-size:18px}.selection-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:20px}.form-group label{color:#fc0;font-size:14px;font-weight:600}.form-group select,.form-group input{background:#ffffff0d;border:2px solid rgba(255,204,0,.3);border-radius:8px;padding:10px 15px;color:#fff;font-size:14px;transition:all .3s}.grades-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;margin-bottom:20px;max-width:100%;overflow-x:visible}.grade-entry-card{background:#ffffff0d;border:2px solid rgba(255,204,0,.2);border-radius:12px;padding:16px;transition:all .3s;min-width:0}.grade-entry-card:hover{border-color:#fc0;box-shadow:0 4px 15px #fc03}.grade-entry-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid rgba(255,204,0,.2)}.grade-entry-header i{color:#fc0;font-size:20px}.grade-entry-header h4{color:#fff;font-size:15px;flex:1;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-delete-grade{background:#dc354533;border:1px solid #dc3545;color:#dc3545;padding:6px 10px;border-radius:6px;cursor:pointer;transition:all .3s;font-size:12px}.btn-delete-grade:hover{background:#dc3545;color:#fff}.grade-inputs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}.input-group{display:flex;flex-direction:column;gap:6px}.input-group label{color:#999;font-size:12px;font-weight:600}.input-group input,.input-group textarea{background:#ffffff0d;border:1px solid rgba(255,204,0,.3);border-radius:6px;padding:8px 10px;color:#fff;font-size:14px;transition:all .3s;width:100%;box-sizing:border-box}.input-group input:focus,.input-group textarea:focus{outline:none;border-color:#fc0;box-shadow:0 0 0 2px #ffcc001a}.input-group textarea{resize:vertical;font-family:inherit}.existing-grade-badge{background:#28a74533;border:1px solid #28a745;color:#28a745;padding:8px 12px;border-radius:6px;font-size:12px;font-weight:600;display:flex;align-items:center;gap:6px;margin-top:10px}.existing-grade-badge i{font-size:14px}.error-message{background:#dc354533;border:1px solid #dc3545;color:#dc3545;padding:12px 15px;border-radius:8px;margin-bottom:20px;font-size:14px;display:flex;align-items:center;gap:8px}.error-message:before{content:"";font-family:"Font Awesome 5 Free";font-weight:900}.upload-progress{background:#ffcc001a;border:1px solid #FFCC00;color:#fc0;padding:12px 15px;border-radius:8px;margin-bottom:20px;font-size:14px;display:flex;align-items:center;gap:10px;font-weight:600}.upload-progress i{font-size:16px}.modal-actions{display:flex;gap:15px;justify-content:flex-end;padding-top:20px;border-top:2px solid rgba(255,204,0,.2)}.btn-cancel,.btn-submit{padding:12px 25px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s;border:none;display:flex;align-items:center;gap:8px}.btn-cancel{background:#ffffff1a;color:#999;border:1px solid rgba(255,255,255,.2)}.btn-cancel:hover:not(:disabled){background:#ffffff26;color:#fff}.btn-submit{background:linear-gradient(135deg,#fc0,#ff9500);color:#1a1a2e;box-shadow:0 4px 15px #ffcc004d}.btn-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #fc06}.btn-submit:disabled,.btn-cancel:disabled{opacity:.5;cursor:not-allowed}.btn-submit i{font-size:16px}@media (max-width: 768px){.batch-language-grade-modal{max-width:100%}.selection-row{grid-template-columns:1fr}.grades-grid{grid-template-columns:1fr;gap:15px}.grade-inputs{grid-template-columns:1fr}.modal-actions{flex-direction:column-reverse}.btn-cancel,.btn-submit{width:100%;justify-content:center}}.attendance-qr{display:grid;gap:25px}.qr-generator-card,.qr-display-card{background:#1a1a2ecc;backdrop-filter:blur(10px);border-radius:20px;padding:30px;box-shadow:0 10px 40px #00000080;border:1px solid rgba(255,204,0,.2)}.qr-generator-card h2,.qr-display-card h2{font-size:24px;margin-bottom:25px;background:linear-gradient(135deg,#fc0,#ff9500);-webkit-background-clip:text;-webkit-text-fill-color:transparent;display:flex;align-items:center;gap:10px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:25px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:14px;font-weight:600;color:#fc0;display:flex;align-items:center;gap:8px}.form-group select,.form-group input{background:#ffffff0d;border:1px solid rgba(255,204,0,.3);border-radius:12px;padding:12px 16px;color:#fff;font-size:16px;transition:all .3s ease}.form-group select:focus,.form-group input:focus{outline:none;border-color:#fc0;box-shadow:0 0 0 3px #ffcc001a}.form-group select:disabled{opacity:.6;cursor:not-allowed}.auto-assigned{color:#fc0;font-size:12px;font-style:italic}.btn-generate{width:100%;background:linear-gradient(135deg,#fc0,#ff9500);color:#1a1a2e;border:none;padding:16px 32px;border-radius:12px;cursor:pointer;font-size:18px;font-weight:700;transition:all .3s ease;box-shadow:0 4px 15px #ffcc004d;display:flex;align-items:center;justify-content:center;gap:10px}.btn-generate:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #fc06}.btn-generate:disabled{opacity:.5;cursor:not-allowed;transform:none}.qr-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-bottom:25px}.info-item{background:#ffcc001a;border:1px solid rgba(255,204,0,.3);border-radius:12px;padding:15px;display:flex;align-items:center;gap:12px}.info-item i{font-size:24px;color:#fc0}.info-item span{font-size:16px;font-weight:600;color:#fff}.qr-code-container{display:flex;flex-direction:column;align-items:center;gap:20px;padding:30px;background:#ffffff0d;border-radius:20px;margin-bottom:25px}.qr-code-container img{max-width:400px;width:100%;height:auto;border-radius:12px;box-shadow:0 10px 30px #0000004d}.qr-timer{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:600;color:#fc0}.qr-timer.expiring{color:#ff4757;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.qr-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px}.btn-download{background:#ffcc001a;border:2px solid #FFCC00;color:#fc0;padding:14px 24px;border-radius:12px;cursor:pointer;font-size:16px;font-weight:600;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:10px}.btn-download:hover{background:#fc0;color:#1a1a2e;transform:translateY(-2px)}.btn-cancel{background:#ef44441a;border:2px solid #ef4444;color:#ef4444;padding:14px 24px;border-radius:12px;cursor:pointer;font-size:16px;font-weight:600;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:10px}.btn-cancel:hover:not(:disabled){background:#ef4444;color:#fff;transform:translateY(-2px)}.btn-cancel:disabled{opacity:.5;cursor:not-allowed}.session-id-card{background:#ffcc001a;border:2px solid rgba(255,204,0,.3);border-radius:15px;padding:20px;margin-top:25px}.session-id-header{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:600;color:#fc0;margin-bottom:15px}.session-id-display{display:flex;align-items:center;gap:15px;background:#0000004d;padding:15px 20px;border-radius:10px;margin-bottom:15px}.session-id-display code{flex:1;font-size:24px;font-weight:700;color:#fc0;letter-spacing:2px;font-family:Courier New,monospace}.btn-copy{background:#fc03;border:1px solid rgba(255,204,0,.4);color:#fc0;padding:10px 15px;border-radius:8px;cursor:pointer;transition:all .3s ease;font-size:16px}.btn-copy:hover{background:#ffcc004d;transform:scale(1.05)}.session-id-note{display:flex;align-items:center;gap:8px;font-size:14px;color:#ffffffb3;margin:0}.session-id-note i{color:#3b82f6}@media (max-width: 768px){.form-grid,.qr-info,.qr-actions{grid-template-columns:1fr}.session-id-display code{font-size:18px}}.subject-labels-editor{background:var(--card-bg, #1a1a2e);border:1px solid var(--border-color, #2a2a4a);border-radius:12px;padding:16px;margin-bottom:16px}.labels-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.labels-header h4{margin:0;font-size:.95rem;color:var(--text-primary, #fff);display:flex;align-items:center;gap:8px}.labels-header h4 i{color:var(--primary-color, #ffc107)}.btn-edit-labels{background:transparent;border:1px solid var(--primary-color, #ffc107);color:var(--primary-color, #ffc107);padding:6px 14px;border-radius:8px;cursor:pointer;font-size:.8rem;display:flex;align-items:center;gap:6px;transition:all .2s}.btn-edit-labels:hover{background:var(--primary-color, #ffc107);color:#000}.labels-actions{display:flex;align-items:center;gap:8px}.btn-reset-labels{background:transparent;border:1px solid var(--text-secondary, #888);color:var(--text-secondary, #888);padding:6px 10px;border-radius:8px;cursor:pointer;font-size:.8rem;transition:all .2s}.btn-reset-labels:hover{border-color:var(--warning-color, #e67e22);color:var(--warning-color, #e67e22)}.btn-cancel-labels{background:transparent;border:1px solid var(--text-secondary, #888);color:var(--text-secondary, #888);padding:6px 14px;border-radius:8px;cursor:pointer;font-size:.8rem;transition:all .2s}.btn-cancel-labels:hover{border-color:var(--danger-color, #e74c3c);color:var(--danger-color, #e74c3c)}.btn-save-labels{background:var(--primary-color, #ffc107);border:none;color:#000;padding:6px 14px;border-radius:8px;cursor:pointer;font-size:.8rem;font-weight:600;display:flex;align-items:center;gap:6px;transition:all .2s}.btn-save-labels:hover{opacity:.9}.btn-save-labels:disabled{opacity:.5;cursor:not-allowed}.labels-message{padding:8px 12px;border-radius:8px;margin-bottom:12px;font-size:.85rem;font-weight:500}.labels-message.success{background:#27ae6026;color:#27ae60;border:1px solid rgba(39,174,96,.3)}.labels-message.error{background:#e74c3c26;color:#e74c3c;border:1px solid rgba(231,76,60,.3)}.labels-grid{display:flex;flex-direction:column;gap:8px}.label-item{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--bg-secondary, #16162a);border-radius:8px;transition:all .2s}.labels-grid.editing .label-item{flex-direction:column;align-items:stretch;gap:6px}.label-default{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.label-key-badge{background:var(--primary-color, #ffc107);color:#000;padding:2px 8px;border-radius:12px;font-size:.7rem;font-weight:700;white-space:nowrap}.label-default-name{color:var(--text-secondary, #aaa);font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.label-custom{display:flex;align-items:center;gap:6px;color:var(--primary-color, #ffc107);font-size:.85rem;font-weight:500}.label-custom i{font-size:.7rem;opacity:.6}.label-input{background:var(--bg-primary, #0f0f23);border:1px solid var(--border-color, #2a2a4a);color:var(--text-primary, #fff);padding:8px 12px;border-radius:8px;font-size:.85rem;width:100%;transition:border-color .2s}.label-input:focus{outline:none;border-color:var(--primary-color, #ffc107)}.label-input::placeholder{color:var(--text-secondary, #666);font-style:italic}.teacher-portal{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:linear-gradient(135deg,#1a1a2e,#16213e);min-height:100vh;color:#fff;position:relative;overflow-x:hidden;width:100%;max-width:100vw}.teacher-portal:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:url('data:image/svg+xml,<svg width="100" height="100" xmlns="http://www.w3.org/2000/svg"><defs><pattern id="grid" width="100" height="100" patternUnits="userSpaceOnUse"><path d="M 100 0 L 0 0 0 100" fill="none" stroke="rgba(255,204,0,0.03)" stroke-width="1"/></pattern></defs><rect width="100%" height="100%" fill="url(%23grid)"/></svg>');pointer-events:none;z-index:0}.container{max-width:1600px;margin:0 auto;padding:20px;position:relative;z-index:1;overflow-x:hidden;width:100%}.portal-tabs{display:flex;gap:15px;margin-bottom:25px;flex-wrap:wrap}.portal-tab{padding:15px 30px;background:#1a1a2e99;backdrop-filter:blur(10px);border:2px solid rgba(255,204,0,.2);border-radius:12px;cursor:pointer;transition:all .3s;font-size:16px;color:#aaa;box-shadow:0 4px 15px #0000004d;display:flex;align-items:center;gap:10px}.portal-tab:hover{background:#1a1a2ecc;border-color:#ffcc0080;color:#fff;transform:translateY(-2px);box-shadow:0 6px 20px #fc03}.portal-tab.active{background:linear-gradient(135deg,#fc0,#ff9500);color:#1a1a2e;font-weight:700;border-color:transparent}.card{background:#1a1a2ecc;backdrop-filter:blur(10px);border-radius:20px;padding:35px;margin-bottom:30px;box-shadow:0 10px 40px #00000080;border:1px solid rgba(255,204,0,.2)}.card h2{margin-bottom:25px;color:#fc0;display:flex;align-items:center;gap:12px;font-size:24px}.empty-state{text-align:center;padding:60px 20px;color:#999}.empty-state i{font-size:80px;margin-bottom:20px;color:#ffcc004d}.empty-state h3{font-size:24px;color:#fff;margin-bottom:10px}.empty-state p{color:#aaa}body.light-theme .teacher-portal{background:linear-gradient(135deg,#667eea,#764ba2,#f093fb)}body.light-theme .teacher-portal:before{background:url('data:image/svg+xml,<svg width="100" height="100" xmlns="http://www.w3.org/2000/svg"><defs><pattern id="grid" width="100" height="100" patternUnits="userSpaceOnUse"><path d="M 100 0 L 0 0 0 100" fill="none" stroke="rgba(255,255,255,0.1)" stroke-width="1"/></pattern></defs><rect width="100%" height="100%" fill="url(%23grid)"/></svg>')}body.light-theme .card{background:#fffffff2;backdrop-filter:blur(20px);border:2px solid rgba(255,204,0,.3);box-shadow:0 10px 40px #0000001a}body.light-theme .card h2{color:#ff9500}body.light-theme .empty-state{color:#666}body.light-theme .empty-state i{color:#f906}body.light-theme .empty-state h3{color:#2d3748}body.light-theme .empty-state p{color:#666}@media (max-width: 768px){.container{padding:10px}.card{padding:20px 15px;border-radius:15px}.card h2{font-size:18px;margin-bottom:20px}.empty-state{padding:40px 15px}.empty-state i{font-size:60px}.empty-state h3{font-size:20px}}*{margin:0;padding:0;box-sizing:border-box}*,*:before,*:after{max-width:100%}:root{--primary-color: #FFCC00;--secondary-color: #FF9500;--dark-bg: #1a1a2e;--darker-bg: #16213e;--success-color: #28a745;--danger-color: #ff4757;--warning-color: #f59e0b;--info-color: #0088cc;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;background:linear-gradient(135deg,var(--dark-bg) 0%,var(--darker-bg) 100%);color:#fff;transition:background .3s ease,color .3s ease;overflow-x:hidden;position:relative;width:100%;max-width:100vw}body.light-theme{background:linear-gradient(135deg,#667eea,#764ba2,#f093fb);color:#1a202c}html[dir=rtl]{direction:rtl}html[dir=rtl] body{text-align:right}#root{min-height:100vh;overflow-x:hidden;width:100%;max-width:100vw;position:relative}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#ffffff0d}::-webkit-scrollbar-thumb{background:#ffcc004d;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#ffcc0080}::selection{background:#ffcc004d;color:#fff}*:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}html{scroll-behavior:smooth;overflow-x:hidden;width:100%;max-width:100vw;position:relative}.hidden{display:none!important}.text-center{text-align:center}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#root>*{animation:fadeIn .3s ease-in}@media print{body{background:#fff;color:#000}.no-print{display:none!important}}
