.login-page{min-height:100vh;margin:0;padding:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at top left,#1a1a2e,#0f172a);color:#f9fafb;position:relative;overflow:hidden}.login-bg-gradient{position:absolute;width:500px;height:500px;background:radial-gradient(circle,#3b82f6,#a855f7);filter:blur(90px);opacity:.6;animation:floatGradient 12s ease-in-out infinite alternate;z-index:0}@keyframes floatGradient{0%{transform:translate(-30%,-30%) scale(1)}to{transform:translate(30%,10%) scale(1.2)}}.login-card{position:relative;z-index:1;width:100%;max-width:420px;padding:32px 28px 30px;background:rgba(15,23,42,.96);border-radius:24px;box-shadow:0 24px 60px rgba(15,23,42,.9);border:1px solid rgba(148,163,184,.35);backdrop-filter:blur(18px);animation:cardIn .7s ease-out}@keyframes cardIn{0%{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.login-card-header{text-align:center;margin-bottom:24px}.login-title{font-size:1.6rem;font-weight:700;letter-spacing:.03em;margin:0 0 6px}.login-subtitle{margin:0;font-size:.9rem;color:#9ca3af}.login-form{gap:16px}.form-group,.login-form{display:flex;flex-direction:column}.form-group{gap:6px}.form-label{font-size:.85rem;font-weight:500;color:#e5e7eb}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:12px;font-size:.8rem;opacity:.8;color:#9ca3af;pointer-events:none}.form-input{width:100%;padding:10px 12px 10px 30px;font-size:.9rem;border-radius:999px;border:1px solid rgba(148,163,184,.6);background:rgba(15,23,42,.9);color:#f9fafb;outline:none;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease,transform .06s ease}.form-input::placeholder{color:#6b7280}.form-input:focus{border-color:#3b82f6;box-shadow:0 0 0 1px rgba(59,130,246,.7),0 16px 30px rgba(15,23,42,.9);background:rgba(15,23,42,.95);transform:translateY(-1px)}.form-group.has-error .form-input{border-color:#f97373;box-shadow:0 0 0 1px rgba(248,113,113,.4)}.error-text{margin:0;font-size:.78rem;color:#fca5a5}.form-row{display:flex;align-items:center;justify-content:space-between;margin-top:4px}.checkbox-label{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;color:#cbd5f5;cursor:pointer}.checkbox-input{display:none}.checkbox-custom{width:14px;height:14px;border-radius:4px;border:1px solid rgba(148,163,184,.8);background:transparent;position:relative;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease}.checkbox-input:checked+.checkbox-custom{background:#3b82f6;border-color:#3b82f6;box-shadow:0 0 0 1px rgba(59,130,246,.5)}.checkbox-input:checked+.checkbox-custom:after{content:"";position:absolute;inset:2px;border-radius:3px;background:#e5e7eb}.link-button{border:0;background:none;color:#93c5fd;font-size:.8rem;font-weight:500;cursor:pointer;padding:0;text-decoration:none;transition:color .15s ease,transform .1s ease}.link-button:hover{color:#bfdbfe;transform:translateY(-.5px)}.login-button{margin-top:6px;width:100%;padding:10px 18px;border-radius:999px;border:0;cursor:pointer;font-size:.95rem;font-weight:600;background:linear-gradient(135deg,#3b82f6,#a855f7);color:#f9fafb;box-shadow:0 10px 28px rgba(59,130,246,.6);transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}.login-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 16px 34px rgba(59,130,246,.8);filter:brightness(1.03)}.login-button:active:not(:disabled){transform:translateY(1px) scale(.99);box-shadow:0 8px 20px rgba(15,23,42,.9)}.login-button:disabled{opacity:.7;cursor:default}.login-footer-text{margin-top:14px;font-size:.8rem;text-align:center;color:#9ca3af}.link-highlight{color:#93c5fd;font-weight:600;cursor:pointer;transition:color .15s ease}.link-highlight:hover{color:#bfdbfe}@media (max-width:480px){.login-card{margin:0 16px;padding:26px 20px 24px}.login-title{font-size:1.4rem}.login-subtitle{font-size:.85rem}}