.auth-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:48px var(--space-4);background-color:var(--bg-secondary)}.auth-container{width:100%;max-width:450px;display:flex;flex-direction:column;gap:var(--space-6)}.auth-logo{display:block;text-decoration:none;align-self:flex-start}.auth-logo svg{width:160px;height:auto;fill:var(--primary-blue);display:block}.auth-card{width:100%;background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:36px 40px 32px;box-shadow:var(--shadow-lg)}.auth-header{margin-bottom:var(--space-6)}.auth-header h1{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--text-primary);line-height:var(--leading-tight);margin:0}.alert{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);line-height:var(--leading-normal);margin-bottom:var(--space-4)}.alert-error{background:rgba(var(--red-rgb),.1);color:var(--color-red);border:1px solid rgba(var(--red-rgb),.2)}.alert-success{background:rgba(var(--green-rgb),.1);color:var(--color-green);border:1px solid rgba(var(--green-rgb),.2)}.alert a{color:inherit;font-weight:var(--font-medium)}.dev-only{opacity:.6;font-size:var(--text-xs)}.auth-form{display:flex;flex-direction:column;gap:var(--space-4)}.form-group{display:flex;flex-direction:column;gap:var(--space-1)}.form-group label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary);display:flex;justify-content:space-between;align-items:center}.form-link{font-size:var(--text-xs);color:var(--primary-blue);text-decoration:none;font-weight:var(--font-normal)}.form-link:hover{text-decoration:underline}.form-group input{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--border-light);border-radius:var(--radius-md);font-size:var(--text-lg);color:var(--text-primary);background:var(--bg-primary);outline:0;transition:border-color var(--transition-fast);font-family:var(--font-primary)}.form-group input:focus{border-color:var(--primary-blue);box-shadow:0 0 0 3px rgba(var(--primary-blue-rgb),.15)}.form-group input::placeholder{color:var(--text-muted)}.field-error{display:none;font-size:var(--text-xs);color:var(--color-red);margin-top:2px}.form-group input.input-error{border-color:var(--color-red)}.form-group input.input-error:focus{border-color:var(--color-red);box-shadow:0 0 0 3px rgba(var(--red-rgb),.15)}.password-wrapper{position:relative}.password-wrapper input{padding-right:60px}.password-toggle{position:absolute;right:var(--space-2);top:50%;transform:translateY(-50%);background:0 0;border:none;color:var(--text-muted);font-size:var(--text-xs);cursor:pointer;padding:var(--space-1) var(--space-2);font-family:var(--font-primary);font-weight:var(--font-medium);letter-spacing:var(--tracking-wide)}.password-toggle:hover{color:var(--text-primary)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--font-medium);font-family:var(--font-primary);cursor:pointer;border:1px solid transparent;transition:all var(--transition-fast);text-decoration:none;line-height:var(--leading-normal)}.btn-primary{background:var(--primary-blue);color:var(--text-white)}.btn-primary:hover{background:var(--primary-blue-dark)}.btn-primary:disabled{background:var(--primary-blue);opacity:.55;cursor:not-allowed}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-light)}.btn-secondary:hover{background:var(--bg-secondary)}.btn-full{width:100%;padding:var(--space-3) var(--space-4)}.oauth-btns{display:flex;flex-direction:column;gap:var(--space-3)}.btn-github,.btn-google{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--font-medium);font-family:var(--font-primary);cursor:pointer;text-decoration:none;transition:background var(--transition-fast),box-shadow var(--transition-fast)}.btn-google{background:var(--bg-primary);border:1px solid var(--border-light);color:var(--text-primary)}.btn-google:hover{background:var(--bg-secondary);box-shadow:0 1px 3px rgba(0,0,0,.1)}.btn-google svg{width:20px;height:20px;flex-shrink:0}.btn-github{background:#24292f;border:1px solid #24292f;color:#fff}.btn-github:hover{background:#2f363d;box-shadow:0 1px 3px rgba(0,0,0,.2)}.btn-github svg{width:20px;height:20px;flex-shrink:0;fill:#fff}.btn-google-divider{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-4) 0;color:var(--text-muted);font-size:var(--text-sm)}.btn-google-divider::after,.btn-google-divider::before{content:'';flex:1;height:1px;background:var(--border-light)}.auth-footer{text-align:center;margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--border-light);font-size:var(--text-sm);color:var(--text-muted)}.auth-footer a{color:var(--primary-blue);text-decoration:none;font-weight:var(--font-medium)}.auth-footer a:hover{text-decoration:underline}.terms-group{display:flex;align-items:flex-start;gap:var(--space-2)}.terms-group input[type=checkbox]{width:16px;height:16px;margin-top:2px;flex-shrink:0;accent-color:var(--primary-blue);cursor:pointer}.terms-group label{font-size:var(--text-sm);color:var(--text-muted);line-height:var(--leading-normal);font-weight:var(--font-normal);cursor:pointer}.terms-group label a{color:var(--primary-blue);text-decoration:none}.terms-group label a:hover{text-decoration:underline}.terms-group input[type=checkbox].input-error{outline:2px solid var(--color-red);border-radius:2px}.auth-terms-note{text-align:center;margin-top:var(--space-4);font-size:var(--text-xs);color:var(--text-muted);line-height:var(--leading-normal)}.auth-terms-note a{color:var(--text-muted);text-decoration:underline}.auth-terms-note a:hover{color:var(--text-primary)}@media (max-width:480px){.auth-card{padding:var(--space-6);border-radius:var(--radius-lg)}}