@keyframes gradientShift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary),var(--color-primary));background-size:300% 300%;animation:gradientShift 8s ease infinite}.auth-card{backdrop-filter:blur(20px);background:rgba(255,255,255,.1);border-radius:1.5rem;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.2);padding:2rem;position:relative;overflow:hidden;width:100%;max-width:28rem}.auth-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.2),transparent);pointer-events:none;border-radius:1.5rem}.auth-logo-container{position:relative;z-index:10;text-align:center;margin-bottom:2rem}.auth-logo-wrapper{margin-bottom:1.5rem;display:inline-block}.auth-description{font-family:var(--font-secondary);font-weight:500;color:#F9FAFB}.auth-oauth-container{position:relative;z-index:10;margin-bottom:1.5rem;display:flex;flex-direction:column;gap:.75rem}.auth-oauth-button{width:100%;display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.75rem 1rem;border:1px solid rgba(255,255,255,.3);border-radius:.75rem;background:rgba(255,255,255,.05);backdrop-filter:blur(10px);transition:all .2s ease;cursor:pointer}.auth-oauth-button:hover:not(:disabled){background:rgba(255,255,255,.15);transform:translateY(-1px)}.auth-oauth-button:disabled{opacity:.5;cursor:not-allowed}.auth-oauth-button-text{font-size:.875rem;font-weight:500;color:#F9FAFB}.auth-oauth-button-text.hover-dark{transition:color .2s ease}.auth-oauth-button:hover .auth-oauth-button-text.hover-dark{color:#111827}.auth-oauth-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.auth-divider{position:relative;margin:1.5rem 0}.auth-divider:before{content:"";position:absolute;inset:0;display:flex;align-items:center;width:100%;height:1px;background:rgba(255,255,255,.3)}.auth-divider-text{margin:.5rem 0;position:relative;display:flex;justify-content:center;font-size:.875rem}.auth-divider-text span{padding:0 .5rem;background:rgba(255,255,255,.1);backdrop-filter:blur(10px);border-radius:9999px;color:#F9FAFB}.auth-form{position:relative;z-index:10;display:flex;flex-direction:column;gap:1rem}.auth-form-group{margin-bottom:1rem}.auth-form-label{display:block;font-size:.875rem;font-weight:500;color:#F9FAFB;margin-bottom:.5rem}.auth-form-input{width:100%;padding:.75rem 1rem;border-radius:.75rem;border:1px solid rgba(255,255,255,.4);background:rgba(255,255,255,.5);backdrop-filter:blur(10px);transition:all .2s ease;color:#111827;font-size:.875rem;outline:none}.auth-form-input::placeholder{color:rgba(71,85,105,.7)}.auth-form-input:focus{background:rgba(255,255,255,.7);border-color:var(--color-accent);box-shadow:0 0 0 2px rgba(249,115,22,.2)}.auth-form-input.error,.auth-form-input.error:focus{border-color:var(--color-error)}.auth-form-input.error:focus{box-shadow:0 0 0 2px rgba(220,38,38,.2)}.auth-password-container{position:relative}.auth-password-input{padding-right:3rem}.auth-password-toggle{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;color:rgba(71,85,105,.6);cursor:pointer;padding:0;transition:color .2s ease}.auth-password-toggle:hover{color:rgba(71,85,105,.8)}.auth-error-message{margin-top:.25rem;font-size:.875rem;color:var(--color-error)}.auth-alert{padding:.75rem;border-radius:.75rem;backdrop-filter:blur(10px);border:1px solid;margin-bottom:1rem}.auth-alert-error{background:rgba(220,38,38,.1);border-color:rgba(220,38,38,.3)}.auth-alert-success{background:rgba(22,163,74,.1);border-color:rgba(22,163,74,.3)}.auth-alert-text{font-size:.875rem;font-weight:500}.auth-alert-text.error{color:#FCA5A5}.auth-alert-text.success{color:#86EFAC}.auth-submit-button{width:100%;background-color:var(--color-accent);color:white;font-family:var(--font-primary);font-weight:600;padding:.75rem 1rem;border-radius:.75rem;border:none;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;box-shadow:0 4px 12px rgba(249,115,22,.3);backdrop-filter:blur(10px);font-size:.875rem;outline:none}.auth-submit-button:hover:not(:disabled){background-color:var(--color-accent-secondary);color:#111827;transform:translateY(-1px);box-shadow:0 6px 16px rgba(249,115,22,.4)}.auth-submit-button:focus{box-shadow:0 0 0 3px rgba(249,115,22,.3)}.auth-submit-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.auth-loading-spinner{animation:spin 1s linear infinite;width:1rem;height:1rem}.auth-mode-switching{margin-top:1.5rem;text-align:center;display:flex;flex-direction:column;gap:.5rem}.auth-link{color:var(--color-accent);text-decoration:none;font-weight:500;transition:color .2s ease}.auth-link:hover{color:var(--color-accent-secondary)}.auth-footer,.auth-text{font-size:.875rem;color:rgba(249,250,251,.8)}.auth-footer{text-align:center;margin-top:2rem}.auth-footer-links{margin-top:.5rem;display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.auth-footer-links.space-x-4>*+*{margin-left:1rem}.auth-footer-link{color:var(--color-accent);text-decoration:none;transition:color .2s ease}.auth-footer-link:hover{color:var(--color-accent-secondary)}.icon-eye,.icon-sm{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{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;white-space:nowrap;border:0}@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{animation:none;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary),var(--color-primary))}.auth-oauth-button:hover:not(:disabled),.auth-submit-button:hover:not(:disabled){transform:none}.auth-loading-spinner{animation:none}}