.toast-container{position:fixed;bottom:24px;right:24px;z-index:10000;display:flex;flex-direction:column;gap:12px;pointer-events:none}.toast-item{pointer-events:auto;min-width:280px;max-width:450px;padding:12px 20px;border-radius:12px;background:#fff;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;display:flex;align-items:center;cursor:pointer;border-left:4px solid #2896cd}.toast-item.success{border-left-color:#10b981}.toast-item.success i{color:#10b981}.toast-item.error{border-left-color:#ef4444}.toast-item.error i{color:#ef4444}.toast-item.info{border-left-color:#2896cd}.toast-item.info i{color:#2896cd}.toast-item .toast-content{display:flex;align-items:center;gap:12px}.toast-item .toast-content i{font-size:1.25rem}.toast-item .toast-content span{font-size:.95rem;font-weight:500;color:#1f2937}.logo-component{display:flex;align-items:center;gap:12px;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.logo-component:hover{transform:scale(1.02)}.logo-component.light-mode .logo-sig,.logo-component.light-mode .logo-text-wrapper,.logo-component.light-mode .logo-accent{color:#fff}.logo-text-wrapper{font-family:Work Sans,sans-serif;font-size:1.4rem;font-weight:600;color:#0f172a;letter-spacing:-.5px;display:flex;align-items:baseline}.logo-sig{font-family:Satisfy,cursive;font-size:1.8rem;font-weight:400;margin-right:6px;color:#0f172a;line-height:1}.logo-accent{font-family:Work Sans,sans-serif;font-weight:600;font-size:1.4rem;color:#1a7eb0}@media(max-width:480px){.logo-text-wrapper{font-size:1.2rem}.logo-sig{font-size:1.5rem}.logo-accent{font-size:1.2rem}}.confirm-modal-root{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px}.confirm-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:confirmFadeIn .2s ease}.confirm-container{position:relative;width:100%;max-width:480px;z-index:2;animation:confirmSlideUp .3s cubic-bezier(.4,0,.2,1)}.confirm-card{background:#0f172a;border:1px solid rgba(255,255,255,.1);border-radius:28px;padding:40px;box-shadow:0 40px 80px #000c;position:relative;text-align:center}.confirm-card .confirm-close{position:absolute;top:20px;right:20px;background:transparent;border:none;color:#fff3;cursor:pointer;transition:color .2s ease}.confirm-card .confirm-close:hover{color:#fff}.confirm-card .confirm-body{margin-bottom:32px}.confirm-card .confirm-body .confirm-icon{width:72px;height:72px;border-radius:20px;display:flex;align-items:center;justify-content:center;margin:0 auto 24px}.confirm-card .confirm-body .confirm-icon.warning{background:#ffa5021a;color:#ffa502;border:1px solid rgba(255,165,2,.15)}.confirm-card .confirm-body .confirm-icon.danger{background:#ff3c3c1a;color:#ff4d4d;border:1px solid rgba(255,60,60,.2)}.confirm-card .confirm-body .confirm-icon.info,.confirm-card .confirm-body .confirm-icon.primary{background:#2896cd1a;color:#53abd7;border:1px solid rgba(40,150,205,.2)}.confirm-card .confirm-body .confirm-icon.success{background:#00d1b21a;color:#00d1b2;border:1px solid rgba(0,209,178,.2)}.confirm-card .confirm-body h2{font-family:Outfit,sans-serif;font-size:1.6rem;font-weight:800;color:#fff;margin-bottom:12px;letter-spacing:-.5px}.confirm-card .confirm-body p{color:#fff6;line-height:1.6;font-size:1rem;max-width:320px;margin:0 auto}.confirm-card .confirm-footer{display:flex;flex-direction:column;gap:10px;width:100%}.confirm-card .confirm-footer button{width:100%;padding:16px 24px;border-radius:16px;font-family:Outfit,sans-serif;font-weight:700;font-size:.95rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center}.confirm-card .confirm-footer .btn-confirm{border:none;color:#fff}.confirm-card .confirm-footer .btn-confirm.danger{background:linear-gradient(135deg,#ff3c3c,#b30000);box-shadow:0 8px 24px #ff3c3c4d}.confirm-card .confirm-footer .btn-confirm.danger:hover{box-shadow:0 12px 32px #ff3c3c66;transform:translateY(-2px)}.confirm-card .confirm-footer .btn-confirm.warning{background:#ffa502;box-shadow:0 8px 24px #ffa5024d}.confirm-card .confirm-footer .btn-confirm.info,.confirm-card .confirm-footer .btn-confirm.primary{background:#2896cd;box-shadow:0 8px 24px #2896cd4d}.confirm-card .confirm-footer .btn-confirm.success{background:linear-gradient(135deg,#00d1b2,#00a892);box-shadow:0 8px 24px #00d1b24d}.confirm-card .confirm-footer .btn-confirm.success:hover{box-shadow:0 12px 32px #00d1b266;transform:translateY(-2px)}.confirm-card .confirm-footer .btn-extra{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#fff}.confirm-card .confirm-footer .btn-extra:hover{background:#ffffff1a;border-color:#fff3;transform:translateY(-1px)}.confirm-card .confirm-footer .btn-cancel{background:transparent;border:none;color:#ffffff4d;font-size:.85rem;font-weight:600;padding:12px}.confirm-card .confirm-footer .btn-cancel:hover{color:#fff;background:#ffffff0d}@keyframes confirmFadeIn{0%{opacity:0}to{opacity:1}}@keyframes confirmSlideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.account-panel{position:relative}.account-panel .account-trigger.minimalist{background:transparent;border:none;padding:4px 0;display:flex;align-items:center;gap:14px;cursor:pointer;transition:all .3s ease}.account-panel .account-trigger.minimalist .security-status{width:32px;height:32px;background:#2896cd1a;border:1px solid rgba(40,150,205,.2);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#53abd7;box-shadow:0 0 15px #2896cd1a;transition:all .3s ease;overflow:hidden}.account-panel .account-trigger.minimalist .security-status .avatar-img-wrapper{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.account-panel .account-trigger.minimalist .security-status .avatar-img-wrapper img{width:100%;height:100%;object-fit:cover}.account-panel .account-trigger.minimalist .security-status .avatar-letter{font-family:Outfit,sans-serif;font-weight:700;font-size:.9rem}.account-panel .account-trigger.minimalist .admin-info{display:flex;flex-direction:column;text-align:left;gap:1px}.account-panel .account-trigger.minimalist .admin-info .admin-name{font-family:Outfit,sans-serif;font-size:.95rem;font-weight:600;color:#fff;letter-spacing:.3px}.account-panel .account-trigger.minimalist .admin-info .admin-role{font-size:.75rem;color:#fff6;font-weight:500}.account-panel .account-trigger.minimalist .arrow{color:#ffffff4d;transition:all .3s cubic-bezier(.4,0,.2,1)}.account-panel .account-trigger.minimalist:hover .security-status{background:#2896cd33;transform:scale(1.05);box-shadow:0 0 20px #2896cd33}.account-panel .account-trigger.minimalist:hover .arrow{color:#fff}.account-panel .account-trigger.minimalist.active .arrow{transform:rotate(180deg);color:#53abd7}.account-panel .account-dropdown.minimalist-style{position:absolute;top:calc(100% + 15px);right:0;width:320px;background:#0f172afa;-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px);border:1px solid rgba(255,255,255,.1);border-radius:24px;box-shadow:0 20px 50px #00000080;overflow:hidden;z-index:2100}.account-panel .account-dropdown.minimalist-style .dropdown-user-card{padding:30px 24px 20px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px}.account-panel .account-dropdown.minimalist-style .dropdown-user-card .user-details-centered{display:flex;flex-direction:column;gap:6px}.account-panel .account-dropdown.minimalist-style .dropdown-user-card .user-details-centered .name{font-family:Outfit,sans-serif;font-size:1.25rem;font-weight:700;color:#fff}.account-panel .account-dropdown.minimalist-style .dropdown-user-card .user-details-centered .email{font-size:.85rem;color:#ffffff80}.account-panel .account-dropdown.minimalist-style .dropdown-user-card .user-details-centered .admin-id-badge-large{margin-top:10px;padding:4px 16px;background:#2896cd1a;color:#53abd7;border:1px solid rgba(40,150,205,.2);border-radius:40px;font-size:.8rem;font-weight:800;letter-spacing:1px}.account-panel .dropdown-footer{padding:20px;border-top:1px solid rgba(255,255,255,.05);background:#0003}.account-panel .dropdown-footer .footer-actions{display:flex;flex-direction:column;gap:8px;width:100%}.account-panel .dropdown-footer .footer-actions .logout-action{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:12px;background:#ff475714;border:1px solid rgba(255,71,87,.15);border-radius:12px;color:#ff4757;font-size:.8rem;font-weight:700;cursor:pointer;transition:all .3s ease}.account-panel .dropdown-footer .footer-actions .logout-action:hover{background:#ff475726;transform:translateY(-2px);box-shadow:0 5px 15px #ff475733}.access-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0009;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px}.access-modal-overlay.high-priority{z-index:11000}.access-modal-overlay .access-modal{width:100%;max-width:440px;background:#0f172afa;border:1px solid rgba(255,255,255,.15);border-radius:32px;box-shadow:0 50px 100px #000c;overflow:hidden}.access-modal-overlay .access-modal .modal-header{padding:32px 32px 24px;display:flex;align-items:center;gap:20px}.access-modal-overlay .access-modal .modal-header .header-icon{width:50px;height:50px;background:#2896cd1a;border:1px solid rgba(40,150,205,.2);border-radius:16px;display:flex;align-items:center;justify-content:center;color:#53abd7}.access-modal-overlay .access-modal .modal-header .header-icon.warning{background:#ffa5021a;border-color:#ffa50233;color:#ffa502}.access-modal-overlay .access-modal .modal-header .header-text h3{font-family:Outfit,sans-serif;font-size:1.25rem;font-weight:700;color:#fff}.access-modal-overlay .access-modal .modal-header .header-text p{font-size:.85rem;color:#fff6}.access-modal-overlay .access-modal .modal-body.centered{padding:0 32px 40px;display:flex;flex-direction:column;align-items:center;gap:15px}.access-modal-overlay .access-modal .modal-body.centered .timeout-subtext{font-size:.8rem;color:#fff6;text-transform:uppercase;letter-spacing:1px}.access-modal-overlay .access-modal .modal-body.centered .timeout-countdown{font-family:Outfit,sans-serif;font-size:4rem;font-weight:800;color:#fff;line-height:1}.access-modal-overlay .access-modal .modal-body.centered .timeout-countdown.pulse-urgent{color:#ff4757;animation:urgent-pulse 1s infinite alternate}.access-modal-overlay .access-modal .modal-body.centered .timeout-warning-notice{font-size:.85rem;color:#ffffff80;text-align:center}.access-modal-overlay .access-modal .modal-footer.split{padding:0 32px 40px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.access-modal-overlay .access-modal .modal-footer.split button{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;border:none;border-radius:14px;font-size:.85rem;font-weight:700;cursor:pointer;transition:all .3s ease}.access-modal-overlay .access-modal .modal-footer.split button.btn-logout{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#fff9}.access-modal-overlay .access-modal .modal-footer.split button.btn-logout:hover{background:#ff47571a;border-color:#ff475733;color:#ff4757}.access-modal-overlay .access-modal .modal-footer.split button.btn-stay{background:#2896cd;color:#fff}.access-modal-overlay .access-modal .modal-footer.split button.btn-stay:hover{background:#53abd7;transform:translateY(-2px)}@keyframes urgent-pulse{0%{transform:scale(1)}to{transform:scale(1.1);filter:drop-shadow(0 0 20px rgba(255,71,87,.5))}}.admin-layout{display:flex;min-height:100vh;background:#0f172a;position:relative;overflow-x:hidden}.admin-layout:after{content:"";position:fixed;inset:0;background:url(https://grainy-gradients.vercel.app/noise.svg);opacity:.15;pointer-events:none;z-index:1}.admin-layout{background-image:radial-gradient(circle at 10% 20%,rgba(26,126,176,.05) 0%,transparent 40%),radial-gradient(circle at 90% 80%,rgba(40,150,205,.03) 0%,transparent 40%)}.admin-layout .admin-sidebar{position:fixed;top:0;left:0;bottom:0;width:280px;background:#0f172ab3;backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);border-right:1px solid rgba(255,255,255,.1);z-index:1000;display:flex;flex-direction:column;overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1)}.admin-layout .admin-sidebar:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent)}.admin-layout .admin-sidebar .sidebar-header{padding:3rem 2rem;display:flex;justify-content:center;border-bottom:1px solid rgba(255,255,255,.05)}.admin-layout .admin-sidebar .sidebar-header .logo-link{text-decoration:none;transform:scale(.9);transition:transform .3s ease}.admin-layout .admin-sidebar .sidebar-header .logo-link:hover{transform:scale(.95)}.admin-layout .admin-sidebar .sidebar-nav{flex:1;overflow-y:auto;padding:1.5rem 0}.admin-layout .admin-sidebar .sidebar-nav::-webkit-scrollbar{width:4px}.admin-layout .admin-sidebar .sidebar-nav::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:10px}.admin-layout .admin-sidebar .sidebar-nav .sidebar-scroll-area{padding:0 1rem}.admin-layout .admin-sidebar .sidebar-nav .nav-section{margin-bottom:1rem}.admin-layout .admin-sidebar .sidebar-nav .nav-section .section-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:.5rem 1.5rem;background:transparent;border:none;cursor:pointer;margin-bottom:4px;border-radius:.5rem}.admin-layout .admin-sidebar .sidebar-nav .nav-section .section-toggle:hover{background:#ffffff0d}.admin-layout .admin-sidebar .sidebar-nav .nav-section .section-toggle .section-label{font-family:Outfit,sans-serif;font-size:.75rem;font-weight:700;color:#fff6;text-transform:uppercase;letter-spacing:1.5px;transition:color .3s ease}.admin-layout .admin-sidebar .sidebar-nav .nav-section .section-toggle .arrow-icon{color:#fff3;transition:all .3s cubic-bezier(.4,0,.2,1)}.admin-layout .admin-sidebar .sidebar-nav .nav-section .section-toggle.expanded .section-label{color:#fff9}.admin-layout .admin-sidebar .sidebar-nav .nav-section .section-toggle.expanded .arrow-icon{transform:rotate(90deg);color:#53abd7}.admin-layout .admin-sidebar .sidebar-nav .nav-section .section-content{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.admin-layout .admin-sidebar .sidebar-nav .nav-section .section-content.open{grid-template-rows:1fr;margin-bottom:1.5rem}.admin-layout .admin-sidebar .sidebar-nav .nav-section .section-content .content-wrapper{min-height:0;padding-left:1rem;display:flex;flex-direction:column;gap:2px}.admin-layout .admin-sidebar .sidebar-nav .sidebar-item{display:flex;align-items:center;gap:1rem;padding:10px 16px;margin:2px 0;border-radius:.75rem;color:#fff9;text-decoration:none;font-size:.85rem;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1)}.admin-layout .admin-sidebar .sidebar-nav .sidebar-item svg{color:#fff6;transition:color .3s ease}.admin-layout .admin-sidebar .sidebar-nav .sidebar-item:hover{background:#ffffff0d;color:#fff}.admin-layout .admin-sidebar .sidebar-nav .sidebar-item:hover svg{color:#7ec0e1}.admin-layout .admin-sidebar .sidebar-nav .sidebar-item.active{background:linear-gradient(90deg,#2896cd33,#2896cd0d);color:#fff;border-left:3px solid #53abd7}.admin-layout .admin-sidebar .sidebar-nav .sidebar-item.active svg{color:#53abd7}.admin-layout .mobile-header{display:none;position:fixed;top:0;left:0;right:0;height:70px;background:#0f172acc;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border-bottom:1px solid rgba(255,255,255,.1);z-index:900;padding:0 1.5rem;align-items:center;justify-content:space-between}.admin-layout .mobile-header .mobile-menu-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#fff;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:.5rem;cursor:pointer}.admin-layout .mobile-header .mobile-logo{transform:scale(.8)}.admin-layout .mobile-nav-sheet{position:fixed;bottom:0;left:0;right:0;background:#0f172af2;-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);border-radius:24px 24px 0 0;z-index:1200;max-height:85vh;overflow-y:auto;box-shadow:0 -10px 40px #00000080;border-top:1px solid rgba(255,255,255,.15)}.admin-layout .mobile-nav-sheet .mobile-nav-header{display:flex;align-items:center;justify-content:space-between;padding:2rem 3rem;border-bottom:1px solid rgba(255,255,255,.1)}.admin-layout .mobile-nav-sheet .mobile-nav-header .mobile-nav-title{font-family:Outfit,sans-serif;font-size:1.1rem;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:1px}.admin-layout .mobile-nav-sheet .mobile-nav-header .mobile-nav-close{background:#ffffff0d;border:none;color:#fff9;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;cursor:pointer}.admin-layout .mobile-nav-sheet .mobile-nav-list{padding:1.5rem}.admin-layout .mobile-nav-sheet .mobile-nav-list .mobile-nav-group{margin-bottom:.5rem}.admin-layout .mobile-nav-sheet .mobile-nav-list .mobile-nav-group .mobile-group-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem;background:#ffffff08;border:none;border-radius:.75rem;color:#fff;font-size:1rem;font-weight:500;cursor:pointer}.admin-layout .mobile-nav-sheet .mobile-nav-list .mobile-nav-group .mobile-group-toggle .arrow-icon{transition:transform .3s ease}.admin-layout .mobile-nav-sheet .mobile-nav-list .mobile-nav-group .mobile-group-toggle.expanded{background:#ffffff14}.admin-layout .mobile-nav-sheet .mobile-nav-list .mobile-nav-group .mobile-group-toggle.expanded .arrow-icon{transform:rotate(90deg)}.admin-layout .mobile-nav-sheet .mobile-nav-list .mobile-nav-group .mobile-group-children{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.admin-layout .mobile-nav-sheet .mobile-nav-list .mobile-nav-group .mobile-group-children.open{grid-template-rows:1fr}.admin-layout .mobile-nav-sheet .mobile-nav-list .mobile-nav-group .mobile-group-children .children-wrapper{min-height:0;padding-top:.5rem}.admin-layout .mobile-nav-sheet .mobile-nav-list .mobile-nav-group .mobile-group-children .mobile-nav-item{display:flex;align-items:center;gap:1rem;padding:1rem 3rem;color:#fff9;text-decoration:none;font-size:.95rem;border-radius:.5rem;transition:color .3s ease}.admin-layout .mobile-nav-sheet .mobile-nav-list .mobile-nav-group .mobile-group-children .mobile-nav-item svg{color:#fff6}.admin-layout .mobile-nav-sheet .mobile-nav-list .mobile-nav-group .mobile-group-children .mobile-nav-item.active{background:#2896cd26;color:#fff}.admin-layout .mobile-nav-sheet .mobile-nav-list .mobile-nav-group .mobile-group-children .mobile-nav-item.active svg{color:#53abd7}.admin-layout .admin-main{flex:1;margin-left:280px;position:relative;z-index:2;display:flex;flex-direction:column;min-width:0;transition:margin-left .4s cubic-bezier(.4,0,.2,1)}.admin-layout .admin-main .admin-header{height:80px;background:#0f172a66;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border-bottom:1px solid rgba(255,255,255,.1);padding:0 3rem;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:800}.admin-layout .admin-main .admin-header .header-left .title-wrapper h1{font-family:Outfit,sans-serif;font-size:1.5rem;font-weight:700;color:#fff;margin:0}.admin-layout .admin-main .admin-content-inner{padding:3rem;flex:1;overflow-y:auto}.admin-layout .admin-main .admin-content-inner::-webkit-scrollbar{width:4px}.admin-layout .admin-main .admin-content-inner::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:10px}@media(max-width:1024px){.admin-layout .admin-main{margin-left:0!important;padding-top:70px}.admin-layout .admin-main .admin-content-inner{padding:1rem .5rem}.admin-layout .desktop-only{display:none!important}.admin-layout .mobile-only{display:flex!important}}.student-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px;padding:24px;background:#ffffff08;-webkit-backdrop-filter:blur(25px);backdrop-filter:blur(25px);border:1px solid rgba(255,255,255,.1);border-radius:20px}.student-section-header .header-left{display:flex;align-items:center;gap:20px}.student-section-header .header-left .section-icon{width:50px;height:50px;background:#2896cd1a;border:1px solid rgba(40,150,205,.2);border-radius:14px;display:flex;align-items:center;justify-content:center;color:#53abd7}.student-section-header .header-left .section-info h2{font-family:Outfit,sans-serif;font-size:1.5rem;font-weight:700;color:#fff;margin:0}.student-section-header .header-left .section-info p{font-size:.9rem;color:#fff6;margin:4px 0 0}.student-section-header .header-right{display:flex;align-items:center;gap:12px}@media(max-width:768px){.student-section-header{flex-direction:column;align-items:flex-start;gap:20px}.student-section-header .header-right{width:100%;justify-content:flex-end}}.grades-page{padding:0 2rem 2rem;max-width:1400px;margin:0 auto}.grades-page .workspace-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin:2rem 0}.grades-page .workspace-stats .stat-card{background:#ffffff05;border:1px solid rgba(255,255,255,.08);border-radius:.75rem;padding:1.5rem 2rem;display:flex;align-items:center;gap:1.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s cubic-bezier(.4,0,.2,1)}.grades-page .workspace-stats .stat-card:hover{background:#ffffff0a;border-color:#ffffff1f;transform:translateY(-2px);box-shadow:0 8px 24px #0003}.grades-page .workspace-stats .stat-card .stat-icon{width:44px;height:44px;border-radius:.5rem;display:flex;align-items:center;justify-content:center}.grades-page .workspace-stats .stat-card .stat-icon.graded{background:#2ed5731a;color:#2ed573}.grades-page .workspace-stats .stat-card .stat-icon.pending{background:#ffa5021a;color:#ffa502}.grades-page .workspace-stats .stat-card .stat-icon.average{background:#2896cd1a;color:#2896cd}.grades-page .workspace-stats .stat-card .stat-content .stat-value{font-size:1.5rem;font-weight:700;color:#fff;line-height:1.2}.grades-page .workspace-stats .stat-card .stat-content .stat-label{font-size:.75rem;color:#fff6;text-transform:none;letter-spacing:0;font-weight:600}.grades-page .grades-grid-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:2rem}.grades-page .grade-item{background:#ffffff08;border:1px solid rgba(255,255,255,.05);border-radius:.75rem;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;position:relative}.grades-page .grade-item:hover{background:#ffffff0f;border-color:#ffffff1a;transform:translateY(-4px);box-shadow:0 12px 32px #0000004d}.grades-page .grade-item .course-header-style{padding:1.5rem 2rem 0;display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.grades-page .grade-item .course-header-style .info-group{flex:1}.grades-page .grade-item .course-header-style .info-group .card-title{margin:0;color:#fff;font-size:1.2rem;font-weight:700;letter-spacing:-.01em}.grades-page .grade-item .course-header-style .info-group .card-subtitle{margin:4px 0 0;color:#fff6;font-size:.82rem;font-weight:500}.grades-page .grade-item .course-header-style .status-pill-area{display:flex;align-items:flex-start;justify-content:flex-end}.grades-page .grade-item .grade-pill{display:inline-flex;align-items:center;justify-content:center;padding:6px 14px;border-radius:20px;font-size:.75rem;font-weight:700;white-space:nowrap;letter-spacing:.02em;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.grades-page .grade-item .grade-pill.graded{background:#2ed5731a;border:1px solid rgba(46,213,115,.2);color:#2ed573}.grades-page .grade-item .grade-pill.pending{background:#ffa5021a;border:1px solid rgba(255,165,2,.2);color:#ffa502}.grades-page .grade-item .card-data-grid{padding:2rem;display:flex;flex-direction:column;gap:1rem}.grades-page .grade-item .card-data-grid .data-row{display:flex;justify-content:space-between;align-items:center;gap:.5rem;font-size:.9rem}.grades-page .grade-item .card-data-grid .data-row .label{color:#ffffff52;font-weight:500}.grades-page .grade-item .card-data-grid .data-row .value{color:#ffffffe6;font-weight:600;text-align:right}.grades-page .grade-item .card-data-grid .data-row .value.time-value{color:#ffffffb8;font-size:.84rem}.grades-page .grade-item .card-data-grid .data-row .value.graded{color:#2ed573}.grades-page .grade-item .card-data-grid .data-row .value.pending{color:#ffa502}.grades-page .grade-item .feedback-panel{padding:14px 16px;border-radius:14px;border:1px solid rgba(255,255,255,.06);background:#ffffff06}.grades-page .grade-item .feedback-panel .feedback-label{display:block;margin-bottom:8px;color:#ffffff6b;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.grades-page .grade-item .feedback-panel .feedback{margin:0;color:#ffffffbf;font-size:.84rem;line-height:1.6}.grades-page .grade-item .card-divider{height:1px;background:repeating-linear-gradient(to right,rgba(255,255,255,.08) 0,rgba(255,255,255,.08) 4px,transparent 4px,transparent 8px);margin:0 2rem}.grades-page .grade-item .card-action-tray{padding:1.5rem 2rem;margin-top:auto}.grades-page .grade-item .card-action-tray .tray-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:12px;border-radius:12px;font-size:.85rem;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;border:1px solid rgba(255,255,255,.08);background:#ffffff05;color:#53abd7}.grades-page .grade-item .card-action-tray .tray-btn:hover{background:#2896cd1a;border-color:#2896cd4d;transform:translateY(-2px)}.grades-page .grades-empty{text-align:center;padding:80px 2rem;background:#ffffff05;border-radius:.75rem;border:1px dashed rgba(255,255,255,.1);color:#ffffff8c}.grades-page .grades-empty svg{margin-bottom:1rem;color:#ffffff29}.grades-page .grades-empty p{margin:0;color:#ffffffb3;font-size:1rem}@media(max-width:768px){.grades-page{padding:0 1rem 2rem}.grades-page .grades-grid-list{grid-template-columns:1fr;gap:1.5rem}.grades-page .grade-item .course-header-style{flex-direction:column}.grades-page .grade-item .course-header-style .status-pill-area{width:100%;justify-content:flex-start}.grades-page .grade-item .card-data-grid .data-row{flex-direction:column;align-items:flex-start}.grades-page .grade-item .card-data-grid .data-row .value{text-align:left}}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;border-radius:.75rem;font-weight:700;font-size:.95rem;transition:all .3s cubic-bezier(.4,0,.2,1);text-decoration:none;cursor:pointer;border:none;font-family:inherit;gap:.5rem}.btn i,.btn svg{font-size:1.1rem}.btn-primary{background:linear-gradient(135deg,#2896cd,#6c5ce7);color:#fff!important;box-shadow:0 4px 15px #2896cd40}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px #2896cd59}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{background:#cbd5e1;box-shadow:none;cursor:not-allowed;transform:none}.btn-outline{background:transparent;color:#334155;border:2px solid #e2e8f0}.btn-outline:hover{border-color:#53abd7;color:#1a7eb0;background:#2896cd05;transform:translateY(-2px)}.btn-ghost{background:transparent;color:#475569;border:none}.btn-ghost:hover{background:#2896cd0d;color:#1a7eb0}.btn-full{width:100%}.auth-loading{height:100vh;width:100vw;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f8fafc;gap:2rem}.auth-loading .spinner{width:40px;height:40px;border:3px solid rgba(40,150,205,.1);border-top-color:#2896cd;border-radius:50%;animation:spin 1s linear infinite}.auth-loading span{color:#ffffff80;font-size:.9rem;font-weight:600;letter-spacing:1px;text-transform:uppercase}@keyframes spin{to{transform:rotate(360deg)}}.admin-loading{height:100vh;width:100vw;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f8fafc;gap:16px;color:#fff6;font-family:Outfit,sans-serif}.admin-loading:before{content:"";width:32px;height:32px;border:2px solid rgba(40,150,205,.1);border-top-color:#2896cd;border-radius:50%;animation:spin 1s linear infinite}*{margin:0;padding:0;box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:Inter,sans-serif;background-color:#0f172a;color:#fff;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:Outfit,sans-serif;font-weight:700}a{transition:all .3s cubic-bezier(.4,0,.2,1);text-decoration:none;color:inherit}.grain-overlay{position:fixed;inset:0;background:url(https://grainy-gradients.vercel.app/noise.svg);opacity:.15;pointer-events:none;z-index:10000}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#fff3}
