.auth-container{min-height:calc(100dvh - 80px);display:flex;flex-direction:column;justify-content:center;align-items:center;padding:var(--spacing-lg);padding-bottom:calc(var(--spacing-2xl) + env(safe-area-inset-bottom))}.auth-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-xl);max-width:420px;width:100%;display:none;box-shadow:var(--shadow-lg)}.auth-panel.active{display:block;animation:viewIn 0.35s cubic-bezier(0.22,1,0.36,1)}.auth-header{text-align:center;margin-bottom:var(--spacing-xl)}.auth-header h2{font-size:1.6rem;margin-bottom:var(--spacing-sm);background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--color-primary)}.auth-header p{font-size:0.9rem;color:var(--color-text-muted);margin:0}.auth-form{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.auth-form .form-group{margin-bottom:0}.auth-form .btn{width:100%;margin-top:var(--spacing-sm)}.error-message{padding:12px var(--spacing-md);background:rgba(239,68,68,0.1);color:var(--color-error);border:1px solid rgba(239,68,68,0.3);border-radius:var(--radius);font-size:0.9rem;text-align:center;margin:0;animation:shake 0.4s ease}@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}.auth-footer{text-align:center;padding-top:var(--spacing-lg);border-top:1px solid var(--color-border)}.auth-footer p{font-size:0.9rem;color:var(--color-text-muted);margin:0}.link-btn{background:none;border:none;color:var(--color-primary);font-weight:600;cursor:pointer;padding:4px;font-size:inherit;font-family:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;transition:opacity 0.2s}.link-btn:hover{opacity:0.8;text-decoration:underline}.link-btn:focus-visible{outline:none;box-shadow:var(--ring);border-radius:var(--radius-sm)}.guest-option{text-align:center;margin-top:var(--spacing-xl);width:100%;max-width:420px}.guest-option p{font-size:0.9rem;color:var(--color-text-muted);margin:0 0 var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-md)}.guest-option p::before,.guest-option p::after{content:"";flex:1;height:1px;background:var(--color-border)}.guest-option .btn{width:100%}@media (max-width:600px){.auth-container{padding:var(--spacing-md);justify-content:flex-start;padding-top:var(--spacing-xl)}.auth-panel{padding:var(--spacing-lg)}.auth-header h2{font-size:1.4rem}}