.auth-page{min-height:100vh;background:var(--color-bg);display:flex;flex-direction:column}.auth-nav{padding:1.5rem 3rem;display:flex;justify-content:center}.auth-nav-logo{font-family:var(--font-display);font-size:1.5rem;color:var(--color-accent);text-decoration:none}.auth-container{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem}.auth-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);padding:3rem;width:100%;max-width:400px}.auth-card h1{font-family:var(--font-display);font-size:2rem;font-weight:400;margin-bottom:.5rem;text-align:center}.auth-card>p{color:var(--color-text-muted);text-align:center;margin-bottom:2rem}.social-btn{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;padding:.875rem 1.5rem;font-family:var(--font-body);font-size:.95rem;text-decoration:none;border-radius:var(--radius);transition:all .25s;border:1px solid var(--color-border);background:white;color:var(--color-text);cursor:pointer;margin-bottom:.75rem}.social-btn:hover{border-color:var(--color-accent);background:var(--color-accent-light)}.social-btn:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px rgba(45,90,61,.15)}.social-btn svg{width:20px;height:20px}.auth-divider{display:flex;align-items:center;gap:1rem;margin:1.5rem 0}.auth-divider:after,.auth-divider:before{content:"";flex:1;height:1px;background:var(--color-border)}.auth-divider span{color:var(--color-text-muted);font-size:.85rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-size:.85rem;font-weight:400;margin-bottom:.5rem;color:var(--color-text)}.form-group input{width:100%;padding:.75rem 1rem;font-family:var(--font-body);font-size:.95rem;border:1px solid var(--color-border);border-radius:var(--radius);background:white;transition:border-color .2s}.form-group input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px rgba(45,90,61,.15)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1.5rem;font-family:var(--font-body);font-size:.95rem;text-decoration:none;border-radius:var(--radius);transition:all .25s;border:none;cursor:pointer;width:100%}.btn-primary{background:var(--color-dark);color:white}.btn-primary:hover{background:var(--color-accent)}.btn-primary:focus{outline:none;box-shadow:0 0 0 3px rgba(45,90,61,.3)}.forgot-link{display:block;text-align:right;font-size:.85rem;color:var(--color-accent);text-decoration:none;margin-top:-.5rem;margin-bottom:1.5rem}.forgot-link:focus,.forgot-link:hover{text-decoration:underline}.forgot-link:focus{outline:none;box-shadow:0 0 0 2px rgba(45,90,61,.2);border-radius:2px}.auth-footer{text-align:center;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.auth-footer p{color:var(--color-text-muted);margin:0}.auth-footer a{color:var(--color-accent);text-decoration:none}.auth-footer a:hover{text-decoration:underline}@media (max-width:480px){.auth-card{padding:2rem 1.5rem}}.auth-loading{padding:2rem 0}.auth-error,.auth-success,.auth-verification{text-align:center;padding:1rem 0}.auth-error h1,.auth-success h1,.auth-verification h1{margin-bottom:.5rem}.error-icon,.success-icon{width:3rem;height:3rem;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}.success-icon{background:rgba(45,90,61,.1);color:var(--color-accent)}.error-icon{background:rgba(181,61,61,.1)}.error-icon,.form-error{color:var(--color-error,#b53d3d)}.form-error{font-size:.85rem;margin-bottom:1rem}.input-hint{color:var(--color-text-muted);font-size:.8rem;margin-top:.5rem}.loading-spinner{width:2rem;height:2rem;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1.5rem}@keyframes spin{to{transform:rotate(1turn)}}.btn:disabled{opacity:.6;cursor:not-allowed}.device-code-display{margin:2rem 0;padding:1.5rem;background:var(--color-accent-light);border-radius:var(--radius);text-align:center}.device-code-label{font-size:.85rem;color:var(--color-text-muted);margin-bottom:.5rem}.device-code{display:block;font-family:var(--font-mono,monospace);font-size:2rem;font-weight:500;letter-spacing:.1em;color:var(--color-text)}.auth-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:1rem 0;color:var(--color-text-muted)}.auth-loading .loading-spinner{margin:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}