@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&display=swap";
.login-page{background-color:#0b0f19;background-image:radial-gradient(at 0 0,#f9731612 0,#0000 50%),radial-gradient(at 100% 100%,#ea580c12 0,#0000 50%);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:24px;font-family:Outfit,sans-serif;display:flex;position:relative;overflow:hidden}.login-bg-overlay{z-index:1;pointer-events:none;position:absolute;inset:0}.login-bg-overlay:before,.login-bg-overlay:after{content:"";filter:blur(50px);background:radial-gradient(circle,#f9731626 0%,#f9731600 70%);border-radius:50%;width:350px;height:350px;animation:8s ease-in-out infinite alternate float-glow;position:absolute}.login-bg-overlay:before{top:-10%;left:10%}.login-bg-overlay:after{background:radial-gradient(circle,#ea580c1f 0%,#ea580c00 70%);animation-delay:-4s;bottom:-10%;right:10%}@keyframes float-glow{0%{transform:translate(0)scale(1)}to{transform:translate(30px,20px)scale(1.1)}}.login-header{z-index:2;text-align:center;margin-bottom:32px;animation:.8s cubic-bezier(.16,1,.3,1) fadeInDown;position:relative}.login-brand-wrapper{background:#ffffff08;border:1px solid #ffffff0d;border-radius:20px;padding:16px 24px;transition:all .3s cubic-bezier(.16,1,.3,1);display:inline-block;box-shadow:0 20px 40px #0003}.login-brand-wrapper:hover{border-color:#f9731633;transform:translateY(-2px);box-shadow:0 25px 50px #f973160d}.login-main-logo{object-fit:contain;width:auto;height:95px}.login-card{z-index:2;-webkit-backdrop-filter:blur(25px);background:#11182799;border:1px solid #ffffff0d;border-radius:24px;width:100%;max-width:440px;animation:.8s cubic-bezier(.16,1,.3,1) fadeInUp;position:relative;overflow:hidden;box-shadow:0 30px 60px #0006,inset 0 0 0 1px #ffffff14}.login-terminal-bar{background:#ffffff05;border-bottom:1px solid #ffffff0d;justify-content:center;padding:20px 40px;display:flex}.login-terminal-title{color:#fff;text-transform:uppercase;letter-spacing:.3em;text-align:center;background:linear-gradient(135deg,#fff 30%,#ffffff80 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:14px;font-weight:700}.login-form{flex-direction:column;gap:28px;padding:40px 40px 48px;display:flex}.login-field{flex-direction:column;gap:8px;display:flex}.login-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.15em;margin-left:4px;font-size:11px;font-weight:700}.login-input-wrap{background:#ffffff08;border:1px solid #ffffff1a;border-radius:12px;align-items:center;transition:all .25s cubic-bezier(.16,1,.3,1);display:flex;overflow:hidden}.login-input-wrap:focus-within{background:#ffffff0d;border-color:#f97316;box-shadow:0 0 0 3px #f9731626}.login-input{color:#fff;flex:1;width:100%;padding:14px 18px;font-size:15px;background:0 0!important;border:none!important;outline:none!important}.login-input::placeholder{color:#64748b;font-weight:400!important}.login-submit{color:#fff;text-transform:uppercase;letter-spacing:.2em;cursor:pointer;background:linear-gradient(135deg,#f97316 0%,#ea580c 100%);border:none;border-radius:12px;width:100%;margin-top:8px;padding:16px;font-size:14px;font-weight:700;transition:all .3s cubic-bezier(.16,1,.3,1);box-shadow:0 8px 24px #f9731633}.login-submit:hover:not(:disabled){background:linear-gradient(135deg,#fb923c 0%,#f97316 100%);transform:translateY(-1px);box-shadow:0 12px 30px #f9731659}.login-submit:active:not(:disabled){transform:translateY(0)}.login-submit:disabled{color:#64748b;box-shadow:none;cursor:not-allowed;opacity:.6;background:#1e293b;border:1px solid #ffffff0d}.login-footer-links{text-align:center;margin-top:12px}.password-reset-link{color:#94a3b8;font-size:13px;font-weight:500;text-decoration:none;transition:color .2s}.password-reset-link:hover{color:#f97316;text-decoration:none}.login-error{color:#fca5a5;background:#ef44441a;border-left:4px solid #ef4444;border-radius:8px;padding:12px 16px;font-size:13px;font-weight:500;animation:.5s cubic-bezier(.36,.07,.19,.97) both shake}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes shake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-4px)}40%,60%{transform:translate(4px)}}
