@keyframes float{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-20px)rotate(5deg)}}@keyframes pulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}@keyframes glow{0%,to{box-shadow:0 0 20px #6366f180}50%{box-shadow:0 0 40px #6366f180,0 0 60px #6366f180}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes dotPulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}@keyframes progressFill{0%{width:0%}to{width:100%}}@keyframes particleFloat{0%{opacity:0;transform:translateY(100vh)rotate(0)}10%{opacity:1}90%{opacity:1}to{opacity:0;transform:translateY(-100vh)rotate(360deg)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-50px)}}.app-loader-container{z-index:9999;opacity:1;box-sizing:border-box;background:linear-gradient(135deg,#000428 0%,#004e92 100%);justify-content:center;align-items:center;width:100vw;height:100vh;padding:20px;transition:opacity .8s;display:flex;position:fixed;top:0;left:0;overflow:hidden}.app-loader-container.app-exit{animation:1.2s cubic-bezier(.4,0,.2,1) forwards fadeOut}.app-loader-container.app-exit .loader-content{animation:1s cubic-bezier(.4,0,.2,1) forwards slideOut}.gradient-bg{z-index:1;background:radial-gradient(circle at 20%,#6366f126 0%,#0000 50%),radial-gradient(circle at 80% 20%,#8b5cf61a 0%,#0000 50%),radial-gradient(circle at 40% 80%,#ec48991a 0%,#0000 50%);width:100%;height:100%;position:absolute;top:0;left:0}.grading-card-bg{z-index:1;background-image:repeating-linear-gradient(45deg,#0000,#0000 20px,#ffffff08 20px 40px);width:100%;height:100%;position:absolute}.particles-container{z-index:1;width:100%;height:100%;position:absolute}.particles-container:before{content:"";background-image:radial-gradient(circle at 30% 30%,#ffffff1a 1px,#0000 1px),radial-gradient(circle at 70% 70%,#ffffff1a 1px,#0000 1px);background-size:50px 50px,80px 80px;width:100%;height:100%;animation:20s linear infinite particleFloat;position:absolute}@media (max-width:768px){.particles-container:before{background-size:30px 30px,50px 50px}}.loader-content{z-index:2;flex-direction:column;justify-content:center;align-items:center;gap:clamp(20px,5vw,40px);width:100%;max-width:800px;margin:0 auto;display:flex;position:relative}.logo-wrapper{justify-content:center;align-items:center;width:clamp(140px,30vw,220px);height:clamp(140px,30vw,220px);display:flex;position:relative}.logo-wrapper .main-logo{z-index:3;filter:drop-shadow(0 0 20px #ffffff4d);aspect-ratio:1;width:clamp(100px,22vw,180px);height:auto;animation:2s ease-in-out infinite pulse;position:relative}.logo-wrapper .logo-glow{z-index:1;background:radial-gradient(circle,#6366f180 0%,#0000 70%);border-radius:50%;width:clamp(160px,35vw,250px);height:clamp(160px,35vw,250px);animation:3s ease-in-out infinite glow;position:absolute}.logo-wrapper .logo-ring{z-index:2;border:2px solid #6366f1;border-color:#6366f1 #6366f1 #ffffff1a #ffffff1a;border-radius:50%;width:clamp(150px,32vw,240px);height:clamp(150px,32vw,240px);animation:3s linear infinite rotate;position:absolute}.logo-wrapper .logo-pulse{z-index:1;border:1px solid #6366f14d;border-radius:50%;width:clamp(170px,37vw,260px);height:clamp(170px,37vw,260px);animation:2s ease-in-out infinite pulse;position:absolute}.loader-text{text-align:center;flex-direction:column;align-items:center;gap:clamp(5px,1vw,10px);width:100%;padding:0 20px;display:flex}.loader-text .text-glow{letter-spacing:clamp(.1em,2vw,.3em);color:#fff;text-transform:uppercase;text-shadow:0 0 10px #ffffff80,0 0 20px #6366f180,0 0 30px #6366f14d;background:linear-gradient(90deg,#fff 0%,#c7d2fe 25%,#a5b4fc 50%,#818cf8 75%,#6366f1 100%);-webkit-text-fill-color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(1.2rem,6vw,2.5rem);font-weight:900;line-height:1.2;animation:3s linear infinite shimmer}@media (max-width:480px){.loader-text .text-glow{word-break:break-word}}.loader-text .subtitle{color:#ffffffb3;letter-spacing:clamp(.1em,1vw,.2em);text-transform:uppercase;font-size:clamp(.7rem,2vw,1rem);line-height:1.4;animation:2s ease-in-out infinite pulse}.custom-loader{flex-direction:column;align-items:center;gap:clamp(10px,2vw,20px);width:min(90vw,300px);padding:0 20px;display:flex}.custom-loader .progress-bar{background:#ffffff1a;border-radius:3px;width:100%;height:clamp(4px,.8vw,6px);position:relative;overflow:hidden}.custom-loader .progress-bar .progress-fill{background:linear-gradient(90deg,#6366f1 0%,#8b5cf6 50%,#ec4899 100%);border-radius:3px;width:0%;height:100%;animation:2s ease-in-out infinite progressFill;position:absolute;top:0;left:0}.custom-loader .progress-bar .progress-glow{background:linear-gradient(90deg,#0000 0%,#fff9 50%,#0000 100%);width:30%;height:100%;animation:2s ease-in-out infinite shimmer;position:absolute;top:0;left:0}.custom-loader .loader-dots{gap:clamp(6px,1.5vw,10px);display:flex}.custom-loader .loader-dots .dot{background:#6366f1;border-radius:50%;width:clamp(5px,1.2vw,8px);height:clamp(5px,1.2vw,8px);animation:1.4s ease-in-out infinite dotPulse}.custom-loader .loader-dots .dot:nth-child(2){animation-delay:.2s}.custom-loader .loader-dots .dot:nth-child(3){animation-delay:.4s}.custom-loader .loader-dots .dot:nth-child(4){animation-delay:.6s}.custom-loader .loader-dots .dot:nth-child(5){animation-delay:.8s}.custom-loader .percentage-counter{color:#fff;text-shadow:0 0 10px #6366f180;font-size:clamp(.9rem,2.5vw,1.2rem);font-weight:700;animation:1s ease-in-out infinite pulse}@media (min-width:768px) and (max-width:1024px){.loader-content{gap:30px}.loader-text .text-glow{letter-spacing:.25em;font-size:2rem}}@media (max-width:768px){.loader-content{gap:25px}.particles-container:before{background-size:40px 40px,60px 60px}.loader-text{padding:0 15px}}@media (max-width:480px){.app-loader-container{padding:15px}.loader-content{gap:20px}.logo-wrapper{width:120px;height:120px}.logo-wrapper .main-logo{width:90px}.loader-text .text-glow{letter-spacing:.15em;font-size:1.4rem}.subtitle{font-size:.8rem}.custom-loader{gap:15px;width:85vw}}@media (max-height:600px) and (orientation:landscape){.app-loader-container{padding:10px}.loader-content{flex-direction:row;justify-content:space-around;align-items:center;gap:15px}.logo-wrapper{width:100px;height:100px}.logo-wrapper .main-logo{width:70px}.loader-text{text-align:left;align-items:flex-start;max-width:50%}.loader-text .text-glow{letter-spacing:.2em;font-size:1.5rem}.custom-loader{gap:10px;width:200px}}@media (min-width:1200px){.loader-content{max-width:900px}.logo-wrapper{width:250px;height:250px}.logo-wrapper .main-logo{width:200px}.loader-text .text-glow{font-size:3rem}.custom-loader{width:350px}}@media (hover:none) and (pointer:coarse){.app-loader-container{-webkit-tap-highlight-color:#0000}.particles-container:before{animation:30s linear infinite particleFloat}}
@keyframes logoPulse{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}@keyframes logoRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes logoGlow{0%,to{box-shadow:0 0 15px #6366f14d}50%{box-shadow:0 0 25px #6366f180}}@keyframes textShimmer{0%{background-position:-200%}to{background-position:200%}}.admin-login-container{z-index:9999;box-sizing:border-box;background:linear-gradient(135deg,#0a0f1f 0%,#1a1f3e 100%);justify-content:center;align-items:center;width:100vw;height:100vh;padding:20px;display:flex;position:fixed;top:0;left:0;overflow:hidden}@media (max-width:480px){.admin-login-container{padding:10px}}@media (min-width:481px) and (max-width:768px){.admin-login-container{padding:15px}}.gradient-bg{z-index:1;background:radial-gradient(circle at 15% 30%,#6366f11a 0%,#0000 50%),radial-gradient(circle at 85% 70%,#8b5cf614 0%,#0000 50%);width:100%;height:100%;position:absolute;top:0;left:0}.grading-card-bg{z-index:1;background-image:repeating-linear-gradient(45deg,#0000,#0000 40px,#ffffff05 40px 80px);width:100%;height:100%;position:absolute}.admin-login-content{z-index:2;background:#0f1423f2;border:1px solid #ffffff14;border-radius:20px;width:100%;max-width:min(90vw,450px);padding:clamp(30px,4vw,50px);position:relative;box-shadow:0 25px 50px -12px #00000080,0 0 0 1px #ffffff0d}@media (max-width:480px){.admin-login-content{border-radius:16px;padding:25px 20px}}@media (min-width:481px) and (max-width:768px){.admin-login-content{padding:35px 30px}}.admin-header{text-align:center;flex-direction:column;align-items:center;margin-bottom:clamp(25px,5vw,40px);display:flex}.admin-header .logo-wrapper{width:clamp(80px,20vw,120px);height:clamp(80px,20vw,120px);margin-bottom:clamp(15px,3vw,25px);position:relative}.admin-header .logo-wrapper .admin-logo{z-index:3;filter:drop-shadow(0 0 10px #6366f14d);width:100%;height:auto;padding:.75rem;animation:3s ease-in-out infinite logoPulse;position:relative}.admin-header .logo-wrapper .logo-glow{z-index:1;background:radial-gradient(circle,#6366f133 0%,#0000 70%);border-radius:50%;width:120%;height:120%;animation:4s ease-in-out infinite logoGlow;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.admin-header .logo-wrapper .logo-ring{z-index:2;border:2px solid #6366f1;border-color:#6366f1 #8b5cf680 #ffffff1a #ffffff1a;border-radius:50%;width:110%;height:110%;animation:8s linear infinite logoRotate;position:absolute}.admin-header .admin-header-text .admin-title{letter-spacing:clamp(.05em,1vw,.1em);color:#fff;text-transform:uppercase;background:linear-gradient(90deg,#fff 0%,#c7d2fe 25%,#a5b4fc 50%,#818cf8 75%,#6366f1 100%) 0 0/200%;-webkit-text-fill-color:#0000;-webkit-background-clip:text;background-clip:text;margin:0 0 clamp(5px,1vw,10px);font-size:clamp(1.4rem,5vw,2.2rem);font-weight:800;line-height:1.2;animation:4s linear infinite textShimmer}@media (max-width:480px){.admin-header .admin-header-text .admin-title{letter-spacing:.08em}}.admin-header .admin-header-text .admin-subtitle{color:#6366f1;letter-spacing:clamp(.04em,.8vw,.08em);text-transform:uppercase;margin:0;font-size:clamp(.85rem,2.5vw,1.1rem);font-weight:600;line-height:1.3}.admin-form .error-message{color:#fecaca;background:#ef44441a;border:1px solid #ef44444d;border-radius:10px;align-items:center;gap:10px;margin-bottom:clamp(15px,3vw,25px);padding:clamp(10px,2vw,14px) clamp(12px,2.5vw,16px);font-size:clamp(.8rem,2vw,.95rem);display:flex}.admin-form .admin-input-group{margin-bottom:clamp(15px,3vw,25px)}.admin-form .admin-input-group .admin-input-label{color:#ffffffe6;align-items:center;gap:clamp(6px,1.5vw,10px);margin-bottom:clamp(6px,1.5vw,10px);font-size:clamp(.8rem,2vw,.95rem);font-weight:500;display:flex}.admin-form .admin-input-group .admin-input-label .admin-label-icon{opacity:.8;font-size:clamp(.9rem,2.5vw,1.1rem)}.admin-form .admin-input-group .admin-input-field{color:#fff;box-sizing:border-box;background:#ffffff0d;border:2px solid #ffffff1a;border-radius:12px;width:100%;padding:clamp(12px,2.5vw,16px);font-family:Segoe UI,system-ui,sans-serif;font-size:clamp(.9rem,2.5vw,1rem);transition:all .2s}.admin-form .admin-input-group .admin-input-field::placeholder{color:#ffffff4d;font-size:clamp(.85rem,2vw,.95rem)}.admin-form .admin-input-group .admin-input-field:focus{background:#ffffff14;border-color:#6366f1;outline:none;box-shadow:0 0 0 3px #6366f11a}@media (max-width:480px){.admin-form .admin-input-group .admin-input-field{border-radius:10px}}.admin-remember{margin-bottom:clamp(20px,4vw,30px)}.admin-remember .admin-checkbox-container{cursor:pointer;color:#ffffffb3;-webkit-user-select:none;user-select:none;align-items:center;font-size:clamp(.8rem,2vw,.95rem);display:flex;position:relative}.admin-remember .admin-checkbox-container .admin-checkbox-input{opacity:0;cursor:pointer;position:absolute}.admin-remember .admin-checkbox-container .admin-checkbox-input:checked~.admin-checkmark{background:#6366f1;border-color:#6366f1}.admin-remember .admin-checkbox-container .admin-checkbox-input:checked~.admin-checkmark:after{display:block}.admin-remember .admin-checkbox-container .admin-checkmark{background:#ffffff0d;border:2px solid #ffffff26;border-radius:5px;justify-content:center;align-items:center;width:clamp(16px,3vw,20px);min-width:clamp(16px,3vw,20px);height:clamp(16px,3vw,20px);min-height:clamp(16px,3vw,20px);margin-right:clamp(8px,1.5vw,12px);transition:all .2s;display:flex}.admin-remember .admin-checkbox-container .admin-checkmark:after{content:"✓";color:#fff;font-size:clamp(10px,2vw,12px);font-weight:700;display:none}.admin-remember .admin-checkbox-container:hover .admin-checkmark{background:#ffffff14;border-color:#ffffff40}.admin-submit-btn{color:#fff;cursor:pointer;letter-spacing:clamp(.03em,.5vw,.05em);text-transform:uppercase;background:#6366f1;border:none;border-radius:12px;width:100%;margin-bottom:clamp(15px,3vw,25px);padding:clamp(14px,3vw,18px);font-size:clamp(.95rem,2.5vw,1.1rem);font-weight:600;transition:all .2s;position:relative;overflow:hidden}.admin-submit-btn:hover:not(:disabled){background:#7c3aed;transform:translateY(-1px);box-shadow:0 8px 20px #6366f14d}.admin-submit-btn:active:not(:disabled){transform:translateY(0)}.admin-submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.admin-submit-btn .admin-loading{justify-content:center;align-items:center;gap:clamp(8px,1.5vw,12px);display:flex}.admin-submit-btn .admin-loading-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:clamp(14px,2.5vw,18px);height:clamp(14px,2.5vw,18px)}@keyframes spin{to{transform:rotate(360deg)}}.admin-submit-btn .admin-loading-spinner{animation:.8s linear infinite spin}@media (max-width:480px){.admin-submit-btn{border-radius:10px}}.security-note{color:#ffffff80;text-align:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:10px;justify-content:center;align-items:center;gap:clamp(6px,1.5vw,10px);padding:clamp(10px,2vw,14px);font-size:clamp(.75rem,2vw,.85rem);line-height:1.4;display:flex}@media (max-height:600px) and (orientation:landscape){.admin-login-container{align-items:flex-start;padding-top:20px;overflow-y:auto}.admin-login-content{max-width:400px;margin:20px 0}.admin-header{margin-bottom:20px}.admin-header .logo-wrapper{width:60px;height:60px;margin-bottom:10px}.admin-form .admin-input-group{margin-bottom:15px}.admin-remember{margin-bottom:20px}}@media (max-width:360px){.admin-login-content{padding:20px 15px}.admin-title{font-size:1.3rem}.admin-subtitle{font-size:.8rem}.admin-input-field{padding:10px 12px}.admin-submit-btn{padding:12px}}@media (prefers-reduced-motion:reduce){.admin-logo,.logo-glow,.logo-ring,.admin-title,.admin-loading-spinner{animation:none!important}.admin-submit-btn:hover:not(:disabled){transform:none}}
