@import "https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap";
:root{--primary-color:#ffd54f;--secondary-color:#ffc107;--dark-bg:#1a1a2e;--darker-bg:#0f0f1c;--text-light:#e0e0e0;--text-dark:#333;--error-color:#ff6b6b;--success-color:#4caf50;--border-color:#3f3f5a}body{box-sizing:border-box;background-color:var(--darker-bg);color:var(--text-light);margin:0;padding:0;font-family:Poppins,sans-serif}.login-section{box-sizing:border-box;perspective:1000px;justify-content:center;align-items:center;width:100%;min-height:100vh;padding:2rem 1rem;display:flex;position:relative;overflow:hidden}.background-canvas{z-index:0;pointer-events:none;background:linear-gradient(45deg,var(--darker-bg)0%,var(--dark-bg)100%);width:100vw;height:100vh;animation:15s infinite alternate backgroundGradient;position:fixed;inset:0}@keyframes backgroundGradient{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.login-container{z-index:10;text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border-color);box-sizing:border-box;opacity:0;background:#1e1e2de6;border-radius:15px;width:100%;max-width:420px;padding:3.5rem 2.5rem;animation:.8s cubic-bezier(.175,.885,.32,1.275) forwards fadeInContainer;position:relative;transform:translateY(20px)scale(.95);box-shadow:0 15px 40px #00000080,inset 0 0 0 1px #ffffff0d}@keyframes fadeInContainer{to{opacity:1;transform:translateY(0)scale(1)}}.login-title{text-transform:uppercase;letter-spacing:.15em;color:var(--primary-color);text-shadow:0 0 10px #ffd54f66;margin-bottom:.75rem;font-size:2.2rem;font-weight:700;animation:2s infinite alternate textGlow}@keyframes textGlow{0%{text-shadow:0 0 10px #ffd54f66}to{text-shadow:0 0 20px #ffd54fb3}}.login-subtitle{color:var(--text-light);opacity:.8;margin-bottom:2.5rem;font-size:1.05rem}.error-box{color:var(--error-color);background:rgba(var(--error-color-rgb,255,107,107),.15);border:1px solid var(--error-color);opacity:0;border-radius:8px;margin-bottom:1.5rem;padding:.8rem 1rem;font-weight:500;animation:.4s ease-out forwards slideInError;transform:translateY(-10px)}@keyframes slideInError{to{opacity:1;transform:translateY(0)}}.input-group{animation:.6s cubic-bezier(.25,.46,.45,.94) forwards inputPopIn;animation-delay:var(--delay);opacity:0;margin-bottom:1.8rem;position:relative}.input-group:first-child{--delay:.1s}.input-group:nth-child(2){--delay:.2s}@keyframes inputPopIn{to{opacity:1;transform:translateY(0)}}.input-group input{border:1px solid var(--border-color);width:100%;color:var(--text-light);box-sizing:border-box;background:#00000040;border-radius:10px;outline:none;padding:1.1rem 1.2rem 1.1rem 3.5rem;font-size:1.05rem;transition:all .3s}.input-group input::placeholder{color:rgba(var(--text-light-rgb,224,224,224),.6)}.input-group input:focus{border-color:var(--primary-color);box-shadow:0 0 15px rgba(var(--primary-color-rgb,255,213,79),.3);background:#0006}.input-group .icon{color:var(--primary-color);pointer-events:none;font-size:1.3rem;transition:all .3s;position:absolute;top:50%;left:1.2rem;transform:translateY(-50%)}.input-group input:focus+.icon{color:var(--secondary-color);transform:translateY(-50%)scale(1.1)}.submit-btn{text-transform:uppercase;letter-spacing:.12em;background:var(--primary-color);width:100%;color:var(--text-dark);cursor:pointer;box-shadow:0 8px 20px rgba(var(--primary-color-rgb,255,213,79),.3);opacity:0;border:none;border-radius:10px;margin-top:1rem;padding:1.2rem;font-size:1.15rem;font-weight:600;transition:all .3s;animation:.7s cubic-bezier(.175,.885,.32,1.275) .3s forwards buttonSlideUp;position:relative;overflow:hidden}@keyframes buttonSlideUp{to{opacity:1;transform:translateY(0)}}.submit-btn:hover{background:var(--secondary-color);box-shadow:0 12px 25px rgba(var(--primary-color-rgb,255,213,79),.4);transform:translateY(-2px)}.submit-btn:active{box-shadow:0 5px 15px rgba(var(--primary-color-rgb,255,213,79),.2);transform:translateY(0)}.submit-btn:before{content:"";opacity:0;background:#ffffff4d;border-radius:50%;width:0;height:0;transition:width .4s ease-out,height .4s ease-out,opacity .4s ease-out;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.submit-btn:active:before{opacity:1;width:200%;height:200%}.submit-btn.success{background:var(--success-color);color:#fff;box-shadow:0 8px 20px rgba(var(--success-color-rgb,76,175,80),.3);transition:all .5s}.spinner{border:4px solid #ffffff4d;border-top:4px solid var(--text-dark);opacity:0;z-index:1;border-radius:50%;width:1.8rem;height:1.8rem;transition:all .3s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(0)}.spinner.active{opacity:1;animation:.8s linear infinite spin;transform:translate(-50%,-50%)scale(1)}.hidden-text{opacity:0;transition:opacity .3s}@keyframes spin{to{transform:translate(-50%,-50%)rotate(360deg)}}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.login-links{text-align:center;color:var(--text-light);opacity:0;margin-top:2.5rem;font-size:.9rem;animation:.8s ease-out .5s forwards linksFadeIn}@keyframes linksFadeIn{to{opacity:1}}.login-links p{margin:.6rem 0}.login-links a{color:var(--primary-color);font-weight:500;text-decoration:none;transition:color .3s,transform .2s;position:relative}.login-links a:after{content:"";background:var(--secondary-color);border-radius:2px;width:0%;height:2px;transition:width .3s cubic-bezier(.25,.46,.45,.94),left .3s cubic-bezier(.25,.46,.45,.94);position:absolute;bottom:-4px;left:50%}.login-links a:hover{color:var(--secondary-color);transform:translateY(-1px)}.login-links a:hover:after{width:100%;left:0%}.login-links a:active{color:var(--primary-color);transform:scale(.96)}.login-container{--primary-color-rgb:255,213,79;--secondary-color-rgb:255,193,7;--text-light-rgb:224,224,224;--error-color-rgb:255,107,107;--success-color-rgb:76,175,80}
