.login-page{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:24px;font-family:Instrument Sans,Inter,system-ui,sans-serif;overflow:hidden;z-index:0}.login-page .orb{position:absolute;border-radius:50%;filter:blur(90px);pointer-events:none}.login-page .orb-1{width:450px;height:450px;top:-15%;right:-8%;background:#3b82f6;opacity:.18;animation:float 16s ease-in-out infinite}.login-page .orb-2{width:380px;height:380px;bottom:-12%;left:-8%;background:#7c3aed;opacity:.16;animation:float 20s ease-in-out infinite reverse}.login-page .orb-3{width:200px;height:200px;top:35%;left:15%;background:#0891b2;opacity:.12;animation:float 13s ease-in-out infinite 2s}.login-card{position:relative;width:100%;max-width:440px;background:#141424b8;backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);border:1px solid rgba(255,255,255,.09);border-radius:24px;padding:48px 40px;box-shadow:0 30px 80px #0000008c,inset 0 1px #ffffff12;animation:cardIn .55s cubic-bezier(.16,1,.3,1) both;z-index:1}.login-card .login-brand{display:flex;flex-direction:column;align-items:center;gap:14px;margin-bottom:28px}.login-card .brand-logo{width:88px;height:88px;border-radius:24px;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 28px #00000040;padding:8px}.login-card .brand-logo img{width:100%;height:100%;object-fit:contain}.login-card .brand-name{font-size:20px;font-weight:800;color:#fff;letter-spacing:-.6px}.login-card .login-heading{text-align:center;margin-bottom:32px}.login-card .login-heading h1{font-size:26px;font-weight:700;color:#fff;letter-spacing:-.5px;margin:0 0 8px}.login-card .login-heading p{font-size:15px;color:#94a3b8;margin:0}.login-card .login-errors{background:#ef44441a;border:1px solid rgba(239,68,68,.25);border-radius:12px;color:#f87171;font-size:14px;padding:12px 16px;margin-bottom:20px;text-align:center}.login-card .login-form{display:flex;flex-direction:column;gap:20px}.login-card .field-group{display:flex;flex-direction:column;gap:8px;animation:slideUp .4s ease-out both;opacity:0}.login-card .field-group:nth-child(1){animation-delay:.12s}.login-card .field-group:nth-child(2){animation-delay:.22s}.login-card .field-group label{font-size:13px;font-weight:600;color:#ffffffd9}.login-card .field-input-wrapper{position:relative}.login-card .field-input-wrapper input{width:100%;height:52px;background:#ffffff0a;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:0 16px 0 48px;font-size:15px;color:#fff;outline:none;transition:border-color .2s,box-shadow .2s,background .2s;box-sizing:border-box}.login-card .field-input-wrapper input::placeholder{color:#94a3b88c}.login-card .field-input-wrapper input:focus{border-color:#3b82f6;background:#3b82f60f;box-shadow:0 0 0 4px #3b82f62e}.login-card .field-input-wrapper input.has-error{border-color:#ef4444}.login-card .field-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#94a3b880;display:flex;align-items:center;pointer-events:none}.login-card .password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;padding:8px;color:#94a3b880;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .2s,transform .2s;border-radius:10px}.login-card .password-toggle:hover{color:#3b82f6;background:#3b82f61a}.login-card .password-toggle:active{transform:translateY(-50%) scale(.95)}.login-card .login-button{height:52px;width:100%;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:14px;font-size:15px;font-weight:600;color:#fff;cursor:pointer;box-shadow:0 8px 24px #3b82f659;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease;margin-top:6px;display:flex;align-items:center;justify-content:center;gap:8px;animation:slideUp .4s ease-out .32s both;opacity:0}.login-card .login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 14px 32px #3b82f680}.login-card .login-button:active:not(:disabled){transform:translateY(0)}.login-card .login-button:disabled{opacity:.6;cursor:not-allowed}.login-card .login-button .spinner{animation:spin .8s linear infinite}.login-page .login-footer{position:relative;z-index:1;color:#94a3b866;font-size:12px}@keyframes cardIn{0%{opacity:0;transform:translateY(28px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translate(0)}50%{transform:translate(22px,16px)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
