.login-page{background:var(--inat-background);min-height:100vh;color:var(--inat-text-primary);flex-direction:column;justify-content:center;align-items:center;padding:24px;display:flex;position:relative;overflow:hidden}.login-shell{z-index:1;flex-direction:column;align-items:center;gap:16px;width:min(100%,460px);display:flex;position:relative}.login-logo{flex-direction:column;align-items:center;gap:8px;width:100%;margin-bottom:0;text-decoration:none;display:flex}.login-logo img{width:min(100%,340px);height:auto;margin:-22% 0;display:block}.login-logo p{color:#737b87;letter-spacing:.3em;text-transform:uppercase;margin:0;font-size:11px;font-weight:400;line-height:16px}.login-card{border:1px solid var(--inat-border-strong);background:var(--inat-surface);width:100%;box-shadow:var(--inat-shadow-soft);border-radius:12px;padding:24px}.login-card:hover{border-color:rgb(var(--inat-primary-strong-rgb) / .22)}.login-card-header{margin-bottom:20px}.login-card h1{color:var(--inat-text-primary);letter-spacing:0;margin:0;font-size:16px;font-weight:600;line-height:24px}.login-card-header>p{color:var(--inat-text-muted);margin:2px 0 0;font-size:.875rem;line-height:1.45}.login-error{border:1px solid rgb(var(--inat-danger-rgb) / .35);background:rgb(var(--inat-danger-rgb) / .12);color:var(--inat-danger);border-radius:8px;margin-bottom:16px;padding:12px 14px;font-size:.9rem}.login-verification-recovery{border:1px solid var(--inat-border-medium);background:rgb(var(--inat-primary-rgb) / .06);border-radius:8px;gap:10px;margin:-8px 0 16px;padding:12px 14px;display:grid}.login-verification-recovery>p{color:var(--inat-text-secondary);margin:0;font-size:.88rem;line-height:1.5}.login-verification-resend{border:1px solid var(--inat-primary);background:var(--inat-surface);min-height:44px;color:var(--inat-primary-deep);cursor:pointer;border-radius:22px;justify-content:center;align-items:center;gap:8px;padding:9px 14px;font-size:.88rem;font-weight:700;display:inline-flex}.login-verification-resend:hover,.login-verification-resend:focus-visible{background:rgb(var(--inat-primary-rgb) / .1)}.login-verification-resend:focus-visible{outline:2px solid rgb(var(--inat-primary-strong-rgb) / .55);outline-offset:2px}.login-verification-resend:disabled{cursor:not-allowed;opacity:.55}.login-verification-status--error{color:var(--inat-danger)!important}.login-form{gap:16px;display:grid}.login-field{flex-direction:column;gap:4px;display:flex}.login-field label{color:var(--inat-text-secondary);letter-spacing:.55px;text-transform:uppercase;font-size:11px;font-weight:500;line-height:16px}.login-field label span{color:var(--inat-text-subtle);font-weight:400}.login-field input{border:1px solid var(--inat-border-medium);background:var(--inat-surface);width:100%;min-height:44px;color:var(--inat-text-primary);box-shadow:none;border-radius:8px;outline:none;padding:10px 14px;font-size:16px;transition:background-color .16s,border-color .16s,box-shadow .16s}.login-field input:hover{border-color:var(--inat-primary)}.login-field input:focus{border-color:var(--inat-primary);box-shadow:0 0 0 3px rgb(var(--inat-primary-rgb) / .14)}.login-field input[aria-invalid=true]{border-color:var(--inat-danger)}.login-field input[aria-invalid=true]:focus{box-shadow:0 0 0 3px rgb(var(--inat-danger-rgb) / .14)}.login-field-error{color:var(--inat-danger);margin:2px 0 0;font-size:.85rem;line-height:1.4}.login-password-wrap{position:relative}.login-password-wrap input{padding-right:52px}.login-password-toggle{width:40px;height:40px;color:var(--inat-text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:color .16s,background-color .16s;display:inline-flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.login-password-toggle:hover,.login-password-toggle:focus-visible{color:var(--inat-text-primary);background:rgb(var(--inat-primary-rgb) / .08)}.login-password-toggle:focus-visible{outline:2px solid rgb(var(--inat-primary-strong-rgb) / .55);outline-offset:1px}.login-password-toggle svg{width:20px;height:20px}.login-actions-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.login-checkbox{min-height:44px;color:var(--inat-text-secondary);cursor:pointer;align-items:center;gap:10px;font-size:.88rem;display:inline-flex}.login-checkbox input{width:20px;min-width:20px;height:20px;min-height:20px;accent-color:var(--inat-primary);cursor:pointer}.login-link{color:var(--inat-primary-deep);font-size:.88rem;font-weight:700;text-decoration:none;transition:color .16s}.login-actions-row .login-link{align-items:center;min-height:44px;display:inline-flex}.login-link:hover,.login-link:focus-visible{color:var(--inat-primary)}.login-link:focus-visible,.login-back:focus-visible,.login-submit:focus-visible{outline:2px solid rgb(var(--inat-primary-strong-rgb) / .55);outline-offset:3px}.login-submit{background:var(--inat-gradient-primary);border:1px solid rgb(var(--inat-primary-strong-rgb) / .45);width:100%;min-height:48px;box-shadow:0 16px 28px rgb(var(--inat-primary-deep-rgb) / .2);text-transform:uppercase;letter-spacing:.025em;color:#fff;letter-spacing:.4px;border-radius:24px;justify-content:center;align-items:center;gap:8px;padding:12px 18px;font-size:14px;font-weight:600;line-height:20px;transition:background .16s,box-shadow .16s,opacity .16s;display:inline-flex}.login-submit:hover,.login-submit:focus-visible{background:var(--inat-gradient-primary-hover);box-shadow:0 18px 32px rgb(var(--inat-primary-deep-rgb) / .26)}.login-submit:disabled{cursor:not-allowed;opacity:.55}.login-spin{width:20px;height:20px;animation:.9s linear infinite login-spin}.login-scope-note{color:var(--inat-text-secondary);margin:0;font-size:.85rem}.login-register{border-top:0;margin-top:16px;padding-top:0}.login-register p{color:var(--inat-text-secondary);text-align:center;margin:0;font-size:.9rem}.login-result{gap:16px;display:grid}.login-result-text,.login-result-hint{color:var(--inat-text-muted);margin:0;font-size:.9rem;line-height:1.5}.login-result-hint{font-size:.82rem}.login-submit--link{text-decoration:none}.login-back-wrap{text-align:center;margin:0}.login-back{color:var(--inat-text-secondary);justify-content:center;align-items:center;gap:8px;font-size:.88rem;text-decoration:none;display:inline-flex}.login-back svg{width:16px;height:16px}.login-back:hover{color:var(--inat-text-primary)}.login-attribution{pointer-events:none;color:var(--inat-text-secondary);opacity:1;text-align:center;margin:0;font-size:11px;line-height:16px;position:absolute;bottom:20px;left:0;right:0}.hive-auth-logo-enter{animation:.52s ease-out both hive-auth-logo-enter}.hive-auth-form-enter{animation:.62s ease-out 80ms both hive-auth-form-enter}.hive-auth-footer-enter{animation:.62s ease-out .16s both hive-auth-form-enter}@media (max-width:520px){.login-page{justify-content:flex-start;align-items:stretch;padding:20px 16px;overflow:auto}.login-logo img{width:min(100%,280px);margin:-20% 0}.login-actions-row{flex-direction:column;align-items:flex-start}.login-card{padding:24px}.login-attribution{margin-top:28px;position:static}}@keyframes login-spin{to{transform:rotate(360deg)}}@keyframes hive-auth-logo-enter{0%{opacity:0;transform:translateY(18px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes hive-auth-form-enter{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.login-error{animation:.24s ease-out both hive-auth-error-enter}.login-result{animation:.32s ease-out both hive-auth-form-enter}@keyframes hive-auth-error-enter{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.login-error,.login-result,.hive-auth-logo-enter,.hive-auth-form-enter,.hive-auth-footer-enter{animation:none}}
