.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg)}.auth-card{width:100%;max-width:420px;padding:var(--spacing-xl);background:#ffffff08;border:1px solid var(--border-subtle);border-radius:var(--radius-xl);backdrop-filter:blur(12px)}.auth-header{text-align:center;margin-bottom:var(--spacing-xl)}.auth-logo{display:inline-block;margin-bottom:var(--spacing-lg)}.auth-logo img{height:32px;width:auto}.auth-title{font-size:1.5rem;font-weight:700;margin-bottom:var(--spacing-xs)}.auth-subtitle{font-size:.9375rem;color:var(--color-text-muted)}.btn-oauth{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md);font-size:.9375rem;font-weight:500;color:var(--color-text);background:#ffffff0d;border:1px solid var(--border-light);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.btn-oauth:hover:not(:disabled){background:#ffffff1a;border-color:var(--border-medium)}.btn-oauth:disabled{opacity:.6;cursor:not-allowed}.divider{display:flex;align-items:center;gap:var(--spacing-md);margin:var(--spacing-lg) 0;color:var(--color-text-muted);font-size:.875rem}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--border-subtle)}.auth-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-label-row{display:flex;align-items:center;justify-content:space-between}.form-label{font-size:.875rem;font-weight:500;color:var(--color-text)}.form-link{font-size:.8125rem;color:var(--color-primary)}.form-link:hover{color:var(--color-text)}.form-input{padding:var(--spacing-md);font-size:.9375rem;font-family:var(--font-family);color:var(--color-text);background:#ffffff08;border:1px solid var(--border-light);border-radius:var(--radius-md);transition:all var(--transition-fast)}.form-input::placeholder{color:var(--color-text-muted);opacity:.6}.form-input:focus{outline:none;border-color:var(--color-primary);background:#ffffff0d;box-shadow:0 0 0 3px #62b6a426}.form-input:disabled{opacity:.6;cursor:not-allowed}.error-message{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md);font-size:.875rem;color:var(--color-error);background:#ff4d4f1a;border:1px solid rgba(255,77,79,.3);border-radius:var(--radius-md)}.error-message svg{flex-shrink:0;margin-top:2px}.auth-form .btn-primary{padding:var(--spacing-md);font-size:1rem;font-weight:600;color:var(--color-white);background:var(--color-primary);border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;min-height:48px}.auth-form .btn-primary:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}.auth-form .btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.loading-spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:var(--color-white);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.auth-footer{text-align:center;margin-top:var(--spacing-lg);font-size:.875rem;color:var(--color-text-muted)}.auth-footer a{color:var(--color-primary);font-weight:500}.auth-footer a:hover{color:var(--color-text)}.auth-success{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-lg);text-align:center;max-width:420px;margin:0 auto}.success-icon{display:flex;align-items:center;justify-content:center;width:80px;height:80px;background:#62b6a41a;color:var(--color-primary);border-radius:50%;margin-bottom:var(--spacing-lg)}.success-title{font-size:1.5rem;font-weight:700;margin-bottom:var(--spacing-sm)}.success-message{font-size:.9375rem;color:var(--color-text-muted);line-height:1.6;margin-bottom:var(--spacing-xl)}.success-message strong{color:var(--color-text)}.btn-secondary{padding:var(--spacing-sm) var(--spacing-lg);font-size:.9375rem;font-weight:500;color:var(--color-text-muted);background:#ffffff0d;border:1px solid var(--border-light);border-radius:var(--radius-md);text-decoration:none;transition:all var(--transition-fast)}.btn-secondary:hover{color:var(--color-text);background:#ffffff1a}
