@keyframes gradientShift{0%,to{background-position:0%}50%{background-position:100%}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.auth-container{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary),var(--color-primary));background-size:300% 300%;justify-content:center;align-items:center;min-height:100vh;padding:1rem;animation:8s infinite gradientShift;display:flex}.auth-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff1a;border:1px solid #fff3;border-radius:1.5rem;width:100%;max-width:28rem;padding:2rem;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #00000040}.auth-card:before{content:"";pointer-events:none;background:linear-gradient(135deg,#fff3 0%,#0000 100%);border-radius:1.5rem;position:absolute;inset:0}.auth-logo-container{z-index:10;text-align:center;margin-bottom:2rem;position:relative}.auth-logo-wrapper{margin-bottom:1.5rem;display:inline-block}.auth-description{font-family:var(--font-secondary);color:#f9fafb;font-weight:500}.auth-oauth-container{z-index:10;flex-direction:column;gap:.75rem;margin-bottom:1.5rem;display:flex;position:relative}.auth-oauth-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff4d;border-radius:.75rem;justify-content:center;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;transition:all .2s;display:flex}.auth-oauth-button:hover:not(:disabled){background:#ffffff26;transform:translateY(-1px)}.auth-oauth-button:disabled{opacity:.5;cursor:not-allowed}.auth-oauth-button-text{color:#f9fafb;font-size:.875rem;font-weight:500}.auth-oauth-button-text.hover-dark{transition:color .2s}.auth-oauth-button:hover .auth-oauth-button-text.hover-dark{color:#111827}.auth-oauth-grid{grid-template-columns:repeat(2,1fr);gap:.75rem;display:grid}.auth-divider{margin:1.5rem 0;position:relative}.auth-divider:before{content:"";background:#ffffff4d;align-items:center;width:100%;height:1px;display:flex;position:absolute;inset:0}.auth-divider-text{justify-content:center;margin:.5rem 0;font-size:.875rem;display:flex;position:relative}.auth-divider-text span{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#f9fafb;background:#ffffff1a;border-radius:9999px;padding:0 .5rem}.auth-form{z-index:10;flex-direction:column;gap:1rem;display:flex;position:relative}.auth-form-group{margin-bottom:1rem}.auth-form-label{color:#f9fafb;margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.auth-form-input{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#111827;background:#ffffff80;border:1px solid #fff6;border-radius:.75rem;outline:none;width:100%;padding:.75rem 1rem;font-size:.875rem;transition:all .2s}.auth-form-input::placeholder{color:#475569b3}.auth-form-input:focus{border-color:var(--color-accent);background:#ffffffb3;box-shadow:0 0 0 2px #f9731633}.auth-form-input.error{border-color:var(--color-error)}.auth-form-input.error:focus{border-color:var(--color-error);box-shadow:0 0 0 2px #dc262633}.auth-password-container{position:relative}.auth-password-input{padding-right:3rem}.auth-password-toggle{color:#47556999;cursor:pointer;background:0 0;border:none;padding:0;transition:color .2s;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.auth-password-toggle:hover{color:#475569cc}.auth-error-message{color:var(--color-error);margin-top:.25rem;font-size:.875rem}.auth-alert{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid;border-radius:.75rem;margin-bottom:1rem;padding:.75rem}.auth-alert-error{background:#dc26261a;border-color:#dc26264d}.auth-alert-success{background:#16a34a1a;border-color:#16a34a4d}.auth-alert-text{font-size:.875rem;font-weight:500}.auth-alert-text.error{color:#fca5a5}.auth-alert-text.success{color:#86efac}.auth-submit-button{background-color:var(--color-accent);color:#fff;width:100%;font-family:var(--font-primary);cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:none;border-radius:.75rem;outline:none;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.875rem;font-weight:600;transition:all .2s;display:flex;box-shadow:0 4px 12px #f973164d}.auth-submit-button:hover:not(:disabled){background-color:var(--color-accent-secondary);color:#111827;transform:translateY(-1px);box-shadow:0 6px 16px #f9731666}.auth-submit-button:focus{box-shadow:0 0 0 3px #f973164d}.auth-submit-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.auth-loading-spinner{width:1rem;height:1rem;animation:1s linear infinite spin}.auth-mode-switching{text-align:center;flex-direction:column;gap:.5rem;margin-top:1.5rem;display:flex}.auth-link{color:var(--color-accent);font-weight:500;text-decoration:none;transition:color .2s}.auth-link:hover{color:var(--color-accent-secondary)}.auth-text{color:#f9fafbcc;font-size:.875rem}.auth-footer{text-align:center;color:#f9fafbcc;margin-top:2rem;font-size:.875rem}.auth-footer-links{flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:.5rem;display:flex}.auth-footer-links.space-x-4>*+*{margin-left:1rem}.auth-footer-link{color:var(--color-accent);text-decoration:none;transition:color .2s}.auth-footer-link:hover{color:var(--color-accent-secondary)}.icon-sm,.icon-eye{width:1.25rem;height:1.25rem}.space-y-4>*+*{margin-top:1rem}.space-y-2>*+*{margin-top:.5rem}.space-x-4>*+*{margin-left:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mb-2{margin-bottom:.5rem}.mx-auto{margin-left:auto;margin-right:auto}.w-full{width:100%}.max-w-md{max-width:28rem}.opacity-25{opacity:.25}.opacity-75{opacity:.75}.relative{position:relative}.sr-only{white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:640px){.auth-container{padding:.5rem}.auth-card{padding:1.5rem}.auth-oauth-grid{grid-template-columns:1fr}.auth-footer-links{flex-direction:column;gap:.5rem}}@media (prefers-reduced-motion:reduce){.auth-container{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary),var(--color-primary));animation:none}.auth-submit-button:hover:not(:disabled),.auth-oauth-button:hover:not(:disabled){transform:none}.auth-loading-spinner{animation:none}}
