.login-wrapper{justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.login-card{width:100%;max-width:420px;padding:2.5rem;animation:.45s forwards rise}.login-header{text-align:center;margin-bottom:2rem}.login-header .brand-badge{border-radius:16px;width:56px;height:56px;margin:0 auto 1.2rem;font-size:1.4rem}.login-header h1{color:var(--navy);margin:0 0 .5rem;font-family:Sora,sans-serif;font-size:1.4rem}.login-header p{color:var(--ink-soft);margin:0;font-size:.95rem}.form-group{margin-bottom:1.25rem}.form-label{color:var(--navy);margin-bottom:.5rem;font-size:.88rem;font-weight:600;display:block}.form-input{width:100%;color:var(--ink);background:#fbfdff;border:1px solid #c9d6ef;border-radius:11px;padding:.75rem 1rem;font-family:inherit;font-size:.95rem;transition:all .2s}.form-input:focus{background:#fff;border-color:#5ea2ff;outline:none;box-shadow:0 0 0 3px #5ea2ff33}.form-check{align-items:center;gap:.5rem;display:flex}.form-check input[type=checkbox]{accent-color:#1e84ff;border:1px solid #c9d6ef;border-radius:4px;width:1.1rem;height:1.1rem}.form-check label{color:var(--ink-soft);cursor:pointer;font-size:.88rem}.form-actions{flex-direction:column;gap:1rem;margin-top:2rem;display:flex}.form-actions .btn{justify-content:center;align-items:center;width:100%;padding:.85rem;font-size:1rem;display:flex}.forgot-password{text-align:center;color:var(--navy);font-size:.88rem;font-weight:500;text-decoration:none;transition:color .2s}.forgot-password:hover{color:#1e84ff;text-decoration:underline}.form-input.has-error{background:snow;border-color:#e35d6a}.form-input.has-error:focus{border-color:#e35d6a;box-shadow:0 0 0 3px #e35d6a2e}
