:root{--spring-bounce:cubic-bezier(.34,1.56,.64,1);--spring-smooth:cubic-bezier(.16,1,.3,1);--spring-snappy:cubic-bezier(.2,0,0,1)}.auth-layout{background:hsl(var(--background));flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:1.5rem;display:flex}.auth-container{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:1rem;flex-direction:column;gap:2rem;width:100%;max-width:400px;padding:2rem;display:flex}.auth-container[data-entering=true]{animation:authFadeIn .4s var(--spring-smooth)forwards}@keyframes authFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auth-header{text-align:center;flex-direction:column;align-items:center;gap:.5rem;display:flex}.auth-logo{-o-object-fit:contain;object-fit:contain;width:64px;height:64px;margin-bottom:.5rem}.auth-title{color:hsl(var(--foreground));margin:0;font-size:1.5rem;font-weight:600;line-height:1.2}.auth-subtitle{color:hsl(var(--muted-foreground));margin:0;font-size:.9375rem}.auth-identifier{color:hsl(var(--foreground));font-weight:500}.auth-form-group{flex-direction:column;gap:1rem;display:flex}.auth-input{background:hsl(var(--input));border:1px solid hsl(var(--border));width:100%;height:3rem;color:hsl(var(--foreground));border-radius:.5rem;padding:0 1rem;font-size:.9375rem;transition:border-color .2s,box-shadow .2s}.auth-input:focus{border-color:hsl(var(--ring));box-shadow:0 0 0 3px hsl(var(--ring)/.1);outline:none}.auth-input:disabled{opacity:.5;cursor:not-allowed}.auth-input::placeholder{color:hsl(var(--muted-foreground))}.auth-phone-input .PhoneInputInput{background:hsl(var(--input));border:1px solid hsl(var(--border));height:3rem;color:hsl(var(--foreground));border-radius:.5rem;padding:0 1rem;font-size:.9375rem}.auth-phone-input .PhoneInputInput:focus{border-color:hsl(var(--ring));box-shadow:0 0 0 3px hsl(var(--ring)/.1);outline:none}.auth-button{cursor:pointer;border:none;border-radius:.5rem;justify-content:center;align-items:center;gap:.5rem;width:100%;height:3rem;font-size:.9375rem;font-weight:500;transition:opacity .15s,transform .15s;display:flex}.auth-button:active:not(:disabled){transform:scale(.98)}.auth-button:disabled{opacity:.5;cursor:not-allowed}.auth-button-primary{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.auth-button-primary:hover:not(:disabled){opacity:.9}.auth-button-secondary{background:hsl(var(--secondary));color:hsl(var(--secondary-foreground))}.auth-button-secondary:hover:not(:disabled){opacity:.9}.auth-button-loading{position:relative;color:#0000!important}.auth-button-loading:before{content:"";border:2px solid;border-right-color:#0000;border-radius:50%;width:1.25rem;height:1.25rem;animation:.6s linear infinite authSpin;position:absolute}.auth-button-primary.auth-button-loading:before{border-color:hsl(var(--primary-foreground));border-right-color:#0000}@keyframes authSpin{to{transform:rotate(360deg)}}.auth-divider{color:hsl(var(--muted-foreground));align-items:center;gap:1rem;font-size:.8125rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:hsl(var(--border));flex:1;height:1px}.auth-link{color:hsl(var(--primary));cursor:pointer;background:0 0;border:none;align-items:center;gap:.25rem;padding:0;font-size:.875rem;transition:opacity .15s;display:inline-flex}.auth-link:hover{opacity:.8}.auth-link:disabled{opacity:.5;cursor:not-allowed}.auth-actions{justify-content:center;gap:1.5rem;display:flex}.auth-error{color:hsl(var(--destructive));background:hsl(var(--destructive)/.1);border:1px solid hsl(var(--destructive)/.2);border-radius:.5rem;padding:.75rem 1rem;font-size:.875rem;animation:.4s authShake}@keyframes authShake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.auth-footer{color:hsl(var(--muted-foreground));justify-content:center;gap:.75rem;font-size:.8125rem;display:flex}.auth-footer a{color:inherit;text-decoration:none}.auth-footer a:hover{color:hsl(var(--foreground))}.auth-footer-dot{opacity:.3}.auth-terms{color:hsl(var(--muted-foreground));align-items:flex-start;gap:.75rem;font-size:.875rem;display:flex}.auth-terms-checkbox{flex-shrink:0;margin-top:2px}.auth-terms a{color:hsl(var(--primary));text-decoration:none}.auth-terms a:hover{opacity:.8}.auth-channel-toggle{background:hsl(var(--muted));border-radius:.5rem;gap:4px;padding:4px;display:flex}.auth-channel-option{color:hsl(var(--muted-foreground));cursor:pointer;background:0 0;border:none;border-radius:.375rem;flex:1;justify-content:center;align-items:center;gap:.375rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.auth-channel-option[data-active=true]{color:hsl(var(--foreground));background:hsl(var(--card));box-shadow:0 1px 2px #0000000d}.auth-channel-option svg{width:1rem;height:1rem}.auth-otp-container{justify-content:center;display:flex}.auth-otp-wrapper{gap:.5rem;display:flex}.auth-otp-wrapper input{text-align:center;background:hsl(var(--input));border:1px solid hsl(var(--border));width:3rem;height:3.5rem;color:hsl(var(--foreground));border-radius:.5rem;font-size:1.25rem;font-weight:500;transition:border-color .2s,box-shadow .2s}.auth-otp-wrapper input:focus{border-color:hsl(var(--ring));box-shadow:0 0 0 3px hsl(var(--ring)/.1);outline:none}.auth-otp-wrapper input:disabled{opacity:.5}.auth-qr-container{justify-content:center;padding:1rem 0;display:flex}.auth-qr{background:#fff;border-radius:.5rem;padding:1rem;box-shadow:0 2px 8px #00000014}.auth-secret-container{flex-direction:column;align-items:center;gap:.5rem;padding:1rem;display:flex}.auth-secret{letter-spacing:.05em;background:hsl(var(--muted));color:hsl(var(--foreground));word-break:break-all;text-align:center;border-radius:.375rem;padding:.5rem 1rem;font-family:ui-monospace,monospace;font-size:.8125rem}.auth-backup-codes{background:hsl(var(--muted)/.5);border:1px dashed hsl(var(--border));border-radius:.5rem;grid-template-columns:repeat(2,1fr);gap:.5rem;padding:1rem;display:grid}.auth-backup-code{text-align:center;color:hsl(var(--foreground));padding:.5rem;font-family:ui-monospace,monospace;font-size:.8125rem}.auth-success-overlay{background:hsl(var(--background));z-index:50;justify-content:center;align-items:center;animation:.3s ease-out authFadeIn;display:flex;position:fixed;inset:0}.auth-success-content{flex-direction:column;align-items:center;gap:1.5rem;display:flex}.auth-success-logo{-o-object-fit:contain;object-fit:contain;width:80px;height:80px;animation:authSuccessIn .5s var(--spring-bounce)}.auth-success-check{color:#16a249;width:80px;height:80px;animation:authSuccessIn .5s var(--spring-bounce);background:#16a2491a;border-radius:50%;justify-content:center;align-items:center;display:flex}@keyframes authSuccessIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.auth-success-check svg{width:40px;height:40px}.auth-success-text{color:hsl(var(--muted-foreground));font-size:.9375rem}.auth-dev-notice{text-align:center;color:#c47f08;background:#fef5e7;border:1px solid #fbd99d;border-radius:.375rem;padding:.5rem .75rem;font-size:.75rem}.dark .auth-dev-notice{color:#f8bc54;background:#493003;border-color:#935f06}.auth-instruction{color:hsl(var(--muted-foreground));text-align:center;margin:0;font-size:.875rem}@media (max-width:480px){.auth-layout{padding:1rem}.auth-container{gap:1.5rem;padding:1.5rem}.auth-title{font-size:1.25rem}.auth-otp-wrapper input{width:2.75rem;height:3rem;font-size:1rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
