.login-container{box-sizing:border-box;background-color:#f8fafc;background-image:radial-gradient(at 15% 15%,#002d621f 0,#0000 50%),radial-gradient(at 85% 85%,#d32f2f1a 0,#0000 50%),radial-gradient(#3b82f614 0,#0000 60%);justify-content:center;align-items:center;width:100vw;min-height:100dvh;padding:1.5rem;display:flex;position:relative;overflow:hidden}.login-ambient-orb{filter:blur(60px);pointer-events:none;z-index:0;opacity:.6;border-radius:50%;position:absolute}.login-ambient-orb-1{background:radial-gradient(circle,#00449459 0%,#002d6200 70%);width:320px;height:320px;top:-80px;left:-60px}.login-ambient-orb-2{background:radial-gradient(circle,#ef535040 0%,#d32f2f00 70%);width:360px;height:360px;bottom:-100px;right:-80px}.login-card{z-index:1;-webkit-backdrop-filter:blur(28px);box-sizing:border-box;text-align:center;background:#ffffffc7;border:1px solid #ffffffd9;border-radius:24px;width:100%;max-width:440px;padding:2.75rem 2.25rem;animation:.6s cubic-bezier(.16,1,.3,1) forwards loginSlideUp;position:relative;box-shadow:0 25px 50px -12px #002d6224,0 0 0 1px #fff9,inset 0 1px 1px #ffffffe6}@keyframes loginSlideUp{0%{opacity:0;transform:translateY(24px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.login-brand-badge{background:#ffffffe6;border:1px solid #e2e8f0cc;border-radius:18px;justify-content:center;align-items:center;margin-bottom:1.5rem;padding:10px 16px;transition:transform .3s;display:inline-flex;box-shadow:0 4px 16px #002d6214,inset 0 1px #fff}.login-brand-badge:hover{transform:scale(1.03)}.login-logo{object-fit:contain;width:auto;max-width:180px;height:52px;display:block}.login-title{letter-spacing:-.025em;color:#0f172a;margin:0 0 .4rem;font-size:1.75rem;font-weight:700}.login-subtitle{color:#64748b;margin:0 0 2rem;font-size:.925rem;font-weight:400}.login-form{text-align:left;flex-direction:column;gap:1.15rem;display:flex}.login-input-group{align-items:center;width:100%;display:flex;position:relative}.login-input-icon{color:#94a3b8;pointer-events:none;transition:color .2s;position:absolute;left:14px}.login-input{color:#0f172a;box-sizing:border-box;background:#ffffffd9;border:1px solid #cbd5e1;border-radius:12px;outline:none;width:100%;height:48px;padding:0 14px 0 42px;font-size:.95rem;transition:all .2s cubic-bezier(.16,1,.3,1)}.login-input-group:focus-within .login-input-icon{color:#002d62}.login-input:focus{background:#fff;border-color:#004494;box-shadow:0 0 0 4px #0044941f}.login-input::placeholder{color:#94a3b8}.login-submit-btn{color:#fff;letter-spacing:-.01em;cursor:pointer;box-sizing:border-box;-webkit-user-select:none;user-select:none;background:linear-gradient(135deg,#002d62 0%,#004494 100%);border:1px solid #ffffff26;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;height:48px;min-height:48px;padding:0 1.5rem;font-size:.975rem;font-weight:600;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex;box-shadow:0 4px 14px #002d6247,inset 0 1px #ffffff40}.login-submit-btn:hover:not(:disabled){background:linear-gradient(135deg,#003677 0%,#0050ae 100%);transform:translateY(-1.5px);box-shadow:0 8px 20px #002d6257,inset 0 1px #ffffff59}.login-submit-btn:active:not(:disabled){transform:translateY(.5px);box-shadow:0 2px 8px #002d6233}.login-submit-btn:disabled{opacity:.65;cursor:not-allowed;transform:none}.login-footer-actions{flex-direction:column;gap:.75rem;margin-top:1.75rem;font-size:.875rem;display:flex}.login-link-btn{color:#004494;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:6px 12px;font-size:.875rem;font-weight:500;text-decoration:none;transition:color .2s,opacity .2s;display:inline-flex}.login-link-btn:hover{color:#002d62;background:#0044940d}.login-recovery-btn{color:#dc2626;cursor:pointer;background:#ef44440f;border:1px solid #ef444426;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-size:.8rem;font-weight:500;transition:all .2s;display:inline-flex}.login-recovery-btn:hover{color:#b91c1c;background:#ef44441f;border-color:#ef444440}@media (max-width:480px){.login-container{padding:1rem}.login-card{border-radius:20px;padding:2rem 1.25rem}.login-title{font-size:1.5rem}.login-logo{height:44px}.login-submit-btn,.login-input{height:46px}}