.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);padding:var(--spacing-lg)}.auth-card{width:100%;max-width:420px;background:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--spacing-2xl);box-shadow:var(--shadow-lg)}.auth-header{text-align:center;margin-bottom:var(--spacing-xl)}.auth-mode-toggle{display:flex;background:var(--bg-tertiary);border-radius:var(--radius-md);padding:4px;margin-bottom:var(--spacing-lg)}.auth-mode-toggle button{flex:1;padding:var(--spacing-sm) var(--spacing-md);border:none;background:transparent;color:var(--text-secondary);font-weight:500;cursor:pointer;border-radius:var(--radius-sm);transition:all .2s}.auth-mode-toggle button.active{background:var(--bg-secondary);color:var(--text-primary);box-shadow:var(--shadow-sm)}.auth-logo{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;background:var(--color-primary);color:#fff;border-radius:var(--radius-md);margin-bottom:var(--spacing-md)}.auth-header h1{font-size:var(--font-size-xl);font-weight:600;color:var(--text-primary);margin:0 0 var(--spacing-xs) 0}.auth-header p{color:var(--text-secondary);margin:0}.auth-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.auth-field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.auth-field label{font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary)}.auth-field input{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);font-size:var(--font-size-base);transition:border-color .2s}.auth-field input:focus{outline:none;border-color:var(--color-primary)}.auth-field input::placeholder{color:var(--text-tertiary, #888);opacity:.6;font-weight:300}.auth-field input:focus::placeholder{opacity:0;transition:opacity .2s ease}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper input{width:100%;padding-right:40px}.password-toggle{position:absolute;right:8px;background:none;border:none;cursor:pointer;padding:4px;color:#10b981;display:flex;align-items:center;justify-content:center;transition:all .2s;z-index:10}.password-toggle:hover{color:#059669;transform:scale(1.1)}.auth-field input:-webkit-autofill,.auth-field input:-webkit-autofill:hover,.auth-field input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0px 1000px var(--bg-primary) inset!important;-webkit-text-fill-color:var(--text-primary)!important;transition:background-color 5000s ease-in-out 0s}.auth-forgot-link{font-size:var(--font-size-sm);color:var(--color-primary);text-decoration:none;align-self:flex-end}.auth-forgot-link:hover{text-decoration:underline}.auth-hint{font-size:var(--font-size-xs);color:var(--text-secondary)}.password-requirements{margin-top:var(--spacing-sm);display:flex;flex-direction:column;gap:4px;padding:8px 12px;background:var(--bg-tertiary);border-radius:var(--radius-md);border:1px solid var(--border-default)}.requirement{font-size:.75rem;color:var(--text-muted);display:flex;align-items:center;gap:8px;transition:all .2s;font-weight:500}.requirement.met{color:#10b981}.requirement .bullet{width:12px;display:inline-flex;justify-content:center}.requirement.met .bullet{font-weight:700}.matching-status{font-size:.75rem;margin-top:4px;display:flex;align-items:center;gap:8px;font-weight:500;transition:all .2s}.matching-status.match{color:#10b981}.matching-status.no-match{color:#ef4444}.matching-status .bullet{width:12px;display:inline-flex;justify-content:center;font-weight:700}.auth-error{padding:var(--spacing-sm) var(--spacing-md);background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);color:#ef4444;font-size:var(--font-size-sm)}.auth-button{padding:var(--spacing-md);border:none;border-radius:var(--radius-md);background:#10b981;color:#fff;font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);text-decoration:none;box-shadow:0 4px 6px -1px #10b98133}.auth-button:hover:not(:disabled){background:#059669;transform:translateY(-1px);box-shadow:0 6px 12px -2px #10b9814d}.auth-button:active:not(:disabled){transform:translateY(0)}.auth-button:disabled{opacity:.6;cursor:not-allowed}.auth-button.social{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-default)}.auth-divider{display:flex;align-items:center;gap:var(--spacing-md);margin:var(--spacing-lg) 0}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border-default)}.auth-divider span{color:var(--text-muted);font-size:var(--font-size-sm)}.auth-footer{text-align:center;margin-top:var(--spacing-lg);color:var(--text-secondary);font-size:var(--font-size-sm)}.auth-footer a{color:var(--color-primary);text-decoration:none;font-weight:500}.auth-footer a:hover{text-decoration:underline}.auth-success{text-align:center;padding:var(--spacing-xl) 0}.auth-success svg{color:var(--color-primary);margin-bottom:var(--spacing-md)}.auth-success h2{font-size:var(--font-size-lg);color:var(--text-primary);margin:0 0 var(--spacing-sm) 0}.auth-success p{color:var(--text-secondary);margin:0 0 var(--spacing-xs) 0}.auth-success .subtle{font-size:var(--font-size-sm);color:var(--text-muted);margin-bottom:var(--spacing-lg)}.auth-link{color:var(--color-primary);text-decoration:none;font-weight:500}.auth-link:hover{text-decoration:underline}
