    [x-cloak] { display: none !important; }
    
    /* Estilo para mensagem de erro */
    .error-message {
      background-color: #fee2e2;
      border: 1px solid #ef4444;
      color: #b91c1c;
      padding: 12px 16px;
      border-radius: 8px;
      margin-bottom: 20px;
      font-size: 14px;
      display: flex;
      align-items: center;
      gap: 8px;
    }
    
    .b .error-message {
      background-color: rgba(239, 68, 68, 0.2);
      border-color: #ef4444;
      color: #fecaca;
    }

    /* Mensagem de sucesso */
    .success-message {
      background-color: #dcfce7;
      border: 1px solid #22c55e;
      color: #166534;
      padding: 12px 16px;
      border-radius: 8px;
      margin-bottom: 20px;
      font-size: 14px;
      display: flex;
      align-items: center;
      gap: 8px;
    }
    
    /* Loading spinner */
    .loading-spinner {
      display: inline-block;
      width: 20px;
      height: 20px;
      border: 3px solid rgba(255, 255, 255, 0.3);
      border-radius: 50%;
      border-top-color: white;
      animation: spin 1s ease-in-out infinite;
    }
    
    @keyframes spin {
      to { transform: rotate(360deg); }
    }
    
    /* Botão de mostrar senha */
    .password-toggle {
      position: absolute;
      right: 15px;
      top: 50%;
      transform: translateY(-50%);
      cursor: pointer;
      color: #79808a;
      background: none;
      border: none;
      font-size: 16px;
      z-index: 10;
    }
    
    .input-wrapper {
      position: relative;
      width: 100%;
    }
    
    .input-wrapper input {
      padding-right: 45px;
      width: 100%;
    }
    
    button:disabled {
      opacity: 0.6;
      cursor: not-allowed;
    }

    .border-red-500 {
      border-color: #ef4444 !important;
    }